C语言学习提纲

1.程序设计和C语言

程序:就是一组计算机能识别和执行的指令。

低级语言

完全依赖具体机器特性,面向机器的语言,由于”贴近“计算机。
机器语言:能直接识别和接受的二进制代码称为机器机器指令。机器指令的集合称为该计算机的机器语言
符 语言:计算机不能直接识别和执行符 语言的指令,需要用汇编程序把符 语言的指令转换为机器指令。又称汇编语言

高级语言

与具体机器距离较远,故被称为计算机高级语言。
编译程序把用高级语言写的程序(源程序)转换为机器指令的程序(目标程序),高级语言的一个语句往往对应多条机器指令

高级语言发展阶段

  1. 非结构化的语言。如早期BASIC,FORTRAN。
  2. 结构化语言
  3. 面向对象的语言

C语言特点

  1. 语言简洁、紧凑、使用方便、灵活。只有37个关键字,9种控制语句。 C语言不直接提供输入和输出语句、有关文件操作的语句和动态内存管理的语句等由编译系统提供的库函数来实现。
  2. 运算符丰富
  3. 数据类型丰富。
  4. 具体结构化的控制语句(if-else)、while、do-while
  5. 语法限制不太严格,程序设计自由度大。
  6. 允许直接访问物理内存,能进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。
  7. 可移植性好。
  8. 生成目标代码质量高,程序执行效率高

C语言程序结构

  1. 一个程序由一个或多个源程序文件组成
    预处理指令全局声明函数定义
  2. 函数是C程序的重要组成部分
  3. 一个函数包括两个部分
    函数首部:函数名,函数类型,函数属性,参数,参数类型
    函数体:声明部分,执行部分
  4. 程序总是从main函数开始执行,而不论main在程序中的位置如何
  5. 程序对计算机的操作由函数中的C语句完成的。
  6. 每个数据声明和语句的最后必须有一个分
  7. C语言本身不提供输入输出语句
  8. 程序应当包含注释

运行C的步骤与方法

  1. 对源程序进行编译。先用预处理器对程序中的预处理指令进行编译预处理。由预处理得到的信息与程序其他部分一起,组成一个完整的、可以用来进行正式编译的源程序,然后由编译程序对该源程序进行编译。 当没有语法错误时,编译程序把源程序转换为二进制形式的目标程序
    编译时,自动包括预编译正式编译,用户不必分别发出二次指令。

  2. 进行连接处理。一个程序可能包含若干个源程序文件,必须把所有的编译后得到的目标文件连接装配起来,再与库函数相连接成一个整体,生成可供计算机执行的目标程序,称为:可执行程序

  3. 运行可执行程序

程序设计的任务

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

2.算法

一个程序主要包括以下两方面的信息:

  1. 对数据的描述。(数据结构)
  2. 对操作的描述。(算法)

沃思提出公式:
算 法 + 数 据 结 构 = 程 序 算法+数据结构=程序 +=
计算机算法分成两大类别:数值运算算法非数值运算算法

算法的特征

  1. 有穷性:有限个操作步骤
  2. 确定性:每一个步骤应当是确定的。
  3. 有零个或多个输入
  4. 有一个或多个输出
  5. 有效性:每个步骤都应当能有效地执行,并得到确定的结果。

算法的表示方法

  1. 自然语言

三种基本结构与改进的流程图

BS(a bowl of noodle)算法的弊端:流程图毫无规律,如同乱麻。

基本结构

  1. 顺序结构
  2. 选择结构
  3. 循环结构
    当型(while):如果条件成立则执行。
    直到型(until):执行至条件成立。

共同特点: 只有一个出口,只有一个入口。结构内每一部分都有机会被执行。结构内不存在死循环。

N-S流程图

    整形

    1. 基本整形int。(2字节或4字节)
      数值范围-32768~32767或 2 31 , 2 31 1 -2^{31},2^{31}-1 /span>231231/span>1
    2. 短整型short int (2字节)
    3. 长整形long int(4字节)
    4. 双长整形long long int(8字节 C99支持
      in addition:不严格要求空间大小,但满足以下条件
      s i z e o f ( s h o r t ) ≤ s i z e o f ( i n t ) ≤ s i z e o f ( l o n g ) ≤ s i z e o f ( l o n g l o n g ) sizeof(short)leq sizeof(int)leq sizeof(long)leq sizeof(long long) sizeof(short)sizeof(int)sizeof(long)sizeof(longlong)

    (符 ) 数字取值范围

常量类型确定

整形常量需注意有效范围。在一个整数末尾加L或l表长整型。
浮点型常量 以小数或指数形式出现的实数,是浮点型常量。
C程序中实型常量都是double常量
可以在常量末尾加专用字符,强制指定常量类型。

类型是变量的共性、抽象,不占用存储单元、不能用来存放数据

运算符

算术运算符

  1. 变量地址不能写成变量名
  2. 格式控制字符串如果还有其他字符,则必须在对应位置输入相应字符
  3. 用%c时空格和转义字符中的字符都为有效字符输入
  4. 在输入数值数据时,如输入回车,空格、Tab或非法字符则认为该数据结束

字符输入输出

  1. putchar(c)
    输出字符c,c可以是字符常量、变量,整形常量、变量。在ASCII范围内。
  2. getchar()
    从计算机中断获得一个字符。不仅能获得一个显示的字符,而且可以获得在屏幕上无法显示的字符、如控制字符。

4.选择结构

关系运算符和关系表达式

C语言学习提纲
说明:关系运算符优先级低于算术运算符,高于赋值运算符。

关系表达式:

用关系运算符将两个数值或数值表达式连接起来的式子。 关系表达式的是一个逻辑值,“1”表真,“0”表假。

逻辑运算表达式:

用逻辑

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年7月19日
下一篇 2021年7月20日

相关推荐