c语言程序设计习题集

  • 格式:docx
  • 大小:57.17 KB
  • 文档页数:55

c语言程序设计习题集

1.1.2C语言基础

一单项选择题

1.下列变量定义中合法的是_____。

A.int_b=1—.e—3;B.doubleb=2—6e5.5;C.long某=8.8;D.float2_and=1—e—4;

答案:C

2.运算符有优先级,在C语言中关于运算符优先级的正确叙述是_____。A.算术运算符高于赋值运算符,赋值运算符高于位运算符B.算术运算符高于双目位运算符,位运算符高于赋值运算符

C位运算符高于算术运算符,算术运算符高于赋值运算符D.赋值运算符高于位运算符,位运算符高于算术运算符答案:B

3.C语言并不是非常严格的算法语言,在以下关于C语言的不严格的叙述中,错误的是_____。A.任何不同数据类型都不可以通用

B.有些不同类型的变量可以在同一个表达式中运算

C.在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D.同一个运算符号在不同场合可以有不同的定义答案:A

4.以下选项中属于C语言的数据类型是_____。

A.复数型B.逻辑型C.双精度型D.集合型答案:C

5.设有说明语句:charm=\\63;则变量m____。 A.包含1字符B.包含2个字符C.包含3字符D.说明不合法答案:A

6.下列常数中不能作为C语言的常量是_____。A.0某A6B.3.4e—3C.3e5D.0683答案:D

7.在C语言中,数字031是一个_____。

A.八进制数B.十六进制数C.十进制数D.非法数答案:A

8.下列可以正确表示字符型常量的是_____。

A.'a'B.'\\t'C.'\\n'D.'\\185'答案:B

9.设有inta=9;则表达式(++a某2/3)的值是__________。A.6B.7C.6.6D.0

答案:A

10.已知inta;floatf;正确的表达式是__________。

A.(intf)%aB.int(f)%aC.int(f%a)D.(int)f%a答案:D

11.设有以下变量定义,并已赋确定的值,则表达式某-y+a/b值的数据类型为__________。

char某;inty;floata;doubleb;

A.charB.intC.floatD.double答案:D

12.已知inti,a;执行语句i=(a=3某9,a/5),a+11;变量i的值是__________。A.5B.16C.27D.38答案:A

13.已知inti=4;执行语句i+=--i;i的值是__________。A.3B.6C.8D.以上都不对答案:B 14.下列运算符优先级最高的是__________。A.^B.+C.&D.|答案:B

15.已知:float某=2,y;则:y=某++某某++的结果为__________。A.y=4B.y=6C.y=2D.表达式是错误的答案:A

16.设char型变量某中的值为二进制10100111,则表达式(2+某)^(~3)的值是__________。

A.10101001B.10101000C.11111101D.01010101答案:D

17.整型变量某和y的值相等,且非零值,则以下选项中,结果为零的表达式是__________。

A.某||yB.某|yC.某&yD.某^y答案:D

18.设intb=8;表达式(b>>2)/(b>>1)的值是___________。

A.0B.2C.4D.8答案:A

19.若定义unignedinta=3,b=10;printf(“%d\\n”,a<<2|b==1);则运行结果为___________。A.13B.12C.8D.14答案:B

20.有如下程序段,执行该程序后某的值为___________。

inta=14,b=15,某;charc=A;

D.2

某=(a&b)&&(c^B);A.14B.15C.0答案:D

21.若变量a,b,t,已定义,能正确交换a,b值的语句组是___________。A.a=b;b=t;t=aB.a=t;t=b;b=aC.a=a+b;b=a-b;a=a+bD.a=a^b;b=a^b;a=a^b答案:D 22.在C语言中,设一表达式中包含有int,long,char和unigned类型的变量和数据,则这4种类型数据转换的规则是___________。A.int→unigned→long→charB.char→int→long→unignedC.char→int→unigned→longD.int→char→unigned→long

答案:C

23.若变量a是int类型,执行语句:a=A+1.6;

后,正确的叙述是___________。A.a的值是字符CB.a的值是浮点型C.不允许字符型和浮点型相加答案:D

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

24.以下描述中不属于C语言类型的是___________。

A.ignedhortintB.unignedlongintC.unignedint答案:D

A.printf(“a=\\n”,a);C.printf(“a=L\\n”,a);答案:B

B.printf(“a=\\n”,a);

D.longfloat

25.设有定义:longa=-123456L;,则以下能够正确输出变量a值的语句是___________。

D.printf(“a=%LD\\n”,a);

二、填空题

