奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

等級考試

全國計算機等級考試二級C語言試題二

時間:2024-09-18 06:06:11 等級考試 我要投稿
  • 相關推薦

全國計算機等級考試二級C語言試題二

考試頻道小編綜合整理了全國計算機等級考試二級C語言試題。
  一、選擇題

全國計算機等級考試二級C語言試題二

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

  (1)軟件是指 A)程序 B)程序和文檔 C)算法加數據結構 D)程序、數據與相關文檔的完整集合

  (2)檢查軟件產品是否符合需求定義的過程稱為

  A)確認測試 B)集成測試 C)驗證測試 D)驗收測試

  (3)以下不屬于對象的基本特點的是

  A)分類性 B)多態性 C)繼承性 D)封裝性

  (4)在設計程序時,應采納的原則之一是

  A)不限制goto語句的使用 B)減少或取消注解行 C)程序越短越好 D)程序結構應有助于讀者理解

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

  A)程序執行的效率與數據的存儲結構密切相關 B)程序執行的效率只取決于程序的控制結構

  C)程序執行的效率只取決于所處理的數據量 D)以上三種說法都不對 (6)數據結構中,與所使用的計算機無關的是數據的

  A)存儲結構 B)物理結構 C)邏輯結構 D)物理和存儲結構

  (7)線性表的順序存儲結構和線性表的鏈式存儲結構分別是

  A)順序存取的存儲結構、順序存取的存儲結構 B)隨機存取的存儲結構、順序存取的存儲結構

  C)隨機存取的存儲結構、隨機存取的存儲結構 D)任意存取的存儲結構、任意存取的存儲結構

  (8)樹是結點的集合,它的根結點數目是

  A)有且只有1 B)1或多于1 C)0或1 D)至少2

  (9)下列有關數據庫的描述,正確的是

  A)數據庫是一個DBF文件 B)數據庫是一個關系 C)數據庫是一個結構化的數據集合 D)數據庫是一組文件

  (10)數據庫、數據庫系統和數據庫管理系統之間的關系是

  A)數據庫包括數據庫系統和數據庫管理系統 B)數據庫系統包括數據庫和數據庫管理系統 C)數據庫管理系統包括數據庫和數據庫系統 D)三者沒有明顯的包含關系

  (11)以下4個選項中,不能看作一條語句的是

  A); B)a=5,b=2.5,c=3.6; C)if(a<5); D)if(b!=5)x=2;y=6;

  (12)下面四個選項中,均是不合法的用戶標識符的選項是

  A)A P_0 do B)float la0_A C)b-a goto int D)_123 temp int

  (13)以下選項中不屬于字符常量的是

  A)′C′ B)′′C′′ C)′\xCC′ D) ′\072′

  (14)設變量已正確定義并賦值,以下正確的表達式是

  A)x=y*5=x+z B)int(15.8%5) C)x=y+z+5,++y D)x=25%5.0

  (15)若變量已正確定義并賦值,以下符合C語言語法的表達式是

  A)a:=b+1 B)a=b=c+2 C)int 18.5%3 D)a=a+7=c+b

  (16)以下程序的運行結果是

  int k=0;

  void fun(int m)

  {m+=k;k+=m;printf("m=%d k=%d ",m,k++);}

  main()

  {int i=4;

  fun(i++); printf("i=%d k=%d\n",i,k);

  }

  A)m=4 k=5 i=5 k=5 B)m=4 k=4 i=5 k=5 C)m=4 k=4 i=4 k=5 D)m=4 k=5 i=4 k=5

  (17)已有定義:char c;,程序前面已在命令行中包含ctype.h文件,不能用于判斷c中的字符是否為大寫字母的表達式是

  A)isupper(c) B)′A′<=c<=′Z′ C)′A′<=c&&c<=′Z′ D)c<=(′z′-32)&&(′a′-32)<=c

  (18)設有:

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

  執行 (m=a>b)&&(n=c>d)后,n的值是

  A)1 B)2 C)3 D)4

  (19)若變量已正確定義,有以下程序段

  int a=3,b=5,c=7;

  if(a>b) a=b; c=a;

  if(c!=a) c=b;

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

  其輸出結果是

  A)程序段有語法錯 B)3,5,3 C)3,5,5 D)3,5,7

  (20)若有定義:float x=1.5;int a=1,b=3,c=2;,則正確的switch語句是

  A)switch(x)

  {case 1.0:printf("*\n");

  case 2.0:printf("**\n");}

  B)switch((int)x);

  {case 1:printf("*\n");

  case 2:printf("**\n");}

  C)switch(a+b)

  {case 1:printf("*\n");

  case 2+1:printf("**\n");}

  D)switch(a+b)

  {case1:printf(**\n);}

  casec:printf(**\n);}

  (21)有以下程序

  #include

  main0

  { int y=9;

  for( ; y>0;y--)

  if(y%3==0) printf("%d",--y);

  }

  程序的運行結果是

  A)741 B)963 C)852 D)875421

  (22)以下描述中正確的是

  A)由于do-while循環中循環體語句只能是一條可執行語句,所以循環體內不能使用復合語句

  B)do-while循環由do開始,用while結束,在while(表達式)后面不能寫分號

  C)在do-while循環體中,是先執行一次循環,再進行判斷 D)do-while循環中,根據情況可以省略while

  (23)有以下程序

  #include

  main()

  { int a[ ]={1,2,3,4},y,?*p=&a[3];

  --p; y=?*p;printf("y=%d\n",y);

  }

  程序的運行結果是

  A)y=0 B)y=1 C)y=2 D)y=3

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

  A)int x[][3]={0}; B)int x[2][3]={{l,2},{3,4},{5,6}}; C)int x[][3]={{l,2,3},{4,5,6}}; D)int x[2][3]={l,2,3,4,5,6};

  (25)下面說明不正確的是

  A)char a[10]="china"; B)char a[10],*p=a;p="china" C)char *a;a="china" D)char a[10],*p;p=a="china"

  (26)若有定義:int a[2][3];,以下選項中對a數組元素正確引用的是

  A)a[2][!1] B)a[2][3] C)a[0][3] D)a[1>2][!1]

  (27)若要求從鍵盤讀入含有空格字符的字符串,應使用函數

  A)getc() B)gets() C)getchar() D)scanf()

  (28)閱讀下列程序段,則程序的輸出結果為

  #include "stdio.h"

  #define M(X,Y)(X)*(Y)

  #define N(X,Y)(X)/(Y)

  main()

  { int a=5,b=6,c=8,k;

  k=N(M(a,b),c);

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

  A)3 B)5 C)6 D)8

  (29)在16位IBM-PC機上使用C語言,若有如下定義

  struct data

  { int i;

  char ch;

  double f;

  } b;

  則結構變量b占用內存的字節數是

  A)1 B)2 C)7 D)11

  (30)有以下程序 #include

  main()

  {FILE *fp; int i,a[6]={l,2,3,4,5,6};

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

  fwrite(a,sizeof(int),6,fp);

  fseek(fp,sizeof(int)*3,SEEK_SET);/*該語句使讀文件的位置指針從文件頭向后移動3個int型數據*/

  fread(a,sizeof(int),3,fp); fclose(fp);

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

  }

  程序運行后的輸出結果是

  A)4,5,6,4,5,6, B)1,2,3,4,5,6, C)4,5,6,1,2,3, D)6,5,4,3,2,1,

  (31)有以下程序

  #include

  main()

  { int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;

  for(i=0;i<12;i++) c[s[i]]++;

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

  printf("\n");

  }

  程序的運行結果是

  A)1 2 3 4 B)2 3 4 4 C)4 3 3 2 D)1 1 2 3

  (32)有以下程序

  #include

  void fun(int *a,int n)/*fun函數的功能是將a所指數組元素從大到小排序*/

  { int t,i,j;

  for(i=0;i

  for(j=i+1;j

  if(a[i]

  }

  main()

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

  fun(c+4,6);

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

  printf("\n");

  }

  程序的運行結果是

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

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

  #include

  #include

  main()

  { char *p1="abc",*p2="ABC",str[50]= "xyz";

  strcpy(str+2,strcat(p1,p2));

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

  A)xyzabcABC B)zabcABC C)xyabcABC D)yzabcABC

  (34)以下函數返回a所指數組中最小的值所在的下標值

  fun(int *a, int n)

  { int i,j=0,p;

  p=j;

  for(i=j;i

  if(a[i]

  return(p);}

  在橫線處應填入的是

  A)i=p B)a[p]=a[i] C)p=j D)p=i

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

  #include

  void abc(char*str)

  { int a,b;

  for(a=b=0;str[a]!='\0';a++)

  if(str[a]!='c')

  str[b++]=str[a];

  str[b]='\0';}

  void main()

  { char str[]="abcdef";

  abc(str);

  printf("str[]=%s",str); }

  A)str[]=abdef B)str[]=abcdef C)str[]=a D)str[]=ab

  (36)有以下程序

  #include

  #include

  typedef struct{ char name[9]; char sex; float score[2]; }STU;

  void f(STU a)

  { STU b={"Zhao",′m′,85?0,90?0}; int i;

  strcpy(a.name,b.name);

  a.sex=b.sex;

  for(i=0;i<2;i++) a.score[i]=b.score[i];

  }

  main()

  { STU c={"Qian",′f′,95.0,92.0};

  f(c);

  printf("%s,%c,%2.0f,%2.0f\n",c.name,c.sex,c.score[0],c.score[1]);

  }

  程序的運行結果是

  A)Qian,f,95,92 B)Qian,m,85,90 C)Zhao,f,95,92 D)Zhao,m,85,90

  (37)有以下程序

  #include

  main()

  { FILE ?*fp; int a[10]={1,2,3},i,n;

  fp=fopen("d1.dat","w");

  for(i=0;i<3;i++) fprintf(fp,"%d",a[i]);

  fprintf(fp,"\n");

  fclose(fp);

  fp=fopen("d1.dat","r");

  fscanf(fp,"%d",&n);

  fclose(fp);

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

  }

  程序的運行結果是

  A)12300 B)123 C)1 D)321

  (38)已知 int a=1,b=3則a^b的值為

  A)3 B)1 C)2 D)4

  (39)閱讀下列程序,則運行結果為
 

