【C语言】常用数据类型:(64位为例)
整数类型 | 字符类型 | char | 1 byte |
整数类型 | 无符号字符类型 | unsigned char | 1 byte |
整数类型 | 短整数 | short | 2 bytes |
整数类型 | 无符号短整数 | unsigned short | 2 bytes |
整数类型 | 整数 | int | 4 bytes |
整数类型 | 无符号整数 | unsigned int | 4 bytes |
整数类型 | 长整数 | long | 8 bytes |
整数类型 | 无符号长整数 | unsigned long | 8 bytes |
浮点类型 | 单精度浮点数 | float | 4 bytes |
浮点类型 | 双精度浮点数 | double | 8 bytes |
void类型 | 空类型 | void | |
数组类型 | |||
枚举类型 | |||
指针类型 |
【C语言】常用占位符:
%hd | short |
%d | int |
%ld | long |
%f | float |
%lf | double |
%c | char 单个字符 |
%s | 字符串 |
%p | 地址 |
%u | 无符号整型 |
%x | 十六进制整型 |
%o | 八进制整型 |
【C语言】部分转义字符:
\b | 退格键 |
\f | 换页符 |
\n | 换行符 |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
【C语言】定义常量:(常量一般用大写)
#define:使用预处理器,简单的文本替换,不进行类型检查,没有作用域限制。
const:定义类型,分配内存,只在定义所在的作用域有效,在符号表有条目,有助于调试和可读性。
// 预处理器定义常量
#define 常量名 常量值
例如:
#include <stdio.h>
#define NUMBER 10 // 定义常量
int main(void)
{
printf("Number is %d", NUMBER);
}
// 声明指定类型的常量,值不能被修改
const 类型 常量名 = 常量值;
例如:
#include <stdio.h>
int main(void)
{
const int NUMBER = 10; // 定义常量
printf("Number is %d", NUMBER);
}
【C语言】定义变量:
// 定义变量:
// 类型 变量名;
int n; // 定义整数变量
float x; // 定义浮点数变量
char s; // 定义字符变量
int *point; // 定义指针变量
// 定义多个变量:
// 类型 变量名1, 变量名2;
int m, n;
// 初始化变量:
// 类型 变量名 = 初始值;
// 类型 变量名1 = 初始值1, 变量名2 = 初始值2;
char s = "A";
int m = 3, n = 2;
// 后续变量初始化:
// 类型 变量名;
// 变量名 = 初始值;
int m;
m = 3;
变量 只声明,不定义:extern
不建立存储空间,变量可在其它文件定义。
// 变量 只声明,不定义
extern int x;
【C语言】定义函数:
return_type function_name( parameter list )
{
body of the function
}
// 例如:main:函数名,void:没有参数,int:返回整型数值
int main(void)
{
printf("hello"); // 使用printf需有头文件。#include <stdio.h>
return 0;
}
调用函数,需提前函数声明。若不提前声明,则warning: implicit declaration of function。
#include <stdio.h>
// 函数声明。此函数在主函数后面定义,若不提前声明,则warning: implicit declaration of function
int num_total(int m, int n);
int main(void)
{
int x = 3, y = 2;
int total = num_total(x,y); // 调用函数num_total
printf("x + y = %d", total);
return 0;
}
// 定义函数
int num_total(int m, int n)
{
int total = m + n;
return total;
}
补充:运算符
1、算数运算符:
+(加),-(减),*(乘),/(除),%(除法取余数),++(自增,整数值加1),--(自减,整数值减1)
2、关系运算符:
==(等于),!=(不相等),>(大于),>=(大于等于),<(小于),<=(小于等于)
3、逻辑运算符:
&&(逻辑与,都非零才为真),||(逻辑或,一个非零即为真),!(逻辑非)
4、位运算符:
&(按位与,都为1才为1),|(按位或,一个为1即为1),^(按位异或,相同才为0),~(取反,每一位的0变1、1变0),<<(二进制左移),>>(二进制右移)
5、赋值运算符:
=(右边赋值给左边),+=(加并赋值),-=(减并赋值),*=(乘并赋值),/=(除并赋值),%=(除法取余并赋值),<<=(二进制左移并赋值),>>=(二进制右移并赋值),&=(按位与并赋值),|=(按位或并赋值),^=(按位异或并赋值)
6、其它运算符
sizeof(变量)(返回变量的大小),&变量(返回变量的地址),*变量(指向一个变量),
条件表达式 ? 为真执行语句 : 为假执行语句(三元运算)