基础知识
printf函数
"%[标志][宽度][.精度][长度]类型"
printf("%d",100);
printf("%d%d%d",100,200,300);
printf("%5d",100);
printf("%-5d",100);
printf("%05d",100);
printf("%f",2.1);
printf("%.2f",3.1415926);
printf("%c",'h');
printf("%s","hello world");| 格式符 | 含义 |
|---|---|
| s | 字符串 |
| c | 字符 |
| d | 十进制整数 |
| u | 十进制无符号整数 |
| o | 八进制整数 |
| x | 十六进制无符号整数 |
| X | 十六进制无符号整数 |
| f | 浮点数 |
| e | 科学计数法 |
| E | 科学计数法 |
| p | 指针 |
| 标志符 | 含义 |
|---|---|
| - | 左对齐 |
| + | 显示正负号 |
| 0 | 数字前面补0 |
| 空格 | 显示正数时,前面补空格,负数时,前面补- |
| # | 显示八进制时,前缀加0 显示十六进制数时,前缀加0x或0X |
scanf函数
int a;
float b;
char c;
scanf("%d",&a);
scanf("%f",&b);
scanf("%c",&c);| 字符 | 含义 |
|---|---|
| 0x20 | 空格 |
| \t | 制表符 |
| \n | 换行符 |
| \v | 垂直换行符 |
| \f | 换页符 |
| \r | 回车符 |
关键字
C语言中具有特殊含义和固定功能的预定义标识符。 关键字必须小写。
标识符
程序中用来命名变量、函数、数组、结构体等程序实体的自定义名称。
- 只能由字母、数字、下划线组成
- 不能包含除下划线以外的其它特殊字符串
- 不能以数字开头
- 不能是C语言中的关键字
- 严格区分大小写
隐式转换
- 算数转换
- 赋值转换
- 输出转换
显示转换
基本数据类型
- 整型
- 字符型
- 浮点型
- 双精度浮点型
1.标识符
标识符:程序员在程序中给函数、变量等起名字就是标识符
- 只能由字母(az、 AZ)、数字、下划线组成
- 不能包含除下划线以外的其它特殊字符串
- 不能以数字开头
- 不能是C语言中的关键字
- 严格区分大小写
2.关键字
关键字:指一些被C语言赋予了特殊含义的单词
- 全部都是小写
- 在开发工具中会显示特殊颜色
- 不能用作变量名、函数名等
3.数据类型
构造类型:使用基本类型或已构造好的数据类型,进行添加,设计,构造出新的数据类型
指针类型:值为内存地址
空类型:关键字void,对函数的返回和参数限定

4.常量
常量:值在程序运行过程中不可改变的量,分为数值型常量、字符型常量、符号常量
4.1 整型常量
整型常量:直接使用的整型常数,分为长整型、短整型、符号整型和无符号整形
| 整型常量 | 所需类型 |
|---|---|
| 10 | 代表int类型 |
| 10l, 10L | 代表long类型 |
| 10ll, 10LL | 代表long long类型 |
| 10u, 10U | 代表unsigned int类型 |
| 10ul, 10UL | 代表unsigned long类型 |
| 10ull, 10ULL | 代表unsigned long long类型 |
| 八进制:以0开头,包含数字0~7 | |
| 十进制:无前缀,包含数字0~9 | |
| 十六进制:以0x开头,包含数字09和字母af(不区分大小写) |
4.2 浮点型常量
浮点型:由整数部分和小数部分组成,分为单精度浮点数(F结尾),双精度浮点数
科学计数法:十进制小数方法
指数方式:以幂的形式表示, 以字母e或字母E后跟一个10为底的幂数
- 字母e或字母E后面的指数必须为整数
- 字母e或字母E前后必须要有数字
- 字母e或字母E前后不能有空格
plain
SciNum = 123.45 //科学计数法
SciNum = 1.2345e2 //指数方式
FloatNum = 1.2345e2F //单精度
LongDoubleNum =123.45e-1L //长双精度
DoubleNum = 1234.5e2 //双精度后缀大小写通用
4.3 字符型常量
字符型常量分为字符常量、字符串常量
字符常量:单引号内加一个字符
字符串常量:双引号内加多个字符
系统会在字符串结尾加上\0,所以字符串长度会加1

4.4 转义字符

4.5 符号常量
符号常量:用符号名代替固定的常量值
5.变量
5.1 整型变量
整型变量:存储整型数值的变量
| 名称 | 数据类型 | 占用空间 | 取值范围 |
|---|---|---|---|
| 有符号短整型 | short | 2Byte | -32768~32767 |
| 有符号基本整型 | int | 4Byte | -2147483648~2147483647 |
| 有符号长整型 | long | 4Byte | -2147483648~2147483647 |
| 有符号短整型 | unsigned short | 2Byte | 0~65535 |
| 无符号基本整型 | unsigned int | 4Byte | 0~4294967295 |
| 无符号长整型 | unsigned long | 4Byte | 0~4294967295 |
plain
int Num1 = 1; //定义有符号基本整型
unsigned Num2 = 2; //定义无符号基本整型
short Num3 = 3; //定义有符号短整型
unsigned short Num4 = 4; //定义无符号短整型
long Num5 = 5; //定义有符号长整型
unsigned long Num6 = 6; //定义无符号长整型5.2 浮点型变量
浮点型变量:存储浮点型数值的变量
| 名称 | 数据类型 | 占用空间 | 取值范围 |
|---|---|---|---|
| 单精度类型 | float | 4Byte | |
| 双精度类型 | double | 8Byte | |
| 长双精度类型 | long double | 8Byte |
plain
float Num1 = 1.23f;
double Num2 = 1.23;
long double Num3 = 1.23;5.3 字符型变量
字符型变量:将一个字符常量存储到一个字符变量中
plain
char a1='a'
char a2=97;
6.变量的存储类别
6.1 静态存储与动态存储
静态存储:程序运行时为其分配固定的存储空间
动态存储:程序运行时根据需要动态分配空间
6.2 auto变量
auto:动态变量,定义一个局部变量为自动
6.3 staticus变量
static:静态变量
6.4 register变量
register:寄存器存储类变量,把局部变量指定存放在寄存器中,而不是内存中
6.5 extern变量
extern:外部存储变量
plain
//文件1
#include<stdio.h>
int main()
{
extern int i;
printf("%d\n",i);
return 0;
}plain
//文件2
#include<stdio.h>
int i = 100;
7.混合运算
不同类型之间进行混合运算,要先转换为同一类型

plain
#include<stdio.h>
int main()
{
int a = 1;
char b = 'A';
float c = 2.5f;
double result = a+b+c;
printf("%f",result);
return 0;
}
