首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
若有以下程序: #include <iostream> using namespace std; int f() { static int i = 0; int s = 1; s+=i; i+
若有以下程序: #include <iostream> using namespace std; int f() { static int i = 0; int s = 1; s+=i; i+
admin
2010-06-06
35
问题
若有以下程序: #include <iostream> using namespace std; int f() { static int i = 0; int s = 1; s+=i; i++; return s; } int main() { int i,a = 0; for(i = 0;i<5;i++) a+=f(); cout<<a<<endl; return 0; } 程序运行后,输出的结果是
选项
A、20
B、24
C、25
D、15
答案
D
解析
本题考核静态局部变量在函数中的使用。静态局部变量就是将局部变量说明为静态的。静态局部变量既有在局部域作用的特性(即变量只能在变量的作用范围内被访问),又可以永久存在(变量的值得以保留,并可继续使用)。静态局部变量只在第一次执行时初始化一次。在函数f中定义了一个静态局部变量i,它的初始值为0,还定义了一个局部变量s(它的初始值为1),用来返回计算所得值。函数f中所进行的数据加工是s+=i和i++。即每调用一次函数f,返回(i+1)的值后,i的值增1。再看主函数,在主函数main中,通过一个for语句连续调用f函数5次,并把每次调用f函数的返回值相加并存入a。最后输出a的值。在了解各函数功能以及调用关系后就可计算出a的值为15。
转载请注明原文地址:https://jikaoti.com/ti/hUW0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
已知下列函数定义:fun(int*b,intc,intn,intdata){intk;for(k=0;k
设有以下语句:charx=3,Y=6,z;z=x^y<<2;则Z的二进制值是()。
设有如下程序段inta[8]={0};intb[]={0};charc[2]={"A","B"};chard="AB";以下叙述正确的是
给定程序中,函数fun的功能是:计算下式前n项的和作为函数值返回。例如,当形参n的值为10时,函数返回:-0.204491。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK
下列选项中不属于软件生命周期开发阶段任务的是()。
若有定义语句:inta=3,b=2,c=1;,以下选项中错误的赋值表达式是()。
在下述程序中,判断i>i共执行的次数是()。main(){inti=0,j=10,k=2,s=0;for(;;){i+=k;if(i>j){printf("%d",s);break;}
若变量已正确定义为int型,要通过语句scanf("%d,%d,%d",&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(注:□代表一个空格符)()。
下面说法正确的是()。
在C程序中已经定义三个整型变量x,y,z,要通过语句:scanf(’’%d,%d,%d’’,&x,&y,&z);给x赋值1、给y赋值2、给z赋值3,以下输入形式中错误的是()。(注:口代表一个空格符)
随机试题
颈椎间盘退行性变是颈椎病发生与发展中最基本的原因。
A.咪达唑仑B.哌替啶C.阿曲库铵D.氯胺酮E.硫喷妥钠可能诱发致命的急性间歇性卟啉症的是
药物的给药途径不同,则吸收过程和部位也不相同。其中口服给药的最主要吸收部位是()。
根据《担保法》的规定,不定期保证的保证期间为主债务履行期间届满之日起()。
水利工程建设监理对工程建设的投资、工期和质量实行管理的工作方式为()。
关于大理石特性的说法,正确的是()。
斗容量为1m3的反铲挖掘机,挖三类土,装车,深度3m内,小组成员2人,机械台班产量为4.8(定额单位100m3),则挖100m3的人工时间定额为()。
下列可以作为抵押财产的是()。
Itishighlydesirablethatanewpresident_________forthiscollege.
在3×3的正方形网格中。已将图中的三个小正方形涂上阴影(如图),若再从其余小正方形中任选一个也涂上阴影。那么使得阴影部分为轴对称的概率是:
最新回复
(
0
)