0
点赞
收藏
分享

微信扫一扫

【1】刷了1000道二级C语言的题,这些题竟然还是易错题!!(附C语言完整知识点)


@二级C语言考试
这几天我天天都在做C语言的题,从公共基础部分到C语言选择题部分,着重复习选择题部分。算下来已经刷了近1000道C语言的题了
不过有些题明明是很简单的,却很容易错,它们容易混淆、看似简单、偏向概念理解,因此导致频频错误,今天就把这些易错题发出来分享一下,也提醒自己长点记性

1、若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是
(A)i=(a+k)<=(i+k); (B)a=a++,i++; (C)i=a%11; (D)i=!a;
标准答案:C

2、设有定义:int x=2;,以下表达式中,值不为6的是
(A)x*=(1+x) (B)x*=x+1 (C)x++,2x (D)2x, x+=2
标准答案:D

3、以下定义语句中正确的是
(A) float a=1,*b=&a,*c=&b;  (B) int a=b=0;
(C) double a=0.0;b=1.1;  (D) char A=65+1,b=’b’;
标准答案:D

4、以下选项中可用作C程序合法实数的是
(A) E9 (B) 9.12E (C) 3.0e1. (D) .1e0
标准答案:D

5、以下叙述中错误的是
(A) 算法正确的程序对于相同的输入一定有相同的结果
(B) 算法正确的程序可以有零个输入
(C)算法正确的程序可以有零个输出
(D)算法正确的程序最终一定会结束
标准答案:C

6、以下选项中关于C语言常量的叙述错误的是
(A) 经常被使用的变量可以定义成常量
(B) 常量分为整型常量、实型常量、字符常量和字符串常量
(C) 所谓常量,是指在程序运行过程中,其值不能被改变的量 (D) 常量可分为数值型常量和非数值型常量
标准答案:A

7、以下关于C语言数据类型使用的叙述中错误的是
(A) 若只处理“真”和“假”两种逻辑值,应使用逻辑类型
(B) 若要保存带有多位小数的数据,可使用双精度类型
(C) 整数类型表示的自然数是准确无误差的
(D) 若要处理“人员信息”等含有不同类型的相关数据,应自定义结构体类型
标准答案:A

8、设有定义
int k=0;
以下选项的四个表达式中与其他三个表达式的值不相同的是
(A) ++k (B) k++ (C) k+1 (D) k+=1
标准答案:B

9、以下不合法的字符常量是
(A) ‘\018’ (B) ‘\”’ (C) ‘\’ (D) ‘\xcc’
标准答案:A

10、若有定义语句
int a=3,b=2,c=1;
以下选项中错误的赋值表达式是
(A) a=(b=4)=3; (B) a=1+(b=c=4); (C) a=(b=4)+c; (D) a=b=c+1;
标准答案:A

11、以下选项中不能用作C程序合法常量的是
(A) 123 (B) ‘\123’ (C) “\x7D” (D) 1,234
标准答案:D(’\123’是:S "\x7D"是:})

12、我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令,关于转换以下说法错误的是
(A) 一条C语句可能会被转换成零条机器指令
(B) 某种类型和格式的C语句被转换成机器指令的条数是固定的
(C) 一条C语句可能会被转换成多条机器指令
(D) 一条C语句对应转换成一条机器指令
标准答案:D

13、关于算法,以下叙述中错误的是
(A) 一个算法对于某个输入的循环次数是可以事先估计出来的
(B) 同一个算法对于相同的输入必须得出相同的结果
(C) 某个算法可能会没有输入
(D) 任何算法都能转换成计算机高级语言的程序,并在有限时间内运行完毕
标准答案:D

14、以下选项中不属于C语言标识符的是
(A) 关键字 (B) 预定义标识符 (C) 用户标识符 (D) 常量
标准答案:D(常量是一个特殊代表不变值的量)

15、以下不能用于描述算法的是
(A) 文字叙述  (B) 伪代码和流程图 (C) 程序语句 (D) E-R图
标准答案:D

16、以下叙述中合法的实型常量是
(A) 2.0*10 (B) .914 (C) 0 (D) 3.13e-2.1
标准答案:B

17、
#include <stdio.h>
main()
{
int a=3;
printf(“%d\n”,a+=a-=a*a);
}
程序运行后的输出结果是
(A) 9 (B) -12 (C) 0 (D) 3
标准答案:B

18、以下叙述中正确的是
(A) 书写源程序时,必须注意缩进格式,否则程序会有编译错误
(B) 程序的主函数名除了main外,也可以使用Main或_main
(C) 程序可以包含多个主函数,但总是从第一个主函数处开始执行
(D) 在C程序中,模块化主要是通过函数来实现的
标准答案:D

19、C语言中double类型数据占字节数为
(A) 12 (B) 8 (C) 4 (D) 16
标准答案:B

