符号
标识符
- 不能以数字开头
- 不能有特殊符号(包括=-*/)
运算符以及特殊符号
符号 | 作用 |
---|---|
+加 、 -减、 *乘、 /除、%取余 | 算数运算 |
>大于、 >=大于等于、 ==等于、 <小于、 <=小于等于、 !=不等于 | 关系运算符 |
&&逻辑与、逻辑或、!逻辑非 | 逻辑运算 |
= | 将等号右边的数据赋值给等号左边 |
++、 – | 自增一和自减一运算符 |
(表达式一)?(表达式二):(表达式三) | 如果表达式1的值为真,则以表达式2的值作为整个条件表达式的值,否则以表达式3的值作为 |
(数据类型名)变量 | eg:(int)x 将x强制转换为int型 |
&、* | 取地址运算符和取值运算符 |
-> | 结构体指针引用成员运算符 |
. | 结构体引用成员运算符 |
<<x 左移x位、 >>x 右移x位 | 位运算符 |
, | 逗号分隔符,分割不同变量 |
; | 分号分隔符,分割不同语句 |
() | 用于函数调用和函数参数 |
[] | 用于表示数组下标 |
{} | 表示包含多个可执行语句的代码块 |
# | 编译器使用称为宏处理器的预处理器在实际编译开始之前转换您的程序 |
// | 单行注释 |
/* */ | 多行注释 |
% | d 十进制输出带符号整数 o 八进制无符号整数 x 十六进制无符号整数 u 十进制输出无符号整数 f 小数输出单、双精度实数 e 指数输出单、双精度实数 g 以%f%e中较短的输出宽度输出单、双精度实数 c 输出单个字符 s 输出字符串 |
\ | \n 回车换行 \t 横向跳到下一制表位置 \v 竖向跳格 \b 退格 \r 回车 \f 走纸换页 \ 反斜线符”\” \’ 单引号符 \a 鸣铃 \ddd 1~3位八进制数所代表的字符 \xhh 1~2位十六进制数所代表的字符 |
关键字
- 变量定义方式 : 储存类型 数据类型 标识符;
- 函数定义方式 :
- 储存类型 返回值类型 标识符(数据类型 参数1,数据类型 参数2,…);
储存类型
关键字 | 作用 |
---|---|
auto | 自动类型,自动创建储存大小及回收 |
register | 寄存器类型,储存在计算机寄存器位置 |
extern | 外部类型,储存在外部文件的变量或函数(别的.c文件) |
static | 静态类型,不可被其他文件索引变量或函数,作用在不同作用域的变量或函数效果不同,可以改变其作用域或者生存周期 |
基本数据类型
- (signed)表示其有符号(±),默认为有符号型
- 常量后缀 L或l 长整型 U或u 无符号数 F或f 浮点数
构造数据类型
类型 | 用法 |
---|---|
enum 枚举类型 | enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun };默认起始值为0,后续变量值自动增1 |
struct 类型 | struct Student{ char s_id[8]; char s_name[8]; char s_sex[4]; int s_age;}; |
union 共同体类型 | struct{int num; char name[10]; char sex; char job; union{ int banji; char position[10]; }category; }person[2]; //用于分类 成员共用同一存储空间 |
特殊关键字
- typedef 取别名 可简化代码 typedef unsigned int uint;则往后使用uint即可表示unsigned int类型
- goto无条件跳转指令 会降低代码的可阅读性不建议使用
指针数据类型
- 指向地址数据类型 * 标识符;
数组
- 定义:数组元素类型 标识符 [][N];
- 赋值:int a[][3]={1,2,3, 1,2,3, 1,2,3}
空类型
- void 表示可以是任意类型
逻辑结构
if条件结构
- if (如果)
- 写法:
if( 表达式){ //成立对应表达式值为1
//是 1
}
else{
//否 0
}
for while循环结构
- for 常用于确定次数循环
- while 常用于未知次数循环
- 写法
int i;
for(i = 0;i<10;i++){
//表示i从0每次循环自增1直到i=9,自增发生在程序块结束后
//是
}
//否
while(表达式){//当表达式逻辑值不为0时始终执行内部程序块
//是
}
//否
switch选择结构
- 关键字 break 跳出当前循环
- 关键字 continue 跳出本次循环
- 写法
int x;
switch(x){
case 1: 程序段1; break;
case 2: 程序段2; break;
case 13 程序段3; break;
default:程序段4;break;
}
函数
- 函数可以理解为一个充电器,只需要连接好输出输出就能够开始充电
- 写法
**(储存类型)返回值类型 标识符(数据类型 参数1,数据类型 参数2,…){
//程序块
}**
eg:
void Func(int i){
}
void main(){
}