《C语言模拟试卷2(带答案)》由会员分享,可在线阅读,更多相关《C语言模拟试卷2(带答案)(8页珍藏版)》请在人人文库网上搜索。
1、B. 1001 、 行下面的程序段后, 量 k 中的 C. 100 200s0=k;k=s1*10;D. 出格式符不 , 出不确定的 A.不定 答案: AB. 337、 程序片段 ( 字符串内没有空格字符 ):C. 30printf(%dn,strlen(ATSn0121);D. 10上面程序片段的 出 果是答案: AA. 112 、 有以下定 :B. 9#defineN3C. 10#defineY(n)(N+1)*n)D. 8行 句 :z=2 *(N+Y(5+1);后 ,z 的 _______.2*( 3+答案: B( 4*5+1)8、 有以下程序段intx=0,s=0;A.出 while(。
2、!x!=0)s+=+x;B. 42printf(%d,s);C. 48则 ______D. 54A. 运行程序段后 出0答案: CB. 运行程序段后 出13 、若已定 X 和 Y 为 double型, 表达式: x=1,y=x+3/2的 是 ____C. 程序段中的控制表达式是非法的A. 1D. 程序段 行无限次B. 2答案: BC. 2.09、 下列程序:D. 2.5main()答案:cintn3,i,j,k;4 、 出以下 句的 出 果____for(i=0;i3;i+)printf(%dn,strlen(t065xffn)ni=0;A. 5k=2;B. 4for(i=0;i b c) t。
3、emp=aprintf(%d,%o, %xn , k, k, k) ;B. if(a=b) 0) temp=aC. int a=b=c=4A. 17, 021, 0x11D. int a;scanf(%d,a)B. 17, 17, 17答案: BC. 17, 0x11 , 02116 、 以下说法中正确的是()。D. 17, 21, 11答案: DA. 语言程序中是从第一定义的函数开始执行12、 请读程序 :B.在语言程序中,要调用的函数必须在main()函数中定义main()C. 语言程序总是从main() 函数开始执行D. 语言程序中的main()函数必须放在程序的开始部分intx=1,y。
4、=0,a=0,b=0;答案: Cswitch(x)17 、 下列说法中正确的是____ 。case1:A.一个数组能够存储许多不同类型的值switch(y)B.数组的下标可以是float数据类型case0:a+;break;C. 如果初始化值列表中的个数少于数组的元素的个数,C编译器case1:b+;break;会自动补齐D. 初始化值列表中的值的个数多于数组元素的个数是错误的case2:答案: Da+;b+;break;18 、 设有说明: charw;intx;floaty;doublez; 则表达式w*x+z-y值的数据类型为printf(a=%d,b=%dn,a,b);A. float。
5、B. char上面程序输出结果是C. intA. a=2,b=1D. doubleB. a=1,b=1答案: DC. a=1,b=019 、 设以下变量均为 int 类型,则值不等于7 的表达式是D. a=2,b=0A. (x=y=6,x+y,x+1)答案: AB. (x=y=6,x+y,y+1)13、 C 语言中,调用一个函数时,实参变量和形参变量之间的数据传C. (x=6,x+1,y=6,x+y)递是 ____.D. (y=6,y+1,x=y,x+1)A. 单纯值传递答案: CB.单纯地址传递20 、 以下不正确的 if 语句形式是C.值传递和地址传递都有可能A. if(xy&x!=y)t。
6、=x+;D.由实参传给形参,然后由形参传回给实参,即是双向传递B. if(x=y) x+=y;.C. if(x!=y) scanf(%d,&x) else scanf(%d,&y);D. if(xb?(ac?a:c):(b);A. 5B. 4C. 6D. 不确定答案: c25、以下程序 用findmax函数返回数 中的最大 findmax(inta,intn)int*p,*s;for(p=a,s=a;p-asB. *p*sC. apasD. p-ap-s答案: B26 、有如下程序main()chars=ABCD,*P;for(p=s+l;pmain() int i, j;.,.for(i=0。
7、; _____(1)______; i+)printf(%2d,%2dn,i,j); j=i*10+6;k=!i=+j;if( _____(2)______ ) continue;printf(%2d, %2d, %2dn, i, j, k);printf(%d,j);答案: 1,0,1,1,09、 从键盘输入一个大写字母, 要求改用小写字母输出, 程序如下办#include stdio.h答案: i程序运行后,如果从键盘上输入1298 ;则输出结果为_________ 。main( )答案: 8921int i=0,j=0,a=6;13 、 若从键盘输入 58, 则以下程序输出的结果是___。
8、_____ 。if (+i 0) | (j+ 0) a+;main()printf(i=%d,j=%d,a=%dn,i,j,a); int a;结果: _____scanf(%d,&a);答案: I=1, j=0, a=7if(a50) printf(%d,a);8 、 写出该程序运行的结果。if(a40) printf(%d,a);#includeif(a30) printf(%d,a);void main() int i, j, k=10;答案: 585858i=(j=k)0;14 、 以下程序的输出结果是______________ 。j=i=j;main();.,. unsigned 。
9、short a=65536; int b;int count=0;printf(%dn,b=a);答案: 0for(i=100;ix=i%10;if(x*x*x+y*y*y+z*z*z)=i)count=count+i;main()printf(%dn,count); int i, j;/* 参考答案 :1301 */for(i=0; ______________; i+)3、 若( x,y,z )满足方程: x2+y2+z2=552(注:要求 x y z),则( x,y,z )称为方程的一个解。试求方程的所有整数解中x+y+z 的最 j=i*10+6;大值。答案: #includeif( _。
10、_______ ) continue;main()printf(%d,j);int x,y,z,temp,max=0;for(x=54;x=-55;x-)答案: i=-55;y-)1 、 编写程序,计算 1000 以内有多少个这样的数,其个位数为6 且该数能被 9 整除。for(z=y-1;z=-55;z-)答案: main()int i,n=0,a;temp=x+y+z;for(i=1;i max)max=temp;printf(%d,n);printf(%dn,max);参考答案是: 112 、 求正整数 100 , 999 中的水仙花数的和,(若三位数ABC=A3+B3+C3,则称 ABC为水仙花数,例如数153 ,13+53+33=153 ,则 153 为水仙花数)。答案:main()/* 参考答案 :91 */int x,y,z,i;。