自考“C語(yǔ)言程序設(shè)計(jì)”模擬試題十二

字號(hào):

一、填空與選擇
    1.C語(yǔ)言從源程序的書寫到上機(jī)運(yùn)行輸出結(jié)果要經(jīng)過(guò)__________四個(gè)步驟。
    2.C語(yǔ)言的表達(dá)式與語(yǔ)句的區(qū)別在于__________.
    3.C語(yǔ)句_________ (有、沒(méi)有)輸入、輸出語(yǔ)句。
    4.結(jié)構(gòu)化程序的編寫有__________三種程序結(jié)構(gòu)。
    5.表達(dá)式10/3*9%10/2的值是__________.
    6.設(shè)有“int x=2,y”說(shuō)明,則逗號(hào)表達(dá)式“y=x+5,x+y”的值是________.
    7.設(shè)有“int x=1”,則“x>0?2*x+1: 0”表達(dá)式的值是__________.
    8.變量Y滿足以下兩條件中的任意一個(gè):①能被4整除,但不能被100整除;②能被400整除。請(qǐng)用邏輯表達(dá)式表示所給條件。_____
    9.邏輯運(yùn)算符“&&、||、 !”中的優(yōu)先級(jí)是______
    10. C語(yǔ)言是由__________基本單位組成的。
    A.過(guò)程 B.語(yǔ)句 C.函數(shù) D.程序
    11.有如下語(yǔ)句: X+Y*Z>39 && X*Z||Y*Z是什么表達(dá)式__________
    A.算術(shù)表達(dá)式 B.邏輯表達(dá)式 C.關(guān)系表達(dá)式 D.字符表達(dá)式
    12.下面幾種說(shuō)法中哪個(gè)是正確的?_________
    A.else語(yǔ)句需與它前面的if語(yǔ)句配對(duì)使用;
    B.else語(yǔ)句需與前面最接近它的if語(yǔ)句配對(duì)使用;
    C.else語(yǔ)句需與前面最接近它,且沒(méi)有和其它else語(yǔ)句配對(duì)的if語(yǔ)句配對(duì);
    D.以上都正確。
    13.有說(shuō)明語(yǔ)句:char a[ ]=“this is a book”。請(qǐng)問(wèn)該數(shù)組到底占了幾個(gè)字節(jié)?
    A.11 B.12 C.14 D.15
    14.設(shè)整型變量a為5,使b不為2的表達(dá)式是_________
    A. b=a/2 B. b=6-(——a) C. b=a%2 D.b=a>3?2:1
    15.設(shè)整型變量n的值為2,執(zhí)行語(yǔ)句“n+=n-=n*n”后,n的值是________
    A.0 B.2 C.-4 D. 4
    16.執(zhí)行語(yǔ)句“x=(a=3,b=a——)”后,x,a,b的值依次為_(kāi)_______
    A. 3, 3, 2 B. 3,2,2 C.3,2,3 D.2,3,2
    17.如果X=5,執(zhí)行語(yǔ)句X*=X+=X*3后,則X的值為_(kāi)________
    A.100 B. 400 C. 450 D. 900
    18.下列常量中哪個(gè)是不合法的________
    A.2e32.6 B. 0.2e-5 C. “basic” D. 0x4b00
    19.下列標(biāo)識(shí)符錯(cuò)誤的是_______
    A. x1y B._123 C. 2ab D. _ab
    20. c語(yǔ)言中int型數(shù)-8在內(nèi)存中的存儲(chǔ)形式為_(kāi)____
    A.1111111111111000 B.1000000000001000
    C.0000000000001000 D.1111111111110111
    二、讀程序(結(jié)果寫在試卷的右邊)
    1. 寫出下列程序段的輸出結(jié)果:
    main()
    {int x=5; int y=10;
    printf(“%d\n”,x++);
    printf(“%d\n”,++y); }
    2. 下面程序的輸出結(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”); } }
    3.根據(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); }
    4. 讀出下列程序的輸出結(jié)果:
    main()
    { int a=1,b=1,c=1;
    printf(“%d,%d,%d\n”,a,b,c)
    a+=b+=++c;
    printf(“%d,%d,%d\n”,a,b,c);
    printf(“%d,%d,%d\n”,a++,——b,++c);
    printf(“%d,%d,%d\n”,a,b,c); }
    三、程序填空:(根據(jù)題意,將空缺的語(yǔ)句補(bǔ)上。)
    1.下列程序的功能是計(jì)算圓的面積,將程序補(bǔ)充完整。
    #define PI = 3.14159
    main()
    { float r,s;
    printf(“Enter a number r:”);
    ________
    s=PI*r*r
    _________; }
    2.該程序完成的功能是求1+2+3+…+10的累加和,并進(jìn)行累加和的輸出打印。變量sum是存放累加值的。
    #include “stdio.h”
    main()
    { ____
    i=1,sum=0;
    for(; i<=10;)
    { sum+=i;
    ______ }
    printf(“%d\n”,sum);}
    四、改錯(cuò)
    求Fibonacci數(shù)列40個(gè)數(shù)。這個(gè)數(shù)列有如下特點(diǎn):第1,2 兩個(gè)數(shù)為1,1.從第3個(gè)數(shù)開(kāi)始,該數(shù)是其前面兩個(gè)數(shù)之和。即:
    F1=1 (n=1) F2=1 (n=2) Fn=Fn-1+Fn-2 (n≥3)
    程序如下,請(qǐng)改正:
    main()
    { long int f1,f2
    int i;
    f1=f2=1;
    for (i=1, i<=20 , i- -);
    { printf(“%12ld %12ld”,f1,f2);
    if (i%4=0) printf(“\n”);
    f1=f1+f2
    f2=f2+f1; } }
    五、編程
    1.給定一個(gè)正整數(shù),判斷它是否能同時(shí)被3、5、7整除。
    2.計(jì)算分段函數(shù):
    3.從鍵盤錄入10個(gè)數(shù)到數(shù)組A,請(qǐng)將它們進(jìn)行由小到大的排序(方法不限)。