C程序设计笔记1-5章,简介/数据类型/结构

原创 2017年01月03日 21:32:49

[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 预处理指令
    1.2 全局声明
    1.3 函数定义

  2. 函数
    2.1 函数首部
    2.2 函数体
  3. 程序是从main函数开始执行的
  4. 输入输出不是C语言提供的而是库内置函数完成的

运行步骤

输入程序->编译->连接处理->运行可执行程序

程序设计

  1. 问题分析
  2. 设计算法
  3. 编写程序
  4. 编译连接
  5. 运行,分析结果
  6. 编写程序文档

算法

data structure 程序中要制定用到那些数据以及这些数据的类型和数据的组织形式
algorithm 对操作的描述
data structure + algorithm = program

算法是程序的灵魂,数据结构是程序的肉体

算法特性

  1. 有穷
  2. 确定 每个步骤不能模棱两可
  3. 有0或多个输入
  4. 有至少1个输出
  5. 有效性 比如1/0是无效的

算法的表示

  1. 自然语言描述 可以理解为一般客户说他想要啥样的产品/结果
  2. 流程图 初中即学过的流程图
    #####三种基本结构
  3. 顺序结构
  4. 选择结构
  5. 循环结构
    3.1 while
    3.2 until(do…while)
  6. N-S流程图 无需箭头,更美观
  7. 伪代码描述 没有语法能懂逻辑就行为交流而生
  8. 计算机语言描述 即使用各语言来实现

程序设计基本方法

  1. 自顶向下 先想要达到什么目的,要干什么
  2. 逐步细化 再想分成几步走,怎么走
  3. 模块化设计 每一步最好各自分开,不要出现一步走错全部重来
  4. 结构化编码 遵循基本结构使更逻辑更清晰

数据结构

  1. 常量 # define
  2. 变量
  3. 常变量 C99 例const int a=3

    符号常量在预编译的时候就把符号替换为值了,而常变量的名字是占存储单元的。

  4. 标识符 即各种名字

数据类型

数据类型

运算符

运算符的优先级

运算符种类
  1. 算数运算符 +-*/
  2. 关系运算符 <>==>=<=!=
  3. 逻辑运算符 !&&||
  4. 位运算符 >> << ~ | ^ &
  5. 赋值运算符 =
  6. 条件运算符 ?:
  7. 逗号运算符 ,
  8. 指针运算符 * &
  9. 求字节数运算符 sizeof
  10. 强制类型转换运算符 (类型)
  11. 成员运算符 . ->
  12. 下标运算符 []
  13. 其他 函数调用运算符()

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语言是走向高级大招技能的前置技能点,务必研究扎实。

版权声明:本文为博主原创文章,未经博主允许不得转载。

C语言程序设计笔记(一)

1.计算机和编程语言 - 程序是用特殊的编程语言写出来表达如何解决问题的 - 不是用编程语言来和计算机交谈、而是描述要求它如何做事的过程和方法 - 辗转相除法(在数据结构中,这称为自然语...
  • fj_Author
  • fj_Author
  • 2015年06月01日 00:52
  • 1000

c语言学习----循环结构程序设计(2)

个人感觉,循环结构比较有意思。像很多复杂的计算,交给电脑来做就可以了。写上两行代码,坐享其成,何乐不为。 break和continue语句 break语句  break语句的一般形式如...
  • liuxiaocong2
  • liuxiaocong2
  • 2016年08月04日 11:01
  • 1211

Android编程权威指南(第二版)学习笔记(十六)—— 第16章 使用 intent 拍照

本章主要讲了如何使用 intent 拍照,存储照片和展示照片
  • kniost
  • kniost
  • 2017年01月12日 17:55
  • 393

《C++Primer》学习笔记(1-5章)

 第一章 文件头及声明 关于extern 使用extern 声明而不定义,它是说明变量定义在程序其他地方   全局不初始化的extern int i; 是声明不定义;只要声明并且有初...
  • gggg_ggg
  • gggg_ggg
  • 2014年09月11日 12:45
  • 538

C程序设计语言笔记

本文主要记录C语言“圣经”——《C程序设计语言》
  • lincoln_2012
  • lincoln_2012
  • 2014年07月10日 17:15
  • 1103

学习C语言入门心得笔记

当我们看到C语言是第一感觉一定是茫然的 , 那一串串字符就不知道什么意思,它又具有什么样的特点 ,到底有什么作用 C语言的特点为 a.语言简洁.方便。灵活 b.运算符丰富,范围广 c.数据类型...
  • zch0127
  • zch0127
  • 2016年09月25日 08:58
  • 603

吴恩达deeplearning.ai课程系列笔记05(下)

#写在最前,deeplearning.ai系列课程相较于之前的Andrew Ng在coursea上2014发布的机器学习课程内容更加丰富。 重要的是此次课程示例代码都是用python来实现,不需要去...
  • lahuilei
  • lahuilei
  • 2017年10月29日 19:33
  • 46

重新学习《C++Primer5》第1-5章

第一章 开始1.输入输出 流:随着时间的推移,字符是顺序生成或消耗的;std::cout...
  • yanglusheng
  • yanglusheng
  • 2016年04月11日 17:29
  • 672

C语言笔记之数据类型(一)

因为对于不同大小的数,所需要的存储空间大小不同。如果都用4个字节存储,那么肯定不用分数据类型,但是好浪费哦~所以,本着节省内存的考虑,数据类型就诞生了。C的数据类型分为基本数据类型和复合数据类型,后者...
  • u012668018
  • u012668018
  • 2015年05月01日 15:49
  • 907

java语言程序设计 第十二章 (12.11、12.12、12.13、12.14)

程序小白,希望和大家多交流,共同学习 import java.util.Scanner; import java.io.File; import java.io.PrintWriter;publi...
  • cheng_cuo_tuo
  • cheng_cuo_tuo
  • 2017年10月23日 22:47
  • 128
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C程序设计笔记1-5章,简介/数据类型/结构
举报原因:
原因补充:

(最多只允许输入30个字)