C语言期末考试题6.docx
- 文档编号:2247856
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:17
- 大小:18.88KB
C语言期末考试题6.docx
《C语言期末考试题6.docx》由会员分享,可在线阅读,更多相关《C语言期末考试题6.docx(17页珍藏版)》请在冰豆网上搜索。
C语言期末考试题6
试卷编号:
11206
所属语言:
C语言
试卷方案:
C语言期末考试
试卷总分:
100分
共有题型:
4种
一、单项选择共30题(共计60分)
第1题(2.0分)
下面4个选项中,均是合法整型常量的选项是(A).
A:
160–0xffff011
B:
–0xcdf01a0xe
C:
–01986,0120668
D:
–0x48a2e50x
第2题(2.0分)
已有定义:
charc;,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是(B).
A:
isupper(c)
B:
'A'<=c<='Z'
C:
'A'<=c&&c<='Z'
D:
c<=('z'–32)&&('a'–32)<=c
第3题(2.0分)
有以下程序
#include
voidmain()
{inta,b,d=25;
a=d/10%9;
b=a&&(–1);
printf("%d,%d\n",a,b);
}
程序运行后的输出结果是(B).
A:
6,1
B:
2,1
C:
6,0
D:
2,0
第4题(2.0分)
已知inti=5,执行语句i+=++i后,i的值是(C).
A:
10
B:
11
C:
12
D:
A、B、C都不对
第5题(2.0分)
已知intj,i=1;,执行语句j=–i++;后,j的值是(C).
A:
1
B:
2
C:
-1
D:
-2
第6题(2.0分)
运行以下程序后,如果从键盘上输入china#〈回车〉,则输出结果是(D).
#include
voidmain()
{intv1=0,v2=0;
charch;
while((ch=getchar())!
='#')
switch(ch)
{case'a':
case'h':
case'o':
v2++;
default:
v1++;
}
printf("%d,%d\n",v1,v2);
}
A:
2,0
B:
5,0
C:
5,5
D:
5,2
第7题(2.0分)
有如下程序段:
intn=0,p;
do{scanf("%d",&p);n++;}while(p!
=12345&&n<3);
此处do-while循环的结束条件是(D).
A:
P的值不等于12345,并且n的值小于3
B:
P的值等于12345,并且n的值大于或等于3
C:
P的值不等于12345,或者n的值小于3
D:
P的值等于12345,或者n的值大于或等于3
第8题(2.0分)
有如下程序:
#include
voidmain()
{inti,sum;
for(i=1;i<=3;sum++)sum+=i;
printf("%d\n",sum);
}
该程序的执行结果是(C).
A:
6
B:
3
C:
死循环
D:
0
第9题(2.0分)
在下列程序中,没有构成死循环的程序段是(B).
A:
inti=100;
inti=100;
while
(1)
{i=i%100+1;
if(i>100)break;}
B:
intk=1000;
do
{++k;}while(k>=10000);
C:
for(;;);
D:
ints=36;while(s);--s;
第10题(2.0分)
设有定义:
intk=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是(A).
A:
k++
B:
k+=1
C:
++k
D:
k+1
第11题(2.0分)
以下叙述正确的是(D).
A:
do-while语句构成的循环中不能用其他语句构成循环
B:
do-while语句构成的循环中只能用break语句退出
C:
用do-while语句构成的循环,在while后的表达式表示非0时结束循环
D:
用do-while语句构成的循环,在while后的表达式表示0时结束循环
第12题(2.0分)
有以下程序:
#include
voidmain()
{intk=4,n=0;
for(;n {n++; if(n%3! =0)continue; k––; } printf("%d,%d\n",k,n); } 程序运行后的输出结果是(C) A: 1,1 B: 2,2 C: 3,3 D: 4,4 第13题(2.0分) 要求计算s=1+1/2+1/3+…+1/10,程序为: #include voidmain() {intn; floats; s=1.0; for(n=10;n>1;n––)s=s+1/n; printf("%6.4f\n",s); } 程序运行后输出结果错误,导致错误结果的程序行是(C). A: s=1.0; B: for(n=10;n>1;n––) C: s=s+1/n; D: printf("%6.4f\n",s); 第14题(2.0分) 有以下程序: #include voidmain() {inti,j; for(i=1;i<4;i++) {for(j=i;j<4;j++) printf("%d*%d=%d",i,j,i*j); printf("\n"); } } 程序的运行结果是(B) A: 1*1=11*2=21*3=3 2*1=22*2=4 3*1=3 B: 1*1=11*2=21*3=3 2*2=42*3=6 3*3=9 C: 1*1=1 1*2=22*2=4 1*3=3 D: 1*1=1 2*1=22*2=4 3*1=33*2=63*3=9 第15题(2.0分) 以下程序的输出结果是(B). #include voidmain() {intx[3][2]={0},i; for(i=0;i<3;i++)scanf("%d",&x[i]); printf("%3d%3d%3d\n",x[0][0],x[0][1],x[1][0]); } 输入: 246 A: 200 B: 204 C: 240 D: 246 第16题(2.0分) 下面程序的输出结果是(B). #include voidmain() {inti,k,a[10],p[3]; k=5; for(i=0;i<10;i++)a[i]=i; for(i=0;i<3;i++)p[i]=a[i*(i+1)]; for(i=0;i<3;i++)k+=p[i]*2; printf("%d\n",k); } A: 20 B: 21 C: 22 D: 23 第17题(2.0分) 若有定义语句inta[3][6];,按在内存中的存放顺序,a数组的第10个元素是(B). A: a[0][4] B: a[1][3] C: a[0][3] D: a[1][4] 第18题(2.0分) 以下对二维数组a进行不正确初始化的是(D). A: inta[][3]={3,2,1,1,2,3}; B: inta[][3]={{3,2,1},{1,2,3}}; C: inta[2][3]={{3,2,1},{1,2,3}}; D: inta[][]={{3,2,1},{1,2,3}}; 第19题(2.0分) 以下数组定义中不正确的是(D). A: inta[2][3]; B: intb[][3]={0,1,2,3}; C: intc[100][100]={0}; D: intd[3][]={{1,2},{1,2,3},{1,2,3,4}}; 第20题(2.0分) 以下叙述不正确的是C A: 在C语言中,函数中的自动变量可以赋初值,每调用1次,赋初值1次 B: 在C语言中,在调用函数时,实参和对应形参在类型上只需赋值兼容 C: 在C语言中,外部变量的隐含类别是自动存储类别 D: 在C语言中,函数形参可以说明为register变量 第21题(2.0分) 有以下程序: fun(intx,inty) { return(x+y); } main() { inta=1,b=2,c=3,sum; sum=fun((a++,b++,a+b),c++); printf("%d\n",sum); } 执行后的输出结果是C A: 6 B: 7 C: 8 D: 9 第22题(2.0分) 有如下函数调用语句: func(rec1,rec2+rec3,(rec4,rec5)); 该函数调用语句中,含有的实参个数是A A: 3 B: 4 C: 5 D: 有语法错误 第23题(2.0分) 有以下程序: main(intargc,char*argv[]) {intn=0,i; for(i=1;i printf("%d\n",n); } 编译连接后生成可执行文件tt.exe,若运行时输入D tt12345678 A: 12 B: 12345 C: 12345678 D: 136 第24题(2.0分) 有以下程序: voidswap1(intc0[],intc1[]) {intt; t=c0[0];c0[0]=c1[0];c1[0]=t; } voidswap2(int*c0,int*c1) {intt; t=*c0;*c0=*c1;*c1=t; } main() {inta[2]={3,5},b[2]={3,5}; swap1(a,a+1);swap2(&b[0],&b[1]); printf("%d%d%d%d\n",a[0],a[1],b[0],b[1]); }D A) B) C) A: 3553 B: 5335 C: 3535 D: 5353 第25题(2.0分) 有以下程序: main() {char*p[]={"3697","2584"}; inti,j; longnum=0; for(i=0;i<2;i++) {j=0; while(p[i][j]! ='\0') {if((p[i][j]–'0')%2)num=10*num+p[i][j]–'0'; j+=2;} } printf("%d\n",num);C A: 35 B: 37 C: 39 D: 3975 第26题(2.0分) 下列字符串的输出结果是(C). char*S="\"C: \\ANSI.SYS\""; puts(S); A: 字符串含有非法字符,输出值不定 B: "C: \\ANSI.SYS\" C: "C: \ANSI.SYS" D: "C: \\ANSI.SYS" 第27题(2.0分) 有如下程序: #include voidmain() {char
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 期末 考试题