




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章简单例子与数据表示 2 1在屏幕上显示学生个人信息2 2计算学生成绩2 3圆球表面积与体积的计算 本章要点 C程序的基本结构输入与输出函数的调用变量的定义与使用四则运算赋值运算常用的数学库函数 2 1在屏幕上显示学生个人信息 例2 1 在屏幕上显示学生个人信息 包含学号 姓名 输出学生个人信息 include 编译预处理 voidmain 主函数 printf 学号 20100440023姓名 张景 n 调用printf函数在屏幕上输出内容 运行结果 学号 20100440023姓名 张景 2 1在屏幕上显示学生个人信息 输出学生个人信息 include 编译预处理 voidmain 主函数 printf 学号 20100440023姓名 张景 n 调用printf函数在屏幕上输出内容 之间为注释部分 一般是对程序或语句作一些辅助说明 2 1在屏幕上显示学生个人信息 printf 学号 20100440023姓名 张景 n 若程序中要使用printf函数 则必须在程序开头使用预编译命令 include 此行无须在后面加分号 2 1在屏幕上显示学生个人信息 例2 2 在屏幕上分两行显示 Thisismyfirstprogram 和 Iwilllearnitwell includevoidmain printf Thisismyfirstprogram n printf Iwilllearnitwell 运行结果 Thisismyfirstprogram Iwilllearnitwell 2 2计算学生成绩 上一节中学习了C语言程序的输出 本节学习C程序是如何进行四则运算假设某学生大学语文82分 高等数学90分 大学英语74分 计算该学生三门课程的总分及平均分 2 2计算学生成绩 计算学生总分和平均成绩 includevoidmain intch math en total ave ch 82 给变量ch赋值 math 90 给变量math赋值 en 74 给变量en赋值 total ch math en 计算三门课程总分 ave total 3 计算平均分数 printf total d ave d n total ave 输出总分和平均分 运行结果 total 246 ave 82 程序是按照自上而下的顺序依次执行 2 2计算学生成绩 printf total d ave d n total ave 2 2 2常量与变量 值不能被改变的量称为常量值可以被改变的量称为变量上例中 ch 82 math 90 en 74 total ch math en 82 90 74等是常量ch math en total等则是变量 可以对它们进行多次不一样的赋值 2 2 2常量与变量 类型常量的类型由自身的书写格式决定 不须预先说明 如整数82 90 5是整型常量 1 6 4 4属实型常量 整型常量和实型常量统称为数值型常量 a y 是字符型常量 2 2 2常量与变量 类型变量必须先通过定义 声明其类型后 才能使用 常用的数据类型有 int 整型 long 长整型 float 单精度实型 double 双精度实型 char 字符型 2 2 2常量与变量 类型除了类型之外 每个变量还应该有一个名字 以方便被引用以及参与运算 变量的命名必须遵循标识符的命名规则 即只能由字母 数字和下划线组成 其中 第一个字符必须是字母或下划线 2 2 2常量与变量 例2 4 intr 定义整型变量r 用于存储整数 doubles 定义实型变量s 用于存储实数 r 3 将3赋给变量r s 3 14 r r 将表达3 14 r r运算结果赋值给变量s 2 2 2常量与变量 定义变量的一般形式为 类型名变量名列表 多个变量名间应用逗号间隔 整个声明语句最后以分号结束 定义变量时 变量名的选择最好能见名知义 如用sum表示求和 用ave表示平均数 而且 C语言是严格区分大小写的 即Sum与sum是两个不同的变量 不能混用 2 2 2常量与变量 练习2 3以下哪些变量名是合法的 哪些是不合法的 sum average Mr Johne Stu nane 3ku BMW LiLin number a b 2 2 3算术运算和算术表达式 在C语言中 算术运算包括加 减 乘 除 求余和其他一些运算 其中 加 减 乘 除和求余都是双目运算 对应的运算符见表2 1所示 所谓双目运算是指参与运算的过程需要两个操作数 2 2 3算术运算和算术表达式 表2 1双目算术运算符列表 2 2 3算术运算和算术表达式 加法 减法 乘法与数学中的运算相似 需要注意的是 1 如果除法的两个运算对象均为整数 则运算结果也为整数 如表达式9 5的值是1 1 4的值是0 5 3的值是 1 即整数相除 结果将舍弃小数部分 2 求余运算 的运算对象要求必须为整型数据 它不能用于实型数据的运算 例如 3 5结果为3 22 4结果为2 而6 8 5是不正确的 3 五个算术运算符的结合方向均为自左向右 2 2 3算术运算和算术表达式 用算术运算符和括号将运算对象连接起来的符合C语言语法规则的式子称为算术表达式 如例2 4中的3 14 r r是一个算术表达式 运算对象可以是常量 变量 函数等 当一个表达式中有多个运算符时 首先就要考虑运算符的优先级 如果优先级相同 再考虑运算符的结合性 如表达式a b c 由于乘法的优先级高于加法 因此 先运算b c 相当于a b c 如果表达式中的运算符优先级相同 则按结合方向处理 如a b c 加法与减法的优先级相同 则按结合方向自左向右依次运算 和 还可以作为正值运算符和负值运算符 这时 和 作为单目运算符 2 2 4赋值运算与赋值表达式 在C语言中 称为赋值运算符 其功能是将 右边表达式的值赋给左边的变量 例如 在例2 4中的 r 3 用赋值运算符将一个变量和一个表达式 如 算术表达式 连接起来的式子称为赋值表达式 赋值表达式的一般形式是变量 表达式 如例2 4中的 r 3 和 s 3 14 r r 都是赋值表达式 注意 赋值运算符的左边必须是一个变量 2 2 4赋值运算与赋值表达式 由于赋值运算符的优先级很低 因此 对于赋值表达式 先计算右侧的表达式的值 再将该值赋给左侧的变量 例如 在例2 4中 r 3 s 3 14 r r 执行语句 r 3 是将3赋给变量r 于是变量r的值变成了3 执行语句 s 3 14 r r 由于算术运算符的优先级高于赋值运算符 因此 先做算术运算 再做赋值运算 先计算3 14 r r 得到28 26 再将28 26赋值给实型变量s 需要注意的是 只有当变量r有具体值以后 才能参与运算 2 2 4赋值运算与赋值表达式 例2 5 inta b a b 6 在以上程序片段中 变量a和b的值都为6 这是因为赋值运算的运算方向是从右到左的 即先计算 b 6 将6赋值给变量b 再将 b 6 的值6 赋值给变量a 赋值运算符的运算方向是从右到左的 2 2 4赋值运算与赋值表达式 例2 6 intc 10 doublea 3 b 5 s1 s2 s1 b c a 在例2 6中 表达式s1 b c a 先做除法运算 由于被除数c为整型 除数a为实型 两个运算对象类型不一致 C语言规定 运算对象将自动进行类型转换 使二者具有相同的类型 然后再进行运算 在此式中 整型会先被转换成实型 于是c a的值为3 333333 与b相加得8 333333 即为s1的值 2 2 5数据的输出 C语言的输入输出都是通过调用相应的函数来实现的 本节学习格式化输出函数printf 该函数在系统文件stdio h中声明 因此在程序中若要使用printf函数 必须在程序顶部使用编译预处理命令 include 2 2 5数据的输出 printf函数的一般调用格式 printf 格式控制字符串 输出参数列表 例如 printf a d b d n a b 2 2 5数据的输出 1 格式控制字符串 格式控制字符串必须用双引号括起来 表示输出参数的格式 其中 包含两种内容 普通字符和格式控制说明 普通字符 普通字符即原样输出的字符 例如 语句printf a b n 的输出结果是 a b 双引号之间的部分将全部原样输出 并且在输出后回车换行 其中的 n表示回车换行 2 2 5数据的输出 格式控制说明 输出参数的格式是由以 开头的格式控制字符控制的 如 d f等 它的作用是将输出参数按照指定的格式输出 不同的数据类型应采用不同的格式控制字符 常用的格式控制说明见表2 2 2 2 5数据的输出 表2 2常用格式控制说明 2 2 5数据的输出 例如 inta 3 b 5 printf a d b d n a b 输出结果是a 3 b 5 2 2 5数据的输出 2 输出参数列表 printf函数的输出参数列表是需要输出的数据 可以是变量或表达式 如果需输出多个对象 则各个输出对象之间用逗号隔开 printf函数后半部分的输出参数列表与前半部分的格式控制说明必须在数据类型 个数和位置上一一对应 printf total d ave d n total ave 2 3圆球表面积与体积的计算 例2 7 从键盘输入圆球半径 计算球的表面积和体积并输出 其中 体积保留两位小数 已知球表面积计算公式 体积计算公式 2 3圆球表面积与体积的计算 includevoidmain intr doubles v printf 请输入半径 在屏幕上显示提示信息 scanf d 运行情况 请输入半径 5圆球表面积为 314 000000 体积为 523 33 建议每行只写一个语句 每行用若干个空格开头 使程序呈 锯齿 形 以保持程序的层次感 这种形式会让程序的结构清晰 对调试程序有很大帮助 2 3 2数据的输入 C语言的数据输入是通过调用输入函数scanf来实现的 一般格式如下 scanf 格式控制字符串 地址列表 scanf函数的小括号内也分为两部分 其中 第一部分是格式控制字符串 第二部分的地址列表是由若干个地址组成的 可以是变量的地址 也可以是字符串的首地址 2 3 2数据的输入 格式控制字符串必须用双引号括起来 其中 包含两种内容 普通字符和格式控制说明 其中 格式控制说明用于指定读入数据的格式 它包含以 开头的格式控制字符 不同类型的数据采用不同的格式控制字符 常用的格式控制说明见表2 3 2 3 2数据的输入 2 3 2数据的输入 变量的地址是通过在变量名前加 来实现的 也称为地址运算符 是单目运算符 作用是取出变量的地址 任何变量在定义时 都在内存中分配一定的存储空间 该存储空间的首地址即为该变量的地址 例如 语句 inta 如果用VC 编译时系统自动在内存中分配4个字节的存储空间 用于存储a的值 2 3 2数据的输入 例2 8 从键盘上输入三个整数值 计算这三个数的平均值并输出 保留3位小数 includevoidmain inta b c doubleave 由于平均数可能不是整数 因此需定义成实型 printf Pleaseinput3numbers 输入提示 scanf d d d 运行情况 Pleaseinput3numbers 3610Theaverageis 6 333 2 3 2数据的输入 a b c分别表示变量a b c在内存中的地址 scanf函数的功能是将用户输入的数值分别存放在变量a b c的地址单元中 其中 a b c在内存中的地址是在程序编译连接阶段分配的 d d d 表示要按十进制整数形式输入3个数据 并且输入的数据之间可以使用一个或多个空格间隔 如本例的数据输入方式为 356 如若不然 直接输入356而不加空格分隔 系统会认为只输入了一个数据356 继续等待输入后两个数据 此外 也可以使用回车键或Tab键分隔输入的数据 2 3 2数据的输入 需要说明的是 如果scanf函数的格式控制字符串中包含普通字符 那么在输入数据时 普通字符需依顺序原样输入 例如 将例2 8中的 scanf d d d 程序运行时就要按如下格式输入 a 3 b 5 c 6此时 格式控制字符串中出现的普通字符 a b c 都必须原样输入 否则 就不能将正确的值输入给变量a b和c 程序的运行结果就会出现错误 2 3 3常用数学库函数 C语言提供了许多已经编写好的函数 供用户直接调用 而无需用户自己编写代码 这些函数称为库函数 也称为标准函数 在程序中要调用库函数 一定要使用编译预处理命令 include 将与相应库函数相关的头文件包含到源文件中 例如 程序中需要调用scanf函数和printf函数 则在程序前面需要加 include 程序中需要调用数学库函数 则在程序前面需要加 include 2 3 3常用数学库函数 常用的数学库函数有 1 指数函数exp x 计算ex 如exp 1 2 的值是2 718282 2 绝对值函数fabs x 计算 如fabs 6 39
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高端写字楼租赁及综合服务合同范本
- 知识产权纠纷调解与保密合同
- 重庆社区考试试题及答案
- 2025年首脑礼仪考试题及答案
- 土木专业测试题及答案解析
- 幼教专业即兴面试题及答案
- 刘馨教授解读指南健康领域
- SMT设备工程师述职报告
- 急性坏死性肠炎患儿护理要点
- 2025至2030中国血液动力学监测系统行业项目调研及市场前景预测评估报告
- 2025年公文写作试题及答案解析
- 2025江西南昌市西湖城市建设投资发展集团有限公司及下属子公司招聘40人备考考试题库附答案解析
- 医院后勤考试题库及答案
- 2025至2030中国农业观光园行业发展趋势与产业运行态势及投资规划深度研究报告
- 2025新疆伊犁州伊宁市中小学招聘各学科编外教师考试模拟试题及答案解析
- 2025年军休服务管理机构招聘面试中常见陷阱问题解析与应对方法
- 信息系统维护与升级管理模板
- 2025年南京市事业单位招聘考试卫生类临床医学专业知识试题
- 图解2025年9月10日第41个教师节全文
- 低空旅游项目基础设施建设与可行性研究报告
- 2025至2030年中国晶质石墨深加工行业市场调查研究及投资战略咨询报告
评论
0/150
提交评论