2015年計(jì)算機(jī)二級(jí)《C語言》考試上機(jī)測(cè)試選擇題

字號(hào):


    一、選擇題(每小題1分,共40小題,共40分)
    1.算法的空間復(fù)雜度是指( )。
    A.算法程序的長(zhǎng)度
    B.算法程序中=的指令條數(shù)
    C.算法程序所占的存儲(chǔ)空間
    D.算法執(zhí)行過程中所需要的存儲(chǔ)空間
    2.下列敘述中正確的是( )。
    A.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)只能有一種存儲(chǔ)結(jié)構(gòu)
    B.邏輯結(jié)構(gòu)屬于線性結(jié)構(gòu),存儲(chǔ)結(jié)構(gòu)屬于非線性結(jié)構(gòu)
    C.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存儲(chǔ)結(jié)構(gòu)不影響數(shù)據(jù)處理的效率
    D.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存儲(chǔ)結(jié)構(gòu)影響數(shù)據(jù)處理的效率
    3.簡(jiǎn)單的交換排序方法是( )。
    A.快速排序
    B.選擇排序
    C.堆排序
    D.冒泡排序
    4.關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)原則和方法的描述錯(cuò)誤的是( )。
    A.選用的結(jié)構(gòu)只準(zhǔn)許有一個(gè)入口和一個(gè)出口
    B.復(fù)雜結(jié)構(gòu)應(yīng)該用嵌套的基本控制結(jié)構(gòu)進(jìn)行組合嵌套來實(shí)現(xiàn)
    C.不允許使用GOT0語句
    D.語言中若沒有控制結(jié)構(gòu),應(yīng)該采用前后一致的方法來模擬
    5.相對(duì)于數(shù)據(jù)庫(kù)系統(tǒng),文件系統(tǒng)的主要缺陷有數(shù)據(jù)關(guān)聯(lián)差、數(shù)據(jù)不一致性和( )。
    A.可重用性差
    B.安全性差
    C.非持久性
    D.冗余性
    6.面向?qū)ο蟮脑O(shè)計(jì)方法與傳統(tǒng)的面向過程的方法有本質(zhì)不同,它的基本原理是( )。
    A.模擬現(xiàn)實(shí)世界中不同事物之間的聯(lián)系
    B.強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的算法而不強(qiáng)調(diào)概念
    C.使用現(xiàn)實(shí)世界的概念抽象地思考問題從而自然地解決問題
    D.不強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的算法而強(qiáng)調(diào)概念
    7.對(duì)如下二叉樹進(jìn)行后序遍歷的結(jié)果為( )。
    2015年計(jì)算機(jī)二級(jí)《C語言》考試上機(jī)測(cè)試題(1)
    A.ABCDEF
    B.DBEAFC
    C.ABDECF
    D.DEBFCA
    8.軟件設(shè)計(jì)包括軟件的結(jié)構(gòu)、數(shù)據(jù)接口和過程設(shè)計(jì),其中軟件的過程設(shè)計(jì)是指( )。
    A.模塊間的關(guān)系
    B.系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述
    C.軟件層次結(jié)構(gòu)
    D.軟件開發(fā)過程
    9.兩個(gè)或兩個(gè)以上模塊之間關(guān)聯(lián)的緊密程度稱為( )。
    A.耦合度
    B.內(nèi)聚度
    C.復(fù)雜度
    D.數(shù)據(jù)傳輸特性
    10.下列描述錯(cuò)誤的是( )。
    A.繼承分為多重繼承和單繼承
    B.對(duì)象之間的通信靠傳遞消息來實(shí)現(xiàn)
    C.在外面看不到對(duì)象的內(nèi)部特征是基于對(duì)象的“模塊獨(dú)立性好”這個(gè)特征
    D.類是具有共同屬性、共同方法的對(duì)象的集合
    11.數(shù)據(jù)庫(kù)DB、數(shù)據(jù)庫(kù)系統(tǒng)DBS、數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS之間的關(guān)系是( )。
    A.DB包含DBS和DBMS
    B.DBMS包含DB和DBS
    C.DBS包含DB和DBMS
    D.沒有任何關(guān)系
    12.下列合法的聲明語句是( )。
    A.int_abc=50;
    B.double int=3+5e2.5;
    C.long do=1L:
    D.float 3_asd=3e-3;
    13.設(shè)x、Y和z是int型變量,且x=4,y=6,z=8,則下列表達(dá)式中值為0的是( )。
    A.x&&Y
    B.x<=Y
    C.x‖y+z&&y-z
    D.!((x  14.若ch為char型變量,k為int型變量(已知字符a的ASCIl碼是97),則執(zhí)行下列語句后輸出的結(jié)果為( )。
    ch=’b’;
    k=10:
    printf("%X,%o,",ch,ch,k);
    printf("k=%%d\n",k);
    A.因變量類型與格式描述符的類型不匹配,輸出無定值
    B.輸出項(xiàng)與格式描述符個(gè)數(shù)不符,輸出為0值或不定值
    C.62,142,k一%d
    D.62,142,k一%l0
    15.有下列程序: 、
    fun(int X,int y){return(x+y);)
    main()
    { int a=1,b=2,c=3,sum;
    sum=fun((a++,b++,a+b),c++);
    printf("%d\n",sum);
    }
    執(zhí)行后的輸出結(jié)果是( )。
    A.6
    B.7
    C.8
    D.9
    16.假定x和Y為double型,則表達(dá)式x=2,y—x+3/2的值是( )。
    A.3.500000
    B.3
    C.2.000000
    D.3.000000
    17.有如下程序:
    main()
    {int x=1,a=0,b=0;
    switch(x)
    {
    case 0:b++;
    case l:a++;
    case 2:a++;b++;
    )
    printf("a=%d,b=%d\n",a,b);
    )
    該程序的輸出結(jié)果是( )。
    A.a=2,b=1
    B.a=1,b=1
    C.a=1,b=0
    D.a=2,b=2
    18.下列程序的輸出結(jié)果是( )。
    main()
    {int i=1,j=2,k=3;
    if(i++= =1&&(++j= =3= =‖k++= =3))
    printf("%d%d%d\n",i,J,k);
    )
    A.1 2 3
    B.2 3 4
    C.2 2 3
    D.2 3 3
    19.下列程序的輸出結(jié)果是( )。
    #include
    main()
    { int a=0,i;
    for(i=1;i<5;i++)
    { switch(i)
    { case 0:
    case 3:a+=1;
    case l:
    case 2:a+=2;
    default:a+=3;
    )
    printf("%d",i);
    )
    A.19 B.1 C.6 D.8
    20.有以下程序:
    main()
    {int X,i;
    for(i=1;i<=50;i++)
    {x=i;
    if(X%2=O)
    if(x%3=O)
    if(X%7=0) .
    printf("%d,i)";
    )
    )
    輸出結(jié)果是( )。
    A.28
    B.27
    C.42
    D.41
    21.以下程序的輸出結(jié)果是( )。
    main()
    {int a[3][3]={{1,2},{3,4),{5,6}},i,j,s=0;
    for(i=1;i<3;i++)
    for(j=0;j<=i;j++)s+=a[i][j];
    printf("%d\n",s);
    }
    A.18
    B.19
    C.20
    D.21
    22.有下列程序:
    main()
    { int k=5;
    while(--k) printf("%d",k=1);
    printf("/n");
    )
    執(zhí)行后的輸出結(jié)果是( )。
    A.1
    B.2
    C.4
    D.死循環(huán)
    23.若有定義:“int a[2][3];”,則對(duì)a數(shù)組的第i行第J列元素的正確引用為( )。
    A.*(*(a+i)+j)
    B.(a+i)[j]
    C.*(a+i+j)
    D.*(a+i)+j
    24.下列能正確進(jìn)行字符串賦值的是( )。
    A.char s[5]={"ABCDE"};
    B.char s[5]={’A’,’B’,’C’,’D’,’E’}; 、
    C.char*S;S="ABCDE";
    D.char*s;printf("%《",s);
    25.現(xiàn)有以下結(jié)構(gòu)體說明和變量定義,如圖所示,指針P、q、r分別指定一個(gè)鏈表中連續(xù)的3個(gè)結(jié)點(diǎn)。
    2015年計(jì)算機(jī)二級(jí)《C語言》考試上機(jī)測(cè)試題(1)
     struct node
    {har data;
    struct node*next;)*P,*q,*r;
    現(xiàn)要將q和r所指結(jié)點(diǎn)交換前后位置,同時(shí)要保持鏈表的結(jié)構(gòu),下列不能完成此操作的語句是( )。
    A.q-:>next=r->next;p--:>next=r;rm:>next=q;
    B.q-:>next=r;q->next=r->next;r->next=q;
    C.q-:>next=r->next;r->next=q;p->next=r;
    D.q-:>next=q;p->next=r;q->next=r->next;
    26.有下列程序:
    main()
    {int i,j,x=0;
    for(i=0,i<2;i++)
    {x++;
    for(j=0;j<=3;j++)
    {if(j%2)continue;
    x++:
    )
    x++:
    }
    printf("x=%d\n"x);
    }
    程序執(zhí)行后的輸出結(jié)果是( )。
    A.x=4
    B.x=8
    C.x=6
    D.x=12
    27.有下列程序:
    int funl(double a){return a*=a;} 、
    int fun2(double x,double y)
    {double a=0,b=0;
    a=funl(x);b=funl(y);return(int)(a+b);
    )
    main()
    {double w;w=fun2(1.1,2.0),……}
    程序執(zhí)行后變量w中的值是( )。 、
    A.5.21 B.5 C.5.0 D.0.0
    28.有下列程序:
    main()
    {int i,s=0,t[]={1,2,3,4,5,6,7,8,9};
    for(i=0;i<9;i+=2)s+=*(t+i);
    printf("%d\n",s);
    }
    程序執(zhí)行后的輸出結(jié)果是( )。
    A.45
    B.20
    C.25
    D.36
    29.有下列程序:
    int fun(int n)
    {if(n= =1))return l;
    else
    return(n+fun(n-1)):
    }
    main()
    { int x;
    seanf("%d",&x);x=fun(x);printf("%d\n",x);
    }
    執(zhí)行程序時(shí),給變量x輸入l0,程序的輸出結(jié)果是( )。
    A.55
    B.54
    C.65
    D.45
    30.有下列程序:
    int fun(int x[],int n)
    { static int sum=0,i;
    for(i=0;i   return sum;
    }
    main()
    {int a[3]={1,2,3,4,5),b[3]={6,7,8,9),s=0;
    s=fun(a,5)+fun(b,4);printf("%d\n",s);
    程序執(zhí)行后的輸出結(jié)果是( )。 、
    A.45
    B.50
    C.60
    D.55
    31.有下列程序:
    main()
    f char*P[]={"3697","2584");
    int i,j;long num=0;
    for(i=0;i<2;i++)
    {j=0;
    while(p[i][j]!=’\0’)
    {if((p[i][j]-t\0’)%2)num=10*num+p[j][j]-’0’;
    j+=2;
    )
    )
    printf("%d\n",num);
    )
    程序執(zhí)行后的輸出結(jié)果是( )。
    A.35 B.37 C.39 D.3975
    32.以下程序的輸出結(jié)果是( )。
    main()
    { char st[20]="hell0\O\t\\\”;
    printf("%d%d\n",strlen(st),sizeof(st));
    }
    A.9 9
    B.5 20
    C.13 20
    D.20 20
    33.若有下的定義:"int t[3][2];",能正確表示t數(shù)組元素地址的表達(dá)式是( )。
    A.&t[3][2]
    B.t[3]
    C.t[l]
    D.t[2][2]
    34.函數(shù)fseek(pf,OL,SEEK_END)中的SEEK_END代表的起始點(diǎn)是( )。
    A.文件開始
    B.文件末尾
    C.文件當(dāng)前位置
    D.以上都不對(duì)
    35.下述程序的輸出結(jié)果是( )。
    #include
    main()
    {int i;
    for(i=1;i<=10;i++)
    {if(i*i>=20)&&(i*i<=lOO))
    break;
    }
    printf("%d\n",i*i);
    )
    A.49
    B.36
    C.25
    D.64
    36.若有定義“int b[8],*p=b;”,則p+6表示( )。
    A.數(shù)組元素b[6]的值
    B.數(shù)組元素b[6]的地址
    C.數(shù)組元素b[7]的地址
    D.數(shù)組元素b[0]的值加上6
    37.設(shè)變量已正確定義,則以下能正確計(jì)算f=n!的程序是( )。
    A.f=0; for(i=1;i<=n;i++)f*=i;
    B.f=1;for(i=1;i  C.f=1;for(i=n;i>1;i++)f*=i;
    D.f=1;for(i=n;i>=2;i--)f*=i;
    38.下述程序執(zhí)行的輸出結(jié)果是( )。
    #include
    main()
    {char a[2][4]; ,
    strcpy(a。"are");strcpy(a[1],"you");
    a[o][3]=’&’;
    printf("%s\n",a);
    )
    A.are&you
    B.you
    C.are
    D.&
    39.設(shè)x=011050,則x=x&01252的值是( )。
    A.0000001000101000
    B.1111110100011001
    C.0000001011100010
    D.1100000000101000
    40.在“文件包含,,預(yù)處理語句的使用形式中,當(dāng)#include后面的文件名用(雙引號(hào))括時(shí),尋找被包含文件的方式是( )。
    A.直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄
    B.先在源程序所在的目錄搜索,如沒找到,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索
    C.僅僅搜索源程序所在目錄
    D.僅僅搜索當(dāng)前目錄