首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 int a=2; int f(int n) { static int a=3; int t=0; if(n%2) {static int a=4; t+=a++;} el
有以下程序 int a=2; int f(int n) { static int a=3; int t=0; if(n%2) {static int a=4; t+=a++;} el
admin
2009-01-15
24
问题
有以下程序 int a=2; int f(int n) { static int a=3; int t=0; if(n%2) {static int a=4; t+=a++;} else {static int a=5; t+=a++;} return t+a++; } main ( ) { int s=a, i; for (i=0;i<3; i++) s+=f (i) print f ("%d\n" , s ); } 程序运行后的输出结果是
选项
A、26
B、28
C、29
D、24
答案
4
解析
全局变量的生存期是整个程序的运行期间,作用域是从变量定义的位置开始,到整个源文件结束止。但是,若全局变量和某一函数或语句块中的局部变量同名,则在该函数或语句块中,此全局变量被屏蔽,即在该函数或语句块内,访问的是局部变量,与同名的全局变量不发生任何关系。静态局部变量的生存期与全局变量相同,作用域和局部变量一样都是整个函数成语旬块内有效。程序第一行定义了一个全局变量a,在f()函数开头也定义了一个静态局部变量a,而且在后面 if语句的两个子句中都定义了静态局部变量a。这4个变量a虽然名字一样,但却是4个独立的变量,而且在整个程序运行期都存在。在主函数中,在定义变量s时将s初始化为全局变量a的值2,然后使用一个for循环分别调用了3次f(0)、f(1)、f(2),并将得到的值累加到变量s中。第1次调用n=0为偶数,执行else子句,此时t累加的是else子句中的变量a,所以执行后else子句中的a变为6,t变为5,然后return语句中的a是函数f()开头定义的a,执行后函数开头的a变为4,所以返回值是5+3=8。第2次调用n为1是奇数,执行if子句,所以t变为4, if子句中的a变为5,然后返回时函数开头的a变为 5,返回值是4+4=8。第3次调用n为2是偶数,又执行else子句,else子句中的a现在还是上次执行后的值6,所以t=6,然后返回时加上函数开头的a的当前值5, 最后返回11。所以s最终的值是2+8+8+11=29。故应该选择C。
转载请注明原文地址:https://kaotiyun.com/show/lOHp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
请根据以下各小题的要求设计VisualBasic应用程序(包括界面和代码)。(1)在名称为Form1的窗体上画一个名称为Pic的图片框,通过属性窗口将考生文件夹下的文件Tu1-1.jpg添加到图片框,然后编写适当的事件过程。运行程序时,单击窗体
请根据以下各小题的要求设计VisualBasic应用程序(包括界面和代码)。(1)在名称为Form1、标题为“列表框练习”的窗体上画一个名称为List1的列表框,表项内容依次输入XXX、ddd、mmln和aaa,且以宋体14号字显示表项内容,如
请根据以下各小题的要求设计VisualBasic应用程序(包括界面和代码)。(1)在名称为Form1的窗体上画两个标签(名称分别为lblName和lblAge,标题分别为“姓名”和“年龄”)、两个文本框(名称分别为txtName和txtAge,Text
请根据以下各小题的要求设计VisualBasic应用程序(包括界面和代码)。(1)在名称为Form1的窗体上建立一个名称为cmdArray的命令按钮数组,含3个命令按钮,它们的Index属性分别为0、1、2,标题依次为“是”、“否”、“取消”,每个按钮
(1)在名称为Form1的窗体上添加一个名称为Shape1的圆角矩形,高、宽分别为1000、2000。请利用属性窗口设置适当的属性以满足下列要求:①圆角矩形中填满绿色(颜色值为:&H0000FF00&或&HFFOO&)。②窗体的标题为“
以下能对正实数d的第3位小数四舍五入的表达式是
如果要在语句:a=Array(1,2,3,4,5)的前面声明变量,则正确的声明是
窗体上有一个名为List1的列表框和一个名为Command1的命令按钮,并有下面的事件过程:PrivateSubCommand1_Click()n%=List1.ListIndexIfn>0Thench$=List1.List(n)Lis
下列选项中属于面向对象设计方法主要特征的是()。
循环队列的存储空间为Q(1:100),初始状态为front=rear=100。经过一系列正常的入队与退队操作后,front=rear=99,则循环队列中的元素个数为()。
随机试题
以下选项符合心理健康教育原则的是()
护理学是研究哪些方面的应用学科()
Siouxnameswerealanguageuntothemselves,ladenwithdescriptive,allusive,orevenmagicalmeaning.ASiouxbabywasnameds
卡托普利的降压作用机制不包括
【背景资料】某火灾报警及联动控制系统工程项目,某专业工程公司通过投标获得了该项目的施工任务,该公司在施工前根据施工总平面图设计编制了施工方案和施工进度计划,接着对施工总平面图设计做了分析评价,发现施工总平面图设计有不妥之处,责成有关人员对施工总平面图设计
平原河流丁坝宜用()。
1920年8月,_________成立了中国共产党的上海组织,成员有李达、李汉俊等。
Whetherwewantitornotweareallgreedybynature.Fromthemomentweare【C1】______andtothelastdayofourlifewe【C2】___
InforMix动态服务器的基本存储单位和基本I/O单位是【】。
A、 B、 C、 B本句是询问对同事们的看法的What疑问句。应该了解What…thinkof…是询问意见的表达。
最新回复
(
0
)