考試頻道小編綜合整理了全國計算機等級考試二級C語言試題

 

  #include "stdio.h"

  fun()

  { static int x=5;

  x++;

  return x;}

  main()

  { int i,x;

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

  x=fun();

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

  A)5 B)6 C)7 D)8

  (40)有以下程序

  #include

  void fun(char *t,char *s)

  { while(*t!=0) t++;

  while((*t++=*s++)!=0);

  }

  main()

  { char ss[10]="acc",aa[10]="bbxxyy";

  fun(ss,aa); printf("%s,%s\n",ss,aa);

  }

  程序的運行結果是

  A)accxyy,bbxxyy B)acc,bbxxyy C)accxxyy,bbxxyy D)accbbxxyy,bbxxyy

  二、填空題

  請將每一個空的正確答案寫在答題卡序號的橫線上,答在試卷上不給分。

  (1)需求分析的最終結果是產生 【1】 。

  (2)為了便于對照檢查,測試用例應由輸入數據和預期的 【2】 兩部分組成。

  (3)數據結構分為邏輯結構與存儲結構,線性鏈表屬于 【3】 。

  (4)某二叉樹中度為2的結點有18個,則該二叉樹中有 【4】 個葉子結點。

  (5) 【5】 是數據庫設計的核心。

  (6)已有定義:char c=′ ′;int a=1,b;(此處c的初值為空格字符),執行b=!c&&a;后b的值為? 【6】 ?。

  (7)設變量已正確定義為整型,則表達式n=i=2,++i,i++的值為 【7】 。

  (8)下面程序的功能是:計算1 10之間的奇數之和與偶數之和,請填空。

  #include

  main()

  { int a,b,c,I;

  a=c=0;

  for(I=0;I<=10;I+=2)

  {a+=I;

  【8】 ;

  c+=b; }

  printf("偶數之和=%d\n",a);

  printf("奇數之和=%d\n",c-11);}

  (9)以下函數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

  { b[I][N-1]= 【9】 ; 【10】 =a[N-1][I]; } }

  (10)以下程序的輸出結果是 【11】 。

  #include

  void swap(int ?*a, int ?*b)

  { int ?*t;

  t=a; a=b; b=t;

  }

  main()

  { int i=3,j=5,?*p=&i,?*q=&j;

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

  }

  (11)下面程序的運行結果是 【12】 。

  #include

  #define SIZE 12

  main()

  { char s[SIZE]; int I;for(I=0;I

  sub(s,7,SIZE-1);

  for(I=0;I

  printf("\n");}

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

  { char ch;

  while (t1

  { ch=*(a+t1);

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

  *(a+t2)=ch;

  t1++;t2--; } }

  (12)以下程序的輸出結果是 【13】 。

  #include

  main()

  { int a[5]={2,4,6,8,10},?*p;

  p=a; p++;

  printf("%d",?*p);

  }

  (13)設有定義"struct {int a; float b; char c;} abc, *p_abc=&abc;",則對結構體成員a的引用方法可以是abc.a和p_abc 【14】 a。

  (14)以下程序的運行結果是 【15】 。

  #include

  main()

  { FILE *fp; int a[10]={1,2,3,0,0},i;

  fp=fopen("d2.dat","wb");

  fwtite(a,sizeof(int),5,fp);

  fwrite(a,sizeof(int),5,fp);

  fclose(fp);

  fp=fopen("d2.dat","rb");

  fread(a,sizeof(int),10,fp);

  fclose(fp);

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

  }

  一、選擇題

  (1)D 【解析】 軟件是程序、數據與相關文檔的集合,相對于計算機硬件而言,軟件是邏輯產品而不是物理產品,是計算機的無形部分。

  (2)A 【解析】 確認測試的任務是驗證軟件的功能和性能,以及其他特性是否滿足需求規格說明中確定的各種需求;集成測試的主要目的是發現與接口有關的錯誤。

  (3)C 【解析】 對象的基本特點:標識惟一性、分類性、多態性、封裝性和模塊獨立性。

  (4)D 【解析】 濫用goto 語句將使程序流程無規律,可讀性差,因此A)不選;注解行有利于對程序的理解,不應減少或取消,B)也不選;程序的長短要依照實際情況而論,而不是越短越好,C)也不選。

  (5)A 【解析】 程序執行的效率與很多因素有關,如數據的存儲結構、程序所處理的數據量、程序所采用的算法等。順序存儲結構在數據插入和刪除操作上的效率比鏈式存儲結構的效率低。

  (6)C 【解析】 數據結構概念一般包括數據的邏輯結構、存儲結構及數據上的運算集合等。數據的邏輯結構只抽象地反映數據元素之間的邏輯關系,而不管它在計算機中的存儲形式。

  (7)B 【解析】 順序存儲結構中,數據元素存放在一組地址連續的存儲單元中,每個數據元素地址可通過公式LOC(ai)=LOC(a1)+(i-1)L計算得到,從而實現了隨機存取。對于鏈式存儲結構,要對某結點進行存取,都得從鏈的頭指針指向的結點開始,這是一種順序存取的存儲結構。

  (8)C 【解析】 樹是N(N>0)個結點的有限集合,當?N=0?,時稱為空樹,對于空樹沒有根結點,即根結點的個數為0,對于非空樹有且只有一個根結點,所以樹的根結點數目為0或1。

  (9)C 【解析】 數據庫(DataBase,簡稱DB)是數據的集合,它具有統一的結構形式并存放于統一的存儲介質內,是多種應用數據的集成,可被各個應用程序所共享。數據庫中的數據具有"集成"、"共享"的特點。

  (10)B 【解析】 數據庫系統(Database System,簡稱DBS),包括數據庫(Database,簡稱DB)和數據庫管理系統(Database Management System,簡稱DBMS)。

  (11)D 【解析】 選項D)為兩條語句。

  (12)C 【解析】 C語言規定的標識符只能由字母、數字和下劃線3種字符組成,第一個字符必須為字母或下劃線,并且不能使用C語言中的關鍵字作為標識符。選項C)中goto和int是關鍵字,b-a中'-'不是組成標識符的3種字符之一;選項D)中int是關鍵字,所以,均是不合法用戶標識符的選項是C)。

  (13)B 【解析】 在C語言程序中,用單引號把一個字符或反斜線后跟一個特定的字符括起來表示一個字符常量。選項A)、C)和D)為正確的字符常量,而選項B)是用雙引號括起來的字符,表示一個字符串常量。

  (14)C 【解析】 求余運算符"%"兩邊的運算對象必須是整型,而選項B)和D)中 "%"兩邊的運算對象有浮點整數據,所以選項B)和D)是錯誤的表達式。在選項A)中賦值表達式的兩邊出現相同的變量x,也是錯誤的。選項C)是一個逗號表達式,所以正確答案為C)。

  (15)B 【解析】 選項A)中包含一個不合法的運算符":=";選項C)應改為(int)18.5%3;選項D)可理解為兩個表達式:a+7=c+b和a=a+7,其中第一個是錯的,因為C語言規定賦值號的左邊只能是單個變量,不能是表達式或常量等。因此,正確答案是選項B),它實際上相當于a=(b=c+2),進而可分解為兩個表達式:b=c+2和a=b。

  (16)B 【解析】 由于在main()函數中,變量 i=4,所以就調用fun(4),則輸出"m=4 k=4"。然后變量k增1等于5,變量i增1等于5,所以main()函數的"printf("i=%d k=%d\n",i,k);"語句輸出"i=5 k=5"

  (17)B 【解析】 在本題中,選項B)實際是先計算關系表達式"'A'<=c"的值是0還是1,再比較該值與字符'Z'之間的大小關系,顯然不能實現題目所要求的功能,而選項A)、C)、D)都可以。

  (18)B 【解析】 本題考查邏輯與運算的運算規則。其規則是:當運算符前后兩個條件表達式都滿足時,其最終結果才為真。當發現第一個表達式的值為假,計算機將不再執行后面表達式的運算。

  本題中,由于前一個表達式的值為"假",所以,后面的表達式不再進行運算,因而n的值保持不變,仍為2。

  (19)B 【解析】 兩個if語句的判斷條件都不滿足,程序只執行了c=a這條語句,所以變量c的值等于3,變量b的值沒有變化,程序輸出的結果為3,5,3。

  (20)C 【解析】 C語言中,switch語句專用于實現多分支結構程序,其特點是各分支清晰而直觀。switch后面括號中可以是任何表達式,取其整數部分與各常量表達式進行比較。常量表達式中不能出現變量,且類型必須是整型、字符型或枚舉型,各常量表達式各不相同。

  (21)C 【解析】 本題考察變量的自加"++"和自減"--"問題。當y 的值為9、6或3時,if語句的條件成立,執行輸出語句,輸出表達式--y的值,y的自減要先于輸出語句執行,故輸出結果為8 5 2。

  (22)C 【解析】 do while語句的一般形式為:do 循環體語句 while(表達式);,其中循環體語句可以是復合型語句,但必須用花括號括起來。while后必須要有分號作為語句的結束,在do-while循環中,不可以省略while。

  (23)D 【解析】 在程序中指針變量p初始指向a[3],執行p減1后,p指向a[2],語句y=*p的作用是把a[2]的值賦給變量y,所以輸出為y=3。

  (24)B 【解析】 二維數組的初始化有以下幾種形式:①分行進行初始化;②不分行進行初始化;③部分數組元素進行初始化;④省略第一維的定義,不省略第二維的定義。選項B)等號右邊分了3行,大于等號左邊數組的行數2。

  (25)D 【解析】 C語言中操作一個字符串常量的方法有:①將字符串常量存放在一個字符數組之中;② 用字符指針指向字符串, 然后通過字符指針來訪問字符串存儲區域。當字符串常量在表達式中出現時, 根據數組的類型轉換規則, 將其轉換成字符指針。

  本題D)項中錯誤的關鍵是對數組初始化時,可以在變量定義時整體賦初值,但不能在賦值語句中整體賦值。

  (26)D 【解析】 C語言中數組下標是從0開始的,所以二維數組a[2][3]的第一維下標取值為0、1;第二維的下標取值為0、1、2,因而選項A)、B)、C)都是錯誤的,選項D)表示數組元素a[0][0]。

  (27)B 【解析】 scanf()語句用"空格"區別不同的字符串;getc()與getchar()語句不能用于字符串的讀入。

  (28)A 【解析】 帶參數的宏定義命令行形式如下:#define 宏名(形參表) 替換文本。首先進行M的宏替換,之后再進行N的宏替換,替換后的表達式為 (a)*(b)/(c)。

  (29)D 【解析】 結構體變量所占用內存的字節數是其所有成員所占用內存字節數之和。本題中整型變量i所占用的內存是2字節,字符型變量ch所占用的內存是1字節,雙精度型變量f所占用的內存是8字節,三者相加即可。

  (30)A 【解析】 首先利用fwrite函數將數組a中的數據寫到文件中,接著fseek函數的功能是讀文件的位置,指針從文件頭向后移動3個int型數據,這時文件位置指針指向的是文件中的第4個int數據"4",然后 fread函數將文件fp中的后3個數據4,5,6讀到數組a中,這樣就覆蓋了數組中原來的前3項數據。最后數組中的數據就成了{4,5,6,4,5,6}。

  (31)C 【解析】 在for(i=0;i<12;i++) c[s[i]]++中,數組元素s[i]的值作為數組c的下標,當退出循環時,數組c的4個元素的值分別為4、3、3、2。

  (32)D 【解析】 在本題中,主函數在調用fun()函數進行排序時,傳遞的參數是c+4和6,fun()函數實現的功能是將數組c的第5個元素開始的6個元素依次進行從大到小的順序排列。排序之后,數組c的內容變為{1,2,3,4,9,8,7,6,5,0}。

  (33)C 【解析】 本題考查的重點是拷貝字符串──使用strcpy()函數,該函數的調用方式是:strcpy(字符數組, 字符串),其中"字符串"可以是字符串常量,也可以是字符數組。函數的功能是:將"字符串"完整地復制到"字符數組"中,字符數組中原有的內容被覆蓋。

  使用該函數時注意:①字符數組必須定義得足夠大,以便容納復制過來的字符串。復制時,連同結束標志'\0'一起復制;②不能用賦值運算符"="將一個字符串直接賦值給一個字符數組,只能用strcpy( )函數處理。

  另外,本題還考查連接字符串的strcat()函數,其調用方式是:strcat(字符數組, 字符串)。

  功能是把"字符串"連接到"字符數組"中的字符串尾端,并存儲于"字符數組"中。"字符數組"中原來的結束標志,被"字符串"的第一個字符覆蓋,而"字符串"在操作中未被修改。

  使用該函數時注意:①由于沒有邊界檢查,編程者要注意保證"字符數組"定義得足夠大,以便容納連接后的目標字符串;否則,會因長度不夠而產生問題;②連接前兩個字符串都有結束標志'\0',連接后"字符數組"中存儲的字符串的結束標志'\0'被舍棄,只在目標串的最后保留一個'\0'。

  (34)D 【解析】 該程序先判斷a[i]

  (35)A 【解析】 本題考查了用字符指針引用字符數組中的字符及對字符的操作。函數abc()的for語句執行過程是:從字符指針str所指向的字符數組的第一個元素開始,逐一判斷字符是否為'c',若不是就執行一次數組元素的賦值過程,若字符為'c'就不執行。

  (36)A 【解析】 本題考查的是函數調用時的參數傳遞問題。程序在調用函數f時,傳給函數f的參數只是結構變量c在棧中的一個拷貝,函數f的所有操作只是針對這個數據拷貝進行的修改,這些都不會影響變量c的值。

  (37)B 【解析】 在函數中首先把整型數組a[10]中的每個元素寫入文件d1.dat中,然后再次打開這個文件,把文件d1.dat中的內容讀入到整型變量n中,最后輸出變量n的值。

  (38)C 【解析】 ^是按位異或運算,如果對應位不同則結果為1,相同則為0。

  (39)D 【解析】 在整個程序運行期間,靜態局部變量在內存的靜態存儲區中占據著永久的存儲單元,即使退出函數以后,下次再進入該函數時,靜態局部變量仍使用原來的存儲單元,靜態局部變量的初值是在編譯的時候賦予的,在程序執行期間不再賦予初值。本題由于連續三次調用函數fun(),三次對靜態變量x進行操作,x的值應依次為6,7,8。

  (40)D 【解析】 本題中fun函數實現了字符串函數strcat的功能,將字符串aa連接到字符串ss的末尾。調用fun函數時,形參t和s分別指向了字符串ss和aa,然后通過一個while循環使t指向字符串ss的結束符的位置,第二個while循環將字符串aa中的字符(包括結束符'\0')逐個復制到字符串ss的末尾處。

  二、選擇題

  (1)【1】 需求規格說明書 【解析】 軟件需求規格說明書是需求分析階段的最后成果,是軟件開發中的重要文檔之一。需求規格說明書包括正確性、無歧義性、完整性、可驗證性、一致性、可理解性、可修改性和可追蹤性等。

  (2)【2】 輸出結果 【解析】 測試用例(Text Case)是為測試設計的數據。測試用例由測試輸入數據和與之對應的預期輸出結果兩部分組成。

  (3)【3】 存儲結構 【解析】 數據的邏輯結構是指反映數據元素之間邏輯關系的數據結構;數據的存儲結構是指數據的邏輯結構在計算機存儲空間中的存放形式。在數據的存儲結構中,不僅要存放各數據元素的信息,還需要存放各數據元素之間的前后件關系的信息。

  (4)【4】 19 【解析】 在任意一棵二叉樹中,度為0的結點(即葉子結點)總是比度為2的結點多一個。

  (5)【5】 數據模型 【解析】 數據模型是對客觀事物及聯系的數據描述,它反映了實體內部及實體與實體之間的聯系。因此,數據模型是數據庫設計的核心。

  (6)【6】 1 【解析】 字符空格的ASCII碼不為0,所以本題中表達式?!c?的值為0, b=0&&1的結果顯然為0。

  (7)【7】 3 【解析】 本題考查的是C語言逗號表達式的相關知識。程序在計算逗號表達式時,從左到右計算由逗號分隔各表達式的值,整個逗號表達式的值等于其中最后一個表達式的值。本題中,首先i被賦值為2,再自加1,最后i++的值計算為3。

  (8)【8】 b=I+1 【解析】 本題考查了for循環語句的執行過程。i+=2是修正表達式,執行一次循環體后i的值就增加2,i的初始值為0,每次加2后的和累加至a,所以a的值就是1 10之間的偶數之和; b的值是1 11之間的奇數和,但在輸出b值時,c去掉多加的11,即為1 10之間的奇數之和。

  (9)【9】 a[0][I] 【10】 b[I][0] 【解析】 b[i][N-1]= a[0][i]實現把a所指二維數組中的第0行放到b所指二維數組的最后一列中,?b[I][0]=a[N-1][I] 實現將a所指N行N列的二維數組中的最后一行放到b所指二維數組中的第0列。

  (10)【11】 3 5 【解析】 函數swap(int *a,int *b)的功能是實現*a和?*b?中兩個數據的交換,在主函數中調用swap(p,q)后,參形指針變量a和b分別指向i和j,在swap(int *a,int *b)執行完后,指針變量a和b分別指向j和i,而指針變量p,q所指向變量的值沒有發生變化,所以輸出結果為3 5。

  (11)【12】 a b c d e f g l k j I h 【解析】 本題主要考查了字符變量可參與的運算。因為字符在計算機中是以ASCII碼的形式存放的,所以字符變量可看作整型變量來處理,如參與算術運算等,某字符的大寫字母的ASCII碼值比它對應的小寫字母ASCII碼值小32。

  (12)【13】 4 【解析】 在主函數中,語句p=a;p++使用指針p指向數組a[1],所以輸出結果為4。

  (13)【14】 -> 【解析】 若結構體變量abc有成員a,并有指針p_abc指向結構變量abc,則引用變量abc成員a的標記形式有abc.a和p_abc->a。

  (14)【15】 1,2,3,0,0,1,2,3,0,0, 【解析】 本題考查文件讀寫函數fread和fwrite的用法。fwrite函數將數組a的前5個元素輸出到文件fp中兩次,共10個字節,再調用fread函數從文件fp中讀取這10個字節的數據到數組a中,此時數組a的內容就變為{1,2,3,0,0,1,2,3,0,0},最后的輸出結果為"1,2,3,0,0,1,2,3,0,0,"。

