C语言考试.docx
- 文档编号:28949963
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:108
- 大小:72.52KB
C语言考试.docx
《C语言考试.docx》由会员分享,可在线阅读,更多相关《C语言考试.docx(108页珍藏版)》请在冰豆网上搜索。
C语言考试
《C语言程序设计》课程考试题库
第一章C语言概述
一、单项选择题
1、C语言规定,必须用()作为主函数名。
A.FunctionB.includeC.mainD.stdio
答案:
C
2、()是C程序的基本构成单位。
A.函数
B.函数和过程
C.超文本过程
D.子程序
答案:
A
3、在
C
语言中,每个语句和数据定义是用
()
结束。
A.句号
B.逗号
C.分号
D.括号
二、判断题
1、一个C程序可以包含任意多个不同名的函数,但有且仅有一个主函数。
()
答案:
正确
2、C
语言规定
:
在一个源程序中
main
函数的位置必须在最开始。
(
)
答案:
错误
3、在
C程序中语句是以分号结束的。
(
)
答案:
正确
第二章程序的灵魂——算法
一、单项选择题
1、一个算法应该具有“确定性”等5个特性,下面对另外
A.有0个或多个输入B.有0个或多个输出C.
4个特性的描述中错误的是
有穷性D.可行性
()
。
答案:
B
2、以下叙述中正确的是
()
。
A.C语言比其它语言高级。
B.C语言可以不用编译就能被计算机识别执行。
C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式。
D.C语言出现的,具有其它语言的一切优点。
答案:
C
3、以下叙述正确的是()。
A.C语言的源程序不必通过编译就可以直接运行。
B.C语言中的每条可执行语句最终都将被转换成二进制的机器指令。
C.C语言源程序经编译形成的二进制代码可以直接运行。
D.C语言中的函数不可以单独进行编译。
答案:
B
答案:
B
二、判断题
1、C语言的书写格式不会影响程序的可读性。
()
答案:
错误
2、C语言程序实现与其他高级语言一样也要经过编辑、编译连接和运行这样的三步曲。
()
答案:
正确
3、健壮的算法不会因为非法输入而出现莫名其妙的状态。
()
答案:
正确
第三章数据类型运算符与表达式
一、单项选择题
1、下列字符串是标识符的是()。
A._HJB.9_studentC.longD.LINE1
答案:
A
2、()不是C语言提供的合法关键字。
A.switchB.printC.caseD.default
答案:
B
3、判断字符型变量
ch
为小写字母的表达式是
()
。
A.’a’<=ch<=’z’
B.
(ch>=a)&&(ch<=z)
C.(ch>=’a’)||
(ch<=’z’)
D.(ch>=’a’)&&(ch<=’z’)
答案:
D
4、在
C语言中,回车换行符是
()
。
A.\nB.\tC.\vD.\b
答案:
A
5、设整型变量a值为9,则下列表达式中使b的值不为4的表达式()。
A.b=a/2B.b=a%2
C.b=8-(3,a-5)D.b=a>5?
4:
2
答案:
B
6、能正确表示
x的取值范围在
[0
,100]和[-10
,-5]
内的表达式是()
。
A.(x<=-10)||
(x>=-5)&&(x<=0)||
(x>=100)
B.(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)
C.(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)
D.(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)
答案:
B
7、10+’a’+1.5-567.345/’b’的结果是()型数据。
A.long
B.doubleC.int
D.unsignedfloat
答案:
B
8、设
a、b
和
c
是
int
型变量,且
a=2,b=4,c=6,
则下面表达式中值为
0的是()
。
A.‘a’+‘b’B.a<=bC.a||b+c&&b-cD.!
((a
c||1)
答案:
B
9、已知在ASCII字符集中,字母A的序号为65,下面程序的输出结果为()。
main()
{charc=
’A’;inti=10;
c=c+10;
i=c%i;
printf(
“%c,%d\n”,c,i);
}
A.75,7
B.75,5
C.K,5
D.
因存在非图形字符,无法直接显示出来
答案:
C
10、C
语言中最简单的数据类型包括
()
。
A.整型,实型,逻辑型
B.
整型,实型,字符型
C.整型,字符型,逻辑型D.整型,实型,逻辑型,字符型
答案:
B
11、C语言中,运算对象必须是整型数的运算符是()。
A.%B.\C.%和\D.**
答案:
A
12、下面程序的输出结果是()。
mian()
{intx=2,y=0,z;
x*=3+2;printf(
“%d”,x);
x*=y=z=4;printf(
“%d”,x);
}
A.840B.1040C.10,4D.8,4
答案:
B
13、下面程序的输出结果是()。
main()
{inti,j;
i=16;j=(i++)+i;printf(
“%d”,j);
i=15;printf(
“%d
%d”,++i,i);
}
A.32
1615
B.3315
15
C.341516
D.341615
答案:
A
14、若已定义
X和
Y为
double
类型,则表达式
:
x=1,y=x+3/2
的值为()
。
A.1
B.2
C.2.0
D.2.5
答案:
C
二、判断题
1、在
C
语言中,整型数据与字符型数据在任何情况下都可以通用。
()
答案:
错误
2、在
C
语言程序中,
AHP
和
ahp
分别代表两个不同的标识符。
(
)
答案:
正确
3、在C语言中,int、char和short三种类型数据在内存中所占用的字节数都是由用户自己定义的。
()
答案:
错误
4、在C程序中一行内可以写几个语句,一个语句可以分写在多行上。
因此,并不是每一条C语句都必须有一个分号的。
()
答案:
错误
5、在
C语言程序中,
happy
是正确的标识符。
(
)
答案:
正确
6、标准格式输入函数
scanf()可以从键盘上接收不同数据类型的数据项。
()
答案:
正确
7、浮点型常量的指数表示中
e
是可以省略的。
(
)
答案:
错误
第四章最简单的C程序设计——顺序程序设计
一、单项选择题
1、C语言中调用printf进行输出时需要注意,在格式控制串中必须相同,如果格式说明的个数小于输出项的个数,多余的输出项将
格式说明与输出项的个数
()。
A.不予输出
B.输出空格
C.照样输出
D.输出不定值或
0
答案:
A
2、为了表示关系
x>=y>=z
,应使用
C语言表达式()
。
A.(x>=y)&&(y>=z)
C.(x>=y>=z)
B.(x>=y)AND(y>=z)
D.(x>=y)&(y>=z)
答案:
A
3、若已定义inta=25,b=14,c=19;以下三项运算符(?
:
)所构成的语句的执行结果是()。
a++<=25&&b--<=2&&c++?
printf("***a=%d,b=%d,c=%d\n",a,b,c):
printf("###a=%d,b=%d,c
=%d\n",a,b,c)
A.(***a=25,b=14,c=19)
C.(###a=25,b=14,c=19)
B.(***a=26,b=13,c=19)
D.(###a=26,b=13,c=19)
答案:
D
4、以下程序的输出结果是()。
main()
{
inti=010,j=10,k=0x10;
printf("%d,%d,%d\n",i,j,k);}
A.8,10,16B.8,10,10C.10,10,10D.10,10,16
答案:
A
5、以下程序的输出结果是()。
#include
main()
{printf("%d\n",NULL);}
A.不确定的值B.0C.-1D.1
答案:
B
6、以下程序的输出结果是()。
main()
{
charc1='6',c2='0';
printf("%c,%c,%d,%d\n",c1,c2,c1-c2,c1+c2);
}
A.因输出格式不合法,输出出错信息
B.6,0,6,102
C.6,0,7,6D.6,0,5,7
答案:
B
7、设有如下定义:
intx=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));输出结果是
()。
A.3B.0C.4D.1
答案:
A
8、以下程序的输出结果是()。
main()
{
intx=10,y=10;
printf("%d%d\n",x--,--y);
}
A.1010B.99C.910D.109
答案:
D
9、下面程序的输出结果()。
main()
{
intx;
x=-3+4*5-6;printf("%d",x);
x=3+4%5-6;printf("%d",x);
x=-3*4%6/5;printf("%d",x);
x=(7+6)%5/2;printf("%d",x);
}
A.11101B.11-321C.12-321D.11121
答案:
A
10、以下程序的输出结果是()。
main()
{
inta=-1,b=4,k;
k=(++a<=0)&&!
(b--<=0);
printf("%d%d%d",k,a,b);
}
A.104B.004C.103D.003
答案:
C
二、判断题
1、C程序有三种结构化程序设计方法,分别顺序结构、选择结构和循环结构。
()
答案:
正确
2、程序是按书写的顺序执行的。
()
答案:
错误
3、如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。
()
答案:
正确
第五章选择结构的程序设计
一、单项选择题
1、分析以下程序:
main()
{intx=5,a=0,b=0;
if(x=a+b)
printf(
“****\n
”);
else
printf(
“####\n
”);
以上程序(
)
。
A.有语法错,不能通过编译
B.通过编译,但不能连接
C.输出****
D.
输出####
答案:
D
2、两次运行下面的程序,如果从键盘上分别输入
6和
4,则输出结果是
()
。
main()
{intx;
scanf(
“%d”,&x);
if(x++>5)printf(
“%d”,x);
elseprintf(
“%d\n”,x--)
;
}
A.7和
5
B.6
和
3
C.7
和
4
D.6
和
4
答案:
A
3、在
C的
if
语句中,可用作判断的表达式是
()
。
A.关系表达式
B.逻辑表达式
C.算术表达式
D.任意表达式
答案:
D
4、假定所有变量均已正确说明,下列程序段运行后x的值是()。
a=b=c=0;x=35;
if(!
a)x=-1;
elseif(b);
if(c)x=3;
elsex=4;
A.34B.4C.35D.3
答案:
B
5、若有以下变量定义:
floatx;inta,b;
则正确的switch语句是()。
A.switch(x)
{case1.0:
printf("*\n");
case2.0:
printf("**\n");
}
B.switch(x)
{case1,2:
printf("*\n");case3:
printf("**\n");
}
{case1:
printf("*\n");case2*a:
printf("**\n");
}
D.switch(a+b)
{case1:
printf("*\n");
case1+2:
printf("**\n");
}
答案:
D
6、在C语言中,多分支选择结构语句为
switch(c)
{case常量表达式1:
语句1;
⋯⋯
case
常量表达式
n-1
:
语句n-1
;
default
语句n;}
其中括号内表达式c的类型()。
A.可以是任意类型B.只能为整型
C.可以是整型或字符型D.可以为整型或实型
答案:
C
7、当a=1,b=3,c=5,d=4时,执行完下面程序段后x的值为()。
if(a
if(c else if(a if(b elsex=3; elsex=6; elsex=7; A.1B.2C.3D.6 答案: A 二、判断题 1、条件表达式不能取代一般if的语句。 () 答案: 错误 2、在if语句中,if子句与else子句都可以单独使用,构成了if语句的两种缺省形式。 ()答案: 错误 3、在C语言中,逗号既可以作为运算符,也可以作为分隔符。 () 答案: 正确 4、在if语句中,不可以没有else子句。 () 答案: 错误 5、在switch语句中,每一个的case常量表达式的值可以相同。 () 答案: 错误 6、在C语言的if语句中,用作条件判断的表达式只能是关系和逻辑表达式。 () 答案: 错误 7、在C语言中break和continue都是循环中途退出语句,其中break语句用来跳出一层 循环结构;continue语句用来结束一次循环。 () 答案: 正确 第六章循环结构程序设计 一、单项选择题 1、while循环语句中,while后一对圆括号中表达式的值决定了循环体是否进行,因此, 进入while循环后,一定有能使此表达式的值变为(),否则,循环将会无限制地进行下 去。 A.0B.1C.成立D.2 答案: A 2、在do-while循环中,循环由do开始,用while结束,必须注意的是: 在while表 达式后面的()不能丢,它表示do-while语句的结束。 A.0B.1C.;D., 答案: C 3、for语句中的表达式可以部分或全部省略,但两个()不可省略。 但当三个表达式均省 略后,因缺少条件判断,循环会无限制地执行下去,形成死循环。 A.0B.1C.;D., 答案: C 4、程序段如下 intk=1; while(! k==0) {k=k+1;printf("%d\n",k);} 说法正确的是()。 A.while循环执行2次B.循环是无限循环 C.循环体语句一次也不执行D.循环体语句执行一次 答案: B 5、以下for循环是()。 for(a=0,b=0;(b! =123)&&(a<=4);a++) A.无限循环B.循环次数不定C.执行4次D.执行5次 答案: D 6、在下列程序中,while的循环次数是()。 main() {inti=0; while(i<10) {if(i<1)continue; if(i==5)break; i++; } ...... } A.1B.10C.6D.死循环、不能确定次数 答案: D 7、执行下面的程序后,a的值为()。 main() {inta,b; for(a=1,b=1;a<=100;a++) {if(b>=20)break; if(b%3==1) {b+=3; continue; } b-=5; } } A.7B.8C.9D.10 答案: B 8、以下程序的输出结果()。 main() { intx=3; do {printf("%3d",x-=2); }while(--x); } A.1B.30C.1-2D.死循环 答案: A 9、以下能正确计算1×2×3×⋯×10的程序段是()。 A.do{i=1;s=1;s=s*i; i++;} while(i<=10); B.do{i=1;s=0;s=s*i; i++;} while(i<=10); C.i=1;s=1;do{s=s*i; i++;} while(i<=10); D.i=1;s=0;do{s=s*i; i++;} while(i<=10); 答案: C 10、下面有关for循环的正确描述是()。 A.for循环只能用于循环次数已经确定的情况 B.for循环是先执行循环体语句,后判断表达式 C.在for循环中,不能用break语句跳出循环体 D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 答案: D 二、判断题 1、do-while循环的while后的分号可以省略。 () 答案: 错误 2、在多层循环中,一个break语句只向外跳一层。 () 答案: 正确 3、do-while循环至少要执行一次循环语句。 () 答案: 正确 4、C语言中while和do-while循环的主要区别是while语句的循环体至少会被执行一次,而 do-while语句的循环体则可能一次也不执行。 () 答案: 错误 5、for语句作为循环控制语句时,其括号内各个表达式及其后的分号都可缺省。 () 答案: 错误 6、C语言的三种循环不可以互相嵌套。 () 答案: 错误 7、continue只能用于循环体中。 () 答案: 正确 第七章数组 一、单项选择题 1、定义如下变量和数组: inti; intx[3][3]={1,2,3,4,5,6,7,8,9}; 则下面执行语句的结果为()。 for(i=0;i<3;i++) printf(“%3d”,x[i][2-i]); A.159 B.147 C.357 D.369 答案: C 2、在C语言中,引用数组元素时,其数组下标的数据类型允许是 () 。 A.整型常量 B. 整型常量或整型表达式 C.整型表达式 D. 任何类型的表达式 答案: B 3、以下对一维整型数组 a的正确说明是 () 。 A.inta(10); C.intn=10,a[n]; B.intn;scanf( D.#defineSIZE10 “%d”,&n);inta[n]; inta[SIZE]; 答案: D 4、若有说明语句: charc= ‘\64 ’ ; 则变量 C 包含() 。 A.1 个字符 B.2 个字符 C.3 个字符 D. 说明不合法, C值不确定。 答案: A 5、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 考试