C语言期末复习卷习题doc资料Word格式.docx

上传人:b****5 文档编号:20802095 上传时间:2023-01-25 格式:DOCX 页数:15 大小:75.90KB
下载 相关 举报
C语言期末复习卷习题doc资料Word格式.docx_第1页
第1页 / 共15页
C语言期末复习卷习题doc资料Word格式.docx_第2页
第2页 / 共15页
C语言期末复习卷习题doc资料Word格式.docx_第3页
第3页 / 共15页
C语言期末复习卷习题doc资料Word格式.docx_第4页
第4页 / 共15页
C语言期末复习卷习题doc资料Word格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

C语言期末复习卷习题doc资料Word格式.docx

《C语言期末复习卷习题doc资料Word格式.docx》由会员分享,可在线阅读,更多相关《C语言期末复习卷习题doc资料Word格式.docx(15页珍藏版)》请在冰豆网上搜索。

C语言期末复习卷习题doc资料Word格式.docx

7.下面for循环语句最多可执行4次

For(x=0,y=0 

;

(y 

=99)&

(x<

4) 

x++)

8.设i,j,k均为int型变量,则执行以下for语句后,k的值是10

for(i=0,j=10 

i<

=j 

i++,j--)

k=i+j 

9.若已知x,y,z,m,n均为int型变量,则执行下面语句后,x的值为7y的值为9z的值为7

m=10;

n=5;

x=(--m==n++)?

--m:

++n;

y=m++;

z=n;

10.若有说明语句:

w=1,x=2,y=3,z=4;

则表达式w>

x?

w:

y?

z:

x值是4

11.若定义的函数没有返回值时,则应该在该函数定义时加上类型说明符void

12.凡在函数中未指定存储类型的变量,其隐含的存储类别为动态存储

13.在C语言中,一个函数直接或间接地调用自身,编构成函数的递归

14.如果被调用的自定义函数和调用函数不再同一个文件中,则在应以函数的文件中应将该文件的存储类型定义成型,在调用函数的文件中将该函数说明为型。

15.对于所定义的二维数组a[2][3],元素a[1][2]是数组的第6个元素。

N*j+m+1

16.若有定义:

char*str=”Iamastudent.”;

则字符串在存储单元中占16个字节。

17.在执行inta[][3]={{1,2},{3,4}};

语句后,a[1][2]的值是0。

18.调用strlen(“abc\0ef\0g”)的返回值是3。

\0为停止符

19.设有定义:

chars[12]=“string”;

则printf(“%d\n”,strlen(s));

的输出值是6

20.执行下列程序段后,*p等于3

inta[5]={1,3,5,7,9};

*p=a;

p++;

二.判断(trueorfalse)

1.调用函数时,实参的类型、个数和顺序与函数定义时形参的类型、个数和顺序完全一致。

T

2.函数可以嵌套定义F

3.函数必须有返回值,否则不能正确作用F

4.C程序中有调用关系的所有函数必须放在同一源程序文件中。

F

5.全局变量与函数体内定义的局部变量重名时,局部变量不起作用。

6.函数定义时可以不制定形参的类型,函数调用时由实参的类型决定形参的类型F

7.当函数定义放在main()函数前面时,可以缺省函数声明。

8.C语言中允许函数嵌套调用T

9.局部静态变量是在编译时赋初值的,即只赋一次初值。

10.外部变量必须定义在文件的开头部分F

11.字符’\0’是字符串的结束标记,其ASCII码为0.T

12.若有说明 

:

inta[3][4]={0};

则数组a中每个元素的初值都为0.T

13.若有说明 

inta[2][4]={0,0};

则只有a[0][0]和a[0][1]的初值为0,其余元素的初值均不为0.F

14.若有说明 

inta[3][4];

则数组a中各元素可在程序的编译阶段达到初值0.F

15.若用数组名作为函数调用时的实参,则实际上传递给形参的是数组的第一个元素值。

