




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章程序设计概论 1 1问题求解1 2程序设计语言1 3程序设计范式的演化 学习目的 了解程序设计的一般过程 了解思维与语言 算法与数据结构 算法与程序间的关系 通过程序设计语言发展历史 了解各语言的特点 了解程序设计范式的演化 1 1问题求解 利用计算机解决问题通常需要由人将解题的具体过程描述出来 即计算机按照人类描述的人类思维过程解题 下面几个例子 引出用计算机解决问题的方法1 输入一个华氏温度 要求输出摄氏温度 转换公式c 5 9 f 32 解决方法 1 设定变量c f 2 输入f 3 代入公式计算c 5 0 9 0 f 32 4 输出c用c 语言表示 按c 语法格式书写 includevoidmain floatc f cin f c 5 0 9 0 f 32 cout c c 例子 引出用计算机解决问题的方法2 从键盘输入三个整数值给给a b c 计算 a b c的值解决方法 1 设定变量a b c s 2 输入a b c 3 代入公式计算s a b c 4 输出s用c 语言表示 按c 语法格式书写 includevoidmain inta b c s cin a b c s a b c cout s s 以上就是c 语言面向过程程序的顺序结构 例子 引出用计算机解决问题的方法3 有三个整数设为a b c 从键盘输入它们 输出其中的最大者 解决方法 1 设定变量a b c max 两两比较 2 输入a b c 3 比较a b 大的给max 4 比较c max 大的给max 5 输出max用c 语言表示 按c 语法格式书写 includevoidmain inta b c max cin a b c if a b max a elsemax b if c max max c cout max max endl 例子 引出用计算机解决问题的方法4 有一函数编程实现输入x 输出y值 y 解决方法 1 设定变量x y 2 输入x 3 将x与0比较 代入不同公式计算y 4 输出y用c 语言表示 按c 语法格式书写 include includevoidmain floatx y cin x if x 0 y x elsey 2 sin x 1 cout y y endl 以上就是c 语言面向过程程序的分支结构 x x 0 2sinx 1 x 0 例子 引出用计算机解决问题的方法2 计算1 2 3 100的和解决方法 1 设定变量n s 2 给n取值 3 代入公式计算s s n 4 当nvoidmain intn s 0 n 1 s s n while n 100 n n 1 s s n cout s s endl 以上就是c 语言面向过程程序的循环结构 1 2 1发展历史1 2 2程序设计语言的实现1 2 3高级语言程序基本结构1 2 4高级语言的语法规则1 2 5程序的编辑 编译和运行 1 2程序设计语言 1 2 1发展历史 第2章算法设计基础 2 1算法的描述2 2结构化算法设计初步2 3算法的计算复杂性2 4常用算法设计策略 学习目的 掌握算法的流程图和PAD图描述方式 初步掌握结构化算法设计 能够进行简单的算法复杂性分析 初步了解分治与递归 1 2 4高级语言的语法规则 单词 字符集能够出现在程序文本 注释除外 中的所有字符 单词由字符集字符按特定规则组成的最小程序单元 标识符用于标识程序中各种名字 C 标识符由字母开始 其后跟随0个或多个字母 关键字预定义的具有特定语义的标识符 运算符代表着对某些数据的某种操作 分隔符分隔程序正文形成不同语法成分 如空格 运算符常量接使用符号标记的数据 注释符标志程序中一段注释的开始或结束 单词构成语句 语句构成程序 1 2 5程序的编辑 编译和运行 编辑文件程序的编译和运行 使用VisualC 6 0的环境调试以上例子 2 1算法的描述 2 1 1自然语言方式2 1 2伪代码方式2 1 3程序流程图方式2 1 4N S盒图方式2 1 5PAD图方式 算法的描述方式很多 不同描述风格适用于不同场合 在面向对象技术出现之前 人们倾向于在算法的描述中对未来程序的层次结构进行一定程度的控制 而不仅仅是描述具体的数据处理过程 本节介绍算法的常见描述方法 第3章数据类型与运算规则 例如 根据半径 求圆周长 s 2 r程序 main floatr s r 2 4 s 2 3 14 r cout s endl 程序处理的对象是数据 编程就是描述对数据的处理过程 数据类型 基本类型 构造类型 指针类型 实数型 浮点型 整型 单精度型 字符类型布尔类型空类型void 双精度型 数组类型 结构类型 联合类型枚举型 引用类型 C 语言主要数据类型 在程序运行时其值可以改变的量 与数学里概念不同 表述数据存储基本概念 在这里变量可看成是一个存储数据的容器 对变量的基本操作两个 赋值 取值 变量要有变量名 使用前要定义 定义方法 类型说明符变量名表 inta b c charch1 ch2 doublex y 2变量 3 2 2整型数据及其表示 一 整型 int 1 int2 shortint3 longint 常量后面加l小写或L大写 unsignedint整型常量表示 十进制八进制 以0开头 十六进制 以0 x 例如 intx longinty 十进制123 5八进制023 0 7可用 十六进制0 x120 x2A0 x3e 可用0 9 abcdef或ABCDEF 1 float单精度浮点类型存储字节数42 double双精度浮点类型存储字节数83 longdouble长双精度浮点类型存储字节数16例如 floatx doubley 实型常量表示 只能用十进制 一般作双精度处理 小数形式 由符号 整数部分 小数点及小数组成 指数形式 由十进制小数 E或e 指数E前后必须有数字 例如 12 3412 0 4 560 0 015 6f1 3L3 4e2 12 0E 42 e3L 3 2 3实型数据及其表示 字符型数据包括字符和字符串两种 在计算机中存储的是字符的ASCII码 附录F 一个字符占一个字节 问 字符型数据可以和整型数据运算吗 Why 字符型常量 A a 0 转义字符见P49表3 4字符串常量 a 1234 abc 问 A 与 a 区别 defineflag 字符型变量例如 charc1 c2 3 2 4字符型数据及其表示 3 4指针类型 3 4 1指针定义3 4 2指针的初始化3 4 3指针运算3 4 4指针与常量 指针是C语言与C 的特色 使得程序员可以在程序中直接访问内存 指针 通指具有指针类型的变量 而指针类型是一大类特定数据类型的统称 指针持有相应类型数据的存储地址 3 4 1指针定义 对于类型T T 被称为指向类型T的指针类型 简称T型指针 即具有类型T 的指针变量可以保持T型数据 变量 常量等 的内存存储地址 int pInt 指向整型量的指针char ppChar 指向字符型指针的指针int pIndex 4 整型指针数组 每个元素 中存放有整数指针int pCount 3 指向一维数组的指 针 该数组有3个元素 charc A char pChar abcde char pc 指针定义方法 分析下述指针定义的含义 3 4 2指针的初始化 定义指针时把一个变量或常量的地址赋值给指针 称作指针初始化 好的编程风格是每个指针都应该初始化为某个地址 或为0 不同类型变量或常量的地址表达方式不同 对于基本类型变量 数组成员 结构成员等在其名字前加运算符 数组的地址与其第一个元素的地址相同 用数组的名字表示 函数的地址为该函数的入口 用函数的名字表示 例如 inta b 10 int pa 3 4 3指针运算 1指针与整数的运算 intn 3 intk n 1 int pn inta 5 1 2 3 4 5 int pn a pn 2 2指针的增1 减1 inta 5 1 2 3 4 5 int pn a pn 2 3指针之间的减法 charStr 20 MynameisJohn char pStart Str pEnd Str for inti 0 i 20 i if pEnd 0 break pEnd cout Thelengthis pEnd pStart endl 4指针间的关系运算 两个同类型指针之间可以进行大小的比较 用以确定它们所指向数据的前后顺序 如两个指针相等说明它们指向同一个数据 当两个指针指向同一数组的元素时 如果指针的值不同 那么取值大的指针所指的元素位于取值小的指针所指元素之后 3 5引用类型 引用的定义格式通常如下 其中是某种类型名 可以是除去引用类型之外的任何一种类型 比如整型 字符型 指针类型 结构和类等 intx 1 int 引用的应用更常见于函数的参数或函数的返回值类型 3 3基本运算及其表达式 一 算术运算符 例如 5 3 15 3 25 0 3 0 1 666667 二 关系运算符 sizeof 单目运算 一个运算符连接一个运算对象双目运算 一个运算符连接两个运算对象三目运算 一个运算符连接三个运算对象 六 赋值运算符1 简单赋值运算符 格式 变量 表达式2 多重赋值运算格式 变量1 变量2 变量n 表达式3 组合赋值运算格式 变量双目运算符 表达式y xy y x 七 条件运算符 例如 x y x y八 逗号运算符 例如 x 3 x 2 运算符的优先级 算术关系逻辑条件赋值 数据类型转换 2 运算时C语言允许任何标准类型数据之间进行隐式转换 规则 doublefloatlongunsignedintchar short例如 3 6 a 5 b 其中a是float型 3 强制转换例如 intx doubley y double x y 注意 2种转换都是在运算时进行 对变量本身无改变 1 如果赋值运算符两边的数据类型不一致 C编译系统要进行类型转换转换原则以 左边的变量的类型为准 intx x 12 4 0 3 表达式 例如 将a b改成符合c语言的表达式sinx siny如 a b sin x sin y 4 3语句 4 3 1表达式语句4 3 2语句间顺序控制4 3 3复合语句4 3 4选择语句4 3 5循环语句4 3 6直接顺序控制 语句是构成程序的基本单元 简单语句用于表示一种单一功能的操作 复合语句 选择语句 循环语句等复杂语句可能代表多个操作组成的一种复杂操作或功能 语句由单词按照语句的语法规则组成 单词间以分隔符 运算符或若干个空格符分隔 语句通常以一个特殊的符号结束 例如C 的语句以分号做为结束标志 4 3 1表达式语句 表达式语句 ExpressionStatement 的形式很简单 在C 中 只要在任何表达式的结尾缀以分号 就构成了表达式语句 例如 x 10 y l 5 m 6 n 7 mb a 增1语句 4 3 2语句间的顺序控制 作为算法实现工具 通用程序设计语言通常都提供描述算法三种基本控制结构的具体方式 使用三类语句构成程序的三种基本控制结构 顺序结构使用顺序语句实现 顺序语句指一组语句的执行顺序与语句的物理排列顺序相同 选择结构使用选择语句加以实现 选择有两种形式 条件语句和开关语句 循环结构使用循环语句加以实现 循环语句有三种形式 do语句 for语句和while语句 4 3 3复合语句 复合语句是由花括号 及其内部语句组成 作为一个整体在语法上是一条语句 尽管其内部可能包含多条语句 复合语句具有明显的块特色 所以也称为块语句 复合语句可以嵌套 即复合语句的内部可以含有其他复合语句 复合语句可以单独使用 将程序的一部分利用 扩起来作为相对独立的一块形成良好的编程风格 但更常用于if语句 switch语句或循环语句中 另外 如果在复合语句中嵌入了一条或多条说明变量 则常称这种复合语句为分程序或块结构 4 4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度白酒年份酒生产技术改造合同
- 2025版企业品牌形象策划委托合同
- 2025年度5G通信技术研发合同证明书
- 二零二五年度养老院食堂承包服务协议
- 2025年度居民香港离婚登记手续代理与全程法律支持服务协议
- 二零二五年度购房意向保密协议范本
- 二零二五年度高铁工程用钢材供应合同样本
- 二零二五年度高铁站用低压开关柜采购合同
- 税率课件教学课件
- 2025年隔音降噪设备:隔音吸声材料项目发展计划
- (正式版)SH∕T 3541-2024 石油化工泵组施工及验收规范
- 安徽省劳动合同(安徽省人力资源和社会保障厅制)
- GB 18584-2024家具中有害物质限量
- 平台建设运营考核方案
- FANUC机器人控制柜结构及原理介绍
- 临时用电安全责任确认书
- 血液信息系统基本建设规范 第3部分:医疗机构输血管理信息系统基本功能规范
- 网络运维专项方案
- DZ∕T 0173-2022 大地电磁测深法技术规程(正式版)
- 手术器械检查与保养
- 幼儿园社会健康课件:《我会刷牙》
评论
0/150
提交评论