C语言模拟试题.docx
- 文档编号:11004466
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:24
- 大小:22.33KB
C语言模拟试题.docx
《C语言模拟试题.docx》由会员分享,可在线阅读,更多相关《C语言模拟试题.docx(24页珍藏版)》请在冰豆网上搜索。
C语言模拟试题
(1)一:
选择题(本题共15小题,满分30分)
(1).以下叙述正确的是B
A)C语言程序是由过程和函数组成的
B)C语言函数可以嵌套调用,例如:
fun(fun(x))
C)C语言函数不可以单独编译
D)C语言中除了main函数,其他函数不可作为单独文件形式存在
(2)以下C语言用户标识符中,不合法的是D
A)_1
B)AaBc
C)a_b
D)a—b
(3)若有定义:
doublea=22;inti=0,k=18;,则不符合C语言规定的赋值语句是C
A)a=a++,i++;
B)i=(a+k)<=(i+k);
C)i=a%11;
D)i=!
a;
(4)以下程序的输出结果是(B)。
main()
{intx=2,y=-1,z=2;
if(x if(y<0)z=0; elsez=z+1; printf(“%d\n”,z); } A)3B)2C)1D)0 (5).设inta=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是(C) ,,20 ,,20 (6)有以下程序 #include"" main() {inti,j,m=1; for(i=1;i<3;i++) {for(j=3;j>0;j--) {if((i*j)>3)break; m*=i*j; } } printf("m=%d\n",m); } 程序运行后的输出结果是A A)m=6 B)m=2 C)m=4 D)m=5 (7)有以下程序D #include"" main() {inta=1;intb=2; for(;a<8;a++){b+=a;a+=2;} printf("%d,%d\n",a,b); } 程序运行后的输出结果是 A)9,18 B)8,11 C)7,11 D)10,14 (8)以下关于return语句的叙述中正确的是b A)一个自定义函数中必须有一条return语句 B)一个自定义函数中可以根据不同情况设置多条return语句 C)定义成void类型的函数中可以有带返回值的return语句 D)没有return语句的自定义函数在执行结束时不能返回到调用处 (9)下列选项中,能正确定义数组的语句是D A)intnum[0..2008]; B)intnum[]; C)intN=2008; intnum[N]; D)#defineN2008 intnum[N]; (10).有以下程序段 inta[10]={1,2,3,4,5,6,7,8,9,10},*p,b; p=&a[3]; b=p[5]; b中的值是(D) B.6 (11)有以下程序 #include"" main() {inta[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0; for(i=0;i<5;i++)s=s+a[b[i]]; printf("%d\n",s); } 程序运行后的输出结果是c A)6 B)10 C)11 D)15 (12)有以下程序 #include"" #defineSUB(a)(a)-(a) main() {inta=2,b=3,c=5,d; d=SUB(a+b)*c; printf("%d\n",d); } 程序运行后的输出结果是C A)0 B)-12 C)-20 D)10 (13)有以下程序 #include"" main() {inta=2,b=2,c=2; printf("%d\n",a/b&c); } 程序运行后的输出结果是a A)0 B)1 C)2 D)3 (14)下面程序段的运行结果是(A) #include<> main() {inta=1;intb=2;intc=2;intt; while(a {t=a;a=b;b=t;c--; } printf("%d,%d,%d",a,b,c); } A)1,2,0B)2,1,0C)1,2,1D)2,1,1 (15)有以下程序 #include"" main() { int c=0,k; for(k=1;k<3;k++) switch(k) { default: c+=k; case 2: c++;break; case 4: c+=2;break; } printf("%d\n",c); } 程序运行后的输出结果是A A)3 B)5 C)7 D)9 二填空题(本题共4小题,满分20分) 1.(4分)以下程序运行结果是: X=8 #include<> main() { inti,j,X=0; for(i=0;i<2;i++) { X++; for(j=0;j<3;j++) { if(j%2)continue; X++; } X++; } printf("X=%d\n",X); } 2.(4分)以下程序运行结果是: x=10 0 1 2 3 #include<> voidfun1(intx) { x=20; } voidfun2(intb[4]) { intj; for(j=0;j<4;j++) { b[j]=j; } } main() { intx=10; inta[4]={1,2,3,4},k; fun1(x); printf("x=%d\n",x); fun2(a); for(k=0;k<4;k++) { printf("%d\n",a[k]); } } 3.(4分)↙ 则程序运行结果是: 66 #include<> main() { intx,y; scanf("%2d%*4s%2d",&x,&y); printf("%d",y-x); } 4.(8分)以下程序的功能是输入任意整数给n后,输出n行由大写字母A开始构成的三角形字符阵列图形。 例如,输入整数5时(注意: n不得大于10),程序运行结果如下: ABCDE FGHI JKL MN O 请填空完成该程序。 #include<> intmain() { inti,j,n;charch='A'; scanf("%d",&n); if(n<11) {for(i=1;i<=n;i++) {for(j=1;j<=n-i+1;j++) {printf("%2c",ch); ch++; } printf("\n"); } } elseprintf("nistoolarge! \n"); printf("\n"); return0;} 三: 判断题(本题共10小题,满分20分) 是结束本次循环,而continue是结束所有的循环× 2.在C语言中,变量不区分大小写× 3.不同的函数中可以使用相同的变量名。 (√) 4.形式参数是局部变量。 (√ ) 5.若用数组名作为函数的实参,传递给形参的是数组第一个元素的值。 (×) 语言是低级语言× 语言中,每个函数都必须要有一个且只有一个main函数× 语言中,整形常数表示的方法有3种√ 9.对于开辟一个静态变量,我们没有必要对它进行初始化× 10.假定x和y为double型,则表达式x=2,y=x+3/2的值是3× 四(本题共2小题,满分30分) 编程题 1.规定一个工人工作时间每个月160小时,每小时工资为5元,如果加班的话,每小时增加4元,请编程计算并打印此工人一个月的工资,要求由键盘输入工作时间(14分)。 参考答案: 入20个学生的成绩,求出其中大于平均成绩学生的人数,并对20名学生成绩按从高到低进行排序。 .1f.1f5C以下语句: intb;charc[10];则正确的输入c数组的语句是 A)scanf("%d%s",&b,&c); B)scanf("%d%s",&b,c); C)scanf("%d%s",b,c); D)scanf("%d%s",b,&c); (B正确) 4.若变量c为char类型,能正确判断出c为小写字母的表达式是 A)'a'<=c<='z' B)(c>='a')||(c<='z') C)('a'<=c)and('z'>=c) D)(c>='a')&&(c<='z') (D正确) 5.凡是在函数中未指定存储类别的变量,其隐含的存储类别是 A)自动 B)静态 C)外部 D)寄存器 (A正确) 6.若要求从键盘读入含有空格字符的字符串,应使用函数 A)gets() B)scanf() C)getchar() D)getch() (A正确) 7.若有定义: intaa[8];则以下表达式中不能代表数组元素aa[1]的地址的是 A)&aa[0]+1 B)&aa[1] C)&aa[0]++ D)aa+1 (C正确) 8.若有以下的定义: intt[3][2];则t数组最后一个元素是 A)&t[3][2] B)t[3][2] C)t[2] D)t[2][1] (D正确) 9.若有定义: intx,*pb;以下正确的赋值表达式是 A)pb=&x B)pb=x C)*pb=&x D)*pb=*x (A正确) 10、若c,c1,c2均为字符型变量,下列语句执行后。 c='a'; c1=++c; c2=c++; c1,c2的值分别为 A)c1='b',c2='c'B)c1='a',c2='c'C)c1='b',c2='b'D)c1='a',c2='b' (结果为C) 11.有如下语句 intx,y; scanf("%d,%d",&x,&y); 若使变量x得到数值11,变量y得到数值12,下面四组输入形式中,正确的是 A)1112<回车> B)11<回车>12<回车> C)11,<回车>12<回车> D)11,12<回车> (D正确) 12、有如下程序段 inta=14,b=15,x; charc='A'; x=(a&&b)&&(c<'B'); 执行该程序段后,x的值为 A)ture B)false C)0 D)1 (D正确) 13、下列运算符中优先级最高的运算符是 A)! B)% C)-= D)&& (A正确) 14、在以下程序段中,输出值为 #defineP(x)3*x*x printf("%d",P(2+3)); A)75 B)15 C)5 D)3 (B正确) 15、printf("%d,%d,%d,%d",6>5,6&&5,6||5,6<5);输出运行结果是 A)1,1,1,1 B)0,1,1,0 C)1,0,1,0 D)1,1,1,0 (D正确) 二、判断(本题共10小题,满分20分)。 1、charnn[][4]={‘abc’,’2’};× 2、在C语言中,如果想表示反斜杠符时要用到两个反斜杠。 √ 3、判断字符串str1是否与字符串str2相等,应使用if((str1,str2)==0))。 × 4、设有数组定义: chararray[]="China";则数组array实际所占的空间为5个字节。 × 5、可以对整型数组进行整体输入、输出。 × 6、在C语言中,引用数组元素时,其数组下标的数据类型允许是整型常量或整型表达式√ 7、用户定义的标识符中,大小写字母代表相同标识。 × 8、用数组名作为函数实参,其本质是通过实参数组名把实参数组的首地址传送给形参数组名;这样,两个数组共同占用一段内存空间。 √ 9、在作用域内,全局变量和局部变量有重名现象。 若重名,则全局变量将被屏蔽而不起作用.√ 10、gets()、puts()一次只能输入、输出一个字符串;scanf()、printf()可以输入、输出几个字符串。 √ 三、填空(本题共5小题,满分20分)。 1、下列程序的运行结果是____________ #include<> intmain(void) {intn=0; while(n++<=1) printf(“%d\t”,n); printf(“%d\n”,n); return0; } 答案: 123 2、下列程序的运行结果是____________ #include<> intm=13; intfun(intx,inty) {intm=3;return(x*y-m);} intmain(void) {inta=7,b=5; printf("%d\n",fun(a,b)/m); } 答案: 2 3、下列程序的运行结果是____________ #include<> intmain(void) {intx,y,z; x=y=z=0; ++x||++y&&++z; printf(“x=%d\ty=%d\tz=%d\n”,x,y,z); x=y=z=-1; ++x&&++y||++z; printf(“x=%d\ty=%d\tz=%d\n”,x,y,z); return0; } 答案: x=1y=0z=0 x=0y=-1z=0 4、运行程序时,输入howdoyoudo程序输出结果是___________________ #include<> intmain(void) {chars[20],s1[20]; scanf("%s",s); printf("%s\n",s); scanf("%s%s",s,s1); printf("s=%s,sl=%s",s,s1); puts("\n"); gets(s); puts(s); } 答案: howdoyoudo how s=do,s1=you do 5、以下程序为求2个数中较大者。 其中①_____________;②______________。 #include<> intmain(void) {intmax(intx,inty); inta,b,c; scanf("%d%d",&a,&b); c=①_____________; printf("max=%d\n",c); } intmax(intx,inty) {intz; if(x>y)z=x; elsez=y; ②______________; } 答案: ①max(a,b);②return(z); 三、编程(本题共2小题,满分30分)。 1、求10~50之间被3整除的数及其和。 #include<> intmain() { inti,sum=0; for(i=10;i<=50;i++) if(i%3==0) { sum=sum+i; printf("%3d",i); } printf("\n10-50之间被3整除的数的和是%d\n",sum); } 2、随机生成10个100~200之间整数,采用数组的方法将数据按降序排列。 #include<> #include<> intmain() { inta[10],i,j,t; for(i=0;i<10;i++) a[i]=rand()%101+100; for(i=0;i<=8;i++) for(j=0;j<=8-i;j++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 模拟 试题