完整word版湖南工业大学C语言期末考试复习题机房题库.docx

上传人:b****6 文档编号:8438130 上传时间:2023-01-31 格式:DOCX 页数:30 大小:30.47KB
下载 相关 举报
完整word版湖南工业大学C语言期末考试复习题机房题库.docx_第1页
第1页 / 共30页
完整word版湖南工业大学C语言期末考试复习题机房题库.docx_第2页
第2页 / 共30页
完整word版湖南工业大学C语言期末考试复习题机房题库.docx_第3页
第3页 / 共30页
完整word版湖南工业大学C语言期末考试复习题机房题库.docx_第4页
第4页 / 共30页
完整word版湖南工业大学C语言期末考试复习题机房题库.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

完整word版湖南工业大学C语言期末考试复习题机房题库.docx

《完整word版湖南工业大学C语言期末考试复习题机房题库.docx》由会员分享,可在线阅读,更多相关《完整word版湖南工业大学C语言期末考试复习题机房题库.docx(30页珍藏版)》请在冰豆网上搜索。

完整word版湖南工业大学C语言期末考试复习题机房题库.docx

完整word版湖南工业大学C语言期末考试复习题机房题库

C语言期末考试复习题(机房题库)

2、下列各选项中,合法的c语言关键字是()。

A.integexB.sinC.stringD.void参考答案:

D

3、C语言的程序一行写不下时,应该()。

A.用回车符换行B.在任意一个空格处换行C.用分号换行D.用逗号换行答案:

B

4、以下选项中正确的整型常量是()。

A.34.1B.-80C.2,000D.123参考答案:

B

5、在C程序中,可以作为用户标识符的一组标识符是()。

A.voiddefineWORDB.as_b3_224ElseC.switch_weleaseD.4bDOSIG答案:

B

8、以下叙述不正确的是()

A.一个c源程序可由一个或多个函数组成B.一个C源程序必须包含一个main()函数

C.c程序的基本组成单位是函数D.在C程序中,注释说明只能位于一条语句的后面答案:

D

9、C语言规定:

在一个源程序中,main()函数的位置()

A.必须在最开始B.必须在系统调用的库函数的后面

C.可以任意D.必须在最后参考答案:

C

10、在C语言中,数字029是一个()

A.八进制数B.十六进制数C.十进制数D.非法数参考答案:

D

12、C语言可执行程序的开始执行点是()

A.程序中的一条可执行语句B.程序中第一个函数

C.程序中的main函数D.包含文件中的第一个函数参考答案:

C

13、C程序是()

A.顺序执行B.从Main函数开始

C.从函数体开始D.任意语句参考答案:

B

16、以下说法中正确的是()。

A.C语言程序中是从第一定义的函数开始执行

B.在C语言程序中,要调用的函数必须在main()函数中定义

C.C语言程序总是从main()函数开始执行

D.C语言程序中的main()函数必须放在程序的开始部分参考答案:

C

17、一个C程序的执行是从()

A.本程序的main函数开始,到main函数结束

B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C.本程序的main函数开始,到本程序文件的最后一个函数结束

D.本程序文件的第一个函数开始,到本程序main函数结束参考答案:

A

18、以下叙述正确的是()

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

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

C.C语言本身没有输入输出语句

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

C

1、C源程序的基本单位是___函数__

2、一个C源程序中至少应包括一个_________答案:

main函数

3、在一个C源程序中,注释部分两侧的分界符分别为________和_______参考答案:

/*,*/

4、函数体用_______开始,用______结束。

参考答案:

{,}

6、C语言中的标识符只能由3种字符组成,它们是_____、_____和_____

参考答案:

字母数字下划线

7、设a,b和c都是int型变量,且a=3,b=4,c=5,则下面表达式的值为0的是_______.

A.'a'&&'b'B.a<=bC.a||b+c&&b-cD.!

((a

c||1)参考答案:

D

10、判断字符型变量x是否是大写字母的正确的表达式______.

A.'A'<=x<='Z'B.(x>=A)&&(x<=Z)C.('A'<=x)&&('Z'=>x)D.(x>='A')&&(x<='Z')答案:

D

1、已知charch;则判断ch是英文字符的逻辑表达式是_______________

参考答案:

(ch<='z'&&ch>='a')||(ch<='Z'&&ch>='A')

2、表示条件:

10

参考答案:

(X>10&&X<100)||X<0

3、写出下面各个逻辑表达式的值,设a=3,b=4,c=5

1)!

