二級C語言:數組中比較經典的11個真題

字號:

1.一下程序
    main()
    { char s[]="abcde";
    s+=2;
    printf("%d\n",s[0]);
    }
    答案:程序出錯
    2.一下程序
    fun(int x,int y)
    { static int m=0,i=2;
    i+=m+1; m=i+x+y;return m;}
    main()
    { int j=1,m=1,k;
    k=fun(j,m); printf("%d,",k);
    k=fun(j,m); printf("%d\n",k);
    }
    答案:5,11
    3.若有定義:char*x="abcdefghi"; ,能正確運用了 strcpy函數的是:
    char y[10]; *s; strcpy(s=y+1,x+1);
    4.有以下程序執(zhí)行后W結果是;
    int fun1(double a) {return a*a;}
    int fun2(double x,double y)
    { double a=0,b=0;
    a=fun1(x); b=fun1(y);return(int)(a+b);}
    main()
    { double w, w=fun2(1.1,2.0);.......}
    答案:5.0
    5.設函數的fun定義形式為:void fun(char ch,flaot x) {.....}
    則對函數fun的調用語句是: fun(32,32);
    6.已有定義char a[]="xyz",b[]={'x','y','z'};,則敘述正確的是:
    a數組的長度大于b數組長度
    7.一下敘述錯誤的是C)
    A.對于double類型數組,不可以直接用數組名進行整體輸入或輸出
    B.數組名代表的是數組所占存儲區(qū)的首地址,其值不可改變
    C.當程序執(zhí)行中,數組元素的下標超出所定義的下標范圍時,系統(tǒng)將給出"下標越界"的出錯信息
    D. 可以通過賦值的方式確定數組元素的個數
    8.有以下程序:
    char fun(char x,char y)
    { if (x    return y; }
    main()
    { int a='9',b='8',c='7';
    printf("%c\n", fun(fun(a,b),fun(b,c)));
    }
    答案是:7
    9.若定義以下函數:
    double myadd(double a,double b)
    { return (a+b);}
    并將其放在調用語句之后,則在調用之前應對其說明,正確的說明有:
    double myadd(double,double);
    double myadd(double b,double a);
    double myadd(doubie x,double y);
    10有以下程序,執(zhí)行后輸出的是:
    fun( int x, inty)
    return(x+y);}
    main()
    int a=1,b=2,c=3,sum;
    sum=fun((a++,b++,a+b),c++);
    printf("%d\n",sum);}
    答案:8
    11.有以下程序結果是
    #define P 3
    F(int x)
    { return (P*x*x);}
    main()
    { printf("%d\n",F(3+5));}
    答案:192