基础语法
注释
cpp
int main()
{
//这是单行注释
/*
* 多行注释
*/
}
变量
变量声明
格式:type name
cpp
int main()
{
//变量的声明
int num;
//变量使用
num=1;
//声明多个变量
int num1,num2;
//变量的初始化
int num3=1;
}
cpp
int num;
num=10;
常量
cpp
const double PI = 3.14;
基础数据类型
数据类型 | 存储大小 | 范围 |
---|---|---|
char | 1 字节 | -128 到 127 |
signed char | 1 字节 | -128 到 127 |
unsigned char | 1 字节 | 0 到 255 |
short | 2 字节 | -32,768 到 32,767 |
signed short | 2 字节 | -32,768 到 32,767 |
unsigned short | 2 字节 | 0 到 65,535 |
int | 2 或 4 字节 | -32,768 到 32,767 |
signed int | 2 或 4 字节 | -32,768 到 32,767 |
unsigned int | 2 或 4 字节 | 0 到 65,535 |
short int | 2 字节 | -32,768 到 32,767 |
signed short int | 2 字节 | -32,768 到 32,767 |
unsigned short int | 2 字节 | 0 到 65,535 |
long int | 4 字节 | -2,147,483,648 到 2,147,483,647 |
signed long int | 4 字节 | -2,147,483,648 到 2,147,483,647 |
unsigned long int | 4 字节 | 0 到 4,294,967,295 |
float | 4 字节 | |
double | 8 字节 | |
long double | 10 字节 |
整数
cpp
int id;
unsigned只能储存零值和正数。
cpp
unsigned int x;
int y;
浮点数
cpp
float salary;
字符
cpp
char test = 'h';
运算符
类型转换
语法:(type)name
注意:始终建议将较低的值转换为较高的值,以避免数据丢失。
输入
输出
数据类型 | 格式说明符 |
---|---|
int | %d |
char | %c |
float | %f |
double | %lf |
short int | %hd |
unsigned int | %u |
long int | %li |
long long int | %lli |
unsigned long int | %lu |
unsigned long long int | %llu |
signed char | %c |
unsigned char | %c |
long double | %Lf |
整数输出
cpp
int main() {
int num=10;
printf("%d",num);
}
单精度浮点和双精度浮点数输出
cpp
int main() {
float num=1.3;
double num1=1.4;
printf("%f\n",num);
printf("%lf\n",num1);
}
打印字符
cpp
int main() {
char c='1';
printf("%c\n",c);
}
检查变量的大小
格式:sizeof(name)
cpp
int main() {
short b;
int c;
long long e;
printf("%d\n",sizeof(b));
printf("%d\n",sizeof(c));
printf("%d\n",sizeof(e));
}
空类型
void是空类型,一般用于函数的返回类型表示,表示该函数啥都不返回。
例如,如果函数不返回任何内容,则其返回类型应为void。
储存类
复合数据类型
数组
数组的语法 : Type Name[Size];
cpp
int main()
{
//数组的声明
int arr[10];
//数组的初始化
int arr1[10]={1,2};
}
字符串
在C语言编程中,字符串是以null字符\0结束的字符序列。
cpp
//声明字符串
char s[5];
//初始化字符串
char c[] = "abcd";
char c[50] = "abcd";
char c[] = {'a', 'b', 'c', 'd', '\0'};
char c[5] = {'a', 'b', 'c', 'd', '\0'};
指针
指针是用来储存变量地址的特殊变量
声明指针语法:type *name
cpp
int *p
指针赋值变量地址
cpp
int main()
{
int *p;
int num=5;
p=#
printf("%d", *p);
}
流程控制
for
while
break continue
if...else
swtich
goto
函数
序号 C函数方面 语法 1 函数声明 return_type function_name(argument_list); 2 函数调用 function_name(argument_list) 3 函数定义 return_type function_name(argument_list){function body;}
没有返回值
cpp
void hello(){
printf("hello c");
}
结构体
声明结构体
cpp
int main(){
//定义结构体
struct SIMPLE
{
int a;
};
//声明结构体
struct SIMPLE t1{}, t2[20], *t3;
printf("%d",t1.a);
}
typedef 声明结构体
cpp
int main(){
//定义结构体
typedef struct
{
int a;
}SIMPLE;
//声明结构体
SIMPLE t1{}, t2[20], *t3;
printf("%d",t1.a);
}
初始化匿名结构
cpp
int main(){
struct {
int a;
};
}
初始化匿名结构体带默认值
cpp
int main(){
struct {
int a;
}s={1};
}
嵌套结构体
结构体包括其他结构
结构体包括指向自己的指针
cpp
struct NODE
{
char string[100];
struct NODE *next_node;
};
指向结构的指针
cpp
int main(){
//定义结构体
typedef struct
{
int a;
}SIMPLE;
//声明结构体指针
SIMPLE *pt,t;
t.a=1;
pt=&t;
printf("%d",pt->a);
}