C语言章节练习题1Word格式.docx

上传人:b****5 文档编号:19483694 上传时间:2023-01-06 格式:DOCX 页数:95 大小:76.96KB
下载 相关 举报
C语言章节练习题1Word格式.docx_第1页
第1页 / 共95页
C语言章节练习题1Word格式.docx_第2页
第2页 / 共95页
C语言章节练习题1Word格式.docx_第3页
第3页 / 共95页
C语言章节练习题1Word格式.docx_第4页
第4页 / 共95页
C语言章节练习题1Word格式.docx_第5页
第5页 / 共95页
点击查看更多>>
下载资源
资源描述

C语言章节练习题1Word格式.docx

《C语言章节练习题1Word格式.docx》由会员分享,可在线阅读,更多相关《C语言章节练习题1Word格式.docx(95页珍藏版)》请在冰豆网上搜索。

C语言章节练习题1Word格式.docx

=b+1

B)a=b=c+2

C)int18.5%3

D)a=a+7=c+b

3.下列可用于C语言用户标识符的一组是

A)void,define,WORD

B)a3_b3,_123,Car

C)For,-abc,IFCase

D)2a,DO,sizeof

4.C语言中运算对象必须是整型的运算符是

A)%=

B)/

C)=

D)<

=

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

A)a==1

B)++i;

C)a=a++=5;

D)a=int(i);

6.在C语言中,运算对象必须是整型数的运算符是

A)%

B)\

C)%和\

D)**

7.若有定义:

inta=7;

floatx=2.5,y=4.7;

则表达式x+a%3*(int)(x+y)%2/4的值是

A)2.500000

B)2.750000

C)3.500000

D)0.000000

8.以下选项错误的是

A)main()

{intx,y,z;

x=0;

y=x-1;

z=x+y;

}

B)main()

x=0,y=x+1;

C)main()

{intx;

intz;

inty;

D)main()

y=x+1;

z=x+y,}

9.在16位C编译系统上,若定义longa;

,则能给a赋40000的正确语句是

A)a=20000+20000;

B)a=4000*10;

C)a=30000+10000;

D)a=4000L*10L;

10.若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为

A)4

B)16

C)32

D)52

11.设有intx=11;

则表达式(x++*1/3)的值是

A)3

B)4

C)11

D)12

12.下列数据中,不合法的C语言实型数据的是

A)0.123

B)123e3

C)2.1e3.5

D)789.0

13.设变量a是int型,f是float型,i是double型,则表达式10+a+i*f值的数据类型为

A)int

B)float

C)double

D)不确定

14.设以下变量均为int类型,表达式的值不为7的是

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

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

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

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

15.若变量a是int类型,并执行了语句:

a=’A’+1.6;

,则正确的叙述是

A)a的值是字符C

B)a的值是浮点型

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

D)a的值是字符′A′的ASCII值加上1

16.设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是

A)n=(n*100+0.5)/100.0

B)m=n*100+0.5,n=m/100.0

C)n=n*100+0.5/100.0

D)n=(n/100+0.5)*100.0

17.下面四个选项中,均是不正确的8进制数或16进制数的选项是

A)0160x8f018

B)0abc0170xa

C)010-0x110x16

D)0a127ff-123

18.以下选项中,与k=n++完全等价的表达式是

A)k=n,n=n+1

B)n=n+1,k=n

C)k=++n

D)k+=n+1

19.以下叙述正确的是

A)在C程序中,每行中只能写一条语句

B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数

C)在C程序中,无论是整数还是实数,都能被准确无误地表示

D)在C程序中,%是只能用于整数运算的运算符

20.C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符

A)必须为字母

B)必须为下划线

C)必须为字母或下划线

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

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

intk,a,b;

unsignedlongw=5;

doublex=1.42;

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

A)x%(-3)

B)w+=-2

C)k=(a=2,b=3,a+b)

D)a+=a-=(b=4)*(a=3)

22.若有以下定义,则能使值为3的表达式是

intk=7,x=12;

A)x%=(k%=5)

B)x%=(k-k%5)

C)x%=k-k%5

D)(x%=k)-(k%=5)

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

A)160-0xffff011

B)-0xcdf01a0xe

C)-019860120668

D)-0x48a2e50x

24.假定x和y为double型,则表达式x=2,y=x+3/2的值是

A)3.500000

B)3

C)2.000000

D)3.000000

25.以下变量x,y,z均为double类型且已正确赋值,不能正确表示数学式子x÷

z的C语言表达式是

A)x/y*z

B)x*(1/(y*z))

C)x/y*1/z

D)x/y/z

26.若变量已正确定义并赋值,下面符合C语言语法的表达式是

A)m∶=5

B)c=b=a=1

C)float8%5

D)x+5=y+2

27.已知intk,m=1;

执行语句k=-m++;

后,k的值是

A)-1

B)0

C)1

D)2

28.已知intm;

floatk;

正确的语句是

A)(intk)%m

B)int(k)%m

C)int(k%m)

D)(int)k%m

29.下面各选项中,均是C语言标识符的选项组是

A)33weauto

B)_23me_3ew

C)_433e_else

D)ER-DF32

30.已知intk;

floatm=-3;

执行语句k=m%2;

后,变量k的值是

D)语句有错误

31.不能进行++和--运算的数据类型为

A)指针

B)整型

C)长整型

D)常量

1.设inta=5,b=6,表达式(++a==b--)?

++a:

--b的值是【1】。

2.定义inta=5,b;

则执行表达式b=++a*--a之后,变量b的值为【2】。

3.以下程序的输出结果是【3】。

#include"

stdio.h"

main()

{inta=065;

printf("

%d\n"

--a);

第3章顺序结构

1.若变量已正确说明为float型,要通过语句scanf("%f%f%f",&

a,&

b,&

c);

给a赋予10.0,b赋予22.0,c赋予33.0,下列不正确的输入形式是

A)10<

回车>

22<

33<

B)10.0,22.0,33.0<

C)10.0<

22.033.0<

D)1022<

2.若执行下述程序时,若从键盘输入6和8时,结果为

{inta,b,s;

scanf("

%d%d"

&

b);

s=a

if(a<

b)

s=b;

s*=s;

printf("

%d"

s);

A)36

B)64

C)48

D)以上都不对

3.下列程序段的输出结果是:

inta=1234;

floatb=123.456;

doublec=12345.54321;

%2d,%2.1f,%2.1f"

a,b,c);

A)无输出

B)12,123.5,12345.5

C)1234,123.5,12345.5

D)1234,123.4,1234.5

4.以下不正确的叙述是

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

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

C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变

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

5.下列程序的输出结果是

{doubled=3.2;

intx,y;

x=1.2;

y=(x+3.8)/5.0;

d*y);

} 

B)3.2

C)0

D)3.07

6.以下程序段的输出结果是

inta=1234;

%2d\n"

a);

A)12

B)34

C)1234

D)提示出错、无结果

7.已有定义inta=-2;

和输出语句printf("

%8lx"

以下正确的叙述是

A)整型变量的输出形式只有%d一种

B)%x是格式符的一种,它可以适用于任何一种类型的数据

C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的

D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度

8.以下程序的输出结果是

{inta=21,b=11;

--a+b,--b+a);

A)30

B)31

D)33

9.若变量已正确说明为int类型,要通过语句scanf("

%d%d%d"

给a赋值3,b赋值5,c赋值8,不正确的输入形式是

A)3<

5<

8<

B)3,5,8<

C)3<

58<

D)35<

10.x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是

A)INPUTx、y、z;

B)scanf("

%d%d%d"

x,&

y,&

z);

C)scanf("

x,y,z);

D)read("

11.设x、y均为整型变量,且x=10y=3,则以下语句的输出结果是

%d,%d\n"

x--,--y);

A)10,3

B)9,3

C)9,2

D)10,2

12.下面程序的输出结果为

{inta,b;

b=(a=3*5,a*4,a*5);

b);

A)60

B)75

C)65

D)无确定值

13.C语言中,系统的标准输入文件是指

A)键盘

B)显示器

C)软盘

D)硬盘

14.已知i,j,k为int型变量,若从键盘输入:

1,2,3<

,使i的值为1,j的值为2,k的值为3,以下选项中正确的输入语句是

A)scanf("

%2d,%2d,%2d"

i,j,k);

%d%d%d"

i,&

j,&

k);

%d,%d,%d"

D)scanf("

i=%d,j=%d,k=%d"

15.下列程序运行的结果是

{floatx;

inti;

x=3.6;

i=(int)x;

x=%f,i=%d"

x,i);

A)x=3.600000,i=3

B)x=3.6,i=3

C)x=3,i=3

D)x=3.600000,i=3.000000

16.已知intk=10,m=3,n;

则下列语句输出结果是

n=(k%m,k/m));

A)2

C)4

D)5

17.已知inta;

floatb;

所用的scanf调用语句格式为:

a//%d,b=%f"

为了将数据3和25.08分别赋给x和y,正确的输入应当是

A)3,25.08<

Enter>

B)a=3,b=25.08<

C)a//3,b=25.08<

D)a//3<

b=25.08<

1.以下程序的输出结果是【1】。

printf("

,a);

2.以下程序的输出结果是【2】。

{inta=0;

a+=(a=8);

第4章选择结构

选择题:

1.有如下程序:

{intx=1,a=0,b=0;

switch(x)

{case0:

b++;

break;

case1:

a++;

case2:

b++;

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

a,b);

该程序的输出结果是

A)a=2,b=1

B)a=1,b=1

