




已阅读5页,还剩51页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章 C语言程序设计的基 础知识 2.1 简单C语言程序的组成和格式 2.2 简单的数据类型 2.3 算 术 运 算 2.4 赋值运算、逗号运算和自加、自减 运算 2.5 Turbo C 环境下的上机操作步骤 2.1 简单C语言程序的组 成和格式 2.1.1 一个简单的C语言 程序 利用计算机解决各种类型,复杂程度 各异的问题时,关键是用户需要编写出计 算机能够“读懂”的程序,使计算机能够按 照程序设计者的意愿去工作。C语言就是 一种在计算机上实现程序的描述语言。 它在描述一个完整的程序时,有固定 的结构要求和具体的描述方法,类似于我 们说话、写文章要有主谓宾基本语句部分 一样,缺少一部分就不成一句话了。在这 一节中将向读者介绍一些用C语言进行程 序设计的有关基本语法知识。 我们先举一个简单的程序例子,使读 者对C语言程序的构成有一个初步的了解 。 例2.1 根据圆的半径r,计算圆面积s 。 已知求圆面积的公式为:s=r 2 源程序为: /* 求圆面积 */ # include /* 命令行 */ main () /* 主函数首部 */ int r ; /* 定义变量r , 说明为整型 */ float s ; /* 定义变量s, 说明为单精度型 */ r=4 ; /* 给r赋值为4 */ s=3.141592 * r * r ; /* 计算圆面积,将值赋给s */ printf ( “ 圆面积 s=%f n “, s) ; /*显示圆面积的值 */ 以上程序运行后,在计算机屏幕上显 示如下结果: 圆面积 s=50.265472 源程序的第一行用“/*”和“*/”符号括起 来的一串字符是对程序的注释,这对符号 必须成对使用,“/”和“*”之间不能有空格 。注释内容可以用中文或西文,它对程序 的运行不起作用,只起注释作用。好的注 释可以使人们在阅读程序时,能较好地理 解程序的功能及含义。 第二行是命令行,它的功能是在调用 系统的输出函数(printf函数)时,需要写 该命令行。 第三行是主函数的首部,其中:main 是主函数名,函数名后面的一对小括号是 不能省略的,它的功能是:表明函数从此 开始。函数具体要完成的内容放在其后一 对花括号中,用这对花括号括起来的部 分称为函数体。“”符号表示函数体开始, 源程序最后一行的“”符号表示函数到此结 束。 在C语言源程序中只能包括一个主函 数,在一个或多个函数组成的程序中,程 序的执行都是由主函数开始。 在该主函数的函数体中共有五行,完 成指定的任务:根据圆的半径,计算并输 出显示该圆的面积。在这五行中,除了注 释之外,每一条语句均以分号“;”号结束 ,完成某一项功能。 函数体中第一条和第二条语句为声明 部分,分别定义了一个整型变量r和一个单 精度型变量s。 函数体中第三条至第五条语句为执行 部分。此例中分别完成了对变量r(圆的半 径)的赋值(值为4),然后根据变量r的 数值计算圆面积,计算后赋给变量s。最后 通过调用系统的printf输出函数,将圆的面 积s输出显示在屏幕上。 2.1.2 C语言程序的组 成和格式 2.1.3 关键字和标识符 在例2.1的源程序中,我们遇到了诸如 main、int、r、float、s、printf等符号,它 们的作用和性质并不完全相同,它们代表 什么意思呢? 1关键字 关键字又称为保留字。它们是C语言 中预先规定的具有固定含义的一些单词, 如:int表示为整型数据、float表示为单精 度实型数据等等。用户只能按其给定的含 义来使用,不能重新定义另作它用。C语 言所提供的关键字请见附录一。 2标识符 标识符分为系统预定义标识符和用户 自定义标识符两种。 (1)系统预定义标识符 这些标识符也是由一些单词所组成, 它们的功能和含义是由系统预先定义好的 ,如:main代表主函数名、printf代表输出 函数名等等。 它们与关键字不同的是:系统预定义 标识符允许由用户赋予新的含义,这样做 的结果,往往会引起一些误解,因此建议 用户不要把这些系统预定义标识符另作它 用,否则会带来不必要的麻烦。 (2)用户自定义标识符 用户可根据需要自行定义一些标识符 ,用作为符号名、变量名、数组名、函数 名、文件名等等,如例2.1中:r代表变量名 ,用于存储圆的半径、s代表变量名,用于 存储圆的面积。用户自定义标识符的命名 必须遵守一定的规则。合法的用户自定义 标识符应满足以下条件。 只能由大小写英文字母、阿拉伯数 字和下划线组成。标识符的开头必须是字 母或下划线,大小写字母是有区别的,视 为不同的字母。 标识符的长度视不同的编译器规定 而不同,一般可识别前8个字符。 按照以上规则,mystery、_start、r1 、R_1都是合法的标识符,而12b、D$?_I 、int都不是合法的用户自定义标识符。 为使程序具有较好的可读性,标识符 的命名应尽可能反映出它所代表的含义, 做到“见名知义”。如:用pi代表圆周率, 用sum代表总和,用name代表名字等等。 2.1.4 常量和变量 在计算机处理的程序中,我们不免经 常与数据打交道,根据数据的值是固定的 ,还是可变的,我们将数据分为两大类: 常量和变量。 1常量 在程序运行过程中其值不能改变的量 称为常量。如例2.1中的圆半径4和圆周率 3.141592都属于常量。常量有不同的类型 之分,有整型常量、实型常量、字符常量 、字符串常量等。 2变量 在程序运行过程中其值可以改变的量 称为变量。如例2.1中的表示圆半径的变量r 和表示圆面积的变量s都属于变量。与常量 相同的是,变量也有类型之分,同样有整 型变量、实型变量、字符变量等。 程序中的变量由用户标识符来表示, 在C语言中,所有变量必须遵循“先定义, 后使用”的原则。变量的定义一般放在函数 体的开头,即声明部分。 变量定义语句的形式为: 类型名 变量名1,变量名2, ; 其中:类型名由关键字表示,不同的 关键字表示不同的数据类型,变量名是用 户标识符,由用户命名。 如例2.1中语句int r ;,表示定义了一 个整型变量,变量名为r,而语句float s ;, 表示定义了一个单精度型变量,变量名为s 。 通常,定义了一个变量而未赋初值时 ,一般变量中存放的是随机值。因此,为 使定义的变量有一确切的数值,需给定义 的变量赋一初值。所以,C语言也允许在 定义变量的同时为其赋初值,其形式为: 类型名 变量名1=常量1,变量名2=常 量2, ; 如例2.1函数体中的第一条语句int r ; 语句,也可改写成int r=4 ;,表示定义了一 个整型变量r,初值为4。第二条语句float s ;语句,也可改写成float s=0.0 ;,表示定义 了一个单精度型变量s,初值为0.0。 一个变量代表着内存中一个具体的存 储单元,用变量名来标识。存储单元中存 放的数据称为变量的值,变量的值可以通 过赋值的方法获得和改变。读者一定要区 分开变量名和变量值这两个不同的概念。 2.2 简单的数据类型 2.2.1 为什么要区分不 同的数据类型 2.2.2 整型常量和变量 2.2.3 实型常量和变量 2.2.4 字符型常量和变 量 2.2.5 符号常量、不可 变的变量 2.2.6 无值型 2.3 算 术 运 算 2.3.1 算术运算符和表 达式 1基本算术运算符 C语言提供的基本算术运算符见表2-3 。 说明 (1)“单目”和“双目”指的是参与运算 的对象个数; (2)两个整数相除,运算结果仍为整 数,得到的商舍去小数部分; (3)求余运算限定运算对象必须为整 数,其中在运算符左侧的为被除数,右侧 的为除数,两个数求余运算后的结果是取 整除后的余数和被除数的符号(不同的机 器系统有差异)。 2算术运算符的优先 级、结合性和算术表达式 由算术运算符、圆括号和运算对象连 接起来的式子称为算术表达式。其中运算 对象可包括常量、变量和函数。 例如:数学表达式:b2 4ac 写成C语 言算术表达式应是:b*b 4*a*c C语言中的表达式与数学中的表达式 在书写格式上是有区别的,请读者注意以 下几点: (1)表达式中只能使用系统允许的标 识符。例如:数学表达式2r写成C语言表达 式应是2*3.1415926*r; (2)乘法运算符“*”不能省略。例如 :数学表达式4x+2写成C语言表达式应是 :4*x+2; (3)C语言表达式没有分数形式,对 数学表达式中的分数运算要做适当的转换 。例如:数学表达式 写成C语言表达 式应是 (ab) / (c+d); (4)在表达式中要想改变运算顺序, 优先运算哪一步,只能使用圆括号“(”和“ )”,不能使用方括号“”和“”和花括号“” 和“”,因为这两种括号C语言系统另有它 用。 在C语言进行表达式求值运算过程中 ,各运算符均有优先级的问题,运算符与 两侧的运算对象之间还有结合性的问题。 有关C语言中算术运算符的优先级和结合 性内容如表2-4所示。 在C语言算术表达式中优先级别高的 先运算,优先级别低的后运算。 “结合性”是指当一个运算对象两侧运 算符优先级别相同时,是按“从左至右”的 顺序运算(称为左结合性);还是按“从右 至左”的顺序运算(称为右结合性)。例如 :表达式:a+bc 运算次序应该是先进行 加法运算,后再进行减法运算。 2.3.2 数据类型的转换 2.3.3 如何使用C语言 的标准库函数 标准库函数是C语言编译系统预先编 写好的函数,在附录四中给出了C语言中 常用的库函数。库函数的一般调用形式为 : 函数名(参数表) 2.4 赋值运算、逗号运算 和自加、自减运算 2.4.1 赋值运算符和表 达式 1赋值表达式 当用户欲将一个数或表达式的值赋给 某一指定的变量时,可以通过赋值表达式 实现。 赋值表达式的形式如下: 变量名=表达式 其中:“=”是赋值运算符,表示赋值 的含义,它的功能是将运算符右侧的表达 式的值放入以左边变量为标识的存储单元 中。 2复合的赋值表达式 复合的赋值运算符共5个,它们是: +=+=、- - = =、*=*=、/=/=、%=%= 3赋值运算中的类型 转换 2.4.2 自加、自减运算 符和表达式 自加运算符“+”和自减运算符“ ”的 作用是:使变量的值增1和减1。 “+”和“ ”运算符为单目运算符,运 算对象必须是变量,不能是常量和表达式 。该运算符对运算对象来说,既可以作为 前缀运算符,也可以作为后缀运算符,但 结果有所区别。 2.4.3 逗号运算符和表 达式 逗号表达式的形式如下: 表达式1,表达式2,表达式n 其中:符号“,”为逗号运算符。 2.5 Turbo C 环境下的上 机操作步骤 2.5.1 如何进入和退出 Turbo C 2.0 1进入Turbo C 2.0 在已安装Turbo C 2.0软件的目录下, 运行tc.exe文件。该文件运行完毕后,屏幕 显示如图2-1所示的界面。 图2-1 Turbo C 2.0软件的主界面 屏幕中央显示软件的版本信息,按任 一键后即可开始使用该软件。 Turbo C 2.0软件的主界面分为四部分 :主菜单、编辑窗口、监视窗口和常用功 能键提示行。 当用户按下E键或Esc键,光标将定位 在编辑窗口的左上角。此时用户可以输入 C语言的源程序了。 2主菜单功能介绍 主菜单共有八项,包含了软件的所有 功能。 File项:文件和目录处理。 Edit项:编辑。 Run项:运行状态控制。 Compile项:编译与链接。 Project项:工程文件管理。 Option项:选项设置。 Debug项:调试处理。 Break/watch项:断点设置及变量监视 。 利用左、右箭头键(、)可以在 主菜单的各项之间进行选择。选中的项在 亮度或颜色上与其他项有区别。 这时按回车键便可进入相应的状态或 调出相应的下拉子菜单。也可按下Alt键和 主菜单某选项的第一个字母,以快捷键的 方式选择某一主菜单项。 在任何情况下按下F10键都能进入主 菜单。 3编辑窗口上方的编辑信 息含义 在编辑窗口的上方有一行信息,各项 的含义如下。 Line n:当前光标所在的行号。 Col n:当前光标所在的列号。 Insert:插入/改写方式切换开关。反 复按Ins键,此信息会交替出现。当屏幕上 有此信息时,屏幕编辑是处在“插入”状态 ;当屏幕上无此信息时,屏幕编辑是处在“ 改写”状态。 Indent:程序行缩进方式。 Tab Fill:可用Tab键插入制表符。 C:NONAME.C:当前正在编辑的文 件名。系统给新文件取的缺省文件名为 NONAME.C。 4功能键提示行 在屏幕底部的一行是功能键提示行, 各功能键的含义如下。 F1(Help):打开一个“帮助”窗口, 用以查看各种编辑命令。按Esc键返回。 F5(Zoom):放大/还原当前活动窗 口。 F6(Switch):在编辑窗口和信息窗 口之间切换,以确定当前活动窗口。 F7(Trace):逐行执行编辑窗口内 的程序。 F10(Menu):使光标跳到主菜单。 5退出Turbo C 2.0 可用以下两种方法退出Turbo C 2.0: (1)执行File下拉菜单中Quit项。 (2)直接按快捷键Alt+X。 2.5.2 如何编辑源程序 文件 编辑源程序文件包括建立新文件和修 改已有文件。 1建立新文件 步骤如下。 (1)选择File下拉菜单中的New项, 进入编辑状态。 (2)在编辑窗口中输入源程序。 (3)输入结束后,可选择File下拉菜 单中的Write to项,输入新文件名(应包括 完整的路径)后,保存新文件。 2修改已有文件 步骤如下。 (1)选择File下拉菜单中的Load项, 输入已有文件名(应包括完整的路径)后 ,按下Enter键确认。 (2)被选择的文件调入编辑窗口后, 就可进行编辑和修改了。 (3)修改结束后,可选择File下拉菜 单中的Save项,保存已修改的文件。 注意:无论是新建立的源程序,还是 进行修改的老程序,都不要急于运行,应 该先将编辑的程序以文件的形式保存到磁 盘上,以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基础强化华东师大版7年级下册期末试题附答案详解(典型题)
- 解析卷北师大版8年级数学上册期末试题及参考答案详解【满分必刷】
- 2025年能源与资源行业:煤炭资源勘探与开发技术进步报告
- 2025年生物制药中试车间投资风险与收益分析报告
- 2025年职业教育实训基地建设资金申请条件与审批流程报告
- 2025年度上海教育信息化技术服务合同
- 2025版总公司与分公司知识产权保护管理合同
- 2025年度餐饮企业人才培训顾问服务协议
- 2025年度医疗影像设备监造与维修保障合同
- 2025年度科研机构项目负责人聘请与技术攻关合同
- 数学三年级上册二 观察物体1 看一看(一)教学设计
- 2025-2030中国PEM水电解槽行业现状调查与发展前景规划研究研究报告
- 施工阶段全过程造价咨询管理办法
- 新编物业设施设备台账表格模板
- 美术中的秘密课件
- TJSJTQX 59-2024 港口企业安全生产目视化管理技术规范
- 农村四合院建造施工方案
- 《爱的教育》读书分享课件
- 城市轨道交通车辆制动系统维护与检修 课件全套 项目1-5 城轨车辆制动系统概述- NABTESCO型制动控制系统的组成及控制过程
- 《形势与政策》第十二讲-提高海权意识-维护国家利益
- 《康复评定技术》课件-第十一章 步态分析技术
评论
0/150
提交评论