对于变量的初始化,以下几种方法中错误的是() A、int a; for (int i=0;i《12;i++)       a=i;B、int a; if (true)         a=7;C、int a;  int b=a;D、int a=0;E、int a;   a=0;

题目

对于变量的初始化,以下几种方法中错误的是() 

  • A、int a; for (int i=0;i《12;i++)       a=i;
  • B、int a; if (true)         a=7;
  • C、int a;  int b=a;
  • D、int a=0;
  • E、int a;   a=0;
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下程序的执行结果是【】。 include int f(int b[],int n) { int i,r=1; for(i=0;i

以下程序的执行结果是【 】。

include<iostream.h>

int f(int b[],int n)

{

int i,r=1;

for(i=0;i<n;i++)

r=r*b[i];

return r;

}

void main()

{

int x,a[]={2,3,4,5,6,7,8,9};

x=f(a,3);

cout<<x<<endl;

}


正确答案:24
24

第2题:

下面函数的作用是【 】。

int index(int x,int a[],int n)

{

for(int i=0;i<n;i++)

{

if(a[i]==x)

return i;

}

return i;

}


正确答案:数组a中查找x若有则返回第一个x的下标若没有则返回n
数组a中查找x,若有则返回第一个x的下标,若没有则返回n 解析:函数的作用是通过变量数组,在数组中查找x,若找到则显示下标i。

第3题:

( 7 )执行下列语句后,变量 sum 的值是 ___________ 。

int sum=0;

for(int i=1;i<=3;i++)

for(int j=1;j<=i;j++)

sum++;


正确答案:

第4题:

若有以下程序:includeusing namespace std;int f(){ static int i=O; int s=1; s+=i;

若有以下程序: #include<iostream> using namespace std; int f() { static int i=O; 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; retrun 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。

第5题:

有以下程序: include using namespace std; int f(int); int main() {int i;for(i=0;

有以下程序:

include <iostream>

using namespace std;

int f(int);

int main()

{

int i;

for(i=0;i<5;i++)

cout<<f(i)<<" ";

return 0;

}

int f(int i)

{

static int k=1;

for(;i>0;i--)

k+=i;


正确答案:1 2 5 11 21
1 2 5 11 21 解析:函数f()中定义了一个内部静态变量k,其作用域仍在定义它的函数内。但该类型变量采用静态存储分配,当函数执行完,返回调用点时,该变量并不撤销,其值将继续保留,若下次再进入该函数时,其值仍然存在。内部静态变量有隐含初值0,并且只在编译时初始化一次。

第6题:

以下程序的输出结果是 include int f( ) { static int i=0; int s=1 s+ =i;

以下程序的输出结果是 #include<iostream.h> int f( ) { static int i=0; int s=1 s+ =i; i++; return s;} void main( ) { int i,a=0; for(i=0 ;i<5;i++)a+=f( ); cout < < a;}

A.20

B.24

C.25

D.15


正确答案:D
解析:对函数的静态局部变量是在编译时就赋初值,即只赋初值一次,在程序运行时它已有初值,以后每次调用函数时不再重新赋值,而只是保留上次函数调用结束时的值。注意:静态函数只能用静态变量。

第7题:

以下程序的运行结果是______。includemain(){ int fun();fun();}fun(){static int a[3]=

以下程序的运行结果是______。

include<stdio.h>

main()

{ int fun();fun();}

fun()

{static int a[3]={0,1,2};

int i;

for(i=0;i<3;i++)a[i]+=a[i];

for(i=0;i<3;i++)printf("%d,",a[i]);

pfintf("\n",);}


正确答案:
本题主要考查for循环语句的使用以及静态局部变量的特点。

第8题:

有以下程序:includeint a=4;int f(int n){int t=0;static int a=5;if(n%2) {int a=6;

有以下程序: #include<string.h> 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.24

B.28

C.32

D.36


正确答案:B
解析:本题考查的是外部变量的应用。因为程序的初始int a=4;语句定义了外部变量a,在以后的执行过程中,当i=0时,调用f(0)函数,执行的语句是else {int a=7;t+=a++;},此处程序中又定义了变量a,所以原来定义的外部变量在此不起作用,得到t=7,返回值语句return t+a++;处,外部变量a起作用,返回值为7+5=12:当i=1时,调用f(1)函数,执行的是语句else{inta=6:t+=a++;},此处程序中又定义了变量a,所以原来定义的外部变量在此不起作用,得到t=6,返回值语句

第9题:

若有以下程序:include using namespace std;int f(){static int i = 0;int s = 1;s+=

若有以下程序: #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。

第10题:

以下程序运行后的输出结果是()。includevoid reverse(int a[],int n){int i,t;for(i=0;

以下程序运行后的输出结果是( )。 #include<stdio.h> void reverse(int a[],int n) {int i,t; for(i=0;i<n/2;i++) {t==a[i];a[i]=a[n-1-i];a[n-1-i]=t;} } main() {int b[10]={10,9,8,7,6,5,4,3,2,1};int i,s=0; reverse(b,10); for(i=0;i<3;i++)s+=b[i]; printf("%d\n",s); }

A.27

B.6

C.25

D.30


正确答案:B
解析:本题考查函数调用时的参数传递。函数reverse将数组b进行了逆置,此时b[10]={10,9,8,7,6,5,4,3,2,1),后面for语句的功能是将b中的后3个数累加,并将结果放在s中,最后将s输出,结果s=1+2+3=6。

更多相关问题