C语言程序设计A复习资料一Word文档下载推荐.docx

上传人:b****5 文档编号:21098923 上传时间:2023-01-27 格式:DOCX 页数:16 大小:21.28KB
下载 相关 举报
C语言程序设计A复习资料一Word文档下载推荐.docx_第1页
第1页 / 共16页
C语言程序设计A复习资料一Word文档下载推荐.docx_第2页
第2页 / 共16页
C语言程序设计A复习资料一Word文档下载推荐.docx_第3页
第3页 / 共16页
C语言程序设计A复习资料一Word文档下载推荐.docx_第4页
第4页 / 共16页
C语言程序设计A复习资料一Word文档下载推荐.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

C语言程序设计A复习资料一Word文档下载推荐.docx

《C语言程序设计A复习资料一Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言程序设计A复习资料一Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。

C语言程序设计A复习资料一Word文档下载推荐.docx

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;

char*b;

”,则该类型的理论长度为________。

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

1.#includestdio.h

voidmain(){

inti,s1=0,s2=0;

for(i=0;

ii++)

if(i%2)s1+=i;

elses2+=i;

printf("

%d%d\n"

s1,s2);

}

2.#includestdio.h

constintM=20;

voidmain()

{

inti=2;

while

(1){

if(iM/2)break;

if(M%i==0)printf("

%d"

i);

i++;

\n"

);

3.#includestdio.h

inta={4,5,6,15,20,12};

inti,s1,s2;

s1=s2=0;

ii++){

switch(a[i]%2){

case0:

s2+=a[i];

break;

case1:

s1+=a[i];

4.#includestdio.h

inta={{3,5,7},{9,11,13},{6,8,20}};

inti,*p=a;

ii++){

if(*p10)printf("

*p);

p++;

5.#includestdio.h

#includestring.h

structWorker{charname;

intage;

floatpay;

structWorkerx;

char*t="

liouting"

intd=38;

floatf=400;

strcpy(,t);

x.age=d;

x.pay=f;

x.age++;

x.pay*=2;

%s%d%6.2f\n"

,x.age,x.pay);

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

intSA(inta,intb){

if(ab)return1;

elseif(a==b)return0;

elsereturn-1;

函数功能:

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

if(!

f)return;

while(f){

f-data);

f=f-next;

假定structIntNode的类型定义为:

structIntNode{intdata;

structIntNode*next;

五、按题目要求编写程序或函数

6.编写一个程序,计算1+3+32+...+310的值并输出,假定分别用i,p,s作为循环变量、累乘变量和累加变量的标识符。

6.根据函数原型“intFF(inta[],intn)”,编写函数定义,计算并返回数组a[n]中所有元素之和。

参考答案

1.B2.C3.C4.A5.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.*p13.24

评分标准:

根据答案正确程度酌情给分。

1.2520

2.24510

3.2042

4.111320

5.liouting39800.00

根据答案叙述的正确与完善程度酌情给分。

1.比较两个整数a和b的大小,若ab则返回1,若a==b则返回0,若ab则返回-1。

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

按程序或函数编写的正确与完整程度酌情给分。

1.

#includestdio.h

inti;

intp=1;

ints=1;

for(i=1;

ii++){p*=3;

s+=p;

}

%d\n"

s);

2.intFF(inta[],intn)

inti,sum=0;

ii++)sum+=a[i];

returnsum;

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

一、选择题

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

A.cppB.exeC.objD.C

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

A.表达式B.标识符C.语句D.函数

3.x0||y==5的相反表达式为()。

A.x=0||y!

=5B.x=0y!

=5

C.x0||y!

=5D.x0y==5

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

A.整数B.浮点数

C.字符D.逻辑值

5.循环语句“for(inti=0;

ii++)S;

”中循环体S被执行的次数为()。

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

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

inti=0,s=0;

while(s20){i++;

s+=i;

A.4B.5C.6D.7

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

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

A.数组的首地址B.数组中第一个元素的值

C.数组中全部元素的值D.数组元素的个数

9.假定a为一个整型数组名,则元素a的地址比该数组的首地址大()个字节。

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

10.下列给字符数组赋初值时,正确的是()。

A.chars1[]="

abcdef"

B.chars2="

abcd"

C.chars3={"

abc"

"

xyz"

D.chars4[]={'

x'

s'

t'

A.char*p=s;

B.char*p=C.char*p;

p=*s;

D.char*p;

p=

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

A.int*p=a;

B.int**p=a;

C.int*p=a;

D.int(*p)=a;

12.标准输入设备的文件流标识符是()。

A.stdinB.stdoutC.stderrD.stdio

13.若要以读/写操作方式打开一个二进制文件,当文件不存在时返回打开失败信息,则选用的打开方式字符串为()。

A."

r+"

B."

ab+"

C."

rb+"

D."

wb+"

1.单行或多行注释的开始标记符为__________。

2.使用#include命令可以包含一个头文件,也可以包含一个______文件。

3.执行“printf("

%s%s%d"

wei"

rong"

18);

4.执行“printf("

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等价的表达式是____________。

inti,s=0;

i++){

if(s50)break;

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

i,s=%d,%d\n"

i,s);

charch='

*'

inti,n=5;

ii++)printf("

ch);

if(--n==0)break;

intx=24,y=88;

inti=2,p=1;

do{

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

p*=i;

x/=i;

y/=i;

}while(x=iy

p*x*y);

inta={36,25,48,24,55,40,18,66,20};

inti,b1,b2;

a=a?

(b1=a,b2=a):

(b1=a,b2=a);

for(i=2;

ii++)

if(a[i]b1){b2=b1;

b1=a[i];

elseif(a[i]b2)b2=a[i];

b1,b2);

inta=10,b=20;

a,b);

{intb=a+25;

a*=4;

6.#includestdio.h

voidSelectSort(inta[],intn)

inti,j,k,x;

ii++){//进行n-1次选择和交换

k=i-1;

for(j=i;

jj++)

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

x=a[i-1];

a[i-1]=a[k];

a[k]=x;

inta={20,15,32,47,36,28};

SelectSort(a,6);

ii++)printf("

a[i]);

7.#includestdio.h

voidLE(int*a,int*b){

intx=*a;

*a=*b;

*b=x;

intx=15,y=26;

x,y);

LE(x,

8.#includestdio.h

structWorker{

charname;

//姓名

//年龄

//工资

};

intEqual(structWorker*r1,structWorker*r2)

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

elsereturn0;

structWorkera={{"

25,420},{"

defa"

58,638},

{"

ghin"

49,560},{"

jklt"

36,375}};

structWorkerx={"

if(Equal(a+i,x))break;

if(i=4)printf("

没有查找所需要的记录!

elseprintf("

a[i].name,a[i].age,a[i].pay);

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

intx,s=0;

输入%d个整数:

"

n);

scanf("

%d"

if(n==1)returnx;

s=x;

while(--n){scanf("

s+=x;

returns;

voidWA(inta[],intn){

inti,k,j,x;

k=i;

for(j=i+1;

x=a[i];

a[i]=a[k];

int*LJ(inta[],intn){

inti,k=0;

if(a[i]a[k])k=i;

returna[k];

4.intOutput(structIntNode*f)

intsum=0;

f)return-9999;

//用返回特定值-9999表示空表

sum+=f-data;

structIntNode{

intdata;

//结点值域

//结点指针域

5.intwr4(FILE*fptr)

charch;

intc=0;

fseek(fptr,0,SEEK_SET);

ch=fgetc(fptr);

if(ch!

=EOF)c++;

elsebreak;

returnc;

五、根据下列每个题目要求编写程序

1.编写一个函数fun(),首先从键盘上输入一个4行4列的一个实数矩阵到一个二维数组a中,接着求出主对角线上元素之和,最后返回求和结果。

2102.编写一个主函数,计算1+3+3+...+3的值并输出,假定分别用i,p,s作为循环变

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

3.编写一个主函数,已知6≤a≤40,15≤b≤30,求出满足不定方程2a+5b=120的全部整数组解。

如(13,20)就是其中的一组解。

1.C2.D3.B4.A5.C

6.C7.B8.A9.C10.A

11.D12.A13.C

1./*2.程序

3.weirong184.C

5.26.float

7.338.(!

x)

9.110.if

11.continue12.M*N

13.214.长度

15.实参16.程序文件

17.*(a+i)18.*p

19.structWorker*r20.(*p).name

i,s=15,56

2.

*****

****

***

**

*

3.

264

4.

1820

5.

1020

4035

4020

6.

152028323647

7.

1526

2615

8.

defa58638.00

1.求出从键盘上输入的n个整数之和并返回。

2.采用选择排序的方法对数组a中的n个整数按照从大到小的次序重新排列。

3.求出数组a中n个元素的最大值元素,返回该元素的地址

4.对于以表头指针为f的链表,求出并返回所有结点中data域的值之和。

5.求出一个以fptr为文件流的所对应文件的长度,即所存字符的个数。

1.doublefun()

doublea;

doubles=0;

inti,j;

输入一个4*4的数值矩阵:

for(j=0;

jj++)scanf("

%lf"

a[i][j]);

ii++)s+=a[i][i];

//用i作为循环变量

//用p作为累乘变量

//用s作为累加循环变量

inta,b;

for(a=6;

aa++)

for(b=15;

bb++)

if(2*a+5*b==120)printf("

(%d,%d)\n"

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1