首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有下列程序: int a=4; int f(int n) { int t=0; static int a=5; if(n%2) {int a=6; t+ =a+ +; } else {int a=7; t+ =a+ +;} return t+a+ +;
有下列程序: int a=4; int f(int n) { int t=0; static int a=5; if(n%2) {int a=6; t+ =a+ +; } else {int a=7; t+ =a+ +;} return t+a+ +;
admin
2018-10-16
47
问题
有下列程序:
int a=4;
int f(int n)
{ int t=0; static int a=5;
if(n%2) {int a=6; t+ =a+ +; }
else {int a=7; t+ =a+ +;}
return t+a+ +;
}
main( )
{ int s=a,i=0;
for(;i<2;i+ +)s+ =f(i);
printf("%d\n",s);
}
程序运行后的输出结果是
选项
A、28
B、24
C、32
D、36
答案
A
解析
程序中定义了全局整型变量a=4。在int f(int n)函数中定义了局部静态整型变量并进行了初始化即static int a=5。在int f(int n)函数中对n是否是偶数进行判断,如果n是奇数,则函数的返回值为11,局部静态整型变量a=6;如果n是偶数,则函数的返回值为12,局部静态整型变量a=6。所以在main()函数中循环首先执行s+=f(0)语句,而f(0)返回值12,所以第一次循环结束s的值等于4+12=16;第二次开始执行f(1)时,在f(1)中执行if(n%2){int a=6; t+=a++;}和return t+a++;这两条语句,这时t=6,a=6(静态局部变量第一次循环后其值加1值不释放,执行第二次循环量,其值仍有效),所以f(1)的返回值等于12。再在主函数中执行s+=f(1)语句,即16+12=28。
转载请注明原文地址:https://www.kaotiyun.com/show/9wxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列函数值的类型是()。fun(doublex){floaty;y=3*x-4;returny;}
有如下程序floatfun(intx,inty){return(x+y);}main(){inta=2,b=5,c=8;printf("%3.Of\n",fun((int)fun(a+c,B),(a-
下面程序段的执行结果是()。intx=10;for(;x;x--){if(x%3)continue;printf("%d",x);}
C语言程序的基本单位是()
设a和b均为int型变量,且a:6、b=11、c=3,则能使值为3的表达式是()。
下列程序段是从键盘输入的字符中统计小写字母的个数,用换行符结束循环。请填空。intn=0,c;c=getchar();while(c!=’\n’){if(______)n++;}
有以下程序 main( ) { int i=0,s=0; do{ if(i%2){i++;continue;} i++; s+=i; } while(i<7); printf("%d\n",s); }
设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是()。
设x、y、z均为int型变量,请写出描述"x或y中至少有一个小于z"的表达式______。
设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式正确的是(注:□代表空格字符)()。
随机试题
A.心阳虚衰B.湿邪困脾C.脾虚气陷D.外邪侵袭E.脾胃湿热头面先肿,继而波及全身,小便短少,发热恶风者,多因
下列哪项不是闭经与痛经的共同病机()
某男,58岁。胸胁胀满,咳唾引痛,舌苔白滑,脉弦。辨证为
某患者,女,56岁,有糖尿病史,近期感觉头晕,头痛,肢体麻木,到医院就诊,被诊断为高血压。医生开具了缬沙坦胶囊。关于该药物的特点。不正确的是
地基变形计算深度应采用下列何种方法计算?[2003年第136题,2007年第130题]
()是衡量利率变动对银行当期收益影响的一种方法。
李某为一有限合伙企业中的有限合伙人,根据《合伙企业法》的规定,李某的下列行为中,不符合法律规定的是()。
[*]
在Windows98环境下,系统支持下面4种文件系统:Ⅰ.FATl2Ⅱ.FATl6Ⅲ.FAT32Ⅳ.CDFS硬磁盘存储系统可采用的文件系统为()。
Whatisnottheelementindefininglanguage?
最新回复
(
0
)