C语言
在下yo
这个作者很懒,什么都没留下…
展开
-
C语言自定义类型:结构体 联合体 枚举
自定义类型:结构体 联合体 枚举结构体创建一个学生的结构体typedef struct Stu{ char name[20];//名字 int age;//年龄 char sex[5];//性别 char id[20];//学号}Stu;打印结构体Stu成员函数void printStu(Stu* pStu)//打印Stu{ printf("%-8s%-5d%-5s%s...原创 2020-04-19 17:01:20 · 200 阅读 · 0 评论 -
C语言:动态内存管理
动态内存函数介绍malloc()void* malloc (size_t size);这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。如果开辟成功,则返回一个指向开辟好空间的指针。如果开辟失败,则返回一个NULL指针,因此malloc的返回值一定要做检查。如果参数 size 为0,malloc的行为是标准是未定义的,取决于编译器。free()void free (voi...原创 2020-04-20 21:33:58 · 93 阅读 · 0 评论 -
C语言:文件读写
文件读写fopen():打开文件FILE * pFile;//文件指针变量pFile = fopen("myfile.txt", "w");fclose():关闭文件fclose(pFile);文件结束判定在文件读取过程中,不能用feof函数的返回值直接用来判断文件的是否结束。而是应用于当文件读取结束的时候,判断是读取失败结束,还是遇到文件尾结束。1.文本文件读取是否结束,判断...原创 2020-04-22 15:22:20 · 120 阅读 · 0 评论 -
C语言:指针
指针在计算机科学中,指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的内存单元。一级指针/二级指针指针就是变量,用来存放地址的变量。一级指针用来存放其指向变量的地址,二级指针用来存放其指向的一...原创 2020-04-13 16:02:10 · 54 阅读 · 0 评论 -
浅谈C操作符sizeof()与库函数strlen()
sizeof()与strlen()都可以用于字符串长度的计算sizeof()包含结束标志’\0’strlen()不包含结束标志’\0’原创 2020-04-10 16:40:33 · 518 阅读 · 0 评论 -
判断当前机器的字节序:大/小端存储模式
大小端大端(存储)模式:是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;小端(存储)模式:是指数据的低位保存在内存的低地址中,而数据的高位, ,保存在内存的高地址中。计算机中的有符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”。正数的原、反、补码都相同,负数三种表示方法各不相同。原码(负数):直...原创 2020-04-08 19:06:09 · 176 阅读 · 0 评论 -
编写C语言库函数strcpy()
strcpy()C语言标准库函数,调用时语言引用头文件<string.h>。strcpy把含有’\0’结束符的字符串复制到另一个地址空间,返回值的类型为char*。编写my_strcpy(),模拟实现strcpy()函数的功能。char* my_strcpy(char* dest, const char* src){ char* ret = dest; assert(des...原创 2020-04-05 13:47:58 · 504 阅读 · 0 评论 -
编写C语言库函数strrev()
strrev()c语言库函数,调用时需要引头文件<string.h>。能够把字符串str上的所有字符的顺序颠倒过来,并返回颠倒顺序后的字符串指针。用递归和非递归两种方法实现strrev()函数,介于自己实现,这里不调用strlen(),而使用自定义的my_strlen()函数。非递归方法char * my_strrev1(char* arr){ char *left = a...原创 2020-04-04 14:38:03 · 1377 阅读 · 0 评论 -
C语言交换两个数(不使用临时变量):位运算符 ^ 的使用
C语言交换两个数(不使用临时变量):位运算符 ^ 的使用位运算符 ^ :现实生活中要把瓶子里面的酒和醋做交换,必须要借助第三个空瓶子来完成。C语言中交换两个数a、b,一般情况下都需要借助于临时变量。不借助临时变量怎么交换a和b呢?或许你会想到下面这种方法:a = a + b;b = a - b;a = a - b;这种方法似乎没有问题,但如果要交换的两个数较大他们的和超出int的...原创 2020-03-30 19:40:03 · 1490 阅读 · 1 评论 -
通讯录管理系统
编写通讯录管理系统,采用顺序表结构存联系人数据,可以完成联系人的增、删、查、改、排序等操作。联系人数据可写入文件并且能够从文件中加载,并且能够动态开辟空间。contactMain.c#include"Contact.h"void Menu(){ printf("*********************通讯录*******************\n"); printf("* ...原创 2020-04-28 17:27:45 · 413 阅读 · 0 评论 -
C语言:#define 宏
预处理符号:FILE 、LINE、DATE、TIME.int main(){ printf("file = %s\n", __FILE__);//__FILE__ 进行编译的源文件 printf("line = %d\n", __LINE__);//__LINE__ 文件当前的行号 printf("date = %s\n", __DATE__);//__DATE__ 文件被编...原创 2020-04-23 14:54:00 · 170 阅读 · 0 评论 -
编写C语言库函数strlen()
strlen()C语言库函数,包含于头文件<string.h>中,用于计算给定字符串str的长度(不包含结束标志’\0’)并返回。接下来用递归和非递归方法实现strlen()函数非递归方法int my_strlen1(char * str){ int count = 0; while (*str != '\0') { count++; str++; } re...原创 2020-04-03 21:43:34 · 607 阅读 · 0 评论 -
C语言:冒泡排序算法
冒泡排序算法基本思想相邻位置元素两两比较,顺序相反则进行交换,每一轮会将最小或最大的元素"浮"到顶端,最终达到完全有序。排序原理图算法实现#include <stdio.h>void BubbleSort(int arr[], int sz){ int i = 0; for (i = 0; i < sz - 1; i++) { int j = 0; ...原创 2020-04-02 20:18:56 · 160 阅读 · 0 评论 -
C语言扫雷小游戏
C语言扫雷小游戏扫雷是一个家喻户晓的游戏,那么在学习了C语言的二维数组之后来挑战一下自己,编一个扫雷小游戏吧。扫雷的棋盘就好比一个n*n二维数组,二维数组的对应位置里面存放着雷的信息。有雷的地方在二维数组中对应为1,没有雷的地方对应0。既然是扫雷小游戏,必然要完成以下目标:1.选到雷会结束游戏,结束时展示雷在棋盘上的分布;2.选到非雷的地方,棋盘会展开,周围没有雷的地方显示为空白,有雷...原创 2020-03-28 20:38:39 · 317 阅读 · 0 评论 -
二分查找法
有序数组二分查找法对于一个有序的一位数组,若要判断一个数k是否包含在此数组中,若在数组中则打印其所在位置的下标。采用普通的遍历方法虽然可以达到目的,但是对于规模较大的数组效率较低。为了提高查找的效率,我们借助于数学上的二分法的思路。如下图,arr[]是一个有序数组,我们要判断7是否在数组中。每次把数组一分为二,把中间值arr[mid]与所要找的值进行做比较,若arr[mid]大于7,则就在右边...原创 2020-03-26 19:52:28 · 71 阅读 · 0 评论 -
C语言打印9*9乘法表
C语言打印9*9乘法表c语言打印9*9乘法表看起来是很简单的事情。但是如果不注意细节,输出的结果讲不美观,甚至是难看。很多人看到要打印乘法口诀表,噼里啪啦一顿操作,敲出来像下面的语句。ctrl+F5运行发现打印出来乘法口诀表出现了列不对齐的现象。for (int i = 1; i <= n; i++) { for (int j = 1; j <= i; j++) { ...原创 2020-03-25 13:10:02 · 670 阅读 · 0 评论 -
C语言猜数字游戏
C语言猜数字游戏设计思路1.首先定义了一个打印菜单2.利用srand((unsigned int)time(NULL)) 函数完成对随机数的刷新产生了一组随机数,随机数在种子中抽取3.游戏内容由game()函数完成运行结果如下:1.主界面2.游戏界面程序源代码#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>...原创 2020-03-24 20:48:04 · 260 阅读 · 0 评论 -
C语言:scanf()
C语言:数据的键盘输入之scanf()scanf()作为C语言中的输入函数。用以通过键盘给程序中的变量赋值。调用scanf()的一般方法:scanf(“<格式控制字符>”, <输入项地址表>);下面我们来看一个例子,进一步了解一下scanf()#include <stdio.h>int main(){ int age; printf("请输入你的...原创 2020-03-15 19:36:01 · 232 阅读 · 0 评论