刚刚接触编程,下面是我作为小白在学习过程中遇到的易错的注意点和部分需要记住的易忽略知识点,比较基础,简记于此,如果有不正确很希望您可以矫正,十分感谢!:
1.关于C99和SCANF
2.关于标识符(变量名)的命名规范
3.使用sacnf输入double型浮点数得用%lf,而不是%f
4.赋值是从右到左,连续的关系运算符从左到右
5.如何输出特定位数的浮点数:列:保留俩位小数,“%.2f”
6.bool类型的数据本质是整型,输出用%d,使用前加头文件<stdbool.h>
7.关于逗号表达式用处:for(i=0,j=10 ;i<j; i++,j–) (ps:似乎不能int i且int j)
8.关于switch结构中switch()括号内的判断条件必须是整型,相应的case后面常量也是整型
9.数学函数pow(a,b)是用于浮点数
10.C语言里面没有String定义字符串,没有字符串类型,都是用字符
11.关于函数声明:前面定义的函数调用后面定义函数需要声明,声明也可以帮助系统检查调用是否正确,声明位置只要求在调用之前
12.预处理命令不是C语言本身组成部分,C语句都是;结束的
13.一个内存单元就是一个字节=8位,故位是计算机的最小存储单元(没有深入),一个字通常4个字节(不一定)
14.关于如何输出前面有0的数字:“%03d”,表示一共输三个数字,前面为0
15.字符型和整型在C里很多时候可以通用,字符型以ASCII码存储
16.做实参的函数必须先定义或声明,否则系统无法确定是函数名还是变量名
17.形参俩种传递方式:
值传递:传递数值
地址传递:传递地址,所以形参中非数值如数组,函数可以用指针代替
18.for循环内定义的变量,作用域只在循环内部
19.主函数外定义一个全局变量a,在函数改变该变量的值设为a=n;则全局中a都是等于n
20.关于typedef定义结构体类型别名,别名应该是在大括号后面,因为结构体名+大括号内容 才是完整的定义了一个结构体类型
21.关于宏定义的俩个陷阱:#define s 40 和 #define t s+20 若z=t2;宏展开:z=40+202. 加括号#define t (s+20) 表示的才是(s+20)*2
22.归还予宏定义的俩个陷阱:#define STU int * STU a,b; 展开:int * a,b;定义的是一个指针和变量,若想定义俩个指针可用typedef
- typedef int * t; t a,b; 在这里同时定义了俩个指针,但 int * a,b; 定义的是一个指针和一个变量
24.关于C语言定义上的一些规范:宏定义#define的名字用大写表示这并非是普通的常量
25.%g是一个很方便用于输出浮点数的格式,输出时不带浮点数后面多余的0