C语言程序设计 第17章选择填空习题及答案Word格式.docx

上传人:b****1 文档编号:3980541 上传时间:2023-05-02 格式:DOCX 页数:37 大小:33.49KB
下载 相关 举报
C语言程序设计 第17章选择填空习题及答案Word格式.docx_第1页
第1页 / 共37页
C语言程序设计 第17章选择填空习题及答案Word格式.docx_第2页
第2页 / 共37页
C语言程序设计 第17章选择填空习题及答案Word格式.docx_第3页
第3页 / 共37页
C语言程序设计 第17章选择填空习题及答案Word格式.docx_第4页
第4页 / 共37页
C语言程序设计 第17章选择填空习题及答案Word格式.docx_第5页
第5页 / 共37页
C语言程序设计 第17章选择填空习题及答案Word格式.docx_第6页
第6页 / 共37页
C语言程序设计 第17章选择填空习题及答案Word格式.docx_第7页
第7页 / 共37页
C语言程序设计 第17章选择填空习题及答案Word格式.docx_第8页
第8页 / 共37页
C语言程序设计 第17章选择填空习题及答案Word格式.docx_第9页
第9页 / 共37页
C语言程序设计 第17章选择填空习题及答案Word格式.docx_第10页
第10页 / 共37页
C语言程序设计 第17章选择填空习题及答案Word格式.docx_第11页
第11页 / 共37页
C语言程序设计 第17章选择填空习题及答案Word格式.docx_第12页
第12页 / 共37页
C语言程序设计 第17章选择填空习题及答案Word格式.docx_第13页
第13页 / 共37页
C语言程序设计 第17章选择填空习题及答案Word格式.docx_第14页
第14页 / 共37页
C语言程序设计 第17章选择填空习题及答案Word格式.docx_第15页
第15页 / 共37页
C语言程序设计 第17章选择填空习题及答案Word格式.docx_第16页
第16页 / 共37页
C语言程序设计 第17章选择填空习题及答案Word格式.docx_第17页
第17页 / 共37页
C语言程序设计 第17章选择填空习题及答案Word格式.docx_第18页
第18页 / 共37页
C语言程序设计 第17章选择填空习题及答案Word格式.docx_第19页
第19页 / 共37页
C语言程序设计 第17章选择填空习题及答案Word格式.docx_第20页
第20页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言程序设计 第17章选择填空习题及答案Word格式.docx

《C语言程序设计 第17章选择填空习题及答案Word格式.docx》由会员分享,可在线阅读,更多相关《C语言程序设计 第17章选择填空习题及答案Word格式.docx(37页珍藏版)》请在冰点文库上搜索。

C语言程序设计 第17章选择填空习题及答案Word格式.docx

&

B.%C.=D.>

=

13.设整型变量a的值为3,则计算表达式a---a后,表达式的值为(B)。

A.1B.0C.2D.表达式出错

14.设整型变量a、b、c的值均为2,表达式a---b+++c++的结果是(C)。

A.6B.9C.2D.表达式出错

15.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是(D)。

A.1B.2.5C.2D.2.0

16.下列表达式中符合C语言语法的赋值表达式是(C)。

A.a=4+b++c=a+8B.a=4+b++=a+8

C.a=(4+b,b++,a+8)D.a=4+b,c=a+8

17.若有以下定义:

chara;

intb;

floatc;

doubled;

,则表达式a*b+d-c的值的类型为(D)。

A.intB.floatC.charD.double

1.在内存中存储"

A"

要占2个字节,存储'

要占1个字节。

2.符号常量的定义方法是#define常量名常量。

3.无符号基本整型的数据类型符为unsignedint双精度实型数据类型符为double,字符型数据类型符为char。

4.十进制数673的二进制、八进制和十六进值数分别为1010100001、2412和2A1。

5.在C语言中,书写八进制数时必须加前缀0;

书写十六进制数时必须加前缀0x。

6.在微机上,int型、short型、long型、float型和double型数据一般在内存中分别占2字节、2字节、4字节、4字节和8字节。

7.设有下列运算符:

<

、+、++、&

