电大《c语言程序设计》期末复习题docWord文件下载.docx

上传人:b****1 文档编号:3885052 上传时间:2023-05-02 格式:DOCX 页数:13 大小:183.09KB
下载 相关 举报
电大《c语言程序设计》期末复习题docWord文件下载.docx_第1页
第1页 / 共13页
电大《c语言程序设计》期末复习题docWord文件下载.docx_第2页
第2页 / 共13页
电大《c语言程序设计》期末复习题docWord文件下载.docx_第3页
第3页 / 共13页
电大《c语言程序设计》期末复习题docWord文件下载.docx_第4页
第4页 / 共13页
电大《c语言程序设计》期末复习题docWord文件下载.docx_第5页
第5页 / 共13页
电大《c语言程序设计》期末复习题docWord文件下载.docx_第6页
第6页 / 共13页
电大《c语言程序设计》期末复习题docWord文件下载.docx_第7页
第7页 / 共13页
电大《c语言程序设计》期末复习题docWord文件下载.docx_第8页
第8页 / 共13页
电大《c语言程序设计》期末复习题docWord文件下载.docx_第9页
第9页 / 共13页
电大《c语言程序设计》期末复习题docWord文件下载.docx_第10页
第10页 / 共13页
电大《c语言程序设计》期末复习题docWord文件下载.docx_第11页
第11页 / 共13页
电大《c语言程序设计》期末复习题docWord文件下载.docx_第12页
第12页 / 共13页
电大《c语言程序设计》期末复习题docWord文件下载.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

电大《c语言程序设计》期末复习题docWord文件下载.docx

《电大《c语言程序设计》期末复习题docWord文件下载.docx》由会员分享,可在线阅读,更多相关《电大《c语言程序设计》期末复习题docWord文件下载.docx(13页珍藏版)》请在冰点文库上搜索。

电大《c语言程序设计》期末复习题docWord文件下载.docx

p=*s;

D.char*p;

p=s;

10.从一个数据

D.n-115.在下列的字符数组定义中,存在语法错误的是()o

A.chara[20]=ttabcdefg,\B.chara[]="

x+y=55C.

chara[15]={'

l'

'

2'

};

D.chara[10]=t5,;

16.若有一个

函数原型为"

double^function"

则它的返回值类型为()。

A.实

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

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

A.

*B.#C.D.@18.假定整数

指针p所指数据单元的值为30,p+1所指数据单元的值为40,则执行冷p++后,p所指数据单元的值为()。

A.40B.30

C.70D.1019.若要使p指向二维整型数组

a[10]f2()l,则p的类型为()。

A.int*B.int**C.

int*120]D.int(*)l20]20.表示文件结束符的符号常量

为()A.eofB.EofC.EOF

D.feof21.程序运行小需要从键盘上输入多于一个数据时,各数据之

间默认使用()符号作为分隔符。

A.空格或逗号B.逗号

或回年C.逗号或分号D.空格或回车22.逻辑表达

式(x0x=10)的相反表达式为()oA.x=0IIx10

B.x=0xlOC.x=0IIx=10D.xOxlO23.

当处理特定问题时的循环次数己知时,通常采用()循环來解决。

24.假定i的初值为0,则在循环语句"

while(in){s+=i*i;

i++;

}"

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

A.B.n

C.n+1D.n/225.假定一个二维数组的定义语句为“int

滅3][4]二{{3,4},{2,8,6}};

”,则元索a[l][2]的值为()。

A.2

B.4C.6D.826.在下列选项中,不正

确的函数原型格式为()。

A.intFunction(inta);

B.voidFunction(char);

C.intFunction(a);

D.void

int(double*a);

27.假定p是一个指向float型数据的指针,则p+1所指

数据的地址比P所指数据的地址大(

)个字节。

D.828.

1

假定有定

B.2

C.4

义为“int

m=7,则给p赋值的正确表达式为()。

.

A・p=m

B・p=m

C.*p=m

D.p=

*m29.假定指

针变量

P

定义为r

int*p=malloc(sizeof(int));

要释放

p所指向的动态存储空间,

调用的函数为()。

free(p)

