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

}
相关推荐
bohu837 小时前
OpenCV笔记3-图像修复
笔记·opencv·图像修复·亮度增强·图片磨皮
大丈夫立于天地间8 小时前
ISIS基础知识
网络·网络协议·学习·智能路由器·信息与通信
doubt。8 小时前
【BUUCTF】[RCTF2015]EasySQL1
网络·数据库·笔记·mysql·安全·web安全
Chambor_mak9 小时前
stm32单片机个人学习笔记14(USART串口数据包)
stm32·单片机·学习
Zelotz9 小时前
线段树与矩阵
笔记
汇能感知9 小时前
光谱相机在智能冰箱的应用原理与优势
经验分享·笔记·科技
PaLu-LI10 小时前
ORB-SLAM2源码学习:Initializer.cc⑧: Initializer::CheckRT检验三角化结果
c++·人工智能·opencv·学习·ubuntu·计算机视觉
yuanbenshidiaos10 小时前
【大数据】机器学习----------计算机学习理论
大数据·学习·机器学习
汤姆和佩琦10 小时前
2025-1-20-sklearn学习(42) 使用scikit-learn计算 钿车罗帕,相逢处,自有暗尘随马。
人工智能·python·学习·机器学习·scikit-learn·sklearn
Tech智汇站10 小时前
Quick Startup,快捷处理自启程序的工具,加快电脑开机速度!
经验分享·科技·学习·学习方法·改行学it