、>

=,其中优先级最高的是++,优先级最低的是&

8.设x、y为int型变量,且x=1,y=2,则表达式1.0+x/y的值为1.0。

9.设整型变量x、y、z均为5,则:

①执行x-=y-z后,x的值为5。

②执行x%=y+z后,x的值为5。

10.数学式

的C语言表达式为a/b*c)。

三、简答题

1.字符常量与字符串常量有什么区别?

2.对于TurboC系统来说,char型变量与int型变量在内存中存储数据的区别是什么?

3.整型变量可细分为哪六类?

4.什么是一个实型数据的规范化指数形式?

5.设x=3.5,a=5,y=6.7,求算术表达式x+a%3*(int)(x+y)%2/4的值。

6.设a=2,b=3,x=4.5,y=1.6,求表达式(float)(a+b)/2+(int)x%inty的值。

7.设整型变量a=12,写出下列表达式运算后a的值。

①a*=2+5②a/=a+a③a+=a-=a*=a

8.写出下列程序的运行结果。

main()

{charc1='

c2='

B'

c3='

C'

c4='

\101'

c5='

\h42'

;

printf("

A%cb%c\t%c\tbc\n"

c1,c2,c3);

\t\b%c%c"

c4,c5);

}

结果:

AAbBCabc

AB

9.写出下面程序的运行结果。

{inti,j,m,n;

i=5;

j=6;

m=++i;

n=--j;

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

i,j,m,n);

6,5,6,5

习题三

1.printf()函数输出实数时,使用的格式字符是(C)。

A.%dB.%cC.%fD.%o

2.下面变量说明中(C)是正确的。

A.char:

a,b,c;

B.chara;

b;

c;

C.chara,b,c;

D.chara,b,c

3.putchar()函数可以向终端输出一个(D)。

A.整型变量表达式值B.实型变量值

C.字符串D.字符或字符型变量值

4.阅读以下程序,当输入数据的形式为:

25,13,10〈CR〉,正确的输出结果为(D)。

{intx,y,z;

scanf("

%d%d%d"

&

x,&

y,&

z);

x+y+z=%d\n"

x+y+z);

}

A.x+y+z=48B.x+y+z=35C.x+z=35D.不确定值

5.以下说法正确的是(D)。

A.输入项可以是一个实型常量

B.只有格式控制,没有输入项,也能进行正确输入,如scanf("

a=%d,b=%d"

);

C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("

%4.2f"

f);

D.当输入数据时,必须指明变量的地址,如scanf("

%f"

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

A.inta=b=c=5;

B.inta,b,c=5;

C.inta=5,b=5,c=5;

D.a=b=c=5;

7.已知ch是字符型变量,下面正确的赋值语句是(B)。

A.ch='

a+b'

B.ch='

\xff'

C.ch='

\08'

D.ch="

\"

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

A.++x;

B.y=(x%2)/10;

C.x*=y+8;

D.x=y=0;

9.以下格式符中,不能用来输入实型数的是(B)

A.fB.e(E)C.g(G)D.x

10.若floatnum=123.456,以%+10.4d的格式输出,结果正确的是(B)

A.123.456000B.123.4560C.123.4560D.+123.4560

1.以下程序的输出结果是x=1y=2*sum*=3

10squaredis:

100。

{intx=1,y=2;

x=%dy=%d*sum*=%d\n"

x,y,x+y);

10squaredis:

%d\n"

10*10);

2.以下程序的输出结果是a=325x=3.14。

{inta=325;

doublex=3.1415926;

a=%2dx=%7.2f\n"

a,x);

3.假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。

请填空:

a+=b;

b=a-b;

a-=b;

4.若x为int型变量,则执行以下语句后x的值是-14。

x=7;

x+=x-=x+x;

5.C语句可以分为五类,含7种控制语句、声明语句、表达式语句、空语句和复合语句。

6.赋值语句是由赋值表达式加上一个分号构成。

7.a=12,n=5,表达式a%=(n%=2)值是0。

8.有一个输入函数scanf("

%d"

k);

则不能使float类型变量k得到正确数值的原因是k前无&

