2012年9月計算機等考二級C語言模擬試題及答案五

字號:

一、填空
    1.實型變量的類型說明符有:__________、____________。
    2.表達式7+8>2 && 25 %5的結(jié)果是_______________________。
    3.下列程序段是從鍵盤輸入的字符中統(tǒng)計數(shù)字字符的個數(shù),用換行符結(jié)束循環(huán)。
    Int n=0, ch;
    Ch=getchar( );
    While( __________________ ) ) ) )
    { if ( ________________ ) n++;
    4.putchar(c ) 函數(shù)的功能是是是_____________________________________。
    5int *p 的含義是是是是___________________________________________。
    6.C語言中數(shù)組的下標(biāo)下限為___________________________。
    7.定義fp為文件型指針變量的定義方法為_______________________。
    8.數(shù)組 int a[3][4];共定義了____________個數(shù)組元素。
    二、單項選擇題
    1、下列屬于整型常量的是________。
    A、12
    B、12.0
    C、-12.0
    D、10E10
    2、不屬于字符型常量的是_________。
    A.‘A’
    B、'a'
    C、“A”
    D、'b'
    3、下列表達式為關(guān)系表達式的為_________。(其中a為一整型變量)
    A.3+4*5
    B、a==10
    C、a>0?a:-a
    D、a=1
    4、下面不正確的賦值語句是_____________。
    A.a=a+1
    B、a= =b
    C、a+=b
    D、a=1
    5、下列對數(shù)組定義不正確的語句是______________。
    A.int m[5];
    B、char b[]={‘h’,’e’};
    C、int a[10]={1,6,8,4};
    D、char p[];
    6、若有以下定義,則______和______是對數(shù)組元素的正確引用。
    int a[5],*p=a
    A. *&a[6]
    B、*p+8
    C、*(a+2)
    D、*p
    7、執(zhí)行下列語句后,a的值是______。
    int a=8;
    a+=a-=a*a;
    A.-240
    B、64
    C、112
    D、-112
    8. 指出下面正確的輸入語句( )。
    A. scanf(“a=b=%d”,&a,&b) ;
    B. scanf(“%d,%d”,&a,&b) ;
    C. scanf(“%c”,c) ;
    D. scanf(“%f\n”,&f) ;
    9.下面的變量說明中正確的是____________。
    A.int:a, b, c;
    B.int a; b; c;
    C.int a, b, c
    D.int a, b, c;
    10. C語言用( )表示邏輯“真”值。
    A.True
    B. t 或 y
    C. 非零整型值
    D. 整型值0 11.若x=5,y=4 則y*=x+5; y的值為( ).
    A. 40
    B. 20
    C. 15
    D. 30
    13.C語言中以追加方式打開一個文件應(yīng)選擇_______________參數(shù)。
    A.“r”
    B.“w”
    C.“rb”
    D.“a”
    14.Break語句的正確的用法是( )。
    A. 無論在任何情況下,都中斷程序的執(zhí)行,退出到系統(tǒng)下一層。
    B. 在多重循環(huán)中,只能退出最靠近的那一層循環(huán)語句。
    C. 跳出多重循環(huán)。
    D. 只能修改控制變量。
    15.兩個指針變量的值相等時,表明兩個指針變量是________________。
    A. 占據(jù)同一內(nèi)存單元。
    B. 指向同一內(nèi)存單元地址或者都為空。
    C. 是兩個空指針。
    D. 都沒有指向。
    16.字符串指針變量中存入的是________________。
    A.字符串的首地址。
    B. 字符串
    C.第一個字符
    D. 字符串變量。
    17.以_______________個是不正確的描述。
    A. 不論在主函數(shù)還是自定義函數(shù)中,只要說明了變量,就可為其分配存貯單元。
    B. 在定義函數(shù)時,必須指定形參的類型。
    C. 形參和實參之間可以是值傳遞。
    D. 數(shù)組名可以作為參數(shù)進行傳遞。
    18 表達式“1?(0?3:2):(10?1:0)”的值為_____________________。
    A.3
    B. 2
    C. 1
    D. 0
    19. 為表示關(guān)系x≥y≥z,應(yīng)使用C語言表達式
    A.(x>=y)&&(y>=z)
    B. (x>=y) AND (y>=z)
    C.(x>=y>=z)
    D. (x>=z)&(y>=z)
    20. 以下說法中正確的是_______________。
    A. C語言程序總是從第一個定義的函數(shù)開始執(zhí)行。
    B. 在C語言程序中,要調(diào)用的函數(shù)必須有main( ) 函數(shù)中定義。
    C. C語言程序總是從main( ) 函數(shù)開始執(zhí)行。
    D. C語言程序中的main( ) 函數(shù)必須放在程序的開始部分。
    21.設(shè)有數(shù)組定義:char array[]=”China”;則數(shù)組所占的存貯空間為__________。
    A.4個字節(jié)
    B. 5個字節(jié)
    C. 6個字節(jié)
    D. 7個字節(jié)
    22.根據(jù)C語言的語法規(guī)則,下列________個是不合法標(biāo)識符。
    A.While
    B. Name
    C. Rern5
    D. _exam
    三、讀出下列程序,寫出程序的運行結(jié)果。
    1. main()
    { int a=8 , b=1;
    a=a+b;
    b=a*b;
    printf("a=%d,b=%d",a,b); }
    該程序的運行結(jié)果是___________________________________。
    2. main()
    { int i,num[5];
    for(i=0;i<5;i++)
    num[i]=i*10 - 2;
    printf("%d",num[3]); }
    該程序的運行結(jié)果是___________________________________。
    3. main()
    { float c,f;
    c=30.0;
    f=(6*c)/5+32;
    printf("f=%f",f); }
    該程序的運行結(jié)果是___________________________________。
    4. main()
    { int a=6095 , b ;
    b=a00 ;
    printf("%d", b) ; }
    該程序的運行結(jié)果是___________________________________。
    5. # include “stdio.h”
    main( )
    { int a[]={8,2,9,4,1}, *p;
    p=a;
    *(p+2)+=2;
    printf(“%d, %d ”, *p, *(p+2));}
    該程序的運行結(jié)果是___________________________________?!∷?、將下列程序中不正確的語句改正。
    1. main( )
    { int k ;
    k=35555 ;
    printf ( “%d “, k) ; }
    2. main ( )
    { int a , b ;
    scanf ( “input a ,b:”,a , b );
    printf (“a=%d, b=%d”,a,b); }
    3. main( )
    { int sum , k ;
    sum=0 ;
    k= 1 ;
    while (k < =100 )
    sum = sum+k ;
    k + + ;
    p rintf (“ sum=%d\n”, sum) ; }
    4. main( )
    { int k , a( 8 ) ;
    for( k=0; k<10 ; k++)
    scanf(“%d”, &a(k));
    ...... }
    5. main( )
    scanf(“%d”, a);
    if (a = 1)
    printf(“One\n”) ; }
    五.編程題
    1. 用程序計算下列表達式:s=1!+2!+3!+4!
    2、從鍵盤上輸入三個數(shù),求出其中的一個數(shù)。
    3. 輸入兩個整數(shù),調(diào)用函數(shù)stu( )求兩個數(shù)差的平方,返回主函數(shù)顯示結(jié)果。。
    4.從鍵盤上輸入10個評委的分?jǐn)?shù),去掉一個分,去掉一個最低分,求出其余8個人的平均分,輸出平均分,分,最低分。
    5.write.txt中,遇到回車鍵輸入結(jié)束。。(用“\n”表示回車鍵) 參考答案
    一、填空
    1.float double
    2. 0
    3.ch!=‘\0’ (ch>=‘a(chǎn)’ && ch<=‘z’) || (ch>=‘A’ && ch<=‘Z’)
    4.將字符c所包含的值輸出到標(biāo)準(zhǔn)的輸出設(shè)備上。
    5.定義一個整型的指針變量p
    6.0
    7.FILE *fp
    8. 12
    二、單項選擇題
    1、 A 2、 C 3、 B 4、 B 5、 D 6、C D 7、 D
    8、 B 9、 D 10、 C 11、 A. 13、 D 14、B
    15、 A. 16、 A 17、 A. 18、 B 19、 A 20、 C 21、C 22、A
    三、讀出下列程序,寫出程序的運行結(jié)果。
    1. a=9,b=9 2. 28 3. f=68 4. 95 5. 8,11