1. 常量是程序运行期间不能被改变的量; 变量代表一个存储区域,存储区域内存储的内容就是变量的值, 变量的值可以在程序运行期间改变
(变量就像一个杯子, 用来存放水, 杯子里的水即变量的值是可以改变的)
2.基本数据类型:int: 整型类型, 在内存中占4个字节, 在计算机中每个字节都由8个二进位制数表示; short: 短整型类型, 在内存中占2个字节
long: 长整型类型, 在内存中占4或8个字节, 和操作系统有关, 在32位的操作系统中占4个字节, 在64位的操作系统中占8个字节
float: 单精度浮点类型, 在内存中占4个字节; double: 双精度浮点类型, 在内存中占8个字节; char: 字符类型,在内存中占1个字节
3. 变量定义: 数据类型 变量名 = 初值
4. 变量的命名规范:
a. 只能有数字, 字母, 下划线组成, 但是不能数字开头
b. 不能和系统关键字重名
c. 变量名要具有自解释性(见名知意)
d. 变量名不能重名
e. 变量定义时, 可以赋初值也可以不赋初值, 但为了养成一个良好的习惯, 建议在定义变量时给它赋一个初值(注意:定义结构体时, 一定不能
给结构体成员赋初值)
如: a. int sum;//用来求元素的和
sum = 10;可以
b. int sum;//用来求元素的和
sum += 10;就不可以,因为 sum += 10 等价于 sum = sum + 10, 此时第二个sum还没有值,所以得不到自己想要的结果
因此, 我自己觉得养成赋初值的习惯还是比较好的, 我自己以前也是都不赋初值, 都是到需要的时候才赋值. 但后来发现定义变量时赋初
值还挺不错的, 所以就想养成习惯,现在我也是在养习惯的阶段.
f. 定义变量时, 应采用驼峰式的方式进行命名, 如 int maxLength = 0;(变量名如果是由两个或两个以上的单词构成时, 第一个单词的首字
母小写, 后面的每个单词的首字母大写). 再如: int practiceForC = 0;
当然每个人的习惯也不同,可以根据自己的习惯来写, 但必须符合前4条规范.
5. 算术运算符 +(求和), -(求差), *(求乘积), /(求商;两个整数的商是整数,如果两个数相除想获取小数部分,则需要参与计算的双方至少有一个
是小数), %(求余数, 参与运算的双方必须都为整数), ++(自加, 将自身的值加1), --(自减, 将自身的值减1)
需要注意的是: int i = 0;
printf("%d\n", i); //打印出来的结果为0
printf("%d\n", i++); //先打印出来 i 的值为0, 然后 i 的值 + 1; 自减原理相同, 先输出 i 的值, 然后将 i 的值 - 1.
printf("%d\n", ++i); //先将 i 的值 + 1, 然后打印出来 i 的值为 2 ;自减原理相同, 先将 i 的值 - 1, 然后输出 i 的值.
另外, int i = 0, j = 0, sum = 0;
sum = i+++(--j);//(系统的贪婪性会自动将前两个加号识别在一起). 相当于 j = j - 1; sum = i + j; i = i + 1; 执行结果为 i = 1, j = -1, sum = -1;
6. 复合运算符 +=, -=, *=, /=, %=
int i = 0, j = 0; i += j;//等价于i = i + j; 其余复合运算符的使用规则相同
7. 计算机中存储的小数是不精确的小数, 切忌两个相等的小数进行比较
8. 格式化输入输出函数:
a. 输出函数: printf("%d\n", 变量名); 其中%d表示要输出的变量的类型为整型, \n 表示换行, 根据在%d的前或后,来判断先换行,还是先打印变量的值
b. 输入函数: scanf("%d", &变量名); 从控制台输入一个数字, 放到变量所代表的存储单元中, 注意:%d后面不能加\n, 否则会与键盘的回车键相抵消
, 也就是加上\n后, 在按键盘的回车键就不管用了
9. 想要输出%时,只需要在输出函数中写%%就行了, 如: printf("%%%%"); 输出的结果是%%
输出"或‘时: printf("\"");//输出" printf("\‘");//输出‘