c语言入门
文章平均质量分 85
早凉
从新开始!
展开
-
C语言程序环境和预处理
_FILE__//进行编译的源文件__LINE__//文件当前的行号__DATE__//文件被编译的日期__TIME__//文件被编译的时间__STDC__//如果编译器遵循ANSIC,其值为1,否则未定义这些预定义符号都是语言内置类型在VS编译器中,__STDC__是不支持的,所以VS编译器是不支持__STDC__的也就是不支持ANSIC,在gcc中是支持的,,所以一般以gcc的为准。那预定义符号有什么用呢,例如可以记录日志;在这里举个栗子1000registerfor(...原创 2022-07-20 11:14:47 · 102 阅读 · 1 评论 -
C语言文件操作
文件是具有符号名的,在逻辑上具有完整意义的一组相关信息项的有序序列。信息项是构成文件内容的基本单位。读指针用来记录文件当前文件之前的读取位置,它指向下一个将要读取的信息项。写指针用来记录文件当前的写入位置,下一个将要写入的信息项被写到该处。...原创 2022-07-19 16:27:34 · 170 阅读 · 0 评论 -
C语言动态内存开辟
malloc柔性数组(flexiblearray),C99中,结构中的最后一个元素允许是未知大小的数组,这就叫做『柔性数组』成员。inti;//柔性数组成员}type_a;inti;//柔性数组成员}type_a;原创 2022-07-17 19:55:42 · 217 阅读 · 9 评论 -
库函数的模拟实现
这是关于字符串,的一部分库函数,库函数太多了,本文只是写一部分。在模拟实现中,还是有一些部分并不是很完善,也不是很顺利,在模拟实现过程中,正是感受到了程序的精妙绝伦。学习的路还长,加油!...原创 2022-07-16 16:41:57 · 119 阅读 · 0 评论 -
C语言自定义结构类型之枚举,联合
枚举就是一一列举,enum Day,enum Sex,enum Color都是枚举类型。{}中内容是枚举类型的可能取值,也叫。这些可能取值都是有值的,默认从0开始,一次递增1,当然在定义的时候也可以赋初值。例如:后面默认加1;我们知道可以通过来定义常量;为什么不能用?而要来个?特征是这些成员公用一块空间;但是真正的只是简单地最大成员的大小吗?我们看到了un.i和un.c的地址是相同的,当我们给赋值时,也发现也是公用的。但是大小怎么计算?也是有对齐的。...原创 2022-07-13 16:48:05 · 221 阅读 · 0 评论 -
C语言自定义类型之结构体篇
1.1结构体声明1.2结构体特殊声明在声明的时候,可以不完全声明,这就是匿名结构体类型;但是;上述代码中,我们尝试将合法吗?我们觉得相同但编译器会把上面俩个声明当成完全不同的俩个类型。在数据结构里,有一种链表结构;在这里我们猜想一下,一个结构体中,能否包含一个结构体吗?如果像这样定义的话,那么sizeof(struct student)的结果是?分析下这个结构体大小,里面包含int型,但是结构体里面又有结构体,这就无法判断。这样是不是就可以计算了。这里说的是不可以直接自己套娃自己,但可以嵌套原创 2022-07-12 17:33:19 · 377 阅读 · 0 评论 -
指针试题合集
关于一部分指针的笔试题;向着星辰与深渊!首先a是首元素地址,是第二个元素地址解引用后是2;题目中&a,取出整个数组的地址,加1跳过一个数组的大小,的地址放入,指针类型决定了操作权限,-1只能减一个int类型,所以指向5;p是变量,类型是结构体指针;已知结构体类型变量类型是20字节;p = 0x100000;加1为跳过20字节,16进制20为14;p + 0x1 = 0x100014;unsigned long 无符号整形 p是0x100000,看做无符号整形加1后0x100001原创 2022-07-05 10:13:58 · 212 阅读 · 0 评论 -
qsort的使用练习以及模拟实现
qsort是排序函数,在MSDN中显示Performs a quick sort.,即执行快速排序qsort函数传参类型多为,这就意味着我们可以对不同的数据类型按给定的规则排序。比较函数就给定了排序规则我们又知道,这种类型不能加减乘数解应用,使用目的主要是为了可以排序多种数据类型,所以我们要利用好强制类型转换。qsort的模拟实现首先如何排序?怎么样解决不确定数据类型的排序?按何规则排序?...原创 2022-06-18 22:10:48 · 169 阅读 · 1 评论 -
数据的存储(2)之浮点数存储规则
整形存储了解到是原码,补码和反码,在内存中存放补码,浮点数也是原反补存储的吗浮点数在内存中如何存储?整形存储是原码,补码和反码,在内存中存放补码,正整数原码、反码、补码是相同的,负整数原码是原数的二进制,符号位为1,反码是符号位不变其它位按原码按位取反,补码是反码加一,由此可以猜想浮点数也是如此?我们可以通过如下代码进行测试:如果猜想成立,输出结果应该为: ???那么到底是如何存储的呢?原创 2022-06-01 10:55:17 · 555 阅读 · 0 评论 -
数据的存储(1)
本文简单介绍了数据类型,数据是如何存储,原码、反码、补码,大小端字节序,了解c语言较为底层原理,帮助初学者理解。原创 2022-05-25 09:47:43 · 92 阅读 · 0 评论 -
扫雷【C语言】
扫雷【C语言】如何用C语言来实现简易的扫雷游戏呢?让我们一起看看吧!文章目录扫雷【C语言】前言一、基本步骤二、具体实现1,菜单界面2,创建雷盘并初始化3,打印4,放置雷5,查找雷二、完整代码test.cgame.cgame.h总结前言如果你是C语言入门不久,我们可以来简易实现扫雷一、基本步骤菜单界面选择开始或者退出游戏。创建并初始化。打印棋盘。放置雷查找雷判定胜负关系。如果胜负已分则打印结果结束游戏,返回菜单界面。二、具体实现1,菜单界面游戏开始时会提供玩家选择开始还原创 2022-05-10 11:30:57 · 401 阅读 · 0 评论 -
三子棋【C语言实现】
三子棋让我们一起用C语言来玩一场三子棋的游戏把文章目录三子棋前言一、基本步骤二、具体实现1.菜单界面2.创建棋盘3.棋盘初始化4.打印棋盘5.玩家落子6.电脑落子7.判断输赢8.运行演示1、玩家获胜2、电脑获胜3、和棋三、完整代码总结前言三子棋怎么实现呢?我们首先要想原理有大致思路,然后我们才能着手实现。例如要打印棋盘,怎么样把棋下到棋盘里面,怎么样判断输赢,Let’s go!一、基本步骤菜单界面选择开始或者退出游戏。创建棋盘并初始化。打印棋盘。玩家落子(通过输入行列坐标的方式来原创 2022-05-01 10:32:35 · 2120 阅读 · 0 评论 -
第一章初识C语言(四)
第一章初识C语言(四)文章目录第一章初识C语言(四)前言一、指针什么是指针指针的大小二、结构体1.引入库总结前言这是初始C语言最后一节了,后面开始深入学习了,不要放弃,冲冲冲;一、指针什么是指针内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的 。所以为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节。为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址。变量是创建内存中的(在内存中分配空间的),每原创 2022-04-20 18:42:51 · 647 阅读 · 0 评论 -
第一章初识C语言(三)
第一章初识C语言(三)文章目录第一章初识C语言(三)前言一、操作符二、关键字1.常见关键字2. 关键字 typedef3.关键字static三、#define 定义常量和宏总结前言我们今天继续总述C语言,只说有啥,未来我们细细学习;一、操作符算术操作符+ - * / %移位操作符>> <<位操作符& ^ |赋值操作符= += -= *= /= &= ^= |= >>= <<=单目操原创 2022-04-14 21:37:28 · 932 阅读 · 0 评论 -
第一章初识C语言(二)
第一章初识C语言(二)文章目录第一章初识C语言(二)前言一、常量二、字符串+转义字符+注释1.字符串2.转义字符3.注释三、选择语句四、循环五、函数六、数组总结前言上次我们了解了什么是C语言,也看到了第一个C语言程序,知道了有什么数据类型,也见识到了变量,这次我们继续浅层的梳理C语言的知识;一、常量常量的类型:字面常量const 修饰的常变量#define 定义的标识符常量枚举常量代码举例:#include <stdio.h>//举例enum Sex{原创 2022-04-06 19:08:33 · 583 阅读 · 0 评论 -
第一章初识C语言(一)
第一章初识C语言第一章初识C语言(一)前言一、什么是C语言二、第一个C语言程序三、数据类型四、变量原创 2022-04-04 11:46:26 · 523 阅读 · 0 评论