C语言程序设计第3阶段练习题答案 江南大学2022年秋机考_第1页
C语言程序设计第3阶段练习题答案 江南大学2022年秋机考_第2页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第15页/共NUMPAGES\*ARABIC15页江南大学网络教育第三阶段练习题答案,答案在最后一页。考试科目:《C语言程序设计》第章至第章(总分100分)__________学习中心(教学点)批次:层次:专业:学号:身份证号:姓名:得分:一单选题(共20题,总分值40分,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。)1.设一整型(int)变量占用2个字节则下述共同体变量x所占用内存字节数为()。unionexp{inti;floatj;doublek;}x;

(2分)A.14个B.7个C.8个D.随机而定2.下面正确调用形式是()。(2分)A.fscanf(文件指针,格式字符串,输出表列);B.fscanf(格式字符串,文件指针,输出表列);C.fscanf(格式字符串,输出表列,文件指针);D.fscanf(文件指针,格式字符串,输入表列);3.若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是()。(2分)A.EOFB.0C.非零值D.NULL4.有以下程序main(){char*p[10]={“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”};printf(“%d\n”,strlen(p[4]));}执行后输出结果是()。

(2分)A.2B.3C.4D.55.以下叙述中不正确的是()。(2分)A.C语言中的文本文件以ASCⅡ码形式存储数据B.C语言中对二进制文件的访问速度比文本文件快C.C语言中,随机读写方式不适用于文本文件D.C语言中,顺序读写方式不适用于二进制文件6.函数AAA(s,t)char*s,*t;{while(*t++);t--;while(*t++=*s++);}的功能是()。

(2分)A.求串的长度B.比较两个串的大小C.将串s复制到串t中D.将串s连接到串t中7.对于基类型相同的指针变量,不能进行()运算。(2分)A.+B.-C.=D.==8.写出下列语句执行结果()。inta,b,c,d=4,m=6,n=8;int*p1=&d,*p2=&m,*p3;a=p1==&d;b=3*(-*p1)/(*p2)+7;c=*(p3=&n)=*p1*(*p2);printf("%d,%d,%d",a,b,c);

(2分)A.1,5,24B.4,5,23C.1,2,22D.5,5,149.对于基类型相同的指针变量,不能进行()运算。(2分)A.+B.-C.=D.==10.如果希望向文本文件末尾添加数据,则应以()方式打开文件。(2分)A."r"B."w"C."a"D."ab"11.设有定义:inta,*pA=&a;以下scanf语句中能正确为变量a读入数据的是()。(2分)A.scanf(“%d”,pA);B.scanf(“%d”,A);C.scanf(“%d”,&pA);D.scanf(“%d”,*pA);12.若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是()。(2分)A.a,point,*&aB.&*a,&a,*pointC.*&point,*point,&aD.&a,&*point,piont13.以下对C语言中共用体类型数据的叙述()的叙述是正确的。(2分)A.可以对共有变量名直接赋值B.一个共用体变量中可以同时存放其所有成员C.一个共有体变量中不能同时存放其所有成员D.共用体类型定义中不能出现结构体类型的成员14.以下函数的功能是()。fun(char*a,char*b){while((*a!='\0')&&(*b!='\0')&&(*a==*b)){a++;b++;}return(*a-*b);}

(2分)A.计算a和b所指字符串的长度之差B.将b所指字符串连接到a所指字符串中C.将b所指字符串连接到a所指字符串后面D.比较a和b所指字符串的大小15.运行下列程序后的输出结果是()。main(){chars[]="Yes\n/No",*ps=s;puts(ps+4);*(ps+4)=0;puts(s);}

(2分)A.n/NoYes\B./NoYesC.n/NO/NoD.YesYes16.设有如下定义structss{charname[10];intage;charsex;}std[3],*p=std;下面各输入语句中错误的是()。

(2分)A.scanf("%d",&(*p).age);B.scanf("%s",&);C.scanf("%c",&std[0].sex)D.scanf("%c",&(p->sex));17.阅读下面程序,并给出结果()。main(){unionEXAMPLE{struct{intx;inty;}in;inta,b;}e;e.a=1;e.b=2;e.in.x=e.a*e.b;e.in.y=e.a+e.b;printf("%d%d",e.in.x,e.in.y);}

(2分)A.38B.48C.47D.2518.C语言结构体类型变量在程序执行期间()。(2分)A.所有成员一直驻留在内存中B.只有一个成员驻留在内存中C.部分成员驻留在内存中D.没有成员驻留在内存中19.若有定义:inta[3][4];则对该数组的i行j列元素值的正确引用为()。(2分)A.*(*(a+i)+j)B.(a+i)[j]C.*(a+i+j)D.*(a+i)+j20.有以下程序main(){charstr[]="xyz",*ps=str;while(*ps)ps++;for(ps--;ps-str>=0;ps--)puts(ps);}执行后的输出结果是()。

(2分)A.yzxyzB.zyzC.zyzxyzD.xxyxyz二填空题(共6题,总分值30分)21.设有如下说明语句:enum

