**C语言程序的基本结构**
```c
#include <stdio.h> // #include 预处理指令
void main()
{
printf(“Hello World!\n”);
}
```
- 预处理器指令非必须,若有,放在程序开始处
- 以.h结尾的文件是头文件
- stadio.h文件包含有关输入输出语句的函数
- main()函数是C语言程序处理的起点
- main()函数可以返回一个值,也可以不返回。没有返回值时,前面关键字时viod
- printf打印命令,在屏幕上打印“”内的内容
- \n 换行
**注释**
- 单行注释 //
多行注释 /* */
**C语言的编译和执行**
- 编译:形成目标代码/文件。目标代码是编译器的输出结果,常见扩展名为”.o” 或”.obj”
- 连接:将目标代码跟C函数库相连接,并将源程序所用的库代码与目标代码合并形成最终可执行的二进制机器代码(可执行程序)
- 执行:在特定的机器环境下运行C应用程序
**C语言变量命名规则**
- 只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线;
- 变量名不能包含除 _ 以外的任何特殊字符,如:%、 # 、逗号、空格等;
- 不可以使用保留字。
**C语言基本数据类型**
- 数值类型, 包括整形(int、short、long)、浮点型(float、double)。
- 字符类型, 包括char。
- 其他类型, 包括构造类型、指针类型、空类型等
**C语言常用数据类型**
数据类型 类型说明符 位数 取值范围
数据类型 |
类型说明符 |
位数 |
取值范围 |
整型 |
int |
32 |
-2147483648 ~ +2147483647 |
短整型 |
short |
16 |
-32767 ~ +32768 |
长整型 |
long int |
32 |
-2147483648 ~ +2147483647 |
单精度浮点型 |
float |
32 |
-3.4E-38 ~ +3.4E+38 |
双精度浮点型 |
double |
64 |
1.7E-308 ~ 1.7E308 |
字符型 |
char |
8 |
-128 ~ +127 |
**声明和使用变量**
- 只声明变量:数据类型 变量名;
- 声明时初始化:数据类型 变量名 = 值;
- 声明变量后初始化: 数据类型 变量名; 变量名 = 值;
= 赋值 即 后面的数值赋给前面的变量
**常用ASCLL码**
- 0 : 空字符 \0
- 32 : 空格
- 65~69:A~Z
- 97~122:a~z
**printf函数和转换字符**
- %d:有符号十进制整数
- %c:单个字符
- %s:字符串
- %f:浮点数,默认精确到6位小数,可以用%.xf精确到到小数点后x位
- %%:打印一个百分号
**转义序列**
- \a 蜂鸣警报
- \n 换行 将光标移到下一行的开始处
- \t 水平制表 将光标移到下一个水平制表位置
**scanf函数**
scanf可以读取不同格式的数据
用法:
```c
int num;
printf("请输入数量:");
scanf("%d", &num); //&转义符号
```
**转换字符串和含义**
- %d:把输入解释成有符号整型
- %c:把输入解释成字符型
- %s:把输入解释成字符串
- %f:把输入解释成单精度浮点数
- %lf:把输入解释成双精度浮点数
**算数运算符**
- 一元运算符:++、--
- 二元运算符:+、-、*、/、%
**前置++和后置++**
- i++是先取i值做计算,运算完最后再+1;
- ++i是先+1,再取i值做计算。
**自动类型转换**
把表示范围小的类型的值转换到表示范围大的类型的值
double result = 5 / 2; // 5 和 2是整形 先做除法,结果为2
在2赋值给double类型的result时,将自动转换为double类型2.0
**强制类型转换**
(类型名)变量或数值