1、二级C语言相关考点 1、以下选项中,能用作数据常量的是 。(标准答案:C) (A)o115 (B)0118 (C)115L (D)1.5e1.5 2、下列叙述中错误的是 _。(标准答案:A) (A)一个 C 语言程序只能实现一种算法 (B)一个 C 函数可以单独作为一个 C 程序文件存在 (C)C 程序可以由一个或多个函数组成 (D)C 程序可以由多个程序文件组成 3、设变量已正确定义并赋值,以下正确的表达式是 _。(标准答案:B) (A)int(15.8%5) (B)x=y+z+5, ++y (C)x=25%5.0 (D)x=y*5=x+z 4、以下叙述中错误的是 。
2、标准答案:A) (A)C 语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令 (B)C语言源程序经编译后生成后缀为.obj 的目标程序 (C)用 C 语言编写的程序称为源程序,它以 ASCII 代码形式存放在一个文本文件中 (D)C 程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件 5、按照 C 语言规定的用户标识符命名规则,不能出现在标识符中的是 。(标准答案:D) (A)大写字母 (B)下划线 (C)数字字符 (D)连接符 6、以下选项中,合法的一组 C 语言数值常量是 。(标准答案:D) (A) 0x8A 10,000
3、 3.e5 (B) .177 4e1.5 0abc (C) 028 .5e-3 -0xf (D) 12. 0Xa23 4.5e0 7、以下选项中不合法的标识符是 。(标准答案:C) (A)print (B)FOR (C)&&a (D)_00 8、若有定义: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 11、设有定义:int x=2;,以下表达式中,值不为 6 的是 (A)x*=(1+x) (B)x*=x+
4、1 (C)x++,2*x (D)2*x, x+=2
标准答案:D 12、有以下程序
#include
5、设计方法 标准答案:A 14、以下选项中,能用作用户标识符的是 (A)8_8 (B)unsigned (C)_0_ (D)void 标准答案:C 15、C 源程序中不能表示的数制是 (A)二进制 (B)十六进制 (C)十进制 (D)八进制 标准答案:A 16、若有定义语句:int x=10; ,则表达式 x-=x+x 的值为 - 9 - (A)0 (B)10 (C)-20 (D)-10 标准答案:D 17、以下选项中不合法的标识符是 (A) &a (B) print (C)_00 (D) FOR 标准答案:A 18、以下关于结构化程序设计的叙述中正确的是 (
6、A) 一个结构化程序必须同时由顺序、分支、循环三种结构组成 (B) 有三种基本结构构成的程序只能解决小规模的问题 (C) 在 C 语言中,程序的模块化是利用函数实现的 (D) 结构化程序使用 goto 语句会很便捷 标准答案:C 19、对于一个正常运行的 C 程序,以下叙述中正确的是 (A) 程序的执行总是从 main 函数开始,在程序的最后一个函数中结束 (B) 程序的执行总是从程序的第一个函数开始,在 main 函数结束 (C) 程序的执行总是从 main 函数开始 (D) 程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束 标准答案:C 20、以下选项中能
7、表示合法常量的是 (A) 1.5E2.0 (B) “\007” (C) 1, 200 (D) ‘\ ’ 标准答案:B 21、以下定义语句中正确的是 (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 22、若变量 x、y 已正确定义并赋值,以下符合 C 语言语法的表达式是 (A) double(x)/10 (B) x=x+10=x+y (C) x+1=y (D) ++x,y=x-- 标准答案:D 23、计算机能直接执行的程序是 (A) 可
8、执行程序 (B) 目标程序 (C) 源程序 (D) 汇编程序 标准答案:A 24、以下叙述中正确的是 (A) C 语言规定必须用 main 作为主函数名,程序将从此开始执行 (B) C 语言程序将从源程序中第一个函数开始执行 (C) main 的各种大小写拼写形式都可以作为主函数名,如 MAIN,Main 等 (D) 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行 标准答案:A 25、以下选项中可用作 C 程序合法实数的是 (A) E9 (B) 9.12E (C) 3.0e1.2 (D) .1e0 标准答案:D 26、下列定义变量的语句中错误的是 (A) f
9、loat US$; (B) double int_; (C) char For; (D) int _int; 标准答案:A 27、表达式:(int)((double)9/2)-9%2 的值是 (A) 5 (B) 4 (C) 0 (D) 3 标准答案:D 28、以下叙述中错误的是 (A) 算法正确的程序对于相同的输入一定有相同的结果 (B) 算法正确的程序可以有零个输入 (C)算法正确的程序可以有零个输出 (D)算法正确的程序最终一定会结束 标准答案:C 29、以下叙述中正确的是 (A) C 语言程序中的注释必须与语句写在同一行 (B) 简单 C 语句必须以分号结束 (C)
10、C 语句必须在一行内写完 (D) C 程序中的每一行只能写一条语句 标准答案:B 30、以下选项中关于 C 语言常量的叙述错误的是 (A) 经常被使用的变量可以定义成常量 (B) 常量分为整型常量、实型常量、字符常量和字符串常量 (C) 所谓常量,是指在程序运行过程中,其值不能被改变的量 (D) 常量可分为数值型常量和非数值型常量 标准答案:A 31、以下选项中,不合法的 C 语言用户标示符是 (A) AaBc (B) a_b (C) _1 (D) a--b 标准答案:D 32、若变量均已正确定义并赋值,以下合法的 C 语言赋值语句是 (A) x=y==5; (B) x=5=4
11、1; (C) x+n=i; (D) x=n%2.5; 标准答案:A 33、以下选项中关于程序模块化的叙述错误的是 (A) 把程序分成若干相对独立的模块,可便于编码和测试 (B) 可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序 (C)把采用分成若干相对独立、功能单一的模块,可便于重复使用这些模块 (D) 可采用自顶向上、逐步细化的设计方法把若干独立模块组装成所要求的程序 标准答案:D 34、以下叙述中正确的是 (A) C 程序中的注释只能出现在程序的开始位置和语句的后面 (B) C 程序书写格式严格,要求一行内只能写一个语句 (C) 用 C 语言编写的程序
12、只能放在一个程序文件中 (D) C 程序书写格式自由,一个语句可以写在多行上 标准答案:D 35、以下不合法的数值常量是 (A) 1e1 (B) 0xabcd (C) 8.0E0.5 (D) 011 标准答案:C 36、以下关于 C 语言数据类型使用的叙述中错误的是 (A) 若只处理“真”和“假”两种逻辑值,应使用逻辑类型 (B) 若要保存带有多位小数的数据,可使用双精度类型 (C) 整数类型表示的自然数是准确无误差的 (D) 若要处理“人员信息”等含有不同类型的相关数据,应自定义结构体类型 标准答案:A 37、设有定义 int k=0; 以下选项的四个表达式中与其他三
13、个表达式的值不相同的是 (A) ++k (B) k++ (C) k+1 (D) k+=1 标准答案:B 38、以下叙述中错误的是 (A) C 程序在运行过程中所有计算都以二进制方式进行(B) C 程序在运行过程中所有计算都以十进制方式进行 (C) C 程序中字符变量存放的是字符的 ASCII 值 (D) 所有 C 程序都需要编译链接无误后才能运行 标准答案:B 39、以下关于 C 语言的叙述中正确的是 (A) C 语言中的注释不可以夹在变量名或关键字的中间 (B) C 语言中的变量可以再使用之前的任何位置定义 (C) 在 C 语言算数表达式的书写中,运算符两侧的运算数类型必须一
14、致 (D) C 语言的数值常量中夹带空格不影响常量值的正确表示 标准答案:A 40、以下不合法的字符常量是 (A) ‘\018’ (B) ‘\”’ (C) ‘\\’ (D) ‘\xcc’ 标准答案:A 41、以下选项中正确的定义语句是 (A) double a=7,b=7; (B) double a;b; (C) double,a,b; (D) double a=b=7; 标准答案:A 42、若有定义语句 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
15、b=c+1; 标准答案:A 43、下列叙述中错误的是 (A) 一个 C 语言程序只能实现一种算法 (B) 一个 C 函数可以单独作为一个 C 程序文件存在 (C) C 程序可以由一个或多个函数组成 (D) C 程序可以由多个程序文件组成 标准答案:A 44、C 语言源程序名的后缀是 (A) .c (B) .cp (C) .obj (D) .exe 标准答案:A 45、以下选项中不能用作 C 程序合法常量的是 (A) 123 (B) ‘\123’ (C) “\x7D” (D) 1,234 标准答案:D 46、表达式 a+=a-=a=9 的值是 (A) 0 (B) -9 (
16、C) 18 (D) 9 标准答案:A 47、若有定义语句: int x=12,y=8,z; 在其后执行语句 Z=0.9+x/y; 则 z 的值为 (A) 2.4 (B) 2 (C) 1.9 (D) 1 标准答案:D 48、以下选项中合法的标识符是 (A) 1-1 (B) 1__ (C) 1_1 (D) _11 标准答案:D 49、表达式 3.6-5/2+1.2+5%2 的值是 (A) 4.8 (B) 4.3 (C) 3.8 (D) 3.3 标准答案:C 50、有以下定义: int a; long b; double x,y; 则以下选项中正确的表达式是 (A) a=
17、x<>y (B) a%(int)(x-y) (C) y=x+y=x (D) (a*y)%b
标准答案:B 51、有以下程序
#include
18、换成零条机器指令
(B) 某种类型和格式的 C 语句被转换成机器指令的条数是固定的
(C) 一条 C 语句可能会被转换成多条机器指令
(D) 一条 C 语句对应转换成一条机器指令 标准答案:D
53、关于 C 语言的符号常量,以下叙述中正确的是
(A) 符号常量在整个程序中其中都不会被重新定义
(B) 符号常量的符号名是标识符,但必须大写
(C) 符号常量的符号名必须是常量
(D) 符号常量是指在程序中通过宏定义用一个符号名来代表一个常量 标准答案:D
54、若有以下程序
#include
19、4;
printf(“%d %d\n”,a,b);
}
则程序的输出结果是
(A) 1 2 (B) -1 2 (C) 1 -2 (D) -1 -2
标准答案:B 55、若有以下程序
#include
20、{ int a=0,b=0,c=0,d; c=(a+=b,,b+=a); /*第 4 行*/ d=c;; /*第 5 行*/ ; /*第 6 行*/ printf(“%d,%d,%d\n”,a,b,c); /*第 7 行*/ } 编译时出现错误,你认为出错的是 (A) 第 6 行 (B)第 5 行 (C)第 7 行 (D)第 4 行 标准答案:D 57、关于算法,以下叙述中错误的是 (A) 一个算法对于某个输入的循环次数是可以事先估计出来的 (B) 同一个算法对于相同的输入必须得出相同的结果 (C) 某个算法可能会没有输入 (D) 任何算法都能转换成计算机高级语言的
21、程序,并在有限时间内运行完毕 标准答案:D
58、关于 C 语言的变量,以下叙述中错误的是 (A) 由三条下划线构成的符号名是合法的变量名
(B) 所谓变量是指在程序运行过程中其值可以被改变的量(C) 程序中用到的所有变量都必须先定义后才能使用
(D) 变量所占的存储单元地址可以随时改变 标准答案:D
59、若有以下程序
#include
22、nclude
23、确定义并赋值,以下不能构成 C 语句的选项是 (A) A=a+b; (B) B++; (C) A?a:b; (D) a=a+b 标准答案:D 64、若有以下程序段 double x=5.16894; printf(“%f\n“,(int)(x*1000+0.5)/(double)1000); 则程序段的输出结果是 (A) 5.169000 (B) 5.175000 (C) 5.170000 (D) 5.168000 标准答案:A 65、以下不能用于描述算法的是 (A) 文字叙述 (B) 伪代码和流程图 (C) 程序语句 (D) E-R 图 标准答案:D 66、以下叙述中合法
24、的实型常量是 (A) 2.0*10 (B) .914 (C) 0 (D) 3.13e-2.1 标准答案:B 67、以下叙述中正确的是 (A) 若有 int 4,b=9;执行了 a=b;b=a;之后,a 的值为 9,b 的值为 4 (B) 在赋值表达式中,赋值号的右边可以是变量,也可以是表达式 (C) 若有 int 4,b=9;执行了 a=b 后,a 的值已由原值改变为 b 的值,b 的值变为 0 (D) a 是实型变量,a=10 在 C 语言中是允许的,因此可以说:实型变量中可以存放整型数 标准答案:B 68、以下选项中合法的常量是 (A) sizeof (B) A% (C)
25、5a (D) _10_ 标准答案:D
69、不能正确表示数学式的表达式是
(A) a*b/c (B) a*(b/c) (C) a/c*b (D) a/b*c
标准答案:D 70、#include
26、言程序,不必进行任何转换 (D) 程序的算法只能使用流程图来描述 标准答案:A 71、以下叙述中正确的是 (A) 书写源程序时,必须注意缩进格式,否则程序会有编译错误 (B) 程序的主函数名除了 main 外,也可以使用 Main 或_main (C) 程序可以包含多个主函数,但总是从第一个主函数处开始执行 (D) 在 C 程序中,模块化主要是通过函数来实现的 标准答案:D 72、C 语言中 double 类型数据占字节数为 (A) 12 (B) 8 (C) 4 (D) 16 标准答案:B 73、以下叙述中正确的是 (A) 用户自定义标识符必须“见名知意”,如果随意定义,则
27、会出编译错误 (B) 语言中的关键字不能作变量名,但可以作为函数名 (C) 标识符的长度不能任意长,最多只能包含 16 个字符 (D) 标识符总是有字母、数字和下划线组成,且第一个字符不得是数字 标准答案:D 74、以下叙述中正确的是 (A) 空语句就是指程序中的空行 (B) 花括号对{}只能用来表示函数的开头和结尾,不能用于其他目的 (C) 复合语句在语法上包含多条语句,其中不能定义局部变量 (D) 当用 scanf 从键盘输入数据时,每行数据在没有按下回车键(Enter 键)前,可以任意修改 标准答案:D 75、以下叙述中正确的是 (A) 程序必须包含所有三种基本结
28、构才能成为一种算法 (B) 如果算法非常复杂,则需要使用三种基本结构之外的语句结构,才能准确表达 (C)只有简单算法才能在有限的操作步骤之后结束 (D) 我们所写的每条 C 语句,经过编译最终都将转换成二进制的机器指令 标准答案:D 76、以下叙述中正确的是 (A) 在 C 语言程序设计中,所有函数必须保存在一个源文件中 (B) 结构化程序必须包含所有的三种基本结构,缺一不可 (C) 只要包含了三种基本结构的算法就是结构化程序 (D) 在算法设计时,可以把复杂任务分解成一些简单的子任务 标准答案:D 77、以下叙述中正确的是 (A) 预定义的标识符是 C 语言关键字的一种,
29、不能另作他用 (B) 只能在函数体内定义函数,其他地方不允许定义变量 (C) 常量的类型不能从字面形式上区分,需要根据类型名来决定 (D) 整型常量和实型常量都是数值型常量 标准答案:D 78、以下叙述中正确的是 (A) 八进制数的开头要使用英文字母 o,否则不能与十进制区分开 (B) 英文大写字母 X 和英文小写字母 x 都可以作为二进制数字的开头字符 (C) 在 C 程序中的八进制和十进制,可以是否点数 (D) 整型变量可以分为 int 型、short 型、long 型、unsigned 型四种 标准答案:D 79、以下叙述中正确的是 (A) C 语言程序总是从 mai
30、n 函数开始执行 (B) C 语言程序所调用的函数必须放在 main 函数的前面
(C) C 语言程序中 main 函数必须放在程序开始位置(D) C 语言程序总是从最前面的函数开始执行 标准答案:A
80、C 语言程序中,运算对象必须是整型数的运算符是
(A) % (B) / (C) * (D) &&
标准答案:A 81、#include
31、 (D) 6
标准答案:D
82、以下四个程序中,完全正确的是
(A) #include
32、
(C) #include
33、getchar(); d=getchar(); printf("%c%c%c%c\n",a,b,c,d);
}
当执行程序时,按下列方式输入数据(从第 1 列开始,
34、}
已知字母 A 的 ASCII 码为 65,程序运行后的输出结果是
(A)输出无定值 (B)E,D (C)D,69 (D)E,68
标准答案:D 86、有以下程序
#include
35、下ㄩ代表空格,
36、canf("%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 89、设有定义 int a; float b; 执行 scanf(“%2d%f”,&a,&b); 语句时,若从键盘输入 876 543.0<回车> 则 a 和 b 的值分别是 (A) 76 和 543.0 (B) 87 和
37、 543.0 (C) 876 和 543.0 (D) 87 和 6.0 标准答案:D 90、有如下程序段: int x=12; double y=3.141593; printf(“%d%8.6f”,x,y) 其输出结果是 (A) 123.141593 (B) 12 3.141593 (C) 123.1415930 (D) 12,3.141593 标准答案:A 91、若有定义: int a,b; 19 通过语句 scanf(“%d;%d”,&a,&b); 能把整数 3 赋值给变量 a,5 赋值给变量 b 的输入数据是 (A) 35 (B) 3 5 (C) 3,5
38、 (D) 3;5
标准答案:D 92、阅读以下程序
#include
39、能用作用户自定义标识符 标准答案:A 93、若有定义 int a; float b; double c; 程序运行时输入: 3 4 5<回车> 能把 3 输入给变量 a、4 输入给变量 b、5 输入给变量 c 的语句是 (A) scanf(“%d%f%f”,&a,&b,&c); (B) scanf(“%d%lf%lf”,&a,&b,&c); (C) scanf(“%lf%lf%lf”,&a,&b,&c); (D) scanf(“%d%f%lf”,&a,&b,&c); 标准答案:D 94、设有定义 double a,b,c; 若要求通过分别给 a、b、c 输入 1、2、3
40、输入形式如下(注:此处□代表一个空格)则能进行正确输入的语句 是 (A) scanf(“%f%f%f”,&a,&b,&c); (B) scanf(“%lf%lf%lf”,a,b,c); (C) scanf(“%5.11lf%5.11lf%5.11lf”,&a,&b,&c); (D) scanf(“%lf%lf%lf”,&a,&b,&c); 标准答案:D 95、以下叙述中正确的是 (A) scanf 和 printf 是 C 语言提供的输入和输出语句 (B) 由 printf 输出的数据的实际精度是由格式控制中的域宽和小数的域宽来完全决定 (C) 由 printf 输出的数据都隐含
41、左对齐 (D) 赋值语句是一种执行语句,必须放在函数的可执行部分 标准答案:D 96、以下叙述中正确的是 (A) 在使用 scanf 函数输入整型或实数时,输入数据之间只能用空格来分隔 (B) 在 scanf 函数中的格式控制字符串是为了输入数据用的,不会输出到屏幕上 (C) 使用 printf 函数无法输入百分号% (D) 在 printf 函数中,各个输出项只能是变量 标准答案:B 97、以下叙述中正确的是 (A) 复合语句也被称为语句块,它至少要包含两条语句 (B) 在 scanf 函数的格式中,必须有与输出项一一对应的格式转换说明 (C) scanf 函数中的字
42、符串,是提示程序员的。输入数据时不必管它 (D) 只能在 printf 函数中指定输入数据的宽度,而不能在 scanf 函数中指定输入数据占的宽度 标准答案:B 116、若有定义 int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++):(y++)中条件表达式 (x-y)等价的是 A)(x-y<0)||x-y>0) B) (x-y==0) C) (x-y<0) D) (x-y>0) 标准答案:A
43、 29 39 200、以下叙述中正确的是 A)if 语句只能嵌套一层 B)不能在 else 子句中在嵌套 if 语句 C)改变 if-else 语句的缩进格式,会改变程序的执行流程 D)if 子句和 else 子句中可
44、以是任意合法的 C 语句 标准答案:D 201、以下叙述中正确的是 A)对于“for(表达式 1;表达式 2;表达式 3)循环体”,只在个别情况下才能换成 while B))对于“for(表达式 1;表达式 2;表达式 3)循环体”首先要计算表达式 2 的值,以便决定 C)如果根据算法血药使用无限循环(即通常说的“死循环”),则只能使用 while 语句 D)只要适当地修改代码,就可以将 do-while 与 while 相互转换 标准答案:D 202、以下叙述中正确的是 A)在 while 语句和 do-while 语句中无法使用 continue 语句 B)当 break 出现在
45、循环体中的 switch 语句体内时,其作用是跳出该 switch 语句体,并终止循环 C)continue 语句的作用是:在执行完本次循环体中剩余语句后,终止循环 D)只能在循环体内和 switch 语句体内使用 break 语句 标准答案:D 203、以下叙述中正确的是 A)‘\”’是非法的 B)’\0’表示字符 0 C)”a”表示一个字符常量 D)表达式:’a’>’b’的结果是“假” 标准答案:D 204、以下叙述中正确的是 A)字符常量可以参与任何整数运算 B)转义字符用@符号开头 C)字符变量在定义时不能赋初值 D)同一英文字符的大写和小写形式代表的是同一字符常量 标准答
46、案:A
205、若有定义语句:char a=’\82’;则变量 a
A)包含 3 个字符 B)包含 2 个字符 C)包含 1 个字符 D)说明不合法 标准答案:D
206、有以下程序
#include
47、执行次数不定 C)执行 3 次 D)执行 4 次 标准答案:D
208、对于 while(!E) s; 若要执行循环体 s,则 E 的取值应为:
A)E 等于 0 B)E 等于 1 C)E 不等于 1 D)E 不等于 0
标准答案:A 209、有以下程序
#include
48、有以下程序
#include
49、4)>2 标准答案:D 213、若以下选项中的变量 a,b,y 均已正确定义并赋值,则语法正确的 switch 语句是 42 A)switch(a*a+b*b) { default :break; case 3:y=a+b; break; case 2:y=a-b; break; } B) switch a*b { case 10:y=a+b; default :y=a-b; C) switch (a+9) { case a:y=a-b; case b:y=a+b; } D) switch (a+b) { case 1:case 3:y=a+b;
50、 break; case 0:case 4:y=a-b;
}
}
标准答案:A 214、有以下程序
#include






