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

字號:

一、填空與選擇
    1.C語言從源程序的書寫到上機(jī)運(yùn)行輸出結(jié)果要經(jīng)過_______________四個步驟。
    2.C語言的表達(dá)式與語句的區(qū)別在于___________________________________.
    3.C語句_____________ (有、沒有)輸入、輸出語句。
    4.結(jié)構(gòu)化程序的編寫有_______________________________三種程序結(jié)構(gòu)。
    5.C語言中,變量的存儲類別共有四種,即時___________________和寄存器型。
    6.表達(dá)式10/3*9%10/2的值是___________________.
    7.設(shè)有“int x=2,y”說明,則逗號表達(dá)式“y=x+5,x+y”的值是_________________.
    8.設(shè)有“int x=1”,則“x>0?2*x+1: 0”表達(dá)式的值是______________________.
    9.變量Y滿足以下兩條件中的任意一個:①能被4整除,但不能被100整除;②能被400整除。請用邏輯表達(dá)式表示所給條件。____
    10.C語言調(diào)用函數(shù)中,參數(shù)的虛實結(jié)合是_________________
    A.傳值 B.傳址 C.不分
    11. 邏輯運(yùn)算符“&&、||、!”中是短路運(yùn)算符號是____________________
    12. C語言是由________________基本單位組成的。
    A.過程 B.語句 C.函數(shù) D.程序
    13.有如下語句: X+Y*Z>39 && X*Z||Y*Z是什么表達(dá)式__________
    A.算術(shù)表達(dá)式 B.邏輯表達(dá)式 C.關(guān)系表達(dá)式 D.字符表達(dá)式
    14.若進(jìn)入TC集成環(huán)境后,運(yùn)行(RUN)源程序系統(tǒng)提示包含文件(Include)或庫文件(Lib) 無法定義時,應(yīng)修改TC菜單中的哪一項中的哪個子菜單項?
    A.File\Change B. File\Directory
    C. Option\Directories D.TC系統(tǒng)出故障了,應(yīng)重新安裝TC環(huán)境。
    15.下面幾種說法中哪個是正確的?_____________
    A.else語句需與它前面的if語句配對使用;
    B.else語句需與前面接近它的if語句配對使用;
    C.else語句需與前面接近它的,且沒有和其它else語句配對的if語句配對;
    D.以上都正確。
    16.定義結(jié)構(gòu)體的關(guān)鍵字是_______________
    A. union B. enum C.struct D.typedef
    17.定義聯(lián)合體的關(guān)鍵字是___________________
    18.鏈表的首指針能根據(jù)程序的需要進(jìn)行移動讀取鏈表中的某項內(nèi)容,即鏈表可以沒有首指針嗎?
    A.當(dāng)然可以 B.不可以 C.無所謂 D.好不要移動首指針
    19.定義一個數(shù)組a是一個具有3個元素的指針數(shù)組,它的定義語句格式是____
    A. <類型標(biāo)識符> (*a)[3]
    B. <類型標(biāo)識符> *a[2]
    C. <類型標(biāo)識符> *a[3]
    D.以上寫法都不對。
    20.有說明語句:char a[ ]=“this is a book”。請問該數(shù)組到底占了幾個字節(jié)?_____
    A.11 B.12 C.14 D.15
    21.設(shè)整型變量a為5,使b不為2的表達(dá)式是___________
    A. b=a/2 B. b=6-(——a) C. b=a%2 D.b=a>3?2:1
    22.設(shè)整型變量n的值為2,執(zhí)行語句“n+=n-=n*n”后,n的值是_________
    A.0 B.2 C.-4 D. 4
    23.設(shè)A,B均為整型變量,下列表達(dá)式中不是賦值表達(dá)式的是__________
    A. A=b+3,b+5,——b B. A=4*5; C. A=++A-B D.a=b=5
    24.執(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
    25.下列對數(shù)組操作不正確的語句是_________
    A. int a[5];
    B.char b[ ]={‘h’,‘e’,‘l’,‘l’,‘o’};
    C. int a[ ]={2,3,4,5};
    D. char b[3 ][ ]={1,2,3,4,5,6};
    26.設(shè)A為存放短整型的一維數(shù)組,如果A的首地址為P,那么A 中第I個元素的地址為_______________
    A. P+I*2
    B. P+(I-1)*2
    C. P+(I-1)
    D. P+I
    27.如果X=5,執(zhí)行語句X*=X+=X*3后,則X的值為__________
    A.100 B. 400 C. 450 D. 900
    28.下列常量中哪個是不合法的_________________
    A.2e32.6 B. 0.2e-5 C. “basic” D. 0x4b00
    29.下列標(biāo)識符錯誤的是_______
    A. x1y B._123 C. 2ab D. _ab
    30. c語言中int型數(shù)-8在內(nèi)存中的存儲形式為_____
    A.1111111111111000 B. 1000000000001000
    C. 0000000000001000 D. 1111111111110111
    二、讀程序
    1.寫出下列程序段的輸出結(jié)果:
    main()
    {int x=5;
    int y=10;
    printf(“%d\n”,x++);
    printf(“%d\n”,++y); }
    2.寫出下列程序的輸出結(jié)果:
    main()
    {int x,y,z;
    x=y=z=-1;
    printf(“x=%d\ty=%d\tz=%d\n”,x,y,z);
    ++y&&++x||++z;
    printf(“x=%d\ty=%d\tz=%d\n”,x,y,z);
    x=y=z=-1;
    ++x||y++&&z;
    printf(“x=%d\ty=%d\tz=%d\n”,x,y,z);}
    3.下面程序的輸出結(jié)果是什么?
    #include “stdio.h”
    main()
    { int x=3;
    switch(x)
    { case 1:
    case 2:printf(“x<3\n”);
    case 3:printf(“x=3\n”);
    case 4:
    case 5:printf(“x>3\n”);
    default:printf(“x unknow\n”); } }
    4.標(biāo)記出變量 p、q、 a、b、c、x、y和c1的作用范圍和變量性質(zhì)(局部、全局)
    int p=1,q=5;
    float f1(int a)
    {int b,c;
    char ch;
    … 局部變量ch在此范圍內(nèi)有效
    }
    char c1;
    char f2(int x,int y)
    {int i,j;
    5.根據(jù)源程序,寫出相應(yīng)的數(shù)學(xué)表達(dá)式
    #include “stdio.h”
    main()
    {int x,y;
    scanf(“%d”,&x);
    if (x<0) y= -1;
    else if (x= = 0)
    y=0;
    else y=1;
    printf(“x=%d,y=%d\n”,x,y); }
    6.分析下列程序所完成的功能。
    main()
    {int a,b,c,*pa=&a,*pb=&b,*pc=&c,*p;
    scanf(“%d,%d,%d”,pa,pb,pc);
    if (*pa>*pb)
    p=pa,pa=pb,pb=p;
    if (*pa>*pc)
    p=pa,pa=pc,pc=p;
    if (*pb>*pc)
    p=pb,pb=pc,pc=p;
    printf(“%d<=%d<=%d”,*pa,*pb,*pc); }
    三、程序填空:(根據(jù)題意,將空缺的語句補(bǔ)上。)
    1.該程序完成的功能是求1+2+3+…+10的累加和,并進(jìn)行累加和的輸出打印。變量sum是存放累加值的。
    #include “stdio.h”
    main()
    { ________________
    i=1,sum=0;
    for(; i<=10;)
    {sum+=i;
    _________ }
    printf(“%d\n”,sum); }
    2.閱讀函數(shù),根據(jù)函數(shù)完成的主要功能,補(bǔ)充、完善主函數(shù)。
    float av(float a[],int n)
    {int i;float s;
    for (i=0,s=0;i    return (s/n); }
    main()
    {float a[10];
    _______________
    for (i=0;_________)
    scanf(“%f”______);
    printf(“%f”,av(a,10));}
    3.從鍵盤輸入一些字符,逐個把它們送到磁盤文件TEXT.txt中,直到輸入一個“$”為止。請將空缺地方補(bǔ)充完善。
    #include “stdio.h”
    main()
    {FILE *fp;
    char ch;
    if ((fp=fopen(“test.txt”,“w”))==NULL)
    {printf(“cannot open file\n”);
    ;
    }
    ;
    while(ch!=‘$’)
    { fputc(ch,fp);putchar(ch);
    ch=getchar(); }
    _______________________; }
    四、編程:
    1.輸入一單精度二維數(shù)組a[4][3],計算該二維數(shù)組中的大元素的值及其所在位置(行、列),并輸出計算結(jié)果。
    2.個學(xué)生,每個學(xué)生的信息包括學(xué)號、性別、姓名、四門課的成績,從鍵盤上輸入N個學(xué)生的信息,要求輸出總平均成績高的學(xué)生信息,包括學(xué)號、性別、姓名和平均成績。