c语言练习3选择语句

更新时间:2024-04-16 09:11:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、选择

1. 有定义:unsigned char a='A'; int b=20;,以下语句结果是( )

(字母A的ASCII码值是65)

printf(\

A.表达式非法,输出零或不确定值B.因输出项过多,无输出或输出不确定值 C.输出结果为20,130 D.输出结果为20,130,20

2. 能正确表示a 和b 同时为正或同时为负的逻辑表达式是( ) A.a*b>0 B.(a>=0&&b>=O)&&(a<0&&b

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

3. 设有定义:char x=3,y=6,z;当执行语句:z=x^y<<2;后,则z的二进制值是( ) A.00011011 B.00010100 C.00011000 D.00011100

4. 有定义:int i=3,j=4,k=5;,则下面的表达式中,值为0的表达式是( ) A.'i' && 'j' B.i <= j

C.i‖k && j - k D.!(( i < j ) && !k ‖ 1 )

5. 有定义:int k=32;,当执行语句printf(\之后输出值是( ) A.128 B.64 C.16 D.8

6. 下面程序段中m的二进制值是( )

char a=3,b=6,m; m = a ^ b << 1;

A.00001011 B.00011110 C.00011100 D.00001111 7. 能正确表示“0≤x≤10”的C语言表达式是( ) A.(x >= 0) | (x <= 10) B.(x >= 0) & (x <= 10) C.x >= 0 || x <= 10 D.x >= 0 && x <= 10 8. int x=1,!(x--)的值为( ) A. 1 B. 0 C. 2 D. -1

9. 下列运算符优先级最高的是( ) A., B.+ C.&& D.!=

10.设int a=2,b;则执行b=a&&1;语句后,b的结果是( ) A.0 B.1 C.2 D.3

11.逗号表达式(a=3*5,a*4),a+15的值是( ) A.15 B.60 C.30 D.75

12.表达式y<3? -1.0∶1的值的类型应是( ) A.不确定 B.实型 C.整型 D.无符号整型

13. 已知int a=1,b=-1;则语句printf(\\n\(a--,++b));的输出结果是( ) A. -1 B. 0 C. 1 D. 语句错误

14. 已知char ch=′C′;则以下表达式的值是( )

ch=(ch>=′A′ && ch<=′Z′)?(ch+32):ch; A.A B. a C. Z D. c

15.C语言中规定,if语句的嵌套结构中,总是与else配对的是( ) A. 与最近的if 配套 B.与第一个if 配套

C. 按缩进位置相同的if配套 D.与最近的且尚未配对的if 配套 16. 能正确表示逻辑关系:a≥10或a≤0的C语言表达式( )

A. a>=10 or a<=0 B. a>=0|a<=10 C. a>=10&&a<=0 D. a>=10||a<=0 17. 已知 x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!y)的值是( )

A. 0 B. 语法错 C. 1 D. \假\

18.若有定义:int a=54,b=59,c;则表达式c=a&b的值是( ) A. 1 B. 0 C.3186 D. 50

二、填空

1. 设有定义char a,b;,若要通过a&b运算屏蔽掉a中的其它位,只保留第bit0位和第

bit7位,则b的二进制数是:

2. 写出一个能正确表示a和b同时为正或同时为负的逻辑表达式: 3. C语言的数据类型分为基本类型、构造类型、指针类型、空类型四大类。其中,基本类型分为: 三类。

4. 用C语言表达式表述变量a和b都大于c: 5. 请写出的C语言表达式:

6. 取a,b,c三个数中的最大者,用条件表达式描述: 7. 设有定义char a,b;,若要通过a&b运算屏蔽掉a中的其它位,只保留第bit1位和第 bit6位,则b的二进制数是:

8. a是一个奇数,且同时能被3和5整除,请写出逻辑表达式: 2

9. 请写出(2x)+3/4y的C语言表达式:

10. 设有定义char a,b;,若要通过a&b运算屏蔽掉a中的其它位,只保留第bit3位和第 bit4位,则b的二进制数是: 。

11. 有定义:unsigned int a = 5; int b = -20;那么条件表达式语句:

(a+b>6) ? puts(\的输出结果是: 12. 请用关系表达式和逻辑表达式描述n是介于100到200之间的且能被5和7整除的数:

13. 逗号表达式的值是 的值。

14. 用C语言表达式表述变量x和y都小于等于z: 15.表达式 1<0<5 的值是 16.当a=4,b=6,c=5时,表达式a>b!=c的值是

17.设y是int型变量,请写出判断y为奇数的关系表达式 18. 若已知a=20,b=10,则表达式(!a)

{ int x=1,y=0,a=0,b=0; switch(x)

{ case 1: switch(y)

{ case 0; a++; break; case 1: b++;break; }

case 2:a++;b++;break; case 3:a++;b++; }

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

程序执行后输出的结果是: 2. #include \ void main( ) {

int a=0,b=0,c=0;

if( ++a > 0 || ++b > 0 ) ++c;

printf(\ }

程序执行后输出的结果是: 3. void main( )

{ unsigned int a=32,b=66; printf(\; }

程序执行后输出的结果是: 四、改错

1.运输公司对所运货物实行分段计费。设运输里程为s,则运费打折情况如下: s<250 不打折扣

250<=s<1500 2%折扣 1500<=s<3000 10%折扣 3000<=s 15%折扣

设每公里每吨的基本运费为p,货物重量为w,总运输里程在某段中的里程为Δs,折扣为d,则该段运费为:p*w*Δs*(1-d),下面程序的功能为:当输入p、w和s后,计算出运费f。请更正该程序中的三个错误。

main( ) { int c,s;

double p,w,d,f;

printf(\输入运输单价\ scanf(\ printf(\输入重量\ scanf(\ printf(\输入里程\ scanf(\ f=0; c=s/500; switch(c){

default:

d=0.15;f+=p*w*(s-3000)*(1-d);s=3000; case 7: case 8: case 9: case 10: case 11:

d=0.1;f+=p*w*(s-1500)*(1-d);s=1500; case 1: case 2: case 3: case 4: case 5: case 6:

d=0.02;f+=p*w*(s-250)*(1-d);s=250; case 0: d=0;f+=p*w*s*(1-d); }

printf(\折扣后运费:%f\ }

本文来源:https://www.bwwdw.com/article/kc1p.html

Top