
C语言
文章平均质量分 75
aketoshknight
如果找不到人生的意义,活着就是为了死亡
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
学习笔记---文件基础
概述文件读写读/写指定格式以字符为单位从文件读入fscanf(文件指针,格式字符串,输入表列);int fgetc(FILE *fp);写到文件中fprintf(文件指针,格式字符串,输出表列);int fputc(int ch,FILE *fp);概念:指存储在外部介质上的数据原创 2017-06-08 21:40:50 · 1344 阅读 · 0 评论 -
学习笔记---链表
链表链表基础定义:链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。特点:1.结点地址不连续2.用上一结点中的地址,才能找到下一结点结点:定义:组成链表的基本单元组成:用户需要用的实际数据 下一个结点的地址图示:解析:1.每个正方形代表一原创 2017-02-12 22:25:01 · 599 阅读 · 0 评论 -
学习笔记---结构体
结构体原创 2017-02-09 19:13:00 · 729 阅读 · 0 评论 -
学习笔记---二维数组-数组指针-指针数组
二维数组基础使用定义及初始化定义:类型标识符 数组名 [常量表达式] [常量表达式]初始化:分行:例:int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};特点:直观,方便。不分行:例:int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};特点:展现二原创 2017-01-19 23:41:14 · 874 阅读 · 0 评论 -
学习笔记---字符串提高-库函数的应用与改动
字符串处理库函数字符函数库include 常用字符处理函数函数原型功能返回值int isalnum(int ch);判断ch是否是数字或字母字符返回非零值,否则返回0int isalpha(int ch);判断ch是否是字母如果ch是字母,返回非零值,否则返回0int iscnt原创 2017-01-17 16:50:27 · 382 阅读 · 0 评论 -
学习笔记---字符串初步
字符串基础: 实质:以'\0'为结束标识的字符数组定义和初始化:char str[]={"I am happy"};或char str[]="I am happy"; 字符数组和字符串定义的差别 定义方法 内存中实质存储的元素 解析 char str1[]={'h','a','p','p','y'}; h a p p...原创 2017-01-17 00:07:37 · 367 阅读 · 0 评论 -
学习笔记---预处理
预处理(编译预处理)预处理命令:C语言中以符号“#”开头的命令示例:#define... #include... #ifdef...含义:1.在对程序进行编译之前,根据预处理命令对程序进行相应处理。2.经过预处理后编译程序才可以对程序进行编译等处理,得到可供执行的目标代码。示意图:解析:如图,源程序经过编译和连接生成可执行文件原创 2017-02-06 22:01:39 · 601 阅读 · 0 评论 -
学习笔记---递归
递归算法举例:数学归纳法证明一个与自然数n有关的命题P(n),有如下步骤:1.证明当n取第一个值a时命题成立(a对于一般数列取值为0或1)2.假设当n=k(k>=a,k为自然数)时命题成立,证明当n=k+1时命题也成立。例:对于求n的阶乘可分为以上两种思路原创 2017-02-04 18:14:26 · 405 阅读 · 0 评论 -
学习笔记---指针法访问数组、数组的实质、数组/指针作为函数参数
指针法访问数组首先,通过一个小程序来初步窥探数组的实质:#include #include /*这个程序用于测试数组的实质*/#define n 5int main(){ int a[n]={123,5,9,11,33}; printf("%d\n",a);//如果直接输出数组名字所代表的值 printf("%x\n",a);//如果用16进制原创 2016-12-29 19:03:56 · 1008 阅读 · 0 评论 -
学习笔记---多维数组及多级指针的使用
多维数组使用多维数组做函数参数原创 2017-01-22 23:28:21 · 1736 阅读 · 0 评论 -
学习笔记---main函数参数-动态存储管理与动态数组
main函数参数常用形式:main(int argc,char *argv[]);参数解析:int argc; 命令行由几部分构成char *argv[]; 指针数组,指向各部分的字符串代码示例:#include #include //这个程序用来测试main函数参数int main(int argc,char *argv[]){原创 2017-01-25 22:46:04 · 542 阅读 · 0 评论 -
学习笔记---动态规划
动态规划(多阶段决策)意义:求解决策过程最优化的数学方法基本思想:将待求解的问题分为若干个阶段,即若干个互相联系的子问题,在求解子问题的过程中逐步推导出原问题的解。核心:在求解子问题的过程中,存储子问题的解。注1:动态规划的思想实际上和递归相似。都是通过逐步推导,得到答案。而用它们解题时的核心也都是求出“递推公式”。但动态规划和递归的一大区别是:动态原创 2017-04-25 10:13:23 · 459 阅读 · 0 评论 -
学习笔记---位运算
位运算位运算符优先级运算符功能结合方式2~按位取反由左向右5>左移 右移由左向右8&按位与由左向右9^按位异或由左向右10|按位或由左向右左移、右移运算符:运算规则:将变量的二进制原创 2017-05-02 20:30:07 · 643 阅读 · 0 评论 -
学习笔记---枚举类型、联合体、自定义类型
枚举类型定义:将变量的值一一列举出来,变量的值只能在列举出来的值的范围内的数据类型。作用:使用户能够自己定义标识符表示变量的值。(类似宏定义中定义常量的作用,但枚举类型是批量的,整合的。且在代码中而非编译中执行的)语法:声明:enum 枚举类型名 {枚举常量表列};例如:enum Color {red,black,white};则:Color原创 2017-05-01 19:43:11 · 462 阅读 · 0 评论 -
学习笔记---回溯算法与贪心算法
回溯意义:编程解决问题时,常遇到需要例遍所有可能性来求解问题的情况。此时,回溯将是不错的选择。代码示例:#include #include #include /*这个程序用来测试回溯算法在解决问题中的应用*//*八皇后问题:经典的八皇后问题,即在一个8*8的棋盘上放8个皇后,使得这8个皇后无法互相攻击( 任意2个皇后不能处于同一行,同一列或是对角原创 2017-03-12 17:30:20 · 1090 阅读 · 0 评论 -
学习笔记---检索与排序
排序定义:使一组数据有序化的过程分类:比较类算法(冒泡排序法、快速排序法、堆排序法)、非比较类算法(简单计数排序等)快速排序法:简述:1.找序列中的一个数(一般取首元素data[0])作为基数2.首先确定基数在排好序的数组中的位置,将其保存到该位置上(保证比基数小的数都在基数左边,而比基数大的数都在基数右边。则基数就在其该在的位置上了)3原创 2017-03-05 12:20:09 · 677 阅读 · 0 评论 -
学习笔记---大型程序基础
多文件组织概念:当一个完整的程序被存放在多于一个文件中时,称为程序的多文件组织。意义:在设计一个功能复杂的大程序时,为了便于程序的设计和调试,通常将程序分成若干个文件,把实现一个模块的程序或数据放在一个文件中。调用外部函数代码示例:main.c:#include #include int max(int x,int y);//对m原创 2017-02-02 23:36:08 · 595 阅读 · 0 评论 -
学习笔记---变量的类型
变量的类型程序对内存的使用:变量的存储类别分为:自动的(auto)寄存器的(register)外部的(extern)静态的(static)自动变量(auto variable)例如:int f(int a){ auto int b,c=3;//b和c为整型的自动变量}存储位置:动态数据区特性:在定义时自原创 2016-12-21 19:39:13 · 710 阅读 · 0 评论 -
学习笔记---文件读写
C语言文件读写熟悉的printf(),scanf(),getchar(),putchar()等语句,都是将数据输出到标准输出stdout(显示器),或从标准输入stdin(键盘)读取数据。并要依赖include 但当需求操作的数据量十分巨大时,标准的输入和输出就显得力不从心了。而通过从磁盘文件中读写数据,能够弥补这个缺陷。数据传输:解析:1.原创 2016-12-18 13:26:28 · 821 阅读 · 0 评论 -
学习笔记---排序与查找的算法
查找排序原创 2016-12-28 16:49:54 · 808 阅读 · 0 评论 -
学习笔记---数组初步
数组意义:定义一段连续的内存空间用于保存一组同类型的数据。格式:定义:类型标识符 数组名 [常量表达式];注1:同一个数组的每一个元素都必须属于同一数据类型。注2:一个数组在内存中占用一片连续的存储单元。注3:当定义数组时,中括号内的常量表达式换成变量时,数组的大小将变成动态的。但这种定义方法是C99中新增的,在C89中不被允许。引用:数组名原创 2016-12-26 19:14:05 · 563 阅读 · 0 评论 -
学习笔记---库函数
C语言中的库函数函数库:概述:函数库是由系统建立的具有一定功能的函数的集合详解:1.库中存放函数的名称和对应的目标代码,以及连接过程中所需的重定位信息。(目标代码以二进制保存,调用时可以直接运行,不需要额外编译。)2.用户也可以根据自己的需要建立自己的用户函数库库函数:概述:存放在函数库中的函数详解:1.库函数明确定义了功能、参数和返回值(函数三原创 2016-12-22 15:54:53 · 746 阅读 · 0 评论 -
学习笔记---条件运算符
条件运算符条件运算符: ?:条件表达式: 表达式1 ? 表达式2 : 表达式3运算法则: max=(a>b)?a:b;(使max得到a和b中的较大者)当表达式1的值为真时,整个表达式的值等于表达式2的值,当表达式1的值为假时,整个表达式的值等于表达式3的值 优先级 运算符 结合方式 13 ?: 由右向左 14 = 由右向左 15 , 由原创 2016-12-13 16:30:47 · 727 阅读 · 0 评论 -
学习笔记---C语言中全局变量,变量,常量的定义与使用
变量与常量的基础使用原创 2016-11-23 17:35:05 · 8579 阅读 · 0 评论 -
学习笔记---自增(++)和自减(--)
自增自减运算符的理解要点原创 2016-11-23 18:25:48 · 534 阅读 · 0 评论 -
学习笔记---C语言数据类型
C语言的基础数据类型的书写,阅读要点;基础数据类型的占用字节和取值范围;通过代码获取数据类型占用字节的方法;原创 2016-11-22 16:06:02 · 470 阅读 · 0 评论 -
学习笔记---字符型数据
字符型数据字符常量:用单引号括起来的字符,如:'a' , '#' , '%' , 'D' 。原创 2016-11-30 20:22:54 · 1736 阅读 · 0 评论 -
学习笔记---C语言运算符规则及数据类型的自动/强制转化规则
数据类型的转换要点数学库函数原创 2016-11-22 19:42:54 · 939 阅读 · 0 评论 -
学习笔记---三种循环
while语句实现循环结构:while(表达式){ 语句;}或while(表达式) 语句;当while后小括号中表达式的值为真(大于零)时,循环执行while之下的语句(大括号中的内容或当没有大括号时,while下紧邻的一句)。代码示例:#include #include /*这个程序用来测试while循环语句*/int main()原创 2016-12-13 16:47:56 · 449 阅读 · 0 评论 -
学习笔记---赋值运算符与逗号运算符
赋值运算符:赋值运算符优先级运算符功能结合方式14= += -= *= /= &= ^= |= >=各种赋值由右向左赋值表达式: 如:int a;a = 3;赋值运算符的作用是:使=如a=3;这条语句中:a是左值,=是赋值运算符,3是右值。这条语句的执行结果便是使a的值变为3。原创 2016-11-29 19:54:30 · 1770 阅读 · 0 评论 -
学习笔记---关系运算符、条件表达式、逻辑运算
关系运算符:关系运算符运算符意义 小于 小于等于 >大于 >=大于等于 ==等于 !=不等于优先级:优先级优先级运算符结合方式6 = >由左到右7 == !=由左到原创 2016-12-07 17:42:26 · 1668 阅读 · 0 评论 -
学习笔记---if和switch的使用方法和要点
注:这两个语句的基础应用十分简单,所以这里不过多阐述if选择结构当满足条件时,执行一个语句块。当不满足条件时,执行另一个语句块。示例代码:#include #include /*这个程序用来测试简单的if语句。*/int main(){ int a,b,c; scanf("%d %d",&a,&b); if(a>b)原创 2016-12-08 06:43:45 · 1552 阅读 · 0 评论 -
学习笔记---C程序结构、C语言基础语句总结
C语言程序结构结构图:解析:源程序文件:如创建C程序时的main.c等等预处理命令:如C程序代码开头的include 等等全局变量声明:诸如:函数:如每个C程序都有的 int main(){},以及我们自定义的诸如 int gcd(){} 函数首部:定义函数的类型和传入参数(如int main())函数体:定义函数内部的功能({}这原创 2016-12-18 12:05:43 · 690 阅读 · 0 评论 -
学习笔记---全局与局部变量
变量类型由变量作用域划分,变量分为全局变量和局部变量变量作用域含义:变量的有效范围全局变量(全程变量)定义:在函数外定义的变量作用域:从定义变量的位置到本源文件结束注:作用域是从变量定义的位置开始的!在变量定义前即使是全局变量也无法被调用局部变量定义:在函数/复合语句内部定义的变量作用域:从定义的位置到函数/复合语句结束原创 2016-12-21 17:58:59 · 858 阅读 · 0 评论 -
学习笔记---几种基本的算法于几种优化程序的方法
辗转相除法原创 2016-12-14 20:37:05 · 772 阅读 · 0 评论 -
学习笔记---自定义函数提高---2
自定义函数提高第二部分函数原型:函数声明的形式函数原型与函数定义的一致:1.返回值类型一致2.函数名一致3.参数个数一致4.参数类型一致5.参数顺序一致示例://以下的函数声明方式是等价的float max(float,float);float max(float x,float y);float max(floa原创 2016-12-21 16:51:05 · 388 阅读 · 0 评论 -
学习笔记---自定义函数提高---1
自定义函数提高第一部分参数传递:值传递意义:为形式参数分配空间后,将实际参数的值赋给形式参数特点:对形式参数做的任何操作都不会影响实际参数代码示例:#include #include /*这个程序用来测试函数值传递*/void myswap(int,int);int main(){ int a,b; scan原创 2016-12-21 14:50:30 · 861 阅读 · 0 评论 -
学习笔记---自定义函数基础
自定义函数三要素:函数名、函数返回值、函数参数。用于实现模块化程序设计:将一个大的程序划分成若干程序模块,每个模块实现一定的功能么,以方便分工,或降低开发难度。程序进行调试时,分别对每一模块进行调试,在较小的范围内查错并改正。核心思想:自顶向下,逐步求精。总结:降低程序的复杂度,使程序设计、维护、阅读、原创 2016-12-20 18:52:29 · 897 阅读 · 0 评论 -
学习笔记---C语言中的数据存储原理
位数的数据类型的取值的关系;数据溢出;单精度和双精度浮点型的精度差别;浮点型数据误差相关;原创 2016-11-23 20:20:06 · 1043 阅读 · 0 评论 -
学习笔记---初识指针
变量与变量指针:变量:当定义一个变量,系统即赋予其对应的内存空间。变量的数据类型将影响变量得到的内存的大小如:int 型变量的字节数为4,因此当定义一个int 型变量时。系统将随机的取4个连续的内存单元作为该变量的存储空间。比如 int i =100;float f=2.3; char c='k'; 内存中可能这样给这几个变量分配空间:这...原创 2016-11-27 19:30:36 · 430 阅读 · 0 评论