2014年計算機二級C單選試題

字號:

為大家收集整理了《2014年計算機二級C單選試題》供大家參考,希望對大家有所幫助?。。?BR>    21.當輸入a1b2c3d4e時,以下程序的輸出結果為( A )。
    #include
    main( )
    {char str[40];
    printf(“請輸入含有四個數字字符的字符串:\n”);
    scanf(“%s”,str);
    insert(str);
    }
    insert(char str[ ])
    {int i;
    for(i=strlen(str);i>0;i--)
    {str[2*i]=str[i];
    str[2*i-1]= ‘ ’;
    }
    printf(“\n結果是:%s”, str);
    }
    A) a 1 b 2 c 3 d 4 e
    B) 1 2 3 4
    C) a 1 b 2
    D) 因輸入錯誤,程序出錯
    22.在下列敘述中,錯誤的一條是( A )。
    A) 主函數main中定義的變量在整個文件或程序中有效
    B) 不同函數中,可以使用相同名字的變量
    C) 函數中的形式參數是局部變量
    D) 在一個函數內部,可在復合語句中定義變量,這些變量只在本復合語句中有效
    23.以下程序的輸出結果是( A )。
    #include
    main( )
    {int i;
    for(i=0; i<2; i++)
    as ( );
    }
    as( )
    {int lv=0;
    static int sv=0;
    printf(“l(fā)v=%d, sv=%d”, lv, sv);
    lv++;
    sv++;
    }
    A) lv=0,sv=0,lv=0,sv=1
    B) lv=0,sv=0,lv=1,sv=1
    C) lv=0,sv=0,lv=0,sv=0
    D) lv=0,sv=1,lv=0,sv=1
    24.在下列敘述中,錯誤的一條是( B )。
    A) 全局變量存放在靜態(tài)存儲區(qū)中,在程序開始執(zhí)行時就給全局變量分配存儲區(qū),程序執(zhí)行完才釋放
    B) 在有參函數中,形參在整個程序一開始執(zhí)行時便分配內存單元
    C) 用數組名作函數實參和形參時,應在主調函數和被調用函數中分別定義數組
    D) 在同一個源文件中,全局變量與局部變量同名時,在局部變量的作用范圍內,全局變量不起作用
    25.在下列語句中,不正確的是( D )。
    A) c=2*max(a,B);  B) m=max(a,max(b,C));
    C) printf(“%d”,max(a,B));
    D) int max(int x,int max(int y,int z));
    26.若輸入1.5、2.5,以下程序的輸出結果為( C )。
    main( )
    {int max(float x, float y);
    float a, b;
    int c;
    scanf(“%f, %f” , &a, &B);
    c=max(a, B);
    printf(“%d”, C);
    }
    max(float x, float y)
    {float z;
    z=x>y ? x : y;
    return(z);
    }
    A) 1
    B) 2.5
    C) 2
    D) 3
    27、下列程序結構中,正確的是( D )。
    A) main()
    {float a,b,c;
    scanf(“%f,%f”,&a,&B);
    c=add(a,B);
    …
    }
    int add(float x,float y)
    { … }
    B) main()
    {float a,b,c;
    scanf(“%f,%f”,&a,&B);
    c=add(a,B);
    …
    }
    float add(float x,float y)
    { … }
    C) float add();
    main()
    {float a,b,c;
    scanf(“%f,%f”,&a,&B);
    c=add(a,B);
    …
    }
    float add(float x,float y)
    { … }
    D) float add(float x,float y)
    { … }
    main()
    {float a,b,c;
    scanf(“%f,%f”,&a,&B);
    c=add(a,B);
    …
    }
    28.在下列敘述中,錯誤的一條是( B )。
    A) scanf函數可以用來輸入任何類型的多個數據
    B) 數組名作函數參數時,也采用“值傳遞”方式
    C) 如果形參發(fā)生改變,不會改變主調函數的實參值
    D) 函數的實參與形參的類型應一致
    29.以下程序的輸出結果是( B )。
    main()
    {int i=1,j=3;
    printf(“%d”,i++);
    {int i=0;
    i+=j*2;
    printf(“%d,%d”,i,j);
    }
    printf(“%d,%d\n”,i,j);
    }
    A) 1,6,3,1,3
    B) 1,6,3,2,3
    C) 1,6,3,6,3
    D) 1,7,3,2,3
    30.C語言中形參的缺省存儲類別是( A )。
    A) 自動(auto)
    B) 靜態(tài)(static)
    C) 寄存器(register)
    D) 外部(extern)
    31.設有如下函數:
    ggg(float x)
    {printf(“\n%d”, x*x);}
    則函數的類型為( C )。
    A) 與參數x的類型相同
    B) void
    C) int
    D) 無法確定
    32.C語言規(guī)定,程序中各函數之間( A )
    A) 既允許直接遞歸調用也允許間接遞歸調用
    B) 不允許直接遞歸調用也不允許間接遞歸調用
    C) 允許直接遞歸調用不允許間接遞歸調用
    D) 不允許直接遞歸調用允許間接遞歸調用
    33.下面程序的輸出結果是( A )。
    main()
    {int i=2,p;
    p=f(i,i+1);
    printf(“%d”,p);
    }
    int f(int a,int B)
    {int c;
    c=a;
    if(a>B) c=1;
    else
    if(a==B) c=0;
    else c=-1;
    return(C);
    }
    A) -1
    B) 0
    C) 1
    D) 2
    34.以下程序的輸出結果為( B )。
    f(int b[ ], int n)
    {int i, r;
    r=1;
    for(i=0; i<=n; i++) r=r*b[i];
    return(r);
    }
    main()
    {int x, a[ ]={2,3,4,5,6,7,8,9};
    x=f(a, 3);
    printf(“%d\n”, x);
    }
    A) 720
    B) 120
    C) 24
    D) 6
    35.下列程序執(zhí)行后的輸出結果是( D )。
    f(int a)
    {int b=0;
    static c=3;
    a=c++, b++;
    return(a);
    }
    main( )
    {int a=2, i, k;
    for(i=0;i<2;i++)
    k=f(a++);
    printf(“%d\n”, k);
    }
    A) 3
    B) 0
    C) 5
    D) 4
    36.下列程序執(zhí)行后輸出的結果是( A )。
    int d=1;
    fun(int p)
    {int d=5;
    d+=p++;
    printf(“%d”, D);
    }
    main( )
    {int a=3;
    fun(a);
    d+=a++;
    printf(“%d\n”, D);
    }
    A) 84
    B) 96
    C) 94
    D) 85
    37.以下程序的輸出結果是( B )。
    fun(int k)
    {if(k>0) fun(k-1);
    printf(“%d”, k);
    }
    main( )
    {int w=5;
    fun(w);
    }
    A) 54321
    B) 012345
    C) 12345
    D) 543210
    38.以下說法中正確的是( C )。
    A) C語言程序總是從第一個定義的函數開始執(zhí)行
    B) 在C語言程序中,被調用的函數必須在main()函數中定義
    C) C語言程序總是從main()函數開始執(zhí)行
    D) C語言程序中的main()函數必須放在程序的開始部分
    39.以下程序的輸出結果是( C )。
    int abc(int u, int v);
    main()
    {int a=24, b=16, c;
    c=abc (a, B);
    printf(“%d\n”, C);
    }
    int abc(int u, int v)
    {int w;
    while(v)
    {w= u%v; u=v; v=w;}
    return u;
    }
    A) 6
    B) 7
    C) 8
    D) 9