计算机二级考试复习专项练习题三写出运行结果.docxVIP

计算机二级考试复习专项练习题三写出运行结果.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE 13 三.写出下列程序的输出结果 1. 以下程序的输出结果是 13 #include stdio.h #define M( x, y ) x % y main( ) { int a, m=15, n=118; a=M( n, m ); printf(“ %d \n ”, a-- ); } 提示:先进行宏替换:a=M( n, m )=n%m=118%15=13;输出a的值,即13;再执行a--,此时a的值为12。 2. 下列程序的输出结果是 8 #include stdio.h #define M(x, y) (x) * (y) #define N(x, y) (x) / (y) main( ) { int a=7, b=6, c=5, k; k=N( M( a, b ), c ); printf(“%d\n”, k); } 提示:先进行宏替换:k=N(M(a,b),c)=N( (a)*(b),c)=((a)*(b))/(c)=((7)*(6))/(5)=8。 3. 下列程序的输出结果是 16,12 #include stdio.h #define N 5 #define M N+1 #define f(x) (x*M) main() { int i1,i2; i1=f(3); i2=f(1+2); printf(“%d,%d\n”, i1,i2); } 提示:先进行宏替换: i1=f(2)=(3*M)=(3* N+1)=(3* 5+1)=16; i2=f(1+2)=(1+2*M)=(1+2*N+1)=(1+2*5+1)=12。 4.若变量已正确定义,有以下程序段 main( ) { int a=5, b=8, c=11; if ( a b ) a = b; c = a; if( c != a ) c = b; printf(%d, %d, %d \n, a, b, c ); //5,8,5 } 其输出结果是 5,8,5 提示:main函数的第2行是2条独立的语句。因为( a b )为假,所以不执行a = b;子语句,执行下一条语句c = a;,c的值更新为5;此时( c != a )为假,不执行c = b;子语句,c仍为5,a和b的值不变。 5. 以下程序的输出结果是 23 #include stdio.h main( ) { int x=16, y=7, z=23; if ( x y ) if ( y 0 ) z=0; else z += 1; printf (“%d\n”, z ); } 提示: if语句可以嵌套使用,else可以与其上最近的if配对。因为( x y )为假,所以if子句不执行,z值不变。 6. 有以下程序段 #include stdio.h main( ) { int x=1, y=0, a=2, b=5; switch ( x ) { caes 1: switch( y ) { case 0: a++; break; //a=3 case 1: b++; break; } case 2: a++; b++; break; //a=4, b=6 case 3: a++; b++; } printf(“a=%d, b=%d \n”, a, b ); } 程序的运行结果是 a=4, b=6 提示:根据X的值,外switch语句执行caes 1分支语句;根据y的值,执行内switch语句的case 0分支,a=3,break语句退出内switch语句,因为外switch语句执行caes 1分支无break语句,所以接着执行case 2分支,a=4,b=6,break后退出外switch语句。 7. 下面程序的运行结果是 2,0 #include stdio.h main( ) { int a=-1, b=2 ; if( ( ++a 0 ) ( b-- 0 ) ) printf(“%d, %d”, a, b ); else printf(“%d,%d”, b, a ); } 提示:++a运算后,a值为0,a0为假,因而(++a 0 ) ( b-- 0 ) 为假,( b-- 0 )不运算,b值不变,执行else后的printf(“%d,%d”, b, a);语句。 8. 下面程序的运行结果是 1 3 5 main( ) { int i; for( i=1; i+1; i++ ) { if( i4 ) { printf(%3d , i ); break; } printf(%d\

文档评论(0)

杨兴 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档