二級(jí)C語(yǔ)言:數(shù)組中比較經(jīng)典的11個(gè)真題

字號(hào):

1.一下程序
    main()
    { char s[]="abcde";
    s+=2;
    printf("%d\n",s[0]);
    }
    答案:程序出錯(cuò)
    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"; ,能正確運(yùn)用了 strcpy函數(shù)的是:
    char y[10]; *s; strcpy(s=y+1,x+1);
    4.有以下程序執(zhí)行后W結(jié)果是;
    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.設(shè)函數(shù)的fun定義形式為:void fun(char ch,flaot x) {.....}
    則對(duì)函數(shù)fun的調(diào)用語(yǔ)句是: fun(32,32);
    6.已有定義char a[]="xyz",b[]={'x','y','z'};,則敘述正確的是:
    a數(shù)組的長(zhǎng)度大于b數(shù)組長(zhǎng)度
    7.一下敘述錯(cuò)誤的是C)
    A.對(duì)于double類型數(shù)組,不可以直接用數(shù)組名進(jìn)行整體輸入或輸出
    B.數(shù)組名代表的是數(shù)組所占存儲(chǔ)區(qū)的首地址,其值不可改變
    C.當(dāng)程序執(zhí)行中,數(shù)組元素的下標(biāo)超出所定義的下標(biāo)范圍時(shí),系統(tǒng)將給出"下標(biāo)越界"的出錯(cuò)信息
    D. 可以通過(guò)賦值的方式確定數(shù)組元素的個(gè)數(shù)
    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.若定義以下函數(shù):
    double myadd(double a,double b)
    { return (a+b);}
    并將其放在調(diào)用語(yǔ)句之后,則在調(diào)用之前應(yīng)對(duì)其說(shuō)明,正確的說(shuō)明有:
    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.有以下程序結(jié)果是
    #define P 3
    F(int x)
    { return (P*x*x);}
    main()
    { printf("%d\n",F(3+5));}
    答案:192