日日摸夜夜精品蜜臀AV一区二区_亚洲一区AV春药高潮_欧美双渗透金发美女精品视频在线_国产成人AV十八在线观_国产片婬乱18一级毛片动

江蘇省高校計(jì)算機(jī)等級考試命題研究院 江蘇省高校計(jì)算機(jī)等級考試輔導(dǎo)
2012年3月全國計(jì)算機(jī)二級C考試筆試真題

20123月全國計(jì)算機(jī)等級考試二級筆試試卷

 C語言程序設(shè)計(jì)

 (考試時(shí)間90分鐘,滿分100)

一、選擇題((1)(10)、(21)(40)每題2,(11)(20)每題1分,共70)

下列各題A)B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的。請將正確選項(xiàng)填涂在答題卡相應(yīng)位置上,答在試卷上不得分。

(1)下列敘述中正確的是

    A)循環(huán)隊(duì)列是隊(duì)列的一種順序存儲結(jié)構(gòu)          B)循環(huán)隊(duì)列是隊(duì)列的一種鏈?zhǔn)酱鎯Y(jié)構(gòu)

    C)循環(huán)隊(duì)列是非線性結(jié)構(gòu)                      D)循環(huán)隊(duì)列是一種邏輯結(jié)構(gòu)

 

(2)下列敘述中正確的是

    A)棧是一種先進(jìn)先出的線性表                  B)隊(duì)列是一種后進(jìn)先出的線性表

    C)棧與隊(duì)列都是非線性結(jié)構(gòu)                    D)以上三種說法都不對

 

(3)一棵二叉樹共有25個(gè)結(jié)點(diǎn),其中5個(gè)是葉子結(jié)點(diǎn),則度為1的結(jié)點(diǎn)數(shù)為

    A)4                 B)6                     C)10                D)16

 

(4)在下列模式中,能夠給出數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法的是

    A) 內(nèi)模式           B)外模式                C) 概念模式         D)邏輯模式

 

(5)在滿足實(shí)體完整性約束的條件下

    A)一個(gè)關(guān)系中可以沒有候選關(guān)鍵字              B)一個(gè)關(guān)系中只能有一個(gè)候選關(guān)鍵字

    C)一個(gè)關(guān)系中必須有多個(gè)候選關(guān)鍵字            D)一個(gè)關(guān)系中應(yīng)該有一個(gè)或多個(gè)候選關(guān)鍵字

 

(6)有三個(gè)關(guān)系R、ST如下:

 

R

 

 

 

S

 

 

 

T

 

A

B

C

 

A

B

C

 

A

B

C

a

1

2

 

a

1

2

 

b

2

1

b

2

1

 

d

2

1

 

c

3

1

c

3

1

 

 

 

 

 

 

 

 

      則由關(guān)系RS得到關(guān)系T的操作是

    A)自然連接          B)                    C)                D)

 

(7)軟件生命周期的活動中不包括

    A)軟件維護(hù)          B)需求分析              C)市場調(diào)研          D)軟件測試

 

(8)下面不屬于需求分析階段任務(wù)的是

    A)確定軟件系統(tǒng)的性能需求                    B)確定軟件系統(tǒng)的功能需求

    C)指定軟件集成測試計(jì)劃                      D)需求規(guī)格說明書評審

 

(9)在黑盒測試方法中,設(shè)計(jì)測試用例的主要根據(jù)是

    A)程序外部功能      B)程序數(shù)據(jù)結(jié)構(gòu)         C)程序流程圖        D)程序內(nèi)部結(jié)構(gòu)

 

(10)在軟件設(shè)計(jì)中不使用的工具是

    A)系統(tǒng)結(jié)構(gòu)圖              B)程序流程圖                 C)PAD                     D)數(shù)據(jù)流圖(DFD)

 

