C语言
文章平均质量分 91
存放C语言从入门到深入的知识
代码小娥
每天很忙,尽量每天都看一次私信。看到都会回答,若是没有及时回复,就多发几次,比如在作品下面去多评论几次。欢迎交流,共同进步
展开
-
初始C语言(第五课时)
1.关键字总类:auto 局部变量(自动储存)break 无条件退出程序最内层循环case switch语句中选择项char 单字节整型数据const 定义不可更改的常量值continue 中断本次循环,并转向下一次循环default switch语句中的默认选择项do 用于构成do.....while循环语句double 定义双精度浮点型数据else 构成if.....else选择程序结构enum 枚举extern 在其它程序模块中说明了全局变量float 定义单精度浮点型数据。原创 2023-07-15 17:11:19 · 193 阅读 · 3 评论 -
初识C语言(第二课时)
由双引号("")括起来的一串字符注意是\,形状可以记成左上右下,要与(除号)区别开来下面是一些转义字符及其大致含义,我们下面将逐一介绍(有些不常用甚至不考我们不做解释,加*为比较常见)原创 2023-07-10 17:08:46 · 201 阅读 · 2 评论 -
初始C语言(第三课时)
讲到函数大家应该都不陌生了,其实跟数学上面的函数差不多。所以我们先从数学上面引例引例:给定一个函数y=x+1;给一个x的值,就会得出一个y的值;在c语言中也是类似。函数:由形参,实参,跟函数体部分组成。函数体就是用来实现某一个功能。2.简单函数例子我们直接上代码,求两个数的和。return z;int b = 0;int c = 0;return 0;解析:形参(x,y),实参(a,b)函数名字(Add)原创 2023-07-12 18:32:04 · 130 阅读 · 3 评论 -
初始C语言(第四课时)
arr:数组名字 10:数组的元素个数 {存入的数据}我们先给出模板:int arr[元素个数]={元素数据};char arr[10]//定义一个字符数组,用来存放字符元素(未初始化)//定义一个浮点数师数组,元素个数可以不写,会根据存放的数据个数自己生成//初始化一般赋值0,若初始化的数据个数不够元素个数,则后面元素数据自动补0//这个数组可以存放四个数据元素,但只给它赋值了1,2;则剩下的自动赋值为0。原创 2023-07-13 17:23:03 · 101 阅读 · 3 评论 -
初始C语言(第一课时)
格式:数据类型 变量名字;(两者中间需要有空格隔开,语句结束需要添加逗号)如:int a;--------int是类型,a是变量名字。一般的创建完变量要对其初始化,一般赋值为0,如:int a=0;若是你着急赋值也可以在定义的时候直接赋值,如:int a=520;-------字符类型,用来创建字符变量,存放字符。float weight=520.13f--------浮点类型,用来创建变量来存放小数。(后面家f是为了表示该变量为float类型,不加则表示double类型)原创 2023-07-08 17:53:35 · 260 阅读 · 8 评论 -
【初阶C语言】关于scanf函数的超详细介绍和多组输入
1.scanf函数为输入函数,输入数据需要按照一定格式注意点;%d为输入整形数据 %c为输入字符数据 %s为输入字符串......2.scanf有三大返回值:(1)返回成功读取到的数据个数 (2)读取失败返回EOF(默认-1) (3)输入格式不符返回03.scanf函数可以用来实现多组输入(配合while循环和返回值)本节内容介绍到这里就介绍啦。以上内容有错误的地方,欢迎大佬们在评论区留言;或者还有细节没有介绍到,也欢迎大佬补充,后续我会补上。如有不清晰的地方,望理解。原创 2023-07-22 20:51:47 · 19544 阅读 · 38 评论 -
【初阶C语言】数组
二维数组就是比一维数组多了一个维度(二维数组比一维数组多了列的元素)原创 2023-08-01 22:58:02 · 789 阅读 · 23 评论 -
【初阶C语言】操作符1--对二进制的操作
1.二进制介绍(1)整数的二进制表示形式有三种:原码、反码和补码。(2)原码、反码和补码的长度有数据类型来决定,如整数,就是四个字节,转化后是三十二位比特位,所以一个整数写成二进制序列的时候,是32个bit位。(3)数据是以补码的形式在内存中存储的。(4)正负数原码、反码和补码不一样2.正数三码的介绍(1)正数的原码、反码和补码都一样,不需要计算,可以直接得出来。(2)举例7,我们先把7转化成二进制数:111;由于整数的二进制序列是32位,所以其他我需要补0,就写成这样33.负数三码的介绍。原创 2023-09-05 22:19:20 · 1346 阅读 · 10 评论 -
【初阶C语言】学会使用库函数getchar和putchar
因为程序刚刚运行起来,我们没有从键盘上面输入数据,所以缓冲区上面是没有东西的,就是为空的,所以光标在闪,在等待我们输入。getchar接收的是回车这个字符,回车这个键一般相当于\n。本节到这里就结束啦!后续会补充更加完整详细的内容!输入(获取)一个字符。一般是与getchar函数配合使用。题目:用代码实现密码输入并确认的场景。getchar函数只能用来接收字符。在屏幕上输出(打印出)一个字符。所以我们需要用循环进行改造。我们要在屏幕上面输出:AB。转化对应的ASCII值。返回值的ASCII码值。原创 2023-07-21 21:43:36 · 3580 阅读 · 24 评论 -
【初阶C语言】指针的妙用
讲到指针,就应该要想到跟他关联的东西--地址。内存会被分成一个个小的单元,每个单元的单位是字节,所以每个内存都会有一个编号,该编号就是内存的地址,通过地址就可以找到该内存。指针的概念:指针就是地址,口头说的指针就是指针变量,用来存放地址。存放的地址其实就是内存的编号。指针变量==地址==单元编号注意:存放在指针变量中的数据,会当成地址来处理。//定义一个变量a//取出变量a的地址存放到变量p中return 0;//因为变量p存放的是地址,所以称为指针变量。原创 2023-08-07 12:19:40 · 939 阅读 · 36 评论 -
【初阶C语言】随意拿捏循环语句
goto语句一般和标记跳转的标号结合当循环次数不确定的时候选择while循环,循环次数确定时选择for循环。原创 2023-07-20 13:15:13 · 165 阅读 · 7 评论 -
【初阶C语言】认识和使用函数
在数学中有函数,在C语言中也有函数,我们直接先给出一个定义:在基维百科中函数被定义为子程序:在计算机科学中,子程序(英语:Subroutine, procedure, function, routine, method,是一个大型程序中的某部分代码, 由一个或多个语句块组成。它负责完成某项特定任务,而且相较于其他代 码,具备相对的独立性。一般会有输入参数并有返回值,提供对过程的封装和细节的隐藏。这些代码通常被集成为软件库。原创 2023-07-27 20:31:09 · 834 阅读 · 23 评论 -
【初阶C语言】跟着本娥轻松学会分支语句!
恭喜你,学习到这里说明C语言的学习正式开始了。学习完本节知识,已经可以写大部分的题目啦! 我们先来看这个:C语言语句分类:1.表达式语句 2.函调用语句 3.控制语句 4.复合语句 5.空语句 C语言有五大语句,我们现在要去学习的就是控制语句;而控制语句原创 2023-07-19 15:18:07 · 138 阅读 · 7 评论 -
【初阶C语言】整数比大小
1.比较大小的通用方法是数组+循环2.数字少时,三目运算符的代码较简便3.两种思想:两两比较和先确定最大值。原创 2023-07-29 21:28:36 · 6325 阅读 · 20 评论 -
【初阶C语言】操作符2---表达式求值
(1)C的整型算术运算总是至少以缺省整型类型的精度来进行的。为了获得这个精度,表达式中的字符和短整型操作数在使用之前被转换为普通整型,这种转换称为整型提升(2)操作的对象是二进制的补码(1)算术转换的条件:数据类型>=整形(2)转换层次,由低到高如果某个操作数的类型在上面这个列表中排名较低,那么首先要转换为另外一个操作数的类型后执行运算。原创 2023-09-08 22:05:36 · 274 阅读 · 12 评论 -
【进阶C语言】编译与链接、预处理符号详解
(1)认识__FILE__ //进行编译的源文件__LINE__ //文件当前的行号__DATE__ //文件被编译的日期__TIME__ //文件被编译的时间__STDC__ //如果编译器遵循ANSI C,其值为1,否则未定义符号的输入细节:前后分别是两个下划线_ _,连起来:__(2)怎么使用int main()//文件正在编译哪个函数return 0;看一下运行结果:(3)最后的符号__STDC__ //如果编译器遵循ANSI C,其值为1,否则未定义。原创 2023-10-24 16:02:35 · 695 阅读 · 6 评论 -
【进阶C语言】C语言文件操作
文件的随机读写不是随机读写,而是可以指定读写的位置。下面介绍三个函数。原创 2023-10-21 10:28:16 · 360 阅读 · 11 评论 -
指针笔试题
1.了解指针类型的作用。+1或者-1跳过多少字节。2.了解数组名的意义。原创 2023-10-11 17:19:28 · 137 阅读 · 3 评论 -
【进阶C语言】数组笔试题解析
二维数组的数组名同样是首元素地址,不过二维数组的首元素是第一行元素;而且依旧有两个例外。题目:判断下列sizeof计算的大小。原创 2023-10-31 16:41:51 · 665 阅读 · 11 评论 -
【进阶C语言】进阶指针--学会所有指针类型
(1)数组指针,是指向数组的一种指针。(2)数组指针的表示形式int main()return 0;数组名不就是首地址吗?为什么还需要取地址?因为&arr和arr的意义不同!我们通过下面的代码验证。数组指针初始化必须指定数组大小int main()return 0;结果展示:我们知道,指针的类型决定了指针+1或者-1的时候跳过多少字节。比如:整形指针+1会跳过4字节,而数组指针的类型是数组,那么+1肯定是需要跳过一个数组(上述一个数组为40字节)。原创 2023-10-04 09:47:06 · 316 阅读 · 14 评论 -
【进阶C语言】动态内存分配
第一个参数是需要开辟的数据个数,第二个是该数据类型的内存大小。calloc函数成功开辟内存后,会返回该内存的起始地址,可以根据需要强制转换成任意的类型;若开辟空间失败,则会返回空指针(NULL)。realloc可以对已有的内存进行调整函数参数:ptr是要调整的内存地址,size为内存调整之后的新大小,单位是内存总大小(字节)返回值:内存调整后的起始地址,同样有申请内存成功和失败两种情况头文件:#include<stdlib.h>原创 2023-09-29 15:19:42 · 1078 阅读 · 11 评论 -
【进阶C语言】自定义类型
位段的声明和结构是类似的(1)位段的成员必须是:int,unsigned int、char或signed int(c99之后也可以有其他的类型)(2)位段的成员名后边有一个冒号和数字struct Aint _a : 2;int _b : 5;1. _a、_b这些只是为了更好知道这是位段才加的,也可以选择不加。2.后面的冒号和数字才是位段的语法要求。3.位段的“位”表示二进制位的意思,冒号后面的数字就是代表有多少二进制位。原创 2023-10-02 11:23:01 · 262 阅读 · 9 评论 -
【进阶C语言】字符串与内存库函数认识与模拟实现
1.字符串库函数的使用都需要包含#include的头文件2.字符库函数的使用需要包含#include的头文件3.内存操作函数需要包含#include的头文件。原创 2023-09-23 15:28:22 · 236 阅读 · 17 评论 -
【进阶C语言】排序函数(qsort)与模拟实现(回调函数的实例)
回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。总结:被函数指针调用的函数需要包含头文件#include<stdlib.h>该函数是一个库函数,可以排序任意数据类型的数据(数组);底层逻辑采用的是快速排序参数介绍:前三个参数:void* base:待排序数据的第一个元素的地址。原创 2023-10-06 15:29:13 · 1121 阅读 · 9 评论 -
【进阶C语言】数据在内存中的存储
(1)官方定义大端(存储)模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;小端(存储)模式,是指数据的低位保存在内存的低地址中,而数据的高位,保存在内存的高地址中。(2)大小端民间定义我们知道:内存也是有顺序的,所以内存也就有高地址和低地址之分。数据的每位数字内容也是有大小之分的,如:个位、十位和百位。原创 2023-09-15 20:35:26 · 508 阅读 · 9 评论