C语言期末考试模拟题3.docx
- 文档编号:10912745
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:16
- 大小:18.27KB
C语言期末考试模拟题3.docx
《C语言期末考试模拟题3.docx》由会员分享,可在线阅读,更多相关《C语言期末考试模拟题3.docx(16页珍藏版)》请在冰豆网上搜索。
C语言期末考试模拟题3
试卷编号:
11203
所属语言:
C语言
试卷方案:
C语言期末考试
试卷总分:
100分
共有题型:
4种
一、单项选择共30题(共计60分)
第1题(2.0分)
以下选项中不合法的标识符是(B).
A:
printfB:
FORC:
&aD:
_00
第2题(2.0分)
已知inti=5,执行语句i+=++i后,i的值是(C).
A:
10B:
11C:
12D:
A、B、C都不对
第3题(2.0分)
"\\\″ABC\″\\″的长度是(B).
A:
11B:
7C:
5D:
3
第4题(2.0分)
以下程序的功能是:
给r输入数据后,计算半径为r的圆面积s.程序在编译时出错.
#include
voidmain()
/*Beginning*/
{intr;floats;
canf("%d",&r);
s=p*r*r;printf("s=%f\n",s);
}
出错的原因是(D).
A:
注释语句书写位置错误B:
存放圆半径的变量r不应该定义为整型
C:
输出语句中格式描述符非法D:
计算圆面积的赋值语句中使用了非法变量
第5题(2.0分)
下面4个选项中,均是合法整型常量的选项是(A).
A:
160–0xffff011B:
–0xcdf01a0xe
C:
–01986,0120668D:
–0x48a2e50x
第6题(2.0分)
有以下程序:
#include
voidmain()
{ints=0,a=1,n;
scanf("%d",&n);
do{
s+=1;a=a–2;
}while(a!
=n);
printf("%d\n",s);
}
若要使程序的输出值为2,则应该从键盘输入给n的值是(A).
A:
-1B:
-3C:
-5D:
0
第7题(2.0分)
执行for(i=1;i++<4;)语句后,变量i的值是(A).
A:
3B:
4C:
5D:
不定
第8题(2.0分)
有以下程序:
#include
voidmain()
{intk=5;
while(––k)printf("%d",k–=3);
printf("\n");
}
执行后的输出结果是(A)
A:
1B:
2C:
4D:
死循环
第9题(2.0分)
执行下面程序段的结果是(B).
intx=23;
do{
printf("%2d",x––);}
while(!
x);
A:
321B:
23C:
不输出任何内容D:
陷入死循环
第10题(2.0分)
设变量已正确定义并赋值,以下正确的表达式是(C).
A:
x=y*5=x+zB:
int(15.8%5)
C:
x=y+z+5,++yD:
x=25%5.0
第11题(2.0分)
执行以下程序后,输出的结果是().
#include
voidmain()
{inty=10;
do{
y––;
}while(––y);
printf("%d\n",y––);
}
A:
-1B:
1C:
8D:
0
第12题(2.0分)
以下程序的输出结果是().
#include
voidmain()
{inta,b;
for(a=1,b=1;a<=100;a++)
{if(b>=10)break;
if(b%3==1)
{b+=3;continue;}
}
printf("%d\n",a);
}
A:
101B:
6C:
5D:
4
第13题(2.0分)
有以下程序:
#include
voidmain()
{intk=4,n=0;
for(;n {n++; if(n%3! =0)continue; k––; } printf("%d,%d\n",k,n); } 程序运行后的输出结果是() A: 1,1B: 2,2C: 3,3D: 4,4 第14题(2.0分) 以下程序的输出结果是(). #include voidmain() {intnum=0; while(num<=2) {num++;printf("%d\n",num);} } A: 1 2 3 B: 1 2 3 C: 1 2 D: 1 第15题(2.0分) 以下程序的输出结果是(). #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分) 以下程序的输出结果是(). #include voidmain() {inti,a[10]; for(i=9;i>=0;i––)a[i]=10–i; printf("%d%d%d",a[2],a[5],a[8]); } A: 258B: 741C: 852D: 369 第17题(2.0分) 以下能正确定义数组并正确赋初值的语句是(). A: intN=5,b[N][N];B: inta[1][2]={{1},{3}}; C: intc[2][]={{1,2},{3,4}};D: intd[3][2]={{1,2},{3,4}}; 第18题(2.0分) 以下程序的输出结果是(). #include voidmain() {inti,x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++)printf("%d,",x[i][2–i]); } A: 1,5,9,B: 1,4,7, C: 3,5,7,D: 3,6,9, 第19题(2.0分) 以下程序运行后,输出结果是(). #include voidmain() {inty=18,i=0,j,a[8]; do {a[i]=y%2; i++; y=y/2; }while(y>1); for(j=i–1;j>=0;j––)printf("%d",a[j]); printf("\n"); } A: 0000B: 0010C: 0110D: 0100 第20题(2.0分) voidf(intx,inty) { intt; if(x { t=x; x=y; y=t; } } main() { inta=4,b=3,c=5; f(a,b); f(a,c); f(b,c); printf("%d,%d,%d\n",a,b,c); } 执行后输出的结果是() A: 3,4,5B: 5,3,4 C: 5,4,3D: 4,3,5 第21题(2.0分) C语言规定,函数返回值的类型是由() A: return语句中的表达式类型所决定的 B: 调用该函数时的主调函数类型所决定的 C: 调用该函数时系统临时决定的 D: 在定义该函数时所指定的函数类型所决定的 第22题(2.0分) 以下叙述不正确的是() A: 在不同的函数中可以使用相同名字的变量 B: 函数中的形参是局部变量 C: 在一个函数内定义的变量只能在本函数范围内有效 D: 在一个函数内的复合语句中定义的变量在本函数范围内有效 第23题(2.0分) 在说明语句int*f();中,标识符f代表的是(): A: 一个用于指向整型数据的指针变量 B: 一个用于指向一维数组的行指针 C: 一个用于指向函数的指针变量 D: 一个返回值为指针型的函数名 第24题(2.0分) 有以下程序: voidfun(char*c,intd) {*c=*c+1; d=d+1; printf("%c,%c,",*c,d); } main() {chara='A',b='a'; fun(&b,a); printf("%c,%c\n",a,b); } 程序运行后的输出结果是(). A: B,a,B,aB: a,B,a,B C: A,b,A,bD: b,B,A,b 第25题(2.0分) 有以下程序: #include voidfun(char*a,char*b) {while(*a=='*')a++; while(*b=*a){b++;a++;} } main() {char*s="****a*b****",t[80]; fun(s,t);puts(t); } 程序运行后的输出结果是(). A: *****a*bB: a*b C: a*b****D: ab 第26题(2.0分) 以下程序运行后,如果从键盘上输入 book〈回车〉 book〈空格〉〈回车〉 则输出的结果是(). #include #include voidmain() {chara1[80],a2[80],*s1=a1,*s2=a2; gets(s1);gets(s2); if(! strcmp(s1,s2))printf("*"); elseprintf("#"); printf("%d\n",strlen(strcat(s1,s2))); } A: *8B: #9C: #6D: *9 第27题(2.0分) 对两个数组a和b进行如下初始化: chara[]="ABCDEF"; charb[]={'A','B','C','D','E','F'}; 则以下叙述正确的是(). A: a数组与b数组完全相同B: a与b长度相同 C: a数组比b数组长度短D: a数组比b数组长度长 第28题(2.0分) 以下程序的运行结果是(). #defineMIN(x,y)(x)<(y)? (x): (y) main() {inti=10,j=15,k; k=10*MIN(i,j); printf("%d\n",k); } A: 10 B: 15 C: 100 D: 150 第29题(2.0分) 在以下程序中,能够通过调用函数fun(),使main()函数中的指针变量p指向一个合法的整型单元的是(). A: main() int*p; fun(p);…} intfun(int*p) {ints; p=&s;} B: main() {int*p; fun(&p);…} intfun(int**p) {ints; *p=&s;} C: #include main() {int*p; fun(&p);…} intfun(int**p) {*p=(int*)malloc (2);}… D: #include main() {int*p; fun(p);…} intfun(int*p) {p=(int*)malloc(sizeof(int));} 第30题(2.0分) 不合法的main()函数命令行参数表示形式是(). A: main(inta,char*c[]) B: main(intarc,char**arv) C: main(intargc,char*argv) D: main(intargv,char*argc[]) 二、程序填空共1题(共计10分) 第1题(10.0分) /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能: 考查字符串数组的应用。 输出26个英文字母。 -------------------------------------------------------*/ #include voidmain(void) { charstring[256]; inti; /***********SPACE***********/ for(i=0;i<26;【? 】) /***********SPACE***********/ string[i]=【? 】; string[i]='\0'; /***********SPACE***********/ printf("thearrarycontains%s\n",【? 】); } 三、程序改错共1题(共计10分) 第1题(10.0分) /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能: 以下程序能求出1*1+2*2+......+n*n<=1000中满足条件的 最大的n。 ------------------------------------------------------*/ #include"string.h" main() { intn,s; /**********FOUND**********/ s==n=0; /**********FOUND**********/ while(s>1000) { ++n; s+=n*n; } /**********FOUND**********/ printf("n=%d\n",&n-1); getch(); } 四、程序设计共1题(共计20分) 第1题(20.0分) /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 求一个四位数的各位数字的立方和。 -----------------------------------------------*/ #include"stdio.h" intfun(intn) { /**********Program**********/ /**********End**********/ } main() { intk; k=fun(1234); printf("k=%d\n",k); yzj(); getch(); } yzj() { FILE*IN,*OUT; intiIN,iOUT,i; IN=fopen("in.dat","r"); if(IN==NULL) { printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("PleaseVerifyTheCurrentDir..ItMayBeChanged"); } for(i=0;i<5;i++) { fscanf(IN,"%d",&iIN); iOUT=fun(iIN); fprintf(OUT,"%d\n",iOUT); } fclose(IN); fclose(OUT); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 期末考试 模拟