摘要: 专题 动态内存分配的问题 传统数组的缺点 1>数组长度必须事先指定,且只能是长整数,不能是变量 例子:int a[5];//OK int len = 5; int a[len]; // error 2>传统形式定义的数组,该数组的内存程序员无法手动释放 在一个函数运行期间,系统为该函数中数组所分配的 阅读全文
posted @ 2020-06-21 21:46 itsalexSun 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 结构体 利用结构体造出一个新的数据类型,这个新的数据类型是由基本数据类型所组合成的 为什么需要结构体 为了表示一些复杂的事物,而普通的基本类型无法满足实际的要求 什么叫结构体 把一些基本类型数据组合在一起,形成一个新的复合数据类型,这个叫做结构体 如何定义结构体 /* 2020年6月19日22:37 阅读全文
posted @ 2020-06-21 21:38 itsalexSun 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 指针和数组 指针和一维数组 1.1>一维数组名 ​ 一维数组名是一个指针常量,它存放的是一维数组的第一个元素的地址 # include <stdio.h> int main(void) { int a[5]; //a是数组名 5是数组元素的个数 元素就是变量 a[0] -- a[4] // int 阅读全文
posted @ 2020-06-21 21:34 itsalexSun 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 指针 指针就是地址,地址就是指针 地址就是内存单元的编号 指针变量是存放地址的变量 指针和指针变量是两个不同的概念‘ 但是要注意:通常我们在叙述时,会把指针变量简称为指针,实际含义并不一样 # include <stdio.h>​int main(void){ int * p; // p是变量的名字 阅读全文
posted @ 2020-06-21 21:26 itsalexSun 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 函数的声明 如何在软件开发中合理的设计函数来解决实际问题 1. 一个函数的功能尽量独立单一 2. 多学多模仿牛人的代码 常用的系统函数 double sqrt(double x); 求x的平方根 int abs(int x) 求x的绝对值 double fabs(double) 求x的绝对值 变量的 阅读全文
posted @ 2020-06-21 21:21 itsalexSun 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 函数 为什么需要函数 避免了重复性的操作 有利于程序的模块化 什么叫函数 逻辑上:能够完成特定功能的独立的代码块 物理上:能够接收数据【当然也可以不接受数据】 能够对接收的数据进行处理 能够将数据处理的结果返回【当然也可以不返回任何值】 总结:函数是一个工具,为了解决大量类似问题而设计的 函数可以当 阅读全文
posted @ 2020-06-21 21:19 itsalexSun 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 数组 为什么需要数组 为了解决大量同类型数据的存储和使用问题 ; 为了模拟现实世界 数组的分类 一维数组 怎样定义一维数组 为n个变量连续分配存储空间 所有的变量数据类型必须相同 所有变量所占的字节大小必须相等 例子:int a[5] 一维数组名不代表数组中所有的元素 一维数组名代表数组第一个元素的 阅读全文
posted @ 2020-06-21 21:14 itsalexSun 阅读(181) 评论(0) 推荐(0) 编辑
摘要: break和continue break break如果用于循环是用来终止循环 break如果用于switch,则是用来终止switch break不能直接用于if,除非if属于循环内部的一个子句 # include <stdio.h>int main(void){ int i;​ for(i=0; 阅读全文
posted @ 2020-06-21 21:09 itsalexSun 阅读(133) 评论(0) 推荐(0) 编辑
摘要: while 执行顺序 格式: while(表达式) 语句; 与for的相互比较 for(1;2;3) A 等价于 1; while(2) { A; 3; } while和for亏相互转换,但是for的逻辑性更强,更不容易出错,推荐多使用for 举例 什么时候使用while,什么时候使用for 没法说 阅读全文
posted @ 2020-06-21 21:05 itsalexSun 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 浮点数的存储所带来的问题 float 和double都不能保证可以精确的存储一个小数 例子: float i = 99; printf("%f\n", i); 在VC6.0中的结果是:99.900002 举例: 有一个浮点型变量x,如何判断x的值是否是零 if(|x - 0.000001| < =0 阅读全文
posted @ 2020-06-21 21:04 itsalexSun 阅读(242) 评论(0) 推荐(0) 编辑
摘要: if 的常见问题解析 空语句的问题 if (3>2); 等价于 if(3>2) ;//这是一个空语句 /* 2020年6月6日15:20:51 目的:如果if后面有;的话,结果会是什么样​​*/​​# include <stdio.h>int main(void){ if(1>2); printf( 阅读全文
posted @ 2020-06-21 21:03 itsalexSun 阅读(398) 评论(0) 推荐(0) 编辑
摘要: C语言常见的误区 对一些小算法的程序 尝试自己去编程解决他,大部分人自己都无法解决 如果解决不了,就看答案 关键是把答案看懂,这个要花很大的时间,也是我们学习的重点 看懂之后尝试自己修改程序,并且知道修改之后程序的不同输出结果的含义 照着答案去敲 调试错误 不看答案自己独立的敲出来 如果实在无法彻底 阅读全文
posted @ 2020-06-21 20:58 itsalexSun 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 流程控制 1.什么是流程控制 程序代码执行的顺序 2.流程控制的分类 顺序执行 选择执行 定义:某些代码可能执行,也可能不执行,有选择的执行某些代码 分类: if 2.1 if最简单的用法 格式:if (表达式) 语句 语句: 如果表达式为真,执行语句 如果表达式为假,语句不执行 2.2 if的范围 阅读全文
posted @ 2020-06-21 20:55 itsalexSun 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 算术运算符 + - * / % 取余%的运算对象必须是整数,结果是整除后的余数,其余数的符号与被除数的相同。 如: 13 % 3 = =1 13%-3 == 1 -13%3 1 -13%23 13 -13% -23 == -13 关系运算符 < <= ! = == 逻辑运算符 !(非) &&(并且) 阅读全文
posted @ 2020-06-21 20:52 itsalexSun 阅读(255) 评论(0) 推荐(0) 编辑
摘要: scanf()【通过键盘将数据输入到变量中】 两种用法: 用法一:scanf("输入控制符", 输入参数); 功能:将从键盘输入的字符转化为输入控制符所规定格式的数据,然后存入以输入参数的值为地址的变量中。 用法二:scanf("非输入控制符 输入控制符", 输入参数); 功能:非输入控制符必须原样 阅读全文
posted @ 2020-06-21 20:48 itsalexSun 阅读(811) 评论(0) 推荐(0) 编辑
摘要: 1.代码的规范化 书籍推荐 林锐 《高质量C/C++编程》 2.什么是字节 字节就是存储数据的单位,并且是硬件所能访问的最小单位。 1字节 = 8位 1K = 1024字节 1M = 1024K 1G = 1024M CPU只能控制到字节。 3.不同类型数据之间相互赋值的问题 4.什么是ASCII 阅读全文
posted @ 2020-06-21 20:45 itsalexSun 阅读(170) 评论(0) 推荐(0) 编辑