(x=a)&&(y=b)&&0

2)a||b+c&&b-c

3)!

(a>b)&&!

c||1参考答案:

0,1,1

4、当a=3,b=2,c=1时,表达式f=a>b>c的值是_________参考答案:

0

6、设y是int型变量,请写出判断y为奇数的关系表达___________.

参考答案:

(Y%2)==1

8、表示“整数x的绝对值大于5”时值为“真”的C语言表达式是——。

参考答案:

x>5||x<-5

9、已知A=7.5,B=2,C=3.6,表达式A>B&&C>A||A

C>B的值是——。

参考答案:

0

1、以下选项中属于C语言的数据类型是

A.复数型B.逻辑型C.双精度型D.集合型参考答案:

C

2、在C语言中,不正确的int类型的常数是

A.32768B.0C.037D.0xAF参考答案:

A

4、在C语言中,合法的长整型常数是

A.OLB.4962710C.324562&D.216D参考答案:

A

7、以下所列的C语言常量中,错误的是

A.0xFFB.1.2e0.5C.2LD.'\72'参考答案:

B

9、下列变量名合法的是()

A.#1B.$567C.a-bD.m_number参考答案:

D

14、C语言提供的合法的数据类型关键字是:

A.Double

B.short

C.integer

D.Char参考答案:

B

15、在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为

A.char

B.char=int

C.char

D.char=int=longint<=float

A

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

A.defineIFtype

B.getccharprintf

C.includescanfcase

D.whilegopow参考答案:

A

17、下面四个选项中,均是合法整型常量的选项是

A.160-0xffff011

B.-0xcdf01a0xe

C.-0x46a2e50x

D.-0x48a2e50x参考答案:

A

18、下面四个选项中,均是合法的浮点数的选项是

A.+1e+15e-9.403e2

B.-.6012e-4-8e5

C.123e1.2e-.4+2e-1

D.-e3.8e-45.e-0参考答案:

B

20、下面四个选项中,均是不正确的八进制数或十六进制数的选项是

A.0160x8f018

B.0abc0170xa

C.010-0x110x16

D.0a127ff-123参考答案:

D

21、已知各变量的类型说明如下:

intk,a,b;

unsignedlongw=5;

doublex=1.42;

则以下不符合C语言语法的表达式是

A.x%(-3)B.w+=-2C.k=(a=2,b=3,a+b)D.a+=a-=(b=4)*(a=3)答案:

A

25、设C语言中,一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围

A.0--255B.0--32767C.0--65535D.0—2147483647参考答案:

C

2、设有以下变量定义,并已赋确定的值charw;intx;floaty;doublez;

则表达式:

w*x+z-y所求得的数据类型为_:

double

5、表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为___参考答案:

int

6、表达式pow(2.8,sqrt(double(x)))值的数据类型为___:

double______

7、设C语言中,一个int型数据在内存中占2个字节,则int型数据的取值范围为_______

参考答案:

-32768至32767

1、算法的表示方法有_答案:

自然语言,传统流程图,N-S流程图,伪代码,计算机语言

1、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系

的表达式为________。

A.a<>0B.!

aC.a=0D.a!

=0参考答案:

D

2、以下程序输出结果是

main()

{intm=5;

if(m++>5)printf("%d\n",m);

elseprintf("%d\n",m--);}

A.7B.6C.5D.4参考答案:

B

4、若变量都已经说明,则以下程序段输出为()

a=10;b=50;c=30;

if(a>b)a=b;b=c;c=a;

printf("a=%db=%dc=%d\n",a,b,c);

A.a=10b=50c=10B.a=10b=30c=10

C.a=50b=30c=10D.a=50b=30c=50参考答案:

B

5、为避免嵌套的条件分支语句if…else的二义性,C语言规定,C程序中的

else总是与____组成配对关系。

A.其上面距它最近的,并且没有其他else与其配对的if相配对

B.在同一行上的if

C.缩排位置相同的ifD.在其之前未配对的if参考答案:

