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

}
相关推荐
。TAT。1 分钟前
C++ - 多态
开发语言·c++·学习·1024程序员节
武当豆豆18 分钟前
C++编程学习(第42天)
开发语言·c++·学习
凉虾皮1 小时前
2024包河初中组
学习·算法·1024程序员节
kkkkk0211062 小时前
黑马微服务保险(一)
笔记·微服务·架构
hour_go2 小时前
【知识图谱】图神经网络(GNN)核心概念详解:从消息传递到实战应用
笔记·深度学习·神经网络·1024程序员节
摇滚侠2 小时前
全面掌握PostgreSQL关系型数据库,设置远程连接,笔记05,笔记06
java·数据库·笔记·postgresql
mpHH2 小时前
postgresql plancache --doing
数据库·学习·postgresql·1024程序员节
Dream_言十3 小时前
光通信|高效动态的自由空间-光纤CVB通信
学习·论文笔记·1024程序员节
蒙奇D索大3 小时前
【数据结构】数据结构核心考点:AVL树删除操作详解(附平衡旋转实例)
数据结构·笔记·考研·学习方法·改行学it·1024程序员节
开心-开心急了3 小时前
Flask入门教程——李辉 第5章: 数据库 关键知识梳理
笔记·后端·python·flask·1024程序员节