![](https://img-blog.csdnimg.cn/20190914190545292.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
C语言
从零出发——
这个作者很懒,什么都没留下…
展开
-
程序员成长之旅——程序的编译(预处理操作)+链接
程序员成长之旅——程序的编译(预处理操作)+链接原创 2020-01-13 16:26:54 · 147 阅读 · 0 评论 -
程序员成长之旅——文件操作
程序员成长之旅——文件操作什么是文件文件名文件类型文件缓冲区文件指针文件的打开与关闭文件的顺序读写文件的随机读写文件结束判定什么是文件磁盘上的文件就是文件。但是在程序设计中,我们谈的文件一般有两种:程序文件 数据文件程序文件包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀为.exe)。数据文件文件的内容不一定是...原创 2020-01-13 15:47:26 · 323 阅读 · 0 评论 -
程序员成长之旅——C语言大小端判断
程序员成长之旅——C语言大小端判断大小端的判断第一种方式(指针)第二种方式(联合体)大小端的判断第一种方式(指针)#include<stdio.h>#include<stdlib.h>int main(){ int a = 1; if (1 == *(char*)& a) { printf("小端\n"); } else printf(...原创 2019-07-06 17:58:01 · 171 阅读 · 0 评论 -
程序员成长之旅——C语言初识指针和数组
程序员成长之旅——初识指针指针一级指针二级指针数组指针和数组指针数组指针一级指针指针的定义在计算机科学中,指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为"指针"。意思是通过它能找到以它为地址的内存单元。int* p;我...原创 2019-07-20 19:05:38 · 463 阅读 · 0 评论 -
程序员成长之旅——C语言指针和数组的补充
程序员成长之旅——指针和数组的补充数组和指针的参数一维数组参数一级指针参数二维数组参数和二维指针参数函数指针函数指针数组指向函数指针数组的指针回调函数数组和指针的参数参数相信大家都清楚,它是分为实参和形参,实参的话就是在主函数调用函数时,实际传过去的值,而形参是声明和定义函数时的参数。一维数组参数先看一个例子void fun(char a[10]){ char c = a[3];...原创 2019-07-21 20:26:54 · 219 阅读 · 0 评论 -
程序员成长之旅——C语言指针的笔试题
程序员成长之旅——指针的笔试题笔试题笔试题以下都在32位操作系统下进行的。总结: 数组名的意义:sizeof(数组名),这里的数组名表示整个数组,计算的是整个数组的大小。& 数组名,这里的数组名表示整个数组,取出的是整个数组的地址。除此之外所有的数组名都表示首元素笔试题1之前讲过,这里就不在多说,有不会的看上一篇博客。笔试题2已知结构体大小...原创 2019-07-21 21:50:06 · 545 阅读 · 0 评论 -
程序员成长之旅——C语言优化冒泡排序
程序员成长之旅——冒泡排序三种优化方式冒泡排序(未优化)优化一优化二优化三冒泡排序(未优化)#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>void swap(int* a, int* b){ int tmp = *a; *a = *b; *b = tmp;}vo...原创 2019-08-04 19:58:28 · 261 阅读 · 0 评论 -
程序员成长之旅——实用之调试
程序员成长之旅——代码调试技巧bug是什么调试是什么windows环境的调试调试环境的准备调试的快捷键调试的时候查看程序当前信息如何写易于调试的代码编程常见的错误分类bug是什么bug是一个英文单词,本意是指昆虫、小虫、损坏、犯贫、缺陷、窃听器等意思。现在一般是指在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问题,简称程序漏洞。https://baike.baidu.com/item/...原创 2019-08-07 16:17:02 · 190 阅读 · 0 评论 -
程序员成长之旅——C语言实现简单通讯录
程序员成长之旅——C语言实现简单通讯录题目简介代码实现Contact.hContact.ctest.c题目简介通讯录可以用来存储1000个人的信息,每个人的信息包括:姓名、性别、年龄、电话、住址1. 添加联系人信息2. 删除指定联系人信息3. 查找指定联系人信息4. 修改指定联系人信息5. 显示所有联系人信息6. 清空所有联系人7. 以名字排序所有联系人代码实现Contac...原创 2019-08-20 12:11:59 · 235 阅读 · 0 评论 -
程序员成长之旅——动态存储实现通讯录
程序员成长之旅——动态存储实现通讯录题目简介代码总览Contact.hContact.ctest.c题目简介实现一个通讯录;通讯录可以用来存储个人的信息,每个人的信息包括:姓名、性别、年龄、电话、住址提供方法:添加联系人信息删除指定联系人信息查找指定联系人信息修改指定联系人信息显示所有联系人信息清空所有联系人以名字排序所有联系人保存联系人到文件加载联系人代码总览...原创 2019-08-23 23:50:05 · 136 阅读 · 0 评论 -
程序员成长之旅——动态内存管理
程序员成长之旅——动态内存管理原创 2019-08-22 00:07:54 · 155 阅读 · 0 评论 -
程序员成长之旅——数据的存储
程序员成长之旅——数据的存储原创 2019-08-17 10:28:00 · 188 阅读 · 0 评论 -
程序员成长之旅——函数与递归经典题目
程序员成长之旅——函数与递归经典题目汉诺塔问题青蛙跳台阶问题汉诺塔问题青蛙跳台阶问题原创 2019-08-17 19:14:44 · 177 阅读 · 0 评论 -
程序员成长之旅——柔性数组
程序员成长之旅——柔性数组柔性数组柔性数组的特点柔性数组的使用柔性数组的优势C语言结构里的数组和指针柔性数组柔性数组这个大家也许并不熟悉,但是但是它确实是存在的。 C99 中,结构中的最后一个元素允许是未知大小的数组,这就叫做『柔性数组』成员。typedef struct st_type{ int i; int a[0];//柔性数组成员}type_a;有些编译器会报错无法编译...原创 2019-08-22 22:59:46 · 345 阅读 · 0 评论 -
程序员成长之旅——暑期易错点汇总
程序员成长之旅——暑期易错点汇总1.下列程序运行结果是(4)int main(){ int i, j, a = 0; for (i = 0; i < 2; i++) { for (j = 0; j < 4; j++) { if (j % 2) break; a++; } a++; } printf("%d\n", a);}牢记...原创 2019-09-03 23:11:11 · 618 阅读 · 0 评论 -
程序员成长之旅——C语言自定义类型
程序员成长之旅——C语言自定义类型结构体结构体类型的创建结构体的初始化结构体内存对齐结构体位段的实现枚举定义特点使用联合定义特点计算结构体结构体类型的创建首先要知道结构体是什么?结构体是一些值的集合;这些值可以是不同的类型。这样才可以创建一个结构体。举个例子struct Stu{ char name[20];//名字 int age;//年龄 char sex...原创 2019-07-06 14:40:43 · 203 阅读 · 0 评论 -
程序员成长之旅——C语言库函数的补充
程序员成长之旅——库函数的补充strtokstrerror大小写字符转换tolowertouppermemcmpmemsetstrtokchar *strtok( char *str, const char *sep );通俗理解的话就是:strtok是用来分割字符串,第一个参数是分隔符分隔的标记(0个或者多个),第二个参数就是分隔符,而这个函数的功能就是第一个如果不是空的标记的话,...原创 2019-07-15 14:58:21 · 159 阅读 · 0 评论 -
程序员成长之旅——C语言扫雷
程序员成长之旅——C语言扫雷原创 2019-05-13 20:12:39 · 352 阅读 · 0 评论 -
程序员成长之旅——c语言数组
程序员成长之旅——c语言数组原创 2019-04-29 22:55:42 · 192 阅读 · 0 评论 -
程序员成长之旅——c语言函数
程序员成长之旅——c语言函数函数函数是什么?C语言函数的分类:库函数如何学会使用库函数?自定义函数函数的参数函数的调用:练习函数的嵌套调用和链式访问嵌套调用链式访问函数的声明和定义函数递归什么是递归?递归的两个必要条件递归和迭代函数这篇博客给大家分享一下函数的基本使用和递归。函数是什么?在计算机科学中,子程序(英语:Subroutine,procedure,function,routi...原创 2019-04-28 21:44:15 · 339 阅读 · 0 评论 -
程序员成长之旅——c语言操作符
程序员成长之旅——c语言操作符操作符算术操作符移位操作符位操作符赋值操作符单目操作符sizeof和数组关系操作符逻辑操作符条件操作符逗号表达式下标引用,函数调用和结构成员表达式求值隐式类型转换算术转换操作符算术操作符+ - * / % 1.除了 % 的操作符以外,其它几个操作符均可用于整数和浮点数。2. / 操作符如果两个操作数是整数则执行整数除法,而...原创 2019-04-27 18:44:45 · 285 阅读 · 0 评论 -
程序员成长之旅——C语言三子棋
程序员成长之旅——三子棋简易介绍三子棋三子棋编程过程三子棋代码总览简易介绍三子棋进行了这么多天的c语言学习,今天给大家讲一下三子棋是如何用c语言实现的,当然作为新手写出来的有点挫,但是在不断的学习中还是可以进行不断的优化,发表一篇博客就是想记录一下自己水平提升的过程。首先我们大家都玩过三子棋吧,它的规则就是在一个九宫格上三点成一线,无论是横,竖,还是对角线,只要有一方成一线就赢了。如果...原创 2019-04-21 21:09:59 · 678 阅读 · 0 评论 -
程序员成长之旅——C语言分支循环语句(初阶)
程序员成长之旅——分支循环语句分支语句if语句switch语句循环语句for循环while循环do...while()循环goto语句分支语句if语句switch语句循环语句for循环while循环do…while()循环goto语句...原创 2019-04-20 16:14:38 · 165 阅读 · 0 评论 -
程序员成长之旅——初识c语言(浅谈)
c语言是什么?C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括一些类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。第一个c语言程序...原创 2019-04-07 20:19:05 · 362 阅读 · 0 评论 -
程序员成长之旅——c语言给定两个整形变量的值,将两个值的内容进行交换。
用c语言实现这道题大体分为两种情况,一种是加变量另一种是不加变量。1.含有变量#include<stdio.h>#include<stdlib.h>int main(){int a = 2, b = 4, c = 0;c = a;a = b;b = c;printf(" a=%d\n b=%d\n ", a, b);system(“pause”);r...原创 2019-04-02 14:42:23 · 216 阅读 · 0 评论 -
程序员成长之旅——C语言旋转字符函数实现
程序员成长之旅——C语言旋转字符函数实现题目介绍方法一方法二方法三题目介绍实现一个函数,可以左旋字符串中的k个字符。ABCD左旋一个字符得到BCDAABCD左旋两个字符得到CDAB方法一采用循环移位,对需要旋转的k个字符按顺序进行旋转,先将要旋转的一个字符保存起来,将后面的往前挪动一位,再将保存起来的这个字符赋给最后一位,这样连续循环k次。#include<stdio....原创 2019-06-27 08:49:59 · 762 阅读 · 0 评论 -
程序员成长之旅——C语言模拟实现strcpy和strncpy
程序员成长之旅——模拟实现库函数原创 2019-07-14 17:20:20 · 165 阅读 · 0 评论 -
程序员成长之旅——C语言模拟实现strcat和strncat
程序员成长之旅——模拟实现strcat和strncatMystrcatMystrncatMystrcat#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<assert.h>char* Mystrcat(char* dest, const char*...原创 2019-07-14 17:26:28 · 181 阅读 · 0 评论 -
程序员成长之旅——C语言模拟实现strcmp和strncmp
程序员成长之旅——模拟实现strcmp和strncmpMystrcmpMystrncmpMystrcmp#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<assert.h>int Mystrcmp(const char* str1, const c...原创 2019-07-14 17:32:26 · 140 阅读 · 0 评论 -
程序员成长之旅——C语言模拟实现strchr和strstr
程序员成长之旅——模拟实现strchr和strstrMystrchrMystrstrMystrchr#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<assert.h>char* Mystrchr(const char* str1, char st...原创 2019-07-14 21:19:00 · 115 阅读 · 0 评论 -
程序员成长之旅——C语言模拟实现memcpy和memmove
程序员成长之旅——模拟实现memcpy和memmoveMymemcpyMymemmove不同之处Mymemcpy#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<assert.h>void* Mymemcpy(void* dest,const vo...原创 2019-07-15 14:02:36 · 165 阅读 · 0 评论 -
程序员成长之旅——C语言冒泡排序
程序员成长之旅——冒泡排序冒泡排序普通函数排序(整数)库函数排序(任意数)自己创建一个函数排序(任意数)冒泡排序普通函数排序(整数)#include<stdio.h>#include<stdlib.h>void bubble_sort(int *arr,int sz){ int i = 0; int j = 0; for (i = 0; i <...原创 2019-05-31 22:20:17 · 2329 阅读 · 0 评论