[TOP]
选择《C程序设计》作为自己C的入门书,感觉前面几章还是比较容易理解的。粗读一遍,不求甚解。
简介
常识类
机器语言->(<-汇编程序)汇编语言->(<-编译程序)高级语言
高级语言时期->非结构化->结构化->面向对象
8个byte=1字节 0~255
整数存放:补码形式(以1字节为例)
正数 即二进制存放 如5 00000101
负数 取绝对值的二进制,取反(0变1,1变0),再加1 如-5 11111011
历史
起源BCPL(1967Martin Richards)->B(1970Ken Thompson)->C(1972D.M.Ritchie)
标准C89->C99
基本
程序结构
源程序文件
1.1 预处理指令
1.2 全局声明
1.3 函数定义- 函数
2.1 函数首部
2.2 函数体 - 程序是从main函数开始执行的
- 输入输出不是C语言提供的而是库内置函数完成的
运行步骤
输入程序->编译->连接处理->运行可执行程序
程序设计
- 问题分析
- 设计算法
- 编写程序
- 编译连接
- 运行,分析结果
- 编写程序文档
算法
data structure 程序中要制定用到那些数据以及这些数据的类型和数据的组织形式
algorithm 对操作的描述
data structure + algorithm = program
算法是程序的灵魂,数据结构是程序的肉体
算法特性
- 有穷
- 确定 每个步骤不能模棱两可
- 有0或多个输入
- 有至少1个输出
- 有效性 比如1/0是无效的
算法的表示
- 自然语言描述 可以理解为一般客户说他想要啥样的产品/结果
- 流程图 初中即学过的流程图
#####三种基本结构 - 顺序结构
- 选择结构
- 循环结构
3.1 while
3.2 until(do…while) - N-S流程图 无需箭头,更美观
- 伪代码描述 没有语法能懂逻辑就行为交流而生
- 计算机语言描述 即使用各语言来实现
程序设计基本方法
- 自顶向下 先想要达到什么目的,要干什么
- 逐步细化 再想分成几步走,怎么走
- 模块化设计 每一步最好各自分开,不要出现一步走错全部重来
- 结构化编码 遵循基本结构使更逻辑更清晰
数据结构
- 常量 # define
- 变量
常变量 C99 例const int a=3
符号常量在预编译的时候就把符号替换为值了,而常变量的名字是占存储单元的。
标识符 即各种名字
数据类型
运算符
运算符的优先级
运算符种类
- 算数运算符 +-*/
- 关系运算符 <>==>=<=!=
- 逻辑运算符 !&&||
- 位运算符 >> << ~ | ^ &
- 赋值运算符 =
- 条件运算符 ?:
- 逗号运算符 ,
- 指针运算符 * &
- 求字节数运算符 sizeof
- 强制类型转换运算符 (类型)
- 成员运算符 . ->
- 下标运算符 []
- 其他 函数调用运算符()
C语句种类
1.控制语句
1.1 if…else…
1.2 for()…
1.3 while()…
1.4 do…while()…
1.5 continue
1.6 break
1.7 switch
1.8 return
1.9 goto
2. 函数调用
3. 表达式
4. 空语句
5. 复合语句
输入输出
printf
常用格式:d,o,x,u,c,s,f,e
例 %m.nf m为数据宽度 n为小叔位数
scanf
putchar/getchar
选择结构
if…else…
关系运算符和关系表达式
逻辑运算符和逻辑表达式
条件运算符和条件表达式
结构嵌套
switch
循环结构
while
do…while
for()…
循环嵌套
改变循环状态
break 终止
continue 结束本次(本圈)循环
后记 一遍读完觉得貌似学到什么又觉得什么也没学到,一篇读书笔记是必要的。C语言是走向高级大招技能的前置技能点,务必研究扎实。