已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
福建工程学院鲍春波 高级语言程序设计 2012年秋 第2章程序设计入门第2讲 问题2 求两个整数的和与积 问题分析什么样的两个整数 是固定的两个整数 例如2 3还是任意数两个整数 不能确定是什么样的整数 考虑三种情形 情况1 两个固定的整数如2 3进行加法和乘法 这两个数在程序设计的时候就已经确定 情况2 在程序设计时不知道两个要进行计算的整数是什么 两个整数的具体值由程序的使用者 也称用户 在运行程序时确定 情况3 有多组整数要进行情况2的加法和乘法计算 情况1 我们希望程序的运行结果是能套用上一节的方法吗 printf 2 3 5 n2 3 6 n printf 2 3 5 n2 3 6 n 计算机进行计算了吗 正确的做法应该是让计算机计算2 3和2 3 情况1的第一种实现 printf函数更一般的形式printf 格式说明 输出列表 占位符 格式说明 2 3 d n2 3 d n 用于指定输出行的格式 是一个字符串其中占位符 d表示在该位置显示一个整数 d表示整数输出列表 2 3 2 3是用 号分隔的输出项 每一项可以计算出一个整数值 占位符也叫转换说明 d把数值从内部的二进制形式转换为屏幕上的字符形式输出列表项2 3的结果5在内存中是000000000000000000000000000001015输出到屏幕上是一个字符 它是用它的ASCII码表示的 5的ASCII码是00110101 d转换说明举例 例如printf d n 1000000 1000000在内存中它是4个字节的二进制码1000000在屏幕上输出的是7个文本字符 每个字符用它的ASCII码表示转换说明或占位符把二进制的整数自动转换为ASCII码表示的字符 整数常量 2 3等是十进制整形常量 占位符为 d八进制常量以0开头 如02 03等占位符为 o十六进制常量以0 x或0X开头 如0 x2 0 x3等 占位符为 x 通常的占位符 d是左对齐的 printf d n d n d n 35 234 2354 其结果是左对齐352342354 有时需右对齐 给一个字符宽度 5d printf 5d n 5d n 5d n 35 234 2354 352342354 C C 的算术运算 乘法 除法 求余 注意 只有两个整数才可以做求余运算算术表达式 由算术运算符连起来的式子2 3 12 3 2复杂的运算可以使用小括号 甚至是多重的小括号 但不可以使用 或 例如3 2 3 1 2 1 下面再分析一下 上述实现方法是把计算和输出都交给printf了更好的做法是把计算任务从printf中分离出来 让printf专门做输出 情况1第2种实现 算法描述第1步 确定要计算的2个数 存入相应的变量中第2步 进行求和与求积运算第3步 输出计算的结果 情况1的第二种实现的代码 情况2的实现 变量的定义 变量需要定义 变量是有类型和名字 标识符 的intnumber1 number2 intsum product 变量标识符的命名规则由英文字母 数字 下划线组成 必须以英文字母或下划线开头不允许使用系统的关键字 保留字 注意 变量名应该尽量有意义 这样便于阅读 如number sum 也可以是多个单词的组合 如mathSum 或MathSum 标识符对大小写是敏感的 一般用小写 或大小写混合 有时都用大写 不能使用标准库中定义过的标识符如printf 变量标识符 变量名 的真正含义 变量标识符是内存中一块特定区域的名称这个特定区域的大小由变量的类型决定的例如整型4个字节 intnumber1 变量是有类型的 int是整型还有实型 浮点型 float double 字符型char等 整型变量 整型是一个抽象的概念数据类型 一组数据的集合 一组操作整型 一定范围内的整数集合 整数可以进行的运算整型是数学上整数的近似 2个字节整型数据是从1111111111111111到0111111111111111第一位是符号位0表示正 1表示负即 2 15 1 到2 15 1 32767 32767 4个字节的整型数据的绝对值的最大值是2的31次方减1 其有效范围是从 4294967295到4294967295 而数学上的整数是无限的 整型类型int表示的整数范围是2个字节还是4个字节可以用sizeof运算查询printf d n sizeof int sizeof运算可以查询所有系统数据类型的大小 用sizeof运算可以查询系统数据类型的大小 注意 整型变量的数据在机内采用补码表示法正数的补码就等于原码 首位0或1表示数据的正或负 其它是该数的二进制编码 负数的补码等于其绝对值的原码按位取反再加1 变量的使用 给变量提供数据 赋值语句number1 2 number2 3 赋值运算 不是数学上的相等 一个赋值运算就是对其左端的变量进行一个内存的写操作 C语言把可以放在赋值运算左端的量称为左值lvalue leftvlaue的简称 含有赋值运算的式子 赋值表达式赋值表达式加上 号 赋值语句 变量的算术运算 sum number1 number2 product number1 b 赋值语句右端的变量参与运算时执行一个读操作 输出变量的值 printf d d d n number1 number2 sum 读出number1 number2 sum变量的值类似的printf d d d n number1 number2 product 思考题1 在C C 语言的程序中 语句 sum sum 1 的含义是什么 可以写成 sum 1 sum 吗 思考题2 算术表达式可以添加一个分号结尾构成一个独立的语句吗 如2 3 a b 这样有意义吗 代码风格 情况2 任意两个整数的和与积 分析再次看看情况1的实现如何让用户决定要进行什么数据的计算呢 标准输入函数scanf 算法设计 算法描述第1步 从标准输入读2个整数 存入相应的变量中第2步 进行求和与求积运算第3步 输出计算的结果 实现代码 标准输入函数scanf 标准输入函数scanf的一般形式scanf 输入格式 输入列表 功能 从标准输入设备读数据 保存到相应的变量中scanf d d 输入占位符 规定了输入格式 d d 输入数据时要空格隔开也可以 d d 或者 d d 但输入数据时要逗号隔开输入列表 指定要存储数据的变量 但要用取地址运算符 指定它们的地址 代码编辑 编译 链接 运行测试演示特别注意scanf函数的运行效果 等待输入 和输入数据的格式要求和变化测试用例 每一组测试数据叫做一个测试用例 ACM竞赛题目都会给出输入用例和输出用例 小结 程序的顺序结构 情况3的实现 任意多两个整数的和与积 分析前面两种情况的不足任意多意味着什么 有很多对整数需要计算 每对整数都要做相同的计算重复 思考题 如何设计一个小学生算术计算软件分析 前面的求解过程是人出题 计算机计算 打印结果可否 计算机
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 漯河市郾城区2025-2026学年第二学期五年级语文第六单元测试卷(部编版含答案)
- 十堰市竹溪县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 淄博市沂源县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 泉州市泉港区2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 安康地区宁陕县2025-2026学年第二学期五年级语文第四单元测试卷(部编版含答案)
- 长治市沁源县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 东营市东营区2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 宜昌市远安县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 白银市平川区2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 芜湖市鸠江区2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 2025广东深圳市罗山科技园开发运营服务有限公司高校应届毕业生招聘笔试参考题库附带答案详解
- 中信银行合肥市肥西县2025秋招信息科技岗笔试题及答案
- 养老院食堂安全培训内容课件
- 血站清洁消毒培训课件
- 妊娠合并肺栓塞
- 数据压缩课件
- 人体动静脉课件
- 对口支援新疆管理办法
- 作风建设培训课件民航
- 学堂在线 雨课堂 学堂云 科研伦理与学术规范 期末考试答案
- 二手车经纪人题库及答案
评论
0/150
提交评论