今天主要学习了C语言的基本类型,并且花了一下午的时间去练习这个基本的类型操作。
在这里主要讲了基本的知识,具体练习时注意用代码看看数据存储的位数和大小,像char a=127;a=a+1;这时候a的值。可以用sizeof查看数据类型占的字节数。以及不同数据类型之间如何自动转换和强制转换,还有printf和scanf的具体用法,多动手练习一些容易模糊的东西,自己用代码去尝试。
(一)c语言数据类型
这个是我总结的一些基础类型知识,通过上图可以看到c语言的基本数据类型是字符型(1个字节)、整型(4个字节)、双精度浮点型(8个字节)、单精度浮点型(4个字节)。
一、补充知识
(1)字节:一个字节是由8个二进制位组成的。
(2)接下来思考一个问题,为什么要定义不同的数据类型呢?又有什么作用呢?
其实我们定义不同类型的数据存储不同的类型,数据类型表示向CPU申请空间的大小。
(3)定义变量来申请空间,怎样定义变量?
数据类型 变量名
这里面数据类型指:基本数据类型、构造数据类型、空类型、指针类型,变量名符合标识符规范
(4) 标识符定义规范:
1.标识符有三部分组成:字母、数字、下划线,$
2.数字不能做开头
3.字母区分大小写
4.在C语言中除了关键字以外的所有名字都是标识符:变量名、数组名、函数名、类型名...
(5)C语言中总共有32个关键字
(6)变量名有什么作用?
变量就是表示这个空间的一个标签,我们实际使用的就是这段空间
(7)数据类型之间的转换:
除号:一个整数除以一个整数还是整数
例如float a=0; a=5/3;打印结果a=1.000000
float a=0; a=5/(float)3;打印结果为a=1.666667
二、数据类型分析
(1)字符型:char
大小:1个字节8位
有符号就表示可以存放负数,不特别声明默认是有符号数
无符号字符型unsigned char :0000 0000 ----1111 1111 0--255.,0--2^8-1
有符号字符型signed char :-128 --- +127, -2^7---2^7-1
位的概念:一个字节8位,最低位为第0位,最高位为第7位
(2)整型int:
在8位/16位处理器中整型为2个字节,在32位及以上处理器中为4个字节
大小:
unsigned int无符号整型: 0----2^32-1
signed int 有符号整型: -2^31---+2^31-1
short int 短整型:通常大小为2个字节,不大于4个字节
long int:长整型:按照4个字节来用,不小于4个字节
long long int 长长整型:8个字节
求所占字节大小的关键字:sizeof
用法:
sizeof 变量名
sizeof(变量名/数据类型)
(3)单精度浮点型float:存放小数
大小:4个字节
精度:保留小数点后6位
(4)双精度浮点型double :存放小数
大小:8个字节
精度:保留小数点后15位
关于浮点型小数的存储--了解
浮点数存放到一个整型空间中精度丢失
变量:在程序运行过程中可以被改变的量,定义的都是变量
常量:在程序运行过程中不可以被改变的量,数字常量、字符常量、字符串常量
三、数据类型转换
自动数据类型转换:由低字节向高字节转换,低精度向高精度转换
强制数据类型转换:(要转换的类型)待转换的数据
(二)格式符:
%d:以十进制格式打印输出
%ld:长整型
%c:字符型格式
%f:以浮点型数据打印
%lf: 双精度浮点型
%x: 以16进制格式打印
%p: 以地址格式打印,自动加0x
16进制格式表示0---F 表示十进制0--15
16进制的表示形式:0x00.0x01----0xf
任何空间都会有一个地址,得到该控件的地址用&
&:取地址符
char a=0; &a:取a所在空间的地址
(三)主函数格式:
一个工程中有且一个main函数,程序总是从main开始,到main结束为止
main函数结束,工程结束
int main()
{
//要实现的代码
return 0;
}
(四)printf();:格式化输出
1,printf(“输出内容\n”);双引号中的内容原样输出到屏幕上,后面的格式实现换行
2,printf(“格式符\n”,变量名);变量以格式符的形式输出到屏幕上
3,printf(“注释语句,格式符\n”,变量名);注释语句原样输出,变量以格式符的格式进行输出
scanf();:格式化输入
scanf(“格式符”,&变量名);
键盘以格式符的形式输入数据到变量中,需要知道该变量空间的地址
注意:格式符后不加换行符
所有的数据都是以二进制进行存储
本文章仅供学习交流用禁止用作商业用途,文中内容来水枂编辑,如需转载请告知,谢谢合作
微信公众号:zhjj0729
微博:文艺to青年