2024年C电大语言程序设计A全面复习指南_第1页
2024年C电大语言程序设计A全面复习指南_第2页
2024年C电大语言程序设计A全面复习指南_第3页
2024年C电大语言程序设计A全面复习指南_第4页
2024年C电大语言程序设计A全面复习指南_第5页
已阅读5页,还剩18页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

C语言程序设计A复习资料一

一、单项选择题

1.由C语言目日勺文献连接而成的可执行文献的缺省扩展名为()。

A.cppB.exeC.objD.c

2.设有两条语句为“inta=12;a+二a*a;",则执行结束后,aH勺值为(:•<,

A.12B.144C.156D.28

3.带有随机函数调用的体现式ra0也)%2()时值在()区间内。

A.1-19B.1-20C.0~19D.0〜20

4.for循环语句“for(i=0;i<n;i+=2)S;"中循环体S语句被执行的I次数为()。

A.(n+l)/2B.n/2+1C.n/2-1D.n-

1

5.在下列MJ字符数组定义中,存在语法错误的是()。

A.chara[20]="abcdefg”;B.chara[]=Mx+y=55.";

C.chara[15]=<'D.chara[10]=,5Z;

6.若有一种函数原型为“double"function()”,则它的返回值类型为()。

A.实数型B.实数指针型C.函数指针型D.数组型

7.在C语言中,所有预处理命令都是以()符号开头时。

A.*B.#C.&D.©

8.假定整数指针p所指数据单元日勺值为30,P+1所指数据单元的值为40,则执行

*P++后,P所指数据单元时值为()o

A.40B.30C.70D.10

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类型的长度为________o

4.体现式(f1oat)25/4时值为。

5.若x=5,y=10,则x<=y的逻辑值为。

6.作为语句标号使用的casc和defauIt只能用于语句的J定义体中。

7.在程序中执行到语句时,将结束所在函数依J执行过程,返回到调用该函

数的位置。

8.假定二维数组H勺定义为“chara[M][N];",则该数组所含元素的个数为.

9.存储字符'a'需要占用存储器的个字节空间。

10.用于存储一种长度为n的字符串II勺字符数组的长度至少为。

11.假定p所指对象的值为25,p+l所指对象ll勺直为46,则执行体现式(*p)++后,p

所指对象的值为o

12.假定p是一种指向整数对象日勺指针,则用体现该整数对象。

13.假定一种构造类型的定义为“structB{inta[5];char*b;};",则该类型的

理论长度为o

三、写出下列每个程序运行后的输出成果

1.ttinc1ude<stdio.h>

