C语言程序设计A

周哲泓、文晟、马万仑

目录

  • 1 绪论
    • 1.1 为什么学习C语言
    • 1.2 C语言概述
    • 1.3 基本语法单位
    • 1.4 C语言基本程序结构
    • 1.5 Visual C++6.0介绍
    • 1.6 测试
  • 2 数据类型
    • 2.1 基本数据类型
      • 2.1.1 整型
      • 2.1.2 浮点型
    • 2.2 常量
    • 2.3 变量
    • 2.4 运算符与表达式
      • 2.4.1 算术运算符和算术表达式
      • 2.4.2 赋值运算符和赋值表达式
      • 2.4.3 关系运算符和关系表达式
      • 2.4.4 逻辑运算符和逻辑表达式
      • 2.4.5 位运算符和位表达式
      • 2.4.6 条件运算符和条件表达式
      • 2.4.7 逗号运算符和逗号表达式
      • 2.4.8 其他运算符
    • 2.5 数据的输入输出
    • 2.6 章节测试
  • 3 选择结构程序设计
    • 3.1 章节介绍
    • 3.2 关系运算符和关系表达式
    • 3.3 逻辑运算符和逻辑表达式
    • 3.4 if分支语句
    • 3.5 条件运算符和条件表达式
    • 3.6 switch多路开关语句
    • 3.7 实验方法
    • 3.8 本章小结
    • 3.9 选择结构程序设计电子课件
    • 3.10 选择结构程序设计视频推荐
    • 3.11 章节测试
  • 4 循环结构程序设计
    • 4.1 章节介绍
    • 4.2 while和do...while循环语句
    • 4.3 for 循环语句
    • 4.4 break和continue语句
    • 4.5 goto语句
    • 4.6 嵌套循环结构
    • 4.7 实验方法
    • 4.8 本章小结
    • 4.9 电子课件
    • 4.10 推荐视频
    • 4.11 章节测试
  • 5 数组
    • 5.1 一维数组
    • 5.2 二维数组
    • 5.3 字符数组与字符串
    • 5.4 章节测试
    • 5.5 实验方法
    • 5.6 电子课件
    • 5.7 推荐视频
  • 6 函数
    • 6.1 函数概述
    • 6.2 函数的定义
    • 6.3 函数的参数和返回值
    • 6.4 函数的调用
    • 6.5 函数的嵌套和递归调用
    • 6.6 数组作为函数的参数
    • 6.7 局部变量和全局变量
    • 6.8 变量的存储类别
    • 6.9 内部函数和外部函数
    • 6.10 实验
    • 6.11 电子课件
    • 6.12 章节测试
  • 7 编译预处理
    • 7.1 宏定义
      • 7.1.1 不带参数的宏定义
      • 7.1.2 带参数的宏定义
    • 7.2 “文件包含”处理
    • 7.3 条件编译
    • 7.4 推荐视频
    • 7.5 电子课件
  • 8 指针
    • 8.1 指针的基本概念
      • 8.1.1 变量的地址
      • 8.1.2 指针变量的定义
      • 8.1.3 指针变量的引用
    • 8.2 指针与一维数组
      • 8.2.1 指向一维数组的指针变量
      • 8.2.2 通过指针引用一维数组元素
      • 8.2.3 指针使用的几个细节
    • 8.3 指针与字符串
      • 8.3.1 使用指针处理字符串
      • 8.3.2 字符型指针变量作函数参数
      • 8.3.3 字符指针变量与字符数组的区别
    • 8.4 指针与二维数组
      • 8.4.1 二维数组的指针
      • 8.4.2 行指针变量
      • 8.4.3 二维数组的指针作函数参数
    • 8.5 指针数组与多级指针
      • 8.5.1 指针数组
      • 8.5.2 多级指针的概念
    • 8.6 指针与函数
      • 8.6.1 指针变量作为函数的参数
      • 8.6.2 函数的指针
      • 8.6.3 返回指针值的函数
    • 8.7 main函数的参数
      • 8.7.1 main函数参数的概念
      • 8.7.2 main函数参数的处理
    • 8.8 程序设计举例
    • 8.9 实验
    • 8.10 电子课件
    • 8.11 参考视频
