C语言二级易忘易错易混知识点(自用)

1.数组名不能自加。

因为数组名实际上是一个指针,指向数组的第一个元素的地址。数组名在编译器中被视为常量,它的值是固定的,不能改变。
要访问数组的不同元素,应该使用数组名加上偏移量的方式来访问。

2.共用体只有最后一次赋值的数据是有效的。

3.正数的反码、补码和原码相同,负数的反码是原码除了符号之外全部取反,补码是反码+1。

4.赋值号的左边只能是单个变量,不能是表达式或常量等。

如:k=m*n=1 是错误的

5.标识符

在这里插入图片描述在这里插入图片描述

6.三种基本结构:顺序,循环,选择

7. C 语言中的常量是在程序编译时就已经确定并存储在内存中的值。C 语言中的常量有以下几种类型:

整型常量:整型常量可以是十进制、八进制或十六进制。例如:123、0123、0x123。

浮点型常量:浮点型常量可以是十进制小数或科学计数法表示的小数。例如:3.14、6.022e23。
注意可以省略0(0.4写成.4,0.7写成.7) 科学计数法(e前e后必有数,e后是整数

字符常量:字符常量是用单引号括起来的单个字符。例如:‘a’、‘1’。

字符串常量:字符串常量是用双引号括起来的一串字符。例如:“hello”、“goodbye”。

布尔常量:布尔常量只有两种取值,真(true)和假(false)。

空常量:空常量是一种特殊的常量,表示没有
在这里插入图片描述

8.sacnf,printf输出格式

(1)printf

%2d 表示输出2位整型数, 不够2位右对齐。

printf("%2dn",2010);//输出2010
printf("%3dn",1);//输出  1

%1.3f 表示小数位为3(四舍五入), 整数位为1(注意scanf不能指定小数个数

printf("%1.3fn",123.2246666666); //输出123.225

%8s表示输出8个字符的字符串, 不够8个字符右对齐。如果字符串的长度、或整型数位数超过说明的场宽, 将按其实际长度输出。

(2)scanf

在这里插入图片描述

9. 模块化不能提高程序运行效率

10. .c是源文件 .obj是目标文件 .exe是可执行文件

11. 八进制是以0开头的数字(032=26)十六进制是以0x开头的数字(0x16=22)

12.注释是不可以嵌套的

13. %hd,%ld 读取一个十进制整数,并分别赋值给short,long类型

14. #include<stdio.h>,#define属于编译预处理命令行,不属于C语言

15.关系运算符>赋值运算符

在这里插入图片描述

16. C语言只支持八进制,十进制,十六进制的数,不支持二进制的数。

17. C语言可以没有输入,但一定要有输出。

18. 数组作为函数参数

(1)传入的是地址,所以不能用

	sizeof(array)/sizeof(array[0])

计算数组的长度,而应该独立计算。

(2)可以不写数组的长度,只写array[]

19. 二维数组可以连续赋值,如

    int a[2][4]={5,8,3,45,76,-4,12,82};
    printf("%d",a[1][2]);

20. 短路现象:C语言的逻辑表达式在特定情况下会产生“短路”现象。若x=-1,y=-1,有如下逻辑表达式:x++&&y++,x==0,则y的值不会进行y++的运算。

21.strcmp(a,b)不是比长度,比的是每一位的ASCII值。

比如:”ABC“和"ABAD",返回的是1,因为strcmp函数是通过比较两个字符串首字母的ascll码值来排序。ascll码值大的,自然就大一点。如果首字母相同,就比较后一位,以此类推,不是比较ASCII码的总值

22.ASCII码表对照表(有个印象)

在这里插入图片描述

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>