和%d与k的类型不一致。

9.putchar()函数可以向终端输出一个字符。

10.已有定义inti,j;

floatx;

为将-10赋给i,12赋给j,410.34赋给x,则对应以下scanf()函数调用语句的数据输入形式是-12C410.34。

%o%x%e"

i,&

j,&

x);

11.pirntf()函数中用到格式符%5s,其中数字5表示输出的字符串占5列,如果字符串长度大于5,则按实际宽度输出。

12.使用getchar()和putchar()函数必须在源程序中加#include"

stdio.h"

习题四

1.执行下面的程序段后,b的值为(B)。

intx=35;

charz='

b=((x&

15)&

(z<

'

a'

));

A.0B.1C.2D.3

2.设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a>

b)&&(n-c>

d)后n的值为(B)。

A.1B.2C.3D.4

3.若k是int型变量,且有下面的程序段,输出结果是(A)。

K=-3;

if(k<

=0)printf("

####"

elseprintf("

"

A.####B.&

C.####&

D.有语法错误,无输出结果

4.设A、B和C都是int型变量,且A=3,B=4,C=5,则下面表达式中值为0的达式是(D)。

A.A&

BB.A<

=B

C.A‖B+C&&BD.!

((A<

B)&&

!

C‖1)

5.阅读程序:

#include"

main()

{floatx,y;

%f"

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;

%f\n"

y);

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

A.0.000000B.0.250000

C.0.500000D.1.000000

6.阅读程序:

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

switch(x)

{case1:

switch(y)

{case0:

a++;

break;

case1:

b++;

case2:

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

a,b);

上面程序输出结果是(A)。

A.a=2,b=lB.a=l,b=l

C.a=l,b=0D.a=2,b=2

7.下面程序的输出是(C)。

main()

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

k=(a++<

=0)&

(!

(b--<

=0));

%d%d%d%\n"

k,a,b);

A.003B.012C.103D.112

8.为表示关系x≥y≥z,应使用C语言表达式(A)。

A.(x>

=y)&

(y>

=z)B.(x>

=y)AND(y>

=z)

C.(x>

=y>

=z)D.(x>

9.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为(D)。

A.a<

>

0B.!

aC.a=0D.a

10.若有以下定义:

floatx;

inta,b;

则正确的switch语句是(D)。

A.switch(x)

{case1.0:

*\n"

);

case2.0:

**\n"

B.switch(x)

{case1,2:

*\n"

case3:

**\n"

C.switch(a+B)

{case1:

\n"

case1+2:

D.switch(a+b);

{case1:

11.下列语句中,错误的是(C)。

A.while(a=b)a++;

B.while(0);

C.doD.do

{printf(“ok\n”);

{x++;

}while(x==5)}while(--x==0);

12.执行语句:

for(i=1;

i++<

4;

)后变量i的值为:

(B)。

A.3B.4C.5D.6

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

(D)。

{intx=10,y=10,i;

for(i=0;

x>

8;

y=++i)

%d%d"

x--,y);

A.10192B.9876C.10990D.101091

14.以下for语句的循环次数为:

inti=0,j=0;

for(;

j&

i<

=5;

i++)j++;

A.5次B.1次C.6次D.无限多次

15.以下程序段中内嵌循环共被执行的次数为:

(A)

for(i=5;

i;

i--)

for(j=0;

j<

j++)

{…}

A.20B.24C.25D.30

二、填空题

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

ch=(ch>

ch<

='

Z'

)?

(ch+32):

ch

该表达式的值是A。

2.若已知a=10,b=20,则表达式“!

a<

b”的值为1。

3.已知a=10,b=20,c=30,则表达式

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=10,b=19,c=30。

4.下面程序的输出结果是0,0,4。

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

k=(++a<

0)&

(b-->

=0);

%d%d%d\n"

5.假定所有变量均已正确说明,下列程序段运行后,x的值是4。

a=b=c=0;

x=35;

if(!

a)x--;

elseif(b);

if(c)x=3;

elsex=4;

6.若执行下面的程序时,从键盘上输入3和4,则输出结果是3。

{inta,b,s;

%d%d"

a,&

b);

s=a;

if(a&

b)printf("

%d\n"

s);

s--);

7.以下程序的输出结果是x=11,i=11。

{intx=1,i=1;

x<

50;

i++)

{if(x>

=10)

if(x%2!

=1)

{x+=3;

continue;

x-=1;

x=%d,i=%d\n"

x,i);

8.以下程序的输出结果是i=9,j=10。

{inti=10,j=0;

do

{j=j+i;

i--;

}while(i>

j);

i=%d,j=%d\n"

i,j);

9.以下程序的输出结果是35。

{intm=7,n=5,i=1;

{if(i%m==0)

if(i%n==0)

{printf(“%d\n”,i);

i++;

}while(i!

10.以下程序的输出结果是1,-2。

{intx=3;

{printf("

x-=2);

}while(!

(--x));

11.以下程序的输出结果是i=4,j=6。

{inti,j;

for(i=0;

5;

{for(j=1;

10;

if(j==6)

break;

if(i<

3)

continue;

if(i>

习题五

1.下列为一维数组初始化时,正确的是(D).

A.inta[]={1,3,5,7,9,…,15};

B.inta[5]={};

C.inta[5]={5*3};

D.inta[5]={0};

2.下列一维数组说明中,正确的是(A).

A.#defineM10B.intm;

floats[M];

scanf(“%d”,&

m);

floata[m];

C.intm=10,a[m];

D.inta[];

3.若要将2,4,6,8存入数组a中,不正确的是(C).

A.inta[4]={2,4,6,8};

B.inta[]={2,4,6,8};

C.inta[4];

a={2,4,6,8};

D.inta[4];

a[0]=2;

a[1]=4,a[2]=6;

a[3]=8;

4.若有说明:

inta[5][5];

则对数组元素的正确引用是(C).

A.a[3+2][3]B.a[0,3]C.a[4][1+2]D.a[][2]

5.下列二维数组初始化中,错误的是(A).

A.inta[2][]={{3,4},{5}};

B.inta[][3]={2,3,4,5,6,7};

C.inta[3][3]={0};

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

6.若有以下数组定义:

charch[]="

book_120\n"

则数组ch的存储长度是(D)。

A.7B.8C.9D.10

7.以下程序段的输出结果是(A).

charstr[8]={'

'

b'

c'

d'

\0'

y'

z'

};

%s"

str);

A.abcdB.abcdyzC.abcdyzD.出错

8.设有如下定义:

chars1[20]="

tianjin"

s2[10]="

beijing"

执行语句:

strcpy(s1+4,s2);

printf("

s1);

后,输出结果是(B).

A.tianB.tianbeijingC.tianjinbeijingD.tianbeij

9.合法的数组定义是(B)

A.inta[]={"

string"

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

C.chara={"

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

10.若有以下说明,则数值为4的表达式是(D)

inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};

charc='

d,g;

A.a[g-c]B.a[4]C.a['

-'

]D.a['

-c]

11.下列语句中,正确的是(D)

A.chara[3][]={'

'

I'

B.chara[][3]={'

C.chara[3][]={'

"

I"

D.chara[][3]={"

abc"

12.设有如下定义,则正确的叙述为(C)

charx[]={"

abcdefg"

chary[]={'

e'

f'

g'

A.数组x和数组y等价B.数组x和数组y的长度相同

C.数组x的长度大于数组y的长度D.数组x的长度小于数组y的长度

1.设有定义语句“inta[3][4]={{1},{2},{3}}”,则a[1][1]值为0,a[2][1]的值为0。

2.执行“intb[5]={},a[][3]={1,2,3,4,5,6}”后,b[4]=0,a[1][2]=6。

3.下面程序的功能是输出数组s中最大元素的下标,请填空。

main()

{intk,p;

ints[]={1,-9,7,2,-10,3};

for(p=0,k=p;

p<

6;

p++)k=p;

if(s[p]>

s[k])

4.下面程序的功能是将一个字符串str的

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

当前位置:首页 > 高中教育 > 小学教育

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2