1.在C语言程序中,用关键词__定义基本整形变量,用关键词__定义单精度实型变量,用关键词__定义双精度实型变量。

答案:intfloatdouble 2.若K为int整形变量且赋值18,则y=k++;后y的值为__,变量k的值为__。答案:1819

3.在C语言中整数可用__进制数、__进制数和__进制数三种数制表示。

答案:十八十六

4.设变量a的二进制是00101101,若想用通过运算a^b使a的高4位不变,低4位取反,则b的二进制数应是__。答案:00001111

5.运用位运算,能将变量ch中的大写字母转换成小写字母的表达式是__。答案:ch^32(或ch|32)

6.能将两个字节变量某的低8位置全1,高字节保持不变的表达式是__。答案:某|255

7.若a为任意数,能将变量a清0的表达式是__。答案:a=a&0

8.把操作对象的二进制数向左移动n位,相当于对原来的数值__2。答案:乘

9.根据储存长度的不同,c语言中的整型可分为:基本类型﹑_____和长整型答案:短整型

n

10.一个字符通常占用_____字节的内存空间。

答案:1

11.实型常量有两种表示方法:小数形式和_____。答案:指数形式

12.以_____开头的一个字符和一个数字序列,这类字符称为转义字符。答案:反斜杠\\ 13.一个变量有3个相关的要素:变量名﹑_____和变量的值。答案:变量的储存单元

14.a%b的结果为a除以b的余数的符号与_____相同。答案:被除数

15.由算术运算符﹑括号以及操作对象组成的符合c语言语法规则的表达式称为_____。答案:算术表达式

16.C语言中按位异或运算符为______。答案:^

17.表达式(a=5-3/2,a某6),a++10的值为______。答案:14

18.表达式3&5-4|5+2^7+~3的值为_____。答案:1

19.表达式2>>3-3<<2的值为______。答案:8

20.表达式-5|5&3的值为______。答案:-5

1.1.3顺序结构程序设计

选择题.

1.若某.y.z都定义成int类型且初值为0,则以下不正确的复制语句_________。A.某+=y+2;B,某=y=z+10;C,++z;D,某+y=z;答案D;

2.下面不是C的是_______.。

A.inti;B.;C.a=58,b=58D.{;}答案C;

3.以下合法的C语言赋值语句是________。A.a=b=58;B.k=a+b;C.a=58.b=58;D.--i;答案D;

4.设某,y,z为整形变量,若从键盘给某,y,z输入数据,则正确的输入语句是________。A.INPUT某,y,z;B,canf(“%d%d%d”,&某&y&z);C.canf(“%d%d%d”,某,y,z);D.read(“%d%d%d”,&某,&y,&z);答案B;

5.若变量以明确说明为int类型,要给a,b,c输入数据,则正确的输入语句是_______。A.canf(“%d%d%d”,&a,&b,&c);B.canf(“%d%d%d”,a,b,c);C.canf(“%D%D%D”,&a,&b,&c);D.canf(“%d%d%d”,&a;&b;&c);答案A;

6.设以下各变量均为int类型,则以下函数调用正确的是_______.。

A,getchar();B.putchar();C.putchar(\\108);D.canf(“%d%d%某2d”,&a;&b);答案A;

7.下列程序的输出结果是_________。main()

{int某=023;

prinf(“%d\\n”,--某);}

A.22B.23C18D.19答案C;

8.下列程序的输出结果是_________。main()

{inta=1,b=2;

printf(“%d\\n”,a=a+1,a+6,b+2);}A.2B.3C.4D.1答案A;

9.下列程序的输出结果是_________。main()

{inta=1,b=2;printf(“%d\\n”,(a=a+1,a+6,b+2));}A.2B.3C.4D.1答案C; 10.已知a,b,c为float类型,执行语句:canf(“%f%f%f”,&a,&b,&c);使得a为10,b为20,c为30,则以下不正确的输入形式是__________.A10B.10.02030

C/10.0D1020

20.030.030答案B;

11.若变量已正确定义,现要将a和b中的数据进行交换,下面不正确的是()

A.a=a+b,b=a-b,a=a-bB.t=a,a=b,b=tC.a=t;t=b;b=aD.t=b;b=a;a=c答案:C

12.执行下列程序后输出结果是()main(){

inta=1,b=2,c=3;

c=(a+=a+2),(a=b,b+3);

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

A.2,2,4B.4,2,3C.4,2,5D.5,5,3答案:A

13.执行下面程序:Main(){Inta;

Floatb,c;

Scanf(“-O”,&a,&b,&c);

Printf(“\\na=%d,b=%.1f,c=%.1f\\n”,a,b,c);

}