版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本次模拟测验是开卷形式,请大家认真对待,不懂得可以看书讨论,下午5:30之前,把答案提交,文件名为:学号(10位)+姓名。一、选择题1.C语言规定:在一个源程序中,main函数的位置____。A.必须在最开始。B.可以任意。C.必须在系统调用的库函数的后面。D.必须在最后。2.以下叙述正确的是____。A.在C程序中,main函数必须位于程序的最前面。B.C程序的每行中只能写一条语句。C.C语言本身没有输入输出语句。D.在对一个C程序进行编译的过程中,可以发现注释中的拼写错误。3.一个C程序的执行是从____。A.本程序的第一个函数开始,到本程序main函数结束B.本程序的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序的main函数开始,到main函数结束4.下面四个选项中,均是不合法的用户标识符的选项是____。A.A,P_0,do B.float,1a0,_A C.b-a,goto,int D._123,temp,INT5.在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列为____。A.char<int<longint<=float<doubleB.char=int<longint<=float<doubleC.char<int<longint=float=doubleD.char=int=longint<=float<double6.C语言中的标识符只能由字母、数字和下划线3中字符组成,且第一个字符____。A.必须为字母或下划线B.必须为下划线C.必须为字母D.可以是字母、数字和下划线中任一种字符7.在C语言中,char型数据在内存中的存储形式是____。A.补码B.反码C.原码D.ASCII码8.若有说明语句:charc='\72';则变量c____。 A.包含1个字符B.包含2个字符 C.包含3个字符D.说明不合法,c的值不确定9.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'5'-'3';之后,c2中的字符为____。 A.67B.‘B’C.不确定的值D.‘C’10.若有说明语句:inta;charb;,以下输入函数语句正确的是____。A.scanf("%f,%c",&a,&b);B.scanf("%f,%c",a,b);C.scanf("%d,%c",&a,&b);D.scanf("%d,%c",a,b);11.以下针对scanf函数的叙述中,正确的是____。A.输入项可以为一实型常量,如scanf(“%f”,3.5);B.只有格式控制,没有输入项,也能正确输入,如scanf(“a=%d,b=%d”);C.当输入一个实型数据时,格式控制部分必须规定小数点后的位数,如scanf(“%4.2f”,&f);D.当输入数据时,必须指明变量的地址,如scanf(“%f”,&f);12.有定义语句:“intx,y;”,若要通过“scanf(“%d,%d”,&x,&y);”语句使变量x得到数值2,变量y得到数值6,下面四组输入形式中,错误的是____。(<CR>表示回车)A.26<CR> B.2,6<CR>C.2,6<CR> D.2,<CR>6<CR>13.能正确表示“x的取值在[1,10]范围内”的表达式是____。A.(x>1)&&(x<=10)B.(x>=1)||(x<10)C.(x>=1)&&(x<=10)D.(x>=1)||(x<=10)14.判断char型变量ch为大写字母的正确表达式是____。A.'A'<=ch<='Z' B.(ch>='A')&(ch<='Z')C.(ch>='A')&&(ch<='Z') D.('A'<=ch)AND('Z'>=ch)15.设有说明语句:intx=43,y=0;charch=’A’;则表达式(x>=y&&ch<’B’&&!y)的值是___。A.1B.语法错C.0D.假16.以下程序____。main(){inta=5,b=0,c=0;if(a==b+c)printf("***\n");elseprintf("$$$\n");}A.有语法错不能通过编译 B.输出$$$C.输出*** D.可以通过编译但不能通过连接17.为了避免在嵌套的条件语句if-else中产生二义性,C语言规定else子句总是与____配对。A.缩排位置相同的if B.其之后最近的ifC.其之前最近的if D.同一行上的if18.在C语言中,紧跟在关键字if后一对圆括号里的表达式是____。A.只能用逻辑表达式B.只能用关系表达式C.只能用逻辑表达式或关系表达式D.可以是任意表达式19.C语言中while和do-while循环的主要区别是____。A.do-while的循环体不能是复合语句B.while的循环控制条件比do-while的循环控制条件严格C.do-while允许从外部转到循环体内D.do-while的循环体至少无条件执行一次20.设有程序段intk=10;while(k=0)k=k-1;则下面描述中正确的是____。A.while循环执行10次B.循环是无限循环C.循环体语句一句也不执行D.循环体语句执行一次21.下面程序的运行结果是____。#include<stdio.h>main(){inta=1,b=6; do{b-=a;a++;}while(b--<0); printf("a=%d,b=%d\n",a,b);}A.a=3,b=3 B.a=2,b=4 C.a=1,b=-1 D.a=4,b=222.下面程序的运行结果是____。#include<stdio.h>main(){inty;for(y=9;y>0;y--){ if(y%3) {printf("%d",--y); continue;}}}A.741B.852C.963D.87542123.下面程序的运行结果是____。#include<stdio.h>main(){inti;for(i=1;i<=5;i++){if(i%2)printf(“*”);elsecontinue;printf(“#”);}printf(“$\n”);}A.*#*#*#$B.#*#*#*$C.*#*#$D.#*#*$24.下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择填空。#include<stdio.h>main(){inta,max=0;scanf("%d",&a);while(____){if(max<a)max=a;scanf("%d",&a);}printf("%d",max);}A.a!=0 B.a==0 C.!a==1 D.!a25.下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。请选择填空。#include<stdio.h>main(){intn=0,c;c=getchar();while(____){if(c<=’9’&&c>=’0’)n++;c=getchar();}}A.c!=’\n’ B.c=’\n’ C.c==’\n’ D.c26.以下对一维整型数组a的正确说明是____。A.inta(10);B.intn=0,a[n];C.intn;D.#defineSIZE10scanf(“%d”,&n);inta[SIZE]inta[n];27.若有定义floatx[3]={1.3,2.4,5.6},y=6;,则错误的语句是____。 A.y=x[2]; B.y=x[2]+1; C.y=x+1; D.x[0]=y;28.若有说明:inta[10];,则对a数组元素的正确引用是____。A.a[10] B.a[3.5] C.a(5) D.a[9]29.下面程序____。(每行程序前面的数字表示行号)1#include<stdio.h>2main()3{4 inta[3]={0};5 inti;6for(i=0;i<3;i++)scanf("%d",&a[i]);7 for(i=1;i<4;i++)a[0]=a[0]+a[i];8printf("%d\n",a[0]);9} A.第4行有错误 B.第6行有错误 C.第7行有错误 D.没有错误30.下面程序____。(每行程序前面的数字表示行号)1#include<stdio.h>2main()3{4 floata[3]={0.0};5 inti;6for(i=0;i<3;i++)scanf("%d",&a[i]);7 for(i=1;i<3;i++)a[0]=a[0]+a[i];8printf("%f\n",a[0]);9} A.第4行有错误 B.第6行有错误 C.第7行有错误 D.没有错误31.下面程序中有错误的行是____。(每行程序前面的数字表示行号)1#include<stdio.h>2main()3{4 inta[3]={1};5 inti;6scanf("%d",&a);7 for(i=1;i<3;i++)a[0]=a[0]+a[i];8printf("%d\n",a[0]);9} A.第4行有错误 B.第6行有错误 C.第7行有错误 D.没有错误32.对两个数组a和b进行如下初始化,chara[]="ABCDEF";charb[]={'A','B','C','D','E','F'};则以下叙述正确的是____。A.a和b数组完全相同 B.a与b长度相同C.a的长度比b短 D.a的长度比b长33.判断字符串a和b相等,应当使用____。A.if(a==b) B.if(a=b)C.if(strcpy(a,b)) D.if(!strcmp(a,b))34.下面程序段的运行结果是____。chara[7]="abcdef"; charb[4]="ABC"; strcpy(a,b); printf("%c\n",a[0]);A.□(□表示一个空格) B.\0 C.a D.A35.C语言规定,函数返回值的类型是由____。A.return语句中的表达式类型所决定 B.调用该函数时的主调函数类型所决定C.调用该函数时系统临时决定D.在定义该函数时所指定的函数类型所决定36.若用数组名作为函数调用的实参,传递给形参的是____。 A.数组元素的个数 B.数组第一个元素的值 C.数组中全部元素的值 D.数组的首地址37.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是____。 A.地址传递B.单向值传递 C.由实参传递给形参,再由形参传回给实参 D.由用户指定传递方式38.以下正确的函数定义形式是____。A.intf(intx,inty);B.intf(intx;inty){…}C.intf(intx,inty){…}D.intf(intx,y){…}39.在C语言程序中以下正确的描述是____。A.函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义不可以嵌套,但函数的调用可以嵌套C.函数的定义和函数的调用均不可以嵌套D.函数的定义和函数的调用均可以嵌套40.以下程序的运行结果是____。#include<stdio.h>intfun(intn){intm=0,f=-1,i;for(i=1;i<=n;i++){m=m+i*f;f=-f;}returnm;}main(){printf("%d\n",fun(2));}A.1 B.-1 C.2 D.-241.以下程序的运行结果是____。#include<stdio.h>intfun(inta,intb){if(a>b)return(a+b);elsereturn(a-b);}main(){ intx=3,y=8,z=6,r; r=fun(fun(x,y),3*z); printf("%d\n",r);}A.-22 B.-23 C.23 D.2242.以下程序的运行结果是____。#include<stdio.h>intfun(inta,intb){return(a-b)*a;}main(){ intx=3,y=4,z=5,r; r=fun(fun(x,z),fun(z,y)); printf("%d\n",r);}A.-16 B.-66 C.66 D.1643.若已定义inta=5;下面对①、②两个语句的正确解释是____。①int*p=&a;②*p=a;A.语句①和②中的*p含义相同,都表示给指针变量p赋值B.①和②语句的执行结果,都是把变量a的地址值赋给指针变量pC.①在对p进行说明的同时进行初始化,使p指向a;②将变量a的值赋给指针变量pD.①在对p进行说明的同时进行初始化,使p指向a;②将变量a的值赋为*p44.若需要建立如下图所示的存储结构,且已有说明char*p,a=’A’;则正确的赋值语句是____。A.p=&a; B.p=a; C.*p=a; D.*p=&a;45.有如下语句inta=10,b=20,*p1,*p2;p1=&a;p2=&b;如图1所示;若要实现图2所示的存储结构,可选用的赋值语句是____。图1图2A.*p1=*p2; B.p1=*p2; C.p1=p2; D.*p1=p2;46.若有定义:inta[5];则a数组中首元素的地址可以表示为____。A.&a B.a C.a+1 D.&a[1]47.若有定义:inta[4],*p=a;则对a数组元素的正确引用是____。A.*&a[4] B.a+2 C.*(p+4) D.*(a+2)48.若有定义:inta[5],*p=a;则对a数组元素地址的正确引用是____。A.p+5 B.*a+1 C.&a+1 D.&a[1]49.设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是____。A.c=*p1+*p2; B.p2=c; C.p1=p2; D.c=*p150.下面程序段的运行结果是____。char*s=”abcde”;s+=2;printf(“%d”,s);A.cde B.字符c 的地址 C.字符c D.无确定的输出结果51.下面程序段的运行结果是____。chara[]="language",*p;p=a;while(*p!='g'){printf("%c",*p-32);p++;}A.LANGUAGE B.language C.LAN D.language52.下面程序的运行结果是____。#include<stdio.h>voidsub(intx,inty,int*z){*z=y+x;}main(){ inta;sub(10,5,&a);printf("%d\n",a);}A.5 B.15 C.10 D.-1053.下面程序的运行结果是____。#include<stdio.h>voidfun(int*x,int*y){printf("%d%d",*x,*y);*x=3+*x;*y=4+*y;}main(){ intx=1,y=2; fun(&x,&y);printf("%d%d\n",x,y);}A.1246 B.1212 C.1234 D.211254.下面程序的运行结果是____。#include<stdio.h>main(){int*p1,*p2,a=2,b=3;p1=&a;p2=&b;if(a<b){p1=&b;p2=&a;}printf("%d,%d\n",a,b);}A.3,2 B.2,2 C.2,3 D.3,355.下面关于结构体的说法错误的是____。A.结构体是由用户构造的一种数据类型B.结构体成员可以具有不同的数据类型C.结构体中的成员不可以与结构体变量同名D.结构体中的成员可以是指向自身结构的指针类型56.设有以下说明语句structstu{inta;floatb;}stutype;则下面的叙述不正确的是____。A.struct是结构体类型的关键字B.structstu是用户定义的结构体类型C.stutype是用户定义的结构体类型名D.a和b都是结构体成员名57.以下scanf函数调用语句中对结构体变量成员的不正确引用是____。structpupil {charname[20]; intage; intsex;}pup[5],*p;p=pup;A.scanf("%s",pup[0].name);B.scanf("%d",&pup[0].age);C.scanf("%d",&(p->sex));D.scanf("%d",(p->age);二、程序阅读题1.下面程序的运行结果是________。#include<stdio.h>main(){intx=5;switch(x){case1:case2:case3:case4:printf("x<5");case5:printf("x=5"); default:printf("Thevalueofxisunknown.\n");}}2.若运行以下程序时输入35*<CR>,则程序的运行结果是________。#include<stdio.h> main(){intx,y,r;charop;scanf("%d%d%c",&x,&y,&op);switch(op){case'+':r=x+y;break; case'-':r=x-y;break; case'*':r=x*y;break;}printf("%d\n",r);}3.若a、b、c均已正确定义且a=0、b=2、c=3,则下面程序段的输出是____。switch(a){case0:switch(b==2) {case1:printf("&");break; case2:printf("%");break; }case1:switch(c) {case1:printf("$");break; case2:printf("*");break; default:printf("#");}}4.下面程序的运行结果是________。#include<stdio.h>main(){inti,s,t;s=0;t=1;for(i=1;i<=3;i++){t=t*i;s=s+t;}printf("%d\n",s);}5.以下程序运行的结果是________。#include<stdio.h>main(){intx=5;If(x==2)printf("OK\n");elseif(x<2)printf("%d\n",x);elseprintf("QUIT\n");}6.当运行以下程序时,从键盘输入12<CR>,则下面程序的运行结果是_______。#include<stdio.h>main(){inta,b,m,n;m=1;n=1;scanf("%d%d",&a,&b);do{if(a>0){m=2*n;b++;}else{n=m+n;a+=2;b++;}}while(a==b);printf("m=%d,n=%d",m,n);}7.下面程序的运行结果是________。#include<stdio.h>main(){inti; chara[]="Time",b[]="Tom"; for(i=0;a[i]!='\0'&&b[i]!='\0';i++) if(a[i]==b[i]) if(a[i]>='a'&&a[i]<='z')printf("%c",a[i]-32); elseprintf("%c",a[i]+32); elseprintf("*");}8.下面程序的运行结果是________。#include<stdio.h>main(){inti,j,a=0;for(i=0;i<2;i++){for(j=1;j<4;j++) {if(j%2==0)break; a++;}a++;}printf("%d\n",a);}9.当输入的数值为57时,下面程序的运行结果是________。#include<stdio.h>intmax(inta,intb){return(a>b?b-a:a-b);}main(){intx,y;scanf("%d%d",&x,&y);printf("%d\n",max(x,y));}10.以下程序的运行结果是____。#include<stdio.h>intf(intx,inty){if(x+5<y)return(y);elsereturn(x);}main(){ inta=7,b=8,r; r=f(a,b); printf("%d,%d,%d\n",a,b,r);}11.以下程序的运行结果是____。#include<stdio.h>inta=3,b=5;intf(inta,intb){intc;c=a+b;return(c);}main(){inta=8;printf("%d\n",f(a,b));}12.下面程序的运行结果是________。#include<stdio.h>inta=3,b=5;intmax(inta,intb){intc;c=a>b?a:b;return(c);}main(){inta=8;printf("%d\n",max(a,b));}13.下面程序的运行结果是________。#include<stdio.h>main(){intf(int);inta=2,i;for(i=0;i<2;i++)printf("%d",f(a));}intf(inta){intb=0;staticc=4;b=b+1;c=c+1;return(a+b+c);}14.以下程序的运行结果是____。#definePRICE30#include<stdio.h>main(){intnum,total;num=10; total=num*PRICE;printf("%d\n",total);}15.下面程序的运行结果是________。#include<stdio.h>#defineADD(4+5)main(){intk=3;intsum=ADD*k;printf("%d\n",sum);}16.下面程序的运行结果是________。#include<stdio.h>#defineAB3-5main(){intk=2;ints;s=AB*k;printf("%d\n",s);}三、程序完善题1.以下程序的功能是:输入一个小写字母,将字母循环后移5个位置后输出。例如:‘a’变成了‘f’,‘w’变成了‘b’。请将下列程序段补充完成。#include<stdio.h>main(){charc; c=getchar(); if(c>='a'&&c<='u')____________(1); elseif(c>='v'&&c<='z')____________(2); putchar(c);}2.下面程序的功能是从键盘输入的10个整数中,找出第一个能被7整除的数。若找到,打印此数后退出循环;若未找到,打印“notexist”。请填空。#include<stdio.h>main(){inti,a;for(i=1;i<=10;i++){scanf("%d",&a);if(a%7==0){printf("%d",a);____(3);}}if(____(4))printf("notexists\n");}3.下面程序的功能是:计算1到10之间的奇数之和及偶数之和。请填空。#include<stdio.h>main(){inta,b,c,i;a=c=0;for(i=0;i<=10;i+=2){a=a+i; ____________(5);c=c+b;}printf(“sumoftheeven=%d\n”,a);printf(“sumoftheodd=%d\n”,____________(6));}4.以下程序的功能是:输入5个整数,找出最大数和最小数所在的位置,并把二者对调,然后输出调整后的5个数。请填空。#include<stdio.h>main(){inta[5],max,min,i,j=0,k=0;for(i=0;i<5;i++)scanf("%d",&a[i]);min=a[0];for(i=1;i<5;i++)if(a[i]<min){min=a[i];________(7);}max=a[0];for(i=1;i<5;i++)if(a[i]>max){max=a[i];j=i;}a[k]=max;________(8);printf("\nThepositionofminis:%3d\n",k);printf("\nThepositionofmaxis:%3d\n",j);for(i=0;i<5;i++)printf("%5d",a[i]);}5.下面程序的功能是从键盘输入两个字符串,将字符串2中的内容(包括
'\0')拷贝到字符串1中,即实现strcpy函数的功能,然后输出字符串1的内容。请填空。#include<stdio.h>main(){charstr1[100],str2[100];inti;gets(str1);gets(str2);for(i=0;str2[i]!='\0';i++)________(9);________(10);puts(str1);}6.下面程序的功能是:有一个分数序列,求出这个序列的前20项之和,请填空。#include<stdio.h>main(){floata=2,b=1,sum=0,t;____________(11);for(i=1;i<=20;i++){sum+=a/b;t=a;____________(12);b=t;}printf("sum=%f\n",sum);}7.下面pi函数的功能是根据以下的公式,返回满足精度要求的的值,请填空。doublepi(doubleeps){doubles=0.0,t=1.0;intn;for(________(13);t>eps;n++){s+=t;t=t*n/(2*n+1);}return(________(14));}8.下面程序的功能是:有一个3行4列的数组a,求数组中所有元素的最大值,并将此值返回主调函数,请填空。#include<stdio.h>main(){intmax_value(intarray[][4]);inta[3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}};intmax;max=max_value(________(15));printf("maxvalueis%d\n",max);}intmax_value(intarray[][4]){inti,j,max;max=array[0][0];for(i=0;i<3;i++)for(j=0;j<4;j++)if(array[i][j]>max)________(16);returnmax; }9.以下程序的功能是:从键盘输入n的值,计算1+1/2+1/3+1/4+…+1/n的值,并将和值返回主调函数,请填空。#include<stdio.h>floatsum(________(17)){floati=2;floats=1.0;while(i<=n){s=s+1/i;________(18);}return(s);}main(){floatm;floats;scanf("%f",&m);s=sum(m);printf("s=%f\n",s);}10.下面程序的功能是从键盘中输入两个数,求出两个数的和,并将和值返回主调函数,请填空。#include<stdio.h>intadd(intx,inty){x=x+y;________(19);}main(){inta,b,c;scanf("%d,%d",&a,&b);c=add(___
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025农村征地合同协议书
- 2025农村土地永久转让及生态保护合同全新制定
- 2025年度公司特色花卉组合采购服务协议3篇
- 二零二五年度地铁车站清洁与安全服务合同3篇
- 二零二五年度物流运输劳动合同劳务合同3篇
- 二零二五年度私人住宅泳池建造合同3篇
- 2025年度全款购车汽车用品赠送合同范本3篇
- 二零二五年度高校毕业生就业见习计划合作协议3篇
- 2025年度环保设备销售加盟合同协议
- 二零二五年度电力设施检修与维修合同3篇
- DB3301-T 65.28-2024 反恐怖防范系统管理规范 第28部分:硬质隔离设施
- 阳台改造装修合同范本3篇
- 城镇开发边界内详细规划编制技术指南解读
- 《ISO56001-2024创新管理体系 - 要求》之25:“9绩效评价-9.2内部审核”解读和应用指导材料(雷泽佳编制-2024)
- 2023年广西职业院校技能大赛中职组《分布式智能设备组网技术》赛项样题
- 国家开放大学本科《西方行政学说》期末纸质考试总题库珍藏版
- 2024至2030年中国甲醇内燃机行业发展监测及投资战略规划报告
- 海南省琼海市五年级数学期末自测模拟试题详细答案和解析
- 垃圾清运服务投标方案技术方案
- 电子工程师职位合同
- 2025届青海省西宁二十一中学七年级数学第一学期期末考试试题含解析
评论
0/150
提交评论