自考“C語言程序設(shè)計”模擬試題十一

字號:

一、單項選擇題(共30分,每題1分)
    1.在PC機中,‘\n’在內(nèi)存占用的字節(jié)數(shù)是( )
    A.1 B.2 C. 3 D.4
    2.字符串“ABC”在內(nèi)存占用的字節(jié)數(shù)是( )
    A.3 B. 4 C.6 D.8
    3.在C語言中,合法的長整型常數(shù)是( )
    A.0L B.4962710 C.0.054838743 D.2.1869 e10
    4.執(zhí)行語句“x=(a=3,b=a——)”后,x,a,b的值依次是( )
    A.3,3,2 B.3,2,2 C.3,2,3 D.2,3,2
    5.設(shè)有語句int a=3;,則執(zhí)行了語句a+=a-=a*a后,變量a的值是( )
    A.3 B.0 C.9 D.-12
    6.設(shè)int k=32767;執(zhí)行k=k+1;后k值為( )
    A.32768 B.-32768 C.0 D.-1
    7.下列正確的標(biāo)識符是( )
    A.hot_do B.a+b C.test! D.%y
    8.設(shè)int a=5,使b不為2的表達式是( )
    A.b=6-(——a) B.b=a%2 C.b=a/2 D.b=a>3?2:1
    9.執(zhí)行x=(6*7%8+9)/5;后,x的值為( )
    A.1 B.2 C.3 D.4
    10.執(zhí)行語句x=(a=3,b=a——)后,x,a,b的值依次為( )
    A.3,2,3 B.2,3,2 C.3,3,2 D.3,2,2
    11.設(shè)a=-3;執(zhí)行(a>0)?a:-a;后,a的值為( )
    A.3 B.1 C.0 D.-3
    12.設(shè)所有變量均為整型,則表達式(a=2,b=5,b++,a+b)的值為( )
    A.7 B.8 C.9 D.2
    13.下面正確的字符常量是( )
    A.“c” B.‘\\’‘ C.’W‘ D. ’‘
    14.若有代數(shù)式3ae/bc,則不正確的c語言表達式是( )
    A.a/b/c*e*3 B.3*a*e/b/c C.3*a*e/b*c D.a*e/c/c*3
    15.在C語言中,要求運算數(shù)必須是整型的運算符是( )
    A./ B.++ C.!= D.%
    16.若有說明語句:char c=‘\72’;則變量c ( )
    A.包含1個字符 B.包含2個字符
    C.包含3個字符 D.說明不合法,c值不確定
    17.sizeof (float)是( )
    A.一個雙精度型表達式 B.一個整型表達式
    C.一種函數(shù)調(diào)用 D 一個不合法的表達式
    18.設(shè)變量a 是整型,f是實型,i是雙精度型,則表達式10+‘a(chǎn)’+i*f值的數(shù)據(jù)類型是( )
    A.int B.folat C.double D.不確定
    19.若有定義int a[10],*p=a;,則p+5表示( )
    A.元素a[5]的地址 B.元素a[5]的值
    C.元素a[6]的地址 D.元素a[6]的值
    20.以下與int *q[5];等價的定義語句是( )
    A.int q[5]; B.int * q C.int (q[5]) D.int (*q)[5]
    21.若有定義int a[5],*p=a;則對a數(shù)組元素地址的正確引用是( )
    A.P+5 B.*a+1 C.&a+1 D &a[0]
    22.凡是函數(shù)中未指定存儲類別的局部變量,其隱含的存儲類別是( )
    A.auto B.static C.extern D.register
    23.若用數(shù)組名作為函數(shù)調(diào)用的實參,傳遞給形參的是( )
    A.數(shù)組的首地址 B.數(shù)組第一個元素的值
    C.數(shù)組中全部元素的值 D .數(shù)組元素的個數(shù)
    24.C語言允許函數(shù)值類型缺省定義,此時該函數(shù)值隱含的類型是( )
    A.float B.int C.long D.double
    25.以下對二維數(shù)組a的正確說明是( )
    A.int a[3][] B.float a(3,4)
    C.double a[1][4] D.float a(3)(4)
    26.若有說明int a[3][4];則對a數(shù)組元素的正確引用是(A )
    A.a[2][4] B.a[1,3] C.a[1+1][0] D.a(2)(2)
    26.語句while(!E);中的表達式!E等價于( )
    A.E= =0 B.E!=1 C.E!=0 D.E= =1
    27.C語言中while和do—while循環(huán)的主要區(qū)別是( )
    A. do—while的循環(huán)體至少無條件執(zhí)行一次
    B. While的循環(huán)控制條件比do—while的循環(huán)控制條件嚴(yán)格
    C. do—while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)
    D. do—while循環(huán)體不能是復(fù)合語句
    28.為了避免在嵌套的條件語句if—else中產(chǎn)生二義性,C語言規(guī)定:else子句總與( )配對
    A.縮排位置相同的if B.其之前最近的if
    C.其之后最近的if D.同一行上的if
    29.判斷char型變量ch是否為大寫字母的正確表達式是( )
    A.‘A’<=ch<=‘Z’ B.(ch>=‘A’)&(ch<=‘Z’)
    C.(ch>=‘A’)&&(ch<=‘Z’ D.(‘A’<=ch)AND (‘Z’>=ch)
    30.以下能正確定義整型變量a、b、c并為其賦初值5的語句是( )
    A.int a=b=c=5; B.int a,c, c=5;
    C.a=5,b=5,c=5; D.a=b=c=5;
    二、填空(20分,每空1分)
    1.C語言中的實型變量分為兩種類型,它們是( )和( )。
    2.C語言中的標(biāo)識符只能由三種字符組成,它們是( )、( )和( )。
    3.若有定義:char c=‘\010’;則變量c中包含的字符個數(shù)是( )。
    4.C語言提供的三種邏輯運算符是( )、( )、( )。
    5.設(shè)y為int型變量,請寫出描述“y是奇數(shù)”的表達式( )。
    6.設(shè)x,y,z均為int型變量,請寫出描述“x或y中有一個小于z”的表達式( )。
    7.在C語言中,二維數(shù)組元素在內(nèi)存中的存放順序是( )。
    8.若有定義:double x[3][5];則x數(shù)組中行下標(biāo)的下限為( ),列小標(biāo)的上限為( )。
    9.若有定義:int a[3][4]={{1,2},{0},{4,6,8,10}};則初始化后,a[1][2]得到的初值是( ),a[2][2]得到的初值是( )。
    10.若自定義函數(shù)要求返回一個值,則應(yīng)在該函數(shù)體中有一條( )語句,若自定義函數(shù)要求不返回一個值,則應(yīng)在該函數(shù)說明時加一個類型說明符( )。
    11.函數(shù)中的形參和調(diào)用時的實參都是數(shù)組名時,傳遞方式為( ),都是變量時,傳遞方式為( )。
    三、讀程序(30分)
    1. main()
    {int a=2,b=3,c;
    c=a;
    if (a>b) c=1;
    else if (a= =b) c=0;
    else c=-1;
    printf (“%d\n”,c);} 運行結(jié)果:
    2.main()
    {int a=2,b=7,c=5;
    switch (a>0)
    { case 1: swithch (b<0)
    {case 1:printf(“@”);break;
    case 2:printf(“!”);break;
    }
    case 0: switch (c= =5)
    { case 0:printf(“*”);break;
    case 1:printf(“#”),break;
    default:printf(“#”);break;
    }
    default:printf(“&”); 運行結(jié)果:
    } printf (“\n”);
    }
    3.#include
    main()
    { int i;
    for (i=1;i<=5;i++)
    switch (i%5)
    { case 0:printf(“*”);break;
    case 1:printf(“#”);break;
    default:printf(“\n”);
    case 2:printf (“&”); 運行結(jié)果:
    }
    }
    4.main()
    { int i,b,k=0;
    for (i=1;i<=5;i++)
    {b=i%2;
    while (b——>=0) k++;
    } 運行結(jié)果:
    printf (“%d,%d”,k,b);
    }
    5.#include
    main()
    { char ch[7]={“12ab56”};
    int i,s=0;
    for (i=0;ch[i]>=‘0’&&ch[i]<=‘9’;i+=2)
    s=s*10+ch[i]-‘0’; 運行結(jié)果:
    printf (“%d\n”,s);
    }
    6. main()
    { int a=2,i;
    for (i=0;i<3;i++)
    printf (“%4d”,f(a));
    }
    f(int a)
    { int b=0;static int c=3;
    b++;c++;
    運行結(jié)果:
    return(a+b+c);
    }
    四、編寫程序(20分)
    1.從鍵盤輸入的10個整數(shù)中,找出第一個能被7整除的數(shù)。若找到,打印此數(shù)后退出循環(huán);若未找到,打印“not exist”。
    2.已有變量定義和函數(shù)調(diào)用語句:int x=57;isprime(x);函數(shù)isprime()用來判斷一個整數(shù)a是否是素數(shù),若是素數(shù),函數(shù)返回1,否則返回0.請編寫isprime函數(shù)。
    insprime( int a)
    {……}; {……}