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);
}