第2篇 《C语言基本语法:变量、数据类型与运算符》

一、前言:为什么变量、数据类型与运算符是基础?
学习目标
- 理解变量的本质:用于存储数据的容器
- 理解数据类型的作用:定义变量的存储方式和取值范围
- 理解运算符的作用:对数据进行运算和操作
- 掌握本章学习重点:变量的定义与使用、数据类型的分类、运算符的使用、类型转换
- 学会使用变量、数据类型与运算符编写简单的程序
重点提示
💡 变量、数据类型与运算符是C语言程序设计的基础!掌握这些知识可以帮助你更好地理解和编写C语言程序。
二、模块1:变量的定义与使用——存储数据的容器
2.1 学习目标
- 理解变量的本质:用于存储数据的容器
- 掌握变量的定义方法:使用数据类型声明变量
- 掌握变量的初始化方法:在定义变量时或之后赋值
- 掌握变量的使用方法:读取和修改变量的值
- 避开变量使用的3大常见坑
2.2 变量的定义方法
语法:
数据类型 变量名;
代码示例1:定义变量
#include <stdio.h>
int main() {
int age; // 定义一个int类型的变量age
float height; // 定义一个float类型的变量height
char gender; // 定义一个char类型的变量gender
age = 25; // 给变量age赋值
height = 1.75; // 给变量height赋值
gender = 'M'; // 给变量gender赋值
printf("年龄:%d\n", age);
printf("身高:%f\n", height);
printf("性别:%c\n", gender);
return 0;
}
三、模块2:数据类型的分类——定义变量的存储方式
3.1 学习目标
- 理解数据类型的作用:定义变量的存储方式和取值范围
- 掌握基本数据类型:整数类型、浮点类型、字符类型
- 掌握派生数据类型:数组、指针、结构体、联合体
- 掌握空类型:void类型
- 避开数据类型使用的3大常见坑
3.2 基本数据类型
3.2.1 整数类型
| 数据类型 | 存储大小(字节) | 取值范围 |
|---|---|---|
| char | 1 | -128 到 127 |
| short | 2 | -32768 到 32767 |
| int | 4 | -2147483648 到 2147483647 |
| long | 4或8 | -2^31 到 2^31-1 或 -2^63 到 2^63-1 |
| long long | 8 | -2^63 到 2^63-1 |
代码示例2:使用整数类型
#include <stdio.h>
int main() {
int num1 = 10;
long num2 = 1000000;
long long num3 = 10000000000LL;
printf("num1的值:%d\n", num1);
printf("num2的值:%ld\n", num2);
printf("num3的值:%lld\n", num3);
return 0;
}
3.2.2 浮点类型
| 数据类型 | 存储大小(字节) | 取值范围 |
|---|---|---|
| float | 4 | 1.2e-38 到 3.4e38 |
| double | 8 | 2.3e-308 到 1.7e308 |
| long double | 12或16 | 3.4e-4932 到 1.1e4932 |
代码示例3:使用浮点类型
#include <stdio.h>
int main() {
float num1 = 3.14f;
double num2 = 3.1415926535;
long double num3 = 3.14159265358979323846L;
printf("num1的值:%f\n", num1);
printf("num2的值:%lf\n", num2);
printf("num3的值:%Lf\n", num3);
return 0;
}
3.2.3 字符类型
| 数据类型 | 存储大小(字节) | 取值范围 |
|---|---|---|
| char | 1 | -128 到 127 |
代码示例4:使用字符类型
#include <stdio.h>
int main() {
char ch1 = 'A';
char ch2 = 65; // ASCII码值为65的字符是'A'
printf("ch1的值:%c\n", ch1);
printf("ch2的值:%c\n", ch2);
return 0;
}
四、模块3:运算符的使用——对数据进行运算和操作
4.1 学习目标
- 掌握算术运算符:对数据进行算术运算
- 掌握关系运算符:比较两个数据的大小关系
- 掌握逻辑运算符:对逻辑表达式进行运算
- 掌握赋值运算符:给变量赋值
- 掌握位运算符:对二进制位进行操作
- 掌握条件运算符:实现简单的条件判断
- 掌握sizeof运算符:获取数据类型或变量的存储大小
- 避开运算符使用的3大常见坑
4.2 算术运算符
| 运算符 | 功能 | 示例 |
|---|---|---|
| + | 加法 | 10 + 5 = 15 |
| - | 减法 | 10 - 5 = 5 |
| * | 乘法 | 10 * 5 = 50 |
| / | 除法 | 10 / 5 = 2 |
| % | 取模 | 10 % 3 = 1 |
| ++ | 自增 | int a = 10; a++; 结果为11 |
| – | 自减 | int a = 10; a–; 结果为9 |
代码示例5:使用算术运算符
#include <stdio.h>
int main() {
int a = 10;
int b = 3;
printf("a + b = %d\n", a + b);
printf("a - b = %d\n", a - b);
printf("a * b = %d\n", a * b);
printf("a / b = %d\n", a / b);
printf("a %% b = %d\n", a % b);
printf("a++ = %d\n", a++);
printf("a = %d\n", a);
printf("++a = %d\n", ++a);
printf("a-- = %d\n", a--);
printf("a = %d\n", a);
printf("--a = %d\n", --a);
return 0;
}
五、模块4:类型转换——不同数据类型之间的转换
5.1 学习目标
- 理解类型转换的本质:将一种数据类型转换为另一种数据类型
- 掌握隐式类型转换:编译器自动进行的类型转换
- 掌握显式类型转换:程序员手动进行的类型转换
- 避开类型转换使用的3大常见坑
5.2 隐式类型转换
隐式类型转换是编译器自动进行的类型转换,通常发生在不同数据类型的变量进行运算时。
代码示例6:隐式类型转换
#include <stdio.h>
int main() {
int a = 10;
float b = 3.14f;
float c = a + b;
printf("c的值:%f\n", c);
return 0;
}
5.3 显式类型转换
显式类型转换是程序员手动进行的类型转换,使用强制类型转换符。
语法:
(目标数据类型) 表达式;
代码示例7:显式类型转换
#include <stdio.h>
int main() {
int a = 10;
int b = 3;
float c = (float)a / b;
printf("c的值:%f\n", c);
return 0;
}
六、模块5:实战案例分析——使用变量、数据类型与运算符解决实际问题
6.1 学习目标
- 掌握使用变量、数据类型与运算符计算圆的面积:使用浮点类型和算术运算符
- 掌握使用变量、数据类型与运算符判断成绩等级:使用整数类型和关系运算符
- 学会使用变量、数据类型与运算符解决实际问题
- 避开实战案例使用的3大常见坑
6.2 使用变量、数据类型与运算符计算圆的面积
代码示例8:计算圆的面积
#include <stdio.h>
#define PI 3.1415926535
int main() {
float radius;
float area;
printf("请输入圆的半径:");
scanf("%f", &radius);
area = PI * radius * radius;
printf("圆的面积:%f\n", area);
return 0;
}
七、本章总结与课后练习
7.1 总结
✅ 变量的定义与使用:用于存储数据的容器,使用数据类型声明变量
✅ 数据类型的分类:基本数据类型(整数类型、浮点类型、字符类型)、派生数据类型(数组、指针、结构体、联合体)、空类型(void类型)
✅ 运算符的使用:算术运算符、关系运算符、逻辑运算符、赋值运算符、位运算符、条件运算符、sizeof运算符
✅ 类型转换:隐式类型转换(编译器自动进行)和显式类型转换(程序员手动进行)
✅ 实战案例分析:使用变量、数据类型与运算符计算圆的面积、判断成绩等级
7.2 课后练习
- 编写程序:使用变量、数据类型与运算符计算矩形的面积
- 编写程序:使用变量、数据类型与运算符计算三角形的面积
- 编写程序:使用变量、数据类型与运算符计算长方体的体积
- 编写程序:使用变量、数据类型与运算符判断一个数是否是偶数
- 编写程序:使用变量、数据类型与运算符计算两个数的最大值和最小值
转载自CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/COLLINSXU/article/details/157132449



