鸭子tv国产极品在线观看_成人69视频在线播放_91精品免费在线观看_亚洲AT永久偷窥无码精品_国产精品自产拍在线观看涩浪潮久

江蘇省高校計算機等級考試命題研究院 江蘇省高校計算機等級考試輔導
2015年3月全國計算機二級C選擇真題第3套

1.下列敘述中正確的是

 

A.程序可以作為算法的一種表達方式

 

B.算法的有窮性是指算法的規(guī)模不能太大

 

C.算法的復雜度用于衡量算法的控制結(jié)構(gòu)

 

D.算法的效率與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)

 

2.某循環(huán)隊列的存儲空間為Q(1:m),初始狀態(tài)為front=rear=m,F(xiàn)經(jīng)過一系列的入隊操作和退隊操作后,front=m-1,rear=m,則該循環(huán)隊列中的元素個數(shù)為

 

 

 

A.m-1

 

B.1

 

C.m

 

D.0

 

3.能從任意一個結(jié)點開始沒有重復地掃描到所有結(jié)點的數(shù)據(jù)結(jié)構(gòu)是

 

A.循環(huán)鏈表

 

B.雙向鏈表

 

C.二叉鏈表

 

D.有序鏈表

 

4. 某棵樹中共有25個結(jié)點,且只有度為3的結(jié)點和葉子結(jié)點,其中葉子結(jié)點有7個,則該樹中度為3的結(jié)點數(shù)為

 

A.不存在這樣的樹

 

B.7

 

C.8

 

D.6

 

5.在最壞情況下,二分查找法的時間復雜度為

 

A.

 

B.

 

C.

 

D.

 

6. 某二叉樹共有730個結(jié)點,其中度為1的結(jié)點有30個,則葉子結(jié)點個數(shù)為

 

 

 

A. 不存在這樣的二叉樹

 

B.351

 

C.1

 

D.350

 

7.軟件開發(fā)中需求分析的主要任務(wù)是

 

A.定義和描述目標系統(tǒng)做什么

 

B.獲取需求

 

C.給出軟件解決方案 

 

D.需求評審

 

8.軟件按功能可以分為應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于系統(tǒng)軟件的是

 

A.學生成績管理系統(tǒng)

 

B.ERP系統(tǒng)

 

C.辦公自動化系統(tǒng)

 

D.UNIX系統(tǒng)

 

9.醫(yī)生可以為病人開不同的藥,而同一種藥也可由不同醫(yī)生開給病人,則實體醫(yī)生和實體藥之間的聯(lián)系是

 

 

 

A.多對多

 

B.一對一

 

C.多對一

 

D.一對多

 

10.學生選課成績表的關(guān)系模式是SC(S#,C#,G),其中S#為學號,C#為課號,G為成績,檢索課號為2且成績及格的學生學號的表達式為

 

A.

 

B.

 

C.

 

D.

 

11. 若想定義int型變量a,b,c,d并都賦值為1,以下寫法中錯誤的是

 

A.int  a=b=c=d=1;

 

B. int  a=1, b=1, c=1, d=1;

 

C.int  a,b,c,d;  a=b=c=d=1; 

 

D.int  a,b,c,d=1;  a=b=c=d;

 

12. 若有定義:char c; double d; 程序運行時輸入: 1 2<回車>,能把字符1輸入給變量c、數(shù)值2輸入給變量d的輸入語句是

 

A.scanf("%d%lf", &c,&d);

 

B.scanf("%c%lf", &c,&d) ;

 

C.scanf("%c%f", &c,&d);

 

D.scanf("%d%f", &c,&d);

 

13.輸出語句printf("%d\n",11+011);的輸出結(jié)果是

 

A.20

 

B.22

 

C.022

 

D.021

 

14.以下敘述正確的是

 

A.有些算法不能用三種基本結(jié)構(gòu)來表達

 

B.C語言程序不編譯也能直接運行

 

C.結(jié)構(gòu)化程序的三種基本結(jié)構(gòu)是循環(huán)結(jié)構(gòu)、選擇結(jié)構(gòu)、順序結(jié)構(gòu)

 

D.如果C語言程序?qū)崿F(xiàn)的算法很簡單,則計算機不進行任何代碼轉(zhuǎn)換就能執(zhí)行程序

 

