内容正文:
专题二 基本数据类型
(一)单项选择题
1. 以下关于常量的定义,正确的是( )
A. int a = 10; B. const a = 10;
C. #define PI 3.14; D. const float PI = 3.14;
答案:D
解析:#define定义的常量无需分号(C错误);const常量必须指定类型(B错误);D选项语法正确且符合浮点型定义。
2. 以下变量名合法的是( )
A. 3num B. int
C. _value D. num@1
答案:C
解析:变量名不能以数字开头(A)、不能是关键字(B)、不能含特殊符号(D),下划线开头合法。
3. 以下代码的输出是( )
int a = 10;
printf("%d", a++ * 2);
A. 20 B. 22
C. 21 D. 11
答案:A
解析:a++先取值再自增,计算时a为10,结果为10*2=20,之后a变为11。
4. 以下浮点型常量定义错误的是( )
A. 3.14F B. 3E-5
C. 3.14L D. 3.14U
答案:D
解析:U表示无符号整型,不能用于浮点数(D错误)。
5. 以下代码的输出是( )
char c = 'A' + 32;
printf("%c", c);
A. A B. a
C. 97 D. 98
答案:B
解析:ASCII码中,A为65,加32后为97,对应小写字母a。
6. 以下选项中,不能作为变量名的是( )
A. student_name B. Student1
C. 2ndValue D. _total
答案:C
解析:变量名不能以数字开头(C错误)。
7. 以下代码的输出是( )
int a = 5, b = 2;
float c = a / b;
printf("%.1f", c);
A. 2.0 B. 2.5
C. 2 D. 3.0
答案:A
解析:整数相除结果为2,赋值给float后为2.0。
8. 以下关于const和#define的叙述,错误的是( )
A. const常量有类型,#define无类型
B. const常量在编译时分配内存
C. #define常量在预处理阶段替换
D. const常量可以用作数组长度
答案:D
解析:C语言中,const常量不能直接用作数组长度(需使用宏或常量表达式)。
9. 以下代码的输出是( )
printf("%d", (int)(3.8 + 0.5));
A. 3 B. 4
C. 3.3 D. 4.3
答案:B
解析:3.8 + 0.5 = 4.3,强制转换为int后结果为4。
10. 以下选项中,值为1的表达式是( )
A. 5 % 2 B. 5 / 2
C. 5.0 / 2 D. 5 / 2.0
答案:A
解析:5 % 2余数为1
11. 以下浮点型变量定义正确的是( )
A. float f = 3.14D;
B. double d = 3.14F;
C. long double ld = 3.14L;
D. float f = 3.14L;
答案:C
12. 以下代码的输出是( )
printf("%d", '0' - 0);
A. 0 B. 48
C. 编译错误 D. 随机值
答案:B
解析:字符'0'的ASCII码为48,48 - 0 = 48。
13. 以下选项中,不能表示字符'A'的是( )
A. 65
B. '\x41'
C. '\101'
D. 0x41
答案:D
(二)判断题
1. const int a; 是合法的常量声明。( )
答案:×
解析:const常量必须在声明时初始化。
2. 字符型变量可以存储字符串 "Hello"。( )
答案:×
解析:字符变量只能存储单个字符,字符串需用数组或指针。
3. double类型的精度一定比float高。( )
答案:√
解析:double占8字节,float占4字节,精度更高。
4. #define MAX 100 定义的常量有数据类型。( )
答案:×
解析:宏定义是文本替换,无类型检查。
5. unsigned int 的取值范围包含所有正整数。( )
答案:×
解析:unsigned int范围为0~2^32-1(32位系统),不含负数。
6. int a = 3.14; 会导致编译错误。( )
答案:×
解析:合法,但会隐式转换为3。
7. char 类型变量可以存储汉字。( )
答案:×
解析:char仅1字节,汉字需用多字节编码(如wchar_t)。
8. sizeof(3.14) 的结果是8。( )
答案:√
解析:3.14默认是double类型,占8字节。
9. int a = 10; int b = a++; 执行后,b的值为11。( )
答案:×
解析:b为10。
10. float f = 3.14; 与 double d = 3.14; 存储的值相等。( )
答案:×
解析:float精度低,可能存储近似值。
(三)填空题
1. 用#define定义一个值为100的整型常量:______。
答案:#define MAX 100
2. 表达式 (int)3.6 + 2.5 的值是______。
答案:5.5
3. 声明一个字符型常量CH,值为'Z':______。
答案:const char CH = 'Z';
学科网(北京)股份有限公司
$$
专题二 基本数据类型
(一)单项选择题
1. 以下关于常量的定义,正确的是( )
A. int a = 10; B. const a = 10;
C. #define PI 3.14; D. const float PI = 3.14;
2. 以下变量名合法的是( )
A. 3num B. int
C. _value D. num@1
3. 以下代码的输出是( )
int a = 10;
printf("%d", a++ * 2);
A. 20 B. 22
C. 21 D. 11
4. 以下浮点型常量定义错误的是( )
A. 3.14F B. 3E-5
C. 3.14L D. 3.14U
5. 以下代码的输出是( )
char c = 'A' + 32;
printf("%c", c);
A. A B. a
C. 97 D. 98
6. 以下选项中,不能作为变量名的是( )
A. student_name B. Student1
C. 2ndValue D. _total
7. 以下代码的输出是( )
int a = 5, b = 2;
float c = a / b;
printf("%.1f", c);
A. 2.0 B. 2.5
C. 2 D. 3.0
8. 以下关于const和#define的叙述,错误的是( )
A. const常量有类型,#define无类型
B. const常量在编译时分配内存
C. #define常量在预处理阶段替换
D. const常量可以用作数组长度
9. 以下代码的输出是( )
printf("%d", (int)(3.8 + 0.5));
A. 3 B. 4
C. 3.3 D. 4.3
10. 以下选项中,值为1的表达式是( )
A. 5 % 2 B. 5 / 2
C. 5.0 / 2 D. 5 / 2.0
11. 以下浮点型变量定义正确的是( )
A. float f = 3.14D;
B. double d = 3.14F;
C. long double ld = 3.14L;
D. float f = 3.14L;
12. 以下代码的输出是( )
printf("%d", '0' - 0);
A. 0 B. 48
C. 编译错误 D. 随机值
解析:字符'0'的ASCII码为48,48 - 0 = 48。
13. 以下选项中,不能表示字符'A'的是( )
A. 65
B. '\x41'
C. '\101'
D. 0x41
(二)判断题
1. const int a; 是合法的常量声明。( )
2. 字符型变量可以存储字符串 "Hello"。( )
3. double类型的精度一定比float高。( )
4. #define MAX 100 定义的常量有数据类型。( )
5. unsigned int 的取值范围包含所有正整数。( )
6. int a = 3.14; 会导致编译错误。( )
7. char 类型变量可以存储汉字。( )
8. sizeof(3.14) 的结果是8。( )
9. int a = 10; int b = a++; 执行后,b的值为11。( )
10. float f = 3.14; 与 double d = 3.14; 存储的值相等。( )
(三)填空题
1. 用#define定义一个值为100的整型常量:______。
2. 表达式 (int)3.6 + 2.5 的值是______。
3. 声明一个字符型常量CH,值为'Z':______。
学科网(北京)股份有限公司
$$