考試頻道小編綜合整理了全國計算機等級考試二級C語言試題

【全國計算機等級考試二級C語言試題二】相關文章:

全國計算機等級考試二級C語言03-29

全國計算機等級考試二級C語言筆試第二套10-19

計算機等級考試二級C語言真題09-26

全國計算機二級《C語言》備考復習試題12-08

全國計算機二級《C語言》鞏固試題及答案12-07

全國計算機二級《C語言》考試題庫與答案06-29

2016全國計算機二級《C語言》機考試題及答案03-11

2016年全國計算機二級《C語言》沖刺試題11-27

計算機二級《C語言》考試沖刺試題及答案201603-11

主站蜘蛛池模板: 奉贤区| 普宁市| 常山县| 吉安县| 宜昌市| 临漳县| 玉山县| 治县。| 长治县| 修文县| 故城县| 内丘县| 兰坪| 科技| 股票| 双峰县| 洛扎县| 修文县| 商河县| 丰原市| 来宾市| 晋江市| 凤城市| 清苑县| 迭部县| 北流市| 洪洞县| 巴里| 泽州县| 武定县| 商丘市| 中阳县| 乐昌市| 齐齐哈尔市| 广水市| 芜湖市| 达日县| 德江县| 德兴市| 赞皇县| 年辖:市辖区|