久久综合色一综合色88欧美|久久er热在这里只有精品66|国产福利一区二区不卡|日本精品动漫二区三区

    1. <address id="l3apk"><var id="l3apk"><source id="l3apk"></source></var></address>

      C語言程序設(shè)計(jì)試題及參考答案

      時(shí)間:2017-04-18 09:04:41 C語言試題 我要投稿

      C語言程序設(shè)計(jì)試題及參考答案

        C語言具有各種各樣的數(shù)據(jù)類型,并引入了指針概念,可使程序效率更高。以下是由陽光網(wǎng)小編整理關(guān)于C語言程序設(shè)計(jì)試題的內(nèi)容,希望大家喜歡!

      C語言程序設(shè)計(jì)試題及參考答案

        C語言程序設(shè)計(jì)試題及答案(一)

        一、單項(xiàng)選擇題(20分,每題2分)

        1.以下敘述中錯(cuò)誤的是。C

        A)對于double類型數(shù)組,不可以直接用數(shù)組名對數(shù)組進(jìn)行整體輸入或輸出

        B)數(shù)組名代表的是數(shù)組所占存儲區(qū)的首地址,其值不可改變

        C)當(dāng)程序執(zhí)行時(shí),數(shù)組元素的下標(biāo)越界時(shí),系統(tǒng)給出“下標(biāo)越界”的出錯(cuò)信息

        D)可以通過賦初值的方式確定數(shù)組元素的個(gè)數(shù)

        2.以下敘述中,正確的是:C

        A)continue和break語句只能用于循環(huán)體內(nèi)

        B)continue和break語句只能用于分支語句中

        C)continue語句只能用于循環(huán)體內(nèi)

        D)continue語句只能用于分支語句中

        3.執(zhí)行下列程序段后,正確的結(jié)果是 C

        char x[8] = {8,7,6,5,0,0}, *s;

        s = x+1;

        printf(“%d\n”, s[2]);

        A) n B) 0 C) 5 D) 6

        4.C語言規(guī)定,簡單變量作為實(shí)參時(shí),他和對應(yīng)形參之間的數(shù)據(jù)傳遞方式是:A

        A)單向值傳遞 B) 地址傳遞 C) 相互傳遞 D) 由用戶指定方式

        5.變量的指針,其含義是指該變量的 B

        A)值 B)地址 C)名 D)一個(gè)標(biāo)志

        6.執(zhí)行下列程序段后,正確的結(jié)果是A

        int i=5;

        while(i=1)

        i--;

        printf(“%d”,i)

        A) 5 B) 0 C) 1 D) 無限循環(huán)

        7.for(i=0;i<10;i++) A

        if(i〈=5) break;

        則循環(huán)結(jié)束后i的值為

        A)0 B)1 C)5 D)10

        8.執(zhí)行下列程序段后,正確的結(jié)果是C

        char x[8] = {8,7,6,5,0,0}, *s;

        s = x+1;

        printf(“%d\n”, s[2]);

        A) n B) 0 C) 5 D) 6

        9.C語言規(guī)定,簡單變量作為實(shí)參時(shí),他和對應(yīng)形參之間的數(shù)據(jù)傳遞方式是:A

        A)單向值傳遞 B) 地址傳遞 C) 相互傳遞 D) 由用戶指定方式

        10.設(shè)有數(shù)組定義:char str[]=”China”;則下面的輸出為B

        printf(“%d”,strlen(str));

        A)4 B)5 C)6 D)7

        二、填空題(30分,每空2分)

        1.C語言提供的三種邏輯運(yùn)算符是__&&___、__||___和__!__。

        2.已知字符A的ASCII代碼值為65,以下程序運(yùn)行時(shí)若從鍵盤輸入:B33<回車>,則輸出結(jié)果是 1 B 。

        #include <stdio.h>

        main()

        {

        char a,b;

        a=getchar();

        scanf("%d",&b);

        a=a-'A'+'0';

        b=b*2;

        printf("%c %c\n",a,b);

        }

        3.以下程序運(yùn)行后的輸出結(jié)果是 4 3 5 。

        main()

        {

        int a=3,b=4,c=5,t=99;

        if(b<a && a<c) { t=a;a=c;c=t;}

        if(a<c && b<c) {t=b;b=a;a=t;}

        printf("%d %d %d\n",a,b,c);

        }

        4.下面程序?qū)⒆址麛?shù)組a復(fù)制到字符數(shù)組b中。

        main()

        {

        char a[]="I am a boy.",b[20];

        int i;

        for(i=___0____;a[i]!='\0';i++)

        {

        ____ b[i]=a[i]____;

        }

        _____ b[i]= '\0'____;

        }

        5.若有定義:double x[3][5];

        則x數(shù)組行下標(biāo)的上限是__0___,列下標(biāo)的下限是__4___。

        6.以下程序運(yùn)行后的輸出結(jié)果是 101 。

        #define S(x) 4*(x)*(x)+1

        main()

        {

        int i=2,j=3;

        printf("%d\n",S(i+j));

        }

        7.若有定義:double x[3][5];

        則x數(shù)組行下標(biāo)的上限是_0____,列下標(biāo)的下限是_4___。

        8.已知宏定義#define s 2+3

        printf(”%d”,s*4);的輸出結(jié)果是__14_____。

        9.若有int a[3][2] = {{1},{3,2},{4,5}};,則a[1][1]的值是 2 。

        三、寫出程序的運(yùn)行結(jié)果(30分,每題10分)

        1.寫出程序運(yùn)行后的輸出結(jié)果。

        int f(int b[][4])

        {

        int i,j,s=0;

        for(j=0;j<4;j++)

        {

        i=j;

        if(i>2)

        i=3-j;

        s+=b[i][j];

        }

        return s;

        }

        main( )

        {

        int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}};

        printf("%d\n",f(a));

        }

        16

        2.寫出程序運(yùn)行結(jié)果

        #include <stdio.h>

        main()

        {

        int i=10,j=0;

        do

        {

        j=j+i;

        i--;

        }while(i>2);

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

        }

        52

        3.寫出程序運(yùn)行后的輸出結(jié)果。

        int f(int b[][4])

        {

        int i,j,s=0;

        for(j=0;j<4;j++)

        {

        i=j;

        if(i>2)

        i=3-j;

        s+=b[i][j];

        }

        return s;

        }

        main( )

        {

        int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}};

        printf("%d\n",f(a));

        }

        16

        四、編程(完形填空)(20分,每題10分)

        1.打印所有水仙花數(shù),所謂水仙花數(shù)是指一個(gè)三位數(shù),其各位數(shù)的立方和等于其本身。

        include <stdio.h>

        main()

        {

        int i,j,k,m;

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

        {

        j=i/100;

        k= i/10 ;

        m=i;

        if( j*100+k*10+m==m*m*m+j*j*j+k*k*k )

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

        }

        }

        2.以下程序計(jì)算某年某月有幾天,1、3、5、7、8、10、12月有31天,4、6、9、11月有30天,2月為28天、閏年2月為29天。

        main()

        {

        int yy,mm,day;

        scanf(“%d%d”,&yy,&mm);

        switch(_mm__)

        {

        case1:

        case3:

        case5:

        case7:

        case8:

        case10:

        case12: day=__31_;

        break;

        case4:

        case6:

        case9:

        case11: day=__30___;

        break;

        case2: if(((yy%4==0)__&&___(yy0!=0))__||__(yy@0==0))

        day=29;

        else

        day=28;

        break;

        }

        }

        C語言程序設(shè)計(jì)試題及答案(二)

        1. 若有定義"float x=1.5;int a=1,b=3,c=2;",則正確的switch語句是() (2分)

        A.switch(x)

        {

        case 1.0: printf("* ");

        case 2.0 printf("** ");

        }

        B.switch((int)x)

        {

        case 1.0: printf("* ");

        case 2.0 printf("** ");

        }

        C.switch(a+b)

        {

        case 1: printf("* ");

        case 2+1: printf("** ");

        }

        D.switch(a+b)

        {

        case 1: printf("* ")

        case c: printf("** ");

        }

        標(biāo)準(zhǔn)答案:C

        2. 若有宏定義如下:

        #define X 5

        #define Y X+1

        #define Z Y*X/2

        則執(zhí)行以下printf語句后,輸出的結(jié)果是( )

        int a; a=Y;

        printf("%d ",Z);

        printf("%d",--a); (2分)

        A.7,6 B.12,6 C.12,5 D.7,5

        標(biāo)準(zhǔn)答案:D

        3. 下面的.符號常量定義中,正確的是 ( ) (2分)

        A.#define PI 3.14; B.#include PI 3.14;

        C.#define PI=3.14 D.#define PI 3.14

        標(biāo)準(zhǔn)答案:D

        4. 以下程序的輸出結(jié)果是( )

        int a, b;

        void fun()

        { a=100; b=200; }

        main()

        { int a=5, b=7;

        fun();

        printf("%d%d ", a,b);

        } (2分)

        A.100200 B.57 C.200100 D.75

        標(biāo)準(zhǔn)答案:D

        5. 若有以下調(diào)用語句,則不正確的fun函數(shù)的首部是( )

        main()

        { …

        int a[50],n;

        …

        fun(n, &a[9]);

        …

        } (2分)

        A.void fun(int m, int x[])

        B.void fun(int s, int h[41])

        C.void fun(int p, int *s)

        D.void fun(int n, int a)

        標(biāo)準(zhǔn)答案:D

        6. 以下程序的輸出結(jié)果是( )

        fun(int x, int y, int z)

        { z=x*x+y*y; }

        main()

        { int a=31;

        fun(5,2,a);

        printf("%d",a);

        } (2分)

        A.0 B.29 C.31 D.無定值

        標(biāo)準(zhǔn)答案:C

        7. 以下只有在使用時(shí)才為該類型變量分配內(nèi)存的存儲類說明是( ) (2分)

        A.auto和static B.auto和register

        C.register和static D.extern和register

        標(biāo)準(zhǔn)答案:B

        8. 在調(diào)用函數(shù)時(shí),如果實(shí)參是簡單變量,它與對應(yīng)形參之間的數(shù)據(jù)傳遞方式是( ) (2分)

        A.地址傳遞

        B.單向值傳遞

        C.由實(shí)參傳給形參,再由形參傳回實(shí)參

        D.傳遞方式由用戶指定

        標(biāo)準(zhǔn)答案:B

        9. 以下函數(shù)值的類型是( )

        fun ( float x )

        { float y;

        y= 3*x-4;

        return y;

        } (2分)

        A.int B.不確定 C.void D.float

        標(biāo)準(zhǔn)答案:A

        10. C語言規(guī)定函數(shù)的返回值的類型是由( ) (2分)

        A.return語句中表達(dá)式類型決定

        B.調(diào)用該函數(shù)時(shí)的主調(diào)函數(shù)類型決定

        C.調(diào)用該函數(shù)時(shí)系統(tǒng)臨時(shí)決定

        D.在定義該函數(shù)時(shí)所指定的函數(shù)類型決定

        標(biāo)準(zhǔn)答案:D

        11. 若有說明:int i,j=7, *p=&i; 則與i=j;等價(jià)的語句是( ) (2分)

        A.i= *P; B.*p=*&j; C.i=&j; D.i=* *p;

        標(biāo)準(zhǔn)答案:B

        12. 以下程序執(zhí)行后a的值是( )

        main()

        { int a,k=4,m=6,*p1=&k,*p2=&m;

        a=p1==&m;

        printf("%d ",a);

        } (2分)

        A.4 B.1 C.0 D.a無定值

        標(biāo)準(zhǔn)答案:D

        13. 若有說明:long *p,a;則不能通過scanf語句正確給輸入項(xiàng)讀入數(shù)據(jù)的程序段是( ) (2分)

        A.*p=&a;scanf("%ld",p);

        B.p=(long *)malloc(8);scanf("%ld",p);

        C.scanf("%ld",p=&a);

        D.scanf("%ld",&a);

        標(biāo)準(zhǔn)答案:A

        14. 以下程序的輸出結(jié)果是( )

        #include

        int a[3][3]={1,2,3,4,5,6,7,8,9,},*p;

        main()

        {p=(int *)malloc(sizeof(int));

        f(p,a);

        printf("%d ",*p);

        }

        f(int *s,int p[][3])

        {*s=p[1][1];} (2分)

        A.1 B.4 C.7 D.5

        標(biāo)準(zhǔn)答案:D

        15. 設(shè)已有定義: char *st="how are you"; 下列程序段中不正確的是( ) (2分)

        A.char a[12], *p; strcpy(p=a+1,&st[4]);

        B.char a[12]; strcpy(++a, st);

        C.char a[12]; strcpy(a, st);

        D.char a[12], *p; strcpy(p=&a[1],st+2);

        標(biāo)準(zhǔn)答案:B

        18. 以下程序的輸出結(jié)果是_____ B___。

        main()

        {

        char cf[3][5]={"AAAA","BBB","CC"};

        printf(""%s" ",ch[1]);

        } (2分)

        A."AAAA" B. "BBB" C."BBBCC" D."CC"

        標(biāo)準(zhǔn)答案:B

        19. 以下程序的輸出結(jié)果是_______。

        main()

        {

        int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;

        for(i=0;i for(j=i;j printf("%d ",t);

        } (2分)

        A.3 B.4 C.1 D.9

        標(biāo)準(zhǔn)答案:B

        20. 在下列變量中,()不是局部變量 (2分)

        A.register類 B.外部static類

        C.auto類 D.函數(shù)形參

        標(biāo)準(zhǔn)答案:B


      【C語言程序設(shè)計(jì)試題及參考答案】相關(guān)文章:

      1.2017年C語言程序設(shè)計(jì)試題及參考答案

      2.C程序設(shè)計(jì)模擬試題及參考答案

      3.C語言程序設(shè)計(jì)試題及答案(四)

      4.C語言程序設(shè)計(jì)期末試題及答案

      5.C語言程序設(shè)計(jì)模擬試題及答案

      6.C++語言程序設(shè)計(jì)試題及答案

      7.C語言程序設(shè)計(jì)試題及答案(五)

      8.C語言程序設(shè)計(jì)試題及答案全套