C语言学习笔记

基础语法

注释

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);

}
相关推荐
CSDN_PBB4 小时前
[STM32 - 野火] - - - 固件库学习笔记 - - - 十五.设置FLASH的读写保护及解除
笔记·stm32·学习
鸡啄米的时光机7 小时前
vscode的一些实用操作
vscode·学习
Kai HVZ7 小时前
《深度学习》——调整学习率和保存使用最优模型
人工智能·深度学习·学习
守护者1708 小时前
JAVA学习-练习试用Java实现“使用Apache Ignite对大数据进行内存计算和快速筛查”
java·学习
夜流冰8 小时前
编程参考 - C语言可变参数
笔记
格雷亚赛克斯9 小时前
Qt笔记31-69
数据库·笔记·qt
Long_poem9 小时前
【自学笔记】版本控制与持续集成基础知识点总览-持续更新
笔记·ci/cd
Stream٩( 'ω' )و10 小时前
109~133笔记
笔记
weixin_5025398510 小时前
rust学习笔记2-rust的包管理工具Cargo使用
笔记·学习·rust
孤独得猿11 小时前
排序算法复习——包括插入排序、希尔排序、冒泡排序、快排(包括霍尔法、挖坑法、快慢指针法)、堆排、选择排序、归并排序等 (代码采用c/c++混编)
c语言·数据结构·c++·笔记·算法·排序算法