C语言练习题机房题库_第1页
C语言练习题机房题库_第2页
C语言练习题机房题库_第3页
C语言练习题机房题库_第4页
C语言练习题机房题库_第5页
已阅读5页,还剩164页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

门单选题:(每题2分,共80分)

1、下列不合法的十六进制数是()(2分)

A.oxff

B.OXcde

C.OxiI

D.0x23

参考答案:A

2、将三个数排序需要比较次。:2分)

A.2

B.3

C.4

D.不确定

参考答案:B

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

main()

{intk=17:

printf("%d,%o,%x\n",k,k,k);

}(2分)

A.17,021,0x11

B.17,17,17

C.17,0x11,021

D.17,21,11

参考答案:D

4、在C语言中,合法的字符常量是.

(2分)

A.'\084'

B.'\x43'

C.'ab'

D.〃\0〃

参考答案:B

5、在C语言中,int、char和short三种类型数据在内存中所

占用的字节数

(2分)

A.由用用户自己定义

B.均为2个字节

C.是任意的

D.由所用机器的机器字长决定

参考答案:D

6、若有定义:inta二8,b=5,C;,执行语句C=a/b+O.4;后,c

的值为

(2分)

A.1.4

B.1

C.2.0

D.2

参考答案:B

7、设有说明语句:chara=、72]则变量a

(2分)

A,包含1个字符

B.包含2个字符

C.包含3个字符

D.说明不合法

参考答案:A

8、若有以下说明和语名:

inta=5,m;

m=a++:

此处表达式m的值是

(2分)

A.7

B.6

C.5

D.4

参考答案:C

9、以下程序的输出结果是

main()

intx=10,y=10;

printf("%d%d\n",x-,-y);

)

(2分)

A.1010

B.99

C.910

D.109

参考答案:D

10、下列选项中,不正确的赋值语句是(2分)

A.++t;

B.n1=(n2=(n3=0)):

C.k=1=j:

D.a=b+c=1;

参考答案:C

11、以下程序段的揄出结果是

inta=1234;

printf("%2d\n",a);

(2分)

A.12

B.34

C.1234

D.提示出错、无结果

参考答案:C

12、为表示关系x2y2z,应使用C卷言表达式—

(2分)

A.(x>=y)&&(y>=z)

B.(x>=y)AND(y>=z)

C.(x>=y>=z)

D.(x>=y)&(y>=z)

参考答案:A

13、设有:inta=1,b=2,c=3,d=4,m=2,n=2;

执行(m二a>b)&&(n=c>d)后n的值是

(2分)

A.1

B.2

C.3

D.4

参考答案:B

14、判断char型变量cl是否为小写字母的正确表达式是

(2分)

A.,a,<=cl<='z'

B.(cl>=a)&&(cl<=z)

C.(匕,>二cl)||('z'<=cl)