16.在两个字符串的比较中,字符个数多的字符串比字符少的字符串大。

17.当需要接受用户从键盘上输入的含有空格的字符串时,应使用gets()函数。

18.在C语言中,二维数组元素在内存中的存放顺序可以随意调整变化。

19.&

b指的是变量b的地址处所存放的值;

20.指针变量可用于保存同类型变量的地址值;

21.存放地址的变量同其他类型的变量一样,可以存放任何类型的数据;

22.指向同一数组的两指针p1,p2相减的结果与所指元素的下标相减的结果是相同的。

23.如果定义函数时参数是指针变量,那么,调用函数时的参数就可以是同类型的指针变量,数组名或简单变量的地址T

24.char*name[5]定义了一个一维指针数组,它有5个元素,每个元素都是指向字符数据的指针型数据。

25.语句y=*p++;

和y=(*p)++;

是等价的。

26.函数指针指向的是函数的入口地址。

27.int*p;

定义了一个指针变量,其值是整型的。

28.用指针作为函数参数时,采用的是“地址传送”方式.T

三、选择题

1.下列变量名中哪些是合法的?

π2aa#C$t3_varθint

2.语言中用________表示逻辑值“真”。

A)trueB)整型值0C)非零整数值D)T

3.下列合法的字符常量为________。

A)"

a"

B)'

\n'

C)'

china'

D)a

4.设有语句charc='

\72'

则变量c________。

A)包含1个字符B)包含2个字符C)包含3个字符D)不合法

5.字符串"

\t\"

Name\\Address\n"

的长度为________。

A)19B)15C)18D)不合法

6.设a,b,c为int型变量,且a=3,b=4,c=5,下面表达式值为0的是________。

A)'

a'

&

'

b'

B)a<

=b

C)a||b+c&

b-cD)!

((a<

b)&

!

c||1)

7.若有以下定义:

chara;

intb;

floatc;

doubled;

则表达式a*b+d–c的值的类型为_____________

A)floatB)intC)charD)double

8.设有语句inta=3;

执行了语句a+=a-=a*a;

后,变量a的值是________。

A)3B)0C)9D)-12

9.设有语句inta=3;

执行了语句printf("

%d"

-a++);

后,输出的结果是__C______,变量a的值是__D_____。

A)3B)4C)-3D)-2

10.将下列数学表达式表示为合法的C语言表达式。

(1)

(2)

(3)

(4)

(5)

(6)

12.下列可作为C语言赋值语句的是:

_____________。

A)x=3,y=5B)a=b=cC)i--;

D)y=int(x);

13.以下程序的输出结果为:

main()

{

inta=2,c=5;

printf("

a=%%d,b=%%d\n"

a,c);

}

A)a=%2,b=%5B)a=2,b=5C)a=%%d,b=%%dD)a=%d,b=%d

14.在下面的条件语句中,只有一个在功能上与其它三个语句不等价(其中s1和s2表示它是C语句),这个不等价的语句是:

A)if(a)s1;

elses2;

B)if(!

a)s2;

elses1;

C)if(a!

=0)s1;

D)if(a==0)s1;

15.设有声明语句:

inta=1,b=0;

则执行以下语句后输出为:

switch(a)

case1:

switch(b)

{

case0:

**0**"

);

break;

case1:

**1**"

}

case2:

**2**"

A)**0**B)**0****2**C)**0****1****2**D)有语法错误

16.在while(x)语句中的x与下面条件表达式等价的是:

A)x==0B)x==1C)x!

=1D)x!

=0

17.若intx;

且有下面的程序片断,则输出结果为:

for(x=3;

x<

6;

x++)

{

printf((x%2)==0?

"

**%d"

:

##%d\n"

x);

A)**3B)##3C)##3D)**3##4

##4**4**4##5**5

**5##5

