内容正文:
专题二 基本数据类型
【考纲要求】
知识要点
考试条目
2.顺序结构程序设计
(1)了解常量及变量的定义;
(2)掌握整型、字符型、浮点型数据的定义和使用方法;
【课时安排】
2课时
【知识梳理】
常量及变量
一、常量
常量是程序中固定不变的值,直接写在代码中或通过特定方式定义,不可修改。
分类:
字面常量:直接写出的值,如 5(整型)、3.14(浮点型)、'A'(字符型)、"Hello"(字符串)。
符号常量:通过 #define 或 const 定义的标识符,如 #define PI 3.1415 或 const int MAX = 100;。
特点:值不可变。#define 是预处理指令,直接替换;const 是只读变量,具有类型检查。
示例:
#define PI 3.14159
const int MAX_VALUE = 100;
printf("PI = %f
", PI); // 输出:3.14159
printf("MAX = %d
", MAX_VALUE); // 输出:100
二、变量
变量是程序中用于存储数据的标识符,值可修改,需先声明后使用。
声明语法:数据类型 变量名;(如 int age;)。
初始化:声明时可赋值,如 int score = 90;。
命名规则:
只能由字母、数字和下划线组成,且第1个字符必须为字母或下划线,不允许使用数字。
区分大小写,避开C关键字(如 int, return),做到见闻知意。
示例:
int count; // 声明整型变量
count = 10; // 赋值
float price = 19.8; // 声明并初始化浮点变量
基本数据类型
一、整型(int)
用途:存储整数(正、负、零)。
分类:
short int(短整型):通常占 2字节,范围:-32,768 到 32,767。
int(基本整型):通常占 4字节,范围:-2,147,483,648 到 2,147,483,647。
long int(长整型):通常占 4或8字节,范围:-2^31 到 2^31-1(32位)或 -2^63 到 2^63-1(64位)。
long long int(C99新增):至少 8字节,范围:-2^63 到 2^63-1。
无符号整型:添加 unsigned 修饰符,范围从 0 开始。
例如:unsigned int 范围 0 到 4,294,967,295。
示例:
int a = -100;
unsigned short b = 65535;
long long c = 9223372036854775807LL; // 后缀LL表示long long
二、字符型(char)
用途:存储单个字符(ASCII码),本质是 1字节整数。
范围:-128 到 127(有符号)或 0 到 255(无符号)。
转义字符:
'
'
换行符(将当前位置移到下一行开头)
'\t'
水平制表符交跳到下十个KTa 位置 处
'\b'
退格
'\r¹
回车(将当前位置移到本行开头)
f
走纸
'W'
反斜杠
\"
单引号
'V""
双引号
示例:
char ch1 = 'A'; // 直接赋值字符
char ch2 = 65; // 等价于 'A'
char ch3 = '\x41'; // 十六进制表示'A'
printf("%c -> ASCII: %d
", ch1, ch1); // 输出:A -> 65
三、浮点型(float / double)
用途:存储小数(实数值)。
分类:
float(单精度):占 4字节,约 6-7位有效数字。
double(双精度):占 8字节,约 15位有效数字。
long double(扩展精度):占 16字节或更多,精度更高(依赖编译器)。
科学计数法:如 3.14e5 表示 3.14×10^5。
示例:
float f = 3.14159f; // 后缀f表示float
double d = 2.718281828459045;
long double ld = 1.18973e4932L; // 后缀L表示long double
四、空类型(void)
用途:
函数无返回值:void func() { ... }。
无类型指针:void* ptr(可指向任意类型数据)。
【限时练习】
1. 以下正确的常量定义是( )
A. #define PI 3.14
B. int const PI = 3.14;
C. float PI = 3.14f;
D. const char PI = '3';
【答案】A
2.若char a = 128;(char为 8 位有符号型),则a的值为( )
A. 128
B. -128
C. 127
D. -127
【答案】B
3.以下浮点型数据定义错误的是( )
A. double x = 1e3;
B. float y = 3.14;
C. float z = 0.0f;
D. double w = 3.1415L;
【答案】B
4.下列转义字符错误的是( )
A. '\x41'
B. '\101'
C. '\t'
D. '\u0041'
【答案】D
5.无符号整型unsigned int的取值范围是( )
A. -32768~32767
B. 0~65535
C. 0~4294967295
D. -2147483648~2147483647
【答案】C
6.以下变量声明合法的是( )
A. int 1a;
B. float var-name;
C. double _abc;
D. char int;
【答案】C
7.执行printf("%d", 'A');的输出结果是( )
A. A
B. 65
C. 97
D. 错误
【答案】B
8.若float x = 3.999999f;,则(int)x的值为( )
A. 3
B. 4
C. 3.999999
D. 4.0
【答案】A
9.浮点型数据精度丢失的原因是( )
A. 存储时采用补码
B. 小数无法用有限二进制表示
C. 类型转换错误
D. 运算符优先级问题
【答案】B
10.下列代码执行结果是( )
unsigned char a = 255;
a++;
printf("%d", a);
A. 256 B. 0
C. -1 D. 1
【答案】B
11.常量在定义后可以被修改。( )
【答案】×
12.char类型变量既可以存储字符,也可以存储 - 128~127 范围内的整数。( )
【答案】√
13.float类型的有效数字是 15~16 位。( )
【答案】×
14.转义字符\0表示字符串结束符,其 ASCII 码为 0。( )
【答案】√
15. #define PI 3.14中的PI是变量。( )
【答案】×
16.字符'A'和字符串"A"在内存中占用相同字节数。( )
【答案】×
【内容小结】
学科网(北京)股份有限公司
$$