C语言期末总复习习题第四套.docx

上传人:b****7 文档编号:11163477 上传时间:2023-02-25 格式:DOCX 页数:126 大小:39.85KB
下载 相关 举报
C语言期末总复习习题第四套.docx_第1页
第1页 / 共126页
C语言期末总复习习题第四套.docx_第2页
第2页 / 共126页
C语言期末总复习习题第四套.docx_第3页
第3页 / 共126页
C语言期末总复习习题第四套.docx_第4页
第4页 / 共126页
C语言期末总复习习题第四套.docx_第5页
第5页 / 共126页
点击查看更多>>
下载资源
资源描述

C语言期末总复习习题第四套.docx

《C语言期末总复习习题第四套.docx》由会员分享,可在线阅读,更多相关《C语言期末总复习习题第四套.docx(126页珍藏版)》请在冰豆网上搜索。

C语言期末总复习习题第四套.docx

C语言期末总复习习题第四套

一、单选(共90分)

1._________是构成C语言的基本单位。

A、函数

B、子过程

C、过程

D、子函数

标记此题

2.在C语言的环境中头文件的后缀名是;

A、*.h

B、C程序的源文件

C、*.bak

D、*.obj

标记此题

3.在嵌套使用if语句时,C语言规定else总是________。

A、和之前与其具有相同缩进位置的if配对

B、和之前的第一个if配对

C、和之前与其最近的且不带else的if配对

D、和之前与其最近的if配对

标记此题

4.以下程序

x=-1;

do{

x=x*x;

}while(!

x);

循环体的执行次数是:

()

A、死循环

B、执行零次

C、执行两次

D、执行一次

标记此题

5.C语言源程序名的后缀是

A、exe

B、cp

C、obj

D、c

标记此题

6.下列叙述中正确的是()。

A、break语句只能用于switch语句

B、在switch语句中,不一定使用break语句

C、break语句必须与switch语句中的case配对使用

D、在switch语句中必须使用default

标记此题

7.阅读以下程序:

#include

main()

{

ints;

scanf("%d",&s);

switch(s==!

s)

{

case0:

printf("Thenumberisnot0");break;

case1:

printf("Thenumberis0");break;

}

}

程序运行后,如果从键盘上输入?

9,则输出结果是()。

A、Thenumberisnot0

B、0

C、程序出错

D、Thenumberis0

标记此题

8.对下面三条语句(其中s1和s2为内嵌语句),正确的论断是()。

(1)if(a)s1;elses2;

(2)if(a==0)s2;elses1;

(3)if(a!

=0)s1;elses2;

A、三者相互等价

B、

(1)和(3)等价,但与

(2)不等价

C、三者互不等价

D、

(1)和

(2)等价,但与(3)不等价

标记此题

9.在以下给出的表达式中,与while(E)中的(E)不等价的表达式是()

A、(!

E==0)

B、(E==0)

C、(E>0||E<0)

D、(E!

=0)

标记此题

10.以下程序段所对应的数学关系表示式是:

if(x<0)y=-1;

else

if(x==0)y=0;

elsey=1;

A、y=-1(x<0)

y=1(x>0)

y=1(x=0)

B、y=-1(x<0)

y=1(x>0)

y=0(x=0)

C、y=-1(x<0)

y=1(x>0)

y=0(x≠0)

D、y=-1(x>0)

y=1(x<0)

y=0(x=0)

标记此题

11.以下程序的输出结果是()。

main()

{intn=1;

printf("%d%d%d\n",n,n++,n--);

}

A、111

B、110

C、101

D、121

标记此题

12.当a=1,b=2,c=3,d=4时,执行完下面一段程序后x的值是()

