02 2023 档案

摘要:循环语句的基本工作方式 -通过条件表达式判定是否执行循环体 -条件表达式遵循if语句表达式的原则 do、while、for的区别 -do语句先执行后判断,循环体至少执行一次 -while语句先判断后执行,循环体可能不执行,适合于次数不定的场合 -for语句先判断后执行,相比while更简洁,适合于循 阅读全文
posted @ 2023-02-26 22:29 ys_nana 阅读(58) 评论(0) 推荐(0)
摘要:if语句用于根据条件选择执行语句 else不能独立存在且总是与它之前最近的if相匹配 else语句后可以连接其他if语句 注意: 零值比较 --bool型变量应该直接出现在条件中,不要进行比九澳 --变量和0值比较时,0值越高出现在比较符左边 --float型变量不能直接进行0值比较,需要定义精度 阅读全文
posted @ 2023-02-26 22:23 ys_nana 阅读(34) 评论(0) 推荐(0)
摘要:C语言中的变量可以有自己的属性 在定义变量的时候可以加上“属性”关键字 “属性”关键字指明变量的特有意义 语法:property type var_name; auto即C语言中局部变量的默认属性 auto表明将被修饰的变量存储于栈上 编译器默认所有的局部变量都是auto的 register关键字指 阅读全文
posted @ 2023-02-26 22:11 ys_nana 阅读(40) 评论(0) 推荐(0)
摘要:1.强制类型转换 long l = 800; int i = (int)l; 2.隐式类型转换 short s = 800; int i = s; 3.强制类型转换的语法 --(Type)var_name; --(Type)value; 强制类型转换的结果: --目标类型能够容纳目标值:结果不变 - 阅读全文
posted @ 2023-02-26 21:59 ys_nana 阅读(59) 评论(0) 推荐(0)
摘要:浮点数的转换 --将浮点数转换成二进制 --用科学计数法表示二进制浮点数 --计算指数偏移后的值 注意: 计算指数时需要加上偏移量,而偏移量的值与类型有关 eg:对于指数6,偏移后的值如下 float 127 + 6 》133 double 1023 + 6 》1029 float能表示的具体数字的 阅读全文
posted @ 2023-02-19 19:01 ys_nana 阅读(30) 评论(0) 推荐(0)
摘要:数据类型的最高位用于标识数据的符号 -最高位为1,表明这个数为负数 -最高位为0,表明这个数为正数 *在计算机内部用补码表示有符号数 -正数的补码就是正数本身 -负数的补码为负数的绝对值各位取反后加1 *在计算机内部用源码表示无符号数 -无符号数默认为正数 -无符号数没有符号位 C语言中变量默认为有 阅读全文
posted @ 2023-02-19 18:48 ys_nana 阅读(90) 评论(0) 推荐(0)
摘要:1.数据类型 --数据类型可以理解为固定内存大小的别名 --数据类型是创建变量的模子 --变量是一段实际连续存储空间的别名 --程序中通过变量来申请并命名存储空间 --通过变量的名字可以使用存储空间 2.小结 --数据类型的本质一个模子 --数据类型代表需要占用的内存大小 --变量的本质是一段内存的 阅读全文
posted @ 2023-02-19 18:36 ys_nana 阅读(18) 评论(0) 推荐(0)
摘要:多文件之间的访问 源文件--代码实现文件,后缀.c 头文件--源文件的接口定义文件,后缀.h #include用于声明使用其他文件的功能(头文件可看作工具包) #include<...>在编译系统文件中查找头文件 #include"..."先查找当前工程文件夹,再查找编译系统文件夹 注意: stat 阅读全文
posted @ 2023-02-12 23:52 ys_nana 阅读(43) 评论(0) 推荐(0)
摘要:C语言中可以堆类型赋予新名字 语法:typedef Type NewTypeName 注意:typedef并没有创建新类型,只是创建了类型别称 eg:typedef int aa; typdef可以在函数中定义,“”局部类型名 eg:typedef int(pFunc*)(int*, int*) i 阅读全文
posted @ 2023-02-12 23:43 ys_nana 阅读(75) 评论(0) 推荐(0)
摘要:可以定义指针的指针保存其他指针变量的地址 eg:Type v; Type* pv = &v; Type** ppv = &pv; Type*** pppv = &ppv; ... 二维数组 二维数组的本质就是一维数组< >数组中的元素就是以为数组 int a[2][2];< >a就是&a[0] a[ 阅读全文
posted @ 2023-02-12 23:21 ys_nana 阅读(40) 评论(0) 推荐(0)
摘要:1.堆空间的本质 --备用的“内存仓库”,以字节为单位预留的可用内存 --程序可在需要时从“仓库”中申请使用内存(动态借) --当不需要再使用申请的内存时,需要及时归还(动态还) 2.void* --void类型时基础类型,对应的指针类型为void* --void*时指针类型,其指针变量能保存地址 阅读全文
posted @ 2023-02-12 23:14 ys_nana 阅读(49) 评论(0) 推荐(0)
摘要:1.深入函数 --函数的本质是一段内存中的代码(占用一片连续内存) --函数拥有类型,函数类型有返回值和参数类型列表组成 eg:int sun(int n) <==>int (int) void swap(int* pa, int* pb)<==>void (int* ,int*) void g(v 阅读全文
posted @ 2023-02-12 23:01 ys_nana 阅读(64) 评论(0) 推荐(0)
摘要:C语言中的宏(函数“”缺陷的补充) --宏是C语言中代码复用的补充方式 --宏定义语法:#define MACRO(param) code_segment --宏使用语法: #define ADD(a, b) a + b ADD(1, 2) 宏与函数不同 --宏不是函数,没有函数调用的过程 --宏是 阅读全文
posted @ 2023-02-12 22:43 ys_nana 阅读(142) 评论(0) 推荐(0)
摘要:1.数组的本质 就是一片连续的内存; 2.一些事实 -使用取地址操作符&获取数组的地址 -数组名可看作一个指针,代表数组中0元素的地址 -当指针指向数组元素时,可进行指针运算(指针移动) eg:int a[] = {1, 2, 3, 4, 5}; int* p = a;//a<==>数组名<==>& 阅读全文
posted @ 2023-02-12 13:47 ys_nana 阅读(76) 评论(0) 推荐(0)
摘要:1.初学指针的军规 --Type*类型的指针只保存Type类型变量的地址 --禁止不同类型的指针相互赋值 注意:指针保存的地址必须是有效地址 eg:int i = 10; float f = 10; int* pi = &f;(错误) pi = i;(错误) 2.小结 --指针是变量,因此赋值时必须 阅读全文
posted @ 2023-02-12 13:25 ys_nana 阅读(61) 评论(0) 推荐(0)
摘要:1.因为是变量,所以用于保存具体值,特殊之处,指针保存的值是内存中的地址 --内存地址:内存就是计算机中的存储部件,每个存储单元有固定唯一的编号 --内存中存储单元的编号即内存地址 2.事实 程序中的一切元素都存在于内存中,因此,可通过内存地址访问程序元素 3.语法 指针定义语法:type * po 阅读全文
posted @ 2023-02-12 13:18 ys_nana 阅读(50) 评论(0) 推荐(0)
摘要:1.静态变量 --static是C语言中的关键字 --static修饰的局部变量创建与全局数据区(拥有程序生命期) --static修饰的全局变量只有文件作用域(文件之外无法访问) --static局部变量只会初始化一次,作用域与普通变量无异 --static将变量存储于全局数据区,默认值为0 -- 阅读全文
posted @ 2023-02-11 17:07 ys_nana 阅读(125) 评论(0) 推荐(0)
摘要:1.区域 不同种类的变量位于不同区域 全局数据区:存放全局变量,静态变量 栈空间:存放函数参数,局部变量 堆空间:用于动态创建变量 2.生命期 生命期:变量从创建到销毁的时间(即:合法可用的时间) --全局数据区中的变量 程序开始运行时创建,程序结束时被销毁,整个程序运行期合法可用(自动销毁); - 阅读全文
posted @ 2023-02-11 16:58 ys_nana 阅读(49) 评论(0) 推荐(0)
摘要:局部变量--函数内部定义的变量(隶属于当前函数) --只能在当前函数中访问 全局变量--全局范围内的变量(不特定隶属于任意一个函数) --可以在任意函数中访问 同名变量的问题 -不同函数中的局部变量可以同名(不会产生冲突) -全局变量不能同名(会产生命名冲突) -当局部变量和全局变量同名时,优先使用 阅读全文
posted @ 2023-02-10 07:02 ys_nana 阅读(86) 评论(0) 推荐(0)
摘要:函数定义时参数没有具体值,函数调用时指定参数初始值 函数参数在函数内部等同于普通变量 在C语言中,数组作为函数参数传递时,大小信息丢失 在函数内部修改数组形参,将影响数组实参 一般而言,在定于数组参数时,需要同时定义数组大小参数 阅读全文
posted @ 2023-02-09 22:46 ys_nana 阅读(86) 评论(0) 推荐(0)
摘要:C语言中存在空类型(void),这种类型表示“空” void时基础类型,不是基础数据类型,不能定义变量 void可用于函数参数,表示函数无参数 void可用于函数返回类型,表示函数无返回值 C语言中函数不需要参数,一定要用以下方式 void func(void) { } 不能不写参数 阅读全文
posted @ 2023-02-09 22:42 ys_nana 阅读(222) 评论(0) 推荐(0)
摘要:函数在被调用之前必须完整定义 函数可以先被声明,再被定义 声明时,必须给出函数的三要素(函数名、参数列表、返回类型) 定义时,必须完整给出函数体定义 阅读全文
posted @ 2023-02-09 22:38 ys_nana 阅读(370) 评论(0) 推荐(0)
摘要:1.main() 是应用程序与操作系统的一个“约定”; 当操作系统运行应用程序时,首先调用的就是main()函数; 应用程序必须运行于操作系统,接受操作系统管理 2.应用程序的运行 3.深入理解函数调用过程 4.小结 main()时程序的入口函数(第一个被调用的函数) main()函数被操作系统调用 阅读全文
posted @ 2023-02-09 21:59 ys_nana 阅读(120) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2023-02-09 21:49 ys_nana 阅读(24) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2023-02-06 22:40 ys_nana 阅读(7) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2023-02-06 22:17 ys_nana 阅读(19) 评论(0) 推荐(0)
摘要:数值初始化技巧 1. 自动确定数组大小 type Name[ ] = {v1, v2, v3, v4.......}; 2. 将部分数组元素初始化为0 type Name[N] = {v1, v2, v3, v4......vs} ; //s < N 3. 将所有数组元素初始化为0 type Nam 阅读全文
posted @ 2023-02-06 21:16 ys_nana 阅读(30) 评论(0) 推荐(0)
摘要:const不是常量,是只读变量,只能做右值 阅读全文
posted @ 2023-02-05 22:18 ys_nana 阅读(27) 评论(0) 推荐(0)
摘要:1. long在使用不同编译器时,可能占用的内存不同; 2. long通常占用4字节内存,也可能占用8字节内存; 3. long long表示整型,固定占用8字节内存;long long = long long int; 阅读全文
posted @ 2023-02-04 22:37 ys_nana 阅读(313) 评论(0) 推荐(0)
摘要:数据类型本质就是内存 char / unsigned char 1个字节 short / unsigned short 2个字节 int / unsigned int 4个字节 float 4个字节 double 8个字节 阅读全文
posted @ 2023-02-04 22:25 ys_nana 阅读(37) 评论(0) 推荐(0)
摘要:switch 和 case使用int case遇到break退出 default默认分支 阅读全文
posted @ 2023-02-03 07:37 ys_nana 阅读(39) 评论(0) 推荐(0)
摘要:右移,高位补符号位,低位移除(正整数符号位为0,负整数符号位为1) 16 >> 2 等价为 16 /( 2 * 2) 左移,高位移除,低位补零,最高位为1时,表示负数。16 << 2 等价为 16 *( 2 * 2) 阅读全文
posted @ 2023-02-02 22:23 ys_nana 阅读(225) 评论(0) 推荐(0)
摘要:char 占一个字节的整型,可表示英文字符 阅读全文
posted @ 2023-02-02 22:10 ys_nana 阅读(28) 评论(0) 推荐(0)
摘要:语言: type name = (type) var eg: int age = (int)18.5; double num = (double)2; age = (int)num; 不强制转换,编译器也会悄悄转换 类型转换不会改变原变量的值 类型转换可能会出现错误,数据溢出。 阅读全文
posted @ 2023-02-01 23:03 ys_nana 阅读(74) 评论(0) 推荐(0)
摘要:字面量就是数值 字面量也有类型 2 int 0.2--double 0.06f--float 'c'--char 阅读全文
posted @ 2023-02-01 22:50 ys_nana 阅读(61) 评论(0) 推荐(0)
摘要:1.赋值 int num; num = 0; 2.初始化 int num = 0; 阅读全文
posted @ 2023-02-01 22:35 ys_nana 阅读(94) 评论(0) 推荐(0)