




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大学C+程序设计教程 C+基础小结 (18章) 1 C+程序的基本结构 全局变量说明 #include 子函数1 (形式参数) 子函数局部变量说明 语句序列 。 int main( ) 局部变量说明 语句序列 return 0; C+程序由函数组成;至少包括主函数 main()和(或)若干个子函数。 一个函数又由变量及参数说明语句和 语句序列构成。 每个语句必须用分号结尾。一个语句 行可以写多个语句,一个语句可以写在多 行上。 C+语言允许在程序中插入注释行。 C+语言提供了包括I/O功能在内的大 量标准库函数,但调用这些函数时,必须 在程序头部包含头文件。 函数体 2 三大基本结构示意图 顺序结构 选择结构 循环结构 模块(语句)A 模块(语句)B 条件 程序模块1 成立不成立 程序模块2 条件 程序模块 不成立 成立 (当型循环) 程序模块 成立 不成立 条件 (直到型循环) 3 1、顺序结构 r = p; p = q; q = r; 4 2、选择结构(之一) 一路分支 语句格式: if (表达式) 语句序列 条件? 成立 不成立 语句序列 两路分支 语句格式: if (表达式) 语句序列1 else 语句序列2 条件? 语句序列 1 成立不成立 语句序列 2 语句序列可以是一个语句,也可以是复合语句结构(分程序) 5 分程序 分程序在语法上是一个整体,相当于一个语句。 分程序中也可以再嵌套新的分程序,用以构成更加复杂 的控制结构。 6 选择结构(之二) 多路(开关)选择语句 : switch(整数表达式) case 数值1: 语句序列1; . case 数值n: 语句序列n; default : 语句序列n+1; 计算整型表达式 值 = ? 语句 序列1 . 语句 序列2 语句 序列n 带break语句的多分支结构 7 3、循环结构(之一) 当型循环 语句格式: while (表达式) 语句序列 直到型循环 语句格式: do 语句序列 while (表达式); 循环体 循环体 条件? 语句序列 成立 不成立 语句序列 不成立 成立 条件? 8 循环结构(之二) for语句用来实现计数循环: for (; ; ) 9 C+数据类型的分类 10 类型不同的数据之间的混合算术运算 不同类型的数据在参加运算之前会自动转换成 相同的类型, 然后再进行运算。 转换规则 转换的原则是由低级向高级转换 char - int - float - double 例:int a; a= 5/2 ,结果a为2 强制类型转换 格式:(类型语句)e 例:int i1=1,i2=2;double d1; d1 = (double)i1/i2;结果d1为0.5 11 数组 数组: 具有相同类型的数据的集合。 数组用数组名来标识。 其中的每个变量(数组元素)通过该变量在数组中的相对位置(下标)来引用。 特点: 常用于处理大批量数据; 数据特点:存在内在联系; 数组具有相同数据类型的变量集合; 这些变量都有相同名字,但下标不同; 称这些变量为数组元素; 只有一个下标一维数组; 有两个下标二维数组。 12 字符型数组和字符串处理库函数 字符 是用单引号括起来的单个字符,它在存储器中占1个字节。例如 ,A 字符串 是用双引号括起来的一串字符,它在存储器中占n+1个字节,即 字符串的结束符0也占1个字节的位置。例如,”abc”; 有效字符的个数称为字符串长度。 例如,”abc”的长度为3,但 占4个字节 (0占一位)。 字符串是用字符型数组存放的。 13 字符串长度与字符数组大小的关系 char A10=“China”; A5 A6 A7 A8 A9A0 A1 A2 A3 A4 0 ? ? ? ? C h i n a 14 函数的定义 函数必须先定义,后使用。 定义函数的一般格式为: () 函数体 15 函数的调用 函数要先定义,后调用。 调用函数时要考虑到函数本身的参数; 调用标准库函数时,要包含相应的头文件 输入/输出函数 iostream.h 字符串函数 string.h 常用数学函数 math.h 调用自定义函数时,要定义相应的实参,并给这些实参赋值。 实参与形参必须一一对应: “类型一致、位置一致、个数一致” 实参与形参有3种结合方式: 值调用、引用调用和地址调用。 16 指针型变量的定义 一般格式: 类型描述符 *指针变量名表; 例:int * ptr; float *array; char *s1,*s2; 指针类型 内存地址值是固定不变的,不同类型的指针本身所占据的 存储区域都一样大。 规定了用指针间接访问数据时的访问方式 为指针的算术运算提供依据 17 “*”和“ *ptr; *( 即取x地址中值5 注意:/声明ptr是一个int型指针 y = *ptr;/将指针ptr所指向的值赋给变量y int /声明一个int型的引用ref ptr = /取变量x的地址 *ptr = 2; 18 自顶向下, 逐步求精 结结构化程序设计设计 支持“自顶顶向下, 逐步求精”的程序设计设计 方 法。 “自顶顶向下” 是将复杂杂、大的问题问题 划分为为小问题问题 ,找出问题问题 的关键键、重点所 在,然后用精确的思维维定性、定量地去描述问题问题 。 “逐步求精” 是将现实现实 世界的问题经问题经 抽象转转化为逻辑为逻辑 空间间或求解空间间的问题问题 。复杂问题经杂问题经 抽象化处处理变为变为 相对对比较简单较简单 的问题问题 。经经若干步抽象 (精化)处处理,最后到求解域中只是比较简单较简单 的编编程问题问题。 19 基本思想和方法 基本思想 从问题问题 本身开始,经过经过 逐步求精,将解决问题问题 的步骤骤分解为为 由基本程序结结构模块组块组 成的结结构化程序框图图,据此编编写程序。 基本方法 从题题目本身开始, 找出解决问题问题 的基本思路, 将其用结结构化 框图图(可能是非常粗糙)表示。 对对框图图中的比较较抽象的、用文字描述的模块进块进 一步分析细细化 ,结结果仍用结结构化框图图表示。 将所求解问题问题 的所有细节细节 都弄清楚后, 再可以根据框图图直接 写出相应应程序代码码。 20 完全数 找出210000之内的所有完全数。 所谓完全数,即其各因子之和正好等于本身的数。 如6=1+2+3,28=1+2+4+7+14,所以6,28都是完全数。 #include void main() int k; for(int n=2;n10000;n+) k=0; for(int m=1;m=n/2;m+) if(n%m=0)k=k+m; if(k=n) coutkendl; 21 自顶向下, 逐步求精的解法 void main() for(int i=2;i=10000;i+) if(iscomplete(i) coutiendl; bool iscomplete(int n) i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023年度环境影响评价工程师之环境影响评价相关法律法规过关检测试卷及完整答案详解【考点梳理】
- 解析卷浙教版七年级下册数学第五章分式定向测试试卷(解析版)
- 2024-2025学年度医学检验(师)试题预测试卷及参考答案详解(模拟题)
- 2025职称计算机模考模拟试题带答案详解(满分必刷)
- 2024年高职单招模拟题库及完整答案详解一套
- 2025年医师定期考核常考点试卷含答案详解
- 康复医学治疗技术副高级职称含完整答案详解【各地真题】
- 2024年自考专业(建筑工程)测试卷含答案详解(黄金题型)
- 2025年康复医学治疗技术副高级职称测试卷【名师系列】附答案详解
- 2025汽车零部件采购合同
- GB 31603-2015食品安全国家标准食品接触材料及制品生产通用卫生规范
- GA 392-2009警服雨衣
- 关于公布2016年度中国电力优质工程奖评审结果的通知
- 送达地址确认书(诉讼类范本)
- 商务礼仪情景剧剧本范文(通用5篇)
- 幼教培训课件:《家园共育体系建构与实施策略》
- 《电子制造技术-电子封装》配套教学课件
- 机关档案管理工作培训PPT课件
- 厦华验厂不良整改计划表
- (高清正版)T_CAGHP 054—2019 地质灾害治理工程质量检验评定标准(试行)
- 新速腾保险丝对照说明(12款1.4T手豪)
评论
0/150
提交评论