江苏大学大一c语言期末复习题汇总.docx
《江苏大学大一c语言期末复习题汇总.docx》由会员分享,可在线阅读,更多相关《江苏大学大一c语言期末复习题汇总.docx(42页珍藏版)》请在冰豆网上搜索。
江苏大学大一c语言期末复习题汇总
WTDstandardizationoffice【WTD5AB-WTDK08-WTD2C】
江苏大学大一c语言期末复习题汇总
选择题
1.下列字符序列中,不可用作C语言标识符的是()。
A.abc123B.C._123_D._ok
2.请选出可用作C语言用户标识符的一组标识符()。
A.voidB.a3_b3C.ForD.2a
define_123-abcDO
WORDIFCasesizeof
3.不属于C语言关键字的是()。
A.intB.breakC.whileD.character
4.以下不能定义为用户标示符的是()。
A.scanfB.VoidC._3com_D.int
5.C语言程序的基本单位是()。
A.程序行B.语句C.函数D.字符
6.以下说法中正确的是()。
A.C语言程序总是从第一个定义的函数开始执行
B.在C语言程序中,要调用的函数必须在main()函数中定义
C.C语言程序总是从main()函数开始执行
D.C语言程序中的main()函数必须放在程序的开始部分
7.以下选项中,合法的用户标识符是()。
A.longB._2abcC.3dmaxD.
8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量’\101’是()。
A.字符AB.字符aC.字符cD.非法的常量
9.以下选项中,正确的字符常量是()。
A.”F”B.’\\’’C.’W’D.’’
10.下列变量定义中合法的是
A.short_a=;B.doubleb=1+;
C.longdo=0xfdaL;D.float2_and=1-e-3;
11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。
A.缩排位置相同的if
B.在其之前未配对的if
C.在其之前未配对的最近的if
D.同一行上的if
12.下列运算符中优先级最高的是()。
A.
=
13.判断char型变量s是否为小写字母的正确表达式是()。
A.’a’<=s<=’z’B.(s>=’a’)&(s<=’z’)
C.(s>=’a’)&&(s<=’z’)D.(’a’<=s)and(’z’>=s)
14.已知x=45,y=’a’,z=0;则表达式(x>=z&&y<’z’||!
y)的值是()。
A.0B.语法错
C.1D.“假”
15.有一函数:
,以下程序段中不能根据x值正确计算出y值的是()。
A.if(x>0)y=1;
elseif(x==0)y=0;
elsey=-1;
B.y=0;
if(x>0)y=1;
elseif(x<0)y=-1;
C.y=0;
if(x>=0)
if(x>0)y=1;
elsey=-1;
D.if(x>=0)
if(x>0)y=1;
elsey=0;
elsey=-1;
16.已知inta=1,b=2,c=3;以下语句执行后a,b,c的值是()。
if(a>b)
c=a;a=b;b=c;
A.a=1,b=2,c=3B.a=2,b=3,c=3
C.a=2,b=3,c=1D.a=2,b=3,c=2
17.以下程序的运行结果是()。
#include””
main()
{inta=1;
if(a++>1)printf(”%d\n”,a);
elseprintf(”%d\n”,a--);
}
A.0B.1C.2D.3
18.执行以下程序段后,变量x,y,z的值分别为()。
inta=1,b=0,x,y,z;
x=(--a==b++)?
--a:
++b;
y=a++;
z=b;
A.x=0,y=0,z=0B.x=-1,y=-1,z=1
C.x=0,y=1,z=0D.x=-1,y=2,z=1
19.以下程序的输出结果是()。
#include””
main()
{
inta=5,b=4,c=6,d;
printf(”%d\n”,d=a>b?
a>c?
a:
c:
b);
}
A.5B.4C.6D.不确定
20.执行下列程序,输入为3的数出结果是()。
#include””
main()
{
intk;
scanf(”%d”,&k);
switch(k)
{case1:
printf(”%d\n”,k++);
case2:
printf(”%d\n”,k++);
case3:
printf(”%d\n”,k++);
case4:
printf(”%d\n”,k++);
break;
default:
printf(”Full!
\n”);
}
}
A.3B.4C.3D.4
54
21.有如下程序,写出该执行结果()。
#include””
main()
{
floatx=,y;
if(xelseif(xelsey=;
printf(”%f\n”,y);
}
A.B.C.D.
22.运行以下程序后,如从键盘上输入china#,则输出为()。
#include””
main()
{
intv1=0,v2=0;
charch;
while((ch=getchar())!
=’#’)
switch(ch)
{case’a’:
case’h’:
default:
v1++;
case’o’:
v2++;
}
printf(”%d,%d\n”,v1,v2);
}
A.2,0B.5,0C.5,5D.2,5
23.有以下程序,程序运行后的输出结果是()。
#include””
main()
{
inta=15,b=21,m=0;
switch(a%3)
{case0:
m++;break;
case1:
m++;
switch(b%2)
{default:
m++;
case0:
m++;break;
}
}
printf(”%d\n”,m);
}
A.1B.2C.3D.4
24.在下列选项中,没有构成死循环的程序段是()。
i=100;
while
(1)
{
i=i%100+1;
if(i>100)break;
}
B.for(;;);
k=1000;
do{++k;}while(k>=10000);
s=36;
while(s);
--s;
25.下面程序的运行结果为()。
main()
{intn;
for(n=1;n<=10;n++)
{if(n%3==0)continue;
printf("%d",n);
}
}
26.在以下给出的表达式中,与do-while(E)语句中的(E)不等价的表达式是()。
A.(!
E==0)B.(E>0||E<0)C.(E==0)D.(E!
=0)
27.下列程序的输出是()。
#include<>
main()
{inti;charc;
for(i=0;i<=5;i++)
{c=getchar();putchar(c);
}
}
程序执行时从第一列开始输入以下数据,代表换行符。
u
w
xsta
www
xxsxsta
28.在C语言中,为了结束while语句构成的循环,while后一对圆括号中表达式的值应该为()。
D.非0
29.在C语言中,为了结束由do-while语句构成的循环,while后一对圆括号中表达式的值应为()。
D.非0
30.下列程序的输出为()。
#include<>
main()
{inti=0,j=0,a=6;
if((++i>0)||(++j>0))a++;
printf("i=%d,j=%d,a=%d\n",i,j,a);
}
=0,j=0,a=6=1,j=1,a=7=1,j=0,a=7=0,j=1,a=7
31.下列程序段的输出结果为()。
main()
{intx=3;
do
{printf("%3d",x-=2);}
while(!
(--x));}
0-2D.死循环
32.以下程序运行后,输出结果是()。
main()
{
intn[5]={0,0,0},i,k=2;
for(i=0;iprintf("%d\n",n[k]);
}
A.不确定的值B.2C.1D.0
33.以下程序运行后,输出结果是()。
main()
{
inta[10],a1[]={1,3,6,9,10},a2[]={2,4,7,8,15},i=0,j=0,k;
for(k=0;k<4;k++)
if(a1[i]elsea[k]=a2[j++];
for(k=0;k<4;k++)printf("%d",a[k]);
}
A.1234B.1324C.2413D.4321
34.以下程序运行后输出结果是()。
main()
{
intn[3],i,j,k;
for(i=0;i<3;i++)
n[i]=0;
k=2;
for(i=0;ifor(j=0;jn[j]=n[i]+1;
printf("%d\n",n[1]);}
A.2B.1C.0D.3
35.若有以下的定义:
intt[5][4];能正确引用t数组的表达式是()。
A.t[2][4]B.t[5][0]C.t[0][0]D.t[0,0]
36.下述对C语言字符数组的描述中错误的是()。
A.字符数组可以存放字符串
B.字符数组中的字符串可以整体输入、输出
C.可以在赋值语句中通过赋值运算符"="对字符数组整体赋值
D.不可以用关系运算符对字符数组中的字符串进行比较
37.下述对C语言字符数组的描述中正确的是()。
A.任何一维数组的名称都是该数组存储单元的开始地址,且其每个元素按照顺序连续占存储空间
B.一维数组的元素在引用时其下标大小没有限制
C.任何一个一维数组的元素,可以根据内存的情况按照其先后顺序以连续或非连续的方式占用存储空间
D.一维数组的第一个元素是其下标为1的元素
38.下列语句中,不正确的是()。
A.staticchara[2]={1,2};B.staticchara[2]={'1','2'};
C.staticchara[2