A

8、请读程序:

main()

{floatx,y;

scanf("%f",&x);

if(x<0.0)y=0.0

elseif((x<5.0)&&(x!

=2.0))

y=1.0/(x+2.0);

elseif(x<10.0)y=1.0/x;

elsey=10.0;

printf("%f\n",y);}

若运行时从键盘上输入2.0(表示回车),则上面程序的输出结果是

A.0.000000B.0.250000C.0.500000D.1.000000参考答案:

C

9、在执行以下程序时,为了使输出结果为t=4,

则给a和b输入的值应满足的条件是D

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+1;

elseif(a==b)t=5;

elset=2*s;

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

}

A.0>a>b

B.a=0

C.a=b<0

D.a

10、若有定义:

floatw;inta,b;则合法的switch语句是()

A.switch(w){case1.0:

printf("*\n");case2.0:

printf("**\n");}

B.switch(a);{case1printf("*\n");case2printf("*\n");}

C.switch(b){case1:

printf("*\n");case2:

printf("*\n");}

D.switch(a+b);{case1:

printf("*\n");default:

printf("\n");case2}参考答案:

C

11、判断两个字符串S1和S2相等的正确语句是____

A.if(S1=S2)

B.if(S1==S2)

C.if(strcpy(S1,S2))

D.if(strcmp(S1,S2)==0)参考答案:

D

15、当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是