if(a

if(a

else

if(a

if(b

elsex=3;

elsex=6;

elsex=7;

A、1

B、3

C、2

D、6

标记此题

13.设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是()

A、if(x++);

B、if(x>y)x--;

elsey++;

C、if(x>y&&y!

=0);

D、if(y<0)x++;y++;

elsex++;

标记此题

14.下列程序运行结果是:

main()

{

intx=9,y=5,z=8;

if(x

if(y<0)z=0;

elsez+=1;

printf("%d\n",z);

}

A、6

B、8

C、7

D、9

标记此题

15.有以下程序

#include

main()

{

inti,j,x=0;

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

{

x++;

for(j=0;j<=3;j++)

{

if(j%2)continue;

x++;

}

x++;

}

printf("x=%d\n",x);

}

程序执行后的输出结果是:

A、x=4

B、x=6

C、x=8

D、x=12

标记此题

16.C语言中目标文件的后缀名是:

A、.c

B、.exe

C、.obj

D、.h

标记此题

17.设x和y均为int型变量,则执行下面的循环后,y值为()

for(y=1,x=1;y<=50;y)

{

if(x=10)

break;

if(x%2==1)

{

x=5;

continue;

}

x-=3;

}

A、1

B、6

C、4

D、2

标记此题

18.如果x和y都是整数,而已正确定义。

for(x=0,y=0;!

x&&y<=5;y++)语句执行循环的次数是()

A、0

B、6

C、5

D、无数次

标记此题

19.定义chara=‘A’;printf(“%d”,a);

A、65

B、A

C、97

D、a

标记此题

20.已知字母A的ASCII码为十进制65,且c2为字符型,则执行c2=‘A’+‘6’-‘3’后,c2中的值为()。

A、D

B、不确定的值

C、68

D、C

标记此题

21.若一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围为()。

A、0~255

B、0~65535

C、0~32767

D、0~2147483647

标记此题

22.以下叙述中正确的是

A、用C语言实现的算法必须要有输入和输出操作

B、用C语言实现的算法可以没有输出但必须要有输入

C、用C语言实现的算法可以没有输入但必须要有输出

D、用C程序实现的算法可以既没有输入也没有输出

标记此题

23.以下程序执行后sum的值是()。

#include

main()

{

inti,sum;

for(i=1;i<6;i++)

sum+=i;

printf("%d\n",sum);

}

A、15

B、不确定

C、14

D、0

标记此题

24.设以下变量均为int类型,则值不等于7的表达式是()。

A、(x=y=6,x+y,x+1)

B、(x=6,x+1,y=6,x+y)

C、(x=y=6,x+y,y+1)

D、(y=6,y+l,x=y,x+1)

标记此题

25.已知

intt=0;

while(t=1)

{...}

则以下叙述正确的是

A、循环控制表达式的值为0

B、循环控制表达式不合法

C、循环控制表达式的值为1

D、以上说法都不对

标记此题

26.inta=5,b=0;printf(“%d,%d\n”,a&&b,a||b);输出值为:

()

A、5,0

B、1,0

C、1,5

D、0,1

标记此题

27.下述程序的输出结果是()。

#include

main()

{

intk=0,m=0;

inti,j;

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

{

for(j=0;j<3;j++)

k++;

k-=j;

}

m=i+j;

printf("k=%d,m=%d",k,m);

}

A、k=0,m=3

B、k=1,m=3

C、k=0,m=5

D、k=1,m=5

标记此题

28.有以下程序

#include

main()

{

inta=15,b=21,m=0;

switch(a%3)

{

case0:

m++;break;

case1:

m++;

switch(b%2)

{

default:

m++;

case0:

m++;break;

}

}

printf("%d\n",m);

}

程序运行后的输出结果是()

A、1

B、3

C、2

D、4

标记此题

29.有以下程序

main()

{

inti=0,s=0;

do{

if(i%2)

{

i++;

continue;

}

i++;

s+=i;

}

while(i<7);

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

}

执行后输出结果是()。

A、16

B、28

C、12

D、21

标记此题

30.以下叙述正确的是()。

A、在C程序中,main函数必须位于程序的最前面

B、C语言本身没有输入输出语句

C、C程序的每行中只能写一条语句

D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误

标记此题

31.设有说明:

charw;intx,floaty;doublez;则表达式w*x+z-y值的数据类型为()。

A、float

B、int

C、char

D、double

标记此题

32.编辑c程序的步骤:

A、编辑编译执行连接

B、编辑编译连接执行

C、编辑连接编译执行

D、编辑执行编译连接

标记此题

33.若有定义:

inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是()。

A、2.500000

B、3.500000

C、2.750000

D、0.000000

标记此题

34.在32位计算机中,C语言中,存储一个字符型、整型、单精度实型变量所需的空间是()。

A、1、4、4

B、1、2、8

C、1、1、4

D、2、2、4

标记此题

35.若a为整型变量,则下面语句。

a=-2L;

printf(“%d\n”,a);

A、赋值不合法

B、输出为不确定值

C、输出值为-2.0

D、输出值为-2

标记此题

36.下面程序的执行结果是:

()

#include

voidmain()

{

inti=0;

while

(1)

{

printf("*");

i++;

if(i<3)

break;

}

printf("\n");

}

A、*

B、**

C、***

D、****

标记此题

37.以下程序的输出结果为()。

#include

main()

{

inti;

for(i=1;i<=5;i++)

{

if(i%2)

printf("*");

else

continue;

printf("#");

}

printf("$\n");

}

A、*#*#*#$

B、*#*#$

C、#*#*#*$

D、#*#*$

标记此题

38.若x,i,j和k都是int型变量,则执行下面表达式后x的值为

x=(i=4,j=16,k=32)

A、4

B、32

C、16

D、52

标记此题

39.若有说明语句:

charc='\72'则变量c是()。

A、包含1个字符

B、包含3个字符

C、包含2个字符

D、说明不合法,c的值不确定

标记此题

40.下面说法不正确的是:

A、一个C源程序可由一个或多个函数组成

B、C程序的基本组成单位是函数

C、一个C源程序必须包含一个main函数

D、在C程序中,注释说明只能位于一条语句的后面

标记此题

41.负数在计算机的存储形式:

A、原码

B、补码

C、反码

D、原码、反码、补码任意一种

标记此题

42.结构化程序由三种基本结构组成,三种基本结构组成的算法

A、可以完成任何复杂的任务

B、只能完成符合结构化的任务

C、只能完成部分复杂的任务

D、只能完成一些简单的任务

标记此题

43.执行下列程序段后,I值是()。

intI,x;for(I=1,x=1;I<=20;I++){if(x>=10)break;if(x%2==1){x+=5;continue;}x-=3;}

A、10

B、3

C、5

D、6

标记此题

44.设有定义:

floata=2,b=4,h=3;下面表达式与代数式子(a+b)*h/2结果不相同的是()。

A、((a+b)*h)/2

B、9

C、(1/2)*(a+b)*h

D、(a+b)*h*1/2

标记此题

45.以下程序段中与语句k=a>b?

(b>c?

1:

0):

0;功能等价的是:

A、if((a>B)&&(b>C))k=1;

elsek=0;

B、if(a<=B)k=0;

elseif(b<=C)k=1;

elsek=0;

C、if((a>B)||(b>C))k=1

D、if(a>B)k=1;elseif(b>C)k=1;

标记此题

46.以下各标识符中,合法的用户标识符为()。

A、A#C

B、main

C、mystery

D、ab*

标记此题

47.以下能正确地定义整型变量a,b和c并为其都赋初值5的语句是()。

A、inta=b=c=5;

B、a=5,b=5,c=5;

C、inta,b,c=5;

D、a=b=c=5;

标记此题

48.下列四组选项中,均不是C语言关键字的选项是

A、defineIFtype

B、powgowhile

C、casescanfinclude

D、printfchargetc

标记此题

49.下述for语句的循环次数是()。

inti,x;

for(i=0,x=0;i<=9&&x!

=10;i++)

scanf("%d",&x);

A、最多循环10次

B、无限循环

C、最多循环9次

D、一次也不循环

标记此题

50.设x、y均为f1oat型变量,则以下不合法的赋值语句是()

A、++x

B、x*=y+8;

C、y=(x%2)/10;

D、x=y=0;

标记此题

51.32位平台下,执行语句printf("%x",-1);屏幕显示()。

A、-1

B、-ffff

C、1

D、ffffffff

标记此题

52.*

***

*****

*******

以上为运行后输出的结果

#include

main()

{

inti,j;

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

{

for(j=1;j<=4-i;j++)printf("");

for(j=1;j<=;j++)printf("*");

printf("\n");

}

}在下划线处应填入的是:

A、i

B、2*1+1

C、2*i-1

D、i+2

标记此题

53.有以下程序

#include

voidmain()

{

inti=0,s=0;

do{

if(i%2)

{

i++;continue;

}

i++;

s+=i;

}while(i<7);

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

}

执行后输出结果是:

(  )。

A、16

B、14

C、15

D、22

标记此题

54.从键盘上输入"446755"时,下面程序的输出是()。

#include

main()

{intc;

while((c=getchar())!

='\n')

switch(c-'2')

{case0:

case1:

putchar(c+4);

case2:

putchar(c+4);break;

case3:

putchar(c+3);

default:

putchar(c+2);break;

}

printf("\n");

}

A、888988

B、88898787

C、668966

D、66898787

标记此题

55.以下程序输入3时,输出结果是().

main()

{intk;

scanf("%d",&k);

switch(k)

{case1:

printf("%d",k++);

case2:

printf("%d",k++);

case3:

printf("%d",k++);

case4:

printf("%d",k++);break;

default:

printf("FULL!

");}

printf("\n");}

A、33

B、43

C、34

D、有语法错误

标记此题

56.运行以下程序后,如果从键盘上输入6514<回车>,则输出结果为:

#include

voidmain()

{intm,n;

printf("Enterm,n:

");

scanf("%d%d",&m,&n);

while(m!

=n)

{

while(m>n)m-=n;

while(n>m)n-=m;

}

printf("m=%d\n",m);

}

A、m=3

B、m=1

C、m=2

D、m=-1

标记此题

57.执行以下程序:

main()

{

ints,t,a,b;

scanf("%d,%d",&a,&b);

s=1;t=1;

if(a>0)s=s+1;

if(a>b)t=s+t;

elseif(a==b)t=5;

elset=2*s;

printf("t=%d\n",t);

}

要使输出的结果为:

t=4,给a和b输入的值应满足的条件是:

A、a>b

B、0

C、a

D、0>a>b

标记此题

58.运行以下程序后,如果从键盘上输入china#《回车》,则输出结果为:

(  )

#include

voidmain()

{

intv1=0,v2=0;charch;

while((ch=getchar())!

='#')

{

switch(ch)

{

case'a':

case'h':

default:

v1++;

case'0':

v2++;

}

}

printf("%d,%d\n",v1,v2);

}

A、2,0

B、5,5

C、5,0

D、2,5

标记此题

59.下述程序的输出结果是()。

#include

main()

{

inty=9;

for(;y>0;y--)

{

if(y%3==0)

{

printf("%d",--y);

continue;

}

}

}

A、741

B、963

C、852

D、875421

标记此题

60.以下的选择中,正确的赋值语句是

A、a=1,b=2

B、a=b=5;

C、j++

D、y=int(x)

标记此题

二、判断(共10分)

1.一个循环体内又包含另一个完整的循环结构,称为循环的嵌套

正确错误

标记此题

2.do-while语句和while语句可以互相转换,运行结果相同。

正确错误

标记此题

3.内层break语句可以终止嵌套的switch,使最外层的switch结束。

正确错误

标记此题

4.C语言中类型转换可以由系统自动进行。

正确错误

标记此题

5.在C语言的标识符中,大写字母和小写字母完全等价

正确错误

标记此题

6.#define和printf

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

当前位置:首页 > PPT模板 > 其它模板

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

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