一、单选题
1、易选成 A ;
2、【考】局部变量优先原则 ;
3、【考】字符串结束标志是 \0 ;
4、【考】求字符号长度,没有\0作为结束标志,结果是随机数字;
5、【考】转义字符,\n换行,\ddd八进制数字转换为10进制对应的阿斯格码值、\b是啥?
\q不是
【补】转义字符表
6、数组下标从0开始,注意D正确
数组如果初始化,可以不指定数组的大小(✔)
7、b错误,n此时为变量,指定数组表达式只能用常量
【补】在C99标准中引入了“变长数组”概念
允许数组创建时用变量指定大小,但是该数组不能初始化/s2019编辑器不支持C99中的=变长数组的概念
8、误认为是8,实际上 字符为{c ,: , \t , e , s , t,\121}, \t与\121单独算一个字符,一共7个,最开始忽略了\t
9、选B,关键字不能自己创建
10、错选为b ,正确选项C,define不是关键字,是预处理指令
【补】#define #inlude 是预处理指令
11、选B 正确,A中char*是一个指针,其大小为4/8字节,取决于所用的电脑位数32位/64位
12、选C,虽然选对,但是知识点理解错误—static"永恒的、不变的",可以修饰全局变量、局部变量、函数,但是static改变的是生命周期,而不是说static修饰的变量不能被改变
13、选B正确,考察static改变局部变量的生命周期
i=0 a=2 c=1 b=5 sum=8
i=1 a=2 c=1 b=7 sum=10
i=2 a=2 c=1 b=9 sum=12
i=2 a=2 c=1 b=11 sum=14
i=2 a=2 c=1 b=13 sum=16
14、选A,switch语句是一个分支语句,continue关键字用于循环语句
二、编程题
1、用函数求两数中的较大值
①最初答案的错误分析:
【补】不建议把函数的名称写成全大写,MAX->Max
②修订后:
2、打印小飞机
①方法一 打印一整行
②方法二 分行打印,方便观看
3、能否被5整除
最初尝试,不可运行->没有想到用取模%
答案:
方法一 ,用 if-else语句,被5整除->m%5==0
方法二,三目操作符 exp1? exp2:exp3