(11)針對簡單程序設(shè)計(jì),以下敘述的實(shí)施步驟順序正確的是

    A)確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試、整理文檔  B)編碼、確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、整理文檔

    C)整理文檔、確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試  D)確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、編碼、整理文檔

 

(12)關(guān)于C語言中數(shù)的表示,以下敘述中正確的是

    A)只有整型數(shù)在允許范圍內(nèi)能精確無誤的表示,實(shí)型數(shù)會有誤差

    B)只要在允許范圍內(nèi)整型數(shù)和實(shí)型數(shù)都能精確的表示

    C)只有實(shí)型數(shù)在允許范圍內(nèi)能精確無誤的表示,整型數(shù)會有誤差

    D)只有用八進(jìn)制表示的數(shù)才不會有誤差

 

(13)以下關(guān)于算法的敘述中錯(cuò)誤的是

    A)算法可以用偽代碼、流程圖等多種形式來描述

    B)一個(gè)正確的算法必須有輸入

    C)一個(gè)正確的算法必須有輸出

    D)用流程圖描述的算法可以用任何一種計(jì)算機(jī)高級語言編寫成程序代碼

 

(14)以下敘述中錯(cuò)誤的是

    A)一個(gè)C程序中可以包含多個(gè)不同名的函數(shù)

    B)一個(gè)C程序只能有一個(gè)主函數(shù)

    C)C程序在書寫時(shí),有嚴(yán)格的縮進(jìn)要求,否則不能編譯通過

    D)C程序中主函數(shù)必須用main作為函數(shù)名

 

(15)設(shè)有以下語句

    char  ch1, ch2;  scanf("%c%c",&ch1,&ch2);

    若要為變量ch1ch2分別輸入字符AB,正確的輸入形式應(yīng)該是

    A)AB之間用逗號間隔                       B)AB之間不能有任何間隔符

    C)AB之間可以用回車間隔                   D)AB之間用空格間隔

 

(16)以下選項(xiàng)中非法的字符常量是

    A)'\101'            B)'\65'                C)'\xff'            D)'\019'

 

(17)有以下程序

   # include  <stdio.h>

   main( )

   {  int  a=0, b=0, c=0;

      c=(a-=a-5); (a=b,b+=4);

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

   }

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

    A)0,4,5             B)4,4,5                 C)4,4,4             D)0,0,0

 

(18)設(shè)變量均已正確定義并賦值,以下與其他三組輸出結(jié)果不同的一組語句是

    A)x++; printf("%d\n",x);                        B)n=++x; printf("%d\n",n);

    C)++x; printf("%d\n",x);                        D)n=x++; printf("%d\n",n);

 

(19)以下選項(xiàng)中,能表示邏輯值“假”的是

    A)1                 B)0.000001              C)0                 D)100.0

 

(20)有以下程序

   # include  <stdio.h>

   main( )

   {  int  a;

      scanf("%d",&a);

      if(a++<9) printf("%d\n",a);

      else      printf("%d\n",a--);

   }

   程序運(yùn)行時(shí)從鍵盤輸入9<回車>,則輸出結(jié)果是

    A)10                B)11                    C)9                 D)8

 

(20)有以下程序

   # include  <stdio.h>

   main( )

   {  int  a;

      scanf("%d",&a);

      if( a++<9 ) printf( "%d\n",a );

      else        prinft( "%d\n",a-- );

   }

   程序運(yùn)行時(shí)從鍵盤輸入9<回車>,則輸出結(jié)果是

   A)10                 B)11                   C)9                 D)8

 

(21)有以下程序

   # include  <stdio.h>

   main( )

   {  int  s=0, n;

      for( n=0; n<3; n++ )

      {  switch(s)

         {   case  0:

             case  1:  s+=1;

             case  2:  s+=2;  break;

             case  3:  s+=3;

             default:  s+=4;

         }

         printf("%d,",s);

       }

    }

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

    A)1,2,4,            B)1,3,6,                C)3,10,14,         D)3,6,10,

 