voidmain(){

inti,sl=0,s2=0;

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

if(i%2)sl+=i;

e1ses2+=i;

printf("%d%d\n*,s1,s2);

)

2.#inc1ude<stdio.h>

constintM=20;

voidmaiinO

(

inti=2;

while(1){

if(i>M/2)break;

if(M%i==0)printf("%d",i);

i++;

inti,*p=&a[O][0];

for(i=0;i<9;i++){

if(*p>10)printf("%d",*p);

p++;

)

printf("\n〃);

}

5.#include<stdio.h>

ttinclude<string.h>

structWorker{charname[15];intage;floatpay;};

voidmain(){

structWorkerx;

char*t=*liouting〃;

intd=38;floatf=400;

strepy(x.name,t);

x.age=d;x.pay=f;

x.age+4-;x.pay*=2;

printf(**%s%d%6.2f\n”,x.name,x.agc,x.pay);

}

四、写出下列每个函数的功能

1.#inc1ude(stdio.h>

ntSA(inta,int

if(a>b)return

e1seif(a==b)return0;

elsereturn-1;

函数功能:

2.voidOutput(structIntNode*f)//f为单链表H勺表头指针

(

if(!f)return;

whi1e(f){

prinf->data);

f=f->next;

printf("\n");

假定structIntNodeH勺类型定义为:

structIntNode{intdata;structIntNode*next;};

函数功能:

五、按题目规定编写程序或函数

6.编写一种程序,计算1+3+32+...+34时值并输出,假定分别用「p,s作为循环变量、

累乘变量和累加变量的标识符。

6.根据函数原型“intFF(inta[],intn)”,编写函数定义,计算并返回数组a

[n]中所有元素之和。

参照答案

一、单项选择题

1.B2.C3.C4A5.D

6.B7.B8.A9.D10.C

二、填空题

1.函数头2.D3.44.6.25

5.16.switch或开关或分状况

7.return或返回8.M*N

9.110.n+111.2612.*p

13.24

三、写出下列每个程序运行后的输出成果

评分原则:根据答案对的程度酌情给分。

1.2520

2.24510

3.2042

4.111320

5.1iouting39800.00

四、写出下列每个函数的功能

评分原则:根据答案论述H勺对的I与完善程度酌情给分。

1.比较两个整数a和b『、J大小,若a>b则返回1,若a==b则返回0,若a<b则返回T。

2.遍历并输出由f所指向的单链表中每个结点H勺值。

五、按题目规定编写程序或函数

评分原则:按程序或函数编写的对II勺与完整程度酌情给分。

1.

#inc1ude<stdio.h>

voidmair()

(

inti;

intp=l;

ints=l;

for(i=1;i<=10;i++){p*=3;s+=p;}

printf(*%d\n",s);

)

2.intFF(inta[],intn)

inti,sum=O;

for(i=0;i<n;i++)sum+=a[i";

returnsum;

C语言程序设计A复习资料二

一、选择题

1.由C语言源程序文献编译而成的目的文献的缺省扩展名为()<,

A.cppB.exeC.objD.C

2.C语言程序的J基本模块为()o

A.体现式B.标识符C.语句D.函数

3.x>0I|y==5口勺相反体现式为(),>

A.x<=0I|y!=5B.x<=0&&y!=5

C.x>0||y!=5D.x>()&&y==5

4.枚举类型中的每个枚举常量时值都是一种()。

A.整数B.浮点数

C.字符D.逻辑值

5.循环语句“f。r(inti=0;i<n;i++)S;"中循环体S被执行的次数为

A.1B.n-1C.D.n+1

6.在下面的Iwhile循环语句中,其循环体被执行的次数为()。

inti=0,s=0;while(s<20){i++;s+=i;}

A.4B.5C.6I).7

7.若定义了函数double*function(),则返回值类型为()。

A.实数型B.实数指针型C.函数指针型D.数组型

8.若用数组名作为函数调用的实参,传递给形参II勺是()。

A.数组的首地址B.数组中笫一种元素的值

C.数组中所有元素的值D.数组元素日勺个数

9.假定a为一种整型数组名,则元素a[4]日勺地址比该数组的首地址大()个字

节。

A.4B.8C.16D.32

10.下列给字符数组赋初值时,对的J的是(

A.charsl[]="abcdef;B.chars2[4]=*abcd*;

C.chars3[2][3]={"abc","xyz");D.chars4[4]a,,'

x','s','l'}

A.char*p=s;B.char*p=&C.char*p;p=*s;

D.char*p;pqs:

11.要使p指向二维整型数组a[10][20],p应定义为()。

A.int*p=a;B.int**p=a;C.int*p[20]=a;D.in

t(*p)[20]=a;

12.原则输入设备的文献流标识符是()。

A.stdinB.stdoutC.stderrI),stdio

13.若要以读/写操作方式打开一种二进制文献,当文献不存在时返回打开失败信

息,则选用的打开方式字符串为()。

A."r+〃B."ab+"C."rb+"D.〃\vb+“

二、填空题

1.单行或多行注释的开始标识符为o

2.使用#inelude命令可以包括〜种头文献,也可以包括一种文献。

3.执行“printfL%s%s%d","wei","rong”,18)■语句后得到的输出成果

为。

4.执行“printf("%c",'A'+2);”语句后得到口勺输出成果为。

5.short类型的大小为个字节。

6.十进制数3.26f¥j类型为。

7.假定y=l(),则体现式++y*3的值为o

8.关系体现式(x==0川勺等价体现式为。

9.若x=5,y=l0,则x!=y的逻辑值为。

10.在if语句中,每个eIse关键字与它前面同层次并且最靠近的关键

字相配套。

11.当在程序中执行到语句时,将结束所在循环语句中循环体的一次执

行。

12.假定二维数组的定义为“chara[M][N];",则该数组所占存储空间的字节数为

13.存储字符串〃a"需要占用存储器的个字节空间。

14.str1en函数用于计算一种字符串日勺。

15.函数中的形参变量的初值由调用该函数时对应的值决定。

16.程序的编译是以为单位进行的。

17.假定a是一种一维数组,则a[i]的指针访问方式为。

18.执行int*p=ma1loc(sizeof(int))操作得到的一种动态分派日勺整型对

象为o

19.假定要动态分派一种类型为structWorker日勺具有n个元素时数组,并由r

指向这个动态数组,则使用的I语句体现式为=malloc(n*sizeo

f(structWorker))。

20.与构造组员访问体现式P->name等价的体现式是。

三、写出下列每个程序运行后的输出成果

1.#inc1ude<sidio.h>

voidmain(){

inti,s=0;

for(i=1;;i++){

if(s>50)break;

if(i%2==0)s+=i;

)

printf("i,s=%d,i,s);

)

2.#include<stdio.h>

voidmain()(

charc上='*';

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;

while(x%i==0&&y%i==O){

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[l]?(bl=a[0],b2=a[1]):(bl=a[l],b2=a[0]);

for(i=2;i<9;i++)

if(a[i]<bl){b2=bl;bl=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(H%d%d\n”,a,b);

)

6.#include<stdio.h>

voidSeiectSort(inta[],intn)

{

inti,j;k,x;

for(i=l;i<n;i++){〃进行n-l次选择和互换

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);

Se1ectSort(a,6);

for(i=0;i<6;i++)printf("%d*,a[i]);

printf("\n");

)

7.ncludc<stdio.h>

voidLE(int*a,int*b){

intx="a;

*a=*b;*b=x;

)

voidmain(){

intx=15,y=26;

printfC%d/d\n”,x,y);

LE(&x,&y);

printf("%d%d\n”,x,y);

)

8.ttinclude<stdio.h>

#include<string.h>

structWorker

charname[15];〃姓名

intage;//年龄

f1oatpay;//工资

);

intEqua1(structWorker*r1,structWorker*r2)

(

if(strcmp(rl->name,r2->name)==0)return1;

eIsereturn0;

)

voidmainO{

structWorkera[4]={{"abc”,25,420},{"defa”,58,638),

{"ghin”,49,560},{*jklt36,375));

structWorkerx={"defa"};

inti;

for(i=0;i<4;i++)

if(Equa1(a+i,&x))break;

if(i>=4)printf(〃没有查找所需要l内记录!\n");

eIseprintf("%s%d%6.2f\n",a[i].name,a[i].ag

e,a[i].pay);

)

四、写出下列每个函数的功能

1.intSE(intn){〃n为不不大于等于1的整数

intx,s=0;

printf("输入%d个整数:",n);

scanf("%d”,&x):

if(n==l)returnx;

s=x;

while(—n){scanf&x);s+=x;}

returns;

)

2.Sinclude<stdio.h>

voidWA(inta口,intn){

inti,k,j,x;

for(i=0;i<n—1;i++){

k=i;

for(j=i4-1;j<n;j++)

if(a[j]>a[k])k=j;

x=a[i];a[i]=a[k];a[k]=x;

}

3.#inc1ude<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(struetIntNode*f)

(

intsum=0;

if(!f)return—9999;//用返回特定值-9999体现空表

whi1e(f){

sum+=f->data;

f=f->ncxt;

)

returnsum;

)

假定structIntNode的类型定义为:

structIntNode{

intdata;〃结点值域

structIntNode*next;//结点指针域

);

5.intwr4(FILE*fptr)

(

charch;

intc=0:

fseek(fptr,0,SEEKSET):

whi1e(l){

ch=fgetc(fptr);

if(ch!=E0F)C++;

elsebreak;

}

returnc;

)

五、根据下列每个题目规定编写程序

1.编写一种函数funO,首先从键盘上输入一种4行4列的I一种实数矩阵到一种二

维数组a[4][4]中,接着求出主对角线上元素之和,最终返回求和成果。

2.编写一种主函数,计算1+3+3?+...+3叩勺值并输出,假定分别用i,p,s作为循

环变量、累乘变量和累加变量的标识符。

3.编写一种主函数,已知6Wa<40,15WbW30,求出满足不定方程2a+5b=1

20的所有整数组解。如(13,20)就是其中的一组解。

参照答案

一、选择题

1.C2.D3.B4.A5.C

6.C7.B8.A9.C10.A

11.D12.A13.C

二、填空题

1./*2.程序

3.weirongl84.C

5.2

温馨提示

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

评论

0/150

提交评论