目录
一.基本数据类型
#include <stdio.h>
int main()
{
printf("sizeof(short) = %d\n",sizeof(short)); //2
printf("sizeof(int) = %d\n",sizeof(int)); //4
printf("sizeof(long) = %d\n",sizeof(long)); //4
printf("sizeof(float) = %d\n",sizeof(float)); //4
printf("sizeof(double) = %d\n",sizeof(double)); //8
char c = 255;
printf("%d\n",c); //-1
int a = -20;
unsigned int b = 10;
printf("%d\n",a+b);//-10
printf("sizeof(1.0) = %d\n",sizeof(1.0)); //8
printf("sizeof(1.0l) = %d\n",sizeof(1.0l)); //12
printf("'a' = %d,'0' = %d\n",'a','0'); //97,48
char ch1 = '\101'; //A
char ch2 = '\x41'; //A
printf("ch1 = %c,ch2 = %c\n",ch1,ch2);
printf("'\101','\x41'\n"); //A A
printf("Please enter \"Y\" or \"N\": \n"); //Please enter "Y" or "N":
return 0;
}
(一)常量
1.char c = 255; printf("%d\n",c);
知识点:(1)正数以原码形式存在 负数以补码形式存在
(2)原码到补码的转换 和 补码到原码的转换 都是取反+1(二进制)
(3)最高位用来判断数的正负,不参与运算 。0为正数 1为负数
255的二进制表示为:1111 1111 (最高为1,则是负数,负数以补码的形式存在,则化为原码 取反+1)
取反高位不参与运算 :1000 0000
+1 :1000 0001
得到结果 :printf("%d\n",c)为 -1
2.常用ASCII码:
‘0’ 48 ‘A’ 65 ‘a' 97
也可用八、十六进制表示如:’0‘ 十进制:48 八进制:’\60‘ 十六进制:’\x30‘
3.实数型:由整数和小数形成,可忽略其一
十进制: 35.(35.0) .689 (0.689) 都是double型
指数形式:在小鼠后面加E/e表示指数,指数部分必须是整数
1e-2 (1*10^-2) 0.5E10 (0.5*10^10) 都是double型
1e-2f (float型) 3.2L (long double型)
4.常用转义字符:\n 换行 \r 回车
windows中的Enter等于\n\r(既回车又换行)
5. printf("Please enter \"Y\" or \"N\": \n"); //Please enter "Y" or "N":
(二)变量
1.变量名/用户标识符的命名规范:
(1)以字母或下划线开头,由数字,字母,下划线组成。
(2)区分大小写的。如:A1与a1是不同的标识符。
(3)不能采用关键字int,float等。
2.变量如果不初始化,内存单元可能保留着先前的内容
3.单精度实型提供7位有效数字,双精度实型提供15~16位有效数字。
如:float a;
a=111111.111 (最后两位小数不起作用)一共9个有效数字
而:double a;
a=111111.111 (全部接收)
#include <stdio.h>
int main()
{
float a,b;
a = 123456.789e5;
b = a + 20;
printf("a = %f,b = %f\n",a,b);
return 0;
}
//结果为a = 12345678848.000000,b = 12345678848.000000
//实际应为12345678920
1234567是float能接受的 余下的都无意义
4.字符串
字符串都是以\0结尾的,所以空字符串实际上有一个字符:\0
二.运算符与表达式
优先级 |
运算符 |
名称或含义 |
使用形式 |
结合方向 |