C试题库汇总原文件.docx
《C试题库汇总原文件.docx》由会员分享,可在线阅读,更多相关《C试题库汇总原文件.docx(80页珍藏版)》请在冰豆网上搜索。
C试题库汇总原文件
C语言程序设计试题库
题号【知识点所在章节:
答案】题目
一、填空题(每章2题以上、每题2空):
1.【1:
符号语言高级语言】计算机语言的发展经历了机器语言、___________、和__________三个阶段。
2.【1:
编译连接】C语言程序开发的四个步骤是:
编辑、______、_____、运行。
3.【2:
N-S流程图伪代码】为了表示一个算法,除了计算机程序外常用的方法有:
自然语言、传统流程图、_____________和____________。
4.【2:
判断条件程序执行的方向】使用传统流程图表示一个算法时,其中菱形框表示____________,流程线表示_______________。
5.【3:
1换行】在C语言中,字符类型的数据在内存中占_______个字节,转义字符“\n”的功能是____________。
6.【3:
floatdouble】在C语言中,用关键字_________定义单精度实型变量,用关键字__________定义双精度实型变量。
7.【3:
整型1】运算符%两侧运算量的数据类型必须都是_______________,若有定义语句:
intx=3,y=2;floata=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为_____。
8.【4:
21】若有说明语句:
intx=1,y=0;则表达式x>(y+x)?
10:
12.5>y++?
2:
3的值为_______;表达式!
(3<6)||(4<9)的值是_________。
9.【4:
Elseif】为了避免if嵌套条件语句的二义性,C语言规定________与其前面最近的_____语句配对。
10.【5:
breakcontinue】C语言中终止整个循环的语句是____;结束本次循环的语句是____。
11.【5:
dowhile()switch()】C语言中至少执行一次循环体的循环语句是____;break语句只能用于循环语句和_______语句。
12.【6:
54】若有定义:
doublea[5],则a数组的长度为____________;a数组中下标的上限为______________。
13.【6:
03】若有定义:
intb[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,b[1][2]的值为__________;b数组中列下标的上限为___________。
14.【6:
#includestrcpy(s2,s1)】如果调用了gets函数,则需要预处理命令_______________________;欲将字符串s1复制到字符串s2中,其语句是____________________________。
15.【7:
函数首部函数体】在C语言中,一个函数一般由两个部分组成,它们是_______和________。
16.【7:
定义递归调用】函数可以嵌套调用,但是不可以嵌套____;函数直接或者间接地自己调用自己,被称为函数的_______。
17.【7:
值传递首地址】C语言规定,简单变量作实参时,和它对应的参数之间的传递方式是____;若用数组名作为函数调用的实参,传递给形参的将是数组的_____。
18.【8:
p地址】语句int*p中,指针变量名为___;指针变量作为函数的参数时,实参与形参之间传递的是____。
19.【8:
pi】若有定义inti;int*p=&i;则&*p等价于____;*&i等价于____。
20.【1:
main()、花括号{}】每一个C语言程序都必须有一个函数。
函数体由括起来。
21.【1:
分号、结束】每个语句最后都有一个,表示语句。
22.【2:
传统流程图、结构化流程图】为了表示一个算法,常用的方法有:
自然语言、、和伪代码等。
23.【2:
选择结构、循环结构】3种基本结构包括:
顺序结构、和。
24.【3:
字母、数字和下划线,数字】C语言规定标识符只能有三种字符组成,且第一个字符不能为。
25.【3:
3、1】表达式7/2的结果是,表达式7%2的结果是。
26.【4:
0、1】在C语言中,逻辑“假”值用表示,逻辑“真”值用表示。
27.【4:
1、0】已知charc=48;inti=1,j=10;执行语句j=!
(c>j)&&i++;则i和j的值分别是和。
28.【5:
break、continue】C语言中,用语句提前终止循环,用语句提前结束本次循环。
29.【5:
4、4】循环语句for(x=0,y=0;(y!
=123)&&(x<4);x++)执行的循环次数是:
_____次,执行后x=。
30.【6:
0、8】若有定义:
inta[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][1]得到的初值是,a[2][2]得到的初值是。
31.【6:
元素、整个】C语言中只能逐个引用数组、而不能一次引用数组。
32.【7:
直接、间接】函数的递归调用不过是一个函数或地调用它自身。
33.【7:
全局变量、局部变量】按照变量在函数中作用域不同,可以将变量分为和。
34.【8:
char*p=&ch;,*p=‘A’;】若定义:
charch;使指针p指向变量ch的定义语句是:
____,通过指针p给变量ch赋值字符A的语句是:
_____。
35.【8:
&、*】取地址运算符为,指针运算符为。
36.【7:
函数首部、函数体】在C语言中,一个函数由和两部分组成,而后者一般包括声明部分和执行部分。
37.【3:
1、0】若a=1,b=4,c=3,则表达式!
(a
c||1的值是,表达式f=a>b>c的值是。
38.【3:
1、0】当a=3,b=2,c=1时,表达式!
(a
c||1的值是,表达式f=a>b>c的值是。
39.【6:
1、8】若有定义:
inta[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[0][0]得到的初值是,a[2][2]得到的初值是。
40.【6:
2、4】若有定义:
doublex[3][5];则x数组中行下标的下限为列下标的下限为。
41.【8:
char*p=&ch;*p=’A’;】若定义:
charch;
使指针p指向变量ch的定义语句是:
;
通过指针p给变量ch赋值字符A的语句是:
。
42.【8:
char*p=&ch;printf(“%c”,*p);】若定义:
charch;
使指针p指向变量ch的定义语句是:
;
通过指针p输出变量ch中字符的语句(要求带格式输出)是:
。
43.【3:
字母、下划线】标识符的第一个字符必须是或。
44.【3:
1.23457e2或1.23457E2、0】实常数123.457的规范化指数表示形式是。
表达式4>3&&7<5-!
0的值为。
45.【3:
3、1】表达式7/2的结果是,表达式7%2的结果是。
46.【1:
函数、main()】C语言程序由组成,C程序中有且仅有一个函数。
47.【7:
地址、双向】若用数组名作为函数调用的实参,则实参传递给形参的是,而数组中的数据是传递的。
48.【7:
值、单向】若用数组元素或变量作为函数调用的实参,则实参传递给形参的是,而数据是传递的。
49.【3:
-231~231-1、0~232-1】有定义:
inta;unsignedintb;
则变量a的取值范围为,变量b的取值范围为。
50.【3:
8、4】C语言中(VC++6.0),double型数据存储在内存中占个字节。
float型数据存储在内存中占个字节。
51.【1:
目标程序、可执行程序】用C语言编写的程序是源程序,必须经过编译生成,经过连接生成才能运行。
52.【2:
确定性、有效性】算法的特性包括:
有穷性,,有零个或多个输入,有一个或多个输出,。
53.【2:
自顶向下、逐步细化】结构化程序设计过程中采用的最主要的方法是和。
54.【3:
stdio.h】C语言程序中引用标准输入输出库函数,必须在每个源文件的首部写下#include<>。
55.【3:
变量、表达式】在赋值表达式中,赋值符号的左侧只能是,不能是常量或。
56.【3:
x2/(3*x+5)】若有代数式x2÷(3x+5),则正确的C语言表达式为:
________。
57.【4:
逗号运算符、赋值运算符】在所有的运算符中,优先级别最低的是,其次是。
58.【4:
if-else语句的嵌套、switch语句】在程序设计过程中,我们使用或者来实现多分支结构。
59.【5:
while语句、for语句】常用的循环语句有,do-while语句和。
60.【6:
不能,变量】数组的长度一经确定(能或不能)更改,定义数组时,数组元素的个数不能用。
61.【6:
行,字符型数组】二维数组在存储过程中按存储,字符串用存储。
62.【7:
实参,形参】函数调用时,参数的传递方向是由到。
63.【7:
值,地址】数组元素作函数参数时,是传递,数组名作函数参数时,是传递。
64.【8:
另外一个变量的地址,它所指向的变量的类型】指针变量内存储的内容是,其数据类型与一致。
65.【1:
函数】C源程序的基本单位是
66.【1:
main()函数】一个C源程序中至少应包括一个。
67.【2:
1,2】在C语言中(以16位PC机为例),一个char型数据在内存中所占的字节数为;一个int型数据在内存中所占的字节数为
68.【2:
字符型,整型,枚举】C语言所提供的基本数据类型包括:
单精度型、双精度型、、和。
69.【3:
-14】若x为int型变量,则执行以下语句后x的值为。
x=7;x+=x-=x+x;
70.【4:
0】若inta=3,b=2,c=1,f;表达式f=a>b>c的值是。
71.【4:
非0的数值】在C语言中,表示逻辑“真”值用。
72.【5:
判断条件表达式,执行循环体语句】while循环的特点是先,再。
73.【5:
while,for(表达式1;表达式2;表达式3)语句】for语句可以代替语句,它的一般形式是。
74.【6:
常量表达式常量表达式】在c语言中,二维数组的定义方式为:
类型说明符数组名[][]
75.【6:
04】若有定义:
doublex[3][5];则x数组中行下标的下限为,列下标的上限为。
76.【7:
main函数】C语言规定,可执行程序的开始执行点是。
77.【7:
函数声明函数体】在C语言中,一个函数一般由两个部分组成,它们是和。
78.【8:
直接访问间接访问】直接用变量名进行访问的方式称为,还有一种访问方式是。
79.【8:
指针指针变量】一个变量的地址称为该变量的。
如果有一个变量专门用来存放另一变量的地址,则称它为。
二、选择题(每章2题以上,abcd四选一):
1.【1:
A】C语言源程序文件的扩展名是()。
A、cB、exeC、objD、db
2.【1:
D】C语言的注释形式是()。
A、*…*B、(…)C、{…}D、/*…*/
3.【2:
C】下列关于算法的叙述不正确的是()。
A、算法是解决问题的有序步骤
B、算法具有确定性、可行性、有限性等基本特征
C、一个问题的算法都只有一种
D、常见的算法描述方法有自然语言、图示法、伪代码法等
4.【2:
B】已知:
三角形三条边的长a、b、c,求三角形的面积。
其中:
下述流程图正确的是()。
5.【3:
C】以下错误的转义字符是()。
A、‘\\’B、‘\”’C、‘\81’D、‘\0’
6.【3:
D】在C语言中,数字029是一个()。
A、八进制数B、十六进制数C、十进制数D、非法数
7.【3:
D】以下运算符中优先级最低的是()。
A、&&B、&C、||D、=
8.【4:
D】若要求在if后表示条件“a不等于0成立”,则能正确表示这一关系的表达式为()。
A、a<>0B、!
aC、a=0D、a。
9.【4:
B】以下不正确的if语句是()。
A、if(x>y) printf("%d\n",x);
B、if (x=y)&&(x!
=0) x+=y;
C、if(x!
=y) scanf("%d",&x);else scanf("%d",&y);
D、if(x10.【4:
D】能正确表示a≥10或a≤0的关系表达式是()。
A、 a>=10 or a<=0 B、 a>=10 | a<=0
C、 a> =10 && a< =0 D、 a>=10 || a<=0
11.【5:
A】与语句while(!
x)等价的语句是()。
A、while(x==0)B、while(x!
=0)
C、while(x!
=1)D、while(~x)
12.【5:
D】若inti,x;则for(i=x=0;i<9&&x!
=5;i++,x++)控制的循环体将执行()次。
A、10B、9C、5D、6。
13.【5:
A】C语言中while和do-while循环的主要区别是()。
A、do-while的循环体至少无条件执行一次
B、while的循环控制条件比do-while的循环控制条件严格
C、do-while允许从外部转到循环体内
D、do-while的循环体不能是复合语句
14.【6:
D】以下合法的数组说明语句是()。
A、inta[]=”hello”;B、inta[4]={10,20,30,40,50};
C、chara=”world”;D、chara[]={0,1,2,3,4,5};
15.【6:
C】若有以下数组说明,则i=10;a[a[i]]元素数值是()。
inta[12]={1,4,7,10,2,5,8,11,3,6,9,12};
A、10B、9C、6D、5
16.【6:
B】若有说明:
inta[][3]={{1,2,3},{4,5},{6,7}};则数组a的第一维的大小为()。
A、2B、3C、4D、无确定值
17.【7:
A】C语言中函数返回值的类型是由()决定的。
A、函数定义时指定的类型B、return语句中的表达式类型
C、调用该函数时的实参的数据类型D、形参的数据类型
18.【7:
B】在函数调用时,以下说法正确的是()
A、函数调用后必须带回返回值
B、实际参数和形式参数可以同名
C、函数间的数据传递不可以使用全局变量
D、主调函数和被调函数总是在同一个文件里
19.【8:
C】语句int*p;说明了()。
A、p是指向一维数组的指针
B、p是指向函数的指针,该函数返回一int型数据
C、p是指向int型数据的指针
D、p是函数名,该函数返回一指向int型数据的指针
20.【8:
D】若有说明:
intn=2,*p=&n,*q=p;则以下非法的赋值语句是()
A、p=qB、*p=*qC、n=*qD、p=n
21.【1:
C】以下说法正确的是()
A.C语言程序总是从第一个的函数开始执行
B.在C语言程序中,要调用函数必须在main()函数中定义
C.C语言程序总是从main()函数开始执行
D.C语言程序中的main()函数必须放在程序的开始部分
22.【1:
C】以下正确的叙述是()
A.在C语言中,main函数必须位于文件的开头
B.C语言每行中只能写一条语句
C.C语言本身不提供输入、输出语句
D.对一个C程序进行编译时,可检查出程序的所有错误
23.【2:
B】在下列字符列中,合法的标识符是()
A.p12&.aB.stud_100C.water$12D.88sum
24.【2:
C】在C语言中,要求运算的数必须是整数的运算符是()
A./B.!
C.%D.==
25.【3:
A】以下数据中,不正确的数值或字符常量是()。
A.8.9e1.2B.10C.0xff00D.82.5
26.【3:
A】C语言中,char类型数据占()。
A.1个字节B.2个字节C.4个字节D.8个字节
27.【4:
B】能正确表示逻辑关系:
"a≥10或a≤0"的C语言表达式是()。
A.a>=10ora<=0B.a>=10||a<=0
C.a>=10&&a<=0D.a>=10a<=0
28.【4:
A】C语言的if语句嵌套时,if与else的配对关系是()。
A.每个else总是与它上面的最近的if配对
B.每个else总是与最外层的if配对
C.每个else与if的配对是任意的
D.每个else总是与它上面的if配对
29.【5:
A】语句while(!
E);中的表达式!
E等价于()。
A.E==0B.E!
=1C.E!
=0D.E==1
30.【5:
C】intmain()
{inti,j;
for(i=0,j=1;i<=j+1;i+=2,j--) printf("%d\n",i);
return0;}
以上循环体的执行次数是( )
A.3B.2C.1D.0
31.【6:
C】在C语言中,引用数组元素时,其数组下标的数据类型允许是()。
A.整型常量B.整型表达式
C.整型常量或整型表达式D.任何类型的表达式
32.【6:
B】若有以下语句,则正确的描述是()
charx[]=”12345”;
chary[]={‘1’,’2’,’3’,’4’,’5’};
A.两个数组长度相同B.数组长度x大于y
C.数组长度x小于yD.x数组等价于y数组
33.【7:
B】当调用函数时,实参是一个数组名,则向函数传送的是()
A.数组的长度B.数组的首地址
C.数组每一个元素的地址D.数组每个元素中的值
34.【7:
C】在C语言中,若对函数类型未另显示说明,则函数的隐含类型是()类型。
A.voidB.doubleC.intD.char
35.【7:
B】以下关于return语句的叙述中正确的是【】
A.一个自定义函数中必须有一条return语句
B.一个自定义函数中可以根据不同情况设置多条return语句
C.定义成void类型的函数中可以有带返回值的return语句
D.没有return语句的自定义函数在执行结束时不能返回到调用处
36.【1:
D】以下描述正确的是()
A.最简单的C源程序可以不包括任何内容
B.编译程序对C源程序编译是不检查语法
C.C语言中有输入/输出语句
D.在C语言程序中,有且只能有一个main()函数
37.【1:
C】以下描述正确的是()
A.C程序的执行是从main函数开始,到本程序的最后一个函数结束
B.C程序的执行是从第一个函数开始,到本程序的最后一个函数结束
C.C程序的执行是从main函数开始,到本程序的main函数结束
D.C程序的执行是从第一个函数开始,到本程序的main函数结束
38.【1:
C】以下叙述中正确的是()
A.C语言比其他语言高级
B.C语言可以不用编译就能被计算机识别执行
C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式
D.C语言出现的最晚,具有其他语言的一切优点
39.【1:
B】在一个C程序中()
A.main函数必须出现在所有函数之前
B.main函数可以在任何地方出现
C.main函数必须出现在所有函数之后
D.main函数必须出现在固定位置
40.【1:
B】将C源程序进行()可得到目标文件。
A、编辑B、编译C、连接D、拼接
41.【1:
C】目标文件的扩展名为()
A、.cB、.hC、.objD、.exe
42.【3:
D】下面关于C语言用户标识符的描述,正确的是()。
A、不区分大小写
B、用户标识符不能描述常量
C、类型名也是用户标识符
D、用户标识符可以作为变量名
43.【2:
C】结构化程序设计的三种基本结构是()。
A、函数结构、分支结构、判断结构
B、函数结构、嵌套结构、平行结构
C、顺序结构、分支结构、循环结构
D、分支结构、循环结构、嵌套结构
44.【2:
C】对于C语言源程序,以下叙述错误的是()。
A、可以有空语句
B、函数之间是平等的,在一个函数内部不能定义其它函数
C、程序调试时如果没有提示错误,就能得到正确结果
D、注释可以出现在语句的前面
45.【3:
D】以下()是正确的变量名。
A、5fB、ifC、f.5D、_f5
46.【3:
D】以下()是正确的变量名。
A、a.beeB、-p11C、intD、p_11
47.【3:
A】以下()是不正确的字符串常量。
A、'abc'B、"12'12"C、"0"D、""
48.【3:
B】以下()是错误的整型常量。
A、-0xcdfB、018C、0xeD、011
49.【3:
C】语句x=(a=3,b=++a);运行后,x、a、b的值依次为()。
A、3,3,4B、4,4,3C、4,4,4D、3,4,3
50.【3:
B】语句a=(3/4)+3%2;运行后,a的值为()。
A、0B、1C、2D、3
51.【3:
A】若有定义:
inta,b;doublex,则以下不符合C语言语法的表达式是()。
A、x%(-3)B、a+=-2C、a=b=2D、x=a+b
52.【3:
B】若有定义:
intx=2,y=3;floati;,则以下符合C语言语法的表达式是()。
A、x=x*3=2B、x=(y==1)C、i=float(x)D、i%(-3)
53.【3:
A】下面叙述中,错误的是()。
A、其算术运算对象不包含函数
B、%(模运算符)的运算对象只能为整型量
C、算术运算符的结合方向是"自左至右"
D、自加和自减运算符的结合方向是"自右至左"
54.【3:
A】下面叙述正确的是()。
A、强制类型转换运算的优先级高于算术运算
B、若a和b是整型变量,(a+b)++是合法的
C、'A'*'B'是不合法的
D、"A"+"B"是合法的
55.【3:
B】已知inta;使用scanf()函数输入一个整数给变量a,正确的函数调用是()。
A、scanf("%d",a);B、scanf("%d",&a);
C、scanf("%f",&a);D、scanf("%lf",&a);
56.【3:
D】已知doublea;使用scanf()函数输入一个数值给变量a,正确的函数调用是()。
A、scanf("%ld",&a);B、scanf("%d",&a);