亚洲国产福利在线一二三观看_精品国产伦一区二区三区欲臀_国产a∨视频精品视频护士_精品八戒人妻少妇av

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

20123月全國計(jì)算機(jī)等級(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)是正確的。請(qǐng)將正確選項(xiàng)填涂在答題卡相應(yīng)位置上,答在試卷上不得分。

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

    A)循環(huán)隊(duì)列是隊(duì)列的一種順序存儲(chǔ)結(jié)構(gòu)          B)循環(huán)隊(duì)列是隊(duì)列的一種鏈?zhǔn)酱鎯?chǔ)結(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)以上三種說法都不對(duì)

 

(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ù)庫物理存儲(chǔ)結(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)軟件生命周期的活動(dòng)中不包括

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

 

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

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

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

 

(9)在黑盒測(cè)試方法中,設(shè)計(jì)測(cè)試用例的主要根據(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)針對(duì)簡(jiǎn)單程序設(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ù)會(huì)有誤差

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

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

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

 

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

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

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

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

    D)用流程圖描述的算法可以用任何一種計(jì)算機(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之間用逗號(hào)間隔                       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ù)組元素一一對(duì)應(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)

請(qǐng)將每空的正確答案寫在答題卡【1】至【15】序號(hào)的橫線上,答在試卷上不得分。

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

(2)設(shè)循環(huán)隊(duì)列的存儲(chǔ)空間為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、bc都是整型變量,如果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);

請(qǐng)?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ù)組中所有字符串,請(qǐng)?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ī)等級(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