2023年春中央电大C语言程序设计模拟试题及解答(亲测)_第1页
2023年春中央电大C语言程序设计模拟试题及解答(亲测)_第2页
2023年春中央电大C语言程序设计模拟试题及解答(亲测)_第3页
2023年春中央电大C语言程序设计模拟试题及解答(亲测)_第4页
2023年春中央电大C语言程序设计模拟试题及解答(亲测)_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计期末复习模拟试题(央本) -1-9-1-9页-1-一、选择题

2023春电大C语言程序设计模拟试题及解答由CC)。cpp B.exe C.obj D.CC〔D。表达式 B.标识符 C.语句 D.函数设x和yx||yC)。它们均为真 B.其中一个为真 C.它们均为假 D.其中一个为假x>0||y==5〔B。A.x<=0||y!=5 B.x<=0&&y!=5C.x>0||y!=5 D.x>0&&y==5枚举类型中的每个枚举常量的值都是一个〔A。整数 B.浮点数 C.字符 D.规律值循环体至少被执行一次的语句为(C)循环语句。A.for B.while C.do-while 循环语句“for(inti=0;i<n;i++)SSC)。1 B.n-1 C.n D.n+1在下面的while〔C。inti=0,s=0;while(s<20){i++;s+=i;}A.4 B.5 C.6 D.7在下面的字符数组定义中,(D)语句有语法错误。chara[20]“abcdef; .charC.chara[15]={„1‟,„2‟}; D.chara[10]=‟5’;假设定义了函数double*function,则返回值类型为〔B。实数型 B.实数指针型 C.函数指针型 D.数组型假设用数组名作为函数调用的实参,传递给形参的是〔A。数组的首地址 B.数组中第一个元素的值C.数组中全部元素的值 D.数组元素的个数预处理命令在程序中都是以(B)符号开头的。A.* B.# C.& D.@假定a为一个整型数组名,则元素a[4]的地址比该数组的首地址大(C)个字节。A.4 B.8 C.16 D.32以下给字符数组赋初值时,正确的选项是〔A。chars1[]=“abcdef“; B.chars2[4]=“abcd“;C.chars3[2][3]={“abc“,“xyz“}; D.chars4[4][]={”a”,”x”,”s”,”t”};变量s已定义为"char*s="Heollworld!";",要使变量p指向s所指向的同一个字符串,则应定义为〔A。char*p=s; B.char*p=&s; C.char*p;p=*s; D.char*p;p=&s;要使pa[10][20],p〔D。A.int*p=a; B.int**p=a; C.int*p[20]=a; D.int(*p)[20]=a;标准输入设备的文件流标识符是〔A。stdin B.stdout C.stderr D.stdio假设要以读/的翻开方式字符串为〔C。A.“r+“ B.“ab+“ C.“rb+“ D.“wb+“二、填空题单行或多行注释的开头标记符为 /* 。C语言程序中全部预处理命令均以 # 字符开头。使用#include命令可以包含一个头文件,也可以包含一个 程序文件。用于从键盘上变为变量输入值得标准输入函数是 sanf。执行“printf(“%s%s%d“,“wei“,“rong“,18);”语句后得到的输出结果为weirong18。十进制数25表示成符合C语言规章的八进制数为 031。7.执行“printf(“%c“,”A”+2);”语句后得到的输出结果为 C。8.假定一个枚举类型的定义为enumRA{ab,ac,ad,ae,则ac值 19.short类型的大小为 2个字节。double类型的大小为 8个字节。十进制数3.26f的类型为 float。执行int=45,y=1printf%d,x/y”语句序列后得到的输出结果 3。假定y=10,则表达式++y*3的值为 33。表达式x=x+y表示成复合赋值表达式为 x+y=y。关系表达式(x==0)的等价表达式为 (!x)。假定不允许使用规律非操作符,则规律表达式x>3&&x<10的相反表达式为 x<=3||x>=10。假设x=5,y=10,则x!=y的规律值为 1。假定x=,则执行inta=(!X?10:20”语句后a的值 20。在if语句中,每个else关键字与它前面同层次并且最接近的 if关键字相配套。假设while循环的“头”为whil〔i++<=1,并且i的初值为0,同时在循环体中不修改i的值,则循环体将被重复执行 11次后正常完毕。当在程序中执行到 contioue语句时,将完毕所在循环语句中循环体的一次执行。假定二维数组的定义为chara[3][5],则该数组所含元素的个数 15。23.假定二维数组的定义为“chara[M][N];”,则该数组所占存储空间的字节数为 M*N。typedefintABC[10ABC定义为具有10数组类型。存储字符串“a”需要占用存储器的 2 个字节空间。字符串“\‟a\‟xy=4\n”的长度为 8 。strlen函数用于计算一个字符串的 长度。strcat函数用于把一个字符串 连接到另一个字符串之后的存储空间中。函数中的形参变量的初值由调用该函数时对应的 实参值打算。对于无返回值函数,定义函数时要用保存字 void修饰函数类型。程序的编译是以 程序文件为单位进展的。假定p所指向对象的值为2,p+1所指对象的值为4,则执行(*〕++”语句,p所指向对象的值为 26 。假定aa[i]的指针访问方式为*(a+i)。假定p是一个指向整数对象的指针,则用 *p表示该整数对象。执行int*p=malloc(sizeof(int))操作得到的一个动态安排的整型对象为 *p。假定一个构造类型的定义“structC{double*a[4intn}则该类型的大小 20个字节。假定要动态安排一个类型为structWorker的具有n个元素的数组并由r指向这个动态数组,则使用的语句表达式为 structWorker*r=malloc(n*sizeof(structWorker))。与构造成员访问表达式p->name等价的表达式是 (*p).name。三、写出以下每个程序运行后的输出结果#include<stdio.h>voidmain{inti,s=0;for(i=1;;i++){if(s>50)break;if(i%2==0)s+=i;}printf(“i,s=%d,%d\n“,i,s);}结果:i,s=15,56#include<stdio.h>voidmain{结果***************charch=”*”;inti,结果***************for(i=0;i<n;i++)printf(“%c“,ch);printf(“\n“);if(--n==0)break;}}#include<stdio.h>constintN=5;voidmain{结果111222结果11122236942433p=p*i;s=s+p;printf(“%5d%5d“,i,p);printf(“%5d\n“,s);}}#include<stdio.h>voidmain{intx=24,y=88;inti=2,p=1;do{while(x%i==0&&y%i==0){p*=i;x/=i;y/=i;}i++;}while(x>=i&&y>=i);printf(“%d\n“,p*x*y);}结果:p*x*y=8*3*11=264#include<stdio.h>voidmain{inta[9]={36,25,48,24,55,40,18,66,20};inti,b1,b2;a[0]<=a[1]?(b1=a[0],b2=a[1]):(b1=a[1],b2=a[0]);for(i=2;i<9;i++)if(a[i]<b1){b2=b1;b1=a[i];}elseif(a[i]<b2)b2=a[i];printf(“%d%d\n“,b1,b2);}结果:1820#include<stdio.h>voidmain{inta[12]={76,63,54,62,40,75,80,92,77,84,44,73};intb[4]={60,70,90,101};intc[4]={0};inti,j;for(i=0;i<12;i++){j=0;while(a[i]>=b[j])j++;c[j]++;}for(i=0;i<4;i++)printf(“%d“,c[i]);printf(“\n“);}结果:3261#include<stdio.h>voidmain{结果102040354020结果102040354020{intb=a+25;a*=4;printf(“%d%d\n“,a,b);}printf(“%d%d\n“,a,b);} C语言程序设计期末复习模拟试题(央本) 8.#include<stdio.h>-5-9-5-9页-5-voidSelectSort(inta[],intn){inti,j,k,x;for(i=1;i<n;i++){//n-1k=i-1;for(j=i;j<n;j++)if(a[j]<a[k])k=j;x=a[i-1];a[i-1]=a[k];a[k]=x;}}voidmain{inti;inta[6]={20,15,32,47,36,28};SelectSort(a,6);for(i=0;i<6;i++)printf(“%d“,a[i]);printf(“\n“);}结果:152028323647#include<stdio.h>voidmain{inta[8]={4,8,12,16,20,24,28,32};int*p=a;do{printf(“%d“,*p);p+=2;}while(p<a+8);printf(“\n“);}结果:4122028#include<stdio.h>voidLE(int*a,int*b){intx=*a;*a=*b;*b=x;}结果15262615void结果15262615intx=15,y=26;printf(“%d%d\n“,x,y);LE(&x,&y);printf(“%d%d\n“,x,y);} C语言程序设计期末复习模拟试题(央本) 11.#include<stdio.h>-6-9-6-9页-6-#include<string.h>structWorker{charname[15];//姓名intage; floatpay; };intEqual(structWorker*r1,structWorker*r2){if(strcmp(r1->name,r2->name)==0)return1;elsereturn0;}voidmain{structWorkera[4]={{“abc“,25,420},{“defa“,58,638},{“ghin“,49,560},{“jklt“,36,375}};structWorkerx={“defa“};inti;for(i=0;i<4;i++)if(Equal(a+i,&x))break;if(i>=4)printf(“没有查找所需要的记录!\n“);elseprintf(“%s%d%6.2f\n“,a[i].name,a[i].age,a[i].pay);}结果:defa58638.00四、写出以下每个函数的功能intSE(intn){//n1intx,s=0;printf(“输入%d“,n);scanf(“%d“,&x);if(n==1)returnx;s=x;while(--n){scanf(“%d“,&x);s+=x;}returns;}函数功能:求出键盘上输入的n个整数之和并返回。floatFH{floatx,y=0,n=0;scanf(“%f“,%x);while(x!=-1.0){n++;y+=x;scanf(“%f“,%x);}if(n--0)returny;elsereturny/n;}函数功能:求出从键盘上输出的一批常数的平均值,以-1.0作为完毕输入的标志。 C语言程序设计期末复习模拟试题(央本) -7-9-7-9页-7-#include<stdio.h>voidWA(inta[],intn){inti,k,j,x;for(i=0;i<n-1;i++){k=i;for(j=i+1;j<n;j++)if(a[j]>a[k])k=j;x=a[i];a[i]=a[k];a[k]=x;}}函数功能:承受选择排序的方法对数组a中的n个整数依据从大到小的次序重排列。#include<stdio.h>int*LJ(inta[],intn){inti,k=0;for(i=1;i<n;i++)if(a[i]>a[k])k=i;return&a[k];}a中nvoidQC(structStrNode*f){while(f){printf(“%s\n“,f->name);f=f->next;}}假定构造类型StrNodestuctStrNode{charname[15]; //字符串域structStrNode*next; //指针域};f单链表,即从头结点开头依次输出fintOutput(structIntNode*f){intsum=0;if(!f)return-9999;//用返回特定值-9999while(f){sum+=f->data;f=f->next;}returnsum;}假定structIntNodestructIntNode{intdata; //结点值域structIntNode*next;//结点指针域};函数功能:对于以表头指针为f的链表,求出并返回全部结点中data域的值之和。intwr4(FILE*fptr){charch;intc=0;fseek(fptr,0,SEEK_SET);while(1){ch=fgetc(fptr);if(ch!=EOF)c++;elsebreak;}returnc;

温馨提示

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

评论

0/150

提交评论