首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有下列程序: 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
28
问题
有下列程序:
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://jikaoti.com/ti/HPa0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
______是构成C语言程序的基本单位。
设a和b均为int型变量,且a:6、b=11、c=3,则能使值为3的表达式是()。
若有定义“char,*p2,*p3,*p4,ch;”,则不能正确赋值的程序语句为()
下面程序的运行结果是【】。#include<stdio.h>#defineSIZE12main(){chars[SIZE];inti;for(i=0;i<SIZE;i++)s[i]=’A’+i+321
以下程序的输出结果是【】。main(){chars[]="ABCD",*p;for(p=s+1;p
有以下程序 main( ) { int i=0,s=0; do{ if(i%2){i++;continue;} i++; s+=i; } while(i<7); printf("%d\n",s); }
设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式正确的是(注:□代表空格字符)()。
随机试题
阅读材料,回答问题。材料1建设一个全国范围的、广大群众性的、思想上政治上组织上完全巩固的布尔什雏克化的中国共产党。为了中国革命的胜利,迫切地需要建设这样一个党,建设这样一个党的主观客观条件也已经大体具备,这件伟大的工程也在进行之中。
下述哪种激素是由下丘脑产生的
女28岁,孕1产0,2年前曾行吸刮术,术后常常下腹痛,近3个月来有性交痛,经期大便次数增多,妇科检查触及子宫直肠隐窝有触痛结节,其诊断最可能是
A.抛射剂B.乳化剂C.pH调整剂D.抑菌剂E.助溶剂氯霉素滴眼液中的尼泊金乙酯为
下述不是溃疡性结肠炎的常见并发症的是()
兼能宁心安神的药物是()长于利水的药物是()
案例:阅读下面的学生作文,完成问题。成功源自恒心①成功源自恒心,这话不假。古往今来,大多成功之人,不正是因为恒心才成功了吗?失败者的未来未必就是失败,但成功者的历史一定有过失败。但
教学任务的确定,受到()等因素的制约。
计算下列行阶行列式:(1)=_______;(2)=_______;(3)=_______;(4)=_______.
A、担心B、生气C、难过A
最新回复
(
0
)