D.(cl>='a,)&&(cl<='z')

参考答案:D

15、能正确表示逻辑关系:“a2=10或a<0”的C语言表达

式是

(2分)

A.a>=<0ora<=0

B.a>=0||a<=10

C.a>=**0&&a<-0

D.a<=0||a>=10

参考答案:D

16、执行下面语句后的输出为()

inti=-1;

if(i<=0)printf("****\n");

eIseprintf("%%%%\n");

(2分)

A****

B.%%%%

C.%%%%C

D.有语法错,不能执行

参考答案:A

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

确表示这一关系的表达式为O

(2分)

A.a<>0

B.!a

C.a二0

D.a!=0

参考答案:D

18、若K为整型,以下while循环执行()次

K=0;

whiIe(K=0)K=K-1;

(2分)

A.执行10次

B.无限循环

C.一次也不执行

D.执行一次

参考答案:C

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

voidmain()

{inty=5;whlie(y-);

printf("y=%d\n",y);)(2分)

A.y=0

B.y=1

C.y=-1

D.无限循环

参考答案:C

20、C语言中whiIe和do...whiIe循环的主要区别()(2分)

A.do...whiIe的循环体至少执行一次

B.whiIe的循环条件比do...whiIe的循环条件严格

C.do...whiIe循环允许从外部转到循环体内

D.do...whiIe的循环体不能是复合语句

参考答案:A

21、如果输入为:ABCdef执行下面一段程序后,则输出为:

main()

{charch;

whiIe((ch=getchar())!='\n')

{if(ch>='A'&&ch<='Z,)ch=ch+32;

elseif(ch>='a'&&ch<'z')ch=ch-32;

printf("%c",ch);

)

printf("\n"):

)(2分)

A.ABCdef

B.abcDEF

C.abc

D.DEF

参考答案:B

22、以下选项中正确的定义语句是0

(2分)

A.doubIea;b;

B.doubIea二b二0;

C.doublea=7,b=0;

D.double,a,b;

参考答案:C

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

(2分)

A.a[2][4]

B.a[1,3:

C.a[1+1][0]

D.a(2)(1)

参考答案:C

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

(2分)

A.a[0][2*1]

B.a[1][3]

C.a[4-2:[0]

D.a[0][4]

参考答案:D

25、以下不能对二维数组a进行正确初始化的语句是

(2分)

A.inta[2][3]={0};

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

C.inta[2][3]={{1,2J,{3,4},{5,6}};

D.inta[][3]={1,2,3,4,5,6J;

参考答案:C

26、设有数组定义:chararray□二"China";,则数组array

所占的空间为((2分)

A.4个字节

B.5个字节

C.6个字节

D.7个字节

参考答案:C

27、以下程序运行后,输出结果是

#definePT5.5

#difineS(x)PT*x*x

main()

{inta=1,b=2;

print("%4.If/n",S(a+b));

}(2分)

A.49.5

B.9.5

C.22.0

D.45.0

参考答案:B

28、下面程序的输出结果是

main()

{inta[]={1,2,3,4,5,6,7,8,9,0,),*p;

P=a;

printf("%d\n",*p+9);

)(2分)

A.0

B.1

C.10

D.9

参考答案:C

29、在C语言中,下面那种数据类型不属于构造类型(

(2分)

A.枚举类型

B.数组类型

C.结构体类型

D,共用体类型

参考答案:A

30、C语言程序是由()组成(2分)

A.一个主程序和若干子程序

B.函数

C.若干过程

D.若干子程序

参考答案:B

31、putchar函数可以向终端输出一个()(2分)

A.整型变量表达式值

B.实型变量值

C.字符串

D.字符或字符型变量值

参考答案:D

32、请读程序:

#incIude

FUNC(intA,intB)

{intC;

C=A+B;

returnC;

1

main()

{intX=6,Y=7,Z=8,R;

R=FUNC(X+Y,Z-);

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

上面程序的输出结果是

(2分)

A.11

B.20

C.21

D.31

参考答案:C

33、C语言函数的隐含存储类别是.

(2分)

A.extern

B.static

C.register

D.auto

参考答案:D

34、以下不正确的说法是()

(2分)

A.在不同的函数中可以使用相同名字的变量

B.形式参数是局部变量

C.在函数内定义的变量只在本函数范围内有效

D.在函数内的复合语句中定义的变量在本函数范围内有效

参考答案:D

35、有以下程序

viodfun(inta,intb,intc)

{a=456;b=567;c=678;)

main()

{intx=10,y=20,z=30;

fun(x,y,z);

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

输出结果是

(2分)

A.30,20,10

B.10,20,30

C.456,567,678

D.678,567,456

参考答案:B

36、以下叙述中正确的是(2分)

A.A)C程序中的注释只能出现在程序的开始位置和语句的

后面

B.C程序书写格式严格,要求一行内只能写一个语句

C.C程序书写格式自由,一个语句可以写在多行上

D.用C语言编写的程序只能放在一个程序文件中

参考答案:C

37、下列可用于C语言用户标识符的一组是(2分)

A.void,define,WORD

B.a3_3,_123,Car

C.For,-abc,IFCase

D.2a,DO,sizeof

参考答案:B

38、以下叙述中错误的是(2分)

A.用户好定义的标识符允许使用关健字

B.用户分定义的标识符应尽量做到“见名识意”

C.用户分定义的标识符中,大、小写字母代表不同标识

D.用户所定义的标识符必须以字母或下划线开头

参考答案:A

40、有如下程序段

int*p,a=10,b=1

p=&a;a=*p+b:

执行该程序段后,a的值为

(2分)

A.12

B.11

C.10

D.编译出错

参考答案:B

程序设计题(以下3题中任选2题作答,每题10分,共20分):

1、编程序求出100到500之间同时满足除3余2和除5余3条

件的数的个数。(10分)

参考答案:

main()

(

inti,num=O;

for(i=100;i<=500;i++)

(

if((设3=2)&&(i%5=3))

num=num+1;

)

printf(,,\n%d/,,num);

)

本题答案:20

2、编写程序,求在10~1000之间所有能被4除余2,被7除余3,

被9除余5的数之和。(10分)

参考答案:

main()

{longs=0;

intm;

for(m=10;m<='000;m++)

(

if(田%4=2&&福7=3&&【喉9二5)

s=s+m;

)

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

)

本题参考答案:2000

3、编写程序,要求从键盘输入一个字符,转换其大小写并输

出。(10分)

参考答案:

voidmain。

{

charchl,ch2;〃chl:输入前的字符,ch2:转换后的字符

printf(^pleaseinputachar:");

scanf(〃%c〃,&chl);

if(chl>=A*&&chl<='Z')

ch2=chl+32;

if(chl>=,a'&&ch2<='z')

ch2=chl-32;

printf("转换后的字符为:%c\n〃,ch2);

)

。单选题:(每题2分,共80分)

1、()是构成c语言程序的基本单位(2分)

A.函数

B.变量

C.子程序

D.语句

参考答案:A

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

(2分)

A.复数型

B.逻辑型

C.双精度型

D.集合理

参考答案:C

4、若变量a是int类型,并执行了语句:a='A'+1.6;,则正

确的叙述是

(2分)

A.a的值是字符C

B.a的值是浮点型

C.不允许字符型和浮点型相加

D.a的值是字符‘A'的ASCII值加上1

参考答案:D

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

(2分)

A.OxFF

B.1.2e0.5

C.2L

D.'\72'

参考答案:B

6、若已定义x和y为double型,则表达式:x=1,y=x+3/2的值

是—(2分)

A.1

B.2

C.2.0

D.2.5

参考答案:c

7、表达式((a=3*5,a*5),a+5)的值是多少()

(2分)

A.20

B.80

C.不能确定

D.15

参考答案:A

9、若有说明语句:inta,b,c;

则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是

(2分)

A.scant&a,&b,&c);

B.scanf&a,&b,&d);

C.scanf<"%d%d%d",a,b,d);

D.scanf(H%d%d%d",a,b,*d);

参考答案:A

10、以下说法中正确的是

(2分)

A.#define和printf都是C语句

B.#define是C语句,而printf不是

C.printf是C语句,但#(招行倭不是

D.#define和printf都不是C语句

参考答案:D

11、设有如下定义:

==

int31fb—2,c31d—4,m—2,n=2;

则执行表达式:(m=a>b)&&(n=c>d)后,n的值为.

(2分)

A.1

B.2

C.3

D.0

参考答案:B

13、能正确表示a和b同时为正或同时为负的逻辑表达式是

(2分)

A.(a>=0IIb>=0)&&(a<0||b<0)

B.(a>=0&&b>=0)&&(a<0&&b<0)

C.(a+b>0)&&(a+b<=0)

D.a*b>0

参考答案:D

15、为避免嵌套的条件分支语句if…else的二义性,C语言规

定,C程序中的

eIse总是与组成配对关系。

(2分)

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

相配对

B.在同一行上的if

C.缩排位置相同的if

D.在其之前未配对的if

参考答案:A

16、以下程序谕出结果是

main()

{intm=5;

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

eIseprintf;"%d\n",m-);

)(2分)

A.7

B.6

C.5

D.4

参考答案:B

18、以下程序段的输出结果是

intx=3;

do

{printf("%3d",x-=2);)

while(!(―x));

(2分)

A.1

B.30

C.1-2

D.死循环

参考答案:C

19、执行语句:for(i=1;i++<4;);后,变量i的值是

(2分)

A.3

B.4

C.5

D.不定

参考答案:C

20、以下程序的输出结果是

main()

{intn=4;

while(n-)printf("%d",―n);

1(2分)

A.20

B.31

C.321

D.210

参考答案:A

21、设有程序段

intk=10;

while(k=0)k=k-1;

则下面描述中正确的是

(2分)

A.while循环执行10次

B.循环是无限循环

C.循环体语句一次也不执行

D.循环体语句执行一次

参考答案:C

22、若有说明:inta[10];,则对a数组元素的正确引用是

()。(2分)

A.a[10]

B.a[3.5:

C.a(5)

D.a[10-0]

参考答案:D

23、若二维数组a有m列,则计算任一元素在数纲中位

置的公式为(假设a[0][0]位于数组的第一个位置上)

(2分)

A.i*m+j

B.j*m+i

C.i*m+j-1

D.i*m+j+1

参考答案:D

24、已知inta[][3]={1,2,3,4,5,6,7);,则数组a的

第一维的大小是()。(2分)

A.2

B.3

C.4

D.无确定值

参考答案:B

26、以下程序的输出结果是

#definef(x)x*x

main()

1inta=6,b=2,c;

c=f(a)/f(b);

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

}(2分)

A.9

B.6

C.36

D.18

参考答案:C

28、变量的指针,其含义是指该变量的

(2分)

A.值

B.地址

C.名

D.一个标志

参考答案:B

30、以下不合法的数值常量是()

(2分)

A.011

B.1e1

C.8.0e0.5

D.Oxabcd

参考答案:C

31、以下叙述中错误的是()(2分)

A.用户自定义的函数中可以没有return语句

B.用户自定义函数中若没有return语句,则应当定义函数

为void类型

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

D.main。函数必须位于程序的开始

参考答案;D

34、C语言中,调用一个函数时,实参变量和形参变量之间的数

据传递是.

(2分)

A.单向的值传递

B.单纯她址传递

C.值传递和地址传递都有可能

D.由实参传给形参,然后由形参传回给实参,即是双向传

参考答案:A

35、当调用函数时,实参是一个数组名,则向函数传递的是

()o(2分)

A.数组的长度

B.数组的首地址

C.数组每一个元素的地址

D.数组每个元素中的值

参考答案:B

36、下列叙述不正确的是()(2分)

A.在c程序中,%是只能用于整数运算的运算符

B.在C程序中,无论是整数还是实数,都能正确无误地表

C.若a是实型变量,c程序中a=20是正确的,因此实型变

量允许被整型常量赋值

D.在C程序中,语句之间必须要用分号“;”分隔

参考答案:B

38、以下可用作C语言用户标识符的是(2分)

A.void,define,WORD

B.a3_b3,_123,IF

C.FOR,-abc,Case

D.2a,Do,Sizeof

参考答案:B

39、以下关于运算符优先顺序的描述中正确的是

(2分)

A.关系运算符<笄术运笄符<赋值运算符<逻辑运笄

B.逻辑运算符<关系运算符<算术运算符<赋值运算

C.赋值运算符<逻辑运算符<关系运算符<算术运算

D.算术运算符<关系运算符<赋停运算符<逻辑运算

参考答案:C

40、现有定义inta;doubleb;floatc;chark;,则表达式

a/b+c-k值的类型为:(2分)

A.int

B.doubIe

C.float

D.char

参考答案:B

二程序设计题(以下3题中任选2题作答,每题10分,共20分):

1、编程序求广120所有整数的平方和并缭出结果。(10分)

参考答案:

main()

{longinta,s=0;

clrscr();

for(a=l;a<=120;a++)

{s=s+a*a;

)

printfs);

)

本题答案:583220

2、编程序求出1-4000以内能被3或者11整除数的个数。(10

分)

参考答案:

main()

{

inti,num=0;

for(i=l;i<=4000;i++)

(

if((i%3==0)&&(i%ll==0))

num=num+l;

)

printf(z,\n%dA,,num);

本题答案:121

3、编写程序,要求从键盘输入一个正整数,判断该数既是5又

是7的整倍数,若是,则输出yes,否则输出no。(10分)

参考答案:

voidmain()

intx;

printf(^pleaseinputainteger/');

scanf(〃%d〃,&x);

if(x%5=0&&x%7=0)

printf(〃yes\n〃);

else

printf(〃no\n");

}

。单选题:(每题2分,共80分)

1、C语言程序的基本单位是.

(2分)

A.语句

B.函数

C.程序行

D.字符

参考答案:B

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

(2分)

A.一个c源程序可由一个或多个函数组成

B.一个C源程序必须包含一个main。函数

C.c程序的基本组成单位是函数

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

参考答案:D

3、以下选项中,非法的字符常量是()

(2分)

A.'\t'

B.'\17'

C."n"

D.'\xaa'

参考答案:C

5、下面四个选项中,均是不合法的用户标识符的选项是

(2分)

A.AP_0do

B.floatlaO_A

C.b-agotoint

D._123tempint

参考答案:C

6、若变量a、i已正确定义,且i已正确赋值,合法的语句是

(2分)

A.a==1

B.++i;

C.a=a++二5;

D.a-int(i);

参考答案:B

7、设有以下定义:

intx=10,y=3,z;

则语句

printf("%d\n",z=(x%y,x/y))

的输出结果是

(2分)

A.1

B.0

C.4

D.3

参考答案:D

8、设ch是char型变量,其值为A,且有下面的表达式:

ch=(ch>='A'&&ch<='Z')?(ch+32):ch

上面表达式的,直是(2分)

A.A

B.a

C.Z

D.z

参考答案:B

9、设x为int型变量,则执行以下语句后,x的值为.

x=10;x+=x-=x-x;

(2分)

A.10

B.20

C.40

D.30

参考答案:B

10、表达式18/4*sqrt(4.0)/8值的数据类型为(2分)

A.int

B.fIoat

C.doubIe

D.不确定

参考答案:C

11、以下程序的揄出结果是

main()

(charstrEnX's-Zt'/r'/i'/n'/g');

printf("%d\n",strIen(str));

1(2分)

A.6

B.7

C.11

D.12

参考答案:A

12、当c的值不为0时,在下列选项中能正确将c的值赋给变量

a、b的是

(2分)

A.c=b=a:

B.(a=c)II(b=c);

C.(a二c)&&(b二c);

D.a=c=b:

参考答案:C

13、逻辑运算符两侧运算对象的数据类型

(2分)

A.只能是0或1

B.只能是0或非0正教

C.只能是整型或字符型数据

D.可以是任何类型的数据

参考答案:D

15、在C语言中,逻辑值“真”用()表示

(2分)

A.TRUE

B.大于0的数

C.非0的整数

D,非0的教

参考答案:D

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

(2分)

A.,A'<=x<=,Z,

B.(x>=A)&&(x<=Z)

C.(,A'<=x)&&(,Z,=>x)

D.(x>='A')&&(x<='Z')

参考答案:D

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

(2分)

A.do-while语句构成的循环不能用其它语句构成的循环来

代替

B.do-whiIe语句构成的循环只能用break语句退出

C.用do-whiIe语句构成的循环,在whiIe后的表达式为非

零时结束循环。

D.用do-whiIc语句构成的循环,在whiIc后的表达式为零

时结束循环。

参考答案:D

20、在下列选项中,构成死循环的程序段是

(2分)

A.inti=100;

B.for(;:);

C.intk=1000;

D.ints=36;

参考答案:B

21、假定a和b为int型变量,则执行以下语句后b的值为

a=1;b=10;

do

{b=b-a;a++;)

while(b—>0);

(2分)

A.-3

B.-2

C.-1

D.-4

参考答案:D

23、在C语言中,当while语句中的条件为()时,结束该循环.

(2分)

A.0

B.1

C.TRUE

D.非0

参考答案:A

25、对以下说明语句的正确理解是

inta[10]={6,7,8,9,10);

(2分)

A.将5个初值依次赋给a[1]至a[5]

B.将5个初值依次赋给a[0]至a[4:

C.将5个初值依次赋给a[6]至a[10]

D.因为数组长度与初值的个数不相同,所以此语句不正确

参考答案:B

26、以下对二维数组a的正确说明是

(2分)

A.inta[3][]

B.fIoata(3,4)

C.doublea[1][4]

D.floata(3)(4)

参考答案:C

27、合法的数组说明语句是()。(2分)

A.inta[]="string";

B.inta[5]={0,1,2,3,4,5};

C.chara="string";

D.chara[]=[0,1,2,3,4,5];

参考答案:D

31、在16位IBM-PC机上使用C语言,若有如下定义

structdata

(inti;

charch;

doubIef;

lb;

则结构变量b占用内存的字节数是

(2分)

A.1

B.2

C.8

D.11

参考答案:D

32、在位运算中,操作数每右移一位,其结果相当于

(2分)

A.操作数乘以2

B.操作数除以2

C.操作数乘以4

D.操作数除以4

参考答案:B

33、以下叙述中不正确的是

(2分)

A.预处理命令行都必须以#号开始

B.在程序中凡是以#号开始的语句行都是预处理命令行

C.以下是正确的宏定义#defineIBM_PC

D.C程序在执行过程中对预处理命令行进行处理

参考答案:D

36、C程序中,若函数调用采用传值方式,则()

(2分)

A.实参和虚参各自占有存储单元

B.实参和虚参共享存储单元

C.由用户指定

D.由计算机随机确定

参考答案:A

37、在一个源文件中定义的外部变量的作用域为()o(2分)

A.本文件的全部范围

B.本程序的全部范围

C.本函数的全部范围

D.从定义该变量的位置开始至本文件结束

参考答案:B

39、一个C语言程序总是从()开始执行(2分)

A.主过程

B.主函数

C.子程序

D.主程序

参考答案:B

40、C语言中最简单的数据类型包括:_

(2分)

A.整型,实型,逻辑型

B.整型,字符型,逻辑型

C.整型,实型,字符型

D.卷型,实型,逻辑组,字符型

参考答案:C

二程序设计题(以下3题中任选2题作答,每题10分,共20分):

1、编程序求2+4+8+16+32+…这样的数之和「如果累加数大于

3000时,则程序终止并输出结果。(10分)

参考答案:

main()

{

inti=2,sum=0;

while(sum<=3000)

(

sum=sum+i;

i=i*2;

)

printf(〃\n%d”,sum);

)

本题答案:4094

2、编程序求1~100能被7整除的个数。(10分)

参考答案;

main()

{inta,n=0;

for(a=l;a<=10;a++)

{if(a%7==0)

n++;

)

printf(〃%d〃,n);

)

本题答案:71

3、编写程序,要求从键盘输入一个整数,打印出它是奇数还是

偶数?(10分)

参考答案:

voidmain()

{

intx;

printf(z,pleaseinputainteger:");

scanf(〃%d〃,&x);

if(x%2==l)

printfC%d是奇数\n〃,x);

else

printf(〃刎是偶数\n〃,x);

}

。单选题:(每题2分,共80分)

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

(2分)

A.程序干的一条可执行语句

B.程序中第一个函数

C.程序中的main函数

D.包含文件中的第一个函数

参考答案:C

2、C语言程序的基本单位是()o(2分)

A.函数

B.过程

C.子程序

D.子例程

参考答案:A

5、C语言中合法的字符常量是(2分)

A.'\084'

B.'\X43'

C.'ab'

D."XO"

参考答案:B

6、以下不正确的叙述是

(2分)

A.在C程序中,逗号运算符的优先级最低

B.在C程序中,APH和aph是两个不同的变量

C.若a和b类型相同,在计算了赋遒表达式a二b后b中的

值将放入a中,而b中的值不变

D.当从键盘输入数据时,对于整型变量只能输入整型数值,

对于实型变量只能输入实型数值

参考答案:D

10、在C语言中,运算对象必须是整型数的运算符是(2

分)

A.%

B.\

C.%和\

D.**

参考答案:A

13、为了避免在嵌套的条件语句if…else中产生二义性,C语

言规定:eIse子句总是与()配对。(2分)

A.缩排位置相同的if

B.其之前最近的if

C.其之后最近的if

D.同一行上的if

参考答案:B

14、下面程序的输出是

main()

{intx=10,y=3;

printf("%d\n",y=x/y);}(2分)

A.0

B.1

C.3

D.不确定的值

参考答案:C

16、C语言的对语句中用作判断的表达式一般为

(2分)

A.关系表达式

B.逻辑表达式

C.算术表达式

D.逻辑表达式和关系表达式

E.关系或逻辑表达式

参考答案:D

17、表示关系X<=Y<=Z的C语言表达式为.

(2分)

A.(X<=Y)&&(Y<=Z)

B.(X<=Y)AND(Y<=Z)

C.(X<二丫<二Z)

D.(X<二Y)&(Y<=Z)

参考答案:A

19、读下列程序:

#incIude

main()

(

intx,y;

scanf(,T%d”,&x);

y二0;

if(x>=0)

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

eIsey=-1;

prinff("%d'',y):)

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

A.0

B.1

C.-1

D.不确定

参考答案:B

20、执行下面语句后的输出为()

inti=-1;

if(i<=0)printf("****\n")

eIseprintf("%%%%\n")

(2分)

A****

B.%%%%

C.%%%%C

D.有语法错,不能执行

参考答案:D

23、b,在内存中占个字节。“b”在内存中占个字

节(2分)

A.1和2

B.1

C.3

D.2

参考答案:A

24、以下描述中正确的是

(2分)

A.由于do-whiIe循环中循环体语句只能是一条可执行语

句,所以循环体内不能使用复合语句

B.do-whiIe循环由do开始,用while结束,在while(表

达式)后面不能写分号

C.在do-whiIe循环体中,一定要有能使while后面表达

式的值变为零:“假”)的操作

D.do-whiIe循环中,根据情况可以省喀while

参考答案:C

25、对for(表达式1;;表达式3)可理解为

(2分)

A.for(表达式1;0;表达式3)

B.for(表达式1;1;表达式3)

C.for(表达式1;表达式1;表达式3)

D.for(表达式1;表达式3;表达式3)

参考答案:B

27、在c语言中,一维数组的定义方式为:类型说明符数组名

()o(2分)

A.[常量表达式]

B.[整型表达式]

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

D.[整型常量]

参考答案:A

28、以下程序的输出结果是

main()

{inti,x[3][3]={9,8,7,6,5,4,3,2,1):

for(i=0:i<4:i+=2)printf("%d",x[i][i]);

}(2分)

A.52

B.91

C.53

D.97

参考答案:B

29、C语言规定,在一个源程序中,main函数的位置(2分)

A.必须在最开始

B.必须在系统调用的库函数的后面

C.可以任意

D.必须在最后

参考答案:C

31、若x为整型变量,p是指向整型数据的指针变量,则正确的

赋值表达式是()。(2分)

A.p=&x

B.p=x

C.*p=&x

D.*p二*x

参考答案:A

33、当说明一个结构体变量时系统分配绐它的内存是

(2分)

A.各成员所需内存量的总和

B.结构中第一个成员所需内存量

C.成员中占内存量最大者所需的容量

D.结构书最后一个成员所需内存量

参考答案:A

34、在位运算中,操作数每左移一位,其结果相当于

(2分)

A.操作数乘以2

B.操作数除以2

C.操作数除以4

D.操作数乘以4

参考答案:A

35、以下叙述中错误的是(2分)

A.C语句必须以分号结束

B.复合语句在语法上被看作一条语句

C.程序可以有两个主函数

D.赋值表达式末尾加分号就构成赋,直语句

参考答案:C

36、下列说法正确的是.

(2分)

A.调用函数时,实参与形参可以共用内存单元

B.调用函数时,实参的个数、类型和顺序与形参可以不一

C.调用函数时形参可以是表达式

D.调用函数时,将为形参分配内存单元

参考答案:D

37、返回值为void的函数,其含义是.

(2分)

A.调用函数之后,被调用的函数没有返回值

B.调用函数之后,被调用的函数不返回

C.调用函数之后,被调用的函数的返回值为任意的类型

D.以上三种说法都是错误的

参考答案:A

38、C语言程序由函数组成。它的o

(2分)

A.主函数必须在其他函数之前,的数内可以嵌套定义函数

B.主函数可以在其他函数之前,函数内不可以嵌套定义函

C.主函数必须在其他函数之前,函数内不可以嵌套定义函

D.主函数必须在其他函数之后,函数内可以嵌套定义函数

参考答案:B

39、若调用一个函数,且此函数中没有return语句,则正确的

说法是:该函数

(2分)

A.没有返回值

B.返回若干个系统默认值

C.能返回一个用户所希望的值

D.返回一个不确定的值

参考答案:D

40、以下叙述中错误的是o:2分)

A.C语言编写的函数源程序,其文件名后缀可以是.C

B.C语言编写的函数都可以作为一个独立的源程序文件

C.C语言编写的每个函数都可以进行独立的编译并执行

D.一个C语言程序只能有一个主函数

参考答案:C

二程序设计题(以下3题中任选2题作答,每题10分,共20分):

1、编程序求「80所有整数的平方和并输出结果。(10分)

参考答案:

main()

(

inti,x;

longsum=0;

for(i=l;i<=80;i++)

(

x=i*i;

sum=sum+x;

)

printfsum);

)

参考答案:173880

2、编程序统计300~500能被3整除的个数。(10分)

参考答案:

main()

(

inta;

inti=0;

for(a=300;a<=500;a++)

(

if(a%3==0)

i=i+1;

)

printf(〃%d〃,i);

参考答案是:67

。单选题:(每题2分,共80分)

1、以下选项中合法的用户标识符是()(2分)

A.int

B.a#

C.5mem

D._243

参考答案:D

2、C程序是()

(2分)

A.顺序执行

B.从main函数开始

C.从函数体开始

D.任意语句

参考答案:B

5、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是

(2分)

A.7

B.8

C.6

D.2

参考答案:B

6、C语言中运算对象必须是整型的运算符是

(2分)

A.%二

B./

C.=

D.〈二

参考答案:A

7、若有以下程序段,

intd=1,c2=2,c3;

c3=1.0/c2*d;

则执行后,c3中的值是

(2分)

A.0

B.0.5

C.1

D.2

参考答案:A

16、若有条件表达式(exp)?a++:b--,则以下表达式中能完全等

价于表达式(exp)的是

(2分)

A.(exp==0)

B.(exp!=0)

C.(exp==1)

D.(exp!=1)

参考答案:B

18、下面的程序是

main()

{intx=3,y=0,z=0;

if(x==y+z)printf("****");

eIseprintf("####");

1(2分)

A.有语法错误不能过通过编译

B.输出*x**

C.可能通过编译,但是不能通过连接,因而不能运行

D.输出####

参考答案:D

21、有以下程序段

intk二0

while(k=1)k<+;

whiIe循环执行的次数是

(2分)

A.无限次

B.有语法错,不能执行

C.一次也不执行

D.执行1次

参考答案:A

22、C语言中while和do-whiIe循环的主要区别是

(2分)

A.do-whiIe的循环体至少无条件执行一次

B.while的循环控制条件比do-whiIe的循环控制条件更严

C.do-whiIe允许从外部转到循环体内

D.do-whiIe的循环体不能是复合语句

参考答案:A

27、若有以下语句,则正确的描述是()。

charx□二”12345”;

chary□:{‘1','2','3','4','5'};(2分)

A.x数组和v数组的长度相同

B.x数组长度大于y数组长度

C.x数组长度小于y数组长度

D.x数组等价于v数组

参考答案:B

30、以下程序中调用scanf函数给变量a揄入数值的方法是错误

的,其错误原因是

main()

P=&a;

printf("inputa:;

scanf("%d",*p);

(2分)

A.*p表示的是指针变量p的地址

B.*p表示的是变量a的值,而不是变量a的地址

C.*p表示的是指针变量p的值

D.*p只能用来说明p是一个指针变量

参考答案:B

33、表达式:10!=9的值是一(2分)

A.true

B.非零值

C.0

D.1

参考答案:D

39、C语言中的标识符只能由字母,数字和下划线三种字符组成,

且第一个字符

(2分)

A.必须为字母

B.必须为下划线

C.必须为字母或下划线

D.可以是字母,数字和下划线中任一字符

参考答案:C

□程序设计题(以下3题中任选2题作答,每题10分,共20分):

1、编程序求1+3+5+7+9+…这样的数之和。如果累加数大于750

时,则程序终止并输出结果。(10分)

参考答案:

main()

inti=l,sum=0;

while(sum<=750)

{

sum=sum+i;

i=i+2;

)

printf(〃\n%d”,sum);

)

参考答案:784

2、编程序求「600能被11整除的个数。(10分)

参考答案:

main()

(

inti,sum=0;

for(i=l;i<=600;i++)

if(i%ll==0)

sum=sum+1;

printf(〃\n%d”,sum);

}

参考答案:54

3、编写程序,要求从键盘输入一个三位数,判断其是否为水仙

花数。(水仙花数是指一个三位数,它的各位数字的立方和等于

其本身。)(10分)

参考答案:

voidmain()

(

intx;

inta,b,c;//a,b,c分别表示x的个位十位和百位

printf("pleaseinputainteger/');

scanf(〃%d〃,&x);

a=x%10;

b=x/10%10;

c=x/100;

if(a*a*a+b*b^b+c*c*c==x)

printf("%d是水仙花数\n〃,x);

else

printf(z,%d不是水仙花数\n〃,x);

。单选题:(每题2分,共80分)

2、C语言规定:在一个源程序中,main。函数的位置()(2

分)

A.必须在最开始

B.必须在系统调用的库函数的后面

C.可以任意

D.必须在最后

参考答案:C

4、x、v、z被定义为int型变量,若从键盘给x、v、z揄入数

据,正确的输入语句是

(2分)

A.INPUTx、v、z;

B.scanf「%d%d%d”,&x,&y,&z);

C.scanf;"%d%d%d",x,y,z);

D.read("%d%d%d",&x,&y,&z);

参考答案:B

9、以下程序的输出结果是

main()

{inta=-1,b=4,k;

k=(++a<0)&&!;b-<=0);

printf("%d%d%d\n",k,a,b);

)

(2分)

A.104

B.103

C.003

D.004

参考答案:D

10、表达式:10!=9的值是—

(2分)

A.true

B.非零值

C.0

D.1

参考答案:D

12、设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;

的功能是.

(2分)

A.把x和y按从大到小排列

B.把x和y按从小到大排列

C.无确定结果

D.交换x和y中的值

参考答案:D

13、有如下程序

main()

(

inty=3,x=3,z=1;

printf("%d%d\n",(++x,y++),z+2);

1

运行该程序的埔出结果是

(2分)

A.34

B.42

C.43

D.33

参考答案:D

14、设正x、y均为整型变量,且x=10y二3,则以下语句的输出

结果是

printf("%d,%d\n",x-,―y);(2分)

A.10,3

B.9,3

C.9,2

D.10,2

参考答案:D

16、设a、b、C、d、m、n均为int型变量,且a=5、b二6、c二7、

d二8、m=2、n=2,

则逻辑表达式:m=a>b)&&(n=c>d)运算后,n的值为:

(2分)

A.0

B.1

C.2

D.3

参考答案:C

28、若有以下定义和语句:

inta[10]={1,2,3,4,5,6,7,8,9/0},p=a;

则不能表示a数组元素的表达式是()

(2分)

A.p⑸

B.a[10]

C.a[5]

D.aLp-aJ

参考答案:B

30、以下程序的输出结果为()。

#incIude

#defineSQR(x)x*x.

main()

inta,k=3;

a=SQR(k+1);

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

1(2分)

A.6

B.10

C.8

D.7

参考答案:D

34、sizeof(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论