1.1.2 C语言基础
一 单项选择题
1.下列变量定义中合法的是_____。
A. int _b=1—.e—3; B. double b=2—6e5.5; C. long x=8.8; D. float 2_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.设有说明语句:char m=?\\63?;则变量m____。
A.包含1字符 B.包含2个字符 C. 包含3字符 D. 说明不合法 答案:A
6.下列常数中不能作为C语言的常量是_____。 A.0XA6 B.3.4e—3 C.3e5 D.0683 答案:D
7.在C语言中,数字031是一个_____。
A.八进制数 B.十六进制数 C.十进制数 D.非法数 答案:A
8.下列可以正确表示字符型常量的是_____。
A. 'a' B.'\\t' C.'\\n' D.'\\185' 答案:B
9.设有int a=9;则表达式(++a*2/3)的值是__________。 A.6 B.7 C.6.6 D.0
答案:A
10.已知int a;float f;正确的表达式是__________。
A.(int f)%a B. int(f)%a C. int(f%a ) D. (int)f%a 答案:D
11.设有以下变量定义,并已赋确定的值,则表达式x-y+a/b值的数据类型 为__________。
char x;int y;float a;double b;
A.char B. int C. float D. double 答案:D
12.已知int i,a;执行语句i=(a=3*9,a/5),a+11;变量i的值是__________。 A.5 B.16 C.27 D.38 答案:A
13.已知int i=4; 执行语句i+ =--i;i的值是 __________。 A.3 B.6 C.8 D.以上都不对 答案:B
14.下列运算符优先级最高的是 __________。 A.^ B.+ C.& D.| 答案:B
15.已知:float x=2,y;则:y=x++*x++的结果为__________。 A.y=4 B.y=6 C.y=2 D.表达式是错误的 答案:A
16.设char型变量x中的值为二进制10100111,则表达式(2+x)^(~3)的值 是__________。
A.10101001 B.10101000 C.11111101 D.01010101 答案:D
17.整型变量x和y的值相等,且非零值,则以下选项中,结果为零的表达式 是__________。
A.x||y B.x|y C.x&y D.x^y 答案:D
18.设int b=8;表达式(b>>2)/(b>>1)的值是___________。
A.0 B.2 C.4 D.8 答案:A
19.若定义unsigned int a=3,b=10;printf(“%d\\n”,a<<2|b==1);则运行结果为___________。 A.13 B.12 C.8 D.14 答案:B
20.有如下程序段,执行该程序后x的值为___________。
int a=14,b=15,x; char c=?A?;
D.2
x=(a&b)&&(c^?B?); A.14 B.15 C.0 答案:D
21.若变量a,b,t,已定义,能正确交换a,b值的语句组是___________。 A.a=b;b=t;t=a B.a=t;t=b;b=a C.a=a+b;b=a-b;a=a+b D.a=a^b;b=a^b;a=a^b 答案:D
22.在C语言中,设一表达式中包含有int,long,char和unsigned类型的变量和数据,则这4种类型数据转换的规则是___________。 A.int→unsigned→long→char B.char→int→long→unsigned C.char→int→unsigned→long D.int→char→unsigned→long
答案:C
23.若变量a是int类型,执行语句: a=?A?+1.6;
后,正确的叙述是___________。 A.a的值是字符C B.a的值是浮点型 C.不允许字符型和浮点型相加 答案:D
D.a的值是字符?A?的ASCII值加上1
24.以下描述中不属于C语言类型的是___________。
A.signed short int B.unsigned long int C.unsigned int 答案:D
A.printf(“a=?\\n”,a); C. printf(“a=?L\\n”,a); 答案:B
B. printf(“a=\\n”,a);
D.long float
25.设有定义:long a=-123456L;,则以下能够正确输出变量a值的语句是___________。
D .printf(“a=%LD\\n”,a);
二、填空题
1.在C语言程序中,用关键词__定义基本整形变量,用关键词__定义单精度实型变量,用关键词__定义双精度实型变量。
答案:int float double
2.若K为int整形变量且赋值18,则y=k++;后y的值为__,变量k的值为__。 答案:18 19
3.在C语言中整数可用__进制数、__进制数和__进制数三种数制表示。
答案:十 八 十六
4.设变量a的二进制是00101101,若想用通过运算a^b使a的高4位不变,低4位取反,则b的二进制数应是__。 答案:00001111
5.运用位运算,能将变量ch中的大写字母转换成小写字母的表达式是__。 答案:ch^32(或ch|32)
6.能将两个字节变量x的低8位置全1,高字节保持不变的表达式是__。 答案:x|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. 若x.y.z都定义成int类型且初值为0,则以下不正确的复制语句_________。 A.x+=y+2; B,x=y=z+10; C,++z; D,x+y=z; 答案 D;
2.下面不是C的是_______.。
A. int i; B. ; C. a=58,b=58 D.{;} 答案 C;
3.以下合法的C语言赋值语句是________。 A.a=b=58; B.k=a+b; C.a=58.b=58; D.- - i; 答案 D;