<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>
                  江蘇省高校計算機等級考試命題研究院 江蘇省高校計算機等級考試輔導
                  C考試模擬試卷1

                  全國計算機等級考試二級C語言考前沖刺試卷(1)

                  一、選擇題

                  1)下列選項中,不是算法的基本特征的是(    )。

                  A)完整性                                                                         B)可行性

                  C)有窮性                                                                          D)擁有足夠的情報

                  2)結構化分析方法是面向(    )的自頂向下、逐步求精進行需求分析的方法。

                  A)對象                               B)數據結構                       C)數據流                         D)目標

                  3)下列工具中為需求分析常用工具的是(    )。

                  APAD                               BPFD                                CN-S                               DDFD

                  4)線性表進行二分法檢索,其前提條件是(    )。

                  A)線性表以順序方式存儲,并按關鍵碼值排好序

                  B)線性表以順序方式存儲,并按關鍵碼的檢索頻率排好序

                  C)線性表以鏈式方式存儲,并按關鍵碼值排好序

                  D)線性表以鏈式方式存儲,并按關鍵碼的檢索頻率排好序

                  5)下列選項中不屬于結構化程序設計方法的是(    )。

                  A)自頂向下                       B)逐步求精                       C)模塊化                         D)可復用

                  6)下列關于結構化程序設計原則和方法的描述中,錯誤的是(    )。

                  A)選用的結構只準許有一個入口和一個出口

                  B)復雜結構應該用嵌套的基本控制結構進行組合嵌套來實現

                  C)不允許使用GOTO語句

                  D)語言中所沒有的控制結構,應該采用前后一致的方法來模擬

                  7)軟件需求分析階段的工作,可以分為4個方面:需求獲取、需求分析、編寫需求規格說明書以及(    )。

                  A)階段性報告                   B)需求評審                       C)總結                             D)都不正確

                  8)下列關于軟件測試的描述中正確的是(    )。

                  A)軟件測試的目的是證明程序是否正確

                  B)軟件測試的目的是使程序運行結果正確

                  C)軟件測試的目的是盡可能地多發現程序中的錯誤

                  D)軟件測試的目的是使程序符合結構化原則

                  9)用鏈表表示線性表的優點是(    )。

                  A)便于隨機存取

                  B)花費的存儲空間較順序存儲少

                  C)便于插入和刪除操作

                  D)數據元素的物理順序和邏輯順序相同

                  10)在數據庫設計中,將E-R圖轉換為關系模式的過程屬于(    )。

                  A)需求分析階段                                                           B)邏輯設計階段

                  C)概念設計階段                                                            D)物理設計階段

                  11)以下敘述錯誤的是(    )。

                  AC語言區分大小寫

                  BC程序中的一個變量,代表內存中一個相應的存儲單元,變量的值可以根據需要隨時修改

                  C)整數和實數都能用C語言準確無誤地表示出來

                  D)在C程序中,正整數可以用十進制、八進制和十六進制的形式來表示

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

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

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

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

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

                  13)下列選項中可作為C語言合法常量的是(    )。

                  A-80                                      B-080                            C-8e1.0                          D-80.0e

                  14)下列定義變量的語句中錯誤的是(    )。

                  Aint _int;                                                                        Bdouble int_;

                  Cchar For;                                                                       Dfloat US$;

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

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

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

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

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

                  16)當a=1、b=2、c=3、d=4時,執行下面程序段后,x的值是(    )。

                  if(a<b)

                  if(c<d)x=1;

                  else

                  if(a<c)

                  if(b<d)x=2;

                  else x=3;

                  else x=6;

                  else x=7;

                  A1                                         B6                                  C3                                  D2

                  17)以下程序的輸出結果是(    )。

                  #include<stdio.h>

                  main()

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

                  printf("%d",a<b?a:d<c?d:b);

                  }

                  A1                                         B3                                  C2                                  D4

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

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

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

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

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

                  19)以下程序:

                  #include<stdio.h>

                  main()

                  {     char str[10];

                  scanf("%s",&str);

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

                  }

                  運行上面的程序,輸入字符串how are you,則程序的執行結果是(    )。

                  Ahow                                    Bhow are you                Ch                                  Dhowareyou

                  20xy都是int類型,x=1,y=2,printf("%d%d",x,y,(x,y))的輸出結果是    。

                  A1 2                                      B1 2 2                            C1,2                               D)輸出值不確定

                  21)以下程序的輸出結果是(    )。

                  #include<stdio.h>

                  main()

                  {     int a=8,b=6,m=1;

                  switch(a%4)

                  {     case 0:m++;         break;

                  case 1:m++;

                  switch(b%3)

                  {     default:       m++;

                  case 0:m++; break;

                  }

                  }

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

                  A1                                         B2                                  C3                                  D4

                  22)定義如下變量和數組:

                  int i;

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

                  則下面的語句輸出結果是(    )。

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

                  A159                                     B147                              C357                              D369

                  23有下列程序段  

                  typedef struct NODE

                  { int num;struct NODE *next;

                  }  OLD;

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

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

                  COLD是一個結構體類型                                           DOLD是一個結構體變量

                  24)下列數組定義中錯誤的是(    )。

                  Aint x[ ][3]={0};

                  Bint x[2][3]={{l,2},{3,4},{5,6}};

                  Cint x[ ][3]={{l,2,3},{4,5,6}};

                  Dint x[2][3]={l,2,3,4,5,6};

                  25)以下敘述錯誤的是(    )。 

                  A)變量的作用域取決于變量定義語句的位置

                  B)全局變量可以在函數以外的任何部位進行定義

                  C)局部變量的作用域可用于其他函數的調用

                  D)一個變量說明為static存儲類型是為了限制其他編譯單元的引用

                  26若定義函數int *func(),則函數func的返回值為(    )。 

                  A)一個實數                                                                    B)一個指向整型變量的指針

                  C)一個指向整型函數的指針                                         D)一個整型函數的入口地址

                  27若有以下定義,則正確引用數組元素的是(    )。

                  int a[5],*p=a;

                  A*&a[5]                                B*a+2                            C*(p+5)                         D*(a+2)

                  28以下對C語言中聯合類型數據的正確敘述是(    )。

                  A)定義了聯合變量后,即可引用該變量或該變量中的任意成員

                  B)一個聯合變量中可以同時存放其所有成員

                  C)聯合中的各個成員使用共同的存儲區域

                  D)在向聯合中的一個成員進行賦值時,聯合中其他成員的值不會改變

                  29有以下函數定義

                  int fun(double a,double b)

                  {return a*b;}

                  若以下選項中所用變量都已正確定義并賦值,錯誤的函數調用是    。

                  Aif(fun (x,y)){……}                                                     Bz= fun (fun (x,y),fun (x,y));

                  Cz= fun (fun (x,y)x,y);                                                  Dfun (x,y);

                  30執行以下語句段后,xy的值是    。

                  int*pt,xy;

                  xy=200;

                  pt=&xy;

                  xy=*pt+30;

                  A200                                     B170                              C260                              D230

                  31下述程序的輸出結果是    。

                  # include<stdio.h>

                  void main()

                  {     int a[20],*p[4];

                  int i,k=0;

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

                  a[i]=i;

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

                  p[i]=&a[i*i+1];

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

                         k=k+*(p+i);

                  printf ("%d",k);

                  }

                  A10                                                                                 B18

                  C6                                                                                   D)數組元素引用不合法,輸出結果不定

                  32下面各語句行中,能正確進行賦值字符串操作的是(    )。

                  Achar s[5]={'a','b','c','d', 'e'}; Bchar *s;gets(s);

                  Cchar *s;s="ABCDEF";       Dchar s[5];scanf("%s",&s);

                  (33)下面程序的輸出結果是(    )。

                  #include<stdio.h>

                  main()

                  { char a[]={'a', 'b', 'c', 'd', 'f ', 'g'},*p;

                  p=a;

                  printf("%c\n",*p+4);

                  }

                  Aa                                       Bb                                    Ce                                 Df

                  34下面函數的功能是(    )。

                  sss(s,t)

                  char *s,*t;

                  {while(*s);

                  while(*t)

                  *(s++)=*(t++);

                  return s;

                  }

                  A)將字符串s復制到字符串t                                  B)比較兩個字符串的大小

                  C)求字符串的長度                                                         D)將字符串t續接到字符串s

                  35下列程序的運行結果是(    )。

                  #include<stdio.h>

                  void sub(int*s,int*y)

                  {     static int m=4;

                         *y=s[m];

                         m--;

                  }

                  void main()

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

                         int x;

                         printf("\n");

                         for(k=0;k<=4;k++)

                         {       sub(a,&x);

                                  printf("%d,",x);

                         }

                  }

                  A5,4,3,2,1,                            B1,2,3,4,5,                     C0,0,0,0,0,                     D4,4,4,4,4,

                  36)設q1q2是指向一個int型一維數組的指針變量,kfloat型變量,則不能正確執行的語句是(    )。

                  Ak=*q1*( *q2);                    Bq1=k;                          Cq1=q2;                         Dk=*q1+*q2;

                  37下列程序的輸出結果為(    )。

                  main()

                  {     union un

                  {         char *name;

                  int age;

                  int pay;

                  } s;

                  s.name="zhaoming";

                  s.age=32;

                  s.pay=3000;

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

                  }

                  A32                                       B3000                            C0                                  D)不確定

                  38)以下有關宏替換的敘述不正確的是(    )。

                  A)使用宏定義可以嵌套

                  B)宏定義語句不進行語法檢查

                  C)雙引號中出現的宏名不替換

                  D)宏名必須用大寫字母表示

                  39下列程序執行輸出的結果是(    )。

                  #include<stdio.h>

                  f(int a)

                  {     int b=0;

                         static c=3;

                         a=c++;b++;

                         return(a);

                  }

                  main()

                  {     int a=2,i,k;

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

                         k=f(a++);

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

                  }

                  A3                                         B4                                  C5                                  D6

                  40已知函數的調用形式fread(buffer,size,count,fp);其中buffer代表的是    。

                  A)一個整型變量,代表要讀入的數據項總數

                  B)一個文件指針,指向要讀的文件

                  C)一個指針,是指向的輸入數據放在內存中的起始位置

                  D)一個存儲區,存放要讀的數據項

                   

                  二、填空題

                  1)數據結構分為邏輯結構與存儲結構,線性鏈表屬于 1 。
                  2)在面向對象方法中,類之間共享屬性和操作的機制稱為 2 。
                  3)耦合和內聚是評價模塊獨立性的兩個主要標準,其中 3 反映了模塊內各成分之間的聯系。
                  4)一個項目具有一個項目主管,一個項目主管可管理多個項目,則實體“項目主管”與實體“項目”的聯系屬于 4 的聯系。
                  5)數據庫設計分為以下6個設計階段:需求分析階段、 5 、邏輯設計階段、物理設計階段、實施階段、運行和維護階段。

                  6)若有定義:int a=4,b=5,c=6;接著順序執行下列語句后,變量b中的值是___________。

                  c=(a-=(b-5));

                  c=(a%3)+(b=1);

                  7)以下程序運行后的輸出結果是___________。

                  main()

                  { int a,b,c;

                    a=10; b=20; c=(a/b<1)&&(a%b<1);

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

                  }

                  8)以下程序運行后的輸出結果是___________。

                  #define Power2(x)  x*x

                  main()

                  { int i=6,j=8;

                    printf("%d\n",Power2(i+j));

                  9)以下程序中,fun函數的功能是求34列二維數組每行元素中的最大值。請填空。

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

                  main()

                  { int a[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i;

                    fun(3,4,a,b);

                    for(i=0;i<3;i++) printf("%4d",b[i]);

                    printf("\n");

                  }

                  void fun(int m,int n,int ar[][4],int *br)

                  {  int i,j,x;

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

                    {  x=ar[i][0];

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

                      if(___________)

                      x=ar[i][j];

                      br[i]=x;   

                    }

                  }

                  10)下面程序的功能是:輸出100以內能被4整除且個位數為8的所有整數,請填空。

                  main()

                  {     int i,j;

                  for(i=0; ___________;i++)

                  {         j=i*10+8;

                  if(j%4!=0) continue;

                  printf("%d",j); }

                  }

                  11)以下程序的輸出結果是___________。

                  #include<stdio.h>

                  fun()

                  {     static int a=0;

                  a+=3;printf("%d ",a);

                  }

                  main()

                  {     int cc;

                  for(cc=1;cc<5;cc++)fun();

                  printf("\n");

                  }

                  12)下面程序的運行結果是___________。

                  #include<stdio.h>

                  #define SIZE 12

                  main()

                  {     char s[SIZE];int i;

                         for(i=0;i<SIZE;i++) s[i]='A'+i+32;

                         sub(s,5,SIZE-1);

                         for(i=0;i<SIZE;i++) printf("%c",s[i]);

                         printf("\n");

                  }

                  sub(char *a,int t1,int t2)

                  {     char ch;

                         while(t1<t2)

                         {       ch=*(a+t1);

                                  *(a+t1)=*(a+t2);

                                  *(a+t2)=ch;

                                  t1++;t2--;

                         }

                  }

                  13)下面程序的運行結果是___________。

                  #include<stdio.h>

                  main()

                  {     char a[80],*p="AbabCDcd";

                         int i=0,j=0;

                         while(*p!='\0')

                         {       if(*p>='a' && *p<='z') {a[i]=*p;i++;}

                         }

                         a[i]='\0';

                         puts(a);

                  }

                  14)“printf("%d\n",strlen("\t\"\023\xAB\nC"));”語句的輸出結果是___________。

                  15)下面程序的運行結果是___________。

                  #define P(a) printf("%d ",a)

                  main()

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

                         for(j=3;j>1;j--)

                         {       switch(j)

                                  {       case 1:

                                           case 2: P(a[i++]); break;

                                           case 3: P(a[--i]);

                                  }

                         }

                  }

                  參考答案

                  一、選擇題

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

                  8C 9C 10B         11C         12A         13A         14D

                  15B         16A         17A         18A         19A         20A         21B

                  22C         23C         24B         25D         26B         27D         28C

                  29C         30D         31B         32B         33C         34D         35A

                  36B         37B         38D         39B         40C

                  二、填空題


                  1)數據的邏輯結構

                  2)繼承關系

                  3)內聚性

                  4)多對多關系

                  5)概念設計階段

                  61

                  710 20 0

                  862

                  9x<ar[i][j]

                  10i<10

                  113 6 9 12

                  12abcdelkjihgf

                  13babcd

                  146

                  155 5


                   

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