C语言概述及流程

C语言概论

C语言简介

C语言是一门通用计算机编程语言,应用广泛,它对编写需要进行硬件操作的场合,优于其他高级语言。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言,它兼具汇编语言(执行速度快,能充分发挥硬件的潜力)和高级语言(编程/调试方便、可读性/可移植性好)的优点。尽管C语言体提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,不仅可以在电脑平台编译,还可以在一些嵌入式处理器以及超级电脑等作业平台。目前,C语言仍然具有非常强的活力。

微型计算机系统

  1. 二进制编码系统
    计算机只能识别和处理二进制码,现在,英文字母、运算符和标点符号等字符都采用ASCII码。对于多媒体计算机,把文本、图像、声音等信息按某种标准格式进行二进制编码,就可以解决文本、图像和声音等的控制管理、存储、变换和传送等。行使这些功能的系统都统称为二进制编码系统。

  2. 微型计算机硬件的基本组成
    计算机发展至今,其结构依然为冯*诺依曼结构。即由运算器、控制器、存储器、输入设备和输出设备等5部分组成。
    主机系统的基本结构图

  • 微型计算机将控制器和运算器集成为中央处理单元CPU,其输出有三种总线:地址总线(A0~A31)、数据总线(64位)和控制总线。
  • 存储器分为外存储器和内存储器(RAM和ROM)。每个存储单元为一个字节byte/B(8bits)。
  • 输入/输出接口和外部设备是人机交互的接口。
    计算机的层次结构有:裸机/操作系统/语言处理系统(核心为程序设计语言的编译系统)/通用软件、应用软件、工具软件。
    微型机系统的构成

C语言语法简述

  • 高级语言程序均由一个主程序和若干个子程序组成,C语言也不例外。函数是一个独立的程序块,相互不能嵌套函数定义。函数分为标准函数和用户自定义函数。
  • C语言的基本语言单位称为单词,分为5大类:标识符、关键字、常量、运算符和分隔符。
  • 运行一个C程序,指从建立源程序文件到执行该程序并输出正确结果的全过程。其包含编辑(建议源程序文件)、编译(翻译为二进制代码形式的目标程序)、连接(与C库函数装配成可执行的程序.exe)、运行(运行exe)。

程序和流程控制

一般程序版式

程序的编写有一定的逻辑和规范,一般情况C语言程序包含以下几个部分:

  1. 注释部分:/内容/ 或者 //内容
  2. 预处理块(#include<>等)、全局变量说明
  3. 函数定义部分:包含函数类型、函数名及参数表
  4. 变量说明部分:对变量进行定义说明
  5. 数据输入部分:对要使用的变量赋初值。可输入
  6. 执行部分:整个程序的核心,一般是对程序算法用结构化程序设计方法进行描述,然后转换为C语言语句
  7. 信息输出部分

结构化程序设计

结构化设计的基本思想是:任何程序都可以用三种基本结构表示,即顺序结构、选择结构、循环结构。这三种基本结构可进行反复嵌套。C语言为这种流程结构提供了相应的流程控制语句:

  • 选择语句:if else switch case break
  • 循环语句:for while do while 辅助词:break continue return goto

函数

结构化软件及其优越性

当开发一些比较复杂的软件时,结构化方法是常常采用的方法。结构化开发方法的基本要点是:

  1. 自顶向下:将复杂的大问题分解为相对简单的小问题,找出每个问题的关键和重点所在
  2. 逐步求精:将现实世界的问题经过几次抽象/细化处理,最后到求解域中只是一些简单的算法描述和算法实现问题。
  3. 模块化设计:逐步求精的结果是以子功能块为单位的算法描述。以子功能为单位进行程序设计时,实现其求解算法的方式称为模块化。其目的为:为了降低程序复杂性,使程序设计、调试和维护等操作简单化。

函数的定义和调用

  • 函数定义的一般格式:<存储类型> <数据函数体> 函数名 (<形式参数及说明>){ 说明语句;执行语句;}
  • 函数的存储类型说明只有extern和static,缺省表示定义的函数为外部函数。
  • 形式参数对应说明,如(int x, int y)
  • 函数的调用:调用的函数必须是应经存在的,如果调用库函数要用#include命令包含其所在文件,实参与形参必须保持一致。