版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
期末考试模拟练习题(4)一、单选题(共40题,40分)1、有以下程序#include<stdio.h>main(){inta[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL;*q=*(p+5);printf("%d%d\n",*p,*q);}程序运行后的输出结果是______.A、运行后报错B、66C、611D、510正确答案:A解析:2、以下程序中,while循环的循环次数是______main(){inti=0;while(i<10){if(i<1)continue;if(i==5)break;i++;}}A、1B、4C、6D、死循环,不能确定次数正确答案:D解析:2/253、#include<stdio.h>voidmain(){chara,b,c,d;scanf("%c%c",&a,&b);c=getchar();d=getchar();printf("%c%c%c%c\n",a,b,c,d);}当执行程序时,按以下方式输入数据(从第一行开始,<CR>代表回车,注意:回车是一个字符)12<CR>34<CR>则输出结果是:A、1234B、12C、123D、1234正确答案:C解析:4、有以下程序#include<stdio.h>voidf(int*x,int*y){intt;t=*x;*x=*y;*y=t;}intmain(){inta[8]={1,2,3,4,5,6,7,8},i,*p,*q;p=a;q=&a[7];while(p<q){f(p,q);p++;q--;}3/25for(i=0;i<8;i++)printf("%d,",a[i]);return0;}程序运行后的输出结果是______.A、8,2,3,4,5,6,7,1,B、5,6,7,8,1,2,3,4,C、1,2,3,4,5,6,7,8,D、8,7,6,5,4,3,2,1,正确答案:D解析:5、intfunc(inta,intb){return(a+b);}main(){intx=1,y=2,z=3,r;r=func(func(x,y),z);printf("%d\n",r);}程序输出的结果是()A、3B、4C、5D、6正确答案:D解析:6、以下函数调用语句中实参的个数是().S(a1,a2);A、2B、3C、4D、5正确答案:A解析:4/257、设有以下语句:charstr1[]="string",str2[10]="s2string";则下列选项中,______不是对库函数strcpy的正确调用.A、strcpy(str1,"HELLO1");B、strcpy(str1,str2);C、strcpy(str2,"HELLO3");D、strcpy(str2,str1);正确答案:B解析:8、Giventhedeclarations:inta[5],*p=a;whichexpressionisequivalenttotheexpressionp+2?A、a[2]B、&a+2C、a+2D、p[2]-1正确答案:C解析:9、以下正确的函数定义形式是().A、voidsushu(x,y){}B、voidsushu(intx;inty){}C、voidsushu(intx,inty){}D、voidsushu(intx;inty);正确答案:C解析:10、以下程序的输出结果是______.main(){inti,a[10];for(i=0;i<10;i++)a[i]=10-i;printf("%d%d%d",a[1],a[3],a[5]);}5/25A、258B、741C、852D、975正确答案:D解析:11、若有以下定义,则对a数组元素的正确引用是().inta[5],*p=a;A、*&a[5]B、a+2C、*(p+5)D、*(a+2)正确答案:D解析:12、下面程序的输出是______.intm=13;intfun2(intx,inty){intm=3;return(x*y-m);}main(){inta=7,b=5;printf("%d\n",fun2(a,b)/m);}A、1B、2C、7D、10正确答案:B解析:13、C语言程序中,若对函数类型未加显式说明,则函数的隐含说明类型为().A、voidB、double6/25C、intD、char正确答案:C解析:14、有以下程序main(){intp[7]={11,13,14,15,16,17,18},i=0,k=0;while(i<7&&p[i]%2){k=k+p[i];i++;}printf("%d\n",k);}执行后输出的结果是______.A、58B、56C、45D、24正确答案:D解析:15、判断两个字符串是否相等,正确的表达方式是()A、if(s1==s2)B、if(s1=s2)C、if(strcmp(s1,s2)==0)D、if(strcmp(s1,s2)=0)正确答案:C解析:16、#include<stdio.h>main(){inti,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++)m=m%j;printf(''%d\n'',m);}程序的运行结果是().A、0B、1C、27/25D、3正确答案:B解析:17、有下列程序:voidmain(){intk=5;while(--k)printf("%d",k-=3);printf("\n");}执行后的输出结果是().A、1B、2C、4D、死循环正确答案:A解析:18、以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是().A、chars[10]="abcdefg";B、chart[]="abcdefg",*s=t;C、chars[10];s="abcdefg";D、chars[10];strcpy(s,"abcdefg");正确答案:C解析:19、以下for循环的执行次数是()for(i=1,j=3;(j<6)||(i>3);i++)printf("*");A、3B、无限次C、不定D、6次正确答案:B8/25解析:20、执行以下语句后结果是_______.inta=1,b=0,c=5;printf("%d,%d",b=a+b,c+=c=7);A、1,14B、1,7C、1,12D、1,10正确答案:A解析:21、若执行以下程序,则输出的结果是:#include<stdio.h>voidmain(){inta=6,b=7,m=1;switch(a%2){case0:m++;break;case1:m++;switch(b%2){default:m++;case0:m++;break;}}printf("%d\n",m);}A、1B、2C、3D、4正确答案:B解析:22、以下程序段的输出结果为().charc[]="abc";inti=0;9/25do;while(c[i++]!='\0');printf("%d",i-1);A、abcB、abC、2D、3正确答案:D解析:23、下列说法中错误的是()A、一个数组只允许存储同种类型的变量B、如果在对数组进行初始化时,给定的数据元素个数比数组元素个数少时,多余的数组元素会被自动初始化为最后一个给定元素的值C、数组的名称其实是数组在内存中的首地址D、当数组名作为参数被传递给某个函数时,原数组中的元素的值可以被函数修改正确答案:B解析:24、以下程序输出的结果是______.#include<stdio.h>voidmain(){inta=5,b=4,c=3,d;d=(a>b>c);printf("%d\n",d);}A、0B、1C、2D、3正确答案:A解析:25、以下程序的输出结果是______.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);}A、20B、21C、22D、23正确答案:B解析:26、有以下程序段inta[10]={1,2,3,4,5},b;b=a[7];b中的值是______.A、1B、5C、0D、不确定正确答案:C解析:27、以下数组定义中不正确的是______.A、inta[2][3];B、intb[][3]={0,1,2};C、intc[100][100]={0};D、intd[3][]={{1,2},{1,2,3},{1,2,3,4}};正确答案:D解析:28、以下程序的输出结果是______.main(){intx[2][2]={1,2,3,4},*p=&x[1][0];11/25正确答案:B解析:31、能够完成字符串拼接的函数是______A、strcpy()B、strlen()C、strcmp()D、strcat()正确答案:D解析:32、在C语言中,一维数组的定义方式为:类型说明符数组名[],其中[]中的内容为().A、[常量表达式]B、[整型表达式]C、[整型常量]或[整型表达式]D、[整型常量]正确答案:D解析:33、#defineP3floatF(intx){return(P*x*x);}该函数的类型是______.A、整型B、浮点型C、字符型D、无类型正确答案:B解析:34、设有定义:intn1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是______.A、*p=*q;B、p=q;C、*p=&n1;D、p=*q;正确答案:A解析:12/2535、structData{intmonth;intyear;intday;};structstudent{intno;Databirthday;charname[20];}st;以下选项中引用结构体变量成员的表达式正确的是______.A、scanf("%s",&);B、st.birthday='abc';C、st.no=1;D、st->birthday="123";正确答案:C解析:36、若有定义:inta[2][3];,以下选项中对a数组元素正确引用的是______.A、a[2][0]B、a[2][3]C、a[0][3]D、a[0][1]正确答案:D解析:37、有以下说明和定义语句structstudent{intage;charnum[8];};structstudentstu[3]={{20,"200401"},{21,"200402"},{19,"200403"}};structstudent*p=stu;以下选项中引用结构体变量成员的表达式错误的是______.A、(p++)->numB、p->numC、(*p).numD、stu[3].age正确答案:D13/25解析:38、若有定义:doublex[]={0,2.3,4.5};则数组x存放的元素个数是_____.A、不确定B、1C、2D、3正确答案:D解析:39、能够进行字符串比较的函数是______A、strlen()B、strcat()C、strcmp()D、strcpy()正确答案:C解析:40、执行以下语句后的结果是________.voidmain(){floatf=5.75;printf("%d,%f\n",(int)f,f);}A、5,5.750000B、5.000000,5.750000C、6,5.750000D、6.000000,5.750000正确答案:A解析:二、填空题(共6题,30分)1、/*------------------------------------------------------【程序改错】--------------------------------------------------------功能:求一个3行4列矩阵的外框的元素值之和。14/25注意:矩阵四个角上的元素不能重复加。例如:矩阵元素为1,2,3,4,5,6,7,8,9,10,11,12时,四框元素值之和应为65。------------------------------------------------------*/#include<stdio.h>intfun(inta[3][4],intm,intn){/**********FOUND**********/inti,j,s,s1=s2=s3=s4=0;for(j=0;j<n;j++){s1=s1+a[0][j];/**********FOUND**********/s2=s2+a[m][j];}/**********FOUND**********/for(i=0;i<m;i++){s3=s3+a[i][0];s4=s4+a[i][n-1];}/**********FOUND**********/s=s1-s2-s3-s4;returns;}voidmain(){inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};printf("total=%d\n",fun(a,3,4));}正确答案:第1空:inti,j,s,s1=0,s2=0,s3=0,s4=0;第2空:s2=s2+a[m-1][j];;s2+=a[m-1][j];;s2=a[m-1][j]+s2;第3空:15/25for(i=1;i<m-1;i++);for(i=1;i<-1+m;i++);for(i=1;m-1>i;i++);for(i=1;-1+m>i;i++);for(i=1;i<=m-2;i++);for(i=1;m-2>=i;i++)第4空:s=s1+s2+s3+s4;;s=s1+s3+s4+s2;;s=s1+s4+s2+s3;;s=s2+s3+s4+s1;;s=s3+s4+s1+s2;;s=s2+s1+s3+s4;;s=s2+s4+s3+s1;;s=s1+s2+s4+s3;;s=s1+s3+s2+s4;;s=s1+s4+s3+s2;;s=s2+s3+s1+s4;;s=s3+s4+s2+s1;;s=s2+s1+s4+s3;;s=s2+s4+s1+s3;;s=s3+s1+s4+s2;;s=s3+s1+s2+s4;;s=s3+s2+s4+s2;;s=s3+s2+s2+s4;;s=s4+s1+s2+s3;;s=s4+s1+s3+s2;;s=s4+s2+s3+s1;;s=s4+s2+s1+s3;;s=s4+s3+s1+s2;;s=s4+s3+s2+s1;解析:2、/*------------------------------------------------------【程序改错】--------------------------------------------------------功能:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。------------------------------------------------------*/#include<stdio.h>voidmain(){charc;intletters=0,space=0,digit=0,others=0;printf("pleaseinputsomecharacters\n");/**********FOUND**********/while((c=getchar())=='\n'){/**********FOUND**********/if(c>='a'&&c<='z'&&c>='A'&&c<='Z')letters++;/**********FOUND**********/elseif(c=!'')space++;elseif(c>='0'&&c<='9')digit++;elseothers++;}printf("allinall:char=%dspace=%ddigit=%dothers=%d\n",letters,space,digit,others);}正确答案:第1空:while((c=getchar())!='\n')16/25第2空:if(c>='a'&&c<='z'||c>='A'&&c<='Z');if(c<='z'&&c>='a'||c>='A'&&c<='Z');if(c<='z'&&c>='a'||c<='Z'&&c>='A');if(c>='a'&&c<='z'||c<='Z'&&c>='A')第3空:elseif(c=='')解析:3、/*------------------------------------------------------【程序改错】--------------------------------------------------------功能:编写一个程序模拟袖珍计算器的加、减、乘、除四则运算。例如:输入3+5=或5-2=或3*4=或4/2=,求表达式结果。------------------------------------------------------*/#include<stdio.h>voidmain(){floatx,y;charoperate1;printf("Arithmeticexpression\n");/**********FOUND**********/scanf("%f",x);/**********FOUND**********/while((operate1==getchar())!='='){scanf("%f",&y);/**********FOUND**********/switch(y){case'+':x+=y;break;case'-':x-=y;break;case'*':x*=y;break;case'/':x/=y;break;}}printf("%.2f",x);}17/25正确答案:第1空:scanf("%f",&x);第2空:while((operate1=getchar())!='=')第3空:switch(operate1)解析:4、/*------------------------------------------------------【程序改错】--------------------------------------------------------功能:有一数组内放10个整数,要求找出最小数和它的下标,然后把它和数组中最前面的元素(即数组中第一个数组元素)对换位置.------------------------------------------------------*/#include<stdio.h>voidmain(){inti,a[10],min,k=0;printf("\npleaseinputarray10elements\n");for(i=0;i<10;i++)/***********FOUND***********/scanf("%d",a[i]);for(i=0;i<10;i++)printf("%d",a[i]);min=a[0];/***********FOUND***********/for(i=3;i<10;i++)/***********FOUND***********/if(a[i]>min){min=a[i];k=i;}/***********FOUND***********/a[k]=a[i];a[0]=min;printf("\naftereschange:\n");18/25for(i=0;i<10;i++)printf("%d",a[i]);printf("\nk=%d\nmin=%d\n",k,min);}正确答案:第1空:scanf("%d",&a[i]);;scanf("%d",a+i);第2空:for(i=1;i<10;i++);for(i=0;i<10;i++);for(i=1;i<=9;i++);for(i=0;i<=9;i++);for(i=1;10>i;i++);for(i=0;10>i;i++);for(i=1;9>=i;i++);for(i=0;9>=i;i++)第3空:if(a[i]<min);if(*(a+i)<min)第4空:a[k]=a[0];;*(a+k)=*(a+0);解析:5、/*------------------------------------------------------【程序改错】--------------------------------------------------------功能:求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积。例如:输入圆的半径值:19.527输出为:s=598.950017。------------------------------------------------------*/#include<stdio.h>/**********FOUND**********/doublefun(r){doubles;/**********FOUND**********/s=1/2*3.14159*r*r;/**********FOUND**********/returnr;}voidmain(){floatx;printf("Enterx:");scanf("%f",&x);printf("s=%f\n",fun(x));}正确答案:第1空:floatfun(floatr);doublefun(floatr);doublefun(doubler)19/25第2空:s=1.0/2*3.14159*r*r;;s=1/2.0*3.14159*r*r;;s=0.5*3.14159*r*r;;s=(double)1/2*3.14159*r*r;;s=1/(double)2*3.14159*r*r;第3空:returns;解析:6、/*------------------------------------------------------【程序改错】--------------------------------------------------------功能:编写一个程序计算某年某月有几天。(注意要区分闰年)------------------------------------------------------*/#include<stdio.h>voidmain(){intyy,mm,len;printf("year,month=");scanf("%d%d",&yy,&mm);/**********FOUND**********/switch(yy){case1:case3:case5:case7:case8:case10:case12:len=31;/**********FOUND**********/breakcase4:case6:case9:case11:len=30;break;case2:if(yy%4==0&&yy%100!=0||yy%400==0)len=29;elselen=28;break;/**********FOUND**********/defaultprintf("inputerror!\n");break;}printf("Thelengthof%d%dis%d\n",yy,mm,len);}正确答案:第1空:switch(mm)第2空:break;第3空:default:解析:三、简答题(共3题,30分)1、功能:从键盘为一维整型数组输入10个整数,调用fun函数找出其中最小的数,并在main函数中输出。答题要求:写出完整代码,并截图,以“附件”形式上传。21/25#include<stdio.h>intfun(intx[],intn){/**********Program**********//**********End**********/}intmain(){inta[10],i,min;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++)printf("%3d",a[i]);printf("\n");min=fun(a,10);printf("%d\n",min);ret
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年公务员考试行测冲刺数量关系试题(含答案)
- 2026年语文学考浙江模拟试题及答案
- 2026年监理工程师市政继续教育考试(含答案)
- 2026年卫生毒理学模拟试题及答案
- 2026年省考行测社会保障模拟试题模拟试题及参考答案
- 2026年磨工技师模拟试题及参考答案
- 2026年财务知识竞赛试题带答案
- 2026年心肌标志物模拟试题及答案
- 2026年贫血护理常规模拟试题及参考答案
- 2026年plc部分复习题(含答案)
- 《自制打气筒》 教学设计-2026教科版四年级科学上册
- 2026年自考06393土木工程概论历年试题及答案详解
- 重症患者持续葡萄糖监测应用专家共识(2026版)
- 2026年四川省绵阳市公安辅警招聘考试试卷(含完整答案及详细解析)
- 金融行业现状及发展趋势
- 测量设备校验程序
- 公安信访与警调对接课件
- 铝材清洗承包协议书
- 锐捷施工方案
- Unit4 Amazing plants and animals语法填空专项训练100题-2025-2026学年人教版英语八年级上册
- T∕HNSSTA 005-2025 三亚市摩托艇旅游服务规范
评论
0/150
提交评论