内容正文:
专题1:C语言基础及其基本数据类型
一、单项选择题(在每小题列出的四个备选答案中,只有一个是正确选项。)
1.关于不带参数的宏定义,下列说法正确的是( )
A. 宏定义必须以分号结尾
B. 宏名在程序中可以作为变量名使用
C. 宏替换是在编译阶段进行的
D. 宏定义的作用域是从定义处到文件结束
2.以下C语言基本数据类型中,占用字节数通常最小的是( )
A. char
B. short
C. int
D. float
3.以下关于变量的说法,正确的是( )
A. 变量定义后必须初始化
B. 变量名可以是任意字符串
C. 变量的作用域只在定义它的函数内
D. 变量的类型决定了其存储的数据类型和占用内存大小
4.带参数的宏定义#define SQUARE(x) x*x,当执行SQUARE(3+2)时,结果为( )
A.25
B.11
C.10
D.24
5.十进制浮点型常量3.14的科学计数法表示为( )是错误的。
A. 3.14e0
B. 314e-2
C. 0.314e1
D. 31.4e1
6.关于常量和变量,以下说法正确的是( )
A. 常量的值在程序运行过程中可以改变
B. 变量必须先定义后使用
C. 符号常量定义后可以再赋值
D. 所有常量都可以用符号常量表示
7.以下关于浮点型常量的说法,错误的是( )
A. 浮点型常量有十进制形式和科学计数法形式
B. 3.14是十进制浮点型常量
C. 1.2e-3表示的数值是0.0012
D. 浮点型常量的精度只由其小数部分的位数决定
8.关于C语言程序的执行,以下说法正确的是( )
A. 程序从最后一个函数开始执行
B. 程序必须包含main函数,且从main函数开始执行
C. 编译预处理命令是在程序运行阶段执行的
D. 函数的执行顺序可以任意调整
9.以下宏定义中,正确的带参数宏定义是( )
A. #define ADD(a,b) a+b
B. #define ADD(a,b) (a+b)
C. #define ADD a,b a+b
D. #define ADD(a,b) {a+b;}
10.关于变量的定义,以下格式正确的是( )
A. int a,b,c;
B. int a; b; c;
C. int a=b=c=0;
D. int a, int b, int c;
11.以下关于字符型常量的说法,错误的是( )
A. 字符型常量用单引号括起来
B. 字符型常量可以是ASCII码表中的任意字符
C. 'a'和"a"表示的意义相同
D. 转义字符属于字符型常量
12.以下关于宏定义的描述,错误的是( )
A. 宏定义可以嵌套定义
B. 带参宏的形参不分配存储单元
C. 宏名的作用域从定义处到文件结束
D. 宏替换不占用程序运行时间
13.若有宏定义 #define MUL(a, b) a * b,则 MUL(2+3, 4+5) 的值为( )
A. 45
B. 19
C. 29
D. 23
14.若 int a = 0x10;,则 printf("%d", a); 输出为( )
A. 10
B. 16
C. 0x10
D. 20
15.以下关于补码的说法正确的是( )
A. 正数的补码是其本身
B. 补码的最高位是符号位,0表示负数
C. 补码中0有两种表示形式
D. 负数的补码是其反码加2
16.字符常量 '\101' 在 ASCII 中对应的字符是( )
A. 'A'
B. 'a'
C. '1'
D. 错误表示
17.关于变量定义,下列说法错误的是( )
A. 变量名必须是合法的标识符
B. 变量定义后系统自动为其赋初值0
C. 变量名不能是C语言关键字
D. 变量在内存中占用一定的存储空间
18.若 char c = '\72';,则变量 c 中存储的是( )
A. 72
B. 字符 ':'
C. 字符 'r'
D. 八进制数 72
19.下列变量名中合法的是( )
A. 3abc
B. _int
C. case
D. a-b
20.若 unsigned short a = 65535;,则 a + 1 的值为( )
A. 65536
B. 0
C. -1
D. 1
21.若有宏定义:#define SQR(x) x*x,则 SQR(3+2) 的值为( )
A. 25
B. 11
C. 13
D. 10
22.若有定义 #define M 3+2 和 int a = M*M;,则 a 的值为( )
A. 25
B. 11
C. 13
D. 10
23.下列选项中属于合法变量名的是( )
A. int
B. 1_student
C. student_name
D. name!
24.下列关于算法的叙述中,错误的是( )
A. 算法必须有输入和输出
B. 算法中的每一步都必须是明确的、可执行的
C. 算法必须能在有限步骤内结束
D. 一个算法可以没有输入,但必须有输出
25.算法的时间复杂度主要衡量的是( )
A. 算法的可读性
B. 程序代码的长短
C. 算法执行时间的增长率
D. 算法执行所需的具体时间
26.下列算法特性中,不属于算法基本特性的是( )
A. 有穷性
B. 确定性
C. 可行性
D. 最优性
27.某算法的时间复杂度为O(n²),表示该算法的( )
A. 问题规模是n²
B. 执行时间等于n²
C. 执行时间与n²成正比
D. 随n增大,执行时间按n²的增长率增长
28.下列关于算法设计的叙述中,正确的是( )
A. 算法设计只需要考虑时间效率,不需要考虑空间效率
B. 算法设计的目标是找到问题的最优解
C. 同一个问题可以有多种不同的算法
D. 算法设计完成后就不需要再优化
29.评价一个算法的优劣,主要从( )方面考虑
A. 时间复杂度和空间复杂度
B. 正确性和可读性
C. 健壮性和可移植性
D. 以上都是
30.下列关于递归算法的叙述中,错误的是( )
A. 递归算法必须有终止条件
B. 递归算法通常代码简洁易懂
C. 递归算法的效率一定高于非递归算法
D. 递归算法通过函数调用自身来解决问题
31.算法分析的主要目的是( )
A. 找出算法中的语法错误
B. 分析算法的时间效率和空间效率
C. 将算法转换为程序代码
D. 验证算法的正确性
学科网(北京)股份有限公司
$
专题1:C语言基础及其基本数据类型
一、单项选择题(在每小题列出的四个备选答案中,只有一个是正确选项。)
1.关于不带参数的宏定义,下列说法正确的是( )
A. 宏定义必须以分号结尾
B. 宏名在程序中可以作为变量名使用
C. 宏替换是在编译阶段进行的
D. 宏定义的作用域是从定义处到文件结束
【答案】D
2.以下C语言基本数据类型中,占用字节数通常最小的是( )
A. char
B. short
C. int
D. float
【答案】A
3.以下关于变量的说法,正确的是( )
A. 变量定义后必须初始化
B. 变量名可以是任意字符串
C. 变量的作用域只在定义它的函数内
D. 变量的类型决定了其存储的数据类型和占用内存大小
【答案】D
4.带参数的宏定义#define SQUARE(x) x*x,当执行SQUARE(3+2)时,结果为( )
A.25
B.11
C.10
D.24
【答案】B
5.十进制浮点型常量3.14的科学计数法表示为( )是错误的。
A. 3.14e0
B. 314e-2
C. 0.314e1
D. 31.4e1
【答案】D
6.关于常量和变量,以下说法正确的是( )
A. 常量的值在程序运行过程中可以改变
B. 变量必须先定义后使用
C. 符号常量定义后可以再赋值
D. 所有常量都可以用符号常量表示
【答案】B
7.以下关于浮点型常量的说法,错误的是( )
A. 浮点型常量有十进制形式和科学计数法形式
B. 3.14是十进制浮点型常量
C. 1.2e-3表示的数值是0.0012
D. 浮点型常量的精度只由其小数部分的位数决定
【答案】D
8.关于C语言程序的执行,以下说法正确的是( )
A. 程序从最后一个函数开始执行
B. 程序必须包含main函数,且从main函数开始执行
C. 编译预处理命令是在程序运行阶段执行的
D. 函数的执行顺序可以任意调整
【答案】B
9.以下宏定义中,正确的带参数宏定义是( )
A. #define ADD(a,b) a+b
B. #define ADD(a,b) (a+b)
C. #define ADD a,b a+b
D. #define ADD(a,b) {a+b;}
【答案】B
10.关于变量的定义,以下格式正确的是( )
A. int a,b,c;
B. int a; b; c;
C. int a=b=c=0;
D. int a, int b, int c;
【答案】A
11.以下关于字符型常量的说法,错误的是( )
A. 字符型常量用单引号括起来
B. 字符型常量可以是ASCII码表中的任意字符
C. 'a'和"a"表示的意义相同
D. 转义字符属于字符型常量
【答案】C
12.以下关于宏定义的描述,错误的是( )
A. 宏定义可以嵌套定义
B. 带参宏的形参不分配存储单元
C. 宏名的作用域从定义处到文件结束
D. 宏替换不占用程序运行时间
【答案】A
13.若有宏定义 #define MUL(a, b) a * b,则 MUL(2+3, 4+5) 的值为( )
A. 45
B. 19
C. 29
D. 23
【答案】B
14.若 int a = 0x10;,则 printf("%d", a); 输出为( )
A. 10
B. 16
C. 0x10
D. 20
【答案】B
15.以下关于补码的说法正确的是( )
A. 正数的补码是其本身
B. 补码的最高位是符号位,0表示负数
C. 补码中0有两种表示形式
D. 负数的补码是其反码加2
【答案】A
16.字符常量 '\101' 在 ASCII 中对应的字符是( )
A. 'A'
B. 'a'
C. '1'
D. 错误表示
【答案】A
17.关于变量定义,下列说法错误的是( )
A. 变量名必须是合法的标识符
B. 变量定义后系统自动为其赋初值0
C. 变量名不能是C语言关键字
D. 变量在内存中占用一定的存储空间
【答案】B
18.若 char c = '\72';,则变量 c 中存储的是( )
A. 72
B. 字符 ':'
C. 字符 'r'
D. 八进制数 72
【答案】B
19.下列变量名中合法的是( )
A. 3abc
B. _int
C. case
D. a-b
【答案】B
20.若 unsigned short a = 65535;,则 a + 1 的值为( )
A. 65536
B. 0
C. -1
D. 1
【答案】B
21.若有宏定义:#define SQR(x) x*x,则 SQR(3+2) 的值为( )
A. 25
B. 11
C. 13
D. 10
【答案】B
22.若有定义 #define M 3+2 和 int a = M*M;,则 a 的值为( )
A. 25
B. 11
C. 13
D. 10
【答案】B
23.下列选项中属于合法变量名的是( )
A. int
B. 1_student
C. student_name
D. name!
【答案】C
24.下列关于算法的叙述中,错误的是( )
A. 算法必须有输入和输出
B. 算法中的每一步都必须是明确的、可执行的
C. 算法必须能在有限步骤内结束
D. 一个算法可以没有输入,但必须有输出
【答案】A
25.算法的时间复杂度主要衡量的是( )
A. 算法的可读性
B. 程序代码的长短
C. 算法执行时间的增长率
D. 算法执行所需的具体时间
【答案】C
26.下列算法特性中,不属于算法基本特性的是( )
A. 有穷性
B. 确定性
C. 可行性
D. 最优性
【答案】D
27.某算法的时间复杂度为O(n²),表示该算法的( )
A. 问题规模是n²
B. 执行时间等于n²
C. 执行时间与n²成正比
D. 随n增大,执行时间按n²的增长率增长
【答案】D
28.下列关于算法设计的叙述中,正确的是( )
A. 算法设计只需要考虑时间效率,不需要考虑空间效率
B. 算法设计的目标是找到问题的最优解
C. 同一个问题可以有多种不同的算法
D. 算法设计完成后就不需要再优化
【答案】C
29.评价一个算法的优劣,主要从( )方面考虑
A. 时间复杂度和空间复杂度
B. 正确性和可读性
C. 健壮性和可移植性
D. 以上都是
【答案】D
30.下列关于递归算法的叙述中,错误的是( )
A. 递归算法必须有终止条件
B. 递归算法通常代码简洁易懂
C. 递归算法的效率一定高于非递归算法
D. 递归算法通过函数调用自身来解决问题
【答案】C
31.算法分析的主要目的是( )
A. 找出算法中的语法错误
B. 分析算法的时间效率和空间效率
C. 将算法转换为程序代码
D. 验证算法的正确性
【答案】B
学科网(北京)股份有限公司
$