- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
顺序结构程序设计及运算符
实验
(1)掌握++、--运算符作为前缀与后缀的区别,掌握复合赋值运算符以及不同运算符的优先级别;
(2)加深对运算符/和%的理解;
(3)掌握C语言中printf()和scanf()函数的使用;
(4)提高修改错误程序的能力。
实验内容:
实例分析1 分析以下程序的运行结果。重新输入、运行下面的程序并验证结果。分析++、––运算符前缀和后缀运算的区别。分析不同运算符的优先级别。
#include stdio.h void main() { int i,j,m,n; i=8;? j=10; m=++i; n=j++;?? printf(i=%d, j=%d, m=%d, n=%d\n, i, j, m, n); }
(1) 运行程序,注意 i、j、m、n 各变量的值,分别作以下改动并运行。(2) 将第、行改为:m=i++; n=–++j; 再运行,分析比较运行结果。
(3) 将程序改为:
#include stdio.h void main() { int i,j,m,n; i = 8; j = 10; m = ++i; n = –j++;?? /*此例主要说明运算符的结合方向*/printf(i=%d, j=%d, m=%d, n=%d\n, i, j, m, n);}
(4) 将程序改为:#include stdio.h void main() { int i,j,m,n; i = 8; j = 10; m = ++i; n = –++j; printf(i=%d, j=%d, m=%d, n=%d\n, i, j, m, n);}
(5)在(4)的基础上,将printf 语句改为:printf(%d,%d, ++i, ++j);
6)再将printf 语句改为:printf(%d,%d,%d,%d, i, j, i++, j++);
(7) 将程序改为:#include stdio.h void main() { int i, j, m=0, n=0;i = 8; j = 10; m+= i++; n–= ––j; printf(i=%d,j=%d,m=%d,n=%d, i, j, m, n);
}
实例分析分析每个输出语句的输出结果,输入以下程序验证分析结果。总结复合赋值运算的运算规则及其应用。
#include stdio.h
void main()
{? int a=12,n=5;a+=a; printf(a+=a:? a=%d\n,a);? ?/* a=24 */a-=a-2; printf(a-=a-2:? a=%d\n,a); /* a=2? ?*/a*=3+2; printf(a*=3+2:? a=%d\n,a); ??/* a=10 ?*/a/=a+a; printf(a/=a+a:? a=%d\n,a); /* a=0? ?*/a%=n%=2;? printf(a%%=n%%=2:? a=%d\n,a); /* a=0? ?*/a+=a–=a*=a;? printf(a+=a–=a*=a:? a=%d\n,a);?? /*? a=0 */}
【复合赋值运算的几点说明】
当表达式为简单表达式(如单一变量)时,表达式外的一对圆括号才可缺省,否则可能出错。运算时要把整个表达式一个整体。表达式的形式:可以是常量、简单变量、函数调用、运算表达式。
例如:x += 3? ??/*等价于x=x+3 ?*/y *= x + 6?? ? /* 等价于y=y*(x+6),而不是y=y*x+6 ,要把x+6当做一个整体 */实例分析分析以下程序的运行结果运算符号/与%的。
#include stdio.h
void main()
{
printf(20/3=%d\t,20/3);
printf(3/20=%d\n,3/20);
printf(20./2=%f\t ,20./2);
printf(20/3.=%f\n,20/3.);
printf(20./3.=%f\t,20./3.);
printf(20%%3=%d\n,20%3);
printf(3%%20=%d,3%20);
printf(2/3*5=%d\t,2/3*5);?/*特别注意当运算符/两边的量均是整数时的情况*/printf(4/3*5=%d\n,4/3*5);?
printf(6/3*5=%d\n,6/3*5);
}
实以#include stdio.h
void main()
{
int a, b;
scanf(“%d%d
文档评论(0)