15.若有定義: double  x;,則表達式:x=0,x+10,x++ 的值是

 

A.11.0

 

B.10.0

 

C.0.0

 

D.1.0

 

16.有以下程序

    #include <stdio.h>

    main()

    {  int   x=1, y=0, a=0, b=0;

       switch ( x )

       {  case 1:

            switch(y)

            {  case 0:  a++;  break;

               case 1:  b++;  break;

            }

          case 2:  a++;  b++;  break;

          case 3:  a++;  b++;

       }

       printf("a=%d, b=%d\n", a, b);

    }

 

 

 

程序的運行結(jié)果是

 

A.a=2,b=2

 

B.a=2,b=1

 

C.a=1,b=1

 

D.a=1,b=0

 

17.以下程序段中的變量已正確定義

    for( i=0; i<4; i++,i++ )

    for( k=1; k<3; k++ ); printf("*" );

 

 

 

該程序段的輸出結(jié)果是

 

A.*

 

B.****

 

C.**

 

D.********

 

18.有以下程序

#include   <stdio.h>

main( )

{  char  c;

   for (;  ( c=getchar()) != '#';  )

   {   if ( c>='a' && c<='z' )  c = c - 'a' + 'A';

       putchar(++c);

   }

}

 

執(zhí)行時輸入:aBcDefG##<回車>, 則輸出結(jié)果是

 

A.AbCdEFg  

 

B.ABCDEFG

 

C.BCDEFGH

 

D.bcdefgh

 

19.有以下程序

    #include <stdio.h>

    int f(int x);

    main()

    { int n=1,m;

      m=f(f(f(n))); printf("%d\n",m);

    }

    int f(int x)

    { return x*2; }

 

 

 

程序運行后的輸出結(jié)果是

 

A.4

 

B.2

 

C.8

 

D.1

 

20.關(guān)于地址和指針,以下敘述正確的是

 

A.可以通過強制類型轉(zhuǎn)換讓char型指針指向double型變量

 

B.函數(shù)指針p指向一個同類型的函數(shù)f時,必須寫成:p = &f;

 

C.指針p指向一個數(shù)組f時,必須寫成:p = &f;

 

D.一個指針變量p可以指向自身

 

21.有以下程序

#include   <stdio.h>

#define   N    4

int  fun( int  a[][N] )

{  int  i,j,x=0;

   for( i=0; i<N; i++ )

      for( j=0; j<N; j++ )

         if ( i == j )

            x += a[N-1-j][i];

   return  x;

}

main( )

{  int  x[N][N]={{ 1,  2,  3,  4},

                 { 5,  6,  7,  8},

                 { 9, 10, 11, 12},

                 {13, 14, 15, 17}}, y;

   y = fun(x);

   printf( "%d\n", y );

}

 

 

程序運行后的輸出結(jié)果是

 

A.34

 

B.35

 

C.28

 

D.59

 

22.有以下程序

#include  <stdio.h>

#define   N   3

void  fun( int  x[][N], int  *r1, int *r2 )

{  int  i, j;

   *r1 = *r2 =0;

   for( i=0; i<N; i++ )

   {  j=N - (i+1);

      if (x[*r1][*r2] < x[i][j]){ *r1 = i; *r2 = j; }

   }

}

main( )

{  int  a[N][N] = { 1,5,7,9,2,6,4,3,8 }, i,j;

   fun( a,&i,&j );

   printf("%d\n", a[i][j]);

 

 

}

 

程序運行后的輸出結(jié)果是

 

A.8

 

B.6

 

C.7

 

D.9

 

23.對于以下函數(shù)聲明

 

 

void  fun(int  array[4], int  *ptr);

 

 

以下敘述中正確的是

 

A.array, ptr 都是指針變量

 

B.調(diào)用fun函數(shù)時,實參的值將逐一復制給array

 

C.調(diào)用fun函數(shù)時array按值傳送,ptr按地址傳送

 

D.array 是數(shù)組,ptr 是指針,它們的性質(zhì)不同

 

