2012年9月計(jì)算機(jī)等考二級(jí)C語(yǔ)言模擬試題及答案四

字號(hào):

一.單項(xiàng)選擇題
    1. 運(yùn)算符___________的優(yōu)先級(jí)。
    A.[ ]
    B. +=
    C. ?:
    D.++
    2.main( )
    { int n; ( n=6*4,n+6),n*2; printf(“n=%d\n”,n); }
    此程序的輸出結(jié)果是______________.
    A.30
    B. 24
    C. 60
    D. 48
    3.若有如下定義,則__________是對(duì)數(shù)組元素的正確的引用。.
    int a[10] , *p ; p=a ;
    A. *&a[10]
    B. a[11]
    C. *(p+11)
    D. *p *p *p
    4.設(shè)整型變量n的值為2,執(zhí)行語(yǔ)句“n+=n-=n*n;”后,n的值是__________
    A. 0
    B. 4
    C. - 4
    D. 2
    5.各種基本數(shù)據(jù)類型的存貯空間正確的長(zhǎng)度排列為_(kāi)_________。
    A.Char
    C.Char
    6.下面的變量說(shuō)明中_____________是正確的。
    A.char:a, b, c;
    B.char a; b; c;
    C.char a, b, c;
    D.char a, b, c
    7.表達(dá)式y(tǒng)=(13>12?15:6>7?8:9)的值為_(kāi)___________ 。
    A 9
    B 8
    C 15
    D. 1
    8.若x=5,y=3 則y*=x+5; y的值為_(kāi)______________.
    A. 10
    B. 20
    C. 15
    D. 30
    9.能正確表示a和b同時(shí)為正或同時(shí)為負(fù)的邏輯表達(dá)式是_________。
    A.a>=0||b>=0)&&(a<0 ||b<0)
    B.(a>=0 && b>=0)&&(a<0 && b<0)
    C.(a+b>0) &&(a+b<=0)
    D. a*b>0
    10.C語(yǔ)言中,合法的字符型常數(shù)是_________。
    A.‘A’
    B.“A”
    C. 65
    D. A
    11.已有定義 int x=3, y=4, z=5;則表達(dá)式“!(x+y)+z-1&&y+z/2”的值是________。
    A.6
    B.0
    C.2
    D.1
    12.若變量c為char類型,能正確判斷出c為小寫字母的表達(dá)式是_______。
    A.’a’<=c<=’z’
    B. (c>=’a’) || (c<=’z’)
    C.(‘a(chǎn)’<=c) and (‘z’>=c)
    D. (c>=’a’) && (c<=’z’)
    13.設(shè)有定義:long x=-123456L; 則以下能夠正確輸出變量x值的語(yǔ)句是_______。
    A.printf(“x=%d\n”,x)
    B.printf(“x=%ld\n”,x)
    C.printf(“x=l\n”,x)
    C.printf(“x=%D\n”,x);
    14.從循環(huán)體內(nèi)某一層跳出,繼續(xù)執(zhí)行循環(huán)外的語(yǔ)句是:___________。
    A. break語(yǔ)句
    B.return語(yǔ)句
    C.continue語(yǔ)句
    D.空語(yǔ)句。
    15.C語(yǔ)言用_______表示邏輯“真”值。
    A.true
    B.t或y
    C.非零整型值
    D.整型值0 16.為了避免嵌套的條件分支語(yǔ)句if—else 的二義性,C語(yǔ)言規(guī)定:C程序中的else總是與_____組成配對(duì)關(guān)系。
    A.縮排位置相同的if
    B.在其之前未配對(duì)的if
    C.在其之前未配對(duì)的最近的if
    D.同一行上的if
    17.在函數(shù)中默認(rèn)存儲(chǔ)類型說(shuō)明符的變量應(yīng)該是________存儲(chǔ)類型。
    A.內(nèi)部靜態(tài)
    B. 外部
    C.自動(dòng)
    D. 寄存器
    18.C語(yǔ)言中以只讀方式打開(kāi)一個(gè)文件應(yīng)選擇_______________參數(shù)。
    A.“r”
    B.“w”
    C.“rb”
    D.“a”
    19.設(shè)有數(shù)組定義:char array[]=”student”;則數(shù)組所占的存貯空間為_(kāi)_________。
    A.6個(gè)字節(jié)
    B. 7個(gè)字節(jié)
    C. 8個(gè)字節(jié)
    D. 9個(gè)字節(jié)
    20.根據(jù)C語(yǔ)言的語(yǔ)法規(guī)則,下列________個(gè)是不合法標(biāo)識(shí)符。
    A.do
    B. Name
    C. R5
    D. _exam
    二.判斷題
    1. C 語(yǔ)言源程序文件通過(guò)了編譯、連接之后 , 生成一個(gè)后綴為 .EXE 的文件。 ( )
    2.在 C 程序中 , 函數(shù)既可以嵌套定義 , 也可以嵌套調(diào)用。( )
    3.在 C 程序中 ,APH 和 aph 代表不同的變量。( )
    4.表達(dá)式 0195 是一個(gè)八進(jìn)制整數(shù)。( )
    5.Continue語(yǔ)句的作用是結(jié)束本次循環(huán)。( )
    6.Extern變量的生命期是整個(gè)程序執(zhí)行期。 ( )
    7.C語(yǔ)言中字符串的結(jié)束符是’\0’。 ( )
    8.利用fclose函數(shù)關(guān)閉已打開(kāi)的文件。 ( )。
    9.C程序總是從main( ) 函數(shù)的第一條語(yǔ)句開(kāi)始執(zhí)行的?!? )
    10.數(shù)組名代表數(shù)組的首地址。( )
    三.填空
    1.C語(yǔ)言的預(yù)處理語(yǔ)句以__________開(kāi)頭。
    2.表達(dá)式7+10>2 && 25 %5的結(jié)果是_______________________。
    3.下列程序段是從鍵盤輸入的字符中統(tǒng)計(jì)數(shù)字字符的個(gè)數(shù),用換行符結(jié)束循環(huán)。
    Int n=0, ch; Ch=getchar( );
    While( __________________ )
    { if ( ________________ ) n++; c=getchar( ); }
    4.C語(yǔ)言中g(shù)etchar() 函數(shù)的功能是_________________________________。
    5.int *p 的含義是___________________________________________。
    6.定義fp為文件型指針變量的定義方法為_(kāi)______________________。
    7.數(shù)組 int a[3][3];共定義了____________個(gè)數(shù)組元素?!∷摹⒆x程序。
    1. 改正下列程序中不正確的語(yǔ)句。
    main( )
    { int a;
    scanf(“%d”, a); if (a = 1) printf(“One\n”) ; }
    2.寫出下列程序的運(yùn)行結(jié)果。
    fun(int a, int b)
    { if(a>b) return (a);
    Else return (b); }
    main()
    { int x=3,y=8,z=6,r;
    r=fun(fun(x,y),2*z); printf(“%d\n”,r); }
    3. 改正下列程序中不正確的語(yǔ)句。
    main()
    { int n ;
    float s=1.0;
    for(n=10;n>1;n- -)
    s=s+1/n;
    printf(“%6.1f\n”,s); }
    4. 寫出下列程序的運(yùn)行結(jié)果。
    main()
    { int n;
    For(n=3; n<=10; n++)
    { if(n%6= =0) break; Printf(“%d”,n); } }
    5.寫出下列程序的運(yùn)行結(jié)果。
    #include “stdio.h”
    Main()
    { int a[]={1,2,3,-4,5};
    int m,n,*p; p=&a[0]; m=*(p+1); n=*(p+4);
    printf(“%d %d %d ”,*p,m,n); }
    五.編程
    1. 編程計(jì)算下列表達(dá)式:s=n!(n從鍵盤上輸入)
    2.輸出1—100之間不能被12整除的數(shù)。
    3.從鍵盤上輸出10個(gè)整數(shù)存入一維數(shù)組中,按由大到小的順序輸出。
    4.從鍵盤上輸入9個(gè)數(shù),按3行3列的格式輸出。
    5.編程將文件read.txt中的字符讀出顯示到屏幕上?!⒖即鸢?BR>    一.單項(xiàng)選擇題
    1 A 2B 3D 4C 5C
    6C 7C 8D 9D 10A
    11D 12D 13B 14A 15C
    16C 17A 18A 19C 20A
    二.判斷題
    1√ 2Ⅹ 3√ 4Ⅹ 5√
    6√ 7√ 8√ 9√ 10√
    三、填空
    1 #號(hào)
    2 0
    3 ch!=’\n’ ch>=’0’ && ch<=’9’
    4 從鍵盤上輸入一個(gè)字符。
    5 指針變量p為整型
    6 FILE *fp
    7 9
    四、讀出程序。
    1 printf("%d,",&a); if (a==1)
    2 12
    3 s=s+1.0/n
    4. 3 4 5
    5 1 2 5
    五.編程序
    1.
    #include "stdio.h"
    main()
    { long t=1;
    int i;
    for(i=1;i<=10;i++)
    t=t*i;
    printf("%ld",t); }
    2
    #include "stdio.h"
    main()
    { int i;
    for(i=1;i<=100;i++)
    { if(i==0)
    continue;
    printf("%d ",i);
    }
    3.
    #include "stdio.h"
    main()
    { int i,j,a[10];
    for(i=1;i<=10;i++)
    scanf("%d",&a[i]);
    for(i=0;i<9=;i++)
    for(j=9;j>i;j--)
    if(a[j-1]{ t=a[j-1];
    a[j-1]=a[j];
    a[j]=t; }
    for(i=0;i<10;i++)
    printf("%d",a[i]);
    }
    4.
    #include "stdio.h"
    main()
    { int a[3][3],i,j,s=0;
    for(i=0;i<3;i++)
    for(j=0;j<3;j++)
    scanf("%d",&a[i][j]);
    for(i=0;i<3;i++)
    { for(j=0;j<3;j++)
    printf(“%d ”,a[i][j] );
    printf(“\n”);
    }
    }
    5.
    #include "stdio.h"
    main()
    { int c;
    FILE *fp;
    fp=open("read.txt","r");
    c=fgetc(fp);
    while(c!='\n')
    { putchar(c);
    c=fgetcr(fp);
    } }
    fclose(); }