c语言的字符数据与整型数据可以互相赋值,C语言第3章(数据类型和表达式)2.ppt...

C语言第3章(数据类型和表达式)2.ppt

每一个字符有一个唯一的编码。称为ASCII码 American Standard Code for Ination Interchange 常用字符有128个,编码从0到127。,六.字符的表示,控制字符的ascii码032和127;普通字符共有94个。 存储一个需要一个字节的空间; 例如字符a 在内存中存的是ASCII码的二进制为 01100001;,数据在计算机中的表示,一. 字符常量 字符常量需要用单引号括起来。 例如 A 、b 、0 等。,3.5 字符型数据,字符常量分为 常义字符和转义字符 转义字符 用于表示ASCII字符集中的控制代码和用于功能定义的字符。 注是字符,但不好表示;,n 回车换行(ASCII码为10) t 水平制表符 (TAB键) b 退格 f 换页 a 响铃(ASCII码为7) “ “ ,1 常用的转义字符,2 任何字符都可以用下面的形式表示 字符的ASCII值 其中ASCII码值只能用三位八进制或两位十六进制表示。 三位八进制的表示ddd ; d 07; 两位十六进的表示 xdd ; d0 9;A F ,例2字符常量0,可以用 x30,060或60表示,例1字符常量 A,还可以用 101 和 x41 来表示;,例3字符常量n, 还可以用 012或12 和 x0A来表示;,二.字符变量,一个字符变量用来存放一个字符常量,即一个单个字符。 字符变量的定义形式 char c1,c2; 在内存单元中存储的是字符的ASCII码, 字符变量的使用方式 如c1a; c2n; c2c1;,字符数据与整型数据可以互相赋值。,a 97,32,int i , j ; char c ; i a ; c 97 ; j i c ;,字符数据可以字符形式或整数形式输出。,三. 字符数据与整型数据的关系,如char c1,c2; c197; c2 ; printf“cc”,c1,c2; printf“d,d”,c1,c2;,四. 字符串常量 (C字符串) 双引号括起的一串字符 如“how are you”;“chinan”; “a”; “5tbc”; “123.4” 字符串常量的存储方式 以字符0NULL作为字符串结束标志,C语言中出现的所有由双引号括起来的一串字符中一定包含该字符。,注1 a与“a”的区别,注2“” 与“ ”的区别,I say”Goodby”,例1 在C语言中,合法的字符常量是 a 084; b x43, c ab; d “0”,例3printf“cuserf1.n”; 输出什么 串长是多少,串长17,cuserf1.,串长15,例2printf“I say”Goodby”an” 输出什么 串长是多少,3.6 运算符及表达式,一.C语言的各种运算符,二. 学习运算符应注意的问题,优先级 1. C语言规定了各种运算的优先级。 2. 优先级的规定符合思维习惯。 如先乘除后加减。 3. 利用()提高程序的可读性。 结合规则 1. 运算符和运算对象的结合方向。 2. 左结合和右结合 102-9 ; -i 与运算量关系 要求运算量个数(单目/双目)和类型,三. 表达式 用运算符将运算对象按C的语法规则连接起来的式子叫表达式。 例 5 * b/c1.5a ; xy*aba-b; 125sqrt31; 1. 运算对象常量、变量、函数等; 2. 运算符 分单目运算、双目运算和三目运算符;,3. 注意与数学上习惯的表示方法的不同,例1,对应的C语言表达式为sinxsqrtx,例24.58 的C语言表达式为pow4.5,8C语言表达式是-bsqrtb*b-4*a*c/2*apowa, mpowb, n/sinxcosy,例3,例4,3.7 算术运算符,双目算术运算 ;- ;* ;/ ; ; 优先级顺序 先 *,/,; 后 ,- 当两个整型量做/运算,结果为整除后的结果; 否则为实数除,结果为double型; 例 int a3; float f3; 则,例表达式 572 72*4 的值是多少,-52 -1 5-2 1 110 1 51 0 5.52 , 只有两个整型量才可以做运算,结果为两个整型量整除后取余数;且余数与被除数的符号相同。,a/21 a/2.01.5 f/21.5,例将一个4位整数n,分离出个位、十位、百位和千位。,例如n7341;设nabcd,,7 7341 / 1000;,an/1000,3 7341 1000 /100;,bn1000/100,4 7341 1000 100/10;,cn1000100/10,1 7341 10;,dn10,3.8 赋值运算符,一. 赋值运算符 运算形式变量 表达式;,1 双目运算,左边是简单变量,右边是表达式; 2赋值转换规则 使赋值号右边表达式值自动转换成其左边变量的类型; 例int k; k3.1415; 问k的值是什么 3 运算结果是表达式的值; 4可出现多个运算符,结合规则从右向左。 例1 xyz5; 例2 以下表达式是否正确 a xyz3r; b xzz3r; c x2z3r;,二. 算术赋值运算组合运算,ax; a-x; a*x; a/x; ax ; aax; aa-x; aa*x; aa/x; aax; 优先级偏低;结合规则为从右向左 例1 x *y8; 等价于xx * y8; 例2 int a12; 执行 a a- a*a; a 相当于a a- a*a 相当于a a- a a*a 相当于a a a- a a*a 相当于a a a a - a a*a,3.9 自增自减运算符,例 int a2; 表达式 a 是否正确 相当于aa1;即aa1aa11,单目运算符 , 。 优先级高。 例如x; x; x; x 等。 其中x 或x; 相当于 xx1; 区别于x1; 只作用于变量; 例如3,, 前置运算和后置运算的区别 前置运算先执行(),后参与表达式运算,有优先级位置; 后置运算先参与表达式运算,后执行()运算,没有优先级位置;,,例1 int a2,b3; 执行xa b; x a b,例2 int x2; yx * x; y; x,int x2; yx * x; y; x,int x2;yx * x; y x,例3 设a2; 问下面两组语句执行后的区别 printf“d”, a; printf“d”, a; printf“d”, a; printf“d”, a; ,3.10 不同数据类型间的转换,不同类型的数据int;float;char可以进行混合运算 如 10 a 1.5 - 8765.1234 * b,1混合运算的规则 不同类型数据混合运算,先转化为同一类型。 转化规则运算符“”除外 将“较低类型”转换为“较高类型”(数值不变)后,再进行运算。 运算结果是“较高类型”的数据。,例 3.04/2 表达式的值 ,5.0,形式 数据类型表达式 当需要做一些特殊的运算,必须使用强制类型转换运算。 例1int k3; float x; 执行 x1/k; 问x的值 如何让x得到0.3333333的值 例2int a3,b4; float x10.4,y3.5; 表达式floatab/2intxinty的结果 注意 1转换是暂时的,定义是永久的; 2它是一个运算符, 单目运算, 优先级为2;,2 强制类型转换运算,本章习题,一. 填空题 可以不做的是 1,6,14,17,19,26,30; 二. 填空题 1, 2, 4, 5, 6, 12, 15, 16, 17,19,21,26,27,29,30; 三. 简答题 4, 6;,

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值