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

}
相关推荐
林深现海1 小时前
【刘二大人】PyTorch深度学习实践笔记 —— 第一集:深度学习全景概述(超详细版)
pytorch·笔记·深度学习
经年未远2 小时前
vue3中实现耳机和扬声器切换方案
javascript·学习·vue
Hill_HUIL2 小时前
学习日志22-静态路由
网络·学习
莱茶荼菜3 小时前
yolo26 阅读笔记
人工智能·笔记·深度学习·ai·yolo26
詩不诉卿3 小时前
zephyr学习之自定义外部module记录
学习
浮游本尊3 小时前
React 18.x 学习计划 - 第十三天:部署与DevOps实践
学习·react.js·状态模式
wdfk_prog4 小时前
[Linux]学习笔记系列 -- [drivers][dma]dmapool
linux·笔记·学习
电饭叔4 小时前
Tkinter Button 括号内的核心参数详解
python·学习
玄〤4 小时前
Java 大数据量输入输出优化方案详解:从 Scanner 到手写快读(含漫画解析)
java·开发语言·笔记·算法
闵帆5 小时前
反演学习器面临的鸿沟
人工智能·学习·机器学习