2014年計(jì)算機(jī)二級(jí)C語言模擬試題

字號(hào):


    為大家收集整理了《2014年計(jì)算機(jī)二級(jí)C語言模擬試題》供大家參考,希望對(duì)大家有所幫助?。?!
     
    一、選擇題
    1.一個(gè)C語言程序是由( )構(gòu)成。
    A.語句
    B.行號(hào)
    C.數(shù)據(jù)
    D.函數(shù)
    2.下面標(biāo)識(shí)符中正確的是( )。
    A.d&ef
    B.6a
    C.z4x5c
    D.a3/b4
    3.在C語言中,存儲(chǔ)一個(gè)字符型、整型、單精度實(shí)型變量所需的空間是()。型、單精度實(shí)型變量所需的空間是()。
    A.1、2、4
    B.1、1、4
    C.1、2、8
    D.2、2、8
    4.為了避免嵌套的條件分支語句 if--else中的else總是與( ) 組成成對(duì)關(guān)系。
    A. 縮排位置相同的
    B. 在其之前未配對(duì)的
    C. 在其之前未配對(duì)的最近的if
    D. 在同一行上的if
    5.下列表達(dá)式的結(jié)果正確的是( )。
    int aa,bb,cc,dd;
    aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;
    (aa+1==2)?bb=aa+2:aa+3
    A.2
    B.3
    C. 1
    D.5
    6.設(shè)有int x=11 ;則表達(dá)式(x+1/3)的值是( )。
    A.3
    B. 4
    C. 11
    D.12
    7.設(shè)有字符串A=“He has 錢!”,則該字符串的長度為( )。
    A. 9
    B. 10
    C. 11
    D. 8
    8.有如下程序段,則正確的執(zhí)行結(jié)果是( )
    int m=3;
    while(m<=5)
    { printf(“%d ”,m-3); m++;}
    A. 0 0 0
    B.0 1 2
    C.1 2 3
    D.無結(jié)果
    9.執(zhí)行語句:printf("%d",(a=2)&&(b= -2);后,輸出結(jié)果是( )。
    A.無輸出
    B.結(jié)果不確定  http://ks.exam8.com
    C.-1
    D. 1
    10.有如下定義類型語句,若從鍵盤輸入數(shù)據(jù),正確的輸入語句是( )。
    int x; char y; char z[20];
    A. scanf("%d%c%c",&x,&y,&z);
    B. scanf("%d%c%s",&x,&y,&z);
    C. scanf("%d%c%c",&x,&y,z);
    D. scanf("%d%c%s",&x,&y,z);
    11. struct ex
    { int x ; float y; char z ;} example;
    則下面的敘述中不正確的是( )。
    A. struct結(jié)構(gòu)體類型的關(guān)鍵字
    B. example是結(jié)構(gòu)體類型名
    C. x,y,z都是結(jié)構(gòu)體成員名
    D. struct ex是結(jié)構(gòu)體類型
    12.在C語言中對(duì)于實(shí)型數(shù)組,其每個(gè)數(shù)組元素的類型是( )。
    A. 實(shí)型
    B. 整型
    C. 可以為任何類型
    D. 不確定
    13. 若已定義:int a[9],*p=a;不能表示a[1] 地址的表達(dá)式是( )。
    A. p+1
    B. a+1
    C. a++
    D. ++p
    14. 在TC2.0環(huán)境中,對(duì)文件進(jìn)行保存使用的命令是( )。
    A. OPEN
    B. SAVE
    C. LOAD
    D. WRITE TO
    15.在C++的類中,用于表示公共類型的關(guān)鍵字是( )。
    A. class
    B. private
    C. protect
    D. public
    二、填空題
    1.在C語言中,正確的標(biāo)識(shí)符是由____________組成的,且由____________開頭的。
    2. 設(shè)p=30,那么執(zhí)行q=(++p)后,表達(dá)式的結(jié)果q為______,變量p的結(jié)果為________。
    若a為int類型,且其值為3,則執(zhí)行完表達(dá)式a+=a-=a*a后,a的值是_________。
    3. 一個(gè)變量的指針是指________________。
    4. 在C語言程序中,對(duì)文件進(jìn)行操作首先要_____________;然后對(duì)文件進(jìn)行操作,最后要對(duì)文件實(shí)行____________操作,防止文件中信息的丟失。
    5. 以下程序運(yùn)行后的輸出結(jié)果是_________。該程序的功能是_________ 。
    main()
    { int x=10,y=20 ,t=0;
    if(x!=y) t=x; x=y; y=t;
    printf("%d,%d\n",x,y); }
    6. 若fp已正確定義為一個(gè)文件指針,d1.dat為二進(jìn)制文件,請(qǐng)?zhí)羁眨员銥?讀"而打開此文件:fp=fopen( );。
    7. 有以下程序,當(dāng)輸入的數(shù)值為2,3,4時(shí),輸出結(jié)果為_________。
    main()
    { int x,y,z;
    cout << “please input three number”;
    cin >>x>>y>>z;
    sum=x*x+y*2+z;
    cout<<“sum of number is :”<}
    8. 有以下程序
    main()
    { char c;
    while((c=getchar())!='?') putchar( - - c ); }
    程序運(yùn)行時(shí),如果從鍵盤輸入:YDG?N?<回車>,則輸出結(jié)果為_________ 。
    9.在循環(huán)中,continue語句與break語句的區(qū)別是:continue語句是語句的區(qū)別是:continue語句是 _________ ,break 是 _________。
    三、程序填空與算法題
    1. 下面程序是計(jì)算10個(gè)整數(shù)中奇數(shù)的和及其偶數(shù)的和,請(qǐng)?zhí)羁铡?BR>    #include
    main()
    { int a,b,c,i;
    a=c=0;
    for(i=1;i<=10;i++)
    { scanf(“%d”,&b);canf(“%d”,&b);
    _________
    _________
    _________ }
    printf("偶數(shù)的和=%d\n",a);
    printf("奇數(shù)的和=%d\n",c); }
    2.編寫一個(gè)自定義函數(shù),實(shí)現(xiàn)求兩個(gè)實(shí)數(shù)的平方和
    3. 以下程序運(yùn)行后的輸出結(jié)果是_________。
    main()
    { char s[ ]="GFEDCBA";
    int p=6;
    while(s[p]!=‘D’)
    { printf("%c ", p);
    p=p-1; } }
    4.定義一個(gè)反映學(xué)生信息的結(jié)構(gòu)體,包括學(xué)生的姓名,性別,年齡,成績等。
    5.以下程序輸出的結(jié)果是 _________。
    int ff(int n)
    { static int f=l;
    f=f*n;
    return f; }
    main()
    { int i;
    for(i=1;i<=5;i++) printf("%d\n",ff(i)); }
    6. 設(shè)有以下程序:
    main()
    { int n1,n2;
    scanf("%d",&n2);
    while(n2!=0)
    { n1=n2;
    n2=n2/10;
    printf("%d ",n1); } }
    程序運(yùn)行后,如果從鍵盤上輸入1298;則輸出結(jié)果為_________。
    7.下面程序的功能是:輸出 100以內(nèi)(不包含100)能被 3整除且個(gè)位數(shù)為 6的所有整數(shù),請(qǐng)?zhí)羁铡?BR>    #Include
    main()
    { int i, j;
    for(i=1; ____________; i++)
    if (________________)
    printf("%d", j); }
    四、編程題
    1. 編程實(shí)現(xiàn)求解下面的式子的結(jié)果
    s=1*2+2*3+3*4+…+20*21
    2.編程實(shí)現(xiàn)求下面的式子的結(jié)果
    3.編程實(shí)現(xiàn)將文本文件file1.dat的內(nèi)容讀出來,顯示到屏幕上。
    參考答案
    一、選擇題
    1.D 2. C 3. A 4. C 5. B 6.C 7. B 8. B 9. D 10. D
    11.B 12. A 13. C 14. B 15. D
    二、填空題
    1.字母、數(shù)字、下劃線;以字母、下劃線開頭。
    2.4,4 -12
    3.該變量的地址。
    4.打開;關(guān)閉。
    5.20 , 10 變量的交換  考試大論壇
    6.“d1.dat”, “rb”
    7. sum of number is :14
    9.結(jié)束本次循環(huán),進(jìn)入下一次循環(huán);結(jié)束循環(huán)。
    三、程序填空與閱讀程序題(參考答案)
    1. if (b%2==0) a=a+b else c=c+b
    2. float sum(float x,float y)
    { return x*x+y*y; }
    3. A B C
    4. struct student{
    char name[10];
    char sex;
    int age;
    float score; }
    5. 1 2 6 24 120
    6.8 9 2 1
    7.i<100 if(i%3==0 && i==6)
     四、編程題
    1.參考答案
    main()
    { int m,n,sum=0;
    for (m=1;m<=20;m++)
    sum=sum+m*(m+1);
    printf(“%s”,sum);
    }
    2.參考答案
    # include “math.h”
    main()
    { float x,y;
    scanf(“%f”&x);
    if (x>6)
    y=(x-3)/(2*x-12);
    else
    y=-2*x*x+4*x-10;
    printf(“y=%f”,y); }
    3.main()
    { char ch;
    FILE *fp1,*fp2;
    fp1=fopen(“file1.dat”, “r”);
    fp2=fopen(“file2.dat”, “r”);
    fp3=fopen(“file3.dat”, “w”);
    Ch=fgetc(fp1);
    While(ch!=EOF)
    { fputc(ch,fp3); fputc(ch,fp3);
    Ch=fgetc(fp1); }
    Ch=fgetc(fp2);
    While(ch!=EOF)
    { fputc(ch,fp3); fputc(ch,fp3);
    Ch=fgetc(fp2); }
    Fclose(fp1);
    Fclose(fp2);
    Fclose(fp3);
    }