![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言
吃桃子不吐葡萄皮
这个作者很懒,什么都没留下…
展开
-
开篇:为什么开始写博客
自我介绍:我是吃桃子不吐葡萄皮,初来乍到,多多关照!学习编程本就是任重道远的一件事情,俗话说:“无志之人常立志,有志之人立长志”。 本桃zhi最大的一个缺点就是干事情前期干劲十足,可是越到最后就会越来越怠慢。所以写博客的初衷不仅仅是一个纪录,也算是对自己的一个鞭策。在学习编程的道路上,肯定会有很多的困难等着我,不过这些问题久而久之都会慢慢的被攻克,只希望最后在知识形成体系的时候,对其中的细节也...原创 2019-08-01 22:30:03 · 126 阅读 · 0 评论 -
c-语言,大端数据转换为小端数据
c语言编码,实现函数long htonl(long a),也就是将主机序转化为网络序//网络序统一为大端。该算法主要需要测试主机序,如果是大端则不做任何的改变,如果是小端则逆序bool IsLittle()//判断主机序是否为小端{ short a = 0x0001; return *(char *)&a == 0x01;}long Htonl(long a){ ...原创 2019-08-16 19:26:03 · 1435 阅读 · 0 评论 -
c语言-指针与数组
1、指针数组:是数组,是存放指针的数组.例如:int* arr[5]arr就是一个数组,有五个元素,每个元素是一个整型指针.2、数组指针:是指针,能够指向数组的指针.例如:int(*p)[5][]的优先级比 *高,所以必须使用括号,先指针,后数组.3、数组与指针的关系:数组在一定情况下可隐式转换成指针,(接取数组名参与运算);指针可以当成数组来用[]....原创 2019-08-17 00:32:24 · 69 阅读 · 0 评论 -
c语言-位运算
一组数据中只有一个数字出现了一次,其他数字都是成对出现的,请找出这个数字int main() { int arr[] = { 1,2,3,6,3,2,1 }; int i = 0; int ret = 0; for (i = 0; i < 7; i++) { ret = ret ^ arr[i]; } printf("%d\n", ret); system("pause"...原创 2019-08-17 23:51:08 · 83 阅读 · 0 评论 -
c语言-有一个二维数组. 数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。
#define ROW 4#define COL 4int Search(int arr[ROW][COL], int x) { int i = 0; int j = COL - 1; int tmp = arr[i][j];//给定一个数组内部的值,位于二维数组的右上角 while (1) {//条件为假时,跳出循环 if (x == tmp) {//如果找到这个数,返回1 ...原创 2019-08-26 17:58:58 · 275 阅读 · 0 评论 -
c语言-动态内存介绍
malloc这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。void* malloc (size_t size);//动态内存开辟的函数freefree函数用来释放动态开辟的内存。void free (void* ptr);//动态内存的释放和回收注意事项:malloc的返回值一定要检查是否为空指针;calloc:也用来动态内存分配,与函数 malloc 的区别只...原创 2019-08-28 22:35:45 · 127 阅读 · 0 评论 -
c语言-字符函数和字符串函数
字符函数和字符串函数:求字符串长度:strlen长度不受限制的字符串函数:strcpy.strcat.strcmp长度受限制的字符串函数介绍:strncpy.strncat.strncmp字符串查找:strstr.strtok错误信息报告:strerror字符操作内存操作函数:memcpy.memmove.memset.memcmp库函数的模拟实现:int My_strlen(c...原创 2019-08-30 15:14:19 · 94 阅读 · 0 评论 -
C语言-指针和数组(关于strlen,sizeof)
int main() { int a[] = { 1,2,3,4 }; printf("%d\n", sizeof(a));//16 printf("%d\n", sizeof(a + 0));//4 a+0得到了一个指针 printf("%d\n", sizeof(*a));//4 *a就相当于*(a+0),a[0]得到了1这个整数 printf("%d\n", sizeof(a+1...原创 2019-08-31 15:10:22 · 194 阅读 · 0 评论 -
c语言-文件操作的相关函数
在程序设计中,文件分为程序文件和数据文件,其中数据文件又被称为二进制文件和文本文件.直观上来说二进制文件就是看不懂的文件(以二进制的形式进行存储);文本文件就是以ASCII字符的形式存储的.在读写文件之前我们必须执行打开操作,文件是在磁盘上的,程序直接操作磁盘会不太方便,所以打开文件就要先创建一个"“遥控器”,这个"遥控器"就是内存中的一个变量,借助这个内存的变量就可以更加方便的来操作磁盘,...原创 2019-09-01 14:45:02 · 109 阅读 · 0 评论 -
c语言-自定义类型
结构体, 枚举, 联合结构体struct Stu//结构体声明(可以使用不完全的声明){ char name[20];//名字 int age;//年龄 char sex[5];//性别 char id[20];//学号};//分号不能丢结构体自引用的正确方式:struct node { int date; struct node* next;//一定要注意加*...原创 2019-09-01 17:59:53 · 172 阅读 · 0 评论 -
c语言-有一个字符数组的内容为:"student a am i", 请你将数组的内容改为"i am a student".
要求: 不能使用库函数。 只能开辟有限个空间(空间个数和字符串的长度无关)。首先限制不能用库函数,所以要先写出一个strlen()的函数;然后就是读清楚题目,思路过程为"student a am i"------>“i ma a tneduts”------->“i am a student”所以这里就需要先逆置整个字符串,人后再把每个单词逆置;具体完成结...原创 2019-08-12 17:19:04 · 124 阅读 · 0 评论 -
c语言-简单的递归
斐波那契数递归公式:(n-1)+(n-2)//递归实现int fab(int n) { if (n == 1 || n == 2) { return 1; } else { return fab(n - 1) + fab(n - 2); }}int main() { printf("%d\n", fab(3)); system("pause"); return 0...原创 2019-08-15 18:33:17 · 287 阅读 · 0 评论 -
c语言-思维导图
未完待续…原创 2019-08-15 17:56:50 · 133 阅读 · 0 评论 -
c语言-扫雷小游戏的实现
game.h 头文件#ifndef _GAME_H_#define _GAME_H_#include<stdio.h>#include<stdlib.h>#include<time.h>#define ROW 9 //定义界面行列#define COL 9#define ROWS ROW+2 //防止数组越界,行列加2#d...原创 2019-08-13 15:44:41 · 204 阅读 · 0 评论 -
c语言-关于遍历
1、数字遍历for(i = 0;i < n;i++){ i完成了对数字[a,b)的遍历}2、数组遍历for(i = 0;i < n;i++){ arr[i]完成了对数组每个元素的遍历}3、数位遍历for(i = n; i ;i /= m){ i % n就完成了对数字n在m进制下每一位的遍历}4、字符串遍历for(i...原创 2019-08-18 23:58:15 · 819 阅读 · 0 评论 -
三子棋-c语言
game.h的头文件内容如下:#ifndef GAME_H#define GAME_H#include<string.h>#include<stdio.h>#include<stdlib.h>#include<time.h>void InitBoard(char board[][3],int row,int col);void Sho...原创 2019-08-10 00:00:55 · 129 阅读 · 0 评论 -
c语言-关于指针内存分析的一道题
int main() { char *c[] = { "ENTER","NEW","POINT","FIRST" }; char**cp[] = { c + 3,c + 2,c + 1,c }; char***cpp = cp; printf("%s\n", **++cpp); printf("%s\n", *--*++cpp+3); printf("%s\n", *cpp[-2]+3...原创 2019-08-19 19:26:29 · 253 阅读 · 0 评论 -
c语言 操作符
操作符重点注释:算数操作符中 / 的运算:两个数是整数就执行整数除法,浮点数就用浮点数除法#include<stdio.h> #include<stdlib.h> int main() { printf("%f\n",(float) 5 / 2);//2.5 printf("%f\n", 5 /(fl...原创 2019-08-10 16:47:19 · 80 阅读 · 0 评论 -
求一个整数储存在内存中的二进制中1的个数
编写代码实现:求一个整数储存在内存中的二进制中1的个数方法1:int main() { int n = 15; int count = 0; while (n) { if (n % 2 == 1) { count++; } n = n / 2; } printf("二进制中一的个数:%d\n", count); system("pause"); return 0...原创 2019-08-10 17:27:10 · 176 阅读 · 1 评论 -
c语言-二分查找法
二分查找法(有序情况下)int bin_search(int arr[], int len, int key) { int mid = 0; int left = 0; int right = len - 1; while (left <= right) { mid = (left + right) / 2; if (key > arr[mid]) { left...原创 2019-08-10 18:04:28 · 412 阅读 · 0 评论 -
c语言-冒泡排序
冒泡排序#include<stdio.h>#include<stdlib.h>void Swap(int *x, int *y) { int tmp = *x; *x = *y; *y = tmp;}void bubble(int arr[], int len) { int i, j; for (i = 1; i < len; i++) { f...原创 2019-08-10 18:26:10 · 123 阅读 · 0 评论 -
c语言-计算机的字节序
参考代码:#include<stdio.h>#include<stdlib.h>int main() { int a = 0x12345678; char *pc = (char*)&a; printf("%x\n", *pc); system("pause"); return 0;}以上代码运行结果为 : 78原因如下:所以此代码运...原创 2019-08-11 18:36:48 · 252 阅读 · 0 评论 -
c语言-通讯录
头文件tongxunlu.h#ifndef __TONGXUNLU_H__#define __TONGXUNLU_H__#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<string.h>#include<assert.h>typed...原创 2019-09-02 16:51:15 · 119 阅读 · 0 评论