重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
sizeof不是函数,所以不需要包含任何头文件,它的功能是计算一个数据类型的大小,单位是字节
创新互联公司2013年至今,先为盐城等服务建站,盐城等地企业,进行企业商务咨询服务。为盐城企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。sizeof的返回值是size_t
size_t类型在32位操作系统下是unsigned int,是一个无符号的整数
int a=1;
int b=sizeof(a);//得到指定值占用内存的大小 单位:字节
printf("b=%d\n",b);
size_t c = sizeof(a);
printf("c = %u\n", c);//用无符号数的方式输出c的值
1.4 字符型:char1.4.1 字符变量的定义和输出
字符型变量用于存储一个单一的字符,c语言中用char表示,其中每个字符变量都会占用1个字节空间,在给变量赋值的时候有四种方式:用字符影像赋值,用十进制ASCII赋值,用八进制ASCII赋值,用十六进制ASCII赋值
char ch1 = 'A'; //字符影像赋值
char ch2 = 65; //十进制赋值
char ch3 = '\101'; //八进制赋值
char ch4 = '\x41'; //十六进制赋值
printf("%c %c %c %c\n", ch1, ch2, ch3, ch4);// A A A A
字符变量实际上并不是把该字符本身放到变量的内存单元中去,而是将该字符对应的 ASCII 编码放到变量的存储单元中。
char的本质就是一个1字节大小的整型。
char ch = 'a';
printf("sizeof(ch) = %u\n", sizeof(ch));
printf("ch[%%c] = %c\n", ch); //打印字符
printf("ch[%%d] = %d\n", ch); //打印‘a’ ASCII的值
char A = 'A';
char a = 'a';
printf("a = %d\n", a); //97
printf("A = %d\n", A); //65
printf("A = %c\n", 'a' - 32); //小写a转大写A
printf("a = %c\n", 'A' + 32); //大写A转小写a
ch = ' ';
printf("空字符:%d\n", ch); //空字符ASCII的值为32
printf("A = %c\n", 'a' - ' '); //小写a转大写A
printf("a = %c\n", 'A' + ' '); //大写A转小写a
1.4.2 字符变量的输入
char ch;
printf("请输入ch的值");
scanf("%c",&ch);//格式化输入,检测到\n停止读取
printf("ch=%c",ch);
1.4.3 转义字符
转义字符 | 含义 | ASCII**码值(十进制)** |
---|---|---|
\a | 警报 | 007 |
\b | 退格(BS) ,将当前位置移到前一列 | 008 |
\f | 换页(FF),将当前位置移到下页开头 | 012 |
换行(LF) ,将当前位置移到下一行开头 | 010 | |
\r | 回车(CR) ,将当前位置移到本行开头 | 013 |
\t | 水平制表(HT) (跳到下一个TAB位置) | 009 |
\v | 垂直制表(VT) | 011 |
\ \ | 代表一个反斜线字符"" | 092 |
\' | 代表一个单引号(撇号)字符 | 039 |
\" | 代表一个双引号字符 | 034 |
\? | 代表一个问号 | 063 |
\0 | 数字0 | 000 |
\ddd | 8进制转义字符,d范围0~7 | 3位8进制 |
\xhh | 16进制转义字符,h范围0~9,a~f,A~F | 3位16进制 |
printf("abc");
printf("\refg\n"); //\r切换到句首, \n为换行键
printf("abc");
printf("\befg\n");//\b为退格键, \n为换行键
printf("%d\n", '\123');// '\123'为8进制转义字符,0123对应10进制数为83
printf("%d\n", '\x23');// '\x23'为16进制转义字符,0x23对应10进制数为35
1.5 浮点型:float double实型变量也可以称为浮点型变量,浮点型变量是用来存储小数数值的。在C语言中, 浮点型变量分为两种: 单精度浮点数(float)、 双精度浮点数(double), 但是double型变量所表示的浮点数比 float 型变量更精确。
由于浮点型变量是由有限的存储单元组成的,因此只能提供有限的有效数字。在有效位以外的数字将被舍去,这样可能会产生一些误差。
不以f结尾的常量是double类型,以f结尾的常量(如3.14f)是float类型。
/传统方式赋值
float a = 3.14f; //或3.14F
double b = 3.14;
printf("a = %f\n", a);
printf("b = %lf\n", b);
//科学法赋值
a = 3.2e3f; //3.2*1000 = 3200,e可以写E
printf("a1 = %f\n", a);
a = 100e-3f; //100*0.001 = 0.1
printf("a2 = %f\n", a);
a = 3.1415926f;
printf("a3 = %f\n", a); //结果为3.141593
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