if(a

if(c

else

if(a

if(b

elsex=3;

elsex=6;

elsex=7;

A.1B.2C.3D.6参考答案:

B

16、读下列程序:

#include

main()

{

intx,y;

scanf(”%d”,&x);

y=0;

if(x>=0)

{if(x>0)y=1;}

elsey=-1;

prinff(”%d”,y);}

当从键盘输入32时,程序输出结果为()。

A.0B.1C.-1D.不确定参考答案:

B

18、如下程序的输出结果是()。

#include

main()

{

inta=12,b=5,c=-3;

if(a>b)

if(b<0)c=0;

elsec++;

printf(”%d\n”,c);

}

A.0B.1C.-2D.-3参考答案:

C

19、#include

main()

{intx:

scanf(”%d”,&x);

if(x--<5)prinff(”%d”,x);

elseprintf(”%d”,x++);

}

程序运行后,如果从键盘输入5,则输出结果是()。

A.3B.4C.5D.6参考答案:

B

21、以下程序的运行结果是()。

#include

main()

{

intk=2;

switch(k)

{

case1:

printf(”%d\n”,k++);

break;

case2:

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

case3:

printf(”%d\n”,k++);

break;。

case4:

printf(”%d\n”,k++);

A.缩排位置相同的ifB.其之前最近的if

C.其之后最近的ifD.同一行上的if参考答案:

B

24、下列语句正确的是()

A.if(a>b>c)temp=a

B.if((a=b)>0)temp=a

C.inta=b=c=4

D.inta;scanf(%d,a)参考答案:

B

26、有如下程序

main()

{inta=2,b=-1,c=2;

if(a

if(b<0)c=0;

elsec++

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

}

该程序的输出结果是

A.0B.1C.2D.3参考答案:

C

27、与y=(x>0?

1:

x<0?

-1:

0);的功能相同的if语句是

A.if(x>0)y=1;elseif(x<0)y=-1;elsey=0;

B.if(x)if(x>0)y=1;elseif(x<0)y=-1;elsey=0;

C.y=-1if(x)y=1;elseif(x==0)y=0;elsey=-1;

D.y=0if(x>-0)if(x>0)y=1;elsey=-1;参考答案:

A

填空题:

2、以下程序运行后的输出结果是——。

#include

main()

{intx=10,y=20,t=0;

if(x==y)t=x;x=y;y=t;

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

}参考答案:

0

3、若inti=10;,则执行下列程序后,变量i的正确结果是——。

switch(i)

{case9:

i+=1;

case10:

i+=1;.

case11:

i+=1:

default:

i+=1;

}答案:

((20

4、下列程序段的输出结果是_____________。

intn='c';

switch(n++)

{default:

printf("error");break;

case'a':

case'A':

case'b':

case'B':

printf("good");break;

case'c':

case'C':

printf("pass");

case'd':

case'D':

printf("warm");

}

参考答案:

passwarm

已知inta[][3]={1,2,3,4,5,6,7};,则数组a的第一维的大小是()。

A.2B.3C.4D.无确定值参考答案:

B

2、有如下程序:

#include

main()

{intn[5]={0,0,0},i,k=2;

for(i=0;i

printf(”%d\n”,n[k]);

}

该程序的输出结果是()。

A.不定值B.2C.1D.0答案:

D

3、以下程序的输出结果是()。

#include

f(intb[],intm,intn)

{inti,s=0;

for(i=m;i

returns;

}

main()

{intx,a[]={1,2,3,4,5,6,7,8,9};

x=f(a,3,7);

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

}

A.10B.18C.8D.15答案:

A

4、以下程序中函数reverse()的功能是将a所指数组中的内容进行逆置。

#include

voidreverse(inta[],intn)

{inti,t;

for(i=0;i

{t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}

}

main()

{intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;

reverse(b,8);

A.22B.10C.34D.30

参考答案:

A

5、在c语言中,一维数组的定义方式为:

类型说明符数组名()。

A.[常量表达式]B.[整型表达式]

C.[整型常量]或[整型表达式]D.[整型常量]

参考答案:

A

6、若有说明:

inta[3][4];,则对a数组元素的非法引用是()。

A.a[O][2*1]

B.a[1][3]

C.a[4-2][0]

D.a[0][4]答案:

D

7、下面程序中有错误的行是()。

(1)main()

(2){

(3)inta[3]={1};

(4)inti;

(5)scanf(”%d”,&a);

(6)for(i=1;i<3;i++)a[0]=a[0]+a[i];

(7)prinff(”%f\n”,a[0]);

(8)}

A.3B.6C.7D.5答案:

D

11、下面程序________(每行程序前面的数字表示行号)

1main()

2{

3floata[3]={0,0};

4inti;

5for(i=0;i<3;i++)scanf("%d",&a[i]);

6for(i=1;i<10;i++)a[0]=a[0]+a[i];

7printf("%f\n",a[0]);

8}

A.没有错误B.第3行有错误,虽然编译能够通过

C.第5行有错误,虽然编译能够通过D.第7行有错误,虽然编译能够通过

参考答案:

C

12、以下不正确的定义语句是

A.doublex[5]={2.0,4.0,6.0,8.0,10.0};

B.inty[5]={0,1,3,5,7,9};

C.charc1[]={'1','2','3','4','5'};

D.charc2[]={'\x10','\xa','\x8'}参考答案:

B

13、执行下面的程序段后,变量k中的值为

s[0]=k;k=s[1]*10;

A.不定值B.33C.30D.10答案:

A

15、定义如下变题和数组:

inti;

intx[3][3]={1,2,3,4,5,6,7,8,9};

则下面语句的输出结果是

for(i=0;i<3;i++)printf("%d",x[i][2-1]);

A.159B.147

C.258D.369

参考答案:

C

16、下列程序的输出结果是

main()

{staticints[][3]={{1,2,3},{4,5,6}};

intt;

t=(s[0][0],s[1][1],s[0][1]+s[1][2]);

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

}

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

参考答案:

D

17、下列对数组赋值的语句正确的是()

A.statica[4]={0,0,0,0}

B.inta[4]={0*4}

C.statica[4]=0

D.statica[4];a=0;答案:

A

19、若有说明inta[3][4];则对a数组元素的正确引用是

A.a[2][4]B.a[1,3]

C.a[1+1][0]D.a

(2)

(1)答案:

C

20、若有说明inta[3][4];则a数组元素的非法引用是

A.a[0][2*1]B.a[1][3]C.a[4-2][0]D.a[0][4]答案:

D

1、用来引用特定数组元素的数字称为:

下标

2、把数组元素按顺序存放的过程称为_:

排序

4、在C语言中,二维数组元素在内存中的存放顺序是:

按行顺序存放

5、下面程序的运行结果是——。

#include

main()

{inti,f[10];

f[0]=f[l]=1;

for(i=2;i

f[i]=f[i-2]+f[i一1];

for(i=0;i

{if(i%4==0)printf(”\n”);

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

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

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

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