week{sun,mon,tue=100,wed,thu,fri,sat};则元素sun对应的实际值为_________、wed对应的实际值为_________。(5分)22.运行下列程序后,第一行输出内容_________,第二行输出内容_________。main(){chara[2][5]={"fghi","name"};char*p,*s;intj;p=a[0];s=a[1];while(*p)p++;while(*s)*p++=*s++;for(j=0;j<2j=""printf=""s=""n=""a="">(5分)23.运行程序后输出的第一行内容是_________、第二行内容是_________、最后一行内容是_________。fun(intn,int*s){intf1,f2;if(n==1||n==2)*s=1;else{fun(n-1,&f1);fun(n-2,&f2);*s=2*f1+f2+1;printf(“\n%d,%d“,f1,f2);}}main(){intx;fun(4,&x);printf(“\nx=%d”,x);}(5分)24.若有定义语句“staticcharstr[4][20]={“thank”,“you”,“very”,“much!”};”则str数组中存储‘\0’的数组元素有_________个。(5分)25.输入一个不包含空格的字符串,判断输入的字符串是否为回文,回文是相对中心左右对称的字符串,如:“abcba”和“abddba”是回文,而字符串“abcAa”不是回文。#include”stdio.h”intf(char

*p){

char*p1,*p2;

p1=p2=p;

while(*p2++);_________;while(_________){

if(_________)return(0);

p1++;

p2--;

}return1;}main(){

chars[200];

printf(“输入一个字符串:”);

scanf(“%s”,s);

if(_________)printf(“字符串:%s是回文!\n”,s);

elseprintf(“字符串:%s不是回文!\n”,s);}(5分)26.下面的程序将D盘上的文件abc.txt的内容显示在屏幕上,请填空。#include"stdio.h"main(){FILE*fp;charc;if((_________)==NULL){printf("cannotopenfile!\n");exit(0);}while((_________)!=EOF)putchar(c);_________;}

(5分)三编程题(共2题,总分值30分)27.某班有10个学生,每个学生包含姓名和3门课的成绩,编写一个程序,从键盘上输入每个学生的姓名和各门课的成绩,同时输出平均成绩在85分以上的学生的姓名、全部成绩和平均成绩。(15分)28.(设有一数列,包含10个数,要求:a.编写函数,采用冒泡排序法对之按照升序进行排列;b.编写函数,能够将从指定位置n开始的m个数按逆序重新排列并输出新的完整数列。(例如:原数列为2,4,6,8,10,12,14,16,18,20,若要求把从第2个数开始的5个数按逆序重新排列,则得到新数列为2,12,10,8,6,4,14,16,18,20。)(15分)

一单选题(共20题,总分值40分,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。)1.本题正确的答案选项为:C解析过程:2.本题正确的答案选项为:D解析过程:3.本题正确的答案选项为:C解析过程:4.本题正确的答案选项为:A解析过程:5.本题正确的答案选项为:D解析过程:6.本题正确的答案选项为:D解析过程:7.本题正确的答案选项为:A解析过程:8.本题正确的答案选项为:A解析过程:9.本题正确的答案选项为:A解析过程:10.本题正确的答案选项为:C解析过程:11.本题正确的答案选项为:A解析过程:12.本题正确的答案选项为:D解析过程:13.本题正确的答案选项为:C解析过程:14.本题正确的答案选项为:D解析过程:15.本题正确的答案选项为:B解析过程:16.本题正确的答案选项为:B解析过程:17.本题正确的答案选项为:B解析过程:18.本题正确的答案选项为:A解析过程:19.本题正确的答案选项为:A解析过程:20.本题正确的答案选项为:C解析过程:二填空题(共6题,总分值30分)21.本题正确的答案选项为:0,101解析过程:22.本题正确的答案选项为:fghinamee,amee解析过程:23.本题正确的答案选项为:1,1,4,1,x=10解析过程:24.本题正确的答案选项为:63解析过程:25.本题正确的答案选项为:p2=p2-2,*p1!=‘\0’,*p1!=*p2,f(s)解析过程:26.本题正确的答案选项为:fp=fopen(“d:\\abc.txt”,“r”),c=fgetc(fp),fclose(fp)解析过程:三编程题(共2题,总分值30分)27.本题正确的答案选项为:#include"stdio.h"#include"string.h"#defineN10struct

student{

charname[10];floatscore[3];};main(){

struct

student

stu[N];

intI,j;

for(I=0;I<N;I++)scanf(“%s,%f,%f,%f”,stu[I].name,&stu[I].score[0],&stu[I].score[1],&stu[I].score[2]);

for(I=0;I<N;I++)printf(“%s,%f,%f,%f\n”,stu[I].name,stu[I].score[0],stu[I].score[1],stu[I].score[2]);

f2(stu);}voidf2(structstudentstu[]){intI,j;floatave[N]={0};

for(j=0;j<N;j++)

{for(I=0;I<3;I++)

ave[j]=ave[j]+stu[j].score[I];

ave[j]=ave[j]/3;

if(ave[j]>85)printf("%s,%f,%f,%f,%f\n",stu[j].name,stu[j].score[0],stu[j].score[1],stu[j].score[2],

ave[j]);}}解析过程:28.本题正确的答案选项为:

sort(int*a)

{inti,j,temp;

for(i=1;i<10;i++)

{for(j=0;j<10-i;j++)

if(*(a+j)>*(a+j+1))

{temp=*(a+j);*(a+j)=*(a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论