20、以下叙述中正确的是
(A) 空语句就是指程序中的空行
(B) 花括号对{}只能用来表示函数的开头和结尾,不能用于其他目的
(C) 复合语句在语法上包含多条语句,其中不能定义局部变量
(D) 当用scanf从键盘输入数据时,每行数据在没有按下回车键(Enter键)前,可以任意修改
标准答案:D

21、以下叙述中正确的是
(A) 在C语言程序设计中,所有函数必须保存在一个源文件中
(B) 结构化程序必须包含所有的三种基本结构,缺一不可
(C) 只要包含了三种基本结构的算法就是结构化程序
(D) 在算法设计时,可以把复杂任务分解成一些简单的子任务
标准答案:D

22、有以下程序
#include <stdio.h>
main()
{ char a,b,c,d;
scanf("%c%c",&a, &b);
c=getchar(); d=getchar();
printf("%c%c%c%c\n",a,b,c,d);
}
当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符)
12
34
则输出结果是
(A) 12
(B) 12
3
(C) 12
34
(D) 1234
标准答案:B

23、若变量已正确定义为int型,要通过语句
Scanf(“%d,%d,%d”,&a,&b,&c);
给a赋值1、给b赋值2、给c赋值3,以下输入形式中语法错误的是(注:□代表一个空格符)
(A)□□□1,2,3<回车> (B)1□2□3<回车>
(C)1,2,3<回车> (D)1,□□□2,□□□3<回车>
标准答案:B

24、设变量均已正确定义,若通过
scanf("%d%c%d%c",&a1,&c1,&a2,&c2);
语句为变量a1和a2赋数值10和20,为变量c和c2赋字符X和Y,以下所示的输入形式正确的是
(A)10□X<回车>
20□Y<回车>
(B)10□X□20□Y<回车>
(C)10X<回车>
20Y<回车>
(D)10□X20□Y<回车>
标准答案:C或者10X20Y

25、设有定义
int a; float b;
执行
scanf(“%2d%f”,&a,&b);
语句时,若从键盘输入
876 543.0<回车>
则a和b的值分别是
(A) 76和543.0    (B) 87和543.0    (C) 876和543.0    (D) 87和6.0
标准答案:D

26、若有定义:
int a,b;
通过语句
scanf(“%d;%d”,&a,&b);
能把整数3赋值给变量a,5赋值给变量b的输入数据是
(A) 35 (B) 3 5 (C) 3,5 (D) 3;5
标准答案:D

27、以下叙述中正确的是
(A) scanf和printf是C语言提供的输入和输出语句
(B) 由printf输出的数据的实际精度是由格式控制中的域宽和小数的域宽来完全决定
(C) 由printf输出的数据都隐含左对齐
(D) 赋值语句是一种执行语句,必须放在函数的可执行部分
标准答案:D

28、以下叙述中正确的是
(A) 在使用scanf函数输入整型或实数时,输入数据之间只能用空格来分隔
(B) 在scanf函数中的格式控制字符串是为了输入数据用的,不会输出到屏幕上
(C) 使用printf函数无法输入百分号%
(D) 在printf函数中,各个输出项只能是变量
标准答案:B

29、以下叙述中正确的是
(A) 复合语句也被称为语句块,它至少要包含两条语句
(B) 在scanf函数的格式中,必须有与输出项一一对应的格式转换说明
(C) scanf函数中的字符串,是提示程序员的。输入数据时不必管它
(D) 只能在printf函数中指定输入数据的宽度,而不能在scanf函数中指定输入数据占的宽度
标准答案:B

30、下列叙述中错误的是
A)可以给指针变量赋一个整数作为地址值
B)当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULL
C)函数可以返回地址值
D)改变函数形参的值,不会改变对应实参的值
标准答案:A

31、下列叙述中正确的是
A)可以对字符串进行关系运算
B)空字符串不占用内存,其内存空间大小是0
C)两个连续的双引号(””)是合法的字符串常量
D)两个连续的单引号(’’)是合法的字符串常量
标准答案:C

32、若有定义语句:char a=’\82’;则变量a
A)包含3个字符 B)包含2个字符 C)包含1个字符 D)说明不合法
标准答案:D

33、设已有定义:float x;,则以下对指针变量p进行定义且赋初值的语句中正确的是
A)float *p=1024; B)float p=&x; C)int *p=(float)x; D)float *p=&x;
标准答案:D

暂时就更新到这里,随着后面的继续刷题,还会继续添加这种容易混淆、看似简单、偏向概念理解的易错题,祝所有看此文章的小伙伴都能一次性顺溜得通过计算机等级考试!
另外,文章里附有C语言的完整知识点文档,需要的请自行下载。


举报

相关推荐

0 条评论