B.delete(p)

C.

free(*p)

D.free(p)

30.C语

言中的系统函数

fopen

)一个数据文件的函数。

A.读

B.写

C.关闭

D.打开

参考解答:

1.A2.B

B

4.B

5.D6・C7.A

8.C

9.A10.Bl1.

12.C

13.C14.A

15.

D16.B

17.

18.A

19.D20.C

21.D

22.A

23.

A

24.B

25.C26・C

27.C

28.B

29.

30.D

二、填空题1.C

语言中的每条简单语句以

作为结

束符。

2.C程序中的所有预处理命令均以字符开头。

3.

当不需要函数返回任何值时,则应使用标识符來定义函数类型。

4.十进制数25表示成符合C语言规则的十六进制数为o

5.假定不允许使用逻辑非操作符,则逻辑表达式abIIb==5的相反

表达式为。

6.执行“typedefintDataType;

?

语句后,

在使用int定义整型变量的地方也可以使用来定义整型变量。

7.假定一维数组的定义为“char*a[8];

”,则该数组所占存储空间的字节数为。

8.假定二维数组的定义为“doublea[M][N];

J则

该数组的列下标的取值范围在Z间。

9.存储一个空字符串

需要山用个字节。

10.strcpy函数用于把一个字符串

到另一个字符数组空间中。

11.程序的编译单位是一个。

12.假定a是一个一维数组,则a[i]的指针访问方式为o13.执行ini*p=malloc(sizeof(int))操作得到的一个动态

分配的整型对彖为。

14.执行“printf(“%c:

A,+2);

”语句后得

到的输出结果为。

15.shortint类型的长度为。

16.用类型关键字表示十进制常数3.26f的类型为。

17.假定y=10,则表达式++y*3的值为。

18.逻辑表达

式(x==0y5)的相反表达式为。

19.若x=5,y=10,则x!

=y

的逻辑值为。

2().假定二维数组的定义为“infa[3][5];

”,则

该数组所占存储空间的字节数为。

21.使用“typedefchar

BB[10][50];

M语旬定义为含有10行50列的二维字符数组类型。

22.字符串”a:

//xxk〃数据'

'

的长度为。

23.假定p所

指对象的值为25,p+1所指对象的值为46,则*++p的值为。

24.假定一个数据对彖为iM*类型,则指向该对彖的指针类型为o25.假定一个结构类型的定义为“structA{inta,b;

A*c;

”,

则该类型的长度为。

26.假定要访问一个结构对象x中的数

据成员a,则表示方式为。

27.用于输出表达式值的标

准输出函数的函数名是。

28.每个C语言程序文件在编译

时可能出现有致命性错误,其对应的标识符为。

29.已

知,的ASCII码为65-90,当执行“intx=tC,+3;

M语旬后x的值为。

30.表达式(int)14.6的值为。

31.假定不允许使用逻辑非操作符,则关系表达式x+y5的相反表达式为o32.假定x=5,则执行<

<

a=(x?

10:

20)r,语句后a的值为o33.假定一维数组的定义为"

char*a[M];

J则该数组所占存储空间的字节数为。

34.存储字符串”a”需要至少占用

存储器的个字节。

35.strlen函数用于计算一个字符串的

36.在C语言中,一个函数由函数头和这两

个部分组成。

37•假定p所指对象的值为25,p+1所指对象的值为46,

则执行表达式*(p++)后,p所指对彖的值为。

38.假定p是

一个指向整数对象的指针,则用表示指针变量p的地址。

39.

与结构成员访问表达式p-name等价的访问表达式为。

1.;

(或分

号)

2.#

3.void

4.0x19

5.a=bb!

=5

6.DataType

7.32

8.0~N・l9.

10.拷贝(复制)

11.程序文件

12

.*(a+i)13.

*p

14.C

16.float

17.33

18.(x!

=0IIy=5)

或:

(xIIy=5)

19.1

20.60

21.BB

22.11

46

24.int**

25.12

26.x.a27.

printf

28.

error

29.70

30.1431.x+y=5

32.10

33.

4*M

34.235.

360.函数

37.46

38.p39.

(*p).name

三、写出下

列每个程序运行后的输出结果1.#includestdio.h

voidmain

{intx=5;

switch(2*x-1)

{case4:

printfC'

%d"

x);

break;

case

7:

printf(<

4%d

2*x);

case10:

printf(u%d"

3

*x);

default:

printf(t4%s

“/default”);

}

printf(‘‘%s/n"

"

switchend.”);

}2.

