基本数据类型: 字符型, 整型, 浮点型
- 字符型: char 所占1个字节
- 整型: short 2个字节
- int 4个字节
- long 32位系统占4个字节, 64位系统占8个字节
- 浮点型 float 4个字节
double 8个字节
常量命名规则:
- 1.只能由数字, 字母, 下划线组成, 且数字不能开头
- 2.不能与系统关键字重名
- 3.不能与其他变量重名
- 4.见名知意(规范)
驼峰命名法
ASCII码字符对应十进制
- ‘0’ 到 ‘9’ —– 48 到 57
- ‘A’ 到 ‘Z’ —– 65 到 90
- ‘a’ 到 ‘z’ —– 97 到 122
八进制以0开头,十六进制以0x开头.
x进制转十进制: 按权求和
十进制转x进制: 连除倒取余
一个字节 代表8个二进制位
1 Byte = 8 bits
算术运算符: +, -, *, /, %
- 注意1: 除法 / 若两边均为整数,返回值仍为整数. 若有一个为小数,返回值为小数
- 注意2: 取余 % 两边必须为整数
a++; // 变量a加1之后,再参与运算
++a; // 变量a参与运算后,再自加1
交换两个变量的值(借助于第三方变量)
int c = a;
a = b;
b = c;
表达式: 可以由常量,变量,运算符组成
c + b;
3 + 5;
c += b;
9;
// 表达式的特点: 有没有值!!! 表达式都有返回值.
// 有分号才是语句,没分号是表达式
// 如: c = a+b; 是语句. c = a+b 是表达式
// 语句: 语句是程序执行的最小单位,以分号结尾;
转换符 — 对应类型
- %d %i —- int (十进制整数)
- %u —- 无符号十进制整数
- %x —- 十六进制整数
- %f —- float,double
- %.2f 精确到小数点第二位
- %c —- char
- %ld —- long
- %hd —- short
float d = 1.234;
printf("d = %f\n",d);
printf("%04d\n",12); //"0012" 不足位补0
printf("%4.1f\n",1.23); //" 1.2" 保留小数点后两位,输出结果至少占4位(整数部分),不足的前面补空格
printf("%-5d",112); //"112 " 左对齐,位数不足的后面补空格
转义序列:
\n – 换行回车符,
\\ – 打印一个反斜杠,
%% – 打印一个% (%%比较特殊)
scanf() 注意: 限制输入格式; 不能在scanf里传入时输入’\n’,否则会抵消掉人工输入的回车
练习题注意点:
// 函数连续执行多个scanf时,如果后面的scanf输出为字符型,则前一个scanf后需要加\n,输入时也需要加回车.
char b = 'b';
printf("请输入一个字符(如:'a'):\n");
//rewind(stdin);//清除键盘缓存区,则避免上述问题
scanf("\n%c", &b); // \n 抵消了控制台输入的回车,要不然不能正常输出,但是切记,%c等转化符的后边,不能写\n
int a=1;
int b=3;
float c=a*1.0/b; // 注意点: 即使c定义类型为float,对其赋值运算/的结果时,也要先确保/的结果为浮点型.否则返回值是0.000000
printf("%.2f\n",c);