游离于城市

班级

TA还未加入任何班级

课程

2万+浏览/ 670学员/ 5评分
kent
免费
3万+浏览/ 726学员/ 4评分
2万+浏览/ 1123学员/ 4评分
Cross
免费
编程开发 C语言程序设计
1万+浏览/ 692学员/ 4评分
Cross
免费
8008浏览/ 210学员/ 3.6评分

笔记

来自C语言概述(1)

1. 历史:    (1)丹尼斯里奇1972年在B语言基础上设计出来, 用于编写UNIX操作系统    (2)1977年出现不依赖于具体PC系统的可移植的C语言编译程序, 78年可将C移植到其他系统    (3)1983年美国国家标准化协会(ANSI)制定出C语言标准, 目前的各种版本C都是以它为基础2. 用途:绘图能力强(3D,2D,动画),数据处理能力强, 嵌入式, 底层操作           C在大型软件开发上比较吃力3. %<输出宽度><格式符>   输出宽度(包括输出数值和符号在内):正数靠右,负数靠左4. scanf&printf的格式:(格式控制,地址列表);scanf的地址列表格式是:&+变量5. 开发C程序步骤:编辑-编译-连接-运行, 源文件以ASCII码形式存储, 不含任何格式样式, 需要将源程序编译成二进制形式计算机才能识别, 编译后为.obj扩展名.连接之后生成.exe计算机才可执行, C环境下可选择"RUN"命令运行    环境:Turbo C    最初文件扩展名:.C6. 题外话:肯·汤普逊从BCPL(接近硬件的语言,前身CPL)基础上设计出的B语言, 并以此开发UNIX系统, 丹尼斯里奇在B基础上开发出C语言, 两人在1983年同时获得图灵奖,两人都是贝尔实验室的7. C的历程:CPL->BCPL->B->C

来自变量类别与编译预处理(1)

1. 自动变量(auto可缺省):只有当程序执行到自动变量作用域时才为自动变量分配内存空间, 函数执行结束后自动释放该空间    视频18:542. 静态变量(static):从定义到程序执行结束前一直占用内存空间, 不会随着函数结束而结束, 只有程序执行完之后才会释放空间3. 寄存器变量(register):能够提高运算速度, 从寄存器中伛数据比内存中读取快    (1)只有自动变量可以是寄存器变量,全局和静态不行    (2)函数调用时占用寄存器,结束时释放    (3) 寄存器数目有限, 不能使用太多, 如果寄存器使用饱和, 程序将自动转为自动变量处理    (4) 只限于int,char和指针类型4. 全局变量:extern声明能够让多个文件引用, static声明只能单个文件调用5. 宏定义:实际上就是给字符串重新定义一个名称或标识符来代替这一串字符串, 在编译预处理时将标识符替换成字符窜。   (1)一般用于当程序中多处地方需要调用到这个标识符时才需要定义, 提高程序可读性, 便于调试和程序的移植   (2)define / undef, 双引号扩起来的字符串内的字符不进行宏替换操作       define 标识符(参数表) 字符串   (3)带参数的宏比用函数有更高的执行效率, 因为函数调用在程序运行时执行, 而宏替换只在编译预处理阶段进行6. 文件包含(#include):一个源程序文件可包含另外一个文件的全部内容    (1)#include <文件名>, 在头文件所在目录中寻找文件, 文件中定义说明了一些函数的用途    (2)#include "文件名", 当前目录下寻找->path命令自动搜索路径查找->头文件所在目录查找, 效率较低    (3)如果有嵌套文件包含, 则需要按最后包含的文件按顺序进行include说明

来自函数(0)

1. 函数无返回值为void。2. 空函数, input(){}, 主要用于在执行多个操作时以空函数为间隔便于逐步调试每一个操作。3. 传统函数定义方式(基本已经不用了,可稍微了解下):float max(x, y)              float x,y;              {函数体} 4. 函数的参数可以是常量、变量、表达式或有返回值的函数。5. 函数在调用前必须要在主函数中事先声明, C中函数不能嵌套定义, 但是可以嵌套调用其他函数6. 函数递归调用, 主要解决具有递归性质的问题, 需要注意的是递归调用必须满足一定条件时结束递归调用, 否则会形成死循环。n!=n*(n-1)!=n*(n-1)*(n-2)!

来自数组(0)

1. 同一类型的数组的数据存储是存放在一个连续的空间中, 是一组连续的数据项2. 视频14:37, 一维数组的存储示意图    char a[2] 每个占用1字节, 共2字节    int b[2] 每个占用2字节, 共4字节    long c[2] 每个占用4字节, 共8字节3. 整型没赋值的话默认初始值是04. 一维数组的初始化形式:    int a[3]={0,1,2}    int a[5]={0,1,2}    int a[]={0,1,2}    多维数组的初始化形式:    int a[2][3]={{1,2,3},{4,5,6}}    int a[2][3]={{},{,2}}5. 数组初始化的赋值方式只能在数组定义时赋值, 定义之后再赋值只能针对数组中的单个元素赋值。6. 视频27:35, 多维数组存储示意图    多维数组的存储地址也是连续的7. 形参与实参的意思    比如定义一个函数test(int a), 这里a就是形参, 当调用函数test(2)时, 这里2就是实参。当形参被引用且修改时, 实参也会变化, 两者是不同名字但引用的是同一个地址    视频44:59有例子

留言

功能维护升级中,维护完成完后将再次开放,非常抱歉给您学习造成的不便。