内容正文:
2.1与2.2节:C语言的数据类型、常量与变量
一、单项选择题
1.下列不属于 C 语言基本数据类型的是( )
A. 整型 B. 实型 C. 结构型 D. 字符型
【答案】C
【解析】结构型属于构造类型,非基本类型。
2.下列属于 C 语言整型数据的是( )
A. 3.14 B. 'A' C. 100 D. "hello"
【答案】C
【解析】100 是整型常量,3.14 是实型,'A' 是字符型,"hello" 是字符串。
3.定义单精度实型变量应使用的关键字是( )
A. int B. float C. double D. char
【答案】B
【解析】float 是单精度实型,double 是双精度实型。
4.下列关于 C 语言数据类型分类的描述,正确的是( )
A. 数据类型分为基本类型、数组类型、指针类型、空类型
B. 数据类型分为基本类型、构造类型、指针类型、空类型
C. 数据类型分为整型、实型、字符型、指针型
D. 数据类型分为主类型、子类型、指针类型、空类型
【答案】B
【解析】在C语言中,数据类型可分为四大类:基本类型、构造类型、指针类型、空类型。每个大类中又划分出一些小类。
5.下列属于合法 C 语言标识符的是( )
A. 123abc B. a-bc C. _abc123 D. int
【答案】C
【解析】标识符只能由字母、数字、下划线组成,不能以数字开头,不能使用关键字。
6.C 语言中,标识符的最大长度为( )
A. 16 B. 32 C. 64 D. 无限制
【答案】B
【解析】在C语言中,一个标识符的命名,长度不能超过32个字符,多余的将不被识别。
7.下列不能作为 C 语言标识符的一项是( )
A. _student B. student1 C. student-1 D. Student
【答案】C
【解析】标识符不能包含减号,只能由字母、数字、下划线组成。
8.下列选项中,属于 C 语言关键字的是( )
A. main B. printf C. int D. include
【答案】C
【解析】int是 C 语言关键字,main是函数名,printf是库函数名,include是预处理指令。
9.下列关于常量的描述,错误的一项是( )
A. 常量的值在程序运行中不能改变 B. 常量可分为算术型和字符型
C. 常量必须先定义后使用 D. 32 和 'A' 都是常量
【答案】C
【解析】常量可直接使用,无需定义(符号常量除外)。
10.下列属于字符型常量的是( )
A. 123 B. 3.14 C. 'A' D. "A"
【答案】C
【解析】字符型常量用单引号包裹,字符串常量用双引号包裹。
11.定义符号常量应使用的预处理指令是( )
A. #include B. #define C. #if D. #endif
【答案】B
【解析】#define用于定义符号常量。
12.定义整型变量a的正确语句是( )
A. int a; B. a int; C. int a D. a = 10;
【答案】A
【解析】变量定义格式:类型标识符 变量名;,末尾必须有分号。
13.下列关于变量定义位置的描述,正确的是( )
A. 必须在函数体开头 B. 必须在函数体末尾
C. 必须在使用之前 D. 可以任意位置
【答案】C
【解析】变量必须先定义后使用,通常放在函数体开头。
14.下列关于C语言标识符命名规则的说法,错误的是( )
A. 标识符可由字母、数字、下划线组成,首位不能为数字
B. C语言区分大小写,Name和name属于两个不同标识符
C. 标识符长度无限制,可随意命名便于理解程序
D. 关键字不能用作标识符,例如int、float、char不可作为变量名
【答案】C
【解析】在C语言中,一个标识符的命名,长度不能超过32个字符,多余的将不被识别。
15.下列关于常量的叙述,正确的是( )
A. 常量是程序运行中值可随时修改的量,分为算术型和字符型
B. 符号常量需用#define定义,定义后可在程序运行时重新赋值修改
C. 12.5属于实型常量,'5'属于字符型常量,两者本质不同
D. 字符串常量属于算术型常量,用单引号包裹
【答案】C
【解析】常量值不可修改,A错误;符号常量值固定,不可重新赋值,B错误;字符串常量用双引号,属于字符类常量,D错误。
16.在C语言中,用#define PI 3.14159定义的PI,下列说法正确的是( )
A. PI是整型变量,存储值为3.14159
B. PI是符号常量,属于预处理指令,不占用内存空间
C. PI可在程序中通过赋值语句修改其值
D. PI定义时末尾必须加分号,否则编译报错
【答案】B
【解析】符号常量由#define定义,无分号,不占用内存,值不可动态修改,不属于变量;A、C、D均错误。
17.下列关于变量的叙述,符合C语言语法规范的是( )
A. 变量可先使用后定义,编译器会自动识别其数据类型
B. 变量定义格式为:变量名 类型标识符;末尾加分号
C. 同一函数内,可定义多个同名变量,编译器默认取最后定义的变量
D. 变量必须先定义后使用,定义时需指定数据类型,用于存储对应类型数据
【答案】D
【解析】C语言要求变量先定义后使用,A错误;定义格式为“类型标识符 变量名;”,B错误;同一作用域内不可重名,C错误。
18.在C语言程序中,下列关于关键字的说法正确的是( )
A. 关键字是C语言预留标识符,用户可自定义修改其含义
B. main、printf、scanf均属于C语言关键字
C. int、char、float、void属于关键字,不可用作变量名
D. 关键字可随意大小写,INT和int含义完全相同
【答案】C
【解析】关键字不可修改、不可作标识符;main是函数名,printf/scanf是库函数名,非关键字;C语言关键字区分大小写。
19.在C语言中,变量名max和Max的关系是( )
A. 同一个变量,C语言不区分大小写 B. 两个不同变量,C语言严格区分大小写
C. 编译报错,不可同时定义 D. 系统自动识别为同一变量,节省内存
【答案】B
【解析】C语言标识符区分大小写,max和Max为两个不同的合法变量,可同时定义。
20.下列关于符号常量和变量的区别,说法正确的是( )
A. 符号常量和变量都占用内存空间,可随时修改值
B. 符号常量用#define定义,变量用类型标识符定义
C. 符号常量和变量命名规则完全相同,都可用关键字命名
D. 程序中符号常量和变量的使用方式无区别
【答案】B
【解析】符号常量不占内存、在程序运行过程中值不可改,变量占内存、值可改,命名均不可用关键字
二、判断题。
1.符号常量通过#define定义,其值在程序编译阶段已确定,运行过程中无法通过赋值语句修改。( )
【答案】正确
【解析】符号常量是预处理指令,在程序运行期间,值固定不可改,区别于变量可随时赋值修改。
2.变量定义语句int a,b;中,同时定义两个整型变量,语法规范,且变量默认初始值为0。( )
【答案】错误
【解析】该语句定义合法,但未初始化的局部变量值为随机数,系统不会自动赋值0。
3.实型变量分为float和double两种,double精度更高,占用内存空间大于float,适合存储高精度小数。( )
【答案】正确
【解析】float为单精度,double为双精度实型,精度和内存占用均高于float,符合教材定义。
4.标识符长度不超过32个字符,且区分大小写,过长的标识符虽合法但不利于程序阅读。( )
【答案】正确
【解析】在C语言中,标识符长度上限为32字符,且区分大小写,规范命名建议简洁易懂,避免过长。
5.定义变量时,类型标识符与变量名之间必须加空格,否则编译报错,例如inta;属于语法错误。( )
【答案】正确
【解析】类型标识符与变量名之间需用空格分隔,inta连写编译器无法识别,属于语法错误。
6.常量的值在程序运行全程不可改变,变量的值可根据程序需求随时修改,这是两者核心区别。( )
【答案】正确
【解析】常量固定值,变量可动态赋值,这是常量与变量最核心的本质区别。
7.同一函数内,可定义int num和float num两个变量,编译器会根据类型区分,不会报错。( )
【答案】错误
【解析】同一作用域(函数)内,变量名不可重名,无论类型是否相同,均编译报错。
8.在C语言程序中,注释内容会被编译器忽略,不参与编译和运行,因此注释可位于代码任一处,不影响程序逻辑。( )
【答案】正确
【解析】注释仅用于解释代码,不占用内存、不影响程序运行,可按需编写。
9.C语言关键字是系统预留标识符,用户不能将其用作变量名、函数名等自定义标识符。( )
【答案】正确
【解析】关键字有固定语法含义,不可自定义修改,也不可用作标识符,属于核心语法规则。
三、填空题。
1.C 语言数据类型分为________、________、指针类型、空类型四大类。
【答案】基本类型;构造类型
2.标识符由________、________、_______组成,不能以_________开头。
【答案】字母;数字、下划线、数字
【解析】
3.符号常量定义格式为:#define ________ ________。
【答案】标识符;常量
4.int是________类型关键字,float是________类型关键字。
【答案】整型;单精度实型(实型)
5.符号常量#define MAX 100中,MAX代表________,其值在程序运行期间________(可以/不可以)修改。
【答案】常量 100;不可以
6.变量定义时,类型标识符与变量名之间至少用________间隔,末尾必须加________。
【答案】一个空格;分号 (;)
7.字符型变量用关键字________定义,存储________字符。
【答案】char;单个
8.变量占用内存大小由________决定,整型变量存________,实型变量存________,不可混用。
【答案】数据类型;整数;小数
9.#define PRICE 50中,PRICE是________,50是________,该指令作用是________。
【答案】符号常量;常量值;定义符号常量替代数值
10.定义整型变量用关键字________,定义字符型变量用关键字________,定义单精度小数用________。
【答案】int;char;float
三、简答题
1. 详细说明C语言标识符的命名规则及编程规范,列举3个常见非法标识符并说明原因。
【答案】
规则:由字母、数字、下划线组成,首位非数字,区分大小写,不可用关键字。
规范:简洁易懂,符号常量大写、变量小写。
常见非法:123abc(数字开头)、stu-name(含减号)、int(关键字)。
2.简述变量定义的语法格式、注意事项,以及“先定义后使用”的必要性。
【答案】
格式:类型标识符 变量名1,变量名2;;
注意:类型与变量名空格分隔,末尾分号,不重名。
必要性:指定类型让系统分配内存,避免未定义变量导致编译报错,保证程序语法合法。
3.简述符号常量的定义方法、使用场景及相比直接使用数值的优点。
【答案】
定义方法:用#define 标识符 常量值格式定义,末尾无分号。
使用场景:程序中多次使用的固定数值,如圆周率、固定价格、固定容量等。
优点:提高程序可读性,一眼可知常量含义;便于统一修改,只需修改#define处数值,全程序同步更新;避免“魔法数字”,让代码逻辑更清晰,减少出错概率。
四、编程题。
1.定义两个整型变量a和b,分别赋值为15和25,输出两个变量的和。要求代码规范,注释清晰。
【答案】
#include <stdio.h>
int main()
{
int a = 15; // 定义两个整型变量并赋值
int b = 25;
printf("两个数的和为:%d
", a+b); // 计算并输出和
}
2.定义符号常量PI为3.14,再定义一个单精度实型变量r存储半径,赋值为6,计算并输出圆的面积。
【答案】
#include <stdio.h>
#define PI 3.14 // 定义符号常量圆周率
int main()
{
float r = 6;// 定义半径变量并赋值
float area = PI * r * r;
printf("圆的面积为:%.2f
", area); // 输出圆面积,保留两位小数
}
3.定义一个双精度实型变量height,赋值为1.78,表示身高(米),输出身高信息。
【答案】
#include <stdio.h>
int main()
{
double height = 1.78;// 定义双精度浮点型变量存储身高
printf("身高为:%.2f米
", height);// 格式化输出
}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$
2.1与2.2节:C语言的数据类型、常量与变量
一、单项选择题
1.下列不属于 C 语言基本数据类型的是( )
A. 整型 B. 实型 C. 结构型 D. 字符型
2.下列属于 C 语言整型数据的是()
A. 3.14 B. 'A' C. 100 D. "hello"
3.定义单精度实型变量应使用的关键字是()
A. int B. float C. double D. char
4.下列关于 C 语言数据类型分类的描述,正确的是()
A. 数据类型分为基本类型、数组类型、指针类型、空类型
B. 数据类型分为基本类型、构造类型、指针类型、空类型
C. 数据类型分为整型、实型、字符型、指针型
D. 数据类型分为主类型、子类型、指针类型、空类型
5.下列属于合法 C 语言标识符的是()
A. 123abc B. a-bc C. _abc123 D. int
6.C 语言中,标识符的最大长度为()
A. 16 B. 32 C. 64 D. 无限制
7.下列不能作为 C 语言标识符的一项是()
A. _student B. student1 C. student-1 D. Student
8.下列选项中,属于 C 语言关键字的是()
A. main B. printf C. int D. include
9.下列关于常量的描述,错误的一项是()
A. 常量的值在程序运行中不能改变 B. 常量可分为算术型和字符型
C. 常量必须先定义后使用 D. 32 和 'A' 都是常量
10.下列属于字符型常量的是()
A. 123 B. 3.14 C. 'A' D. "A"
11.定义符号常量应使用的预处理指令是( )
A. #include B. #define C. #if D. #endif
12.定义整型变量a的正确语句是()
A. int a; B. a int; C. int a D. a = 10;
13.下列关于变量定义位置的描述,正确的是()
A. 必须在函数体开头 B. 必须在函数体末尾
C. 必须在使用之前 D. 可以任意位置
14.下列关于C语言标识符命名规则的说法,错误的是()
A. 标识符可由字母、数字、下划线组成,首位不能为数字
B. C语言区分大小写,Name和name属于两个不同标识符
C. 标识符长度无限制,可随意命名便于理解程序
D. 关键字不能用作标识符,例如int、float、char不可作为变量名
15.下列关于常量的叙述,正确的是()
A. 常量是程序运行中值可随时修改的量,分为算术型和字符型
B. 符号常量需用#define定义,定义后可在程序运行时重新赋值修改
C. 12.5属于实型常量,'5'属于字符型常量,两者本质不同
D. 字符串常量属于算术型常量,用单引号包裹
16.在C语言中,用#define PI 3.14159定义的PI,下列说法正确的是()
A. PI是整型变量,存储值为3.14159
B. PI是符号常量,属于预处理指令,不占用内存空间
C. PI可在程序中通过赋值语句修改其值
D. PI定义时末尾必须加分号,否则编译报错
17.下列关于变量的叙述,符合C语言语法规范的是()
A. 变量可先使用后定义,编译器会自动识别其数据类型
B. 变量定义格式为:变量名 类型标识符;末尾加分号
C. 同一函数内,可定义多个同名变量,编译器默认取最后定义的变量
D. 变量必须先定义后使用,定义时需指定数据类型,用于存储对应类型数据
18.在C语言程序中,下列关于关键字的说法正确的是()
A. 关键字是C语言预留标识符,用户可自定义修改其含义
B. main、printf、scanf均属于C语言关键字
C. int、char、float、void属于关键字,不可用作变量名
D. 关键字可随意大小写,INT和int含义完全相同
19.在C语言中,变量名max和Max的关系是()
A. 同一个变量,C语言不区分大小写 B. 两个不同变量,C语言严格区分大小写
C. 编译报错,不可同时定义 D. 系统自动识别为同一变量,节省内存
20.下列关于符号常量和变量的区别,说法正确的是()
A. 符号常量和变量都占用内存空间,可随时修改值
B. 符号常量用#define定义,变量用类型标识符定义
C. 符号常量和变量命名规则完全相同,都可用关键字命名
D. 程序中符号常量和变量的使用方式无区别
二、判断题。
1.符号常量通过#define定义,其值在程序编译阶段已确定,运行过程中无法通过赋值语句修改。( )
2.变量定义语句int a,b;中,同时定义两个整型变量,语法规范,且变量默认初始值为0。( )
3.实型变量分为float和double两种,double精度更高,占用内存空间大于float,适合存储高精度小数。( )
4.标识符长度不超过32个字符,且区分大小写,过长的标识符虽合法但不利于程序阅读。( )
5.定义变量时,类型标识符与变量名之间必须加空格,否则编译报错,例如inta;属于语法错误。( )
6.常量的值在程序运行全程不可改变,变量的值可根据程序需求随时修改,这是两者核心区别。( )
7.同一函数内,可定义int num和float num两个变量,编译器会根据类型区分,不会报错。( )
8.在C语言程序中,注释内容会被编译器忽略,不参与编译和运行,因此注释可位于代码任一处,不影响程序逻辑。( )
9.C语言关键字是系统预留标识符,用户不能将其用作变量名、函数名等自定义标识符。( )
三、填空题。
1.C 语言数据类型分为________、________、指针类型、空类型四大类。
2.标识符由________、________、_______组成,不能以_________开头。
3.符号常量定义格式为:#define ________ ________。
4.int是________类型关键字,float是________类型关键字。
5.符号常量#define MAX 100中,MAX代表________,其值在程序运行期间________(可以/不可以)修改。
6.变量定义时,类型标识符与变量名之间至少用________间隔,末尾必须加________。
7.字符型变量用关键字________定义,存储________字符。
8.变量占用内存大小由________决定,整型变量存________,实型变量存________,不可混用。
9.#define PRICE 50中,PRICE是________,50是________,该指令作用是________。
10.定义整型变量用关键字________,定义字符型变量用关键字________,定义单精度小数用________。
三、简答题
1. 详细说明C语言标识符的命名规则及编程规范,列举3个常见非法标识符并说明原因。
2.简述变量定义的语法格式、注意事项,以及“先定义后使用”的必要性。
3.简述符号常量的定义方法、使用场景及相比直接使用数值的优点。
四、编程题。
1.定义两个整型变量a和b,分别赋值为15和25,输出两个变量的和。要求代码规范,注释清晰。
2.定义符号常量PI为3.14,再定义一个单精度实型变量r存储半径,赋值为6,计算并输出圆的面积。
3.定义一个双精度实型变量height,赋值为1.78,表示身高(米),输出身高信息。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$