C语言程序设计的概念.ppt

上传人:max****ui 文档编号:6333823 上传时间:2020-02-23 格式:PPT 页数:80 大小:390.05KB
返回 下载 相关 举报
C语言程序设计的概念.ppt_第1页
第1页 / 共80页
C语言程序设计的概念.ppt_第2页
第2页 / 共80页
C语言程序设计的概念.ppt_第3页
第3页 / 共80页
点击查看更多>>
资源描述
C语言程序设计 张书源 课程概要 课程类型 专业必修课课程组成 1 C语言程序设计共64课时 每周4课时 4学分 考核方式为笔试 2 C语言程序设计实验共32课时 每周2课时 2学分 考核方式为机试 最终成绩由平时成绩和考试成绩组成 学习要求 课堂学习与自学相结合机下练习与上机练习相结合养成良好的程序书写习惯以严谨的态度设计和书写程序 第1章C语言程序设计的概念 1 1程序与程序设计语言 程序是让计算机完成某个任务所安排的工作步骤 任务 程序 计算机程序设计语言 程序是用计算机程序设计语言来描述的 1 机器语言 是计算机可直接识别的语言 机器语言的指令由二进制数组成 直观性差 现在已经不用它直接编写程序 比如 10000000代表一个加法10010000代表一个减法 2 汇编语言 汇编语言的指令用 助记符 书写 它的指令与机器语言基本上一一对应的 比如 ADDA B表示加法SUBA B表示减法机器语言和汇编语言都和机器硬件密切相关 称为面向机器的语言 3 高级语言 高级语言接近于人类的自然语言 方便了人们的学习和掌握 高级语言与机器硬件关联小 用它编写的程序通常不需要修改或只需进行少量修改就能用于不同计算机 第一种高级语言是FORTRAN语言 现在已经有数千种 常用的有C语言 FORTRAN语言 Basic语言 Pascal语言等 高级语言程序的开发过程 高级语言程序不能被计算机硬件直接识别 必须把它翻译成机器语言程序才能被计算机执行 分析问题 建立模型 编写源程序 翻译 执行程序 1 2C语言及其标准 C语言是在开发UNIX操作系统过程中产生的 现在已经成为一种通用的程序设计语言 目前C语言已经成为一种基础语言 很多高级语言都是在C语言的基础上产生的 如 C VisualC Java C 等 所以 学习C语言是学习计算机程序设计的起点 C语言的标准 C语言有多个标准 主要的C标准有 1 C89 通常称为ANSIC 这是第一个完整的C语言标准 以后的C语言标准都是对它的修订 补充 2 C90 对C89作了少量的修改 3 C99 对C标准作了全面修订 是最新的C标准 本课程基于C99介绍C语言程序设计方法 所以 它与前几年的C语言教材介绍的C语言程序略有不同 1 3C语言程序概要 C语言是一种面向过程的程序设计语言 C语言程序的基本部件是函数 C程序结构 程序头部 函数 函数 一个简单的C程序 ex1 01 c includeintmain void printf Hello 输出一串字符 return0 返回结果 intmain void 主函数每个C程序必须有一个主函数 计算机执行程序时就是执行主函数中的语句 当主函数中的语句执行完时 这个C程序就执行完了 主函数的格式 intmain void return0 主函数的结束语句 其功能是向操作系统返回一个结果 但这个结果不会显示出来 return0 语句必须是主函数中的最后一条语句 在它后面的语句不会被执行 intmain void return0 返回结果 printf Hello 这个语句不会执行 printf Hello 输出语句 其功能是在程序的执行窗口中显示一个字符串 显示的结果不包含 所以 该语句的执行结果为 Hello include这是一条 编译预处理命令 它不是语句 写在C程序的头部 在结束处不用加分号 本命令的作用是把C系统中的stdio h文件包含进来 这个文件与输入输出操作有关 当程序中使用了printf 等函数时需要包含此文件 注释 它们是程序中说明性的文字 可提高程序的可读性 注释可写在程序的任何地方 它们不被执行 注释可以不写 但在程序的适当位置书写注释是一个良好的编程习惯 它对我们阅读 调试程序有很大帮助 早期的C程序中 主函数可以没有返回值 也不需要return语句 如 voidmain printf Hello 这种写法在有些系统 如DOS Windows 中是合法有效的 但我们推荐使用前面的更为通用的写法 main printf Hello 练习 写一个C程序 在计算机屏幕上输出你的名字 myname c includeintmain void printf 张书源 输出我的名字 return0 返回结果 常见问题 1 分号 每个C语句后应该有分号 其它位置不能有分号 myname c include intmain void printf 张书源 输出我的名字 return0 返回结果 2 引号 字符串应该加引号 程序执行时这个引号不会显示出来 myname c includeintmain void printf 张书源 输出我的名字 return0 返回结果 3 书写习惯 书写程序时应该有层次 同一级别的文本应该对齐 低一级别的文本应该缩格 myname c includeintmain void printf 张书源 return0 myname c includeintmain void printf 张书源 return0 书写不规范的程序可以使用 但可读性差 应该在一开始就养成良好的书写习惯 附 C语言程序开发环境 用C语言书写的程序称为C语言源程序 这种程序不能被计算机执行 必须经过编译 链接 生成可执行程序后才能使用 源程序 c 目标程序 obj 可执行程序 exe 编译 链接 编辑 执行 能够进行C程序编辑 编译 链接的平台称为C语言集成开发环境 常用的有TurboC2 0 gcc TurboC 3 0 VisualC 等 VisualC 开发环境 VisualC 6 0是一个用于开发VisualC 语言的集成开发环境 但它也可以编译 链接C语言程序 所以可以作为C语言的程序的开发平台 使用方法 1 启动VisualC 6 0 开始 程序 MicrosoftVisualStudio MicrosoftVisualC 6 0 2 建立一个C语言源程序文件 选择 File 文件 菜单中的 New 新建 菜单项 选择 Files 标签中的 C SourceFile 输入源程序的文件名 后缀应该使用 c 设置文件存放的路径 单击OK按钮就打开了C源程序的编辑窗口 3 编辑C语言源程序 在编辑窗口中输入C源程序 如果有错误 可以在此进行修改 这个过程称为编辑 4 编译 程序输入后 使用 Build 构建 菜单中的 Compile 编译 菜单项进行编译 如果源程序中没有语法错误 会在下面的调试窗口中显示 0error s 0warning s 表示编译成功 并生成后缀为 obj的目标文件 error s 是指程序中存在的错误数量 如果有错误 必须进行修改 然后再重新编译 warning s 是警告数量 有警告的程序可以链接和执行 但通常执行的结果可能有问题 5 链接 链接是为了生成可执行文件 使用 Build 构建 菜单中的 Build 构建 菜单项进行链接 链接后可生成后缀为 exe的可执行文件 6 执行 使用 Build 构建 菜单中的 Execute 执行 菜单项可执行这个程序 结果会显示在一个执行窗口中 几点说明 1 如果执行的结果有问题 需要在编辑窗口中修改源程序 然后重新编译 链接 执行 2 可以用工具栏的按钮进行编译 链接和执行 3 生成的可执行文件可以脱离开发环境 在操作系统中直接执行 保存源程序 使用 File 文件 菜单中的 Save 保存 菜单项可以保存当前的源程序 也可以用工具栏中的 保存 按钮进行保存 打开已存在的源程序 使用 File 文件 菜单中的 Open 打开 菜单项 设置文件路径后 可以打开一个已存在的源程序 也可以用工具栏中的 打开 按钮进行保存 另外 也可以在磁盘上找到后缀为 c的源文件 双击这个文件图标 可以打开这个文件 1 3 1函数 C语言中的函数有三种 1 主函数函数名为main 每个C程序中有且仅有一个主函数 程序执行时执行的就是主函数中的语句 2 标准库函数 标准库函数是C编译系统预定义的一些函数 可直接在程序中调用 printf 就是一个标准库函数 它的功能是向执行窗口输出内容 标准库函数在后缀为 h的头文件中声明 使用这些函数时 需要在程序的头部包含相应的头文件 include includeintmain void floatx x sin 0 19 printf f x return0 3 自定义函数 自定义函数是自己设计的函数 如 intadd inta intb intsum sum a b returnsum 与主函数不同 自定义函数中的语句不会直接执行 只有在调用时才执行其中的语句 intadd inta intb intsum sum a b returnsum intmain void ints s add 2 3 printf d s return0 函数声明 在调用库函数和自定义函数前 必须进行函数定义或函数声明 库函数的声明位于相应的头文件中 在程序头部用 include命令包含进来即可 自定义函数声明使用函数原型 以分号结束 如 intadd int int 它们一般也写在程序的头部 说明 如果函数定义写在了函数调用之前 则可以不写函数声明 如果函数定义写在了函数调用之后 则必须写函数声明 好习惯 建议在写程序时 不论函数定义写在何处 都在程序头部书写函数声明 1 3 2语句 语句构成了函数的执行部分 语句有表达式语句 流程控制语句和块语句三类 1 表达式语句 在C语言中 算式 赋值 函数调用都是表达式 s 2 3 x sin 0 19 printf d sum 都是表达式语句 表达式语句都以 分号 结束 2 流程控制语句 包括分支语句 循环语句等 intmax inta intb intm if a b m a elsem b returnm 3 块语句 块语句是多个语句构成的复合语句 语句1 语句2 块语句用一对花括号把一组语句括起来 在语法上相当于一条语句 1 3 3名字与声明 1 标识符与关键字 标识符也称名字 包括变量名 函数名 文件名等 标识符的命名规则 1 标识符可由大小写字母 数字和下划线组成 且不能以数字开头 如 sum a1 b D 25 1 2 标识符中的字母区分大小写 如 sum Sum SUM是不同标识符 3 C89中 标识符长度不多于31个字符 C99中 标识符长度不多于63个字符 4 标识符不能与关键字同名 关键字又称保留字 它们是系统中有特殊意义的名字 关键字包括 类型的名字 如int float void等 语句的名字 如if else return等 运算符的名字 如sizeof 好习惯 为变量 函数命名时 尽量使用有意义的文字命名 少用单个字母命名 如 max代表最大值 sum代表总和 add代表求和 2 声明 声明包括变量声明 函数声明等 intadd int int intadd inta intb intsum sum a b returnsum 声明也以分号结束 它与语句的区别在于 语句是在程序执行时处理的 而声明是在编译时处理的 变量声明的作用是为变量分配存储空间 函数声明的作用是让编译器知道函数的原型 包括参数个数和类型 返回值类型等 在C99中 声明也被当作语句 但属于非执行语句 1 3 4变量及其赋值 1 变量 变量的值是可以改变的 变量必须先声明再使用 变量声明方法 类型变量1 初值1 变量2 初值2 类型可以是int 整型 float 实型 等 实例1 intn 声明了一个整型变量n 声明时 如果没有设置初值 则该变量的值为任意值 实例2 intn 1 声明变量并初始化 初始化是为变量设置一个初始值 实例3 inta b 8 c 声明了三个整型变量 a b c都是整型变量 其中b进行了初始化 实例4 intt 1 floatx 3 5 y t是整型变量 x y是实型变量 2 变量的赋值 在C语言中 赋值是一种运算 可用于改变变量的值 称为赋值运算符 它组成的表达式称为赋值表达式 赋值表达式格式 变量名 表达式这个运算的值是赋值后变量的值 实例1 intn 声明了一个整型变量n n 1 n赋值为1 n 1 是一个表达式语句 实例2 intn 1 n 2 5 n是整型变量 赋值时会把小数截去 n的值为2 实例3 floatx x 2 5 x的值是2 5 实例4 inta 1 b 2 a a b a的值是3 实例5 inta b c a b c 10 赋值是一种运算 具有 自右向左 的结合性 先计算表达式c 10 c赋值为10 表达式值为10 再计算表达式b 表达式值 b赋值为10 表达式值为10 再计算表达式a 表达式值 a赋值为10 表达式值为10 执行结果为a b c的值都是10 练习 inta b c 1 a 5 b 2 c a 结果 a的值是5 b的值是7 c的值是5 3 变量的输入和输出 用printf 函数可以输出变量和表达式的值 输出整型 printf d 变量或表达式 输出实型 printf f 变量或表达式 实例1 intn 1 printf d n 输出n的值 实例2 intn 1 printf n 输出n 输出时 用n的值替换 d 所以显示的是1 输出时 显示的是n 不是n的值 实例3 inta 1 b 2 printf d d d a b a b 输出时 第1个 d用a的值替换 第2个 d用b的值替换 第3个 d用a b的值替换 显示结果是 1 2 3 实例4 inta 1 b 2 printf a b d a b 输出时 用a b的值替换 d 其它都原样输出 显示结果是 a b 3 用scanf 函数可以输入变量的值 输入整型 scanf d 程序遇到scanf 函数时 会暂停执行 等待用户输入数据 用户输入后 程序再继续执行 实例1 intn scanf d 实例2 inta b scanf d d 要求输入一个整数 存入变量n 输入两个整数 分别存入变量a和b includeintmain void inta b scanf d d 例 输入两个整数 输出它们的和值 1 3 5算数运算 1 基本算数运算 说明 1 整数的运算结果还是整数 实数的运算结果是实数 整数和实数的运算结果是实数 2 优先级 的优先级高于 3 在表达式中 只能用圆括号改变运算的优先顺序 如 算式 写成C表达式 10 x 5 3 a b 2 x y a b 2 常用数学函数 绝对值函数 intabs inti 求整数的绝对值doublefabs doublex 求实数的绝对值 平方根函数 doublesqrt doublex 求平方根 x不能为负 指数函数和对数函数 doublepow doublex doubley 求x的y次方doubleexp doublex 求e的x次方doublelog doublex 求x的自然对数doublelog10 doublex 求x的以10为底的对数 取整函数 doubleceil doublex 取大于x的整数 正入负舍 doublefloor doublex 取小于x的整数 正舍负入 练习 把下面的算式写成C表达式 abs a 1 abs b 1 b sqrt b b 4 a c 2 a 练习 写一个C程序 输入圆的半径 计算并输出圆的周长和面积 3 自反赋值运算符 自反赋值是某些赋值的简化形式 变量自反赋值运算符表达式 说明 先计算表达式 再进行自反赋值运算 inta 1 b 2 a b 相当于a a b 执行后a为3 intx 2 y 3 x y 2 相当于x x y 2 执行后x为10 4 自加运算和自减运算 自加是对变量的值加1 自减是对变量的值减1 说明 1 自加和自减只能用于整型变量 如 x y 是没有意义的 2 自加和自减有前缀用法和后缀用法 intx 2 x 相当于x x 1 intx 2 x 相当于x x 1 单独使用时 前缀用法和后缀用法效果是相同的 3 前缀方式是 先增值后引用 后缀方式是 先引用后增值 intx 2 y y x x先增1 再赋值给y 所以x为3 y为3 intx 2 y y x 先把x赋值给y 再对x增1 所以x为3 y为2 建议 尽量不要使用容易误解的用法 intx 2 y y x intx 2 y x y x intx 2 y y x intx 2 y y x x inti 2 n n i 2 inti 2 n n i 2 i是先增值 后引用 所以 运算后 i值为3 n值为6 i 是先引用 后增值 所以 运算后 i值为3 n值为4 4 和 运算的优先级高于乘法和除法 5 正负号运算符 正负号运算的优先级高于乘法和除法 intx 2 y y x 2 运算后 x值不变 y值为 4 小结 inti 2 j 3 n n j i 2 i 2 为 4 i i值为3 j 4 j值为 1 n 1 n值为 1 实例
展开阅读全文
相关资源
相关搜索

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


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

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


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