引入
近两个月的时间,顺着谭浩强老师的《C 语言程序设计(第四版)》,我们简要学习了一些 C 语言的知识,接下来三节,我们对常见问题和一些知识点进行回顾。
常见错误
我们梳理一下常见的错误。
忘记定义变量。
x=3;
y=4;
printf("%d",x+y);
//没有声明变量类型
输入输出格式不统一
float x=3.3;
float y=4.3;
printf("%d",x+y);
//应该使用%f 类型输出
超出数据类型范围
int 和 short 都是-32768~32768,不能超出这个数。
int num;
num=99999;
//99999超出了 int 类型的数值范围
输入格式不统一
scanf("%d %d");
//输入数据之间是空格
scanf("%d,%f");
//输入数据之间是逗号
数组名就是地址
char str[20];
scanf("%d %s",&a,&str);
//数组名就是地址,不用再加&符号
分号
- 定义变量后面有分好
- 结构体、共用体、枚举体后面有分号
- for 语句的参数是用分号隔开的
定义常量、引入库文件,都是没分号的
if for while 都是没没有分号的
花括号
花括号一定是成对儿出现的,切记!
括号
括号也是成对出现的,要匹配!
标识符大小写
定义变量如果是大写就是大写,引用时不能是小写!
等号
==才是等于符号
=是赋值符号
数组是方括号[ ]
数组一定是方括号,不是圆括号,不要搞错!
数组元素
定义数组的时候,是元素的数量。
引用数字的时候,下标数是从0开始的,所以最大值是数组元素-1。
数组名
数组名是数组首元素地址,不代表整个数组,更不能直接赋值。
字符数组和字符指针是有区别的
int main(){
char str[4];
str="Computer and C"; //这是错误的,你不能给一个数组的首元素地址再次赋值
printf("%s\n",str);
}
我们可以改成
int main(){
char *str;
str="Computer and C"; //这是错误的,你不能给一个数组的首元素地址再次赋值
printf("%s\n",str);
}
引用变量之前没有对它给予确定的值
没有给指针变量 p 赋值就引用它,编译时给出警告信息。
其实指针变量中 p 在没有赋值的时候,是不为空的,但内容不可预测!
Switch 语句中个分支中漏写 break
switch 语句,一定要在分支中写 break,否则会继续检验下面的其他 case
尾巴
这是我的个人学习笔记,主要是应付考研复习使用,充斥着一些吐槽和个人观点,并不严谨,欢迎大家参考、指正。
评论