![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
c语言
文章平均质量分 76
c语言知识点讲解
努力学c的楼下小王
这个作者很懒,什么都没留下…
展开
-
c:分支语句:(选择结构);第一篇
switch语句与if区别:if语句输出时因给定起始和结尾需要知道循环次数,以指定的循环数值进行输出;当给if赋值时‘表达式’为计算式时/*(num%==1)*/可以不需要反写 表达式=1本身会报错。3.转向语句:break语句,goto语句,continue语句,return语句;2.循环执行语句:do while语句,while语句,for语句;1.条件判断语句( 分支语句):if语句 ,switch语句;编写该语句时,应注意{},该语句中若为单行代码则无需{},此时输出为空参则应验就近原则;原创 2023-05-20 23:11:31 · 152 阅读 · 4 评论 -
C语言中常见的转义字符
本文章主要讲述 { \?原创 2023-06-18 22:23:24 · 341 阅读 · 2 评论 -
c语言:操作符;第一篇 移位操作符(原码 反码 补码)
右移操作符分为两种:1.算数右移:右边丢弃,左边补原符号位(如图:原位置为01,则补0);2.逻辑右移:右边丢弃,左边补0。当前编译器,在右移的是采用算数右移。到底是算数右移还是逻辑右移是取决于编译器!警告:对于移位操作符,不要移动负数位,这是标准未定义的。使用移位操作符后,进行打印时,打印语句时打印的为原码,故。整数的二进制表示有3种形势:原码 反码 补码。整数在内存中存储的是补码的二进制。的原码 反码 补码 是要计算的。的原码 反码 补码 相同;(移位规则将在下文介绍)原创 2023-06-25 22:11:59 · 161 阅读 · 0 评论 -
c语言:三子棋思维详解(非智能)
本文章将采用三个模块进行代码实现:1,游戏的实现(game.c)。2,测试游戏的逻辑(text.c)。3,函数的声明(game.h)。原创 2023-06-26 18:22:16 · 88 阅读 · 1 评论 -
C语言:const函数修饰指针
const用于修饰定义变量并限制其数值:const修饰时无法改变其数值,但a并不是常量而是常变量如下图,只有常量才可以定义数组长度,这充分说明const修饰的并不是常量const只是在语法层面加以限制,其实还是变量 即常变量。原创 2023-06-30 17:56:15 · 278 阅读 · 3 评论 -
C语言:strlen与sizeof的区别(与指针搭配)
本片将结合指针进行讲解首先:在数组取地址中1.sizeof(数组名),这里的数组名表示整个数组,计算的是整个数组的大小2.&数组名,这里的数组名表示整个数组,取出的是整个数组的地址strlen为,而sizeof为一种区别是:1.strlen();,strlen求字符串长度,从给定的地址向后访问字符,统计 ‘\0’之前出现字符的个数。2.sizeof();可以理解为写 arr[i]只是为了方便,本质上是 *(arr+i)原创 2023-07-12 15:28:46 · 79 阅读 · 2 评论 -
C语言:自定义类型(结构体,枚举,联合)
结构体的关键字:struct枚举的关键字:enum联合体(共用体)的关键字:union结构体成员访问操作符:// . 结构体变量.结构体成员// -> 结构体指针图中 p1: 声明类型的同时定义变量p1;p2: 定义结构体变量p2位段的声明和结构是类似的,有两个不同:1.位段的成员必须是int,unsigned int,signed int (char也是可以的)2.位段的成员后面有一个冒号和一个数字例如:图中 a占两个bit位->a的取值范围位:0~3联合也是一种特殊的自定义类型。原创 2023-07-16 12:32:23 · 196 阅读 · 6 评论 -
C语言:动态内存管理(动态内存+柔性数组讲解)
C语言提供了一个动态内存的开辟的函数:malloc这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。1.如果开辟成功,则返回一个指向开辟好空间的指针。2.如果开辟失败,则返回一个NULL指针,因此malloc的返回值一定要做检查。3.返回值的类型是 void*(返回值为指针),所以malloc函数并不知道开辟空间的类型,具体在使用的时候使用者自己来决定(强制类型转换)。4.如果参数size 为0,malloc的行为是标准是未定义的,取决于编译器。int main()原创 2023-07-20 15:52:53 · 213 阅读 · 5 评论 -
C语言:字符函数和字符串函数(strlen,strcpy,strcat,strcmp,strncpy,strncat,strncmp,strstr,strtok,strerror/perror)第一篇
本文将重点介绍处理字符和字符串的库函数的使用和注意事项求字符串长度:strlen长度不受限制的字符串函数:strcpystrcatstrcmp长度受限制的字符串函数介绍:strncpystrncatstrncmp字符串查找:strstrstrtok错误信息报告:strerror字符操作(下篇文章将进行讲解)内存操作函数:memcpymemmovememsetmemcmp。原创 2023-07-20 23:55:31 · 240 阅读 · 8 评论 -
C语言:字符函数和字符串函数( 内存操作函数 memcpy,memmove,memset,memcmp+模拟实现)第二篇
求字符串长度:(在上篇文章已经进行讲解)strlen长度不受限制的字符串函数:strcpystrcatstrcmp长度受限制的字符串函数介绍:strncpystrncatstrncmp字符串查找:strstrstrtok错误信息报告:strerror字符操作(本文章将从这开始讲解)内存操作函数:memcpymemmovememsetmemcmp。原创 2023-07-21 11:11:18 · 328 阅读 · 7 评论 -
C语言:扫雷(递归+清屏)详细讲解
/玩家看到的大小//实际大小-> 防止实际计算时越界访问//雷数。原创 2023-07-26 19:38:58 · 575 阅读 · 11 评论 -
C语言:通讯录(文件操作+动态内存管理) 简易版
本文将对通讯录菜单,通讯录菜单,添加联系人,删除联系人,搜索联系人,打印通讯录进行讲解(即1 2 3 6 0选项)将分成三个文件:test.c //代码测试contact.h // 函数声明contact.c // 函数主体。原创 2023-07-27 19:50:48 · 204 阅读 · 10 评论 -
C语言:文件操作
程序文件和数据文件程序文件和数据文件是计算机中不同类型的文件,它们有着不同的作用和用途。原创 2023-07-31 16:59:03 · 343 阅读 · 8 评论 -
C语言:程序环境和预处理
_FILE__进行编译的源文件__LINE__文件当前的行号__DATE__文件被编译的日期__TIME__文件被编译的时间__STDC__如果编译器遵循ANSI C,其值为1,否则未定义__func__当前编译的函数//可以相当于日志写进文件中int main()int i;return 1;for (i = 0;i < 10;pf = NULL;return 0;在预处理阶段已经完成替换int main()return 0;原创 2023-08-03 10:47:59 · 309 阅读 · 10 评论 -
C语言:库函数atoi及其模拟实现
atof是C语言标准库中的一个函数,用于将字符串转换为对应的浮点数/整形数。函数接受一个参数str,该参数是一个指向以null结尾的字符串的指针。atof函数会尝试将这个字符串转换为一个浮点数,并返回转换后的结果。要注意的是,atof函数在进行转换时会自动识别字符串中的浮点数表示形式,包括小数点、指数符号等。它会跳过字符串中的空格字符,直到遇到数字或者正负号。如果无法进行有效的转换,atof函数会返回0.0作为转换结果。原创 2023-08-21 17:34:51 · 207 阅读 · 1 评论