(22)kint類型變量,且有以下for語句

      for (k=-1; k<0; k++ )  printf("****\n");

   下面關(guān)于語句執(zhí)行情況的敘述中正確的是

    A)循環(huán)體執(zhí)行一次               B)循環(huán)體執(zhí)行兩次

    C)循環(huán)體一次也不執(zhí)行           D)構(gòu)成無限循環(huán)

 

(23)有以下程序

   # include  <stdio.h>

   main( )

   {  char  a,b,c;

      b='1';   c='A';

      for (a=0; a<6; a++)

      {   if(a%2)  putchar(b+a);

          else     putchar(c+a);

      }

   }

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

   A)1B3D5F             B)ABCDEF                C)A2C4E6             D)123456

 

(24)設(shè)有如下定義語句

  int  m={2,4,6,8,10}, *k=m;

  以下選項(xiàng)中,表達(dá)式的值為6的是

  A)*(k+2)          B)k+2                       C)*k+2              D)*k+=2

 

(25)fun函數(shù)的功能是:通過鍵盤輸入給x所指的整型數(shù)組所有元素賦值。在下劃線處應(yīng)

   填寫的是

   # include  <stdio.h>

   #define    N    5

   void   fun(int  x[N])

   {  int   m;

      for (m=N-1; m>=0; m-- )  scanf( "%d", _____ );

   }

   A)&x[++m]            B)&x[m+1]               C)x+(m++)           D)x+m

 

(26)若有函數(shù)

   void  fun(double  a, int  *n)

   { ...... }

   以下敘述中正確的是

    A)調(diào)用fun函數(shù)時(shí)只有數(shù)組執(zhí)行按值傳送,其他實(shí)參和形參之間執(zhí)行按地址傳送

    B)形參an都是指針變量

    C)形參a是一個(gè)數(shù)組名,n是指針變量

    D)調(diào)用fun函數(shù)時(shí)將把double型實(shí)參數(shù)組元素一一對應(yīng)地傳送給形參a數(shù)組

 

