2023年c语言电大语言程序设计A复习资料_第1页
2023年c语言电大语言程序设计A复习资料_第2页
2023年c语言电大语言程序设计A复习资料_第3页
2023年c语言电大语言程序设计A复习资料_第4页
2023年c语言电大语言程序设计A复习资料_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计A复习资料一一、单选题1.由C语言目的文献连接而成的可执行文献的缺省扩展名为()。A.cppB.exeC.objD.c2.设有两条语句为“inta=12;a+=a*a;”,则执行结束后,a的值为()。A.12B.144C.156D.283.带有随机函数调用的表达式rand()%20的值在()区间内。A.1~19B.1~20C.0~19D.0~204.for循环语句“for(i=0;i<n;i+=2)S;”中循环体S语句被执行的次数为()。A.(n+1)/2B.n/2+1C.n/2-15.在下列的字符数组定义中,存在语法错误的是()。A.chara[20]="abcdefg";B.chara[]="x+y=55.";C.chara[15]={'1','2'};D.chara[10]='5';6.若有一个函数原型为“double*function()”,则它的返回值类型为()。A.实数型B.实数指针型C.函数指针型D.数组型7.在C语言中,所有预解决命令都是以()符号开头的。A.*B.#C.&D.@8.假定整数指针p所指数据单元的值为30,p+1所指数据单元的值为40,则执行*p++后,p所指数据单元的值为()。A.40B.30C.70D.9.若要使p指向二维整型数组a[10][20],则p的类型为()。A.int*B.int**C.int*[20]D.int(*)[20]10.表达文献结束符的符号常量为()A.eofB.EofC.EOFD.feof二、填空题1.一个函数定义由________和函数体两部分组成。2.执行“printf("%c",'F'-2);”语句后得到的输出结果为________。3.int类型的长度为________。4.表达式(float)25/4的值为________。5.若x=5,y=10,则x<=y的逻辑值为________。6.作为语句标号使用的case和default只能用于________语句的定义体中。7.在程序中执行到________语句时,将结束所在函数的执行过程,返回到调用该函数的位置。8.假定二维数组的定义为“chara[M][N];”,则该数组所含元素的个数为________。9.存储字符'a'需要占用存储器的________个字节空间。10.用于存储一个长度为n的字符串的字符数组的长度至少为________。11.假定p所指对象的值为25,p+1所指对象的值为46,则执行表达式(*p)++后,p所指对象的值为________。12.假定p是一个指向整数对象的指针,则用________表达该整数对象。13.假定一个结构类型的定义为“structB{inta[5];char*b;};”,则该类型的理论长度为________。三、写出下列每个程序运营后的输出结果1.#include<stdio.h>voidmain(){inti,s1=0,s2=0;for(i=0;i<10;i++)if(i%2)s1+=i;elses2+=i;printf("%d%d\n",s1,s2);}2.#include<stdio.h>constintM=20;voidmain(){inti=2;while(1){if(i>M/2)break;if(M%i==0)printf("%d",i);i++;}printf("\n");}3.#include<stdio.h>inta[6]={4,5,6,15,20,12};voidmain(){inti,s1,s2;s1=s2=0;for(i=0;i<6;i++){switch(a[i]%2){case0:s2+=a[i];break;case1:s1+=a[i];break;}}printf("%d%d\n",s1,s2);}4.#include<stdio.h>voidmain(){inta[3][3]={{3,5,7},{9,11,13},{6,8,20}};inti,*p=&a[0][0];for(i=0;i<9;i++){if(*p>10)printf("%d",*p);p++;}printf("\n");}5.#include<stdio.h>#include<string.h>structWorker{charname[15];intage;floatpay;};voidmain(){structWorkerx;char*t="liouting";intd=38;floatf=400;strcpy(,t);x.age=d;x.pay=f;x.age++;x.pay*=2;printf("%s%d%6.2f\n",,x.age,x.pay);}四、写出下列每个函数的功能1.#include<stdio.h>intSA(inta,intb){if(a>b)return1;elseif(a==b)return0;elsereturn-1;}函数功能:2.voidOutput(structIntNode*f)//f为单链表的表头指针{if(!f)return;while(f){printf("%d",f->data);f=f->next;}printf("\n");}假定structIntNode的类型定义为:structIntNode{intdata;structIntNode*next;};函数功能:五、按题目规定编写程序或函数6.编写一个程序,计算1+3+32+...+310的值并输出,假定分别用i,p,s作为循环变量、累乘变量和累加变量的标记符。6.根据函数原型“intFF(inta[],intn)”,编写函数定义,计算并返回数组a[n]中所有元素之和。参考答案一、单选题1.B2.C3.C4.A5.D6.B7.B8.A9.D10.C二、填空题1.函数头2.D6.switch或开关或分情况7.return或返回8.M*N9.110.n+111.2612.*p13.24三、写出下列每个程序运营后的输出结果评分标准:根据答案对的限度酌情给分。1.25202.245103.20424.1113205.liouting39800.00四、写出下列每个函数的功能评分标准:根据答案叙述的对的与完善限度酌情给分。1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a<b则返回-1。2.遍历并输出由f所指向的单链表中每个结点的值。五、按题目规定编写程序或函数评分标准:按程序或函数编写的对的与完整限度酌情给分。1.#include<stdio.h>voidmain(){inti;intp=1;ints=1;for(i=1;i<=10;i++){p*=3;s+=p;}printf("%d\n",s);}2.intFF(inta[],intn){inti,sum=0;for(i=0;i<n;i++)sum+=a[i];returnsum;}C语言程序设计A复习资料二一、选择题1.由C语言源程序文献编译而成的目的文献的缺省扩展名为()。A.cppB.exeC.objD.C2.C语言程序的基本模块为()。A.表达式B.标记符C.语句D.函数3.x>0||y==5的相反表达式为()。A.x<=0||y!=5B.x<=0&&y!=5C.x>0||y!=5D.x>0&&y==54.枚举类型中的每个枚举常量的值都是一个()。A.整数B.浮点数C.字符D.逻辑值5.循环语句“for(inti=0;i<n;i++)S;”中循环体S被执行的次数为()。A.1B.n-1C.nD.n+16.在下面的while循环语句中,其循环体被执行的次数为()。inti=0,s=0;while(s<20){i++;s+=i;}A.4B.5C.6D.77.若定义了函数double*function(),则返回值类型为()。A.实数型B.实数指针型C.函数指针型D.数组型8.若用数组名作为函数调用的实参,传递给形参的是()。A.数组的首地址B.数组中第一个元素的值C.数组中所有元素的值D.数组元素的个数9.假定a为一个整型数组名,则元素a[4]的地址比该数组的首地址大()个字节。A.4B.8C.16D.3210.下列给字符数组赋初值时,对的的是()。A.chars1[]="abcdef";B.chars2[4]="abcd";C.chars3[2][3]={"abc","xyz"};D.chars4[4][]={'a','x','s','t'};A.char*p=s;B.char*p=&s;C.char*p;p=*s;D.char*p;p=&s;11.要使p指向二维整型数组a[10][20],p应定义为()。A.int*p=a;B.int**p=a;C.int*p[20]=a;D.int(*p)[20]=a;12.标准输入设备的文献流标记符是()。A.stdinB.stdoutC.stderrD.stdio13.若要以读/写操作方式打开一个二进制文献,当文献不存在时返回打开失败信息,则选用的打开方式字符串为()。A."r+"B."ab+"C."rb+"D."wb+"二、填空题1.单行或多行注释的开始标记符为__________。2.使用#include命令可以包含一个头文献,也可以包含一个______文献。3.执行“printf("%s%s%d","wei","rong",18);”语句后得到的输出结果为________。4.执行“printf("%c",'A'+2);”语句后得到的输出结果为________。5.short类型的大小为________个字节。6.十进制数3.26f的类型为________7.假定y=10,则表达式++y*3的值为________。8.关系表达式(x==0)的等价表达式为________。9.若x=5,y=10,则x!=y的逻辑值为________。10.在if语句中,每个else关键字与它前面同层次并且最接近的________关键字相配套。11.当在程序中执行到________语句时,将结束所在循环语句中循环体的一次执行。12.假定二维数组的定义为“chara[M][N];”,则该数组所占存储空间的字节数为________。13.存储字符串"a"需要占用存储器的________个字节空间。14.strlen函数用于计算一个字符串的________。15.函数中的形参变量的初值由调用该函数时相应的________值决定。16.程序的编译是以__________为单位进行的。17.假定a是一个一维数组,则a[i]的指针访问方式为________。18.执行int*p=malloc(sizeof(int))操作得到的一个动态分派的整型对象为________。19.假定要动态分派一个类型为structWorker的具有n个元素的数组,并由r指向这个动态数组,则使用的语句表达式为________________=malloc(n*sizeof(structWorker))。20.与结构成员访问表达式p->name等价的表达式是____________。三、写出下列每个程序运营后的输出结果1.#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);}2.#include<stdio.h>voidmain(){charch='*';inti,n=5;while(1){for(i=0;i<n;i++)printf("%c",ch);printf("\n");if(--n==0)break;}}3.#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);}4.#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);}5.#include<stdio.h>voidmain(){inta=10,b=20;printf("%d%d\n",a,b);{intb=a+25;a*=4;printf("%d%d\n",a,b);}printf("%d%d\n",a,b);}6.#include<stdio.h>voidSelectSort(inta[],intn){inti,j,k,x;for(i=1;i<n;i++){//进行n-1次选择和互换k=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");}7.#include<stdio.h>voidLE(int*a,int*b){intx=*a;*a=*b;*b=x;}voidmain(){intx=15,y=26;printf("%d%d\n",x,y);LE(&x,&y);printf("%d%d\n",x,y);}8.#include<stdio.h>#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);}四、写出下列每个函数的功能1.intSE(intn){//n为大于等于1的整数intx,s=0;printf("输入%d个整数:",n);scanf("%d",&x);if(n==1)returnx;s=x;while(--n){scanf("%d",&x);s+=x;}returns;}2.#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;}}3.#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];}4.intOutput(structIntNode*f){intsum=0;if(!f)return-9999;//用返回特定值-9999表达空表while(f){sum+=f->data;f=f->next;}returnsum;}假定structIntNode的类型定义为:structIntNode{intdata;//结点值域structIntNode*next;//结点指针域};5.intwr4(FILE*fptr){charch;intc=0;fseek(fptr,0,SEEK_SET);while(1){ch=fgetc(fptr);if(ch!=EOF)c++;elsebreak;}returnc;}五、根据下列每个题目规定编写程序1.编写一个函数fun(),一方面从键盘上输入一个4行4列的一个实数矩阵到一个二维数组a[4][4]中,接着求出主对角线上元素之和,最后返回求和结果。2.编写一个主函数,计算1+3+32+...+310的值并输出,假定分别用i,p,s作为循环变量、累乘变量和累加变量的标记符。3.编写一个主函数,已知6≤a≤40,15≤b≤30,求出满足不定方程2a+5b=120的所有整数组解。如(13,20)就是其中的一组解。参考答案一、选择题1.C2.D3.B4.A5.C6.C7.B8.A9.C10.A11.D12.A13.C二、填空题1./*2.程序3.weirong184.C5.26.fl

温馨提示

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

评论

0/150

提交评论