- 8
- 0
- 约1.24万字
- 约 80页
- 2018-09-16 发布于湖北
- 举报
C语言程序设计视频教程及习题解析徐红波第03章(可编辑)
4、赋值表达式 由赋值运算符将一个变量和一个表达式连接起来的式子称为“赋值表达式”。它的一般形式为: 变量 赋值运算符 表达式 赋值运算符左侧的标识符称为“左值”(left value)。并不是任何对象都可以作为左值的,变量可以作为左值,而表达式a+b就不能作为左值,常变量也不能作为左值,因为常变量不能被赋值。出现在赋值运算符右侧的表达式称为“右值”(right value)。显然左值也可以出现在赋值运算符右侧,因而凡是左值都可以作为右值。 赋值表达式中的“表达式”,又可以是一个赋值表达式。例如: a=(b=5) a=b=c=5 a=5+(c=6) a=(b=4)+(c=6) a=(b=10)/(c=2) a+=a-=a*a 将赋值表达式作为表达式的一种,使赋值操作不仅可以出现在赋值语句中,而且可以以表达式形式出现在其他语句(如输出语句、循环语句等)中,如: printf(“%d”, a=b); 3.10 逗号运算符和逗号表达式 C语言提供一种特殊的运算符—逗号运算符。用它将两个表达式连接起来。例如: 3+5, 6+8 称为逗号表达式,又称“顺序求值运算符”。逗号表达式的一般形式为: 表达式1, 表达式2 逗号表达式的求解过程是:先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值。 一个逗号表达式又可以与另一个表达式组成一个新的逗号表达式,例如: (a=3*5, a*4), a+5 逗号表达式的一般形式可以扩展为 表达式1, 表达式2, 表达式3, …, 表达式n 习题 3.6写出以下程序的运行结果: #include stdio.h void main() { char c1=‘a’, c2=‘b’, c3=‘c’, c4=‘\101’, c5=‘\116’; printf(“a%cb%c\tc%c\tabc\n”, c1, c2, c3); printf(“\t\b%c%c\n”, c4, c5); } 3.7要将“China”译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。例如,字母“A”后面第4个字母是”E“,用”E“代替”A”。因此,“China”应译为“Glmre”。请编一程序,用赋初值的方法使c1、c2、c3、c4、c5这5个变量的值分别为’C‘、’h‘、’I‘、’n’、‘a’,经过运算,使c1、c2、c3、c4、c5分别变为‘G’、‘l’、‘m’、‘r’、‘e’,并输出。 3.8 例3.6能够改成如下: #include stdio.h void main() { int c1, c2; c1=97; c2=98; printf(“%c %c\n”, c1, c2); printf(“%d %d\n”, c1, c2); } 3.9求下面算术表达式的值 (1)x+a%3*(int)(x+y)%2/4 设x=2.5, a=7, y=4.7 (2 )(float)(a+b)/2+(int)x%(int)y 设a=2, b=3, x=3.5, y=2.5 3.10写出下面程序的运行结果 #include stdio.h void main() { int i, j, m, n; i=8; j=10; m=++i; n=j++; printf(“%d, %d, %d, %d\n”, i, j, m, n); } 3.11写出下面赋值的结果 int 99 42 char ‘d’ unsigned int 76 65535 float 53.65 long int 68 3.12写出下面赋值表达式运算后a的值,设原来a=12: (1)a+=a (2)a-=2 (3)a*=2+3 (4)a/=a+a (5)a%=(n%=2), n的值等于5 (6)a+=a-=a*=a 习题解答: 3.6 int main(int argc,char * argv[]) { char c1=a, c2=b, c3=c, c4=\101, c5=\116; printf(123456781234567812345678\n); //更直观的看字符所在的列 printf(a%cb%c\tc%c\tabc\n, c1, c2, c3); printf(\t\b%c%c\n, c4, c5); } 3.7 int main(int argc,char * argv[]) { char c1=C,c2=h,c3=i,c4=n,c5=a; printf(%c%c%c%c%c\n,c1,c2,c3,c4,c5); c1=
您可能关注的文档
- 2018高考化学大一轮复习方案(考点互动探究 考例考法直击 教师备用习题)第八单元 铁的获得及其应用课件 苏教版.ppt
- 2018高考化学大一轮复习方案(题型分类突破 专题强化训练)专题提升五 位——构——性在元素推断题中的综合应用课件 苏教版.ppt
- 2019年执业护士考试总结及归纳的重点知识 试卷真题答案-儿科PPT.ppt
- 2018连云港绿地·观湖一号整合传播策略.ppt.ppt
- A Plan for IT Disaster Avoidance, Mitigation, and Recovery对其避灾,减灾计划,和恢复.ppt
- 5700MAC偶极声波成像测井-中国石油测井有限公司.ppt
- aad_1112_安全管理--危险物品管理(PPT 44页).ppt
- accp美国胸科医师协会抗栓与血栓预防指南 ppt课件.pptx
- AccNet电话铜线接入技术..ppt
- AC尼尔森饼干市场零售研究2.ppt
最近下载
- 关节置换课件.pptx VIP
- 脉冲微分方程边值问题解的存在性:理论与应用新探.docx VIP
- 2025高考物理步步高同步练习必修3第十章电势差与电场强度的关系含答案.docx VIP
- 人教版高中数学必修一章节思维导图全套.pdf VIP
- 深度解析(2026)《GAT 147-2019法医学 尸体检验技术总则》.pptx VIP
- 变分法研究几类分数阶脉冲微分方分程边值问题解的存在性.docx VIP
- 《中小学生欺凌防治制度机制指引》全文.pdf VIP
- 普通话水平考必试读词语表.doc VIP
- 汽车租赁合同模板范本.docx VIP
- 2025高考物理步步高同步练习选修1第一章 动量专题强化3 弹簧—小球模型 滑块—光滑斜(曲)面模型含答案.docx VIP
原创力文档

文档评论(0)