多选题对于变量的初始化,以下几种方法中错误的是()Aint a; for (int i=0;i《12;i++)       a=i;Bint a; if (true)         a=7;Cint a;  int b=a;Dint a=0;Eint 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;


相似考题
更多“多选题对于变量的初始化,以下几种方法中错误的是()Aint a; for (int i=0;i《12;i++)       a=i;Bint a; if (true)         a=7;Cint a;  int b=a;Dint a=0;Eint a;   a=0;”相关问题
  • 第1题:

    有以下程序: 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,并且只在编译时初始化一次。

  • 第2题:

    以下程序的运行结果是( ) #define MAX 10 int a[MAX],i; main() { printf("\n");sub1();sub3(A) ,sub2(),sub3(A) ; } sub2() { int a[MAX],i,max; max=5; for(i=0;i<max;i++)a[i]=i; } sub1() {for(i=0;i<MAX;i++)a[i]=i+i; } sub3(int a[]) { int i; for(i=0;i<MAX,i++)printf("%d",a[i]); printf("\n"); }

    A.0 2 4 6 8 10 12 14 16 18 0 1 2 3 4

    B.0 1 2 3 4 0 2 4 6 8 10 12 14 16 18

    C.0 1 2 3 4 5 6 7 8 9 0 1 2 3 4

    D.0 2 4 6 8 10 12 14 16 18 0 2 4 6 8 10 12 14 16 18


    正确答案:D

  • 第3题:

    以下程序运行后的输出结果是()。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。

  • 第4题:

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

    若有以下程序: #include <iostream> using namespace std; int f() { static int i = 0; ints= 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中定义了一个静态局部变量l它的初始值为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 main() {int x;for(int i=1;i<=100;

    有以下程序: #include <iostream> using namespace std; int main() { int x; for(int i=1;i<=100;i++) { x=i; if (++x%2==0) if (++x%3==0) if (++x%7==0) cout<

    A.39,81

    B.42,84

    C.26,68

    D.28,70


    正确答案:D
    解析:程序最后输出的x值所满足的条件为:x本身能被7整除,(x-1)能被3整除,(x-2)能被2整除。在1~100之间满足条件的x值是28和70。

  • 第6题:

    以下程序段的输出结果是【 】。

    int x, i ;

    for (i=1; i<=100; i++)

    { x=i;

    if (++x%2==0)

    if (++x%3==0)

    if(++x%7==0) cout<<i<<' , ';

    }


    正确答案:25 67
    25, 67

  • 第7题:

    下列选项中,不能输出100个整数的是( )。A.for(int i=0;i<100;i++) System.out.println(i);B.int

    下列选项中,不能输出100个整数的是( )。

    A.for(int i=0;i<100;i++) System.out.println(i);

    B.int i=0; do{ System.out.println(i); i++; }while(i<100);

    C.int i=0; while(i<100){ System.out.println(i); i++; }

    D.int i=0; while(i<100){ i++; if(i<100)continue; System.OUt.println(i); }


    正确答案:D
    D。【解析】continue语句的作用是不执行循环体后面的语句直接进入循环判断阶段。所以本题选D。

  • 第8题:

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

    • 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,C

  • 第9题:

    单选题
    下列有关指针的用法中,错误的是(  )。
    A

    int i;int *p=&i;

    B

    int i;int *p;i=*p;

    C

    int *p;p=0;

    D

    int i=5;int *p;p=&i;


    正确答案: B
    解析:
    A项正确,“int *p=&i;”定义整型指针变量p,初始化指向整型i;B项错误,指针p没有初始化;C项正确,“p=0;”表示p指向内存的地址为0;D项,p存放i的地址。

  • 第10题:

    单选题
    以下程序段中,循环次数不超过10的是(  )。
    A

    int i=10;do{i=i+1;}while(i<0);

    B

    int i=int i=5;do{i+=1;}while(i>0);

    C

    int i=1;do{i+=2;}while(i!=10);

    D

    int i=6;do{i-=2;}while(i!=1);


    正确答案: C
    解析:
    A项,执行循环体i=i+1,判断条件i<0不成立,退出循环,循环次数为1,a项正确。b项执行一次循环体后i=6,判断条件为i>0,由于执行循环体时i始终在增加,i>0一直成立,程序陷入无限循环,循环次数大于10,B项错误。C项执行循环体一次后i=3,判断条件为i!=10,由于循环体中i每次增加2,所以永远不可能等于10,故程序会陷入无限循环,循环次数大于10,C项错误。D项执行循环体一次后i=4,判断条件为i!=1,由于循环体中i每次减少2,所以永远不可能等于1,故程序会陷入无限循环,循环次数大于10,D项错误。答案选择A选项。

  • 第11题:

    单选题
    以下正确的重载函数是()
    A

    int same(int,double);double same(int,double);

    B

    int same1(int,double);int same2(int,double);

    C

    int same(int=0);int same(int);

    D

    int same(int,double);int same(int,double,double);


    正确答案: D
    解析: 暂无解析

  • 第12题:

    单选题
    下列整数定义中,错误的是(  )。
    A

    int f=314.;

    B

    int a=012;

    C

    int i=189;

    D

    int d=0x123;


    正确答案: C
    解析:
    整数有三种表示方法,分别为八进制、十进制和十六进制。八进制数以0开始,十六进制数以0x开始。B项是八进制整数;C项是十进制整数;D项是十六进制整数;而A项最后多了一个小数点,不符合规范,故定义错误。

  • 第13题:

    以下程序的输出结果是【】。 main() { int p[7]=(11,13,14,15,16,17,18}; int i=0,j=0; while(i<7&a

    以下程序的输出结果是【 】。

    main()

    {

    int p[7]=(11,13,14,15,16,17,18};

    int i=0,j=0;

    while(i<7&&p[i]%2==1)j+=p[i++];

    printf("%d\n",j);

    }


    正确答案:24
    24 解析:本题程序定义了一维数组p,有七个数组元素,整型变量i,j初值分别为0,当while的条件表达式(i7&&p[i]%2=1)的值为真时,执行语句j+=p[i++];,如:当i=0时,i7为真,p[i]%2=11%2=1,表达式(p[i]%2=1)的值为真,所以接个表达式(i7&&p[i]%2=1的值为真,执行j=j+p[i++]=0+11=11,i=1;,依此类推可以得出答案24。

  • 第14题:

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

  • 第15题:

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

    以下程序的输出结果是 #include<iostream.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;} } void main( ) {int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0; reverse(b,8); for(i=6;i<10;i++)s+=b[i]; cout << S; }

    A.22

    B.10

    C.34

    D.30


    正确答案:A
    解析:在main函数中,调用reverse函数将b数组中的前8个成员进行互置,执行完毕后,b数组中的成员为{8,7,6,5,4,3,2,1,9,10},在执行for循环结构后,将b[6],b[7]……b[9]的值相加,结果为1+2+9+10=22。注意:在计算累加和时,应将累加变量赋值为零。

  • 第16题:

    以下程序的输出结果是 intf() {static int i=0; int s=1; s+=i;i++; retumS;} main() { int i,a=0; for(i=0;i<5;i++)a+=f(); printf("%d\n",a);}

    A.20

    B.24

    C.25

    D.15


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

  • 第17题:

    以下程序的输出结果是 ______。includeInt f(){static int i=0;int a=1;a+=;i++;ret

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

    A.10

    B.15

    C.21

    D.28


    正确答案:A

  • 第18题:

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

    若有以下程序: #include<iostream> using namespace std; int fun() { 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+=fun(); cout<<a<<endl; return 0; } 程序运行后,输出的结果是( )。

    A.20

    B.24

    C.26

    D.15


    正确答案:D

  • 第19题:

    以下程序的输出结果是 int f() { static int i=0; int s=1; s+=i; i++; return s; } main ( ) { int i,a=0; for (i=0;i<5; i++) a+=f(); printf ( "%d\n" ,a); }

    A.20

    B.24

    C.25

    D.15


    正确答案:D
    解析:本题考核的知识点是静态变量static的应用。在C语言中声明为static型的变量,在整个程序运行期间,静态局部变量在内存的静态存储区中占据永久性的存储单元。即使退出函数后,下次再进入该函数时,静态局部变量仍使用原来的存储单元。由于并不释放这些存储单元,因此这些存储单元中的值得以保留;因而可以继续使用存储单元中原来的值。本题中函数f()中定义了一个static型变量i,故每调用一次函数f(),i的值加1,返回s的值等于i,在主函数中用了一个for循环,该循环执行了5次,每次都调用f()函数,将其返回值累加到变量a中,故悬后a的值为1+2+3+4+5=15。所以,4个选项中D为所选。

  • 第20题:

    单选题
    若要实现total=1+2+3+4+5求和,以下程序段错误的是(  )。
    A



    int i=1,total=1;
    while(i<5)
    {
     total+=i;
     i+=1;
    }

    B



    int i=1,total=0;
    while(i <=5)
    {
     total+=i;
     i+=1;
    }

    C



    int i=0,total=0;
    while(i <5)
    {
     i+=1;
     total+=i;
    }

    D



    int i=0,total=0;
    while(i <=5)
    {
     total+=i;
     i+=1;
    }


    正确答案: A
    解析:
    A项执行过程为:i=1,total=1,判断while循环条件1<5成立,total=1+1,i=2;判断循环条件执行函数体,直到i=4,total=1+1+2+3+4,i=5;i=5循环条件不成立,退出循环,A项不能实现题目要求,错误。B项执行过程:i=1,total=0,1<=5成立,total=0+1=1,i=2;直到i=5,total=1+2+3+4+5,i=6;i=6条件不成立,退出循环,程序正确。C项执行过程:i=0,total=0,0<5成立,i=1,total=1;直到i=5,total=1+2+3+4+5;i=5条件不成立,退出循环,程序正确。D项执行过程:i=0,total=0,0<=5成立,total=0,i=1;直到i=5,total=1+2+3+4+5,i=6;i=6条件不成立,退出循环,程序正确。答案选择A选项。

  • 第21题:

    多选题
    对于变量的初始化,以下几种方法中错误的是()
    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;


    正确答案: D,E
    解析: 暂无解析

  • 第22题:

    单选题
    以下能对一维数组a进行正确初始化的语句是()。
    A

    int a[10]=(0,0,0,0,0);

    B

    int a[ ]={0};

    C

    int a[10]={ };

    D

    int a[10]={10*1};


    正确答案: D
    解析: 暂无解析

  • 第23题:

    单选题
    若要定义一个具有5个元素的整型数组,以下定义语句错误的是(  )。
    A

    int a[5]={0};

    B

    int b[]={0,0,0,0,0};

    C

    int c[2+3];

    D

    int i=5,d[i];


    正确答案: C
    解析:
    在C语言中,一维数组的下标可以是整型常量或整型表达式,但不可以是变量。D项,i为变量。答案选择D选项。

  • 第24题:

    单选题
    下列循环语句中有语法错误的是(  )。
    A

    int i;for(i=1;i<10;i++)cout<<’*’;

    B

    int i,j;for(i=1,j=0;i<10;i++,j++)cout<<′*′;

    C

    int i=0;for(;i<10;i++)gout<<′*′;

    D

    for(1)cout<<′*′;


    正确答案: B
    解析:
    for循环语句的语法格式如下:for(<表达式1>;<表达式2>;<表达式3>)<语句>,在三个表达式都省略的情况下,其格式如下如for(;;),括号内部的分号不能省略,这时for循环语句是一个死循环。