C)a=1,b=0

D)a=2,b=2

2.有以下程序

{inti=1,j=1,k=2;

if((j--||k++)&

&

i++)

%d,%d,%d\n"

i,j,k);

执行后输出结果是

A)1,1,2

B)2,2,1

C)2,2,2

D)2,2,3

3.有如下程序

{floatx=2.0,y;

if(x<

0.0)y=0.0;

elseif(x<

10.0)y=1.0/x;

elsey=1.0;

%f\n"

y);

A)0.000000

B)0.250000

C)0.500000

D)1.000000

4.设intx=1,y=1;

表达式(!

x||y--)的值是

A)0

B)1

C)2

D)-1

5.若运行时给变量x输入12,则以下程序的运行结果是

{intx,y;

x);

y=x>

12?

x+10:

x-12;

B)22

C)12

D)10

6.在C程序中,判逻辑值时,用“非0”表示逻辑值“真”,又用“0”表示逻辑值“假”。

在求逻辑值时,用()表示逻辑表达式值为“真”,又用()表示逻辑表达式值为“假”。

A)10

B)01

C)非0非0

D)11

7.若已定义:

inta=25,b=14,c=19;

以下三目运算符(?

)所构成语句的执行后a<

=25&

b--<

=2&

c?

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

a,b,c):

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

,a,b,c);

程序输出的结果是

A)***a=25,b=13,c=19

B)***a=26,b=14,c=19

C)###a=25,b=13,c=19

D)###a=25,b=14,c=19

8.有如下程序

{floatx=2.0,y;

elseif(x>

9.以下4个选项中,不能看做一条语句的是

A);

B)a=5,b=2.5,c=3.6;

C)if(a<

5);

D)if(b!

=5)x=2;

y=6;

10.能正确表示逻辑关系:

“a≥10或a≤0”的C语言表达式是

A)a>

=10ora<

=0

B)a>

=0|a<

=10

C)a>

=10&

a<

D)a>

=10‖a<

11.有如下程序

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

if(b<

0)c=0;

elsec++;

c);

D)3

12.设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是

A)x&

y

B)x<

=y

C)x||++y&

y-z

D)!

(x<

y&

!

z||1)

13.若有条件表达式(exp)?

a++:

b--,则以下表达式中能完全等价于表达式(exp)的是

A)(exp==0)

B)(exp!

=0)

C)(exp==1)

D)(exp!

=1)

14.以下程序的输出结果是

{inta=4,b=5,c=0,d;

d=!

a&

b||!

c;

d);

}

A)1

C)非0的数

15.设有:

inta=1,b=2,c=3,d=4,m=2,n=2;

执行(m=a>

b)&

(n=c>

d)后n的值是

B)2

C)3

D)4

16.设x,y,t均为int型变量,执行语句:

x=y=3;

t=++x||++y;

完成后,y的值为

A)不确定

D)1

17.若执行下面的程序时,从键盘上输入5和2,则输出结果是

{inta,b,k;

%d,%d"

k=a;

b)k=a%b;

elsek=b%a;

%d\n"

k);

A)5

D)0

18.请阅读以下程序:

{inta=5,b=0,c=0;

if(a=b+c)printf("

***\n"

);

elseprintf("

$$$\n"

以上程序

A)有语法错不能通过编译

B)可以通过编译但不能通过连接

C)输出***

D)输出$$$

19.当k的值不为0时,在下列选项中能够将k的值赋给变量m,n的是

A)m=k=n

B)(m=k)&

(n=k)

C)(m=k)||(n=k)

D)(k=m)&

20.下列程序的运行结果是

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

y)

if(y<

0)z=0;

elsez+=1;

z);

A)6

B)7

C)8

D)9

1.阅读下面程序,则执行后的输出结果是【1】。

{intx,y,z;

x=1;

y=2;

z=3;

if(x>

y)if(x>

z)

x);

第5章循环结构

1.已知

intt=0;

while(t=1)

{...}

则以下叙述正确的是

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

B)循环控制表达式的值为1

C)循环控制表达式不合法

D)以上说法都不对

2.有如下程序:

{intn=9;

while(n>

6){n--;

n);

A)987

B)876

C)8765

D)9876

3.在下列选项中,没有构成死循环的是

A)inti=100;

while

(1)

{i=i%100+1;

if(i>

100)break;

B)for(;

;

C)intk=10000;

do{k++;

}while(k>

10000);

D)ints=36;

while(s)--s;

4.设有以下程序段

intx=0,s=0;

while(!

x!

=0)s+=++x;

printf(

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

当前位置:首页 > 高等教育 > 艺术

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

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