C语言程序设计期末考试选择题题库
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章
1、一个C程序可能出现的错误有(A)
A,以上都包括
B,逻辑错误
C,运行错误
D,语法错误
2、C程序中一般可以包含几个函数(D)
A.1个
B.多个
C.0个
D.至少一个
3.C语言属于程序设计语言的哪个类别(B)
A.机器语言
B.高级语言
C.面向对象语言
D.汇编语言
4.以下关于C语言描述错误的是(B)
A.一个C程序总是从main函数开始执行
B.一个C程序可以包含多个main函数
C.每个语句的最后必须有一个分号
D.C语言的注释符是以"/*"开始并以"*/"结束
5、在调试过程中,逻辑错误是指(C)
A.所书写的语句,不符合C的语法。
B.在从obj生成exe文件的过程中,如果函数名书写错误,可能产生的错误。
C.程序的运行结果不符合题目要求。
D.在exe文件的执行过程中,产生运行异常。
第二章
1、16位的二进制数可以表示的整数的范围是(C)
A.[-32768,32768]
B.[-32767,32768]
C.[-32768,32767]
D.[-32767,32767]
2、C语言中的实型数据包括(A)
A.float和double
B.int和float
C.float和char
D.int和double
3、以下不合法的字符常量是(C)
A.'2'
B.'A'
C.'ab'
D.'\n'
4、在以下各组标识符中,均是合法的C语言标识符是(A)
A.abc,A_4d,_student,xyz_abc
B.auto,12-a,a_b,ab5.x
C.A_4d,_student,xyz_abc,if
D.abc,a_b,union,scan
5、若有定义:char a;int b;float c;double d;
则表达式a*b+d-c值的类型为(A)
A.char
B.float
C.double
D.int
6、类型修饰符unsigned不能修饰(D)
A.char
B.long int
C.int
D.float
7、若有定义:double x=1,y;
执行语句y=x+3/2;,则y的值是(B)
A,1
B,2.0
C,2
D,2.5
8、设int a=1,b=2;以下选项中不正确的语句是(B)
A.a=a+b
B.a*3=3
C.a+=3
D.a/=1
9、在C语言中,要求参加运算的数必须是整数的运算符是(C)
A.*
B./
C.%
D.++
10、设有定义:int a=7;float x=2.5,y=4.7;
则表达式x+a%3*(int)(x+y)%2/4的值是(D)
A,3.5
B,2.75
C,0.0
D,2.5
第三章
1、执行以下程序后k的值是(C)
int i,j=10,k=0;
for(i=0;i<=j;i++)
{k=i+j;j--;}
A.9
B.8
C.10
D.11
2、2、设int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为(C)
A.3
B.1
C.2
D.0
3、表示y在(-∞,3]和[23,+∞)范围内为真的表达式为(A)
A.(y<=3)||(y>=23)
C.(y<3)||(y>23)
C.(y<=3)&&(y>=23)
D.(y<3)&&(y>23)
4、设有以下程序,若要使程序的输出值为2,则应该从键盘给n输入的值是(D)void main()
{ int s=0,a=1,n;
scanf("%d",&n);
do
{s=s+1;
a=a-2;
}while(a!=n);
printf("%d ",s);
}
A.-5
B.0
D.-3
5、对下面程序段,描述正确的是(D)
for(t=1;t<=100;t++)
{ scanf("%d",&x);
if(x<0) continue;
printf("%d ",x);
}
A.当x>=0时,什么也不输出
B.printf函数永远也不执行
C.当x<0时,整个循环结束
D.最多允许输出100个非负整数
6、已知int x=10,y=20,z=30;
则执行以下语句后x、y、z的值是(A)
if(x>y)
z=x;
x=y;
y=z;
A.x=20,y=30,z=30
B.x=20,y=30,z=10
C.x=20,y=30,z=20
D.x=10,y=20,z=30
7、设有声明语句:int a=1,b=0;
则执行以下语句后输出结果为(A)
switch(a)
{ case 1:
switch(b)
{ case 0:printf("**0**");break;
case 1:printf("**1**");break;
}
case 2:printf("**2**");break;
}
A.**0****2**
B.有语法错误
C.**0****1****2**
D.**0**
8、以下程序段的输出结果是(B)
int x=5;
if(x--<5) printf("%d",x);
else printf("%d",x++);