24.設(shè)有定義:int  x[10],*p=x,i;,若要為數(shù)組x讀入數(shù)據(jù),以下選項正確的是

 

A.for(i=0;i<10;i++)  scanf("%d",p+i);

 

B.for(i=0;i<10;i++)  scanf("%d",*p+i);

 

C.for(i=0;i<10;i++)  scanf("%d",*(p+i));

 

D.for(i=0;i<10;i++)  scanf("%d",x[i]);

 

25.有以下程序

     #include <stdio.h>

     main()

     {  char  s[]="012xy\08s34f4w2";

        int  i, n=0;

        for ( i=0; s[i]!=0; i++ )

           if(s[i] >= '0' && s[i] <= '9')  n++;

        printf("%d\n",n);

     }

 

 

 

程序運行后的輸出結(jié)果是

 

A.7

 

B.0

 

C.3

 

D.8

 

26.有以下程序段

       char  str[ 4 ][ 12 ]={"aaa","bbb","ccc","ddd" },  *p[4];

       int   i;

       for( i=0; i<4; i++ ) p[i]=str[i];

 

 

以下選項中不能正確引用字符串的是

 

A.*p[3]

 

B.p[3]

 

C.str[2]

 

D.*p

 

27. 有以下程序

#include   <stdio.h>

int mul(int  val)

{  static int init = 1;

   return init *= val;

}

main( )

{  int  i;

   for (i=1; i<=5; i++)

        printf("%d,", mul(i));

}

 

 

程序運行后的輸出結(jié)果是

 

A.1,2,6,24,120,

 

B.1,2,3,4,5,

 

C.1,1,1,1,1,

 

D.1,2,4,6,8,

 

28.有以下程序

#include   <stdio.h>

void fun( int  n )

{  static int  k=0;

   if(n<0){  printf("-");   n=-n;  }

   k+=n%10;     printf("%d,",k);

   if(n/10)  fun(n/10);

}

main( )

{  int  x=-12;

   fun(x);    printf("\n");

 

 

}

 

程序運行后的輸出結(jié)果是

 

A.-2,3

 

B.-1,-2,

 

C.-2,-3,

 

D.-2,1

 

29.有以下程序

     #include <stdio.h>

     struct S{int  n;  int  a[20];  };

     void f(struct S  *p)

     { int  i,j, t;

       for (i=0; i<p->n-1; i++)

         for (j=i+1; j<p->n; j++)

           if (p->a[i] > p->a[j])  {  t= p->a[i];  p->a[i] = p->a[j];  p->a[j] = t;  }

     }  

     main()

     { int  i;   struct S  s={10, {2,3,1,6,8,7,5,4,10,9}};

       f(&s);

       for (i=0; i<s.n; i++) printf("%d,", s.a[i]);

     }

 

 

程序運行后的輸出結(jié)果是

 

A.1,2,3,4,5,6,7,8,9,10,

 

B.10,9,8,7,6,5,4,3,2,1,

 

C. 2,3,1,6,8,7,5,4,10,9,

 

D.10,9,8,7,6,1,2,3,4,5,

 

30.有以下程序

#include   <stdio.h>

typedef  struct  stu {

                       char  name[10];

                       char  gender;

                       int  score;

                     } STU;

void  f( STU  a, STU  *b, STU  c )

{  *b = c =a;

   printf( "%s,%c,%d,", b->name, b->gender, b->score );

   printf( "%s,%c,%d,", c.name, c.gender, c.score );

}

main( )

{  STU  a={"Zhao", 'm', 290}, b={"Qian", 'f', 350}, c={"Sun", 'm', 370};

   f( a, &b, c );

   printf( "%s,%c,%d,", b.name, b.gender, b.score );

   printf( "%s,%c,%d\n", c.name, c.gender, c.score );

 

 

}

 

程序運行后的輸出結(jié)果是

 

A.Zhao,m,290,Zhao,m,290,Zhao,m,290,Sun,m,370

 

B.Zhao,m,290,Zhao,m,290,Zhao,m,290,Zhao,m,290

 

C.Zhao,m,290,Zhao,m,290,Qian,f,350,Sun,m,370

 

D.Zhao,m,290,Zhao,m,290,Qian,f,350,Zhao,m,290

 

