首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 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
43
问题
有以下程序 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全国计算机二级
相关试题推荐
在名称为Form1的窗体上添加一个名称为Frame1、标题为“框架”的框架,在框架内添加两个名称分别为Option1、Option2的单选按钮,其标题分别为“第一项”、“第二项”。要求通过设置控件的属性将“第二项”初始值设置为被选中,框架为不可用。运行程序
请根据以下各小题的要求设计VisualBasic应用程序(包括界面和代码)。(1)在名称为Form1、标题为“显示记录”的窗体上画一个名称为Text1的文本框,其初始内容为空;再画一个名称为Command1的命令按钮数组(下标从0开始,
请根据以下各小题的要求设计VisualBasic应用程序(包括界面和代码)。在名称为Forml的窗体上画一个文本框,其名称为Tl,宽度和高度分别为1400、400;再画两个命令按钮,其名称分别为Cl和C2,标题分别为”显示”和”扩大”,编写适当的事件过
(1)在名称为Form1的窗体上添加一个名称为Shape1的圆角矩形,高、宽分别为1000、2000。请利用属性窗口设置适当的属性以满足下列要求:①圆角矩形中填满绿色(颜色值为:&H0000FF00&或&HFFOO&)。②窗体的标题为“
(1)在考生文件夹下的“samp1.accdb”数据库中建立表“tTeacher”,表结构如表2.1所示。(2)根据“tTeacher”表的结构,判断并设置主键。(3)设置“工作时间”字段的有效性规则:只能输入上一年度5月1日以前(含
设有如下声明语句OptionBase1Dimarr(2,-1To5)AsInteger则数组arr中数组元素的个数是
下列描述中,不符合良好程序设计风格要求的是
一棵二叉树共有25个节点,其中5各是叶子节点,则度为1的节点数为()。
在某个事件过程中定义的变量是
在深度为7的满二叉树中,度为2的结点个数为
随机试题
我们要更加自觉地坚定党性原则,勇于直面问题,敢于刮骨疗毒,要做到()
护理科研的最关键阶段是()
为休克病人补充血容量应首选
A.栓剂 B.混悬液 C.舌下片 D.颗粒剂 E.透皮贴剂用前必须要振摇的药品是
()是指商业银行通过发放贷款、进行投资、开展金融产品交易、为客户提供金融服务所获得的盈利。
某企业出售—台设备,原价120万元,已提折旧30万元,出售设备时发生各种清理费用2万元,出售设备所得价款117万元(含增值税税额17万元)。该设备出售净收益为()万元。
语文老师在讲述《静夜思》的时候,通过给大家播放了一些关于月亮的图片导入课程,这属于()。
HDB3码与AMI码相比,弥补了AMI码中__________的问题,其方法是用__________替代__________。()
A.癌珠B.印戒状细胞C.R-S细胞D.AFP阳性E.癌巢胃黏液癌可见
在考生文件夹下有数据库“投资”,请编写并运行符合下列要求的程序:设计一个名为“cd1”的菜单.菜单中有两个菜单项“计算”和“关闭”。程序运行时,单击“计算”菜单项应完成下列操作:①将现价比买入价高的股票账户信息存入“账户_y1”表,其中
最新回复
(
0
)