您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 江苏省五年一贯制专转本《C语言程序设计》模拟试卷三(晓庄)
1江苏省五年一贯制专转本《C语言程序设计》模拟试卷三(晓庄)一、填空題(每题2分,共20分)1、一个C语言程序的开发过程包括:编辑、,连接和运行4个步骤。2、设intx=9,y=8;表达式x==y+1的结果是。3、若a=3,b=4,c=5,则表达式a||(b=c)&&b==c的值是。4、执行下面程序段后,k值是_______________。k=1;n=263;do{k*=n%10;n/=10}while(n);5、以下程序输入123456<CR>后的执行结果是。#includestdio.hmain(){inta,b;scanf(%2d%3d,&a,&b);printf(a=%d,b=%d\n,a,b);}6、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式是:。7、.以下程序的运行结果是。main(){if(2*2==52*2==4)printf(“T”);elseprintf(“F”);}8、设有程序片断:switch(grade){case‘A’:printf(“85—100\n”);case‘B’:printf(“70—84n”);case‘C’:printf(“60—69\n”);case‘D’:printf(“60\n”);default:printf(“error!\n”);}若grade的值为’C’,则输出结果是。29、下面程序的运行结果是_________.#includestdio.hmain(){inta,s,n,count;a=2;s=0;n=1;count=1;while(count=7){n=n*a;s=s+n;++count;}printf(s=%d,s);}10、以下程序的输出结果是intk,n,m;n=10;m=1;k=1;while(k++=n)m*=2;printf(“%d\n”,m);二、单项选择题(每题2分,共40分)1、能将高级语言编写的源程序转换成目标程序的是______。A)编辑程序B)编译程序C)解释程序D)链接程序2、以下叙述中正确的是______。A)构成C程序的基本单位是函数B)可以在一个函数中定义另一个函数C)main()函数必须放在其它函数之前D)所有被调用的函数一定要在调用之前进行定义3、以下选项中合法的实型常数是______。A)5E2.0B)E-3C).2E0D)1.3E4、以下选项中合法的用户标识符是______。A)longB)_2TestC)3DmaxD)A.dat5、已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符常量‘\101’是______。A)字符AB)字符aC)字符eD)非法的常量6、以下非法的赋值语句是______。A)n=(i=2,++i);B)j++;C)++(i+1);D)x=j0;7、设a和b均为double型常量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是______。A)6.500000B)6C)5.500000D)6.00000038、已知i、j、k为int型变量,若从键盘输入:1,2,3回车,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是______。A)scanf(%2d%2d%2d,&i,&j,&k);B)scanf(%d%d%d,&i,&j,&k);C)scanf(%d,%d,%d,&i,&j,&k);D)scanf(i=%d,j=%d,k=%d,&i,&j,&k);9、与数学式子3乘以x的n次方/(2x-1)对应的C语言表达式是______。A)3*x^n/(2*x-1)B)3*x**n/(2*x-1)C)3*pow(x,n)*(1/(2*x-1))D)3*pow(n,x)/(2*x-1)10、若有以下程序:main(){intk=2,i=2,m;m=(k+=i*=k);printf(%d,%d,m,i);}执行后的输出结果是______。A)8,6B)8,3C)6,4D)7,411、已有定义:intx=3,y=4,z=5;,则表达式!(x+y)+z-1&&y+z/2的值是______。A)6B)0C)2D)112、有一函数1x0y=0x=0-1x0,以下程序段中不能根据x的值正确计算出y的值的是______。A)if(x0)y=1;elseif(x==0)y=0;elsey=-1;B)y=0;if(x0)y=1;elseif(x0)y=-1;C)y=0;if(x=0)if(x0)y=1;elsey=-1;D)if(x=0)if(x0)y=1;elsey=0;elsey=-1;13、以下选项中,与k=n++完全等价的表达式是_______。A)k=n,n=n+1B)n=n+1,k=nC)k=++nD)k+=n+114、以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:main(){intn,k;floatscore,sum,ave;sum=0.0;for(n=1;n=10;n++){for(k=1;k=4;k++)4{scanf(%f,&score);sum+=score;}ave=sum/4.0;printf(NO%d:%f,n,ave);}}上述程序运行后结果不正确,调试中发现有一条语句出现在程序的位置不正确。这条语句是______。A)sum=0.0;B)sum+=score;C)ave=sum/4.0;D)printf(NO%d:%f,n,ave);15、有以下程序段intn=0,p;do{scanf(%d,&p);n++;}while(p!=12345&&n3);此处do-while循环的结束条件是______。A)p的值不等于12345并且n的值小于3B)p的值等于12345并且n的值大于等于3C)p的值不等于12345或者n的值小于3D)p的值等于12345或者n的值大于等于316、有以下程序main(){inta=15,b=21,m=0;switch(a%3){case0:m++;break;case1:m++;switch(b%2){default:m++;case0:m++;break;}}printf(%d,m);}程序运行后的输出结果是______。A)1B)2C)3D)417、C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是______。A)voidB)intC)floatD)double518.求取满足式12+22+32+……+n2≤1000的n,正确的语句是____。A)for(i=1,s=0;(s=s+i*i)=1000;n=i++);B)for(i=1,s=0;(s=s+i*i)=1000;n=++i);C)for(i=1,s=0;(s=s+i*++i)=1000;n=i);D)for(i=1,s=0;(s=s+i*i++)=1000;n=i);19.已知chara[][20]={Beijing,shanghai,tianjin,chongqing};语句printf(%c,a[30]);的输出是____。A)空格B)nC)不定D)数组定义有误20.对字符数组str赋初值,str不能作为字符串使用的一个是____。A)charstr[]=shanghai;B)charstr[]={shanghai};C)charstr[9]={'s','h','a','n','g','h','a','i'};D)charstr[8]={'s','h','a','n','g','h','a','i'};三、程序填空(每题4分,共12分)1、下面程序的功能是不用第三个变量,实现两个数的对调操作。#includestdio.hmain(){inta,b;scanf(%d%d,&a,&b);printf(a=%d,b=%d\n,a,b);a=;b=;a=;printf(a=%d,b=%d\n,a,b);}2、下面程序的功能是将形参x的值转换为二进制数,所得的二进制数放在一个一维数组中返回,二进制数的最低位放在下标为0的元素中。fun(intx,intb[]){intk=0,r;do{r=x%;b[k++]=r;x/=;}while(x);}63、下面程序的功能是输出1到100之间每位数的乘积大于每位数的和的数。例如数字26,数位上数字的乘积12大于数字之和8。main(){intn,k=1,s=0,m;for(n=1;n=100;n++){k=1;s=0;①;while(②){k*=m%10;s+=m%10;②;}if(ks)printf(%d,n);}}四、写出以下程序运行结果(每题3分,共12分)1、从键盘上输入446755时,下面程序的输出是____。#includestdio.hmain(){intc;while((c=getchar())!='\n')switch(c-'2'){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);default:putchar(c+2);break;}printf(\n);}2、下面程序的输出结果是____。main()7{inti,j,x=0;for(i=0;i2;i++){x++;for(j=0;j-3;j++){if(j%2)continue;x++;}x++;}printf(x=%d\n,x);}3、下面程序的输出结果是____。#includestdio.hmain(){intn[3][3],i,j;for(i=0;i3;i++)for(j=0;j3;j++)n[i][j]=i+j;for(i=0;i2;i++)for(j=0;j2;j++)n[i+1][j+1]+=n[i][j];printf(%d\n,n[i][j]);}五、编程题(每题8分,共16分)1、编写程序,输出1000以内的所有完数及其因子。所谓完数是指一个整数的值等于它的因子之和,例如6的因子是1、2、3,而6=1+2+3,故6是一个完数。2、计算s=1-1/2!+1/3!-1/4!……+1/n!直到最后一项小于10的-6次方。
本文标题:江苏省五年一贯制专转本《C语言程序设计》模拟试卷三(晓庄)
链接地址:https://www.777doc.com/doc-4952255 .html