c-2数据类型、运算符和表达式详解.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
四.字符串常量 用“”括起来的零个或多个字符(含转义字符) 组成的字符序列 如: ascii,7y677 ,8757gj\n b.字符串的长度:指字符串中字符的个数。长度为0的字符串(即一个字符都没有的字符串)称为空串,表示为“ ” (一对紧连的双引号)。 例如,“How do you do.”、“Good morning.”等,都是字符串常量,其长度分别为14和13(空格也是一个字符)。 c.字符串的存储 C语言规定:在存储字符串常量时,由系统在字符串的末尾自动加一个‘\0’作为字符串的结束标志。 注意:在源程序中书写字符串常量时,不必加结束字符‘\0’,否则画蛇添足。 如果有一个字符串为“china”,则它在内存中的实际存储如下所示: c h i n a \0 思考:‘a’和“a”相同吗? ‘7’和7 相同吗? char c1=‘a’; char c2=“a”; (错误) 变量赋值的方法 方法一:定义变量的同时赋值 方法二:先定义变量,再用scanf赋值 int a=4,b; scanf(“%d”,b); 3.3不同类型数据间的转换 类型转换的概念 在程序运行中,一种数据的类型改变成另一种数据类型 类型转换两种方式 隐式转换——自动类型转换 显式转换——强制类型转换 隐式转换发生在下列三种情况 混合运算(算术转换) 赋值运算 数据输入输出 ? ? 10 精度损失问题:无精度损失问题,但赋值运算中视情况而定 一.算术转换(隐式转换) 当不同类型数据混合运算时,自动进行的转换 转换原则 精度损失问题:较高类型向较低类型转换时可能发生 二.强制类型转换(显式转换) 人为进行的类型转换 使用格式 (类型名)表达式 基本类型或指针类型 常量、变量及其表达式 11 ? ? 无条件的转换(垂直) 按类型的高低“向高看齐” 显式转换(强制转换) 一般形式:(类型名)(表达式) 例 (int)(x+y) (int)x+y (double)(3/2) (int)3.6 说明:强制转换得到所需类型的中间变量,原变量类型不变 低 高 int ? unsigned ? unsigned long ? double ? char(short) unsigned short long float 3)结合性:即指运算符与运算元的结合方向 用于指导同级的运算 左结合性——op自左向右 右结合性——op自右向左 表达式:运算元E与运算符的组合式 §3.4 运算符与表达式 12 ? ? 一.运算符简介 运算符(op) :用于对运算元 E 进行规定的操作。 共有34种运算符,可分十大类(参见本课件第一章) 运算符的三个属性 1) 运算元数E:C最少1个,最多3个 2) 优先级:共十五个(可简化为八或十个) 简化后的优先级: 1一级运算符 2单变量运算符 3算术运算符 4移位运算符 5关系运算符 6位逻辑运算符 7逻辑运算符 8条件运算符 9赋值运算符 10逗号运算符 高 低 均为双元运算,左结合 五种运算 * 乘法 / 除法 % 求模 + 加法 - 减法 优先级(4) 二.算术运算 优先级(3) 说明 a/b式中,a、b均为整数时,若不能整除,其商向零取整 a%b式中,a、b均为整数 +、-用于符号运算时,为单元运算、优先级(2)、右结合性 13 括号“( )”之内表达式优先级最高 ? ? 例: -a - b + c 运算元(操作数E)必须是变量,不能用于常量和表达式。 例如,5++、--(a+b)等都是非法的。 三.自加自减运算 用于对变量(假设为i)的自身加1减1运算——自反运算 运算符、表达式及其属性 后置式:在多个运算符表达式中,总是: 先使用(i)一次,再做自加(减)运算 14 ? ? 自加自减运算应用示例 void main( ) { int x=6, y; printf(x=%d\n,x); /*输出x的初值*/ y = ++x; /*前置运算*/ printf(y=++x: x=%d,y=%d\n,x,y); y = x--; /*后置

文档评论(0)

ee88870 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档