C语言中的数据类型与二进制表示
C语言中的数据类型
int,二进制补码整数类型
char ,ASCII码
double,双精度浮点数
char
char,ASCII码
char key;
表达式
(('a' <= key) && (key <= 'z')) || (('A' <= key) && (key <= 'Z'))
'a' <= key
比较变量key和字符a的ASCII码的大小
整数运算
混合类型算术运算表达式
整数与浮点数运算
i + 3.1
将整数转换为浮点数,然后进行计算
整数与字符型运算
x + 'a '
如果x为1,表达式的值为98
字符型转化为整数类型,再进行计算
输入输出的格式说明
格式说明“%d”
输出
列在格式用字符串后面的数值被显示为十进制数
将一个二进制补码整数转化为ASCII码字符输出
输入
从键盘输入的数字解释为十进制数值
将输入字符的ASCII码转化为一个二进制补码整数
输出示例:%d,%x,%o,%c
printf ("25 plus 76 in decimal is %d. \n", 25 + 76);
printf ("25 plus 76 in hexadecimal is %x. \n", 25 + 76);
printf ("25 plus 76 in octal is %o. \n", 25 + 76);
printf ("25 plus 76 as a character is %c. \n", 25 + 76);
%d :将“25 + 76”的结果以十进制数的形式显示出来
将二进制“0110 0101”转换为 “101”三个字符显示
%x :将“25 + 76”的结果以十六进制数的形式显示出来
将二进制“0110 0101”转换为 “65”两个字符显示
%o :将“25 + 76”的结果以八进制数的形式显示出来
将二进制“01 100 101”转换为 “145”两个字符显示
%c :将“25 + 76”的结果直接解释为ASCII字符显示
二进制 “0110 0101”解释为字符 “e”
25 plus 76 in decimal is 101.
25 plus 76 in hexadecimal is 65.
25 plus 76 in octal is 145.
25 plus 76 as a character is e.
%f
输出浮点数
将二进制浮点数转化为如“3.140000”形式的
字符序列
输入:%c
char grade;
scanf ("%c", &grade);
将输入的字符的ASCII码进行存储在char类型变
量grade中
输入:%f,%lf
float radius;
scanf ("%f", &radius);
将键盘输入的如“15.0”类型的字符转化为
float类型浮点数
double radius;
scanf ("%lf", &radius);
将键盘输入的如“15.0”类型的字符转化为
double类型浮点数
十六进制字面常量
使用前缀0x表示
零扩展
int memoryAddress = 0
int valueE = 0xE;
printf("%d\n", valueE);