<samp id="uu9tx"></samp>
        <samp id="uu9tx"><tr id="uu9tx"><nav id="uu9tx"></nav></tr></samp>
        <delect id="uu9tx"><legend id="uu9tx"><meter id="uu9tx"></meter></legend></delect>
                <samp id="uu9tx"><tr id="uu9tx"><meter id="uu9tx"></meter></tr></samp><nav id="uu9tx"></nav>
                <samp id="uu9tx"></samp>
                  <samp id="uu9tx"><tr id="uu9tx"><meter id="uu9tx"></meter></tr></samp>
                  江蘇省高校計算機等級考試命題研究院 江蘇省高校計算機等級考試輔導
                  2015年3月全國計算機二級C選擇真題第3套

                  1.下列敘述中正確的是

                   

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

                   

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

                   

                  C.算法的復雜度用于衡量算法的控制結構

                   

                  D.算法的效率與數據的存儲結構無關

                   

                  2.某循環隊列的存儲空間為Q(1:m),初始狀態為front=rear=m,F經過一系列的入隊操作和退隊操作后,front=m-1,rear=m,則該循環隊列中的元素個數為

                   

                   

                   

                  A.m-1

                   

                  B.1

                   

                  C.m

                   

                  D.0

                   

                  3.能從任意一個結點開始沒有重復地掃描到所有結點的數據結構是

                   

                  A.循環鏈表

                   

                  B.雙向鏈表

                   

                  C.二叉鏈表

                   

                  D.有序鏈表

                   

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

                   

                  A.不存在這樣的樹

                   

                  B.7

                   

                  C.8

                   

                  D.6

                   

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

                   

                  A.

                   

                  B.

                   

                  C.

                   

                  D.

                   

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

                   

                   

                   

                  A. 不存在這樣的二叉樹

                   

                  B.351

                   

                  C.1

                   

                  D.350

                   

                  7.軟件開發中需求分析的主要任務是

                   

                  A.定義和描述目標系統做什么

                   

                  B.獲取需求

                   

                  C.給出軟件解決方案 

                   

                  D.需求評審

                   

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

                   

                  A.學生成績管理系統

                   

                  B.ERP系統

                   

                  C.辦公自動化系統

                   

                  D.UNIX系統

                   

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

                   

                   

                   

                  A.多對多

                   

                  B.一對一

                   

                  C.多對一

                   

                  D.一對多

                   

                  10.學生選課成績表的關系模式是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、數值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);的輸出結果是

                   

                  A.20

                   

                  B.22

                   

                  C.022

                   

                  D.021

                   

                  14.以下敘述正確的是

                   

                  A.有些算法不能用三種基本結構來表達

                   

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

                   

                  C.結構化程序的三種基本結構是循環結構、選擇結構、順序結構

                   

                  D.如果C語言程序實現的算法很簡單,則計算機不進行任何代碼轉換就能執行程序

                   

                  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);

                      }

                   

                   

                   

                  程序的運行結果是

                   

                  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("*" );

                   

                   

                   

                  該程序段的輸出結果是

                   

                  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);

                     }

                  }

                   

                  執行時輸入:aBcDefG##<回車>, 則輸出結果是

                   

                  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; }

                   

                   

                   

                  程序運行后的輸出結果是

                   

                  A.4

                   

                  B.2

                   

                  C.8

                   

                  D.1

                   

                  20.關于地址和指針,以下敘述正確的是

                   

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

                   

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

                   

                  C.指針p指向一個數組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 );

                  }

                   

                   

                  程序運行后的輸出結果是

                   

                  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]);

                   

                   

                  }

                   

                  程序運行后的輸出結果是

                   

                  A.8

                   

                  B.6

                   

                  C.7

                   

                  D.9

                   

                  23.對于以下函數聲明

                   

                   

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

                   

                   

                  以下敘述中正確的是

                   

                  A.array, ptr 都是指針變量

                   

                  B.調用fun函數時,實參的值將逐一復制給array

                   

                  C.調用fun函數時,array按值傳送,ptr按地址傳送

                   

                  D.array 是數組,ptr 是指針,它們的性質不同

                   

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

                   

                  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);

                       }

                   

                   

                   

                  程序運行后的輸出結果是

                   

                  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));

                  }

                   

                   

                  程序運行后的輸出結果是

                   

                  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");

                   

                   

                  }

                   

                  程序運行后的輸出結果是

                   

                  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]);

                       }

                   

                   

                  程序運行后的輸出結果是

                   

                  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 );

                   

                   

                  }

                   

                  程序運行后的輸出結果是

                   

                  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++ ) );

                   

                   

                  }

                   

                  程序運行后的輸出結果是

                   

                  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  );

                   

                   

                  }

                   

                   

                  程序運行后的輸出結果是

                   

                  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.設有以下程序段

                   

                   

                  struct  book

                  {

                      float price;

                      char language;

                      char title[20];

                  } rec, *ptr;

                  ptr = &rec;

                   

                   

                  要求輸入字符串給結構體變量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);

                   

                   

                  }

                   

                  程序運行后的輸出結果是

                   

                  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);

                   

                   

                  }

                  程序運行后的輸出結果是

                   

                   

                  A.1,5

                   

                  B.2,4 

                   

                  C.2,6

                   

                  D.2,5

                   

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

                   

                   

                   

                   

                   

                   

                  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);

                   

                   

                  }

                   

                  程序運行后的輸出結果是

                   

                  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 );

                   

                   

                  }

                  程序運行后的輸出結果是

                   

                   

                  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);

                   

                   

                  }

                   

                  程序運行后的輸出結果是

                   

                  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

                  亚洲欧美日韩国产一区二区三区_全亚洲免费一级黄片_国产一区二区三区不卡视频手机版_国产污三级网站在线观看