您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > C程序设计模拟试题1答案
C程序设计模拟试题1《C程序设计》模拟试题一一、选择题(每小题2分,共60分)1、以下标识符中,不合法的用户标识符是_B__。A)INCLUDEB)a[10]C)_ABCD)_22、设n=10,i=4,则赋值运算n%=i+1执行后,n的值是_A__。A)0B)3C)2D)13、以下能正确表示C语言double类型常量的选项是_B__。A)0.314´10B)0.314e10C)0.0314´102D)3.14L4、设有定义:intx=1,y=-1;则语句:printf(%d\n,(x--&++y);的输出结果是___B___。A).1B).0C).-1D).25、若变量已正确定义并赋值,以下不能构成赋值语句的是_A__。A)i+j;B)k++;C)a=b=c;D)s/=i;6、若a、b、c为double型变量,要求通过scanf(“%lf%lf%lf”,&a,&b,&c);给a、b、c依次赋5.0、6.0、7.0,在键盘上正确的输入数据形式是_C__A)5.0,6.0,7.0B)5,6,7C)5回车D)2.0+3.06.07.06回车7回车7、C语言中规定函数的返回的类型是由__D__。A)return语句中的表达式类型所决定B)调用该函数时的主调用函数类型所决定C)调用该函数时系统临时决定D)在定义该函数时所指定的函数类型所决定8、以下程序的输出结果是__D__。main(){intx=10,y=10,i;for(i=0;x8;y=++i)printf(%d%d,x--,y);}A).10192B).9876C).10990D).1010919、以下程序的输出结果是__C_。main(){inti,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];for(i=0;i3;i+=2)printf(%d,p[i]);}A).52B).51C).53D).9710、for(x=1,y=1;(y!=10)&&(x4);x++,y++);循环的执行次数是_D__。A)执行10次B)一次也不执行C)执行4次D)执行3次11、若有以下程序main(){inty=7;for(;y0;y--){if(y%3==0)break;printf(%d,y);}}以上程序的输出结果是_B__。A)没有输出B)7C)63D)7542112、以下叙述中错误的是_C__A)C语言中调用函数时可以把实参的值传给对应的形参变量。B)C语言中形参变量的值改变后不能传给对应的实参变量。C)C语言中调用函数时可以把实参数组元素中的值一一对应传给形参数组的元素中。D)C语言中只能通过return语句返回函数值。13、能正确表示a和b同时为正或同时为负的逻辑表达式是__D____。A).(a=0||b=0)&&(a0||b0)B).(a=0&&b=0)&&(a0&&b0)C).(a+b0)&&(a+b=0)D).a*b014、下列不合法的转义字符是_C__。A)'\n'B)'\t'C)'\181'D)'\0'15、若变量已正确定义,要求用语句:scanf(%f%c%f%c,&a,&c1,&b,&c2);给c1赋予字符%、给c2赋予字符#、给a赋予2.0、给b赋予4.0,则正确的输入形式是(□代表空格,↙代表回车)_C__。A)2.0□%□4.0□#↙B)2.0%4.0□#↙C)2.0%□□4#↙D)2□%□4□#↙16、若有以下定义和语句:charch,*p1,*p2,*p3,*p4;p4=&ch;则能正确进行输入的语句是_D__。A)scanf(%c,p1);B)scanf(%c,*p2);C)*p3=getchar();D)*p4=getchar();17、若有定义:doublea,b=1,*pa=&a,*pb=&b;则与a=b;等价的语句是___。A)a=&*b;B)*pa=*pb;C)pa=b;D)pa=pb;18、以下合法的数组定义是__B_。A)intx[]={0,1,2};B)intx[5]={0,1,2,3,4,5};C)intx={0,1,2};D)intx(6)={0,1,2,3,4,5};19、若有定义:inta[10];则以下表达式中,不能表示元素a[1]的地址的是_B__。A)a+1B)a++C)&a[0]+1D)&a[1]20、以下程序的输出结果是_A__。main(){intn=4;while(n--)printf(%d,--n);}A).20B).31C).321D).21021、下面程序的输出结果是_B__。A)147B)357C)369D)159main(){inta[3][3]={1,2,3,4,5,6,7,8,9},i;for(i=0;i3;i++)printf(“%d”,a[i][2-i]);}22、下面程序把数组元素中的最大值放入a[0]中。则在if语句中条件表达式应该是___B___。main(){inta[10]={6,7,2,9,1,10,5,8,4,3},*p=a,i;for(i=0;i;i++,p++)if(_____)*a=*p;printf(%d,*a);}A).paB).*pa[0]C).*p*a[0]D).*p[0]*a[0]23、以下不能正确进行字符串赋值、赋初值的语句组是__D_。A)chars[5]={'a','b','c','d'};B)char*s;s=good!;C)chars[5]=good;D)chars[5];s=good;24、以下程序的输出结果是_C__。intd=1;fun(intp){staticintd=5;d+=p;printf(%d,d);return(d);}main(){inta=3;printf(%d\n,fun(a+fun(d)));}A).699B).669C).61515D).661525、C语言中,形参的缺省存储类是_A__。A)auto(自动)B)static(静态)C)register(寄存器)D)extern(外部)26、以下程序的输出结果是_A__。#defineMT(a,b,c)a*b+cmain(){intx=1,y=2,z=3;printf(”%d\n”,MT(x+y,y+z,z+x));}A)12B)15C)17D)1927、以下程序的输出结果是_A__。main(){inti;for(i=1;i=5;i++){if(i%2){printf(#);continue;}printf(*);}printf(\n);}A)#*#*#B)#####C)*****D)*#*#*28、若有如下说明和语句:structss{inta;doublex;}ss1,*ps;ps=&ss1;则以下对成员变量a的引用方式中,不正确的是_C__。A)ss1.aB)ps-aC)*ps-aD)(*ps).a29、以下程序的输出结果是_C__。main(){inti;for(i='A';i='J';i++,i++)printf(%c,i+32);printf(\n);}A).编译不通过,无输出B).acegC).acegiD).abcdefghi30、以下函数中,用于向文件中写入数据的是_C__。A)fscanfB)freadC)fputcD)fgetc二、填空题(每空1分,共20分)1、以下的C++程序输出结果为1inta=2,b=3;cout2、若想通过以下输入语句使a=5.0,b=4,c=3,则输入数据的形式应该是_5,4,c=3↙__intb,c;floata;scanf(%f,%d,c=%d,&a,&b,&c);……3、(6).下面程序的输出是____-1______。main(){intx=2;while(x--);printf(%d\n,x);}4、若a为int类型变量,表达式a+=a*=a=4的值是____32_____。5、下面程序的正确运行结果是______str[]=abdef___________。main(){abc(charstr[]);staticcharstr[]=abcdef;abc(str);printf(str[]=%s\n,str);}abc(charstr[]){inta,b;for(a=b=0;str[a]!='\0';a++)if(str[a]!='c')str[b++]=str[a];str[b]='\0';}6、若x和y已定义为int类型,x已赋值10,y已赋值3,printf(“%d\n”,y/=x);语句的输出结果是________0________。7、执行下面程序段后,x和i的值是__x=3,i=21______________。main(){inti,x;for(i=1,x=1;i=20;i++){if(x=10)break;if(x%2==1)x+=5;continue;}x-=3;}8、以下函数的功能是判断形参是否为大写字母,若是则将其转换为小写。请填空。voidfun(char*ch){if(*ch=’A’&&*ch=’Z’)*ch=*ch+32;}main(){charx;scanf(“%c”,&x);fun(&x);printf(“%c\n”,x);}9、假定所有变量均已正确说明,下列程序段运行后x的值是____4_________。a=b=c=0;x=35;if(!a)x--;elseif(b);if(c)x=3;elsex=4;10、请写出“当a和b相等或a小于c”时,值为“真”的表达式___(a==b)||(ac)______。11、以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空。main(){floatx[1000],sum=0.0,ave,a;intn=0,i;printf(Entermark:\n);scanf(%f,&a);while(a=0.0&&n1000){sum+=a;x[n]=a;n++;scanf(%f,&a);}ave=sum/n;printf(Output:\n);printf(ave=%f\n,ave);for(i=0;in;i++)if(x[i]ave)printf(%f\n,x[i]);}12、以下程序求e的值。e≈1+++++…+请填空。main(){inti=1;doublee,t;e=t=1;while(t=1e-4){t=t/i;e+=t;i++;}printf(“e=%lf\n”,e);}13、以下程序中add函数用于计算两数之和,调用add函数计算并输出结果。请填空。doubleadd(doublex,doubley){returnx+y;}main(){doublea,b,c,d;printf(”Entera,b,c,d:”);scanf(”%lf%lf%lf%lf”,&a,&b,&c,&d);printf(”%f\n”,add(a,b)/add(c,d));}14、以下程序中调用fun函数,对主函数x和y中的值进行对调。请填空。voidfun(double*a,double*b){doublex;x=*a;*a=*b;*b=x;}main(){doublex,y;printf(“Enterx,y:“);scanf(“%lf%lf”,&x,&y);fun(&a,&b);printf(“x=%fy=%f\n”,x,y);}三、编程题(每小题10分,共20分)1、试编写程序,求一个整数任意次方的最后三位数。即求的最后三位数,要求x,y从键盘输入。#includestdio.hvoidmain(){intx,y,i,s=1;scanf(%d%d,&x,&y);for(i=0;iy;i++)s=s*x%1000;printf(%d\n,s);}2、已有变量定义语句doublea=5.0,y;intn=5;和函数调用语句y=mypow(a,n);用以求a的n次方。请编写do
本文标题:C程序设计模拟试题1答案
链接地址:https://www.777doc.com/doc-2907612 .html