2004年4月浙江高等教育自學(xué)考試高級語言程序設(shè)計(一)試題

字號:

一、判斷題(判斷下列各題,正確的在題后括號內(nèi)打“√”,錯的打“×”。每小題1分,共10分)
    1.C語言源程序是可以用來直接運行的程序。( )
    2.C語言中以%x開頭的數(shù)是十六進制整數(shù)。( )
    3.C程序中的變量,必須先定義(聲明),才能使用。( )
    4.在C程序中,9ab是非法的用戶標(biāo)識符。( )
    5.C語句必須用一個分號作為結(jié)束。( )
    6.do _while語句構(gòu)成的循環(huán)不能用break語句退出。( )
    7.scanf函數(shù)是C語言的標(biāo)準輸入函數(shù)。( )
    8.C程序的main函數(shù)不能有參數(shù)。( )
    9.在函數(shù)內(nèi)部定義的變量稱為局部變量。( )
    10.用# include包含的頭文件的后綴必須是。h.( )
    二、單項選擇題(在每小題的四個備選答案中,選出一個正確答案,并將正確答案的序號填在題干的括號內(nèi)。每小題1分,共20分)
    1.C語言程序的三種基本結(jié)構(gòu)是( )結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。
    A.順序 B.遞歸
    C.轉(zhuǎn)移 D.嵌套
    2.以下選項中正確的實型常量是( )。
    A. 0 B. -10
    C. 0.19 D. 1.9×102
    3.在C語言程序中,用關(guān)鍵字( )定義長整型變量。
    A. long B. float
    C. double D. char
    4.十進制數(shù)8的八進制數(shù)是( )。
    A. 11 B. 010
    C. 8 D. 08
    5.( )不是合法的C語句。
    A. {int j;j++;} B. {int j;j++;;}
    C. {int j;;j++;} D. {float j=0;j++;}
    6.若變量a,b已正確定義并賦值,符合C語言語法的表達式是( )。
    A. a=b=a+1 B. a≤b
    C. a≥b D. a≠b
    7.對以下的scanf語句,正確的輸入方式是( )。
    int k1,k2,k3,k4;
    scanf(″%d%d%d%d″,
    A. 1020 30,40 B. 10 20 30 40
    C. 10,20 3040 D. 10 20 30,40
    8.表達式!x等效于( )。
    A. x==1 B. x==0
    C. x!=1 D. x!=0
    9.要定義字符型變量a并賦初值,( )是正確的。
    A. char a=‘3’; B. char a=“3”;
    C. char a=%; D. char a=*;
    10.以下函數(shù)調(diào)用語句中,含有的實參個數(shù)是( )。
    calc(exp1,(exp3,exp4,exp5));
    A. 1 B. 2
    C. 3 D. 4
    11.下列語句定義整型指針p1、p2,( )是正確的。
    A.int p1,p2; B. int *p1,*p2;
    C. int *p1,p2; D. int**p1,p2;
    12.若變量已正確定義并且指針p已經(jīng)指向變量x,則*
    A. x B. p
    C. D.
    13.數(shù)組定義為“int a[4];”,表達式( )是錯誤的。
    A. *a B. a[0]
    C. a D. a++
    14.數(shù)組定義為int a[2][3]={1,2,3,4,5,6},數(shù)組元素( )的值為1.
    A. a[1][2] B. a[1][1]
    C. a[2][3] D. a[0][0]
    15.表達式strlen(“hello”)的值是( )。
    A. 4 B. 5
    C. 6 D. 7
    16.要調(diào)用字符串函數(shù)時,在# include命令行中應(yīng)包含( )。
    A.“stdio.h” B.“string.h”
    C.“math.h” D.“ctype.h”
    17.若變量已正確定義且k的值是4,計算表達式(j=k++)后,( )是正確的。
    A. j=4,k=5 B. j=4,k=4
    C. j=5,k=4 D. j=5,k=5
    18.C語言中運算對象必須是整型的運算符是( )。
    A. % B. /
    C. ! D. **
    19.若有char fname[]=″infile.dat″;,則為讀而打開文本文件infile.dat的正確寫法是( )。
    A. fopen(infile.dat,″r″)
    B. fopen(″infile.dat″,″r″)
    C. fopen(fname,″r″)
    D. fopen(″fname″,″r″)
    20.下列運算符中,優(yōu)先級從高到低依次為( )。
    A. B. ||,
    C. D. !,
    三、填空題(每小題2分,共20分)
    1.表達式(4/5*(float)3+(float)3*4/5)的值為______.
    2.下列程序段的輸出結(jié)果是______.
    # include
    printf(″%d″,NULL);
    3.表達式((4|1)
    4.下列程序段的輸出結(jié)果是______.
    # define M(x,y) (x*y)
    printf(″%d″,M(2,3+4));
    5.下列程序段的輸出結(jié)果是______.
    char c=‘a(chǎn)’;int k=4;
    switch(c){
    case ‘a(chǎn)’: k=1;
    case ‘b’: k=2;
    case ‘c’: k=3;
    }
    printf(″%d″,k);
    6.下列程序段的輸出結(jié)果是______.
    int k=10;
    if (k=0);
    7.下列程序段的輸出結(jié)果是______.
    int x=3;
    if (x=5) x++;
    printf(″%d\n″,x);
    8.以下程序段的輸出結(jié)果是______.
    int k,sum=0;
    for(k=5;k
    main()
    { int k;
    for (k=4;k>=1;k-)fun();
    }
    fun()
    { static int m=0;
    m++;
    printf(“%d#”,m);
    }
    3.以下程序的輸出結(jié)果是______.
    # include
    int c;
    func(int *a,int b)
    { c=(*a)*b; *a=b-1;b++;
    return(*a+b+1);
    }
    main()
    { int a=4,b=2,p=0;
    p=func(
    printf(″%d,%d,%d,%d#″,a,b,c,p);
    }
    4.若輸入afds2008b3c,則以下程序的輸出結(jié)果是______.
    # include
    void main()
    {
    int n;
    char ch;
    do{
    ch=getchar();
    }while(ch′7′);
    n=0;
    do{
    n++;
    ch=getchar();
    }while(ch>=′0′num)%2==0) k+=pp->num;
    pp=pp->next;
    }
    return(k);
    }
    五、程序填空題(閱讀程序,在______處填入適當(dāng)?shù)膬?nèi)容,使程序變得完整,第1小題6分,第2小題4分,共10分)
    1.讀入n(n
    void main()
    { ______;
    char ch;int count=0;
    if((fp=fopen(″data.txt″,″r″))==NULL){
    printf(″不能打開文件data.txt?。躰″);
    exit(0);
    }
    while((ch=______(fp))!=EOF)
    if(ch=‘0’)count++;
    printf(″%d″,count);
    fclose(fp);
    }
    六、編程題(每小題10分,共20分)
    1.sum=1+3+5+7+9+……,輸入正整數(shù)n,求sum的前n項和。
    2. 輸入一個正整數(shù)m,如果m是素數(shù),輸出“Yes”,否則,輸出“No”。要求定義并調(diào)用函數(shù)isprime(x)來判斷x是否為素數(shù)(素數(shù):除了1和此數(shù) 本身之外,不能被其它整數(shù)整除的自然數(shù),1不是素數(shù),2是素數(shù)),在下面空出的位置完成程序,不能定義新的變量,可不用已定義的某些變量。
    # include
    # include
    void main()
    {
    int m;
    }
    int isprime(int x)
    {
    int i,m;
    }