
C语言入门学习
该专栏主要为C语言学习的系列总结
__MrCool
飘飘何所似,天地一沙鸥
展开
-
C语言文件操作
有时候程序运行后会有我们要操作的数据,或是存储的数据,例如我们前面所写的 通讯录程序,我们就需要存储联系人的信息,然而在程序运行完了之后,我们的信息就都会消失,因为我们的数据都在内存上。如果我们要永久性的存储需要存在外存上。这时候就到了C语言的文件操作登场了。目录文件的分类文件指针文件基本操作操作函数文件名称文件打开方式附加1、字符读写2、字符串读写文...原创 2018-11-21 23:16:38 · 370 阅读 · 0 评论 -
动态内存开辟 :malloc calloc realloc free 函数
一、为什么要有动态内存开辟? 1)空间开辟大小是固定的。 2.) 数组在申明的时候,必须指定数组的长度,它所需要的内存在编译时分配。 二、有哪些动态开辟工具? 1、void* malloc(size_t ize)函数 这个函数向 在堆上分配一块长度为size字节的连续区域,返回该区域的首地址。 如果开辟成功,则返回一个指向开辟好空间的指针...原创 2018-11-20 23:20:44 · 311 阅读 · 0 评论 -
C语言数据的集合——结构体
方便编程的构造数据类型叫做数组。数组里的元素必须是同意类型的,但是要是类型不同又要怎么处理呢?C语言里面又有另一个构造数据类型——结构体。和他相似的还有枚举、联合。目录1、>结构体类型创建2、>结构体初始化3、>结构体内存对齐4、>位段,位段计算机大小。5、>枚举+联合。6、>实现一个通讯录; >结构体类型创建 ...原创 2018-11-17 22:22:07 · 4054 阅读 · 2 评论 -
qsort的使用
一、了解qsort(1)编译器函数库万能数组排序函数排序函数。它是基于快速排序算法,所以是q sort。q 指的是 quick。快速qsort 的函数原型是void qsort(void*base,size_t num,size_t width,int(__cdecl*compare)(const void*,const void*));各参数:base : 待排序数组首...原创 2018-11-08 23:52:33 · 1810 阅读 · 0 评论 -
字符串部分函数的重写和memcpy、memmov
(这里面的字符串有些是没有进行是否为空的判断,自行参考一下。assert()断言是预告版内容,比较草率,没有详解)1.实现strcpy 这个函数是一个复制的作用。在实际运用中应该就是需要需要修改某一个字符串,但是又要保留原有数据,这就需要把它复制到另一个字符串里面。//C语言//模拟实现strcpy//strcpy的格式是//strcpy(str,str2)/...原创 2018-11-04 17:24:47 · 554 阅读 · 0 评论 -
strlen和sizeof的陷阱
1、strlen在C语言中,strlen是一个函数,计算字符串长度,遇见 ' \0 ' 停止。如果没有 ' \0 ' 将在内存中一直寻找,直到寻找到了'\0'停止。所以strlen还是存在很大的风险的。而且参数必须是字符型指针(char*)。当数组名作为参数传入时,实际上数组就退化成指针了。所以当函数的参数是数组的时候,不要在函数内部使用strlen,因为这样算的是不是数组的长度,而是一个...原创 2018-11-04 13:43:27 · 1122 阅读 · 0 评论 -
C的精髓——指针
指针是一种数据类型,属于这种类型的变量,为指针变量。下面介绍主要是针对指针不同的用法。目录1、内存、地址与指针2、指针变量和变量指针3、 二级指针和多级指针4、指针数组和数组指针 5、指针函数和函数指针 内存、地址与指针 在计算机的内存里,一个字节就是一个内存单元,不同的数据类型在不同的操作系统下所占的内存带能源是不一样的。比如不同操作系统...原创 2018-11-04 12:01:53 · 370 阅读 · 0 评论 -
数组和字符串的运用
1、调整数组使奇数全部都位于偶数前面。题目:输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。思路简析:判断第一个数是不是奇数,若果是奇数,那就不移动,然后看下一个数,如果是偶数,那就把这个数放在最后一个位置。如果有发现一个偶数,就放在倒数第二个位置,以此类推。当后面向前移动的位置和要比较的那个数重合了。...原创 2018-10-31 20:38:12 · 364 阅读 · 0 评论 -
C语言数据存在形式——数组,字符串
目录介绍数组定义数组初始化sizeof关键字数组的访问数组运用字符串定义字符串初始化字符串函数strlen和sizeof和陷阱字符串运用 介绍 ==》 数组: 在程序设计时,为了处理时的方便,通常把同类型的若干数据变量按有序的组织起来(分配一段连续的储存空间),这些数据元素的集合就是数组。==》 字符串:通俗的讲就是一串字符。这些...原创 2018-10-30 23:32:08 · 1390 阅读 · 0 评论 -
C语言函数调用的运用(2)
三子棋小游戏 规则:不能三个相同的符号连城一线,横竖斜//C语言#define _CRT_SECURE_NO_WARNINGS#define ROW 3#define COL 3#include<stdio.h>#include<stdlib.h>#include<time.h>#include<Windows.h>...原创 2018-10-30 11:03:42 · 214 阅读 · 0 评论 -
C语言函数调用的运用
为了函数的具体运用。来个扫雷游戏具体学习 这就是调用的具体学习。虽然补充的晚了点。但也是抽时间慢慢的学习与补充。写完这个扫雷游戏。不仅对函数的调用有了很好的掌握,而且对编程的兴趣有提高了一层(毕竟要有一个编程思维的提升)。这个代码也是在挫折与BUG中成长起来,可能会有不足的地方。比如菜单的地方太过草率。还有中间的某些算法太过冗长。但是代码的可读性还是比较好的。后面还有一个少稍微加了点内...原创 2018-10-28 00:15:39 · 2746 阅读 · 0 评论 -
C语言运算符的运用
第一个问题 1、编写函数:unsigned int reverse_bit(unsigned int value);这个函数的返回值value的二进制位模式从左到右翻转后的值。如:在32位机器上25这个值包含下列各位:00000000000000000000000000011001翻转后:(2550136832)10011000000000000000000000000000...原创 2018-10-27 19:01:38 · 2597 阅读 · 0 评论 -
C语言的奇经八脉——运算符
即使有了变量和常量,也不能进行日常程序的处理,需要用某种方式将变量常量的关系表示出来,这就是运算符的作用,就像任何零件都需要导线和一些小部件来进行链接才能发挥作用。目录运算符种类运算符的优先级运算符详解 >>算术运算符(+、-、*、/、%) >>关系运算符(<、>、<=、>=、==、!=) &g...原创 2018-10-21 00:11:44 · 567 阅读 · 0 评论 -
C语言CPU——函数
函数是C语言的基本模块,通过对函数模块的调用实现特定的功能。A>函数避免了过长的main函数B>使代码更美观C>是可读性更强!博文内容函数的理解函数的定义——调颜料函数的参数——元素参数中的函数——回调函数函数的进阶——递归原色红白黑——库函数综合的运用#函数的 基础知识 函数的理解 函数并不只是数学那样的函数,一...原创 2018-10-08 23:31:29 · 1276 阅读 · 0 评论 -
程序的运行过程
目录>黑科技typedefstaticgoto语句>程序的执行过程编辑编译链接执行在介绍内容之前,先对前面的内容更新几个黑科技。 >黑科技 typedef typedef可以更改类型的名称,如果你觉得类型名不好听,就用这个关键字自己重新定义,当然这个定义只是在这个程序中,其他程序是不影响的。具体运用:类型名...原创 2018-10-07 12:53:27 · 831 阅读 · 0 评论 -
常胜将军的小游戏
#第二次模拟游戏练手小代码。##常胜将军的实现###对if语句的运用和对数学应用题的趣解。有部分库函数正在学习//C语言#include<stdio.h>#include<stdlib.h>#include<Windows.h>void main() { int i; printf("************************...原创 2018-10-06 15:38:57 · 406 阅读 · 0 评论 -
程序中的数学
#数学趣题 新郎新娘问题 /*3对情侣参加婚礼,3个新郎分别为A,B,C, 3个新娘分别为X,Y,Z,有人想知道究竟谁与谁结婚,于是就问新人中的三位,得到如下结果:A说他将和X结婚;X说她的未婚夫是C;C说他将和Z结婚.这人事后知道他们在开玩笑,说的全是假的. 那么,究竟谁和谁结婚呢! *///C语言#include<stdio.h>#include<stdl...原创 2018-10-05 19:39:29 · 830 阅读 · 0 评论 -
VS调试技巧
我觉得在无脑写代码得到时候,如果结果有问题,我们不能只看代码,应该注重代码执行的整个过程,然后发现错误的所在。这需要我们熟悉自己使用的工具。VS2017正是我所使用的工具。不仅要熟悉工具的使用,每当程序的结果不是我们所要的结果的时候,就需要通过我们工具的功能来修正错误,这就是本博文内容。 VS常用快捷键 ✦F5: 启动调试 ✦Ctrl+F5: 开始执行(不调试)...原创 2018-10-04 20:13:29 · 425 阅读 · 0 评论 -
一个恶搞自己的程序
#关机程序的简单学习回顾以前的一个恶搞程序。简单的关机程序。(应该是恶搞自己)//C语言//使用了goto语句。危险语句。scanf编译错误。加宏。#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<string.h>void ma...原创 2018-10-03 20:02:22 · 379 阅读 · 0 评论 -
复习
#无聊时可以学习书上的例题,亲自动手实现。##业精于勤荒于嬉!1、在屏幕上输出以下图案:菱形的打印*************************************************************************************//C语言//输出菱形#include<stdio.h>#include...原创 2018-10-02 23:19:41 · 727 阅读 · 0 评论 -
猜数字游戏
综合前面的语法,进行下面的学习。折半查找算法。 又称二分查找。执行二分查找的前提,必须是要查找的数据都是有序的。比如数组必须是有序的数组,要么递增要么递减。假设数组是递增的,查找它的大概流程是,从最中间数据开始查找,然后与输入数据比较,如果数据大于中间数据,则去右边查找,反之去左边查找,又从中间查找。如果到最后一个数没找到就退出。//C语言int half_find(int...原创 2018-10-01 23:47:11 · 475 阅读 · 0 评论 -
C语言语句——判断(2)
C语言判断之if1、一般形式(1)if(真条件){语句}(2)if(条件){语句1 }else{语句2 }2、原理探究第一种:当条件为真时,执行语句。第二种:如果 if 的条件为真,执行语句1,否则执行 else 的语句2。3、示例+复习三色球问题:一个口袋中放有12个球,已知其中3个是红的,3个是黄的, 6个是绿的,现从中任取8个,问共有...原创 2018-09-30 17:45:57 · 506 阅读 · 0 评论 -
C语言语句——判断(1)
C语言判断之swichswitch语句,即“开关”语句;case即“情况”。1、一般形式:swich(真条件){case 1: 表达式; break;...default: 表达式}2、不推荐形式swich(真条件){case 1:case 2: 表达式;...原创 2018-09-28 23:49:09 · 923 阅读 · 0 评论 -
C语言语句——循环(2)
C语言的while循环 一般形式 while ( 条 件 ) { <循环体> } 形式例解 当条件为真,则执行下面的循环体;循环体里包含了迭代量的更,语句执行完之后再判断表达式是否为真,如果为真,再次执行下面的语句;然后再判断表达式是否为真……就这样一直循环下去,直到表达式为假,跳出循...原创 2018-09-27 22:50:46 · 787 阅读 · 0 评论 -
C语言语句——循环(1)
✦C语言的for循环前面的一些基本概念学习完了,就该学习语法了。就像学完了词组,再来学习语法,这样才能组成句子。 概念 C 语言 for 循环语句的一般形式为:for (<迭代量初始化>;<条件表达式>;<迭代>){ 循环体语句;}从初始条件开始,看是否满足条件表达式,满足则根据更新条件来更新迭代量,可能是自增,自减,指向下一...原创 2018-09-26 19:41:13 · 671 阅读 · 0 评论 -
C语言——扬帆起航
博文是学习总结,请参考部分教导书籍进行阅读本博文目录C语言的由来C语言入门♢数据类型(32位环境)♢关键字♢变量和常量♢转义字符第一个程序 C语言的由来 1963年,剑桥大学将ALGOL 60语言发展成了CPL(combined programming language)1967年,剑桥大学的Matin Richar对CPL做了简化,于是产生了B...原创 2018-09-25 18:14:01 · 561 阅读 · 0 评论