C语言概述

                                           C语言简史及特点

C语言的产生和发展与UNIX操作系统有着十分密切的关系。它是在研制UNIX操作系统过程中诞生,并伴随着UNIX操作系统的发展而流行的。

20世纪70年代,戴尼斯·利奇(Dem is Ritchie)和布朗·卡尼汉(Brian Kernighan)提出了一种按结构化程序设计思想进行程序设计的新型语言——C语言,1973年新的UNIX版本完全用C语言编写。C语言最初只是在贝尔实验室内部使用,但80年代后,随着UNIX操作系统的成功和广泛流行,C语言便逐渐在大学和研究机构中推广应用,成为软件开发中深受欢迎的一种编译型的程序设计语言。

由于C语言的广泛应用,适用于各种不同操作系统和不同机种的C语言编译系统相继出现,有几十种之多,虽然它们的语言功能基本一致,但市场上不同版本之间存在着某些差异。为了规范C语言并提高C语言程序的可移植性,美国国家标准委员会ANSI,制定了C语言的ANSI标准,现在,市场上大多数C编译器都是按ANSI C开发的。同时,不同编译器版本也可能提供一些独有的特点,比如在程序的运行方式,库函数的种类、功能、格式和调用上的一些差别。本书以美国国家标准C语言为基础,同时兼顾其他不同版本中通用性、一致性的内容予以叙述。

C++语言是在C语言的基础上,于20世纪80年代后期研制成功的一种面向对象的程序设计语言,C++在软件研发领域的广泛应用,已显示出该语言具有很强的生命力和发展前景。C++较C语言优越主要体现在,它既支持数据抽象,具有面向对象的语言的全部特点,又包括了C语言的全部功能。学好C语言将为学习C++奠定良好的基础。

C语言之所以能迅速发展,广为流行,具有生命力,这与C语言具有如下特点是分不开的:

1.C语言是一种兼有高级语言和汇编语言优点的语言。既有高级语言面向用户、语句简单、编程容易的优点,又有一般高级语言难以完成,只有汇编语言才能进行的处理和操作,如地址操作、位操作、寄存器操作、系统功能调用等。

2.C语言是一种结构化程序设计语言。使用C语言提供的结构化语句,便于实现自顶向下、逐步细化的结构化程序设计方法。C语言的主要结构成分是函数。程序以函数为模块的结构有利于把整体程序分割成若干相对独立的功能模块,并且为程序模块间的相互调用及数据传递提供了方便,这一特点有利于大型软件模块化,为多人共同开发大型软件的软件工程技术方法提供了强有力的支持。

3.C语言数据类型丰富。C语言数据类型包括:整型、实型、字符型、数组类型、结构类型、联合类型、枚举类型及指针类型等,可以用来实现各种复杂的数据结构。C语言具有较强的数据处理能力。

4.C语言具有种类丰富的运算符。除一般高级语言具有的运算功能外,还可以实现以二进制位为单位的位运算,自增、自减等单目运算及各种复合赋值运算等。丰富的数据类型与丰富的运算符相结合,使C语言具有表达灵活和高效率的优点。

5.C语言具有预处理功能。采用预处理语句给大型程序的编写和调试提供了方便。

由于上述的特点,作为一种系统程序设计语言,C语言已广泛用于为各种不同的计算机系统编写有关的系统软件,如操作系统、编译系统、汇编器及编辑器等。作为一种应用程序设计语言,C语言已广泛用于编写各种应用领域的应用软件,例如,数据库管理软件、CAD/CAM软件、文字处理软件、图形软件、办公自动化软件、科学计算及工程应用软件等。人们喜爱C语言的原因除上述具有的优点外,还由于各种C编译系统为用户提供了大量丰富的C库函数。这些库函数能帮助人们解决相当多的程序设计问题。直接调用库函数,可简化程序设计的过程和难度,提高编程效率。