1. 选择题题型
C语言选择题主要有:
- 标识符判断
- 运算符优先级
- 字符串字符数和字符数组长度判断
- while 、do-while、for的等价
- 逻辑判断
- 数据类型和数据范围
- 输入输出
- 宏替换
- 指针和数组
- 函数指针、递归函数
其中重点指针和数组
1.1 标识符判断
常见合法的标识符: If, a2, false, False, True, true, Sizeof, _int, int_ , _while, While, For, FOR, Float 命题人经常把关键字首字母大写来进行迷惑 常见非法标识符: 2a, -a, a#2 , sizeof, define 命题人一般会出以下错误: 1: 数字在前 - 2a 2: 加入不合法字符 -a、a#2 3:使用关键字 sizeof,define
1.2 运算符优先级
运算符优先级别表:
++,-- 结合指针、循环、printf这是命题的香饽饽
1.2.1 直接问优先级级别的
1.2.2 通过复杂运算让你判断优先级别的
首先b=3,a!=3返回0 故 x = 0 答案:1: 9 2: 7
1.2.3 和指针结合考察
答案:A 答案:D
1.3 字符数组和字符串长度
- 首先,
sizeof 和strlen 对同一个字符串数组做运算,结果是不一样的 - 其次,区分以下几个说法:
- 字符串长度 :
strlen(a) - 字符个数:
sizeof(a) - 字符数组元素个数:
sizeof(a)
1.3.1 题型
答案:7
1.4 循环
可以出的题型:
- 各位数字之和问题
- 无穷级数的精度控制问题
- 字符数组的指针移动问题
- 进制转化问题
1.4.1 题目
答案:A 答案:A
1.5 逻辑判断问题
喜欢出的题型:
- && 和 || 的短路问题
- 等价命题
1.5.1 题目
答案:C 答案:A 答案:D 记 y = x + 1 ,则 !y --> y==0 --> x==-1 答案:2 由于a>b为0,故短路之后不执行
1.6 数据类型和数据范围
题型:
- double转为int牵扯到的精度损失问题
- 整数除法精度损失问题
- 循环终止问题
- 进制转化问题
- 通用指针问题
- 数组和指针的区别问题
1.6.1 题目
答案:B
1.6.2 结合指针的考察(难点)
提示:这里一定要区分sizeof作用于数组和指针的区别
1.7 输入输出
- 输入格式表
- 输出格式表
1.7.1 题目
1.8 宏替换
- 宏替换是字符串替换,不会有数据类型的检查
- 宏替换不会主动加括号,容易出错
1.8.1 题目
1.9 指针和数组
解析: A代表 t[0][0] , B已经超出的数组的大小,C代表pt[2] 的地址,D代表pt[1] ==> &pt[1][0] 答案:D
1.10 函数指针
1.11 文件
- 文件各种操作返回的值
|