#includestdio.h

voidmain{

intfl,f2,i;

fl=l;

printf(u%d

“,fl);

for(i=2;

i=5;

i++){

f2=3*fl+l;

printf(^%d<

4,f2);

fl=f2;

}printf(“/n'

);

}3.

#includestdio.hvoidmain{inta[10]={12,39,26,41,55,63,72,40,83,95};

inti,il=0,i2=0;

for(i=0;

i10;

i++)if(a[i]%2==1)il++;

elsei2++;

printf(4t%d%d/n'

\i1,i2);

}4.#includestdio.h#includestring.h

voidmain(){chars[15]="

567891234”;

inti,n=strlen(s);

in/2;

i++){charc=s[i];

s[i]=s[n-l-i];

s[n-1-i]=c;

}printf(44%s/n,,,s);

5.#includestdio.hintLB(int*a,intn){inti,s=1;

in;

i++)

$*=*&

++;

returns;

}voidmain{inta[]={1,2,3,4,2,4,5,2};

int

b=LB(a,4)+LB(a+3,3);

printf(t4b=%d/n,,,b);

}6.#includestdio.h

voidmain{inti,s=0;

for(i=1;

i6;

i++)s+=i*i;

printf(“s=%d/n"

s);

}

7.#includestdio.h#defineN6voidmain{int

i,a[N]={2,5,8,10,15,21};

iN;

i++)if(a[i]%5)printf(tt%d“,a[i]);

printf(47n^);

}8.#includestdio.h#includestring・hvoidmain

{inti;

unsignedintlen;

char*

a[5]={"

student”,”worker”,”cadre”「soldier”,”zzeasan123”};

len=strlen(a[O]);

for(i=1;

i5;

i++)if(strlen(a[i])len)len=strlen(a[i]);

printfC'

%d/n5\len);

}9.#includestdio.hvoidmain{inta,b;

for(a=2,b=3;

b20;

){printf(4*%d%d“,a,b);

a=a+b;

b=a+b;

)printf(<

t%d%d/n"

a,b);

}10.#includestdio.hvoidLE(int*a,int*b)

{intx=*a;

*a=*b;

*b=x;

}voidmain{intx=15,y=26;

printf(<

4%d%d/n'

x,y);

LE(x,y);

}11.

#includestdio.hvoidmain{inti,s=0;

;

i++){if(s30)break;

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

)printfC'

s=%d/n^,s);

}12.#includestdio.h

