初识C语言
前言:欢迎大家来看我的博客!这是我的第一篇博客,以此开始记录我的成长,也希望我写的内容 对大家有所帮助,实力有限,若有错误的地方,还请多多指教哦!互三!!!
课程介绍:
C语言设计的初衷是将其作为程序员使用的一种编程工具,是一门通用计算机编程语言,广泛应用于底层开发。
下面开始正式介绍C语言的内容:
1.编译器的选择VS2022
安装与调试
1.1.VS的优缺点:
优点:
- 普遍,易上手,适合初学者
- 功能强大
缺点:
1. 占用内存大
1.2.VS调试快捷键
F6: 生成解决方案
Ctrl+F6: 生成当前项目
F7: 查看代码
Shift+F7: 查看窗体设计器
F5: 启动调试
Ctrl+F5: 开始执行(不调试)
Shift+F5: 停止调试
Ctrl+Shift+F5: 重启调试
F9: 切换断点
Ctrl+F9: 启用/停止断点
Ctrl+Shift+F9: 删除全部断点
F10: 逐过程
Ctrl+F10: 运行到光标处
F11: 逐语句
2.第一个C语言程序
#include<stdio.h>
int main()
{
printf("Hello world!\n");
return 0;
}
看上去是不是挺简单的,快动手试试吧!
3.main函数
- 所有的 C 语言程序都需要包含 main() 函数。
main函数是程序的入口,main函数有且仅有一个(入口只有一个) - 函数体:{}之内的部分,实现的内容
- 返回值:return 0;返回与入口相照应,表示退出程序。
4.库函数和printf
库函数是函数库里的一组函数,可被编译器直接访问使用;
库函数的使用,要包含对应的头文件,否则发生编译错误。
- 例如:
printf() 用于格式化输出到屏幕。printf() 函数在 “stdio.h” 头文件中声明。
stdio.h 是一个头文件 (标准输入输出头文件) , #include 是一个预处理命令,用来引入头文件。
当编译器遇到 printf() 函数时,如果没有找到 stdio.h 头文件,会发生编译错误。
5.关键字
- 关键字不能自己创建
- 关键字是有特殊意义,保留给C语言使用的
- 创建的标识符不能和已有的关键字重复
C语言中的32个关键字:
6.字符和ASCII编码
- 计算机中所有的数据都是以二进制形式存储的
- 给每一个字符编一个二进制序列,这就叫编码
- 如下:
7.数据类型
7.1类型介绍
- 整型
short
int
long
longlong
- 字符型
char
- 浮点型
float
double
long double
- 布尔类型
_bool 表示真假,1表示真,0表示假
-7.2 sizeof求数据类型大小
- sizeof操作符:计算数据类型长度的,单位是字节
`
8.变量
什叫变量?经常变化的量叫做变量,不变的量叫做常量。
- 8.1变量的创建
用类型来创建变量
- 8.2变量的初始化
给变量赋初值叫做初始化
- 8.3变量的分类
变量分为全局变量和局部变量。
变量的种类不同,生命周期和作用域不同。
9.语句
10.数组
含义:数组是相同元素的集合,里面的多个数据,类型是相同的。
- 10.1一维数组的创建和初始化
最基本公式为:type-arr 数组名 [元素个数]={元素};
- type-arr是数组中存放的元素的类型
- []中的常量表达式表示数组的大小
- 元素与元素之间应用 ,隔开
10.2数组的使用
-
数组的下标:数组元素是有下标的,从0开始;n个元素最后一个元素下标为n-1。
-
数组的打印:用for循环遍历数组每个元素
-
数组的输出
当然后续还有二维数组,指针数组等等,敬请期待哦!
11.1函数的概念
函数分为库函数和自定义函数,C语言中的函数就是完成指定任务的一小段代码。
11.2库函数
- 各种编译器的标准库中提供了⼀系列的库函数,这些库函数根据功能的划分,都在不同的头⽂件中进⾏了声明
- 库函数的使用得包含相应的头文件
- 库函数的相关头文件
- 使用举例:
其中,printf函数就是库函数,使用它得包含其相应的头文件stdio.h, 否则会编译错误。
11.3自定义函数
11.3.1 自定义函数的概念
自定义函数是自己创建的实现某项任务的一小段代码
11.3.2 形式
- 形式和库函数类似:
ret_type fun_name(形式参数)
{
}
- ret_type是函数返回类型
- fun_name是函数名
- ()里的是形式参数
- {}里的是函数体
11.3.4 加法函数使用举例
11.4 函数的声明和定义
前提:函数的调用必须满足先声明后使用
- 定义也是一种特殊的声明,因此定义放在调用之前也是可以的。
12.指针
-
12.1指针的概念
指针是地址,内存中分成了一块块的内存单元,每个内存单元大小是1个字节,即8个bite
有了指针,相当于告诉了我你家的地址,我就可以以此去访问你。
因此,指针==地址 -
12.2指针变量
指针变量是用来存放地址的,也默认为存放在指针变量里的都是地址。
12.2.1指针变量的创建
12.2.2指针类型
字符指针,整型指针,数组指针,函数指针等等
指针类型决定了指针变量解引用操作时可访问多大的空间
// int* 的指针解引用访问4个字节;
// char*的指针解引用访问8个字节;
12.2.3指针变量的大小
// 指针变量的大小
// 指针变量需要多大空间取决于存放的是什么,存放的是地址;
// 地址的存放需要多大空间,指针变量的大小就是多大。
// x86环境下,即32位:地址是32个1/0二进制序列,存储起来需要32个bit位,
// 即4个字节,指针变量的大小就是4个字节;
// x64环境下 :地址是64个1/0二进制序列,存储起来需要64个bit位,
// 即8个字节,指针变量的大小就是8个字节。
13.字符和字符串函数
13.1字符串的含义:
-
在 C 语言中,字符串实际上是使用空字符 \0 结尾的一维字符数组。因此,\0 是用于标记字符串的结束。
-
空字符(Null character)又称结束符,缩写 NUL,是一个数值为 0 的控制字符,\0 是转义字符,意思是告诉编译器,这不是字符 0,而是空字符。
-
以下列举了相关的学习任务哈,大家可以先大致了解一下。
14.结构体
14.1 结构体的含义:
C 数组允许定义可存储相同类型数据项的变量,结构是 C 编程中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项。
看到这里,是不是感觉跟函数很像呢?
类比两者学习,也许会有奇效哦。
14.2 结构体的初始化
14.3 结构体成员访问
为了访问结构的成员,我们使用成员访问运算符(.)
举例如下:
如何访问:变量.成员 变量->成员
总结
-
本篇文章适合零基础的小白食用哦!
-
免死金牌:鉴于本人也是一名刚刚启程的菜鸟,对于C语言理解也是存在一定问题,
对于文章有瑕疵的地方还望多多指教!(抱拳) -
处女作制作不易,还请各位大佬一键三连,就不用投币啦! (互三!!!)