(27)有以下程序

    # include  <stdio.h>

    main( )

    {  int  a,b,k,m,*p1,*p2;

       k=1, m=8;

       p1=&k, p2=&m;

       a=*p1-m;  b=*p1+*p2+6;

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

    }

    編譯時(shí)編譯器提示錯(cuò)誤信息,你認(rèn)為出錯(cuò)的語句是

    A)a=/*p1-m          B)b=*p1+*p2+6;          C)k=1,m=8;          D)p1=&k,p2=&m;

 

(28)以下選項(xiàng)中有語法錯(cuò)誤的是

    A)char  *str[ ] = {"guest"};                B)char  str[ ][10] = {"guest"};

    C)char  *str[3]; str[1]="guest";            D)char  str[3][10]; str[1]="guest";

 

(29)avg函數(shù)的功能是求整型數(shù)組中的前若干個(gè)元素的平均值,設(shè)數(shù)組元素個(gè)數(shù)最多不超過10,則下列函數(shù)說明語句錯(cuò)誤的是

    A)int  avg( int  *a, int  n );              B)int  avg( int  a[10], int n );

    C)int  avg( int  a, int n );                D)int  avg( int  a, int n );

 

(30)有以下程序

    # include  <stdio.h>

    # include  <string.h>

    main( )

    {  printf( "%d\n",strlen("ATS\n012\1")); }

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

    A)3                 B)8                     C)4                 D)9

 

(31)有以下程序

    # include  <stdio.h>

    main( )

    {  char  a[20], b[20], c[20];

       scanf( "%s%s" ,a,b );

       gets(c);

       printf("%s%s%s\n",a,b,c);

    }

    程序運(yùn)行時(shí)從第一列開始輸入:

    This  is  a  cat!<回車>

    則輸出結(jié)果是

    A)Thisisacat!           B)Thisis  a         C)thisis  a  cat!   D)Thisisa  cat!

 

(32)有以下程序

    # include  <stdio.h>

    void  fun( char  c )

    {  if (c>'x')  fun( c-1 );

       printf( "%c%",c);

     }

    main( )

    {  fun('z');  }

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

    A)xyz               B)wxyz                  C)zyxw              D)zyx

 

(33)有以下程序

    # include  <stdio.h>

    void  func( int  n )

    {  int  i;

       for (i=0; i<=n; i++)  printf("*");

       printf("#");

     }

     main( )

     {   func( 3 );   printf("????");   func(4);   printf("\n");   }

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

    A)****#????***#     B)***#????****#         C)**#????*****#     D)****#????*****#

 

(34)有以下程序

    # include  <stdio.h>

    void  fun( int  *s )

    {  static  int  j=0;

       do  {  s[j] = s[j] + s[j+1];  } while( ++j < 2 );

    }

    main( )

    {  int  k,a[10]={1,2,3,4,5};

       for( k=1; k<3; k++)  fun(a);

       for( k=0; k<5; k++)  printf("%d", a[ k ] );

       printf("\n" );

     }

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

    A)12345             B)23445                 C)34756             D)35745

 

(35)有以下程序

    # include  <stdio.h>

    # define  S(x)  (x)*x*2

    main( )

    {  int  k=5,  j=2;

       printf( "%d,", S(k+j));  printf( "%d\n",S((k-j)) );

    }

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

    A)98,18             B)39,11                 C)39,18             D)98,11

 

 

(36)有以下程序

    # include  <stdio.h>

    void  exch( int  t )

    {  t[0] = t[5];  }

    main( )

    {  int  x[10] = {1,2,3,4,6,7,8,9,10},i=0;

       while ( i<=4 ) {  exch( &x[i]); i++;  }

       for (i=0; i<5; i++)  printf("%d ",x[i]);

       printf( "\n" );

    }

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

    A)2 4 6 8 10        B)1 3 5 7 9             C)1 2 3 4 5         D)6 7 8 9 10

 

(37)設(shè)有以下程序段

    struct  MP3

    {  char  name[20];

       char  color;

       float  price;

    } std, *ptr;

    ptr = &std;

    若要引用結(jié)構(gòu)體變量std中的color成員,寫法錯(cuò)誤的是

    A)std.color         B)ptr->color            C)std->color        D)(*ptr).color

 

(38)有以下程序

    # include  <stdio.h>

    struct  stu

    {  int  num;  char  name[10]; int age; };

    void  fun(sruct stu  *p )

    {  printf( "%s\n", p->name ); }

    main( )

    {  struct  stu  x[3]={ {01,"Zhang",20},{02,"Wang",19},{03,"Zhao",18} };

       fun( x+2 );

     }

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

    A)Zhang             B)Zhao                  C)Wang              D)19

 

(39)有以下程序

    # include  <stdio.h>

    main( )

    {  int  a=12,c;

       c = (a<<2)<<1;

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

    }

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

    A)3                 B)50                    C)2                 D)96

 

(40)以下函數(shù)不能用于向文件中寫入數(shù)據(jù)的是

A)ftell           B)fwrite              C)fputc              D)fprintf

 

二、填空題(每空2,30)

請將每空的正確答案寫在答題卡【1】至【15】序號的橫線上,答在試卷上不得分。

(1)在長度為n的順序存儲的線性表中刪除一個(gè)元素,最壞情況下需要移動表中的元素個(gè)數(shù)為    1  

(2)設(shè)循環(huán)隊(duì)列的存儲空間為Q130),初始狀態(tài)為front=rear=30,F(xiàn)經(jīng)過一系列入隊(duì)與退隊(duì)運(yùn)算后,front=16,rear=15,則循環(huán)隊(duì)列中有     2    個(gè)元素。

(3)數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)語言中,負(fù)責(zé)數(shù)據(jù)的增、刪、改和查詢的是   3。

(4)在將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體和聯(lián)系都可以表示成   4  。

(5)常見的軟件工程方法有結(jié)構(gòu)化方法和面向?qū)ο蠓椒,類、繼承以及多態(tài)性等概念屬于   5  。

(6)變量ab已定義為int類型,若要通過scanf("a=%d,b=%d",&a,&b); 語句分別給ab輸入12,則正確的數(shù)據(jù)輸入內(nèi)容是     6    。

 

(7)以下程序的輸出結(jié)果是     7    。

    # include  <stdio.h>

    main( )

    {  int  a=37;

       a+=a%=9;  printf(%d\n,a);

}

 

(8)設(shè)a、b、c都是整型變量,如果a的值為1,b的值為2,則執(zhí)行c=a++||b++; 語句后,變量b的值是  8】 。

 

(9)有以下程序段

    s=1.0;

    for (k=1; k<=n; k++)  s=s+1.0/(k*(k+1));

    printf("%f\n",s);

請?zhí)羁,使以下程序段的功能與上面的程序段完全相同。

    s=1.0;  k=1;

    while (     9     )

    {  s=s+1.0/(k*(k+1));  k=k+1;  }

    printf("%f\n", s);

 

(10)以下程序的輸入結(jié)果是    10     。

    # include  <stdio.h>

    main( )

    {  char  a,b;

       for (a=0; a<20; a+=7) {  b=a%10;  putchar(b+'0');  }

    }

 

(11)以下程序的輸出結(jié)果是    11     

    # include  <stdio.h>

    main( )

    {  char  *ch[4]={"red","green","blue"};

       int  i=0;

       while  ( ch[i] )

       {  putchar(ch[i][0]); i++;  }

    }

 

(12)有以下程序

    # include  <stdio.h>

    main( )

    {  int  arr={1,3,5,7,2,4,6,8}, i, start;

       scanf("%d", &start);

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

           printf("%d", arr[start+i)%8] );

    }

    若在程序運(yùn)行時(shí)輸入整數(shù)10<回車>,則輸出結(jié)果為    12     。

 

(13)以下程序的功能是輸出a數(shù)組中所有字符串,請?zhí)羁铡?/SPAN>

    # include  <stdio.h>

    main( )

    {  char  *a[ ]={"ABC", "DEFGH", "IJ", "KLMNOP" }

       int  i=0;

       for (; i<4; i++)  printf("%s\n",     13      );

    }

 

(14)以下程序的輸出結(jié)果是    14     。

    # include  <stdio.h>

    # include  <stdio.h>

    # include  <string.h>

    main( )

    {  char  *p, *q, *r);

       p = q = r = (char *) malloc(sizeof(char)*20);

       strcpy(p,"attaboy,welcome!");

       printf("%c%c%c\n",p[11],q[3],r[4]);

       free(p);

}

 

(15)設(shè)文件 test.txt中原已已寫入字符串Begin,執(zhí)行以下程序后,文件中的內(nèi)容為    15     。

    # include  <stdio.h>

    main( )

    {  FILE  *fp;

       fp = fopen( "test.txt","w+" );

       fputs("test", ftp );

       fclose(fp);

    }

 

 

20123月全國計(jì)算機(jī)等級考試二級C語言程序設(shè)計(jì)筆試標(biāo)準(zhǔn)答案(花卷貴州版)

一、選擇題(1)ADDAD CBCAD (11)ABBCB DADCA (21)CACAD CADCB (31)CADDC DCBDA

二、填空題(1)n-1 (2)29 (3)數(shù)據(jù)庫操縱語言 (4)關(guān)系 (5)面向?qū)ο蠓椒?SPAN lang=EN-US> (6)a=1,b=2 (7)2 (8)2

(9)k<=n (10)074 (11)rgb (12)572 (13)a[i] (14)cab (15)test