版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
期末考试模拟练习题(2)一、单选题(共40题,40分)1、有以下程序:#include<stdio.h>voidmain(){inti;for(i=1;i<=5;i++){if(i%2)printf("*");elsecontinue;printf("#");}printf("$\n");}程序的输出结果是().A、*#*#*#$B、#*#*#*$C、*#*#$D、#*#*$正确答案:A解析:2、如果在函数中定义了变量,则以下说法正确的是()A、该变量的有效范围是整个程序B、该变量的有效范围是整个函数C、该变量的有效范围是整个文件D、该变量的有效范围是整个主函数正确答案:B解析:2/243、以下程序的输出结果是______.#include<stdio.h>voidmain(){chara[10]={'1','2','3','4','5','6','7','8','9','\0'};inti;i=8;printf("%s\n",&a[i-3]);}A、6B、6789C、6'D、789正确答案:B解析:4、有以下定义和语句inta[3][2]={1,2,3,4,5,6,},*p[3];p[0]=a[1];则*(p[0]+1)所代表的数组元素是()A、a[0][1]B、a[1][0]C、a[1][2]D、a[1][1]正确答案:D解析:5、intfunc(inta,intb){intx;x=a*b;returnx;}main(){intx=1,y=2,z=3,r;r=func(func(x,y),z);printf("%d\n",r);}程序输出的结果是()A、63/24B、7C、8D、9正确答案:A解析:6、若有以下定义:intt[3][2];能正确表示t数组元素地址的表达式是______A、&t[3][2]B、t[3]C、t[1]D、*t[2]正确答案:C解析:7、下列描述中不正确的是()A、字符型数组中可以存放字符串B、可以对字符型数组进行整体输入、输出C、可以对整型数组进行整体输入、输出D、不能在赋值语句中通过赋值运算符"="对字符型数组名进行整体赋值正确答案:C解析:8、有以下程序main(){char*s[]={"apple","pear","peach"},*p;p=s[1];printf("%c,%s\n",*(p+1),s[0]);}执行后输出结果是______A、e,pearB、e,appleC、p,pearD、p,peach正确答案:B解析:4/249、下列数组说明中,正确的是().A、intarray[][4];B、intarray[][];C、intarray[][][5];D、intarray[3][];正确答案:A解析:10、设有以下定义和语句inta[3][2]={1,2,3,4,5,6};则*a[1]所代表的数组元素是______.A、a[0][1]B、a[1][0]C、a[1][1]D、a[1][2]正确答案:B解析:11、若i为整型变量,则以下循环执行次数是().for(i=2;i==0;)printf("%d",i--);A、无限次B、0次C、1次D、2次正确答案:B解析:12、以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是().A、chars[10]="abcdefg";B、chart[]="abcdefg",*s=t;C、chars[10];s="abcdefg";D、chars[10];strcpy(s,"abcdefg");正确答案:C解析:5/2413、以下程序段()x=-1;do{x=x*x;}while(!x);A、是死循环B、循环执行两次C、循环执行一次D、有语法错误正确答案:C解析:14、在C语言中,函数的数据类型是指:()A、函数返回值的数据类型B、函数参数的数据类型C、调用函数是的实参的数据类型D、任意指定的数据类型正确答案:A解析:15、voidmain(){inti,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}执行以上语句后,结果是__________.A、9,11,9,10B、9,11,9,11C、9,11,8,10D、9,11,8,11正确答案:A解析:6/2416、有以下程序#include<string.h>#include<stdio.h>intmain(){charstr[][20]={"Hello","Beijing"},*p=str[0];printf("%d\n",strlen(p));return0;}程序运行后的输出结果是()A、0B、5C、7D、20正确答案:B解析:17、以下程序的输出结果是______.#include<stdio.h>#defineM(x,y,z)x*y+zintmain(){inta=1,b=2,c=3;printf("%d\n",M(a+b,b+c,c+a));return0;}A、19B、17C、15D、12正确答案:D解析:7/2418、执行以下语句后,x和y的值分别是______.inta=2,b=4,c=6,x,y;y=(x=a+b),(b+c);A、6,6B、6,10C、2,6D、2,10正确答案:A解析:19、设以下变量均为int类型,则值不等于7的表达式是_________.A、(x=y=6,x+y,x+1)B、(x=y=6,x+y,y+1)C、(x=6,x+1,y=6,x+y)D、(y=6,y+l,x=y,x+1)正确答案:C解析:20、C语言中函数调用的表现方式有().A、函数调用作为语句一种B、函数调用作为函数表达式一种C、函数调用作为语句或函数表达式两种D、函数调用作为语句、函数表达式或函数参数三种正确答案:D解析:21、有以下程序段inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[0],b;b=p[5];b中的值是()A、5B、6C、8D、9正确答案:B解析:8/2422、以下程序的输出结果是______.main(){inti,x[3][3]={1,2,3,4,5,6,7,8,9},*p=&x[1][1];for(i=0;i<4;i+=2)printf("%d",p[i]);}A、57B、58C、56D、59正确答案:A解析:23、有以下程序main(){char*name[]={"pizza","sam","jack"},*p;p=name[1];printf("%s\n",p);}执行后输出结果是______.A、pizzaB、samC、jackD、p4正确答案:B解析:24、#include<stdio.h>intf(intn){if(n==1)return1;elsereturnn+1;}main(){inti,j=0;9/24for(i=1;i<3;i++)j+=f(i);printf("%d\n",j);}程序运行后的输出结果是______.A、4B、3C、2D、1正确答案:A解析:25、若有定义语句:doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x;则错误引用x数组元素的是______.A、*pB、x[5]C、*(p+1)D、*x正确答案:B解析:26、有以下程序段().charch;intk;ch='a';k=12;printf(''%c,%d,'',ch,ch,k);printf(''k=%d\n'',k);已知字符a的ASCII十进制代码为97,则执行上述程序段后输出结果是()A、因变量类型与格式描述符的类型不匹配输出无定值B、输出项与格式描述符个数不符,输出为零值或不定值C、a,97,12k=12D、a,97,k=12正确答案:D解析:27、能正确表示逻辑关系:"a>=10或a<=0"的C语言表达式是().A、a>=10ora<=0B、a>=0|a<=10C、a>=10&&a<=0D、a>=10‖a<=0正确答案:D解析:28、设有以下说明语句typedefstruct{intn;charch[8];}PER;则下面叙述中正确的是A、PER是结构体变量名B、PER是结构体类型名C、typedefstruct是结构体类型D、struct是结构体类型名正确答案:B解析:29、有如下定义structperson{charname[9];intage;};structpersonclass[10]={"John",17,"Paul",19,"Mary",18,"Adam",16,};根据上述定义,能输出字母M的语句是______.A、printf("%c\n",class[3].name);B、printf("%c\n",class[3].name[1]);C、printf("%c\n",class[2].name[1]);D、printf("%c\n",class[2].name[0]);正确答案:D解析:30、C语言中运算对象必须是整型的运算符是________.A、%B、==C、/D、<=正确答案:A11/24解析:31、若有定义:intx=0,*p=&x;则语句printf("%d\n",*p);的输出结果是()A、随机值B、0C、x的地址D、p的地址正确答案:B解析:32、C语言执行程序的开始执行点是().A、程序中第一条可以执行的语句B、程序中第一个函数C、程序中的main函数D、包含文件中的第一个函数正确答案:C解析:33、以下程序的输出结果是______.main(){intx[2][2]={4,3,2,1},*p=&x[0][0];printf("%d",((*p)+1));}A、1B、2C、4D、5正确答案:D解析:34、有以下程序段inta[10]={1,2,3,4,5},b;b=a[7];b中的值是______.A、112/24B、5C、0D、不确定正确答案:C解析:35、有如下说明:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是______.A、*p+9B、*(p+8)C、*p+=9D、p+8正确答案:B解析:36、能够完成字符串拼接的函数是______A、strcpy()B、strlen()C、strcmp()D、strcat()正确答案:D解析:37、设有如下说明structstudent{intage;charsex;floatscore;};则以下选项中,能正确定义结构体数组并赋初值的语句是______.A、structstudenttt[2]={{15,'M',62.5},{20,'F',75.8}};B、structtt[2]={1,"A",62,2,"",75};C、structtt[2]={{1,'A'},{2,'B'}};D、studenttt[2]={{1,"A",62.5},{2,"B",75.0}};正确答案:A解析:13/2438、遇到以下()语句,其所在循环终止。A、break语句B、return语句C、continue语句D、空语句正确答案:A解析:39、执行以下语句后,结果是____.voidmain(){inta=1,b=2;a=a/b;printf("%d,%d\n",a,b);}A、0,2B、2,0C、0,0D、1,2正确答案:A解析:40、能够获取字符串长度的函数是______A、strlen()B、strcpy()C、strcmp()D、strcat()正确答案:A解析:二、填空题(共6题,30分)1、/*------------------------------------------------------【程序改错】--------------------------------------------------------14/24功能:根据整型形参m,计算如下公式的值:y=1+1/3+1/5+1/7+...+1/(2m-3)------------------------------------------------------*/#include<stdio.h>doublefun(intm){/**********FOUND**********/doubley=1inti;/**********FOUND**********/for(i=1;i<m;i++)/**********FOUND**********/y+=1.0/(2i-3);return(y);}voidmain(){intn;printf("Entern:");scanf("%d",&n);printf("\nTheresultis%1f\n",fun(n));}正确答案:第1空:doubley=1;第2空:for(i=3;i<=m;i++);for(i=3;m>=i;i++)第3空:y+=1.0/(2*i-3);;y=y+1.0/(2*i-3);解析:2、/*------------------------------------------------------【程序改错】--------------------------------------------------------功能:fun函数功能是判断m是否为素数,若是返回1,否则返回0。------------------------------------------------------*/#include<stdio.h>/**********FOUND**********/voidfun(intn){inti,k=1;if(m<=1)k=0;/**********FOUND**********/for(i=1;i<m;i++)if(m%i==0)k=0;15/24/**********FOUND**********/returnm;}voidmain(){intm,k=0;for(m=1;m<100;m++)/**********FOUND**********/if(fun(m)=1){printf("%4d",m);k++;if(k%5==0)printf("\n");}}正确答案:第1空:intfun(intm)第2空:for(i=2;i<m;i++);for(i=2;m>i;i++);for(i=2;i<=m-1;i++);for(i=2;m-1>=i;i++)第3空:returnk;第4空:if(fun(m)==1)解析:3、/*------------------------------------------------------【程序改错】16/24--------------------------------------------------------功能:求出以下分数序列的前n项之和。和值通过函数值返回main函数。2/1+3/2+5/3+8/5+13/8+21/13……例如:若n=5,则应输出:8.391667。------------------------------------------------------*/#include<conio.h>#include<stdio.h>/**********FOUND**********/fun(intn){inta,b,c,k;doubles;s=0.0;a=2;b=1;for(k=1;k<=n;k++){/**********FOUND**********/s=(double)a/b;c=a;a=a+b;b=c;}/**********FOUND**********/returnc;}voidmain(){intn=5;printf("\nThevalueoffunctionis:%lf\n",fun(n));}正确答案:第1空:doublefun(intn)第2空:s=s+(double)a/b;;s+=(double)a/b;;s+=a/(double)b;;s=s+a/(double)b;17/24第3空:returns;解析:4、/*------------------------------------------------------【程序改错】--------------------------------------------------------功能:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后除以10的余数代替该位数字。再将新生成数据的第一位和第四位交换,第二位和第三位交换。例如:输入一个四位整数1234,则结果为:9876。------------------------------------------------------*/#include<stdio.h>voidmain(){inta,i,aa[4],t;printf("输入一个四位整数:");/**********FOUND**********/scanf("%d",a);aa[0]=a%10;/**********FOUND**********/aa[1]=a%100%10;aa[2]=a%1000/100;aa[3]=a/1000;/**********FOUND**********/for(i=0;i<3;i++){aa[i]+=5;aa[i]%=10;}for(i=0;i<=3/2;i++){t=aa[i];aa[i]=aa[3-i];aa[3-i]=t;18/24}for(i=3;i>=0;i--)printf("%d",aa[i]);}正确答案:第1空:scanf("%d",&a);第2空:aa[1]=a%100/10;;aa[1]=a/10%10;第3空:for(i=0;i<=3;i++);for(i=0;i<4;i++)解析:5、/*------------------------------------------------------【程序改错】--------------------------------------------------------功能:求广义菲玻那契级数的第n项。广义菲玻那契级数的前n项为:1,1,1,3,5,9,17,31,……项值通过函数值返回main()函数。例如:若n=15,则应输出:Thevalueis:2209。------------------------------------------------------*/#include<stdio.h>longfun(intn){longa=1,b=1,c=1,d=1,k;/**********FOUND**********/for(k=4;k<n;k++){d=a+b+c;/**********FOUND**********/19/24a=bb=c;c=d;}/**********FOUND**********/returnk;}voidmain(){intn=15;printf("Thevalueis:%ld\n",fun(n));}正确答案:第1空:for(k=4;k<=n;k++);for(k=4;n>=k;k++)第2空:a=b;第3空:returnd;解析:6、/*------------------------------------------------------【程序改错】--------------------------------------------------------功能:输入两个双精度数,函数返回它们的平方和的平方根值。例如:输入:22.936和14.121,输出为:y=26.934415。------------------------------------------------------*/#include<stdio.h>#include<math.h>/**********FOUND**********/doublefun(double*a,*b){doublec;/**********FOUND**********/c=sqrt(a*a+b*b);/**********FOUND**********/return*c;}voidmain(){doublea,b,y;printf("Entera,b:");scanf("%lf%lf",&a,&b);y=fun(&a,&b);printf("y=%f\n",y);}正确答案:第1空:doublefun(double*a,double*b)第2空:c=sq
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年中西医结合医院行业洞察报告及未来五至十年供需变化与价格趋势
- 2026年南宁市西乡塘区事业单位人员招聘考试试题与答案详解
- 2026年张掖市甘州区公务员人员招聘笔试试题与答案详解
- 2026年大连市西岗区公务员人员招聘考试备考试题与答案详解
- 2026年鼻饲输注速度管控儿科护理试卷及答案
- 2026秋国家开放大学《动物营养与饲料》(课程ID:04883)形考作业1-3参考答案
- 2026秋国家开放大学《调剂学》(课程ID:02524)形考作业及参考答案
- 2025~2026学年四川省达州市渠县崇德实验学校八年级下学期期末教学质量监测数学试卷
- 2026年秋国开常见心理问题与危机应对形考任务1-3答案
- 2026年河北评标专家模拟试题(含答案)
- 北京市高职升本科统一考试英语模拟试题(含答案及详细解析)
- 绵阳科技城新区创业园街道社区卫生服务中心2026年医生招聘(4人)笔试备考题库及答案解析
- 新版【新教材】统编版(2024)七年级上册道德与法治期中复习:必刷100题选择题(含答案解析)
- (2025年)陕西省西安市员额法官遴选面试考题及答案
- 深度解析(2026)《DLT 1969-2019 水电厂水力机械保护配置导则》
- 《增材制造技术》全套教学课件
- 手术管理知识培训课件
- 肺栓塞溶栓知情同意书模板
- 铆焊加工安全培训课件
- 甲沟炎课件教学课件
- 消毒消杀课件
评论
0/150
提交评论