<source id="v77gz"></source>
    <u id="v77gz"><p id="v77gz"></p></u>

      <samp id="v77gz"></samp>

      <var id="v77gz"><td id="v77gz"><ins id="v77gz"></ins></td></var>

      <video id="v77gz"></video>
      <source id="v77gz"></source>
    1. 江蘇省高校計算機等級考試命題研究院 江蘇省高校計算機等級考試輔導
      二級C練習試題

      一、選擇題( 1-   10)每小題2 分,(11-     50)每小題1 分,共60 分)

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

            A )程序設計就是編制程序

            B )程序的測試必須由程序員自己去完成

            C)程序經調試改錯后還應進行再測試

            D )程序經調試改錯后不必進行再測試

       2 )下列數據結構中,能用二分法進行查找的是(            )。

            A )順序存儲的有序線性表

            B )線性鏈表

            C)二叉鏈表

            D )有序線性鏈表

       3)下列關于棧的描述正確的是(  )。

            A )在棧中只能插入元素而不能刪除元素

            B )在棧中只能刪除元素而不能插入元素

            C)棧是特殊的線性表,只能在一端插入或刪除元素

            D )棧是特殊的線性表,只能在一端插入元素,而在另一端刪除元素

       4 )下列敘述中正確的是(        )。

            A )一個邏輯數據結構只能有一種存儲結構

            B )數據的邏輯結構屬于線性結構,存儲結構屬于非線性結構

            C)一個邏輯數據結構可以有多種存儲結構,且各種存儲結構不影響數據處理的效率

            D )一個邏輯數據結構可以有多種存儲結構,且各種存儲結構影響數據處理的效率

       5)下列描述中正確的是(         )。

            A )軟件工程只是解決軟件項目的管理問題

            B )軟件工程主要解決軟件產品的生產率問題

            C)軟件工程的主要思想是強調在軟件開發過程中需要應用工程化原則

            D )軟件工程只是解決軟件開發中的技術問題

       6)在軟件設計中,不屬于過程設計工具的是(            )。

            A PDL   (過程設計語言)                      B PAD

            CN-S                                        D DFD

       7)下列敘述中正確的是(         )。

            A )軟件交付使用后還需要再進行維護

            B )軟件工具交付使用就不需要再進行維護

            C)軟件交付使用后其生命周期就結束

            D )軟件維護是指修復程序中被破壞的指令

       8)數據庫設計的根本目標是要解決(           )。

            A )數據共享問題                                B )數據安全問題

            C)大量數據存儲問題                             D )簡化數據維護

      9)設有下列關系表:

       

       

       

       

       

       

      R                               S                                   T

       A       B     C                A       B     C              A       B     C

      1       1     2                3       1     3               1       1      2

      2       2     3                                              2       2      3

                                                                     3       1      3

       

           A T=R S               BT=R S               CT=R ×S             DT=R/S

      10)數據庫系統的核心的是(  )。

           A )數據模型                                       B )數據庫管理系統

           C)數據庫                                          D )數據庫管理員

      11)下列敘述中錯誤的是(           )。

           A )用戶所定義的標識符允許使用關鍵字

           B )用戶所定義的標識符應盡量做到“見名知意”

           C)用戶所定義的標識符必須以字母或下劃線開頭

           D )用戶定義的標識符中、大、小寫字母代表不同標識

      12)下列敘述中錯誤的是(           )。

           A C 語句必須以分號結束

           B )復合語句在語法上被看作一條語句

           C)空語句出現在任何位置都不會影響程序運行

           D )賦值表達式末尾加分號就構成賦值語句

      13)下列敘述中正確的是(           )。

           A )調用printf()函數時,必須要有輸出項

           B )使用putchar()函數時,必須在之前包含頭文件stdio.h

           C)在C 語言中,整數可以以十二進制、八進制或十六進制的形式輸出

           D )調節getchar()函數讀入字符時,可以從鍵盤上輸入字符所對應的ASCII

      14)下列關于函數的敘述中正確的是(  )。

           A )每個函數都可以被其他函數調用(包括main 函數)

           B )每個函數都可以被單獨編譯

           C)每個函數都可以單獨運行

           D )在一個函數內部可以定義另一個函數

      15)若有語句:char *line[5];下列敘述中正確的是(              )。

           A )定義line 是一個數組,每個數組元素是一個基類型為char 的指針變量

           B )定義line 是一個指針變量,該變量可以指向一個長度為5 的字符型數組

           C)定義line 是一個指針數組,語句中的*號稱為間址運算符

           D )定義line 是一個指向字符型函數的指針

      16)有下列程序段:

           typedef struct NODE

            { int num;struct NODE *next;

            }  OLD;

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

           A )以上的說明形式非法                             B NODE 是一個結構體類型

           COLD 是一個結構體類型                            D OLD 是一個結構體變量

      17)下列敘述中錯誤的是(           )。

           A )在C 語言中,對二進制文件的訪問速度比文本文件快

      B )在C 語言中,隨機文件以二進制代碼形式存儲數據

            C)語句FILE fp;定義了一個名為fp 的文件指針

            D C 語言中的文本文件以ASC Ⅱ碼形式存儲數據

      18)當把四個表達式用作if 語句的控制表達式時,有一個選項與其他三個選項含義不同,

            這個選項是(          )。

            A k%2                                             B k%2= =1

            C(k%2) ! =0                    1        1         D!k%2= =1

      19)下列不能正確計算代數式 sin2           )值的C 語言表達式是(              )。

                                            3         2

            A 1/3 *sin(1/2)*sin(1/2)                          Bsin(0.5)*sin(0.5)/3

            Cpow(sin(0.5),2)/3                                D 1/3.0*pow(sin(1.0/2),2)

      20 )下列能正確定義且賦初值的語句是(  )。

            A int nl=n2=10;                                   Bchar c=32;

            Cfloat   f=f+1.1;                                 Ddouble x=12.3E2.5;

      21 )下列程序的功能是:給r 輸入數據后計算半徑為r 的圓面積s。程序在編譯時出錯。

            main( )

            /*  Beginning     */

            { int r; float   s;

                 scanf("%d",&r);

                 s=* π*r*r;

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

            }

            出錯的原因是(         )。

            A )注釋語句書寫位置錯誤

            B )存放圓半徑的變量r 不應該定義為整型

            C)輸出語句中格式描述符非法

            D )計算圓面積的賦值語句中使用了非法變量

      22 )設有定義:int k=1,m=2; float f=7;則下列選項中錯誤的表達式是(                  )。

            A k=k =k                                        B -k+ +

            Ck%int(f)                                         D k =f =m

      23 )設有定義:int a=2,b=3,c=4;,則下列選項中值為0 的表達式是(                  )。

            A ( !a= =1)&&(!b= =0)                            B(ab)&&! c     1

            Ca && b                                           Da (b+b)&&(c-a)

      24 )有下列程序段:

            int k=0,a=1,b=2,c=3;

            k=ab?b:a ;k=kc?c:k;

            執行該程序段后,k 的值是(            )。

            A 3                    B2                       C 1                  D0

      25 )設變量a、b、c、d y 都已正確定義并賦值。若有下列if 語句

            if(ab)

                if(c= =d)   y=0;

                else  y=1;

            該語句所表示的含義是(            )。0                                                    0

                     ? a<bc     d                                       ? a<bc      d

          A y     ?1    ab                                  B y    ?1     abcd

                     ?                                                    ?

       

                      0                                                    0

                     ? a<bc      d                                      ? a<bc      d

          Cy      ?1    a<bcd                             D y    ?1     cd

                     ?                                                    ?

      26 有下列程序段

            int n,t=1,s=0;

            scanf("%d",&n);

            do{ s=s+t;t=t-2; }while(t! =n);

            為使此程序段不陷入死循環,從鍵盤輸入的數據應該是(                        )。

            A )任意正奇數                                        B )任意負偶數

            C)任意正偶數                                         D )任意負奇數

      27 )設變量已正確定義,則以下能正確計算f=n!的程序段是(                        )。

            A f=0;                                              Bf=1;

                for(i=1;i=n;i+ +) f*=i;                              for(i=1;in;i+ +) f*=i;

            Cf=1;                                               Df=1;

                for(i=n;i1;i+ +)f*=i;                                for(i=n;i =2;i--)f*=i;

      28 )設有定義:int n1=0,n2,*p=&n2,*q=&n1;,以下賦值語句中與n2=n1;語句等價的是

                )。

            A *p=*q;                 Bp=q;                    C *p=&n1;              Dp=*q;

      29 )若有定義:int x=0,*p=&x;,則語句printf("%d\n",*p) ;的輸出結果是(                     )。

            A )隨機值                 B 0                      Cx 的地址             D p  的地址

      30)設fun()函數的定義形式為(               )。

            void fun(char ch,float x){…}

            則下列對函數fun 的調用語句中,正確的是

            A fun("abc",3.0);                                   Bt=fun('D',16.5);

            Cfun('65',2.8);                                     Dfun(32,32);

      31)有下列程序:

            main( )

            { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;

                 printf("%d\n",*p+*q);

            }

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

            A 16                     B10                       C8                    D6

      32)有下列程序:

            main( )

            { char    p[ ]={'a','bv,'c'},q[ ]="abc";

                 printf("%d%d\n",sizeof(p),sizeof(q));

            };

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

            A 4 4                    B 3 3                    C3 4                   D4 3

      33)有下列程序:

            #define    f(x)=(x*x) main( )

            { int i1,i2;

                 i1=f(8)/f(4); i2=f(4+4)/f(2+2);

                 prinft("%d,%d\n",i1,i2);

            }

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

            A 64,28                  B4,4                     C 4,3                 D 64,64

      34)有下列程序:

            main( )

            { char a1='M',a2='m';

                 printf("%c\n",(a1,a2));

            }

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

            A )程序輸出大寫字母M                                 B )程序輸出小寫字母m

            C)格式說明符不足,編譯出錯                           D )程序運行時產生出錯信息

      35)有下列程序:

            #include    <stdio.h>

            main( )

            { char c1='1',c2='2';

                 c1=getchar( ); c2=getchar( ); putchar(c1); putchar(c2);

            }

            當運行時輸入:a<CR>后,下列敘述正確的是(                    )。

            A )變量c1 被賦予字符a,c2 被賦予回車符

            B )程序將等待用戶輸入第2 個字符

            C)變量c1 被賦予字符a,c2 中仍是原有字符2

            D )變量c1 被賦予字符a,c2 中將無確定值

      36)有下列程序:

            main( )

            { int k=5,n=0;

                 while(k 0)

                  { switch(k)

                       { default:break;

                            case 1: n+ =k;

       

                            case 2:

       

                            case 3: n+ =k;

                       }

                       k--;

                 }

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

            }

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

            A 0                      B4                       C 6                   D7

      37)有下列程序:

            main( ) { int a[ ]={2,4,6,8,10},y=0,x,*p;

                   p=&a[1];

                   for(x=1;x<3;x+ +)       y+ =p[x];

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

              }

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

              A 10                      B11                        C14                    D15

        38)有下列程序:

              void sort(int a[ ],int n)

              { int i,j,t;

                   for(i=0;in-1;i+ +)

                   for(j=i+1;jn;j+ +)

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

              }

              main( )

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

                   sort(aa+2,5);

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

                   printf("\n");

              }

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

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

              C1,2,7,6,5,4,3,8,9,10,                                 D1,2,9,8,7,6,5,4,3,10,

        39)有下列程序:

              void sum(int a[ ])

              { a[0]=a[-1]+a[1];

              }

              main( )

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

                   sum(&a[2]);

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

              }

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

              A 6                       B7                         C5                     D9

        40 )有下列程序:

              void swap1 (int c0[ ],int c1[ ])

              { int t;

                    t=c0[0]; c0[0]=c1[0]; c1[0]=t;

              }

              void swap2(int *c0,int *cl)

              { int t;

                   t=*c0; *c0=*c1; *c1=t;

              }

              main( ) { int a[2]={3,5}, b[2]={3,5};

                  swap1(a,a+1); swap2(&b[0],&b[1]);

                  printf("%d %d %d %d\n",a[0],a[1],b[0],b[1]);

            }

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

            A 3 5 5 3                 B5 3 3 5                  C3 5 3 5               D5 3 5 3

      41 )有下列程序:

            #include<string.h>

            main( )

            { char p[ ]={'a', 'b', 'c'},q[10]={ 'a', 'b', 'c'};

                  printf("%d%d\n",strlen(p),strlen(q));

            }

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

            A )在給p q 數組賦初值時,系統會自動添加字符串結束符,故輸出的長度都為3

            B )由于p 數組中沒有字符串結束符,長度不能確定,但q 數組中字符串長度為3

            C)由于q 數組中沒有字符串結束符,長度不能確定,但p 數組中字符串長度為3

            D )由于p q 數組中都沒有字符串結束符,故長度都不能確定

      42 )有下列程序,其中函數f()的功能是將多個字符串按字典順序排序(                             )。

            #include <string.h>

            void f(char *p[ ],int n)

            { char *t; int i,j;

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

                       for(j=i+1;j<n;j+ +)

                  if(strcmp(p[i],p[j]>0){t=p[i]; p[i]=p[j], p[j]=t;}

            }

            main( )

            { char *p[5]={"abc","aabdfg","abbd","dcdbe","cd"};

                  f(p,5);

                  printf("%d\n",strlen(p[1]));

            }

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

            A 2                       B 3                       C6                     D4

      43 )有下列程序:

            #include <string.h>

            void f(char *s,char *t)

            { char    k;

                  k=*s; *s=*t; *t=k;

                  s+ +;   t--;

                  if(*s) f(s,t);

            }

            main( )

            { char    str[10]="abcdefg",*p;

                  p=str+strlen(str)/2+1;

                  f(p,p-2);  printf("%s\n",str);

            }

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

            A abcdefg                 Bgfedcba                   Cgbcdefa                Dabedcfg

      44 )有下列程序:

            float fl(float n)

             { return   n*n; }

            float f2(float n)

             {return 2*n;}

            main( )

             { float (*p1)(float),(*p2)(float),(*t)(float),y1,y2;

                  p1=f1;    p2=f2;

                  y1=p2(p1(2.0));

                  t=p1;    p1=p2;     p2=t;

                  y2=p2(p1(2.0));

                  printf("%3.0f, %3.0f\n",y1,y2);

            }

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

            A 8,16                    B8,8                      C16,16                D4,8

      45 )有下列程序:

            int a=2;

            int f(int n)

             { static int a=3;

                  int t=0;

                  if(n%2){ static int a=4; t+ =a+ +;}

                  else{ static int a=5; t+ =a+ +;}

                  returnt+a+ +;

            }

            main( )

             { int s=a,i;

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

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

            }

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

            A 26                      B 28                       C 29                    D24

      46 )有下列程序:

            #include     <string.h>

       

            struct STU

       

             { int num;

                  float   TolalScorc;

            };

            void f(structSTU p)

             { struct STU s[2]={{20044,550},{20045,537}};

                  p.num=s[1].num; p.TotalScore=s[1].TotalScore; }

            main( )

            { struct STU    s[2]={{20041,703},{20042,580}};

                 f(s[0]);

                 printf("%d %3.0f\n",s[0]. num,s[0]. TotalScore);

            }

            程序運行后的輸出結果是              。

            A 20045 537             B 20044 550              C 20042 580           D20041 703

      47 有下列程序

            #include    <sting.h>

       

            struct STU

       

            { char name[10];

                 int num;

            };

            void f(char   *name,int num)

            { struct STU s[2]={{"SunDan",20044},{"Penghua",20045}};

                 num=s[0].num;

                 strcpy(name,s[0].name);

            }

            main( )

            { struct STU    s[2]={{"YangSan",2004},{"LiSiGuo",20042}},*p;

                 p=&s[1];     f(p->name,p->num);

                 printf("%s    %d\n", p->name,p->num);

            }

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

            A SunDan 20042                                     BSunDan 20044

            CLiSiGuo 20042                                     DYangSan 20041

      48 )有下列程序:

       

            struct STU

       

            { char   name[10];     int num;    float  TotalScore; };

            void f(struct STU    *p)

            { struct STU    s[2]={{"SunDan",20044,550}, {"Penghua",20045,537}},

                  *q=s;+ +p;    + +q;    *p=*q;

            }

            main( )

            { struct STU    s[3]={{"YangSan",20041,703},{"LiSiGuo",20042,580}};

                 f(s);

                 printf("%s%d%3.0f\n",s[1].name,s[1].num,s[1].TotalScore);

            }

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

            A SunDan 20044 550                                 BPenghua 20045 537

            CLiSiGuo 20042 580                                 DSunDan 20041 703

      49 )下列程序的功能是進行位運算:

            main( ) { unsigned char    a,b;

                  a=7^3;    b=~4 & 3;

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

             }

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

             A 4   3                 B 7  3                  C7    0               D4   0

       50)有下列程序:

             #include    <stdio.h>

             main( )

             { FILE    *fp;   int i,k,n;

                  fp=fopen("data.dat","w+");

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

                   {fprintf(fp, "%d   ",i);

                        if(i%3= =0)    fprintf(fp,"\n");

                  }

                  rewind(fp);

                  fscanf(fp,"%d%d",&k,&n);        printf("%d%d\n",k,n);

                  fclose(fp);

             }

             程序運行后的輸出結果是             。

             A 0   0                 B123    45               C1   4               D1   2

       

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

       

       1)數據管理技術發展過程經過人工管理、文件系統和數據庫系統3 個階段,其中數據獨

            立性最高的階段是 1 。

       2 )算法復雜度主要包括時間復雜度和 2 復雜度。

       3)在進行模塊測試時,要為每個被測試的模塊另外設計兩類模塊:驅動模塊和承接模塊

              (樁模塊)。其中 3 的作用是將測試數據傳送給被測試的模塊,并顯示被測試

            模塊所產生的結果。

       4 )一棵二叉樹第六層(根結點為第一層)的結點數最多為 4 個。

       5)數據結構分為邏輯結構和存儲結構,循環隊列屬于 5 結構。

       6)下列程序運行后的輸出結果是 6 。

             main( )

             { int x=0210; printf("%X\n",x);

             }

       7)下列程序運行后的輸出結果 7 。

             main( )

             { int a=1,b=2,c=3;

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

                  else   printf("%d\n"b);

             }

       8)已有定義:double *p;,請寫出完整的語句,利用malloc 函數使p 指向一個雙精度型的

             動態存儲單元 8 。

       9)下列程序運行后的輸出結果是 9 。main( )

            { char    c;   int n=100;

                  float f=10;   double x;

                  x=f* =n/ =(c=50);

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

            }

      10)下列程序的功能是計算:s=1+12+123+1234+12345。請填空。

            main( )

            { int t=0,s=0,i;

              for(i=1;i =5;i+ +}

                  { t=i+     10 ;     s=s+t; }

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

            }

      11)已知字母A ASCII 碼為65,下列程序運行后的輸出結果是 11 。

            main( )

            { char a,b;

                  a='A'+'5'-'3';  b=a+'6'-'2';

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

            }

      12有下列程序

            int sub(int n) { return(n/10+n%10);}

            main( )

            { int x,y;

                  scanf("%d",&x);

                  y=sub(sub(sub(x)));

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

            }

            若運行時輸入:1234<CR>,程序的輸出結果是 12 。

      13下列函數sstrcat( )的功能是實現字符串的連接,即將t 所指字符串復制到s 所指字符

             串的尾部。例如:s 所指字符串為abcd,t 所指字符串為efgh,函數調用后s 所指字

             符串為abcdefgh。請填空。

            #include    <string.h>

            void sstrcat(char    *s,char    *t)

            { int n;

                  n=strlen(s);

                  while(*(s+n)=       13 ){s+ +,t+ +;}

            }

      14)下列程序運行后的輸出結果是 14

            #include    <string.h>

            char    *ss(char    *s)

            { char    *p,t;

                  p=s+1;t=*s;

                  while(*p){*(p-1)=*p;p+ +;}

                  *(p-1)=t;     return s;

            }

            main( )

            { char    *p,str[10]="abcdefgh";

                 p=ss(str);

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

            }

      15)下列程序運行后的輸出結果是 15 。

            int f(int a[ ],int n)

            { if(n =1)return f(a,n-1)+a[n-1];

                  else   return   0;

            }

            main( )

            { int aa[5]={1,2,3,4,5},s;

                  s=f(aa,5);   printf("%d\n",s);

            }

      16)下列程序運行后的輸出結果是 16 。

       

            struct   NODE

       

            { int num;    truct NODE      *next;

            };

            main( )

            { struct NODE s[3]={{1, '\0'},{2, '\0'},{3, '\0'}},*p,*q,*r;

                 int sum=0;

                 s[0].next=s+1; s[1].next=s+2; s[2].next=s;

                 p=s; q=pnext; r=qnext;

                 sum+ =qnextnum; sum+ =rnext-nextnum;

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

            }

      17)下列程序的功能是輸出如下形式的方陣:

       

            13         14         15         16

       

            9          10         11         12

       

            5          6          7          8

       

            1          2          3          4

       

            請填空。

            main( )

            { int i,j,x;

                 for(j=4;j     17 ;j--)

                  { for(i=1;i=4;i+ +)

                       { x=(j-1)*4+      18 ;

                            printf("%4d",x);

                       }

                  printf("\n");

                  }

            }18)下列函數rotate 的功能是:將a 所指N N 列的二維數組中的最后一行放到b 所指

             二維數組的第0 列中,把a 所指二維數組中的第0 行放到b 所指二維數組的最后一列

             中,b 所指二維數組中其他數據不變。

            #define N 4

            void rotade(int a[ ][N],int b[ ][N])

            { int i,j;

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

                  { b[i][N-1]=      19 ;        20 =a[N-1][i]; }

      一、選擇題

      1C 2 A 3C 4 D 5C 6D 7A 8A

      9B 10B 11A 12C 13B 14B 15A 16C

      17C 18A 19A 20 B 21 D 22 C 23 A 24 B

      25 C 26 D 27 D 28 A 29 B 30C 31B 32C

      33C 34B 35A 36D 37C 38C 39A 40 A

      41 A 42 D 43 B 44 A 45 C 46 D 47 A 48 B

      49 A 50D

         二、填空題

          1)【1】數據庫系統                          2 )【2】空間

          3)【3】驅動模塊                            4 )【432

          5)【5】存儲                                6)【688

          771                                   88p=(double *)malloc(sizeof(double))

          992   20.000000                       1010t*10

          111167 G                              121210

          1313*t                                1414bcdefgha

          15)【1515                                16)【165

          17)【17>0       18i                  18)【19a[0][i]      20b[i][0]

      中文在线字幕第一页_中文字幕高跟丝袜作品番号_亚洲中文无无码第_日本亚洲欧美国产日韩a??y_在线观看亚洲av无码专区