
C语言笔记
Floydwish
在路上
展开
-
计算机语言基础
最近在针对学过的课程进行一些知识点的整理,就当做对先前学过的知识来一次总结吧! 暂定将每一门课程梳理成一个系列。 嗯,就是这样1、基本介绍 时至今日,计算机仍然采用存储程序结构,即冯•诺依曼结构 存储程序结构将一部计算机描述成四个主要部分:算术逻辑单元、控制电路、存储器及输入输出设备 这些部件通原创 2016-01-18 15:54:29 · 416 阅读 · 0 评论 -
文件操作
1、基础知识 文件:存储在计算机外部存储器中数据的集合 操作:计算机根据文件名对文件进行操作 单位:C语言将文件看作字符序列,即字符流,其基本存储单位是字节 形式:按ASCII码存放,称为ASCII文件(文本文件) 按二进制存放,称为二进制文件 二者的比较: ASCII文件:字节与字符一一对应,方便字符处理和阅读,占用存储空间较大 二进制文件:节省存储空间,无需ASC原创 2016-01-20 15:08:58 · 374 阅读 · 0 评论 -
内存管理
1、C程序运行时的内存结构 静态数据区:全局变量,static修饰的局部变量 代码区 : 程序指令,大部分字面常量 栈区 :函数形参,局部变量(大部分) 堆区 :动态分配的内存 寄存器组 :函数形参,局部变量(小部分)2、变量生存期 定义:一个变量占有内存空间的时间段 C++将变量的生存期分为3种:静态、自动、动态 静态生存期:全局变原创 2016-01-20 10:54:36 · 292 阅读 · 0 评论 -
结构体、联合体、枚举
1、结构体 结构体类型一般形式: struct 结构体名 { 类型名1 成员名1; 类型名n 成员名n; }; struct :结构体类型标志 结构体名:用户定义标识符 成员 :结构体组成成分,成员名命名规则与变量名相同 注:定义结构体类型,只是说明结构体的组成,编译系统并未给其分配内存空间,就像系统不为 int 等类型本身分原创 2016-01-19 22:07:31 · 874 阅读 · 0 评论 -
数组、指针、字符串
1、数组 数组元素个数必须是一个固定的值,可以是整形常量、符号常量及整形常量表达式 数组下标可以是整形常量、整形变量或者整形表达式 数组可以全部初始化,此时元素个数可以省略;也可部分初始化,元素个数不可省略 数组初始化的赋值方式只能用于数组的定义,定义之后再赋值只能一个一个元素赋值2、内存地址 计算机内存是以字节为单位的存储空间,内存的每一个字节都有一个唯一的编号,这个编号就是地址。当C程序中定义原创 2016-01-19 20:04:56 · 551 阅读 · 0 评论 -
函数
1、C程序由一个主函数和其他函数构成,主函数是必须的,其他函数被主函数调用或者其他函数之间相互调用 分为三类:主函数main() 库函数 自定义函数 C程序从主函数开始执行,其他函数只有在被主函数或其他正在执行的函数调用时才能被程序执行,执行后返回调用原创 2016-01-19 18:20:34 · 366 阅读 · 0 评论 -
编译预处理
1、所有编译预处理命令均以“ # ”开头 编译预处理共分为: a.宏定义 b.文件包含 c.条件编译2、宏定义 作用:在编译预处理时,将源程序中所有标识符替换成语句序列 分为:有参宏 和 无参宏 无参宏:纯替换 示例:#define PI 3.14 有参宏: 源程序中所有标识符替换成字符串,并将字符串中的参数用实际参数替换 #define 标识符(参数表) 字符串 #define S(a原创 2016-01-19 14:22:32 · 483 阅读 · 0 评论 -
变量初窥
1、局部变量 定义在函数内部,只对当前函数有效 与外部变量重名时,以内部为准(局部作用域)2、全局变量 定义在函数外部,对所有函数有效 作用域:从定义到程序结束 作用:主要用于函数之间数据的传递 注:全局变量所有函数共享,其值发生改变时,将会造成全局的影响,即影响程序原创 2016-01-19 11:05:12 · 338 阅读 · 0 评论 -
位运算
1、简介 & :按位与,主要用于将某个数 清零 或 取某几位 | :按位或,常用来将某个数的某一位 设为 1 ^ :按位异或,常用来做特定位的反转,或与 0 异或 从而保留原值 例: 交换两数 int a=2 , b=3; 用异或交换两个数原创 2016-01-19 08:53:44 · 301 阅读 · 0 评论 -
符号及优先级
1、算术运算符 两整数相除结果仍为整数 例:5 / 2 = 2 求余运算要求两运算元素均为整型,且余数仍为整型 例:5 / 2 = 2 余 12、自增、自减运算符 i++:后置自增,先使用变量 i 后加 1 ++i:前置自增,先将变量 i 加 1 后使用原创 2016-01-18 21:22:39 · 921 阅读 · 0 评论 -
C语言简介及进制换算
1、C语言历史 C语言是由丹尼斯•里奇于1970年在B语言的基础上设计的,主要用于编写UNIX操作系统; 随着UNIX的广泛应用,C语言得到普及 1983年,美国国家标准化协会(ANSI)制订了C语言标准,即ANSI C2、C语言特点 a.丰富的数据结构 b.结构化的控制语句原创 2016-01-18 20:14:00 · 771 阅读 · 0 评论 -
数据类型
1、定义 程序 = 数据结构 + 算法 C语言的数据结构以数据类型的方式出现2、分类3、变量定义与赋值 C规范:变量由字母、数字、下划线构成,不可由数字开头 赋值:= 等号:== 浮点型赋给整型变量:舍弃小数部分原创 2016-01-18 19:25:25 · 285 阅读 · 0 评论 -
基本结构
C程序 3 种基本结构:顺序结构:按照代码书写顺序依次执行选择结构:对给定条件进行判断,根据判断结果决定执行哪一个分支循环结构:给定条件成立时重复执行某段程序1、if-else 功能:提供2个分支选择,进行关系表达式检查、逻辑真假判断 条件:表达式 2、switch-case原创 2016-01-18 18:05:37 · 321 阅读 · 0 评论 -
数据在内存中对齐方式 #pragma pack
在程序中,有的时候我们定义结构体的时候,要用#pragma pack(push,1) & #pragma pack(pop)类似代码将结构体包起来。一般形式如下:#pragma pack(push,1);struct A{ } ;#pragma pack(pop);这么做有什么目的呢? 注:下列内容来自网络。2 #pr转载 2016-12-26 17:31:30 · 442 阅读 · 0 评论