- 1、本文档共211页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程序设计真题考点与讲解习题课件
〖2007.04.2.8 分值:2分〗 以下程序的运行结果是【 】 。 int k=0; void fun(int m) {m+=k;k+=m; printf(m=%d k=%d,m,k++);} main() {int i=4; fun(i++); printf(i=%d k=%d\n,i,k); } 参考答案:m=4 k=4i=5 k=5 解答: 本题考查考生对C语言中,整形变量自加的知识掌握情况。在调用个函数时,将i的值“4”作为实参传递给函数fun()中的形参m,函数fun()中的形参m的值为4。 执行m+=k;k+=m;后,m的值为“4”,k的值为“4”,输出m的值“4”,k的值“4”,输出后k的值加“1”后再送入k。k的值为“5” 主调函数main()中的,函数调用后i的值被加“1”,此时i的值为“5”。k为全局变量,k的值为“5”。 执行printf(i=%d k=%d\n,i,k);后输出i的值“5”,k的值“5”。 〖2006.09.1.42 分值:1分〗 有以下程序void fun2(char a, char b){printf(%c%c,a,b);} char a=A,b=B; void fun1(){ a=C;b=D;} main() { fun1(); printf(%c%c,a,b); fun2(E,F); }程序的运行结果是 A)CDEF B)ABEF C)ABCD D)CDAB 参考答案:A) 解答: 在执行fun1();后,全局变量a,b被二次赋值,即a=’C’,b=’D’。 在执行printf(%c%c,a,b);后,输出“CD”。 在执行fun2(E,F);后,输出“EF”。 〖2010.09.1.36 分值:2分〗 有以下程序 #include stdio.h int fun() { static int x=1; x+=1;return x; } main() {int i,s=1; for(i=1;i=5;i++) s+=fun(); printf(%d\n,s); } 程序运行后的输出结果是 A)11 B)21 C)6 D)120 参考答案:B) 解答: 本题考生应该注意的是,在函数中,定义了一个静态的局部变量x,该变量的特性是 “局部定义,全局有效”。具体可理解为第一次调用函数fun()返回的值为“2”,第二次调用函数fun()时,其值是在第一次调用返回的值“2”的基础上加“1”。所以第二次调用函数fun()返回的值为“3”,依此类推。在主调函数中,共计5次调用函数fun()。每次返回的值以此为2,3,4,5,6。s的初值为1。所以最终s的值为“1+2+3+4+5+6”。即为“21”。 考点26 变量的存储类别,变量的作用域和生存期 〖2010.03.1.34 分值:2分〗 有以下程序 #includestdio.h int fun() {static int x=1; x*=2; return x; } main() {int i, s=1; for (i=1;i=2;i++) s=fun(); printf(%d\n, s); } 程序运行后的输出效果是 A)0 B)1 C)4 D)8 参考答案:C) 解答: 这里是调用一个无参数函数。 当i=1时,第一次调用,s=2。保留第一次调用时值。 当i=2时,第二次调用,s=4。 〖2009.09.1.34 分值:2分〗 有以下函数 #include stdio.h int f(int n); main() {int a=3,s; s=f(a);s=s+f(a);printf(%d\n,s); } int f(int n) {static int a=1; n+=a++; return n; } A)7 B)8 C)9 D)10 参考答案:C) 解答: 第一次调用s=f(a);,n=3,n+=a++。即:n=n+a++=3+1=4;a=2。返回n的值。s=4; 第二次调用s=f(a);,n=3,n+=a++。即:n=n+a++=3+2=5;a=3。返回n的值。s=4+5=9。 〖2009.03.1.34 分值:2分〗 设函数中有整形变量n,为保证其在未赋值的情况下初值为0,应选择的存储类别是 A)auto B)register C)static D)auto或register 参考答案:C) 解答: 在C语言中,只有static存储方式的变量,在编译时,
文档评论(0)