




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计习题集及答案C语言程序设计习题集及答案C语言程序设计习题集及答案xxx公司C语言程序设计习题集及答案文件编号:文件日期:修订次数:第1.0次更改批准审核制定方案设计,管理制度基础知识一单项选择题(每题2分,共44分)1以下叙述正确的是___。AC程序基本组成单位是语句BC程序每一行只能写一个语句C简单C语句必须以分号作为结束符D注释语句可以嵌套2一个C语言程序是从___开始执行的。A程序中第一个函数B名为main的函数C包含文件(头文件)的第一个函数D程序中的第一个语句3请选出合法的C语言赋值语句___。Aa=b=58Bi++;Ca=58,b=58Dk=int(a+b);4下面标识符中,合法的用户标识符是___。A1abcBincludeCa-b-c123Dchar5以下所列的C语言整形常量中,正确的是___。A0x10B0976C076LD01ff6C语言中下列运算符的操作数必须为整型的是___。A%B++C/D=7设a和b均为int型变量,则执行以下语句后的输出为___。inta=20;intb=3;printf("%d\n",a+=(b%=2));A20B21C0D238已知inti;,则执行语句i=;后,i的值为___。A2B3CD不确定9以下合法的字符常量为___。A'ab'B'\482'C'\'D'\xaf'10若y为int型变量,则执行以下语句后,y的值是___。y=8;y+=y-=y*y;A64B–56C–112D–4811以下合法的浮点型常量是___。Ae-3B+C+2LDe+512设int数据占用两个字节,float数据占用四个字节,double数据占用8个字节,且已知floata=2;intb=3;则执行下列语句输出为___。printf("%d",sizeof(a*b)+2/5);A4B8C6D713设int型占2个字节,且inti=-2;,则语句printf("%u",i);的输出结果为___。A0B-2C65534D6553514若x、y、z均为整型常量,且a=100,则执行下列语句后的z值为___。x=a++;y=--a;z=x+y-a--;A100B400C200D30015若有以下定义和语句:intu=010,v=0x10,w=10,printf("%d,%d,%d\n",u,v,w);,则输出结果是___。A8,16,10B10,10,10C8,8,10D8,10,1016设x、y为int型变量,则执行下列语句后,y的值是___。x=5;y=x++*x++;y=--y*--y;A529B2401C1209D625的表达式是____。17假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式的表达式是____。A1/a*b*cB1/(a*b*c)C1/a/b/(float)cDa/b/c18若有定义:inta=8,b=5,c;chard='A';,则执行语句c=a/b+d%a+;后c的值为___。A2BC3D类型不一致,无法计算,编译出错19在有以下程序:main(){inti=10,j=1;i=i+j++;printf("%d,%d,%d\n",i++,++j,i);}执行后输出结果是___。A12,3,11B12,2,11C11,3,11D12,3,1220已知inti=65;,则putchar(i);printf("%d",i);printf("%c",i);的输出结果为___。AA,65,AB65,65,ACA,A,65DA,A,A21已知inty,a,i=1;,则语句printf("%d,%d",-i++,(y=a=*3));的输出结果为___。A-1,10B-2,C0,3D1,1822有以下程序:main(){chara,b,c,d;a='\';b='\xbc';c='\0xab';d='\023';printf("%c%c%c%c\n",a,b,c,d);}编译时出现错误,以下叙述中正确的是___。A程序中只有a='\';语句不正确Bb='\xbc';语句不正确Cd='\023';语句不正确Da='\';和c='\0xab';语句都不正确二填空题(第1题2分,其余每题3分,共56分)1设x为int型变量,请写出描述“x是偶数”的表达式是___。2已知scanf("a=%d,b=%d,c=%d",&a,&b,&c);,若从键盘输入2、3、4三个数分别作为变量a、b、c的值则正确的输入形式是___。3设有语句inta=3;,则执行了语句a+=a-=a*a后,变量a的值是___。4以下程序的输出结果是___。main(){inta=-10,b=-3;printf("%d\n",-a++);printf("%d\n",-a+b);}5以下程序的输出结果是___。main(){charc;c=0362;printf("%d\n",c);}6以下程序段(n所赋的是八进制数)执行后输出结果是___。intm=32767,n=032767;printf("%d,%o\n",m,n);7字符串"\\name\\\101ddress\b\xaf"的长度为:___。8有以下程序段:intm=0,n=0;charc='a';scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若从键盘上输入:10A10<回车>,则输出结果是___。9以下程序的输出结果是___。main(){printf("%d,%o,%x\n",10,10,10);printf("%d,%d,%d\n",10,010,0x10);printf("%d,%x\n",012,012);}10设a、b、c为整形变量,且a=2、b=3、c=4,则执行完语句a*=16+(b++)-(++c);之后,变量a的值为___。11以下程序的输出结果为___。main(){intx=023;printf("%x\n",--x);}12以下程序的结果为___。main(){inta=2,b=3,c,d;c=(a++)+(a++)+(a++);d=(++b)+(++b)+(++b);printf("a=%dc=%d\n",a,c);printf("b=%dd=%d\n",a,d);}13以下程序main(){charch1,ch2,ch3;scanf("%c%c%c",&ch1,&ch2,&ch3);printf("%c%c%c%c%c",ch1,'#',ch2,'#',ch3);}当输入ABC时运行结果为【1】,当输入ABC时运行结果为【2】。14若有定义:floatx;,以下程序段的输出结果是___。x=;printf("%f\n",(int)(x*1000+/(float)1000);15以下程序的功能是:输入一个小写字母,输出对应的大写字母,将程序补充完整。main(){charch;【1】/*从键盘输入一个小写字母*/【2】/*将该字母转换为大写字母*/【3】/*输出转换后的结果*/}16当运行以下程序时,在键盘上从第一列开始输入10↙(此处↙代表回车),则程序的输出结果是___。main(){inta;floatb,c;scanf("%2d%3f%4f",&a,&b,&c);printf("\na=%d,b=%f,c=%f\n",a,b,c);}17以下程序的运行结果是___。main(){printf("%\n",;printf("%12f\n",;printf("%\n",12345);printf("%\n","abcdefghij");}18运行以下程序时,如从键盘上输入abcdefg↙,则输出结果是___。main(){charch1,ch2,ch3;ch1=getchar();ch2=getchar();ch3=getchar();putchar(ch1);putchar(ch2);putchar(ch3);putchar('\n');}19运行以下程序时,如从键盘上输入:a=3,b=5↙35,↙abc↙后,结果是___。main(){inta,b;floatx,y;charc1,c2;scanf("a=%d,b=%d",&a,&b);scanf("%f,%e",&x,&y);scanf("%c%c%c",&c1,&c1,&c2);printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1,c2);}顺序、选择结构程序设计一单项选择题(每题2分,共40分)1以下程序运行后的输出结果是___。main(){inta=0,b=0;a=10;b=20;printf("a+b=%d\n",a+b);}Aa+b=10Ba+b=30C30D出错2以下程序运行后的输出结果是___。main(){doubled=;intx,y;x=;y=(x+/;printf("%d\n",d*y);}A3BC0D3以下程序运行后的输出结果是___。main(){doubled;floatf;longl;inti;i=f=l=d=20/3;printf("%d%ld%.1f%.1f\n",i,l,f,d);}A66B66C66D664以下程序运行后的输出结果是___。main(){inta=1,b=2;a=a+b;b=a-b;a=a-b;printf("%d,%d\n",a,b);}A1,2B1,1C2,2D2,15以下程序运行后的输出结果是___。main(){intx,y,z;x=y=2;z=3;y=x++-1;printf("%d%d",x,y);y=++x-1;printf("%d%d\n",x,y);y=z---1;printf("%d%d",z,x);y=--z-1;printf("%d%d\n",z,x);}A3143B3133C3143D213224142422241213126以下程序运行后的输出结果是___。main(){intx,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}A2,3,3B2,3,2C2,3,1D2,2,17以下程序运行后的输出结果是___。main(){intx=4,y=7;x-=y;y+=x;printf("%d%d\n",x,y);}A47B-3-3C-311D-348以下程序运行后的输出结果是___。main(){unsignedshorta=65536;intb;printf("%d\n",b=a);}A65536B0C1D-19以下程序:#include<>main(){charc1,c2,c3,c4,c5,c6;scanf("%c%c%c%c",&c1,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(c1);putchar(c2);printf("%c%c\n",c5,c6);}程序运行后,若从键盘输入(从第1列开始)123<回车>45678<回车>则输出结果是___。A1267B1256C1278D124510设a、b和c都是int型变量,且a=3,b=0,c=5,则以下值为0的表达式是___。A'a'&&'b'Ba&&b||cCa&&b&&cDa||b&&c11在嵌套使用if语句时,C语言规定else总是___。A和之前与其具有相同缩进位置的if配对B和之前与其最近的if配对C和之前与其最近不带else的if配对D和之前的第一个if配对12若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为___。Aa<>0B!aCa=0Da13以下程序运行后的输出结果是___。main(){inta=2,b=-1,c=2;if(a<b)if(b<0)c=0;elsec++;printf("%d\n",c);}A0B1C2D314若k是int型变量,下面的程序段的输出结果是。k=-3;if(k<=0)printf("####")elseprintf("&&&&");A####B&&&&C####&&&&D有语法错误,无输出15以下程序运行后的输出结果是___。main(){inta=0,b=0,c=0,d=0;if(a=1)b=1;c=2;elsed=3;printf("%d,%d,%d,%d\n",a,b,c,d);}A0,1,2,0B0,0,0,3C1,1,2,0D编译有错16以下程序运行后的输出结果是___。main(){intx1=1,x2=0,x3=0;if(x1=x2+x3)printf("****");elseprintf("####");}A****B有语法错误C####D无输出结果17当a=1,b=3,c=5,d=4时,执行下面一行程序后,x的值是___。if(a<b)if(c<d)x=1;elseif(a<c)if(b<d)x=2;elsex=3;elsex=6;elsex=7;A1B2C3D618下列叙述中正确的是___。Abreak语句只能用于switch语句B在switch语句中必须使用defaultCbreak语句必须与switch语句中的case配对使用D在switch语句中不一定使用break语句19若有定义:floatx=;inta=1,b=3,c=2;则正确的switch语句是___。Aswitch(x)Bswitch((int)x);{case:printf("*\n");{case1:printf("*\n");case:printf("**\n");}case2:printf("**\n");}Cswitch(a+b)Dswitch(a+b){case1:printf("*\n");{case1:printf("*\n");case2+1:printf("**\n");}casec:printf("**\n");}20以下程序运行后的输出结果是___。#include<>main(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;}printf("a=%d,b=%d\n",a,b);}Aa=2,b=1Ba=1,b=1Ca=1,b=0Da=2,b=2二填空题(每题3分,共30分)1以下程序运行后的输出结果是___。#include<>main(){inti=010,j=10;printf("%d,%d\n",++i,j--);}2以下程序运行后的输出结果是___。#include<>main(){printf("%d%d%d\n",'\0','\0','\0');}3以下程序运行后的输出结果是___。main(){inti=5,j,k;j=i+++i+++i++;k=(++i)+(++i)+(++i);printf("i=%5dj=%5d\nk=%5d\n",i,j,k);}4下面的程序运行时从键盘上输入10<回车>,程序的输出结果是___。main(){inta;floatb,c;scanf("%2d%2f%2f",&a,&b,&c);printf("a=%d,b=%.1f,c=%.0f",a,b,c);}5下面程序的输出结果是___。main(){charch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}6执行下面的语句:printf("%d\n",(a=3*5,a*4,a+5));,输出是___。7以下程序运行后的输出结果是___。main(){intx=10;printf("%d,%d\n",--x,--x);}8为表示关系x≥y≥z,应使用C语言表达式___。9下面的程序段的输出结果是___。intx=3;if((x%2)printf("**%d",x):printf("##%d\n",x));10以下程序运行后的输出结果是___。main(){intm=5;switch(m/2){case1:m++;case2:m+=3;case5:m+=6;break;default:m-=7;}printf("%d\n",m);}三程序填空(每空5分,共30分)1下列程序的输出结果是,请填空。main(){inta=9,b=2;floatx=【1】,y=,z;z=a/2+b*x/y+1/2;printf("%\n",z);}2完成以下程序,输入变量a,b,c的值,判断a,b,c能否组成三角形,计算三角形面积。(公式为:)。#include<>【2】;main(){inta,b,c;【3】printf("pleaseinputthevalueofa,b,c")scanf("%d%d%d",【4】);
if(【5】){【6】s=sqrt(p*(p-a)*(p-b)*(p-c));printf("Yes,thisisatriangle!\ntheareais%.2f.\n",s);}elseprintf("No,thisisnotatriangle!\n")}循环结构程序设计一单项选择题(每题2分,共40分)1以下程序中,while循环的循环次数是___。main(){inti=0;while(i<10){if(i<1)continue;if(i==5)break;i++;}……}A1B10C6D死循环2以下程序的执行结果是___。main(){intn=9;while(n>6){n--;printf("%d",n);}}该程序的输出结果是A987B876C8765D98763以下程序段,while循环执行的次数是___。intk=0;while(k=1)k++;A无限次B有语法错C一次也不执行D执行1次4以下叙述正确的是___。Ado-while语句构成的循环不能用其它语句构成的循环来代替Bdo-while语句构成的循环只能用break语句退出C用do-while语句构成的循环,在while后的表达式为非零时结束循环D用do-while语句构成的循环,在while后的表达式为零时结束循环5以下程序的执行结果是___。main(){inta,y;a=10;y=0;do{a+=2;y+=a;printf("a=%dy=%d\n",a,y);if(y>20)break;}while(a=14);}Aa=12y=12Ba=12y=12a=14y=16a=16y=28a=16y=20a=18y=24Ca=12y=12Da=12y=12a=14y=26a=14y=446以下程序的执行结果是___。main(){intx=23;do{printf("%d",x--);}while(!x);}A321B23C不输出任何内容D陷入死循环7有以下程序段,输出结果是___。intx=3;do{printf("%d",x-=2);}while(!(--x));A1B30C1-2D死循环8以下程序的输出结果是___。main(){inta=0,i;for(i=1;i<5;i++){switch(i){case0:case3:a+=2;case1:case2:a+=3;default:a+=5;}}printf("%d\n",a);}A31B13C10D209以下程序的输出结果是___。main(){inti=0,a=0;while(i<20){for(;;)if((i%10)==0)break;elsei--;i+=11;a+=i;}printf("%d\n",a);}A21B32C33D1110以下循环体的执行次数是___。main(){inti,j;for(i=0,j=1;i<=j+1;i+=2,j--)printf("%d\n",i);}A3B2C1D011下列程序的输出结果是___。main(){inti,j,m=0,n=0;for(i=0;<2;i++)for(j=0;j<2;j++)if(j>=i)m=1;n++;printf("%d\n",n);
}A4B2C1D012下列程序的输出结果是___。main(){inti,sum;for(i=1;i<=3;sum++)sum+=i;printf("%d\n",sum);}A6B3C死循环D013以下程序执行后sum的值是___。main(){inti,sum;for(i=1;i<6;i++)sum+=i;printf("%d\n",sum);}A15B14C不确定D014以下程序执行后的输出结果是___。main(){inti,n=0;for(i=2;i<5;i++){do{if(i%3)continue;n++;}while(!i);n++;}printf("n=%d\n",n);}An=5Bn=2Cn=3Dn=415下列语句中,能正确输出26个英文字母的是___。Afor(a='a';a<='z';printf("%c",++a));Bfor(a='a';a<='z';)printf("%c",a);Cfor(a='a';a<='z';printf("%c",a++));Dfor(a='a';a<='z';printf("%c",a));16以下程序执行后的输出结果是___。main(){intx=1,y=1;while(y<=5){if(x>=10)break;if(x%2==0){x+=5;continue;}x-=3;y++;}printf("%d,%d",x,y);}A6,6B7,6C10,3D7,317以下程序执行后的输出结果是___。main(){inta=5;while(!(a-->5)){switch(a){case1:a++;case4:a+=4;case5:a+=5;break;default:a-=5;}}printf("%d\n",a);}A12B7C5D1318对于下面的for循环语句,可以断定它执行___次循环。for(x=0,y=0;(y!=67)&&(x<5);x++)printf("----");A无限B不定C5次D4次19在执行以下程序时,如果从键盘上输入:ABCdef,则输出结果为___。#include""main(){charch;while((ch=getchar())!='\n'){if(ch>='A'&&ch<='Z')ch=ch+32;elseif(ch>='a'&&ch<='z')ch=ch-32;printf("%c",ch);}printf("\n");}AABCdefBabcDEFCabcDDEF20当执行以下程序时,___。inta=1;do{a=a*a;}while(!a);A循环体将执行1次B循环体将执行2次C循环体将执行无限次D系统将提示有语法错误二填空题(每空3分,共33分)1若输入字符串:abcde<回车>,则以下while循环体将执行___次。while((ch=getchar())=='e')printf("*");2以下while循环执行的次数是___。k=0;while(k=10)k=k+1;3下列程序的输出结果是___。main(){intx=0,y=5,z=3;while(z-->0&&++x<5)y=y-1;printf("%d,%d,%d\n",x,y,z);}4下面程序的功能是:计算1到10之间的奇数之和及偶数之和,请填空。main(){inta,b,c,i;a=c=0;for(i=0;i<=10;i+=2){a+=i;_【1】;c+=b;
}
printf("偶数之和=%d\n奇数之和=%d\n",a,【2】);}5下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数,请填空。main(){inti,j;for(i=0;_【1】;i++){j=i*10+6;if(_【2】)continue;printf("%d\n",j);}}6以下程序的输出结果是___。main(){ints,i;for(s=0,i=1;i<3;i++,s+=i);printf("%d\n",s);}7要使以下程序段输出10个整数,请填入一个整数。for(i=0;i<=___;printf("%d\n",i+=2));8程序的功能是根据以下近似公式求π值:请填空完成求π的功能。#include""main(){intn=30000;doubles=;longi;for(i=1;i<=n;i++)s=s+_【1】;
printf("pi=%f\n",_【2】);}三程序填空题(每空3分,共27分)1下列程序是求的值。#include""main(){inti=2;floatsum=1;;while(【1】){sum=sum+i;【2】;}printf("sum=%f\n",【3】);}2以下程序的功能是从键盘输入若干个学生的成绩,统计最高成绩和最低成绩,当输入为负数时,结束输入。main(){floatx,max,min;scanf("%f",&x);max=min=【1】;do{if(x>max)max=x;if(x<min)【2】;scanf("%f",&x);}while(【3】);printf("%f,%f",max,min);}3下面的程序用来求出所有的水仙花数。所谓水仙花数是指一个3位数,它的各位数字的立方和恰好等于它本身。main(){intn,i,j,k;for(n=100;【1】)/*判断3位数n是否是水仙花数*/{i=n/100;/*i是n的百位上的数字*/j=【2】;/*j是n的十位上的数字*/k=n%10;/*k是n的个位上的数字*/if(【3】)printf("%d\n",n);}}数组一单项选择题(每题2分,共40分)1以下对一维整型数组a的正确定义(说明)的是___。Ainta(10);B)intn=10,a[n];Cintn;D#defineSIZE10scanf("%d",&n);inta[SIZE];inta[n];2若有定义(说明)inta[10];,则对数组a的元素正确引用的是___。Aa[10]Ba[]Ca(5)Da[10-10]3执行下面程序段后,变量k的值是___。intk=3,s[2];s[0]=k;k=s[1]*10;A不定值B33C30D104以下程序的输出结果是___。main(){inti,k,a[10],p[3];k=5;for(i=0;i<10;i++)a[i]=i;for(i=0;i<3;i++)p[i]=a[i*(i+1)];for(i=0;i<3;i++)k+=p[i]*2;printf("%d\n",k);}A20B21C22D235以下对一维整型数组a初始化的语句中正确的是___。Ainta[10]=(0,0,0,0,0);Binta[10]=();Cintx=2,a[10]={10*x};Dinta[10]={0};6若有以下说明,则数值为4的表达式是___。inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};charc='a',d,g;Aa[g-c]Ba[4]Ca['d'-'c']Da['d'-c]7下列程序运行后的输出结果是___。#defineMAX10voidmain(){inti,sum,a[]={1,2,3,4,5,6,7,8,9,10};sum=1;for(i=0;i<MAX;i++)sum-=a[i];printf("sum=%d\n",sum);}Asum=55Bsum=-54Csum=-55Dsum=548以下程序的输出结果是___。main(){inty=18,i=0,j,a[8];do{a[i]=y%2;i++;y=y/2;}while(y>=1);for(j=i-1;j>0;j--)printf("%d",a[j]);}A1000B1001C1010D11009以下对二维数组a的正确定义(说明)的是___。Ainta[3][];Bfloata(3,4);Cdoublea[1][4];Dfloata(3)(4);10若有定义(说明)inta[3][4];,则对数组a的元素的引用非法的是___。Aa[2][2*1]Ba[1][3]Ca[4-2][0]Da[0][4]11以下不能对二维数组a进行正确初始化的语句是___。Ainta[2][3]={0};Binta[][3]={{1,2},{0}};Cinta[2][3]={{1,2},{3,4},{5,6}};Dinta[][3]={1,2,3,4,5,6};12下列数组定义语句中,正确的是___。Achara[][]={'a','b','c','d','e','f'};Bchara[2][3]='a','b';Cchara[][3]={'a','b','c','d','e','f'};Dchara[][]={{'a','b','c','d','e','f'}};13下列程序运行后的输出结果是___。main(){inta[4][4],i,j,k;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=i-j;for(i=1;i<4;i++)for(j=i+1;j<4;j++){k=a[i][j];a[i][j]=a[j][i];a[j][i]=k;}for(i=0;i<4;i++){printf("\n");for(j=0;j<4;j++)printf("%4d",a[i][j]);}}A0-1-2-3B012310-1-2-1012210-1-2-1013210-3-2-10C0-1-2-3D01231012-10-1-22-101-210-23-2-10-321014以下程序的输出结果是___。main(){inti,a[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);}A0650B1470C5430D输出值不定15有以下程序:main(){intx[3][2]={0},i;for(i=0;i<3;i++)scanf("%d",x[i]);printf("%3d%3d%3d\n",x[0][0],x[0][1],x[1][0]);}若运行时输入:246<回车>,则输出结果是___。A200B204C240D24616下列描述不正确的是___。A字符型数组中可以存放字符串B可以对字符型数组进行整体输入和输出C可以对整型数组进行整体输入和输出D不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值17对于以下定义,叙述正确的是___。charx[]="abcdef";charx[]={'a','b''c','d','e','f'};A数组x和数组y等价B数组x和数组y的长度相等C数组x的长度大于数组y的长度D数组x的长度小于数组y的长度18以下选项中,不能正确赋值的是___。Achars1[10];s1="Ctest";Bchars2[]={'C','t','e','s','t'};Cchars3[20]="Ctest";Dchars4[30];strcpy(s4,"Ctest");19若有定义和语句:chars=[10];s="abcd";printf("%s\n",s);,则输出结果是___。(以下□表示空格)AabcdBaCabcd□□□□□D编译不通过20当执行下面程序时,如果输入ABC,则输出结果是___。#include<>#include<>main(){charss[10]="12345";gets(ss);strcat(ss,"6789");printf("%s\n",ss);}AABC6789BABC67C12345ABC6DABC45678二填空题(每空3分,共24分)1若int类型变量占两个字节,定义intx[10]={0,2,4};,则数组x在内存中所占的字节数是___。2若有定义chara[]="\\141\141abc\t";,则数组a在内存中所占的字节数是___。3下列程序的输出结果是___。main(){inti,a[10];for(i=9;i>=0;i--)a[i]=10-i;printf("%d%d%d\n",a[2],a[5],a[8]);}4下列程序运行的结果是___。main(){charch[7]="65ab21";inti,s=0;for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2)s=10*s+ch[i]-'0';printf("%d\n",s);}5有定义语句:chars[100],d[100];intj=0,i=0;且s中已赋字符串,请填空以实现字符串复制。(注意:不得使用逗号表达式)while(s[i]){d[j]=___;j++;}d[j]=0;6下面程序运行的结果是___。main(){chars[]="abcdef";s[3]='\0';printf("%s\n",s);}7以下程序的输出结果是___。main(){charch[3][5]={"AAAA","BBB","CC"};printf("\"%s\"\n",ch[1]);}8以下程序的输出结果是___。main(){charch[]="abc",x[3][4];inti;for(i=0;i<3;i++)strcpy(x[i],ch);for(i=0;i<3;i++)printf("%s",&x[i][i]);printf("\n");}三程序填空题(每空3分,共36分)1以下程序的功能是:从键盘上输入若干个学生的成绩(用输入负数结束输入),统计出平均成绩,并输出低于平均分的学生成绩。请填空。#include""main(){intn=0,i;floatx[1000],sum=,ave,a;printf("Entermark:\n");scanf("%f",&a);while(a>=&&n<1000){sum+=【1】;x[n]=【2】;n++;scanf("%f",&a);}ave=【3】;print("Output:\n");printf("ave=%f\n",ave);for(i=0;i<n;i++)if(【4】)printf("%f\n",x[i]);}2以下程序的功能是求出矩阵x的上三角元素之积。其中矩阵x的行列数和元素的值均由键盘输入。请填空。#defineM10main(){intx[M][M];intn,i,j;longs=1;printf("Enterainteger(<=10):\n");scanf("%d",&n);printf("Enter%ddataoneachlineforthearrayx\n",n);for(【1】)for(j=0;j<n;j++)scanf("%d",&x[i][j]);for(i=0;i<n;i++)for(【2】)【3】;printf("%ld",s);}3以下程序,数组a中存放一个递增数列。输入一个整数,并将它插入到数组a中,使之仍为一个递增数列。请填空。main(){inta[【1】]={1,10,20,30,40,50,60,70,80,90},x,i,p;scanf("%d",&x);for(i=0,p=10;i<10;i++)if(x<a[i]){p=i;【2】;}for(i=9;i>=p;i--)a[i+1]=a[i];【3】;for(i=0;i<=10;i++)printf("%5d\n",a[i]);printf("\n");}4以下程序的功能是:将t数组的内容连接到s数组内容的后面,使s数组保存连接后的新字符串。main(){staticchars[30]="abcdefg",t[]="abcd";inti=0,j=0;while(s[i]!='\0')【1】;while(t[j]!='\0'){s[i+j]=t[j];j++;}【2】;printf("%s\n",s);}函数一单项选择题(每题2分,共40分)1以下正确的函数定义是___。Adoublefun(intx,inty)Bdoublefun(intx,y){z=x+y;returnz;}{intz;returnz;}Cfun(x,y)Ddoublefun(intx,inty){intx,y;doublez;{doublez;z=x+y;returnz;}returnz;}2以下正确的说法是___。A实参和与其对应的形参各占用独立的存储单元B实参和与其对应的形参共占用一个存储单元C有当实参和与其对应的形参同名时才共占用相同的存储单元D形参是虚拟的,不占用存储单元3若调用一个函数,且此函数中没有return语句,则正确的说法是___。A该函数没有返回值B该函数返回若干个系统默认值C能返回一个用户所希望的函数值D返回一个不确定的值4以下正确的描述是___。A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用均不可以嵌套D函数的定义和函数的调用均可以嵌套5若用数组名作为函数调用的实参,传递给形参的是___。A数组的首地址B数组中第一个元素的值C数组中的全部元素的值D数组元素的个数6以下不正确的说法是___。A在不同函数中可以使用相同名字的变量B形式参数是局部变量C在函数内定义的变量只在本函数范围内有定义D在函数内的复合语句中定义的变量在本函数范围内有定义7已知一个函数的定义如下:doublefun(intx,doubley){……}则该函数正确的函数原型声明为___。Adoublefun(intx,doubley)Bfun(intx,doubley)Cdoublefun(int,double);Dfun(x,y);8关于函数声明,以下不正确的说法是___。A如果函数定义出现在函数调用之前,可以不必加函数原型声明B如果在所有函数定义之前,在函数外部已做了声明,则各个主调函数不必再做函数原型声明C函数在调用之前,一定要声明函数原型,保证编译系统进行全面的调用检查D标准库不需要函数原型声明9调用函数的实参与被调用函数的形参应有如下关系___。A只要求实参与形参个数相等B只要求实参与形参顺序相同C只要求实参与形参数据类型相同D上述三点均需具备10凡在函数中未指定存储类别的变量,其隐含的存储类别是___。A自动B静态C外部D寄存器11在源程序的一个文件中定义的全局变量的作用域是___。A在本文件的全部范围B该程序的全部范围C一个函数的范围D从定义该变量的位置开始至该文件的结束12下列程序运行后的输出的数据是___。intsum(intn){intp=1,s=0,i;for(i=1;i<=n;i++)s+=(p*=i);returns;}main(){printf("sum(5)=%d\n",sum(5));}Asum(5)=151Bsum(5)=152Csum(5)=153Dsum(5)=15513下列程序运行后的输出结果是___。intc=1;main(){staticinta=5;intb=6;printf("a=%d,b=%d,c=%d\n",a,b,c);func();printf("a=%d,b=%d,c=%d\n",a,b,c);func();}func(){staticinta=4;intb=10;a+=2;c+=10;b+=c;printf("a=%d,b=%d,c=%d\n",a,b,c);}Aa=5,b=6,c=1Ba=5,b=6,c=11Ca=5,b=6,c=1Da=5,b=6,c=1a=6,b=21,c=11a=5,b=21,c=11a=5,b=21,c=11a=6,b=21,c=11a=5,b=6,c=11a=5,b=6,c=11a=5,b=6,c=11a=5,b=6,c=11a=8,b=31,c=21a=8,b=31,c=21a=8,b=31,c=21a=5,b=31,c=2114运行下面的程序后,其输出结果是___。main(){inta=6,b=2,c;c=f(a)/f(b);printf("%d\n",c);}intf(intx){inty;y=x++*x++;returny;}A9B6C36D1815下列程序输出结果是___。#include<>my(){staticintx=3;x++;return(x);}main(){inti,x;for(i=0;i<=2;i++)x=my();printf("%d\n",x);}A3B4C5D616下列程序的输出结果是___。#include<>intabc(intu,intv){intw;while(v){w=u%v;u=v;v=w;}returnu;}main(){inta=24,b=16,c;c=abc(a,b);printf("%d\n",c);}A8B6C5D417下列程序运行后的输出结果是___。main(){staticchars[]="abcdefgca";p(s);printf("s[]=%s\n",s);}p(chars[]){inti,j;for(i=j=0;s[i]!='\0';i++)if(s[i]!='a'+2)s[j++]=s[i];s[j]='\0';}As[]=abcdefgcaBs[]=abdefgaCs[]=bcdefgcD程序有错18下列程序运行后的输出结果是___。voidmain(){intm=4,n=2,k;k=fun(m,n);printf("%d\n",k);k=fun(m,n);printf("%d\n",k);}intfun(intx,inty){staticintn=3,i=2;i+=n+1;n=i+x+y;return(n);}A12B12C12D121223251619下列程序运行后的输出结果是___。intx=1;main(){inti=5;fun(i);printf("%d,%d\n",i,x);}fun(m)intm;{m+=x;x+=m;{charx='A';printf("%d\n",x);}printf("%d,%d\n",m,x);}A65BACAD656,16,16,76,76,16,16,75,720下列程序运行后,若从键盘输入ABC!四个字符后,程序输出是___。#include<>main(){voidreceiv();receiv();}voidreceiv(){charc;c=getchar();putchar(c);if(c!='!')receiv();putchar(c);}AABC!!BABC!ABC!CABC!!CBADABCABC二填空题(每空3分,共30分)1函数调用语句:fun((a,b),(c,d,e));,实参个数为___。2凡在函数中未指定存储类别的局部变量,其默认的存储类别为___。3在一个C程序中,若要定义一个只允许本源程序文件中所有函数使用的全局变量,则该变量需要定义的存储类别为___。4C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是___。5运行下面程序,其输出结果是___。#include<>intx,y;one(){inta,b;a=25,b=10;x=a-b;y=a+b;}main(){inta,b;a=9,b=5;x=a+b;y=a-b;one();printf("%d,%d\n",x,y):}6运行下面程序,其输出结果是___。#include<>main(){voidprintd()intn=123;printd(n);}voidprintd(intn){inti;if(n<0){n=-n;putchar('-');}putchar(n%10+'0');if((i=n/10)!=0)printd(i);}7运行下面程序,从键盘输入四个字符xyz#,其输出是___。#include<>main(){voidrecursion();recursion();}voidrecursion(){charc;c=getchar();putchar(c);if(c!='#')recursion();putchar(c);}8以下程序的输出结果是___。#include<>voidfun(intx){if(x/2>0)fun(x/2);printf("%d",x);}main(){fun(3);printf("\n");}9以下程序运行结果是___。inta=1;intf(intc){staticinta=2;c=c+1;return(a++)+c;}main(){inti,k=0;for(i=0;i<2;i++){inta=3;k+=f(a);}k+=a;printf("%d\n",k);}10.以下程序的运行结果是___。intk=0;voidfun(intm){m+=k;k+=m;printf("m=%d\nk=%d",m,k++);}main(){inti=4;fun(i++);printf("i=%dk=%d\n",i,k);}三程序填空题(每空3分,共30分)1一个整数称为完全平方数,是指它的值是另一个整数的平方。例如81是个完全平方数,因为它是9的平方。下列程序是在三位的正整数中寻找符合下列条件的整数:它既是完全平方数,且三位数字中又有两位数字相同:例如144(12*12)、676(26*26)等,程序找出并输出所有满足上述条件的三全数。程序如下:main(){intn,k,a,b,c;for(k=1;;k++){【1】if(n<100)【2】;if(n>999)【3】;a=n/100;b=【4】;c=n%10;if(flag(a,b,c))printf("n=%d=%d*%d\n",n,k,k);}}flag【5】{return(!((x-y)*(x-z)*(y-z)));}2以下程序的功能是应用近似公式计算ex的值。其中,函数f1计算每项分子的值,函数f2计算每项分母的值。共取nmax项之和作为e的近似值。floatf2(intn){if(n==1)return1;elsereturn【6】;}floatf1(floatx,intn){inti;floatj=【7】;for(i=1;【8】;i++)j=j*x;returnj;}#definenmax20main(){floatx,exp=;intn;printf("Inputxvalue:");scanf("%f",&x);for(n=1;n<nmax;n++)exp=【9】;printf("x=%f,exp(x)=%f\n",x,【10】_);}指针一单项选择题(每题2分,共40分)1以下叙述中错误的是___。A在程序中凡是以“#”开始的语句行都是预处理命令行B预处理命令行的最后不能以分号表示结束C#defineMAX是合法的宏定义命令行DC程序对预处理命令行的处理是在程序执行的过程中进行的2若程序中有宏定义行:#defineN100,则以下叙述中正确的是___。A宏定义行中定义了标识符N的值为整数100B在编译程序对C源程序进行预处理时用100替换标识符NC对C源程序进行编译时用100替换标识符ND在运行时用100替换标识符3若有如下宏定义:#defineN2#definey(n)((N+1)*n)则执行下列语句:z=4*(N+y(5));后的结果是___。A语句有错误Bz值为68Cz值为60Dz值为1804以下程序运行后的输出结果是___。#defineF(X,Y)(X)*(Y)main(){inta=3,b=4;printf("%d\n",F(a++,b++));}A12B15C16D205以下程序运行后的输出结果是___。#definef(x)(x*x)main(){inti1,i2;i1=f(8)/f(4);i2=f(4+4)/f(2+2);printf("%d,%d\n",i1,i2);}A64,28B4,4C4,3D64,646若已定义a为int型变量,则___是对指针变量p的正确说明和初始化。Aintp=&a;Bint*p=a;Cint*p=*a;Dint*p=&a;7已知下列说明语句:staticinta[]={2,4,6,8}staticint*p[]={a,a+1,a+2,a+3};int**q;q=p;则表达式**(q+2)的值是___。A6B2C4D88下面是一个初始化指针的语句:int*px=&a;,其中指针变量的名字应该___。A*pxBaCpxD&a9若指针px为空指针,则___。。Apx指向不定Bpx的值为零Cpx的目标为零Dpx的地址为零10对下语句int*px[10];,下面正确的说法是___。Apx是一个指针,指向一个数组,数组的元素是整数型。Bpx是一个数组,其数组的每一个元素是指向整数的指针。CA和B均错,但它是C语言的正确语句。DC语言不允许这样的语句。11具有相同基类型的指针变量p和数组y,下列写法中不合法的是___。Ap=yB*p=y[i]
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学生自责测试题及答案
- 学生缓解压力试题及答案
- 卫校急救考试题及答案
- 2024年标准化备考计划试题及答案
- 2024广告设计师证书考试心理学试题及答案
- 【深企投产业研究院】2025AI眼镜产业链研究报告-2025.4
- 商业美术设计师考试设计评估与反馈环节试题及答案
- 十九知识测试题及答案
- 人文知识考核试题及答案
- 产品特性与广告广告设计的匹配试题及答案
- 2025年电子信息工程专业考试卷及答案
- 广东省珠海市2024-2025学年高二下学期期中教学质量检测英语试题(原卷版+解析版)
- 美国加征关税从多个角度全方位解读关税课件
- “皖南八校”2024-2025学年高一第二学期期中考试-英语(译林版)及答案
- 2025-2030中国安宫牛黄丸行业市场现状分析及竞争格局与投资发展研究报告
- 防洪防汛安全教育知识培训
- 安宁疗护人文关怀护理课件
- 2025年广东广州中物储国际货运代理有限公司招聘笔试参考题库附带答案详解
- 商场物业人员缺失的补充措施
- 黑龙江省齐齐哈尔市龙江县部分学校联考2023-2024学年八年级下学期期中考试物理试题【含答案、解析】
- 《寻常型银屑病中西医结合诊疗指南》
评论
0/150
提交评论