18.以下能对外部的一维数组a(含有10个元素)进行正确初始化的语句是:

A)inta[10]=(0,0,0,0,0);

B)inta[10]={};

C)inta[]={0};

D)inta[10]={10*1};

19.以下能对外部的二维数组a进行正确初始化的语句是:

A)inta[2][]={{1,0,1},{5,2,3}};

B)inta[][3]={{1,2,1},{5,2,3}};

C)2inta[2][4]={{1,2,1},{5,2},{6}};

D)inta[][3]={{1,0,2},{},{2,3}};

20.若二维数组a有m列,则在a[i][j]之前的元素个数为:

A)j*m+iB)i*m+jC)i*m+j-1D)i*m+j+1

21.已知:

staticinta[3][4];

则数组a中各元素。

A)可在程序运行阶段得到初值0B)可在程序编译阶段得到初值0

C)不能得到确定的初值D)可在程序的编译或运行阶段得到初值0

22.判断字符串s1是否大于字符串s2,应当使用:

A)if(s1>

s2)B)if(strcmp(s1,s2))

C)if(strcmp(s2,s1)>

0)D)if(strcmp(s1,s2)>

0)

23..若用数组名作为函数调用时的实参,则实际上传递给形参的是:

A)数组的首地址;

B)数组的第一个元素值;

C)数组中全部元素的值;

D)数组元素的个数。

24.在函数调用时,以下说法中正确的是:

A)在C语言中,实参与其对应的形参各占独立的存储单元;

B)在C语言中,实参与其对应的形参共占同一个存储单元;

C)在C语言中,只有当实参与其对应的形参同名时,才共占同一个存储单元;

D)在C语言中,形参是虚拟的,不占存储单元。

25.C语言中形参的缺省存储类别是:

A)自动(auto)B)静态(static)C)寄存器(register)D)外部(extern)

26.C语言规定:

简单变量做实参时,它和对应形参之间数据的传递方式为:

A)地址传递;

B)单向值传递;

C)由实参传给形参,再由形参传回给实参;

D)由用户指定传递方式。

27.

(1)阅读程序,选择程序的运行结果。

#include<

stdio.h>

intTry(intn)

if(n>

return(n*Try(n-2));

else

return1;

main()

intx;

x=Try(5);

%d\n"

A.15B.120C.1D.前面三个答案都是错的

(2)下面的函数f两次进行调用,请选择程序的运行结果。

intFun(intm)

staticintn=0;

m/=2;

m=m*2;

if(m)

{

n*=m;

return(Fun(m-2));

else

returnn;

inta,i,j;

for(i=0;

i<

2;

i++)

a=Fun(4+i);

printf("

a);

①第一次输出的结果A.8B.0C.64D.4

②第一次输出的结果A.8B.0C.64D.4

28.设有语句:

inta[10],*p=a 

则在下面语句中,不正确的是

A)P=P+1B)P[0]=*P+1C)a[0]=a[0]+1D)a=a+1

29.指向变量的指针,其含义是指该变量的

A)值B)地址C)名D)一个标志

30.若int(*p)[5] 

则其中p的含义是

A)5个指向整形变量的指针;

B)指向5个整形变量的函数指针;

C)一个指向具有5个整形元素的一维数组的指针;

D)具有5个指针元素的一维数组指针,每个元素都只能指向整型量;

31.设有定义:

inta=3,b,*p=&

a;

则下列语句中使b不为3的语句是

A)b=*&

B)b=*P;

C)b=a;

D)b=*a;

32.设char**s;

则以下表达式中,正确的是

A)s=”computer”;

B)*s=”computer”;

C)**s=”computer”;

D)*s=’s’

33.设chars[10],*p=s;

以下表达式中不正确的是

A)p=s+5;

B)s=s+p;

C)s[2]=p[4];

D)*p=s[0];

34.执行下列程序段后,*p等于

inta[5]={1,3,5,7,9},*p=a;

