- ???
#include <stdio.h>
void main()
{
float a,b;
a=123456.789e5;
b=a+20;
printf("%d\n",a);
printf("%d\n",b);
}
运行结果是 12345678848.000000
12345678848.000000 - ???
#include <stdio.h>
int main()
{
printf("%f,%f,%f",1.0/33,3/2,1/33);
return 0;
}
运行结果是 1.000000 0.000000 0.000000 - 字符型数据
字符常量:是用单引号括起来的一个字符。
‘a’ ‘b’ ‘=’ ‘=’ ‘+’ ‘?’ ‘23’ 都是字符常量
字符常量的特点:
1,字符常量只能用单引号括起来,不能用双引号或其他括号
2,字符常量只能是单个字符,不能是字符串
3,字符可以是 字符集 中的任意字符。但数字被定义为字符型之后就不能参与数值运算。如‘5’和5是不同的。‘5’是字符常量,不能参与运算。
字符变量:字符变量用来储存字符常量,即单个字符。
定义格式:char a,b;
每个字符变量被分配一个字节的内存空间,因此只能存放一个字符
转义字符:转义字符具有特殊的含义,不同于字符原有的意义,故称“转义”字符。
#include <stdio.h>
int main()
{
int a,b,c;
a=5;b=6;c=7;
printf(“ab c\tde\rf\n”);
printf(“hijk\tL\bM\n”);
return 0;
}
运行结果 fb c de
hijk M
分析 \t 是制表符,我觉得就是隐形的纳入一个表格,使数据
对齐显得更好看
\r 是回车,就是回到本行的第一个位置,所以f把a的位
置给占了
\n 是回车换行,换新行从第一个位置开始
\b 是退格,也就是backspace,就相当于删掉了L
发现\t,\r,\n都是对其后的数据起作用,\b删掉的却是前面的的那一个
输出反斜杠 \
输出单引号 ’ (否则它会认为你这是一个字符常量)
输出双引号 " (否则它会以为你这是一个字符串)
-
ASCII码
需记住 65~90 A-Z (以下的序号都是十进制数)
97~122 a-z
48~57 0-9 -
#include <stdio.h>
in main()
{
char a,b;
a=120; //a=‘x’ ;
b=121; //b=‘y’ ;
printf("%c,%c\n",a,b);
printf("%d,%d\n",a,b);
}
运行结果均为 x,y
120,121
可以看出a,b值的输出形式取决于printf函数格式串中的格式符。
举个例子:大小写的转化
#include <stdio.h>
int main()
{
char a,b;
a=‘a’; //a=97;
b=‘b’ //b=98;
a=a-32;
b=b-32;
printf("%c,%c",a,b);
return 0;
}
运行结果是 A,B
- 字符串常量 用双引号括起来的东西
字符串常量与字符常量的区别:
1、字符常量单引号括,字符串常量双引号括
2、字符常量只能是单个字符,字符串常量可多个
3、字符常量只占1b,字符串常量占字符串中字节数加1.加1是因为字符串后面默认加的有\0,只是字符串结束的标志。
例如字符串“C program”在内存中所占的字节为
10字节,( 8个字母,一个空格,一个\0 )