程序设计和C语言

  1. 什么是计算机程序
    • 程序:是指一组计算机能识别和执行的指令,计算机的一切操作都是有程序控制的
    • 计算机的本质是程序的机器
  2. 什么是机器语言
    • 机器指令
      • 计算机能直接识别和接受的二进制代码称为机器指令
    • 机器语言
      • 机器指令的集合就是该计算机的机器语言
    • 符号语言
      • 为了克服机器语言的缺点(与人类语言差别太大),人们创造出符号语言,用一些英文字母和数组表示一个指令(例如“ADD”代表“加”)
    • 汇编语言
      • 一般,一条符号语言的指令对应转换为一条机器指令,转换的过程称为“代真”或“汇编”,因此符号语言又被称为"符号汇编语言"或"汇编语言"
    • 低级语言
      • 不同型号的机器语言和汇编语言是互不通用的。机器语言和汇编语言是完全依赖于具体机器特性的,是面向机器的语言,由于他“贴近”计算机,故被称为低级语言
    • 汇编程序
      • 把符号语言的指令转换为机器指令
    • 高级语言
      • 语言功能很强,且不依赖于机器,写出的程序对任何型号的计算机都适用(或只须做很少的修改),他与具体机器较“远”
      • 计算机不能直接识别高级语言,它用一种称为“编译程序”的软件把用高级语言写的程序(称为“源程序”)转换为机器指令的程序(称为“目标程序”),然后让计算机执行机器指令程序,高级语言的一个语句往往对应多条机器指令
      • 高级语言经历了不同的发展阶段
        1. 非结构化语言
        2. 结构化语言(C语言属于结构化的语言
        3. 面向对象的语言
  3. C语言的发展及其特点
    • C语言1972年诞生于美国贝尔实验室
    • C语言是一种用途广泛、功能强大、使用灵活的过程性编程语言
    • C语言具有以下一些主要特点:
    1. 语言简洁、紧凑,使用方便、灵活
    2. 运算符丰富
    3. 数据类型丰富
    4. 具有结构化的控制语句
    5. 语法限制不太严格,程序设计自由度大
    6. C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作
    7. 用C语言编写的程序可移植性好
    8. 生成目标代码质量高,程序执行效率高
  4. 最简单的C语言程序
    1. C语言程序的结构
      1. 预处理指令(如#include<stdio.h>)
        • C编译系统在对源程序进行“翻译”以前,先由一个预处理器(也就是预处理程序,预编译器)对与处理指令进行预处理。
      2. 全局声明
        • 即在函数之外进行的数据声明
      3. 函数定义
    2. 函数是C程序的主要组成部分
    3. 一个函数包括两个部分
      1. 函数首部
        1. 即函数的第一行,包括函数名,函数类型,函数属性,函数参数(形式参数)名、参数类型
      2. 函数体
        1. 声明部分
          1. 定义在本函数中所用到的变量
          2. 对本函数所调用函数进行声明
        2. 执行部分
          1. 由若干个语句组成,指定在函数中所进行的操作
    4. 程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何
      • main函数不是必须位于程序的最前面
    5. 程序中要求计算机的操作是由函数中的C语句完成的(如赋值,输入输出)
    6. 在每个数据生命和语句的最后必须有一个分号
    7. C语言本身不提供输入输出语句
      • 输入和输出操作是由库函数scanf和printf等函数来完成的
    8. 程序应当包含注释
      1. 增加程序可读性
  5. 运行C程序的步骤与方法
    1. 源程序:用C语言编写的程序是源程序,计算机不能直接识别和执行用高级语言写的指令,必须用编译程序(编译器)把C源程序翻译成二进制形式的目标程序,然后将该目标程序系统的函数库以及其他目标程序连接起来,形成可执行的目标程序
    2. 可执行程序
    3. 步骤:
      1. 上机输入和编辑源程序
      2. 对源程序进行编译
        • 先用C编译系统提供的“预处理器”(又称预处理程序或预处理编译器)对程序中的预处理指令进行编译与处理(例如将stdio.h头文件的内容读进来,取代#include<stdio.h>行。)由预处理得到的信息与程序其他部分组成一个完整的。可以用来进行正式编译的源程序,然后由编译系统对该远程进行编译
        • 编译的作用:
          • 对源程序进行检查,判断有无语法方面的错误
          • 无语法错误以后将源程序转换为二进制形式的目标程序(.obj),源文件没有消失
      3. 进行连接处理
        • 经过编译所得到的的二进制目标文件(obj文件)还不能供计算机直接执行(一次编译只能得到与一个源程序文件相对应的目标文件(也称目标模块)它只是程序的一部分。)必须把所有的编译后得到的目标模块装配连接起来,再与函数库相连接成一个整体,生成一个可供计算机执行的目标程序(.exe文件)
        • 即是一个程序只包含一个源程序文件,编译后也不能直接运行,也要与库函数连接才能生成可执行程序
        • 以上连接的工作由一个称为“连接编辑程序”的软件来实现的
      4. 运行可执行的程序,得到运行结果
    4. 图示
      1. 在这里插入图片描述
  6. 程序设计的任务
    1. 问题分析
    2. 设计算法
    3. 编写程序
    4. 对于按程序进行编辑、编译和连接,得到可执行程序
    5. 运行程序,分析结果
    6. 编写程序文档
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值