




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章数据类型、运算符与表达式,数据类型标识符与关键字常量变量运算符与表达式,【本章要点】,2.1引例,2.1.1问题描述某地有10个装满稻谷的粮囤,粮囤的上部为圆锥体,下部为圆柱体。圆柱底面周长为62.8米,高2米,堆出稻谷高0.3米。计算10个粮囤能装稻谷多少立方米。如果每立方米重600千克,共装稻谷多少吨。,2.1.2问题分析主要计算公式及计算步骤:计算粮囤的底面半径r=c/(2)计算粮囤的底面面积s=r2计算粮囤的总体积(立方米)v=10(sh1+sh2/3)计算粮囤的粮食总重量(吨):w=10600v/1000,2.1引例,2.2数据类型,VisualC+6.0中基本类型数据的取值范围和所占内存的字节数,2.2数据类型,C语言规定:标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或者下划线。,2.3标识符与关键字,说明:C语言中的标识符严格区分大小写字母。标识符应尽量做到顾名思义,以达到良好的可读性。一般是英文单词、单词简写或单词组合。如表示“年”可以用year;表示“数字”可以用number或num。标识符的长度(即标识符中允许的字符个数)因C语言编译系统不同而不同,VisualC+6.0允许标识符的长度为1247个字符。,2.3标识符与关键字,注意:C语言中预定义了32个标识符,它们在程序中有着固定的含义,不能另作他用,这些标识符称为关键字。它们是:,2.3标识符与关键字,2.4.1数值常量整型常量整型常量指一个具体的整数。例如:10、0、-35等。C语言中的整型常量通常用十进制数表示。有时也需要将整数表示为八进制和十六进制。八进制整数以数字0开头,如012表示八进制数12,其对应的十进制数为181+280即10。十六进制整数以数字0和字母x开头,如0 x12表示十六进制数12,其对应的十进制数为161+2160即18。,2.4常量,实型常量实型常量一般指一个具体的十进制实数(又称浮点数)。(1)定点表示:整数部分.小数部分例:3.14,-0.88,.56计算机内部将实数一律按双精度数处理。可以在实数后加字母F或f表示单精度数。如:1234F,-5.64f都是单精度数。(2)浮点表示(指数形式):尾数部分E指数部分例:数值3.41510-1的浮点表示为3.415-1。,2.4常量,2.4.2字符型常量字符型常量是指用单引号括起来的一个字符。如:a、t、分别表示字符a、字符t和空格。特例:转义字符转义字符是以反斜杠“”开头的字符序列,将“”后面的字符转换成别的意义。,2.4常量,2.4常量,转义字符表,2.4.2字符型常量说明:字符型数据在内存中以其对应的ASCII码存储。ASCII码的全称是“美国标准信息交换码”,用于在不同计算机硬件和软件系统中实现数据传输标准化。该字符集规定了256个字符所对应的编码,取值范围为0255。,2.4常量,2.4.3字符串常量字符串常量在存储时每个字符占一个字节,并在尾部增加一个字符“0”以示结束。比如,字符串“book”在内存中的形式如下:,2.4常量,请注意区分a和“a”:a是字符型常量,在内存中占1个字节;而“a”是字符串常量,字符串尾部增加了0,在内存中占2个字节。,2.4.4符号常量为了提高程序的可读性,便于程序的调试和修改,C语言允许将程序中的常量定义为一个标识符,称为符号常量。定义符号常量的预处理命令如下:#define标识符字符串例如:#definePI3.1415926,2.4常量,变量是指程序运行过程中其值可以改变的量。在语言中变量即为存储单元。变量有三要素:变量名、变量类型和变量的值。变量名:指存储单元的符号地址;变量的值:指存储单元中的数据;变量类型:描述存储单元的大小。,2.5变量,变量必须先定义后使用。定义一个变量的实质是为该变量分配存储单元。定义变量的格式如下:数据类型变量名表;例如:intx;定义了整型变量x,用于存储整型数据。floata,b;定义了两个实型变量a和b,可存储单精度数据。说明:以上定义的变量并没有确定的值,不能直接使用。,2.5变量,C语言允许在定义变量的同时为变量赋初值,称为变量初始化。变量初始化的一般格式:数据类型变量名值,变量名值,变量名值;例如:intsum=0;指定sum为整型变量,初值为0。,2.5变量,说明:1.定义变量的格式中出现的分号表明这是一条语句,不可或缺。2.C语言中变量的含义和数学中变量的含义不同。C语言中的变量代表数据的存储单元,而数学中的变量代表已知数和未知数。,2.5变量,例2-1对引例中出现的变量加以定义。定义对于圆柱半径r、底面积s、体积v、重量w:floatr,s,v,w;定义底面周长c,圆柱体的高h1,圆锥的高h2:floatc=62.8,h1=2,h2=0.3;,2.5变量,表达式:由运算符将运算数按照一定的运算规则连接起来的有意义的式子。C语言中常用的表达式有算术表达式、关系表达式、逻辑表达式、赋值表达式等。,2.6运算符与表达式,2.6.1算术运算1.算术运算符,2.6运算符与表达式,2.6.1算术运算2.数据类型转换(1)若运算符两边的运算数类型相同,则所得结果的类型与运算数的类型相同。例如:1.0/4.0的值为0.251/4的值为0(2)若运算符两边的运算数类型不同,系统会转换成相同类型再运算。,2.6运算符与表达式,2.6.1算术运算2.数据类型转换转换规则:,2.6运算符与表达式,横向箭头表示必定的转换。纵向箭头表示转换的方向。,2.6.1算术运算3.算术表达式用算术运算符将运算数连接起来的表达式称为算术表达式。表达式中的运算数可以是常量、变量和数学函数等。例如:2+3(8a)/b+sin(/2)的算术表达式是:2+3*(8-a)/b+sin(3.1415926/2),2.6运算符与表达式,2.6.1算术运算4.算术运算符的优先级与结合性算术运算符的优先级划分如下图。图中箭头表示优先级从高到低排列。,2.6运算符与表达式,在求解算术表达式时,按运算符的优先级从高到低运算,优先级相同的运算按“自左至右”的结合方向进行。,2.6.1算术运算4.算术运算符的优先级与结合性例2-2设有变量定义inta=2,b=5,c=6;求以下两个算术表达式的值。(1)a+b*cb/a+b%c*a(2)a+b*(cb)/a+b%(c*a),2.6运算符与表达式,2.6运算符与表达式,2.6.2赋值运算赋值运算符:=1.赋值表达式赋值表达式是指由赋值运算符将变量和表达式连接起来的式子。格式:变量=表达式功能:将表达式的值赋给指定变量。例如:赋值表达式a=6把6赋给变量a。,2.6运算符与表达式,2.6.2赋值运算说明:(1)赋值运算符的左侧只能是变量,不能是常量或表达式。(2)赋值运算符不同于数学上的等号。(3)赋值运算符的优先级只高于逗号运算符,比任何其他运算符的优先级都低。(4)赋值运算的结合性为“自右至左”。(5)变量可以被多次赋值,变量中保存的是最后一次赋的值。,2.6运算符与表达式,2.6.2赋值运算2.赋值语句赋值表达式末尾加上分号则构成赋值语句。例2-3将引例问题中的计算公式用赋值语句实现。r=62.8/(2*PI);s=PI*r*r;v=3*(s*h1+1.0/3*s*h2);w=600*v/1000;,2.6运算符与表达式,3.赋值类型转换当赋值运算符两边的运算数类型不同时,系统自动将赋值运算符右边表达式值的类型转换为左边变量的类型。,2.6运算符与表达式,3.赋值类型转换例2-4假设有以下变量声明语句,分析各变量之间赋值的类型转换情况。inti=100;floatm=12.5;doublen3.96;charch=a;,2.6运算符与表达式,4.复合型赋值运算复合型赋值运算符:+=、-=、*=、/=、%=例2-5设有float型变量a,对a进行各种复合赋值运算,2.6运算符与表达式,5.自增/自减运算自增运算符“+”表示变量增1,自减运算符“-”表示变量减1。这两个运算符可以放在变量的前面,也可以放在变量的后面。“+”和“-”出现在不同的位置,含义也完全不同。,2.6运算符与表达式,5.自增/自减运算说明:(1)运算符“+”和“-”都是单目运算,只需要一个运算数,且必须是变量。(2)“+”和“-”运算符的优先级高于算术运算符。例2-6设有变量定义:intx=5,y=3;求表达式2*x+-3/+y的值。解:首先计算表达式x+和+y的值,分别为5和4,所以:2*x+-3/+y2*5-3/4=10。注意:运算结束后,x的值为6,y的值为4。,2.6运算符与表达式,2.6.3逗号运算逗号表达式:用逗号将多个表达式连接起来的式子。一般格式:表达式1,表达式2,表达式n求解过程:依次求解表达式1表达式n,整个表达式的值是表达式n的值。例如:求逗号表达式“s=0,i=1”的值。解:(1)求解表达式s=0,该表达式的值为0。(2)求解表达式i=1,该表达式的值为1。(3)表达式“s=0,i=1”的值为表达式“i=1”的值1。说明:逗号表达式不常用,一般只出现在for语句中。,2.6运算符与表达式,2.6.4强制类型转换C语言允许将一个表达式的值强制转换成指定类型。强制类型转换运算符:()转换格式:(类型名)(表达式)例如:(int)(x+y)将表达式x+y的值转换成int型。(int)(x)+y将x的值转换成int型。也可表示成(int)x+y,2.6运算符与表达式,2.6.5求字节数运算求字节数运算符:sizeof求字节运算的格式:sizeof(类型名或变量名)例如:sizeof(int)的值为4,即整型变量占用4个字节。说明:格式中的括号可以去掉。,2.6运算符与表达式,2.6.6取地址运算取地址运算符:floatr,s,v,w;3.用赋值语句计算底面半径、底面面积、体积、重量r=c/(2*PI);s=PI*r*r;v=10*(s*h1+1.0/3*s*h2);w=600*v/1000;,2.7引例问题的实现,#include#definePI3.1415926voidmain()floath1=2,h2=0.3,c=62.8;floatr,s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 惠民社区消防知识培训课件
- 情绪理论课件
- 2026届内蒙古包头市高三化学第一学期期末统考试题含解析
- 2026届福建省南平市邵武市四中化学高一上期中监测试题含解析
- 社会女性测试题及答案
- 象棋学徒面试题及答案
- 旭辉集团面试题及答案
- 家电公司审计流程执行制度
- 加班管理面试题及答案
- 财务人员面试题及答案
- 产科危急重症早期识别中国专家共识(2025年版)
- 福建福州工会招聘工会社会工作者笔试真题2024
- 化学品使用安全知识培训课件
- 航班延误心理影响-洞察及研究
- 2025年事业单位工勤技能-河北-河北保安员二级(技师)历年参考题库含答案解析(5卷套题【单选100题】)
- 介入科护理三基考试试题与答案
- 金融机构2025年风险管理数字化转型中的网络安全风险防控报告
- 2025年路桥港航专业考试题及答案
- 车间厂房装修方案模板(3篇)
- DG-TJ08-2097-2025 地下管线探测技术标准
- 体彩店合作协议书范本
评论
0/150
提交评论