![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 79
黎丶辰
这个作者很懒,什么都没留下…
展开
-
C语言基础篇及进阶
B站鹏哥C语言学习笔记。原创 2022-02-22 17:12:11 · 3165 阅读 · 0 评论 -
01 C学习笔记(初识、概述)
本文章是在复习时所写,有的知识可能博主没有写出来是正常的现象。原创 2021-12-26 00:29:18 · 377 阅读 · 0 评论 -
02.1 C语言分支和循环
C语言是一门结构化的程序设计语言1. 顺序结构2. 选择结构3. 循环结构这三种结构就是生活中存在的三种结构。顺序结构就是一句一句的向下执行选择结构 --> 分支语句ifswitch循环结构 --> 循环语句whiledo whilefor分支语句if// 种类一if (条件){ 语句;}// 种类二if (条件){ 语句;}else{ 语句;}// 种类三if (条件) 语句;else if(条件)原创 2021-12-27 02:11:41 · 356 阅读 · 0 评论 -
02.2 C语言分支循环常见编程题
找大小三数按照大小排序int main(){ int a; int b; int c; scanf("%d %d %d",&a,&b,&c); if (a<b){ int temp = a; a = b; b = temp; } if (a<c){ int temp = a; a = c; c = temp;原创 2021-12-27 02:12:15 · 463 阅读 · 0 评论 -
03 C语言函数
C语言 函 数函数是什么库函数函数的参数函数的调用函数的嵌套调用和链式调用函数的声明和定义函数递归函数是什么具有某种功能的代码块一般有返回值,提供对过程的封装和细节的隐藏。分类库函数自定义函数库函数www.cplusplus.comhttp://en.cppreference.com频繁使用的功能就被写成了库函数C语言常见的库函数IO函数字符串操作函数内存操作函数时间/日期函数数学函数其他库函数**注:**使用库函数之前需要#incl原创 2021-12-29 18:00:58 · 295 阅读 · 0 评论 -
04.1 C语言数组
数组一维数组的创建和初始化一维数组的使用一维数组在内存中的存储二维数组的创建和初始化二维数组的使用二维数组在内存中的存储数组作为函数参数一维数组的创建和初始化数组的创建数组是一组相同类型的集合。创建方式数组中元素的种类 数组名[数组的大小]={初始化};int arr[12];数组可以不初始化。数组的大小必须是一个常量。//正确的创建方式int arr[10]={0};char arr2[5];//错误的创建方式int n = 4;int arr3[n];//原创 2021-12-29 00:20:31 · 343 阅读 · 0 评论 -
04.2 C语言数组实例-三子棋
三子棋这个项目是B站鹏哥C语言的课程中。数组部分的实战代码。博主只是跟着学跟着写的。整体其实并不是很复杂,将最复杂的game模块进行了独立编写,所以出现了game.c和game.h。刚入手时需要注意的是一定不要想这个项目有多复杂。编写步骤理思路(整体流程)项目进入需要的界面。+ 功能选择。 将这些写完再考虑下一步。功能选择: 进入游戏 || 退出游戏 || 输入错误。游戏准备 (将以下出现的小模块都函数来写。)(1) 需要棋盘,+ 初始化棋盘。 -->二维数组原创 2021-12-30 03:00:53 · 2268 阅读 · 0 评论 -
4.2 数组习题
第一题创建一个整形数组,完成对数组的操作1.实现函数Init()初始化组为全02.实现 print()打印数组的每个元素3.实现reverse()函数完成数组元素的逆置//初始化void Init(int arr[], int sz) { for (int i = 0; i < sz; ++i) { arr[i] = 0; }}//打印void Print(int arr[], int sz) { for (int i = 0; i <原创 2022-01-04 01:02:10 · 614 阅读 · 0 评论 -
05 C语言扫雷
C语言实现扫雷这是一个经典的项目思路及步骤基本流程游戏进入界面–>进入选项–>进入游戏游戏内容及准备游戏使用棋盘为9*9。存有雷的棋盘(有雷是1) >>> 数组11*11(加一圈好计算)展示周围雷数的棋盘 (因为有可能出现1所以需要新的)>>> 数组11*11(这个是为了和存有雷的棋盘相对应)初始化棋盘void InitBoard(char board[ROWS][COLS],int rows,int cols,char f原创 2021-12-31 01:33:09 · 1531 阅读 · 0 评论 -
06 C语言操作符
操作符和表达式操作符分类:算数操作符移位操作符位操作符赋值操作符单目操作符关系操作符逻辑操作符条件操作符逗号表达式下表引用、函数调用的结构成员算数操作符+ - * / %除了%都可以用于整数和浮点数之间的运算除法操作符"/":如果两个操作数都是整数,执行整数除法。只要其中有浮点数执行运算那整个表达式就是浮点数的除法。%的两个操作数必须是整数。移位操作符<< 左移位 >> 右移位 左移位 左边抛弃右边补0右移位算术右移原创 2022-01-01 01:11:32 · 410 阅读 · 0 评论 -
07 C语言指针
C语言指针指针是什么指针和指针类型野指针指针运算指针和数组二级指针指针数组指针是什么?指针(Pointer)是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。换句话说就是可以通过指针找到以它为地址的内存单元。理解:内存图解。指针是个变量,存放内存单元的地址(编号)。int main(){ int a = 10;//在内存中开辟空间存储 int* p = &a;//先对变量a取出它的地址,可以使用&操作。 //将a的地址原创 2022-01-03 23:45:21 · 421 阅读 · 0 评论 -
06.2 操作符、函数习题
第一题以下代码的输出结果int main() { int arr[] = {1, 2, 3, 4, 5}; short *p = (short *) arr; for (int i = 0; i < 4; i++) { *(p + i) = 0; } for (int i = 0; i < 5; i++) { printf("%d ", arr[i]); } return 0;}解析:这里的重难点原创 2022-01-04 18:39:18 · 717 阅读 · 0 评论 -
08 C语言结构体
C语言初识结构体结构体类型的声明结构体初始化结构体成员访问结构体传参结构体的声明结构结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。结构体的声明struct 结构体标签{ 结构体成员列表;}结构列表;注:定义结构体实际上就是在声明,所以最后一定要有分号举例// struct 结构体关键字 Stu- 结构体标签 struct Stu -结构体类型struct people{ //成员变量 char name[20]原创 2022-01-06 10:46:55 · 289 阅读 · 0 评论 -
00.1 strcpy的实现
自己实现strcpy、strlenstrcpy的实现思路:通过指针访问地址然后将要copy的文本逐一复制到目的地。void my_strcpy(char* dest, char* src){ while (*src !='\0'){ *dest = *src; src++; dest++; } *dest = *src;}//自己实现strcpyint main(){ char arr1[]="$$$$$$$$$原创 2022-01-06 23:22:43 · 584 阅读 · 0 评论 -
11 C语言进阶数据的存储
数据的存储深度解析数据在内存中的存储。数据类型的介绍C语言的类型分为两类内置类型char int long (long long) float double自定义类型(构造类型)1. 内置类型基本的内置类型:char //字符数据类型short //短整型int //整型long //长整形long long //更长的整型float //单精度浮点数double //双精度浮点数类型的意义:使用的时候开辟空间的大小。(大小一定意义上原创 2022-01-08 00:55:07 · 612 阅读 · 0 评论 -
12 C语言进阶指针详解
指针的进阶字符指针数组指针指针数组数组传参和指针传参函数指针函数指针数组指向函数指针数组的指针回调函数指针和数组面试题解析声明:该文是学习C语言进阶时的笔记。学习内容:B站鹏哥C语言,p34-p51部分。文中有任何不懂的地方可以观看视频。指针的基本概念指针就是一个变量用来存放地址,地址是内存空间的唯一标识。指针的大小是固定的4或8字节(32位或64位平台上)。指针是有类型一说的,指针类型决定了对地址访问的步长,也就是指针解引用操作时候的权限。指针的运算。字符指针原创 2022-01-12 20:47:35 · 667 阅读 · 0 评论 -
12 C语言进阶_ 阶段习题详解
阶段习题详解字符串逆序写一个函数,可以逆序一个字符串的内容。//逆序函数#include <string.h>#include <assert.h>void reverse(char *str) { /*通过做指针和右指针互换。*/ assert(str); int len = strlen(str); char *left = str; //左指针是传进来的首元素的地址 char *right = str + len - 1;/原创 2022-01-15 23:55:12 · 603 阅读 · 0 评论 -
13 C语言进阶字符串函数内存函数
字符函数和字符串函数函数部分的解析来源于( C++资源网络)求字符串长度strlen长度不受限制的字符串函数strcpystrcatstrcmp长度受限制的字符串函数介绍strncpystrncatstrncmp字符串查找strstrstrtok错误信息报告strerror字符操作内存函数操作memcpymemmovememsetmemcmpC语言中的字符串问题写代码时对字符和字符串的处理很频繁,但是C语言中本身没有字符串类型,字符串通常存储在常量字符串中原创 2022-01-25 17:18:46 · 742 阅读 · 0 评论 -
14 C语言进阶自定义类型详解
自定义类型:结构体,枚举,联合大纲结构体结构体类型的声明结构的自引用结构体变量的定义和初始化结构体内存对齐结构体传参结构体实现位段(位段的填充、可移植性)枚举枚举的定义枚举的优点枚举的使用联合联合类型的定义联合的特点联合大小的计算讲在前面 我们学过的char、short、int、long、float、double是叫C语言中的内置类型是C语言自己的函数类型;然而还有一些复杂对象我们无法描述,比如人,书籍等事物。这时我们就出现了结构体、枚举原创 2022-02-09 22:14:06 · 402 阅读 · 0 评论 -
实践 C语言进阶通讯录设计
通讯录的实现文件目录需求分析1. 存放1000个好友的信息 信息内容包括:姓名、电话、性别、住址、年龄2. 增加好友信息3. 删除指定好友的信息4. 查找好友信息5. 修改好友信息6. 打印好友信息7. 排序流程控制//枚举类型//作用:增加代码的可读性enum Option{ EXIT,// 0 ADD,//1 DEL,//2 SEARCH,//3 MODIFY,//4 - 改 SORT,//5 PRINT//6}原创 2022-02-13 23:35:34 · 5062 阅读 · 0 评论 -
15 C语言进阶动态内存管理
动态内存管理动态内存分配的意义动态内存函数介绍mallocfreecallocrealloc常见的动态内存错误几个经典的笔试题柔性数组动态内存分配的意义我们已经指到的内存开辟的方式://开辟四个字节的空间int a = 5;//开辟连续的一个字节的十个空间char arr[10] = {0};但是这两种方式开辟的空间有两个特点:空间开辟的大小是固定的数组在申明的时候,必须指定数组的长度,它需要的内存在编译时进行分配。但是对空间的需求,原创 2022-02-15 13:34:17 · 809 阅读 · 0 评论 -
16 C语言进阶文件操作
C语言文件操作什么是文件文件名文件类型文件缓冲区文件指针文件的打开和关闭文件的顺序读写文件的随机读写文件结束的判定什么是文件磁盘上的文件是文件。在程序设计的过程当中,我们一般谈的文件有两种:程序文件、数据文件(从文件的功能角度来分)。程序文件包括源程序文件(.c),目标文件(Windows环境后缀为.obj),可执行文件(windows环境后缀为.exe)。数据文件文件的内容不一定是程序,而程序运行时读写的数据,如:程序运行需要从中读取数据的文件,或者输出内容的文件。原创 2022-02-20 18:59:29 · 317 阅读 · 0 评论 -
17 C语言进阶程序的编译(预处理操作)
程序环境和预处理程序的翻译环境和执行环境详解编译+链接翻译环境编译还可以分为几个阶段编译每个阶段的事情链接做的事情运行环境预处理详解预定义符号[#define 预处理指令](##define 预处理指令)#undef命令行定义条件编译文件包含其他预处理指令程序的翻译环境和执行环境在ANSIC的任何一种实现中,存在两个不同的环境。第一种是翻译环境,这个环境中源代码被转换为可执行的机器指令。(二进制代码)第二种是执行环境(运行环境),用于实际执行代码。详原创 2022-02-22 16:32:21 · 841 阅读 · 0 评论 -
C语言进阶篇
B站鹏哥C语言进阶课程笔记。原创 2022-02-22 17:03:06 · 11773 阅读 · 4 评论