C语言及应用第1章.ppt

上传人:max****ui 文档编号:6333078 上传时间:2020-02-23 格式:PPT 页数:73 大小:1.61MB
返回 下载 相关 举报
C语言及应用第1章.ppt_第1页
第1页 / 共73页
C语言及应用第1章.ppt_第2页
第2页 / 共73页
C语言及应用第1章.ppt_第3页
第3页 / 共73页
点击查看更多>>
资源描述
第1章C语言概述 1 1C语言的特点及发展历史1 2C语言的基本符号1 3C语言程序的结构 1 4标准输入输出库函数 1 5C语言程序的编辑及运行 习题1 1 1C语言的特点及发展历史 1 1 1C语言的发展历史 C语言是一种编译性程序设计语言 它的前身是BCPL BasicCombinedProgrammingLanguage 语言 1967年由英国剑桥大学的MartinRichard推出 1970年 贝尔实验室的K Thompson以BCPL语言为基础 开发了B语言 并用B语言编写了UNIX操作系统 在PDP 上实现 1972年 贝尔实验室的D M Ritchie在B语言的基础上设计出C语言 C语言既保持了BCPL语言和B语言的优点 精练 接近硬件 又克服了它们的缺点 过于简单 1973年 K Thompson和D M Ritchie合作把UNIX的90 以上用C语言改写 并加进了多道程序设计的功能 称为UNIX第五版 开创了UNIX系统发展的新局面 1975年UNIX第六版颁布后 C语言得到计算机界的普遍认可 并与UNIX系统一起互相促进 迅速发展 最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言而设计的 目前 C语言已独立于UNIX系统 先后被移植到大 中 小型计算机上 1978年 B Kernighan和D M Ritchie合作编写了经典著作 TheCProgrammingLanguage 它是目前所有C语言版本的基础 1983年 美国国家标准化协会 ANSI 对C语言问世以来的各种版本进行扩充 制定了ANSIC 现在流行的C语言版本有 MicrosoftC TurboC QuickC BorlandC等 本书以介绍TurboC为主 并简单介绍C语言的高级应用 1 1 2C语言的特点 C语言有以下几个基本特点 1 C语言不但具有高级语言的特性 还具有汇编语言的特点 既有高级语言面向用户 容易记忆 便于阅读和书写的优点 又有面向硬件和系统 可以直接访问硬件的功能 2 C语言是结构化程序设计语言 C语言程序的逻辑结构可以用顺序 选择和循环三种基本结构组成 便于采用自顶向下 逐步细化的结构化程序设计技术 用C语言编制的程序 具有容易理解 便于维护的优点 3 C语言是模块化程序设计语言 C语言的函数结构 程序模块间的相互调用及数据传递和共享技术 为大型软件设计的模块化分解技术 及软件工程技术的应用提供了强有力的支持 4 C语言具有丰富的运算能力 除具有一般高级语言所拥有的四则运算及逻辑运算功能外 还具有二进制的位 bit 运算 单项运算和复合运算等功能 5 C语言具有预处理能力 能够对字符串或特定参数进行宏定义 能够对外部文本文件实现读取和合并 6 C语言具有丰富的数据类型和较强的数据处理能力 不但具有整型 实型 双精度型 还具有结构 联合等构造类型 并为用户提供了自定义数据类型 7 C语言具有较强的移植性 C语言程序本身并不依赖于计算机的硬件系统 只要在不同种类的计算机上配置C语言编译系统 即可达到程序移植的目的 8 C语言具有较好的通用性 它既可用于编写操作系统 编译程序等系统软件 也可用于编写各种应用软件 1 2C语言的基本符号 1 2 1基本符号集 1 C语言的基本符号集是ASCII码字符集 包括 1 大小写英文字母各26个 2 阿拉伯数字0 9 3 特殊符号39个 包括运算符和操作符 sizeof 1 2 2标识符1 标识符的作用 标识符的作用是表示常量 变量 函数及类型的名字 2 标识符的构成规则 1 标识符必须以英文字母开头 由字母 数字和下划线组成 例如 abcd y105 year day b20a 都是合法的标识符 而 1234a a b 则是不合法的 2 大小写字母的含义不同 例如 ABCD Abcd和abcd 是完全不同的3个标识符 3 一个标识符可以由多个字符组成 但一般只有前8个字符有效 例如 integer a integer b integer c 具有相同的意义 表示同一个标识符integer 1 2 3保留字保留字是C语言编译系统固有的 有专门意义的标识符 C语言的保留字包括全部的语句名和数据类型名 C语言的保留字见表1 1所示 表1 1C语言保留字 保留字的使用说明 1 所有保留字的字母都采用小写 2 保留字不能再作为用户的常量 变量 函数和类型等的名字 3 在语句中 保留字与数据或语句的其它部分 必须用空格或其它语法允许的专用字符分隔开 即 必须对保留字加以适当的分界 C语言编译系统才能识别它们 1 2 4ASCII码字符集 ASCII码是美国标准信息交换码 AmericanStandardCoderforInformationInter change ASCII码字符集中包含基本字符与控制字符两部分 见附录1所示 基本字符在本节已作过介绍 ASCII码字符集中 代码值为32 127的代码是基本字符 控制字符一般是计算机发向外部设备的命令码 它们仅仅控制外部设备实现某些特定动作 并不是提供给用户的输出信息 在ASCII码字符集中 代码值为0 31的代码是控制代码 C语言中的字符代码采用ASCII码表示 1 3C语言程序的结构 1 3 1简单的C语言程序示例 例1 1求两个数中的大者 计算两个数的最大值 main 主函数 floata b 变量说明 scanf f f 如果b大 则输出b的值 例1 1是一个简单的C语言程序 其中main 表示主函数 由大括号 括起来的部分是函数体 表示对程序的注释 scanf 和printf 是标准输入输出库函数 main 函数中定义了两个实型变量a和b 并用scanf 函数从键盘输入a和b的值 if else是一个条件判断语句 如果a b成立 则用printf 函数输出a的值 否则输出b的值 例1 2求三个数的平均值 floataverage x y z 定义average函数的值为实型 floatx y z 定义average函数的参数x y z为实型 floataver 定义函数中的变量aver为实型 aver x y z 3 计算x y z的平均值并赋给aver return aver 将aver的值返回主函数的调用处 main 主函数 floata b c ave 定义a b c ave为实型变量 scanf f f f 输出ave的值 例1 2程序包括两个函数 主函数main 和被调用函数average 主函数main 从键盘接收a b c 称实际参数 的值 并传递给average 函数的x y z 称形式参数 average 函数计算x y z的平均值并赋给变量aver return语句将aver的值返回给主函数main 的调用处 1 3 2C语言程序的结构特点 从上述两个例子可以看到 C语言程序具有以下结构特点 1 C语言程序由函数构成 1 函数是C语言程序的基本单位 一个C语言程序至少由一个函数main 组成 也可以由一个main 函数和多个其它函数构成 例如 在例1 1中只包含一个main 函数 在例1 2中则包含两个函数main 和average 通常称main 为主调函数 average 为被调函数 2 被调用函数可以是系统提供的库函数 例如scanf 和printf 函数 也可以是用户根据需要自己编制的函数 例如例1 2中的average 函数 3 一个C语言程序总是从main 函数开始执行 这与main 函数在程序中的位置无关 因此 main 函数可以放在程序的任何位置 2 一个函数由函数说明和函数体两部分组成 1 函数说明 包括对函数名 函数类型 函数参数名 函数参数类型的说明 例如 例1 2中 floataverage x y z floatx y z 前者是对函数名 函数参数名及函数类型的说明 后者是对函数参数类型的说明 2 函数体 函数体是指由大括号括起来的部分 主要包括变量说明和执行语句两部分 3 一个函数由若干行组成 1 一行可由一个或多个语句组成 一个语句也可以分别写在若干行上 2 语句或变量说明的最后必须有一个分号 分号是语句或变量说明的必要组成部分 3 为了增强可读性 可以利用 对C语言程序中的任何部分做注释 4 C语言程序的书写习惯是用小写英文字母 1 4标准输入输出库函数 1 4 1编译预处理在使用标准输入输出库函数时 要用编译预处理命令 include 将 stdio h 文件包含到用户程序中 一般形式如下 include stdio h stdio h文件包含了与标准输入输出库函数有关的变量定义 宏定义和函数定义 详细内容见第5章 在需要使用标准输入输出库函数时 应在程序之前使用上述编译预处理命令 1 4 2字符输入输出函数 1 字符输出函数putchar 1 putchar 的作用 向标准输出设备输出一个字符 2 putchar 的一般形式 putchar 输出项 其中 输出项可以是整型变量或字符型变量 例1 3输出字符B include stdio h 编译预处理 main intch 说明ch为整型变量 ch 66 将B的ASCII码值赋给变量ch putchar ch 输出ch的值B 例1 4输出字符B include stdio h 编译预处理 main charch 说明ch为字符型变量 ch B 将字符 B 赋给变量ch putchar ch 输出ch的值B 以上两个程序的运行结果都是输出字符B 2 字符输入函数getchar 1 getchar 的作用 从标准输入设备上接收一个字符 2 getchar 的一般形式 getchar getchar 函数没有参数 函数值即是从输入设备接收的字符 例1 5从键盘接收一个字符并输出 include stdio h 编译预处理 main charch 说明ch为字符型变量 ch getchar 从键盘接收一个字符赋给变量ch putchar ch 输出ch的值 程序运行结果如下 a 键盘输入a后 按回车键 字符a送到变量ch中 a 输出变量ch的值 例1 5程序的输出结果中 表示 按回车键 这是一种习惯写法 本书将采用这种写法 3 getchar 的使用说明 getchar 接收的字符可以赋给一个字符变量或整型变量 也可以不赋给任何变量 直接作为表达式的一部分使用 例1 6改写例1 5 include stdio h main putchar getchar HT5SS 例1 6程序中 getchar 函数作为putchar 函数的输出变量使用 输出结果与例1 5相同 1 4 3格式化输入输出函数 格式化输入输出函数scanf 和printf 也是标准输入输出库函数 它们可以在程序中直接引用 不需要进行编译预处理说明 标准输入输出库函数中只有scanf 和printf 是例外的 格式化输入输出库函数 是按指定的格式完成输入输出操作的 1 输出函数printf 1 printf 的作用 将用户指定的输出项按规定格式送到标准输出设备上 2 printf 的一般形式 printf 输出格式 输出项表 其中 输出项表由若干个输出项组成 当输出项的个数多于一个时 输出项之间用逗号分隔 输出项可以是常量 变量或表达式 输出格式由普通字符 格式说明和换码序列字符三部分组成 普通字符是指需要按原样输出的字符 例如 printf v 6 2f n v HT5SS 其中 v是输出项 v 是普通字符 它将原样输出 6 2f是格式说明 n是换码序列字符 格式说明由 附加格式字符 例如6 2 和格式字符 例如f 组成 它规定了输出项的输出形式 常用的格式字符见表1 2所示 常用的附加格式字符见表1 3所示 表1 2格式字符 续表 表1 3附加格式字符 换码序列字符是以反斜杠 打头后跟一个字母或数字组成的 它的作用是输出控制代码和特殊字符 例如 n表示输出一个回车换行 详细内容将在第2章介绍 3 printf 的使用说明 格式字符必须用小写英文字母 例如 f不能写作 F 如果想原样输出一个 号 则应在输出格式中用两个 表示 例如 printf f 0 777777 HT5SS 的输出结果如下 0 777777 选用格式字符 e 时 以标准指数形式输出单精度 双精度数 所谓标准指数形式是指小数点前必须有并且只能有一位非零数字 例如 printf e n 567 123 的输出结果如下 5 67123e 03 附加格式字符 m n 用于控制输出数字的位数 表示输出数字共占m位 其中含有n位小数 如果数值长度小于m则左端补空格 例如 printf 6 3f n 34 56 HT5SS 的输出结果如下 34 560 例1 7printf 的应用 main inta b a 10 b 25 printf a db d n a b printf a b 4d na b 4d n a b a b 程序的运行结果如下 a 10b 25 a b 35 a b 15 例1 8printf 应用 main inta b a 100 b 200 printf 10d 10d n a b printf 10d 10d n a b printf 010d 010d n a b 程序的运行结果如下 例1 8程序中 选用 时 输出数据右对齐 左边补空格 并输出符号 选用 时 输出数据左对齐 右边补空格 选用 0 时 输出数据右对齐 左边补0 2 输入函数scanf 1 scanf 的作用 从标准输入设备上按一定格式接收一批数据 并赋给指定的变量 2 scanf 的一般形式 scanf 输入格式 输入项地址表 其中 输入项地址表由若干个地址组成 当地址个数多于一个时 地址之间用逗号分隔 地址可以是变量的地址或字符串的首地址 C语言规定 用 加上变量名表示变量的地址 例如 a表示变量a的地址 输入格式中一般只使用格式说明 格式说明规定了输入项的输入格式 常用的格式说明见表1 2所示 例如 scanf d d 其中 d是格式说明 y和 k表示变量y和k的地址 该函数的功能是从键盘输入两个十进制数 分别赋给变量y和k 3 scanf 函数的使用说明 在使用多个输入项的scanf 函数时 键盘输入的各项数据之间可以用空格 TAB或回车作为分隔符 如果输入格式中出现普通字符 则在输入数据时必须输入与这些字符相同的字符 例如 scanf a d b d 键盘输入时应按如下形式 a 3 b 4其中 a 和 b 是要求用户必须原样输入的字符串 在用 c格式输入字符时 字符间不能加分隔符 例如 scanf c c c 当键盘输入 abc 时 字符 a 赋给变量a1 字符 b 赋给变量a2 字符 c 赋给变量a3 而当键盘输入 abc 时 字符 a 赋给变量a1 字符 空格 赋给变量a2 字符 b 赋给变量a3 例1 9从键盘任意输入两个整数 输出其和值与差值 main inti j printf 输入第一个整数i scanf d 例1 9程序是以人机对话的方式向变量i和j赋值 运行结果如下 输入第一个整数i 25 输入第二个整数j 12 i j 37 i j 13 其中 有底划线的部分是用户从键盘输入的字符 1 5C语言程序的编辑及运行 1 5 1C语言程序编辑及运行的一般步骤 C语言采用编译方式将源程序翻译为二进制代码 其一般过程分为四个步骤 1 程序编辑 程序编辑包括以下内容 1 将源程序输入到计算机内存 2 修改源程序 并将修改好的源程序存入磁盘 源程序文件的扩展名为 C 2 程序编译 C语言编译程序对源程序进行语法检查 如果发现语法错误时 将在屏幕上显示出错信息 此时 应重新编辑源程序 编辑结束后再重新编译 正确的源程序文件经过编译后 形成二进制文件 其扩展名为 OBJ 3 程序连接 编译后产生的二进制文件 不能直接运行 因为每一个程序模块往往是单独编译的 二进制文件需要经过连接 把各个二进制模块以及系统提供的标准库函数等进行连接处理后 形成可执行文件 可执行文件的扩展名为 EXE 4 程序运行 可执行文件形成后 可以在操作系统支持下运行该文件 1 5 2TurboC集成环境简介C语言有许多种编译器 这些编译器之间只有很小的区别 只要学会其中的一种 对其它几种就能很快地适应 本节主要介绍当前最流行的 并且操作最为简单的TurboC集成环境 TurboC是美国Borland公司的产品 TurboC是一个完整的交互式集成开发环境 它是一个集程序建立 编辑 编译 连接 运行于一体的集成开发环境 是易学 易用 快速 高效 方便用户使用的程序开发工具 TurboC2 0具有图形库和文本窗口函数库 具有查错及协处理器的仿真功能 1 5 3TurboC集成环境的基本操作1 TurboC的安装 TurboC2 0集成环境包括两张高密软盘 安装时 将第一张软盘插入A或B驱动器 并在DOS提示符下键入如下命令 A INSTALL 然后按照屏幕的提示进行操作 即可完成TurboC2 0的安装 安装完成后 在C盘根目录下自动建立一个TC子目录 TC子目录中包含另外两个子目录 LIB和INCLUDE 在LIB子目录中存放着 库文件 在INCLUDE子目录中存放着TurboC系统的所有 头文件 即标准库函数 为了使用方便 用户可在自动批处理文件Autoexec bat中加入TC子目录的搜索路径 PATH C TC C TC LIB C TC INCLUDE 然后重新启动计算机 就可以在任何目录下直接使用TurboC了 2 TurboC集成环境的操作 在C盘根目录或TC子目录下键入如下命令 C tc 或C tc文件名 即可进入TurboC的集成开发环境 此时屏幕显示如图1 1所示 屏幕的第一行为主菜单 主菜单包括的内容如下 File 文件 Edit 编辑 Run 运行 Compile 编译 Project 工程 Option 选项 Debug 调试 Break watch 断点及跟踪 其中Edit下为编辑窗口 Massage下为信息窗口 最后一行为功能键提示行 主菜单中的每一项 除Edit之外 都有子菜单 按下Alt键的同时按下某个选项的第一个字母 即可下拉出相应的选项子菜单 例如 按下Alt F即可进入File的下拉子菜单 按下F10键 再用左右箭头键选择相应的选项后回车 也可以达到同样的效果 图1 1TurboC集成环境的屏幕界面 下面举例说明TurboC集成环境的使用 1 录入源程序 进入TurboC后 即可在编辑窗口输入C语言源程序 例如 输入程序如下 main printf TurboC集成环境的使用介绍 n 2 存储源程序 源程序输入结束后 选择File菜单中的Save项或直接按下F2键 系统将询问文件名 用户输入一个自己认为合适的文件名 例如 本例为Example c 源程序以Exarmple c为名存入磁盘 3 编译 连接和运行程序 源程序存入磁盘后 即可对该程序进行编译 连接 编译 连接结束后 即可运行该程序 TurboC集成环境中 编译 连接和运行 可以合并成一步完成 也可以分成几步分别完成 具体情况视用户程序的大小而定 如果用户程序较小 用一步完成的方法比较方便 如果用户程序很大 包括多个模块 则应采用分步的方法 例如 本例程序很小 可以采用一步完成的方法 方法一 一步完成 选择Run子菜单中的Run项或直接按下Ctrl F9键 系统将自动完成编译 连接和运行的全部工作 输出运算结果 方法二 分步完成 选择Compile子菜单中的Compile项或直接按下F9键 系统只完成编译与连接工作 生成相应的 EXE文件 需要运行程序时 选择Run子菜单中的Run项即可 也可以回到DOS状态直接运行 EXE文件 4 重新编辑 如果编译过程中发现程序错误 可按任意键返回到编辑窗口 程序中的出错行将呈高亮度显示 同时在信息窗口出现一行或多行错误信息提示 使用箭头键 可以查看其它错误行 使用F6键可以切换光标到编辑窗口或信息窗口 用户可以在编辑窗口中改正程序中的错误 然后重新编译 连接并运行 5 查看结果 程序的运行结果有两种查看方法 方法一 按下Alt F5键 可以查看程序的运行结果 本例程序的运行结果如下 TurboC集成环境的使用介绍 方法二 运行结束后 退出TurboC环境 即可看到程序的运行结果 6 退出TurboC 按下Alt X键或选择File子菜单中的Quit项 即可退出TurboC集成环境 回到DOS状态 如果用户程序没有存盘 系统将提示用户存盘 C语言源程序被编译 连接后生成的 EXE文件 任何时候都可以在DOS状态下运行 习题1 1 标识符的作用是什么 2 下列字符串作为标识符是否合法 为什么 3idwerwui 44 waSDF qww mn 3 什么是C语言的保留字 使用保留字时应注意些什么 4 C语言中采用哪种代码形式表示字符 5 C语言程序结构有何特点 6 main 函数的作用是什么 7 在使用标准输入输出库函数之前 应首先做什么操作 8 为什么在scanf 函数中 对变量的使用必须用 运算符 而printf 函数中的变量则不需要 9 使用printf 函数编写程序 输出如下结果 10 编写程序 任意输入一个大写字符 将其变换为小写字符并输出 11 使用printf 函数编写程序 输出如下结果 12345 67890 1 要求输出的数据左对齐 2 要求输出的数据右对齐 左边补空格 12 计算机怎样执行C语言源程序 13 在计算机上调试并运行例1 1和例1 2程序
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!