voidmain{inta[9]={36,25,48,24,55,40,18,66,20};

inti,b1,b2;

bl=b2=a[0];

i9;

i++){if(a[订bl)b1=a[iJ;

if(a[i]b2)b2=a[订;

}printf(<

4%d%d/n,,,b1,b2);

}13.#includestdio.hvoidSB(char

ch){switch(ch){case4A"

case'

a'

printf("

WW“);

case,B'

b'

4GG"

default:

printf(4*BBbreak;

}}

main{

{x=a[i];

voidmain{charal='

a2='

B'

a3=f;

SB(al);

SB(a2);

SB(a3);

14.#includestdio.h#defineM6void

inti,x;

inta[M]={10,15,22,37,46,58};

for(i=0;

iM/2;

i++)

a[i]=a[M-l-i];

a[M-1-i]=x;

}for(i=0;

i6;

i++)printf(“%d

x=60;

inti=2,p=1;

while

(1){if(x%i==0){p*=i;

x/=i;

}if(ix)i++;

else

18.

break;

}printfC'

%d/n'

\p);

#includestdio.hvoidmain{int

voidmain{int

i,s=0;

i++)s+=a[ij;

printf(“%d%d/n"

b,c);

1•defaultswitch

end.

2.

14

1340

121

3.644.4321987655.b=566.s=557.

28

218.

.10

9.

23

5813

21

10.1526

26

1511.s=42

12.6618

13

.WW

GG

BB

14.58

37221510

15

.1042370.0016.

30

18.

767590

19

.1119

20.

43

36

四、

出下列每个函数的功能

1.

#includemath・h

int

SG(int

x)

c=LA(a+2,3);

〃x为人于等于2的整数

a=(int)sqrt(x);

a[5]={3,4610,20};

intb=LA(a,5);

//sqrt(x)取x的平方根int

i=2;

wh订e(i=a){if(x%i==0)break;

i++;

//f为一个单链表的表头指针{intx;

if(!

f){printf(u单链表为空

x二f-data;

/n"

),exit

(1);

}x=f-data;

彳二仁next;

while(f){if(f-datax)

3.#includcstdio.h

structIntNode{intdata;

structIntNode*next;

intSA(inta,intb){if(ab)return1;

elseif(a==b)return0;

elsereturn-1;

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

if(!

f)return;

while(f){printf(4C%d<

4,f-data);

f=f-next;

}printf("

/n”);

}假定structIntNode的类型定义为:

structIntNode{intdata;

5・iniSC(inta,intb,intc){if(a=ba=c)returna;

if(b=ab=c)returnb;

returnc;

}6.int*LI(intn)

returna;

7.intWC(inta[],intn,intk){int

i,c=0;

8.voidQA(struct

{int*a=malloc(n*sizeof(int));

inti;

i++)scanf("

%d"

a+i);

for(i=0;

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

%d

Workera[],intn){inti;

in;

i++)scanf(“%s

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

}假定结构类型structWorker的定义如

下:

structWorker{charnamel15J;

intage;

floatpay;

参考解答:

1.判断x是否为一个素数,若是则返I叫1,否则返回0。

2.求出由

f所指向的单链表中所有结点的最大值。

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

4.遍历并输出ill

f所指向的单链表中每个结点的值。

5.求Hla,b,c三个数中的最大值并返回。

6.首先建立一个动态整型数组alnj,接着从键盘上输入n个整数到a[n]中,最后返回数组a[n]的首地址。

7.统计并返回一维整型数组a[n]中大于等于k的值的个数。

8.从键盘上为具有structWorker类型的数组a[n]输入n个记录。

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

个程序,输出5()以内(含50)的、能够被3或者5整除的所有整数。

2.编写一个递归函数"

intFF(inta[],intn)"

求出数组a中所有n个元

素之积并返I叫。

3.编写一个程序,利用while循环,计算并打印输

出的值,其小正整数n值由键盘输入。

假定求和变量用sum表示,计数变量用i表示,sum>

i和n均定义为全局变量,sum和i的初值分别被赋了0和1。

4.根据函数原型“voidDD(inta[],intn,intMM)”编写函数定

义,利用双重循环查找并打印输出数组a[n]中任何两个元素的值等于MM值的元素值。

假定a[i]+a[j]等于MM,则输出格式为:

(a[i],a[j])05.

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

6.根据函数原型“int

FF(inta[],intn)"

编写函数定义,计算并返回数组a[n]中所有元素之和。

7.根据函数原型"

doubleMean(doublea[M][N],intm,intn)”,编写函数定义,要求返I叫二维数组a[m][n]中所有元素的平均值。

假定在计算过程小采用变量v存放累加值和最后的平均值。

8.根据函数原型“int

MM(inta[],intm)”,编写函数定义,计算并返回数组a[m]中元索最大值和最小值之,差。

1.#includestdio.hvoidmain{inti;

for(i=3;

i=50;

i++)if(i%3==0IIi%5==0)printf(u%d“,i);

7n,,>

}2.intFF(inta[],intn){if(n=0){printf(<

4n值非法/nM),exit

(1);

if(n==1)returna[n-1];

elsereturna[n-l]*FF(a,n-l);

for(i=1;

i=10;

i++){p*=3;

s+=p;

)printf(“%d/n”,s);

inti,j;

doublev二0.0;

6.intF

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

当前位置:首页 > 高等教育 > 法学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2