参考答案和解析
正确答案:D
更多“有以下程序段int?a[10]={1,2,3,4,5,6,7,8”相关问题
  • 第1题:

    有以下程序:includeusing namespace std;class A{private:int a;public:A(int i){a=i

    有以下程序: #include<iostream> using namespace std; class A {private: int a; public: A(int i) {a=i;} void disp() {cout<<a<<“,”;}}; class B {private: int b; public: B(int j) {b=j;} void disp() {cout<<b<<“,”;

    A.10,10,10

    B.10,12,14

    C.8,10,12

    D.8,12,10


    正确答案:D
    解析: 本题中,派生类C具有多重继承关系,所以在派生类C的构造函数中应该包含基类A和B的成员初始化列表。

  • 第2题:

    有以下程序: include using namespace std; int main() {int i=010,j=10;cout<<(++i)

    有以下程序:

    include <iostream>

    using namespace std;

    int main()

    {

    int i=010,j=10;

    cout<<(++i)<<","<<i--<<end1;

    return 0;

    }

    则该程序运行后的输出结果是【 】。


    正确答案:910
    9,10 解析:本题考核自增运算符和自减运算符的使用以及常量的表示形式。程序中i的值是八进制,代表十进制中的8,++i是在语句运算前自身加1,而j--是在语句运算结束后减1。

  • 第3题:

    有以下程序:includeusing namespace Std;inta;int fun();int main(){ externinta; in

    有以下程序: #include <iostream> using namespace Std; int a; int fun(); int main() { extern int a; int b; a = 100; b = fun(); cout<<b<<end1; return 0; } int fun() { extern int a; return (10*A); } 其程序运行后的输出结果是( )。

    A.100

    B.10

    C.1000

    D.10000


    正确答案:C
    解析:本题考核外部变量的使用。先来了解外部变量:外部变量用关键词extern表示。由于外部变量可以被程序中的所有函数共同访问,其作用域为全局,因此也称为全局变量。对于外部变量而言,“定义变量”和“说明变量”是两个不同的概念。定义a为外部变量是告诉编译程序,a是一个外部变量,并要求系统为a分配一个固定的永久存储空间。a的值在整个程序的运行期间都存在,只有当定义它的程序运行结束时,它的存储空间才释放。外部变量定义后,当程序中的函数要引用外部变量时,应在函数中作引用说明。在此程序中,在第二行定义了一个外部变量a,主函数给外部变量赋的初始值为100,当调用函数fun()时,外部变量a的值传到函数fun()中,因此函数所返回的值为100*10=1000。

  • 第4题:

    有以下程序段:includedefine MAX(x,y)(x)>(y)?(x):(y)void main(){ int i,j,k; i=

    有以下程序段: #include<iostream.h> #define MAX(x,y)(x)>(y)?(x):(y) void main() { int i,j,k; i=10; j=15;k=MAX(i,j)*10; cout<<k<<end1; } 程序执行后的输出结果是( )。

    A.15

    B.100

    C.150

    D.10


    正确答案:C

  • 第5题:

    以下程序段给数组所有的元素输入数据,请选择正确答案填入。 include main() { int a[10

    以下程序段给数组所有的元素输入数据,请选择正确答案填入。 #include<stdio.h> main() { int a[10]=0; while(i<10)scan("%d"______); : : }

    A.a+(i++)

    B.&a[i+1]

    C.a+i

    D.&a[++i]


    正确答案:A
    解析: a就是数组a的首地址,而a+x是数组中第x个元素的地址,所以在四个选项中,选项B和C只能输入—个数据,选项D不能给a[0]输入数据,只有A可以完成给数组所有的元素输入数据的任务。

  • 第6题:

    有以下程序段:include define MIN(x,y)(x)<(y)?(x):(y) void main() { int i,j,K; i

    有以下程序段:

    include<iostream.h>

    define MIN(x,y) (x)<(y)?(x):(y)

    void main()

    {

    int i,j,K;

    i=10;j=15;

    k=10*MIN (i,j);

    cout<<k<<endl;

    }

    程序执行后的输出结果是______。


    正确答案:15
    15

  • 第7题:

    有以下程序:includeint fun(int*k){int b=0;b=*k+b:return(B);}main(){int a[10]={1,2

    有以下程序: #include<stdio.h> int fun(int*k) {int b=0; b=*k+b: return(B);} main() {int a[10]={1,2,3,4,5,6,7,8},i; for(i=2;i<4;i++){printf("%d",fun(&a[i]));} printf("\n"); } 程序运行后的输出结果是( )。

    A.10 12

    B.8 10

    C.3 4

    D.10 28


    正确答案:C

  • 第8题:

    有以下程序:includedefine N 8void fun(int*x,int i){*x=*(x+i)+1;}main(){int a[N]=

    有以下程序: #include<stdio.h> #define N 8 void fun(int*x,int i) {*x=*(x+i)+1;} main() {int a[N]={1,2,3,4,5,6,7,8},i; fun(a,2); for(i=0;i<N/2;i++) {printf("%d",a[i]);} printf("\n"); } 程序运行后的输出结果是( )。

    A.1 3 1 3

    B.3 2 3 4

    C.4 2 3 4

    D.1 2 3 4


    正确答案:C
    解析:函数fun(int*x,int i)的功能是把数组元素x[i]的值加1赋给x[0]。所以在主函数中执行fun(a,2)后,数组元数a[0]的值等于4。然后在for循环语句中,输出数组a中的前4个元素的值,分别是4,2,3,4。

  • 第9题:

    有以下程序: voidf(int*x,int * y) { int t; t= *x;*x= *y;*y=t; } main() { inta[8]={1,2,3,4,5,6,7,8},i,*p,*q; p=a;q=&a[7]; while(p) { f(p,q);p++;q--;} for(i=0;i<8;i++)printf("%d,",a[i]); } 程序运行后的输出结果是______;

    A.8,2,3,4,5,6,7,1,

    B.5,6,7,8,1,2,3,4,

    C.1,2,3,4,5,6,7,8,

    D.8,7,6,5,4,3,2,1,


    正确答案:D
    解析: 本题的函数f是将两个指针所指的两个单元中的数值对换。指针p指向数组a的第一个元素a[0]而指针q指向数组a的元素a[7]。调用f将p和q所指元素值对换,也就是将a[0]和a[7]的值对换,对换后结果分别是8、1。P++指向a[1],q-指向a[6J,继续循环,调用f将a[1]和a [6]交换,结果变成7、1。以此类推,直到p和q相遇循环站束。数组a的值由{1,2,3,4,5,6,7,8}变成了{8,7,6,5,4,3,2,1}。输出9结果应该是:8, 7,6,5,4,3,2,1。

  • 第10题:

    有以下程序段:int k=0,a=1,b=2,c=3;k=ac ? c:k;执行该程序段后,k的值是()。A.3B.2C

    有以下程序段: int k=0,a=1,b=2,c=3; k=a<b ? b:a; k=k>c ? c:k; 执行该程序段后,k的值是( )。

    A.3

    B.2

    C.1

    D.0


    正确答案:B
    解析:本题中因为ab为“真”,所以第1个条件表达式的值为b的值2,所以k=2。然后又因为k>c为“假”,所以第2个表达式的值为k的值2。所以本题应该选择B。

  • 第11题:

    有以下程序:include void f(int * x,int * y) int t;t= *x; *x= *y; *y=t;main ( ){in

    有以下程序:#include <stdio.h>void f(int * x,int * y) int t; t= *x; *x= *y; *y=t;main ( ){ int a[8] = { 1,2,3,4,5,6,7,8} ,i, * p, * q; p=a;q =&a[7]; while(p<q) { f(p,q) ;p ++ ;q --; } for(i =0;i<8;i ++ ) printf(" % d," ,a[i]); }程序运行后的输出结果是( )。

    A.8,2,3,4.,5,6,7,1,

    B.5,6,7,8,1,2,3,4,

    C.1,2,3,4,5,6,7,8,

    D.8,7,6,5,4,3,2,1,


    正确答案:D
    解析:程序中函数f的作用是交换指针变量x和y所指向的存储单元的值。在main函数中,通过P=a;q=&a[7];指针变量p指向数组的第一个元素,指针变量q指向数组的最后一个元素。通过调用函数f(p,q)进行前后对称位置上的数组元素的交换。当while循环4次(即p=q)后,a数组中各元素的值分别为8,7,6,5,4,3,2,1,所以程序输出的结果为:8,7,6,5,4,3,2,1,

  • 第12题:

    单选题
    有以下程序:#includeint b=2;int fun(int *k){ b=*k+b; return(b);}main(){ int a[10]={1,2,3,4,5,6,7,8},i; for(i=2;i<4;i++) {  b=fun(&a[i])+b;  printf(%d,b); } printf();}程序运行后的输出结果是(  )。
    A

    1012

    B

    810

    C

    1028

    D

    1016


    正确答案: D
    解析:
    因为b是全局变量,所以它的值在整个程序结束时才会消失。for循环第一次i=2,a[i]=3,所以fun(&a[i])=3+2=5,这时b为5,所以b=fun(&a[i])+b=5+5=10。第二次循环时,b=10,然后fun(&a[i]),代入a[i]=4,这时fun(&a[i])=10+4=14,所以b=fun(&a[i])+b=14+14=28。答案选择C选项。

  • 第13题:

    有以下程序

    #inculde <stdio.h>

    #deFine N8

    void Fun(int * x,int i)

    main()

    { int a[N]={1,2,3,4,5,6,7,8},i;

    Fun(a,2);

    For(i=0;i<N/2;i++)

    { printF(“%d”,a[i]);}

    PrintF(“\n”);

    }

    程序运行后的输山结果是

    A.1313

    B.2234

    C.3234

    D.1234


    正确答案:C
    解析:fun函数的功能是把数组下标为i的值赋值给a[0],所以执行fun(a,2)后,数组前4个数字为3、2、3、4,故选择C。

  • 第14题:

    以下程序段给数组A的所有元素输入数据,请填空。 include void main () {int a[10],

    以下程序段给数组A的所有元素输入数据,请填空。

    include<iostream. h>

    void main () {

    int a[10], i;

    i=0;

    while (i<10) cin>> 【 】

    }


    正确答案:a[i++]
    a[i++]

  • 第15题:

    有以下程序段: int k=0,a=1,b=2,c=3; k=ac?c:k; 执行该程序段后,k的值是

    有以下程序段: int k=0,a=1,b=2,c=3; k=a<b?b:a; k=k>c?c:k; 执行该程序段后,k的值是 ______。

    A.3

    B.2

    C.1

    D.0


    正确答案:B
    解析:三目运算符的一般形式为(表达式1)?(表达式2):(表达式3),当(表达式1)值为真时,(表达式2)的值为整个表达式的值;当(表达式1)值为假时,(表达式3)的值为整个表达式的值。题中执行表达式“k=ab?b:a”后,k=2,将此值代入后一个表达式“k=k>c?c:k,由于“k>c”值为假,故k的值还等于原来k的值,即2。

  • 第16题:

    有以下程序:includeusing namespace std;int a;int fun();int main(){externint a;in

    有以下程序: #include<iostream> using namespace std; int a; int fun(); int main() { externint a; int b; a=10; b=fun(); cout<<b<<end1; return 0; } int fun() { extern int a; return(10*a); } 其程序运行后的输出结果是( )。

    A.10

    B.1

    C.100

    D.1000


    正确答案:C
    解析:由主函数main入手,首先定义外部变量a,它的作用域为从变量的定义处开始,到本程序文件的末尾,赋值为10。然后调用fun函数,在fun函数中计算10*a,其中a的作用域为到文件结尾,所以这里的a为10,即10*10。

  • 第17题:

    有以下程序includeintt b=2;int fun(int*k) {b=*k+b;return(b);}main(){int a[10]={1,

    有以下程序 #include<stdio.h> intt b=2; int fun(int*k) {b=*k+b;return(b);} main() { int a[10]={1,2,3,4,5,6,7,8,},i; for(i=2;i<4;i++) {b=fun(&a[i])+b; printf("%d",b);} print("\n"); } 程序运行后的输出结果是______。

    A.10 12

    B.8 10

    C.10 28

    D.10 16


    正确答案:C
    解析:程序在执行for循环中,第—次调用fun()函数时,因为变量i的值为2,所以&a[i]指向a[2]),值为3,又因为b是全局变量,所以在fun函数中可以直接使用,执行“b=*k+b;”,即b=3+2=5,从被调函数中返回的值为5,此时全局变量b的值也变为5,所以由main()函数中执行语句“b=fun(&a[i])+b;”的结果b=5+5=10,因此第—次输出b的值为10;第二次调用时变量i的值为3,调用 fun函数的返回值为14,所以第二次输出28,此时for循环中,变量i=4,不符合循环条件i4,跳出循环,故选项C是正确的。

  • 第18题:

    有以下程序 include include int fun(int n) {int *

    有以下程序 #include <stdio.h> #include <stdlib.h> int fun(int n) {int *p; p=(int*)malloc(sizeof(int)); *p=n; return *p; } { int a; a=fun(10); printf("%d\n",a+fun(10)); } 程序的运行结果是______。

    A.0

    B.10

    C.20

    D.出错


    正确答案:C
    解析:malloc(sizeof(int))的作用是开辟一个长度为sizeof(int)存储空间,并通过强制类型转换(int*)将此存储空间的地址赋给了—个整型的指针变量p。然后执行语句“*p=n”,使得*p的值为10,并通过返回此值,在主函数中输出a+10的值,即输出20。

  • 第19题:

    有以下程序includeusing namespace std;int a;int fun();int main(){extern int a;in

    有以下程序 #include<iostream> using namespace std; int a; int fun(); int main() { extern int a; int b; a=100; b=fun(); cout<<b<<endl; return 0; } int fun() { extern int a; return(10*a); } 其程序运行后的输出结果是( )。

    A.100

    B.10

    C.1000

    D.10000


    正确答案:C

  • 第20题:

    有以下程序include using namespace std;int a;int fun ();int main (){extern int a

    有以下程序#include <iostream>using namespace std;int a;int fun ();int main (){ extern int a; int b; a = 100; b = fun(); cout<<b<<end1; return 0;}int fun{){ extern int a; return (10*a ;} 其程序运行后的输出结果是

    A.100

    B.10

    C.1000

    D.10000


    正确答案:C
    解析:本题考核变量的作用域、生存周期和存储类别(自动、静态、存储器,外部)。先来了解外部变量:外部变量用关键字extern表示。由于外部变量可以被程序中的所有函数共同访问,其作用域为全局,因此也称为全局变量。对于外部变量而言,“定义变量”和“说明变量”是两个不同的概念。定义a为外部变量是告诉编译程序, a是一个外部变量,并要求系统为a分配一个固定的永久存储空间。a的值在整个程序的运行期间都存在,只有当定义它的程序运行结束时,它的存储空间才释放。外部变量定义后,当程序中的函数要引用外部变量时,应在函数中作引用说明。在此程序中,在第二行定义了一个外部变量a,主函数main给外部变量赋的初始值为100,当调用函数fun()时,外部变量a的值传到函数fun()中,因此函数所返回的值为100*10=1000。

  • 第21题:

    有以下程序: #include<stdio.h> #define N 8 void fun(int*x,int i) {*x=*(x+i);) main( ) { int a[N]={1,2,3,4,5,6,7,8},i; fun(a,2); for(i=0;i<N/2;i++) {printf("Ha",a[i]);} printf("\n"); } 程序运行后的输出结果是( )。

    A.1313

    B.2234

    C.3234

    D.1234


    正确答案:C
    本题考查了宏定义与局部变量的区别,宏定义的作用范围为整个程序,而变量的作用范围只在定义它的函数体的部分,因此,主函数中定义的i与fun中的i互不相干。

  • 第22题:

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

    以下程序的执行结果是( )。 #include<iostream.h> int fun(int b[],int n) { int i,r=1; for(i=0;i<n;i++) r=r*b[i]; } void main() { int x,a[]={1,2,3,4,5,6,7,8}; x=fun(a,3); cout<<x<<endl; }

    A.5

    B.6

    C.7

    D.8


    正确答案:B

  • 第23题:

    下列程序的运行结果是______。include int Func(int *a,int n) {int s=1; for(int i=0

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

    include<iomanip.h>

    int Func(int *a,int n)

    {int s=1;

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

    s*=*a++;

    returns;}

    void main()

    {inta[]:{1,2,3,4,5,6,7,8};

    intb=Func(a,6)+Func(&a[5],2);

    cout<<“b=“<(b<<endl;}


    正确答案:b=762。
    b=762。 解析: 本题考查了。a++的用法。*a++作为表达式时,先计算*a作为表达式的值,然后使指针变量 a本身增1,在本惠中,s*=*a++等同于3=s**a,a++,S后面第一个*是乘号。

  • 第24题:

    单选题
    有以下程序:#include #define N 8void fun(int *x,int i){ *x=*(x+i);}main(){ int a[N]={1,2,3,4,5,6,7,8},i; fun(a,2); for(i=0;i {  printf("%d,",a[i]); } printf("");}程序运行后的输出结果是(  )。
    A

    1,3,1,3,

    B

    2,2,3,4,

    C

    3,2,3,4,

    D

    1,2,3,4,


    正确答案: A
    解析:
    函数fun的功能是把整型指针x后面第i个内存单元中的内容复制到x所指向的内存单元中。在主函数中先调用fun函数,即令a[0]=a[2],然后输出数组a的前4个值。答案选择C选项。