p++

A)1;

B)3;

C)5;

D)7;

 

程序设计题

1.编程计算1*2*3+3*4*5+99*100*101的值。

intmain()

inti,j,k,sum=0;

for(i=1,j=2,k=3;

100,j<

101,k<

102;

i+=2,j+=2,k+=2)

sum=sum+i*j*k;

printf("

sum);

2.编程计算a+aa+aaa+….+aa..a(n个a)的值,n和a的值由键盘输入。

stdlib.h>

Voidmain()

intn,a,i;

intsum,na;

Pleaseinputnanda:

"

scanf("

%d%d"

&

n,&

a);

sum=0;

na=a;

for(i=1;

=n;

i++)

sum+=na;

na=na*10+a;

sum=%d\n"

3.利用

前100项之积计算π。

floata=2,b=1;

doublenum=1;

inti;

for(i=1;

=100;

num*=a/b;

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

elseb+=2;

num*=2;

π=%.16lf\n"

num);

4.按如下格式打印100以内整数的平方根表。

5.编程计算

的值。

(m,k从键盘上输入,m>

k)

6.用整数1-12依次表示1-12月,由键盘输入一个月份数,输出对应的季节英文名称(12-2月为冬季,3-5月为春季,6-8月为夏季,9-11月为秋季),要求输入输出表达的意义清楚明白。

我们长期呆在校园里,没有工作收入一直都是靠父母生活,在资金方面会表现的比较棘手。

不过,对我们的小店来说还好,因为我们不需要太多的投资。

7.

8.据介绍,经常光顾“碧芝”的都是些希望得到世界上“独一无二”饰品的年轻人,他们在琳琅满目的货架上挑选,然后亲手串连,他们就是偏爱这种DIY的方式,完全自助。

编程打印以下图形

上海市劳动和社会保障局所辖的“促进就业基金”,还专门为大学生创业提供担保,贷款最高上限达到5万元。

1

121

(2)东西全12321

1234321

小饰品店往往会给人零乱的感觉,采用开架陈列就会免掉这个麻烦。

“漂亮女生”像是个小超市,同一款商品色彩丰富地挂了几十个任你挑,拿上东西再到收银台付款。

这也符合女孩子精挑细选的天性,更保持了店堂长盛不衰的人气。

“碧芝”隶属于加拿大的beadworks公司。

这家公司原先从事首饰加工业,自助首饰的风行也自西方,随着人工饰品的欣欣向荣,自制饰品越来越受到了人们的认同。

1996年'

碧芝自制饰品店'

在迪美购物中心开张,这里地理位置十分优越,交通四八达,由于是市中心,汇集了来自各地的游客和时尚人群,不用担心客流量问题。

迪美有300多家商铺,不包括柜台,现在这个商铺的位置还是比较合适的,位于中心地带,左边出口的自动扶梯直接通向地面,从正对着的旋转式楼拾阶而上就是人民广场中央,周边4、5条地下通道都交汇于此,从自家店铺门口经过的90%的顾客会因为好奇而进看一下。

12345678987654321

2、你大部分的零用钱用于何处?

9、如果你亲戚朋友送你一件DIY手工艺制品你是否会喜欢?

当然,在竞争日益激烈的现代社会中,创业是件相当困难的事。

我们认为,在实行我们的创业计划之前,我们首先要了解竞争对手,吸取别人的经验教训,制订相应竞争的策略。

我相信只要我们的小店有自己独到的风格,价格优惠,服务热情周到,就一定能取得大多女孩的信任和喜爱。

9.用递归的方法求n的阶乘

10.

11.年轻有活力是我们最大的本钱。

我们这个自己动手做的小店,就应该与时尚打交道,要有独特的新颖性,这正是我们年轻女孩的优势。

编写求两个整数的最大公约数和最小公倍数的函数

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

当前位置:首页 > PPT模板 > 简洁抽象

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

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