C语言基础总结

梳理一下c语言基础知识
一、基础慨念
1、一个C程序由头文件和函数组成。
在这里插入图片描述
2、输入(scanf)输出(printf)函数
scanf,printf函数是由系统定义的标准函数,可在程序中直接调用
在这里插入图片描述
3、标识符
给变量或者函数起的名字就是标识符,标识符可以是字母、数字、下划线_组成的字符串,并且第一个字符必须是字母或下划线。
注意:标识符不能是C语言的关键字,严格区分大小写。
4、基本数据类型
在C语言中数据是有类型的,C语言中,数据类型可分为:基本数据类型,构造数据类型,指针类型,空类型四大类。
在这里插入图片描述

5、变量
在这里插入图片描述
一般在main()里面(包括定义的函数里面)是局部变量
main外面是全局变量。
注意局部变量会屏蔽全局变量少用全局变量可以提高程序效率
6、getchar()函数——获取一个字符,回车也是一个字符,所以可以用来吸收回车
putchar()函数用来输出一个字符。

二、语句
1、条件语句
(1)、if语句
在这里插入图片描述
在这里插入图片描述
(2)、switch语句
在这里插入图片描述
2、循环语句
(1)、for循环在这里插入图片描述
(2)、while循环和do…while
在这里插入图片描述
在这里插入图片描述
3、跳转语句
break;直接跳出当前条件语句或循环语句,能且只能跳出当前的一个语句。
continue;在条件语句中表示什么都不做(替代空语句);在循环语句中表示 直接进入下一轮循环,不执行完当前循环 。
goto;跳转到指定位置(该位置必须有声明)
三、函数
函数是一个功能模块,它把实现某个功能的代码快包含起来,并起一个函数名,供别人使用,什么是函数 如printf函数,system函数。是程序运行当中包装起来的一个步骤。
在这里插入图片描述
函数可以多级调用,函数调用中,传参就是一个赋值的过程!!!实际参数的值给形式参数
形式参数作用域仅限该函数,形式参数也是一个局部变量,有自己的内存空间。

一般函数定义的几种情况:在这里插入图片描述
函数定义和调用(有多个参数无返回值)
在这里插入图片描述

四、数组
1、数组的特征
在这里插入图片描述
2、数组的定义方式
在这里插入图片描述
数组中的中括号[]在定义一个数组的时候,才表示数组的大小,其余如何时候都表示用下标来访问数组
3、数组的获取和输出
在这里插入图片描述
4、计算数组的大小
在这里插入图片描述
5、数组的遍历
在这里插入图片描述
6、数组和函数
在这里插入图片描述
五、指针
1、定义和概念
int* p; 或者int *p = &a; 变量名p,里边存放的是地址编号;int* 是数据类型,表示变量P是存放int类型变量的地址的一个指针变量;
p = &a;给指针变量赋值
*p指以p内容为地址的变量。
指针就是地址,地址就是指针,地址是内存单元的编号。
只有在定义一个指针变量的时候,才是指针的标识符,其它情况,都是一个运算符,此时*代表的是一个运算符,跟±*/类似,该运算符的功能是 取出地址中数据的值(取内容)
2、指针与数组
在这里插入图片描述
3、指针数组与数组指针
在这里插入图片描述在这里插入图片描述
4、函数指针
在这里插入图片描述
5、为什么要使用指针
在这里插入图片描述
6、无类型指针
在这里插入图片描述
7、内存分配和内存泄露问题
动态内存分配—malloc(); realloc();补充分配内存;
在这里插入图片描述
六、字符串
1、字符串的定义方式
在这里插入图片描述
2、字符串的存储方式和如何计算字符串的大小
在这里插入图片描述在这里插入图片描述
从上图我们看到创建的字符串大小为3,而数组的大小和元素个数都是4,原因是什么呢?
因为字符串的存储方式,字符串在内存中除了有效字符外,还会自动在后面补一个'\0';,作为字符串的结束标识。
所以不能用sizeof来计算字符串的大小(有效字符的个数)。要用strlen,它在计算字符串大小的时候,遇到'\0'后,就结束计数。
在这里插入图片描述
3、字符串的常用操作函数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
七、结构体
1、结构体的定义使用和访问
在这里插入图片描述
2、结构体数组和结构体指针数组
在这里插入图片描述
3、结构函数指针
在这里插入图片描述
4、结构体大小计算(对齐方式)
在这里插入图片描述
七、typedef关键字
typedef 作为C语言的关键字,作用是为一种数据类型定义一个新名字 这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)
和普通类型匹配,通过名字来获取一些信息
在这里插入图片描述
和struct来匹配为了代码编写简洁
在这里插入图片描述

八、链表
1、链表的静态创建
在这里插入图片描述
2、链表的遍历
在这里插入图片描述
3、统计链表节点个数和查找
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
4、链表指定节点后方插入新节点
在这里插入图片描述
5、链表指定节点前方插入新节点
在这里插入图片描述
6、链表指定节点的删除
在这里插入图片描述
7、链表的动态创建——头插法
在这里插入图片描述
8、链表的动态创建——尾插法
在这里插入图片描述

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

◣星河◢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值