31.有以下程序

#include  <stdio.h>

#define   SUB( x,y )    (x)*(y)

main()

{   int   a=3, b=4;

    printf("%d \n", SUB( a++, b++ ) );

 

 

}

 

程序運行后的輸出結(jié)果是

 

A.15

 

B.12

 

C.16

 

D.20

 

32.有以下程序

#include  <stdio.h>

main()

{   struct  cm{ int x;  int y; } a[2]={4,3,2,1 };

    printf("%d \n", a[0].y/a[0].x*a[1].x  );

 

 

}

 

 

程序運行后的輸出結(jié)果是

 

A.1

 

B.4

 

C.0

 

D.3

 

33.以下選項中的編譯預處理命令行,正確的是

 

A.#define    E      2.38

 

B. ##define   PI_2   1.56

 

C. #define    int    INT

 

D.#DEFINE    TRUE

 

34.設(shè)有以下程序段

 

 

struct  book

{

    float price;

    char language;

    char title[20];

} rec, *ptr;

ptr = &rec;

 

 

要求輸入字符串給結(jié)構(gòu)體變量rec的title成員,錯誤的輸入語句是

 

A.scanf("%s", ptr.title);

 

B.scanf("%s", rec.title);

 

C.scanf("%s", (*ptr).title);

 

D.scanf("%s", ptr->title);

 

35.有以下程序

#include   <stdio.h>

#include   <string.h>

struct  computer

{    char  CPU[10];   };

main( )

{

    struct computer  pc1, pc2;

    strcpy(pc1.CPU, "3.2G");

    strcpy(pc2.CPU, "????");

    pc1 = pc2;

    printf("%s\n", pc1.CPU);

 

 

}

 

程序運行后的輸出結(jié)果是

 

A.?

 

B.3.2G

 

C.????

 

D.?.2G

 

36.有以下程序

#include   <stdio.h>

main( )

{

    int  a = 2, b;

    b = (a >>= 1) + 4;

    printf("%d,%d", a, b);

 

 

}

程序運行后的輸出結(jié)果是

 

 

A.1,5

 

B.2,4 

 

C.2,6

 

D.2,5

 

37.若要建立下圖所示的存儲結(jié)構(gòu),以下正確的程序段是(   )。

 

 

 

 

 

 

A.char  **q,*p,c;

        p=&c;  q=&p;

 

B. char  **q,*p,c;

 

 

        p=&c;  q=*p;

 

C.char  *q,*p,c;

 

 

        p=&c;  *q=p;

 

D.char  *q,*p,c;

 

 

        q=p;  p=*c;

 

38.有以下程序

#include  <stdio.h>

struct  tt

{  int x;  struct tt *y;  } s[3]={ 1,0,2,0,3,0};

main( )

{  struct  tt *p=s+1;

   p->y=s;

   printf("%d,",p->x);

   p=p->y;

   printf("%d\n",p->x);

 

 

}

 

程序運行后的輸出結(jié)果是

 

A. 2,3

 

B.2,1

 

C.1,2

 

D.3,1

 

39.有以下程序

#include   <stdio.h>

main( )

{  int  x=3,y=5;

   x=x^y;  y=x^y;  x=x^y;

   printf( "%d,%d\n", x, y );

 

 

}

程序運行后的輸出結(jié)果是

 

 

A.3,5

 

B.5,3

 

C.35,35

 

D.8,8

 

40.有以下程序

#include   <stdio.h>

struct tt

{ int x;  struct tt  *y; } s[2]={ 1,0,2,0};

main( )

{  struct tt  *p=s;

   p->y=s;

   printf("%d",++p->x);

 

 

}

 

程序運行后的輸出結(jié)果是

 

A.2

 

B.0

 

C.1

 

D.3

 

1.A  2.B  3.A  4.A  5.C  6.A  7.A  8.D  9.A  10.A  11.A  12.B  13.A  14.C  15.C  16.B  17.A  18.C  19.C  20.A  21.A  22.C  23.A  24.A  25.C  26.A  27.A  28.A  29.A  30.A  31.B  32.C  33.A  34.A  35.C  36.A  37.A  38.B  39.B  40.A 

 

35