c语言基础练习习题及答案

2020-04-15 05:24

一、单项选择题

c语言基础练习习题及答案

1.下列标识符中,合法的用户标识符是_(B)_。

A)B#123 B)_1234

C)void D) xy*

2.C语言中,要求参加运算的数必须是整数的运算符是_(C)__。

A)/ B)!

C)% D)==

3.下面运算符中,具有右结合性的是__(A)__。

A)= B) + C) / D) %

4.字符串“a\\x44\\\\abcd\\101b”的长度是__(A)______。

A) 9 B)10

C) 16 D)18 解释:(a \\x44 \\\\ a b c d \\101 b)

5.C语言允许一条语句写在两行上,下列语句不正确的是_(D)_____。

A) int a, B)int a

b; ,b;

C) int D)int a,b

a,b; ;

6.C语言一行写不下时,可以_(C)_。

A) 用逗号换行 B)用分号换行

C) 在任意一空格处换行 D)用回车符换行

7.下所列的C语言常量中,错误的是_(B)__。

A) 0Xff B) 1.2e0.5(E后面指数必须为整数) C) 2L D) '\\72'

8.下列选项中,合法的C语言关键字是_(D)_____。 A) VAR(far) B) cher(char) C) integer(interrupt) D) default

9.以下错误的转义符是__(D)__。

A) ‘\\\\’ B) ‘\\’’

C) ‘\\t’ D) ‘\\80’

10.设int类型的数据长度为2个字节 ,则unsigned int类型数据的取值范围是_(B)___。

A) 0至255 B) 0至65535

C) -256至255 D) -32768至32767

11.以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子的C语言表达式是_(A)___。

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

C) x/y*1/z D) x/y/z

12.已知w=1,x=2,y=3,z=4,a=5,b=6;则执行语句(a=w>x)&&(b=y>z);后,a,b的值为_____。

A) 1和1 B) 0和6

C) 5和0 D) 0和0

13.设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为_(C)___。 A) 不定值 B) 4 C) 3 D) 1 【#include main() { int x,y,t; x=y=3; t=++x||++y;

printf(\ getch();

/*结果t=1 x=4 y=3*/ }】

14.设有语句int a=4;,则执行了语句a+=a-=a*a后,变量a的值是_(B)__。

A) 24 B) -24 C) 4 D) 16

【解释:a+=a-=a*a;/*a=a-a*a=-12 a=a+(-12)=-24*/】

15.设整型变量x,y,z均为3,表达式x+++y+++z++的值是_(A)_____。

A) 9 B) 12 C) 13 D) 15 【解释:x+++y+++z++=x++ +y++ +z++】

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

A) a=5+c+d=a+5 B) a=c+d++=a+5

C) a=(5+b,d++,a+5) D) a=5+c,d=a+5

17.已知int i;float d; 正确的语句是_(D)______。

A) (int d) B) int(d)%i

C) int(d%i) D) (int)d%i

18.选出使变量i的运行结果为4的表达式__(D)____。

A) int i=0,j=0; B) int i=1,j=0;

(i=3,(j++)+i); j=i=((i=3)*2);

C) int i=0,j=1; D) int i=1,j=1;

(j==1)?(i=1): (i=3) i+=j+=2;

二、填空题

1. 在内存中存储“B”要占用___2____字节,存储‘B’要占用___1___个字节。

2. 逻辑非运算符,是___!____运算符,其结合性中_由右向左_______。

3. C语言中的逻辑值“真”是用__非零____表示的,逻辑值“假”是用__0___表示的。逻辑表达式值为“真”是用__1____表示的,逻辑表达式值为“假”是用__0____表示的。

4. 设x=2.5, a=7, y=4.7,表达式

x+a%3*(int)(x+y)%2/4;

的值是___2.5____。

【解释:a%3*(int)(x+y)%2/4=0 x+0=2.5+0=2.5】

5. 设a=2, b=3, x=3.5, y=2.5,表达式

(float)(a+b)/2+(int)x%(int)y;

的值是__3.5____。

【解释:5.0/2=2.5 3/2=1 2.5+1=3.5】

6.执行下列语句后,a、b、c的值是 。

int x=10,y=9;

int a,b,c;

a=(--x==y++)?—x:++y;b=x++;c=y;

7.设有定义语句

double t=3,t1;

t1=(t,t+5,++t);

printf(“%e,%f\\n”,t1,t);的输出是_4.00000e+00,4.000000__。

三、应用题

1.下面程序的运行结果为_aa bb cc abc

__________。

main()

{ char c1=′a′, c2=′b′, c3=′c′, c4=′\\101′, c5=′\\116′;

printf(\

printf(\ }

2.下面程序的运行结果为:(ab 9798) main()

{ int c1,c2;

c1=97;

c2=98;

printf(\

printf(\

}

3.下面程序的运行结果为9,11,9,10。 main()

{ int i,j,m,n; i=8; j=10; m=++i;

n=j++;

printf(\

}

4. 下面程序的运行结果为:(a=2,b=3,c=2)。

main() {

int a=1,b=2,c=3; a=b; b=c;

c=a;

printf(\

}


c语言基础练习习题及答案.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:Leica DNA03数字水准仪及其精度测试

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: