亚洲一级免费看,特黄特色大片免费观看播放器,777毛片,久久久久国产一区二区三区四区,欧美三级一区二区,国产精品一区二区久久久久,人人澡人人草

試題

3月全國計算機二級考試C語言真題文字版

時間:2025-03-09 16:09:53 林惜 試題 我要投稿
  • 相關(guān)推薦

3月全國計算機二級考試C語言真題(文字版)

  在學(xué)習(xí)、工作生活中,我們都經(jīng)?吹娇荚囌骖}的身影,借助考試真題可以更好地考查參試者所掌握的知識和技能。你所見過的考試真題是什么樣的呢?以下是小編精心整理的3月全國計算機二級考試C語言真題(文字版),希望能夠幫助到大家。

3月全國計算機二級考試C語言真題(文字版)

  3月全國計算機二級考試C語言真題文字版 1

  一、 選擇題

  (1)下列關(guān)于棧敘述正確的是

  A)棧頂元素最先能被刪除

  B)棧頂元素最后才能被刪除

  C)棧底元素永遠不能被刪除

  D)以上三種說法都不對

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

  A)有一個以上根結(jié)點的數(shù)據(jù)結(jié)構(gòu)不一定是非線性結(jié)構(gòu)

  B)只有一個根結(jié)點的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu)

  C)循環(huán)鏈表是非線性結(jié)構(gòu)

  D)雙向鏈表是非線性結(jié)構(gòu)

  (3)某二叉樹共有7個結(jié)點,其中葉子結(jié)點只有1個,則該二叉樹的深度為(假設(shè)根結(jié)點在第1層)

  A)3

  B)4

  C)6

  D)7

  (4)在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是

  A)軟件集成測試計劃

  B)軟件詳細設(shè)計說明書

  C)用戶手冊

  D)軟件需求規(guī)格說明書

  (5)結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括

  A)順序結(jié)構(gòu)

  B)GOTO跳轉(zhuǎn)

  C)選擇(分支)結(jié)構(gòu)

  D)重復(fù)(循環(huán))結(jié)構(gòu)

  (6)下面描述中錯誤的是

  A)系統(tǒng)總體結(jié)構(gòu)圖支持軟件系統(tǒng)的詳細設(shè)計

  B)軟件設(shè)計是將軟件需求轉(zhuǎn)換為軟件表示的過程

  C)數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫設(shè)計是軟件設(shè)計的任務(wù)之一

  D)PAD圖是軟件詳細設(shè)計的表示工具

  (7)負責(zé)數(shù)據(jù)庫中查詢操作的數(shù)據(jù)庫語言是

  A)數(shù)據(jù)定義語言

  B)數(shù)據(jù)管理語言

  C)數(shù)據(jù)操縱語言

  D)數(shù)據(jù)控制語言

  (8)一個教師可講授多門課程,一門課程可由多個教師講授。則實體教師和課程間的聯(lián)系是

  A)1:1聯(lián)系

  B)1:m聯(lián)系

  C)m:1聯(lián)系

  D)m:n聯(lián)系

  (9)有三個關(guān)系R、S和T如下:

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

  A)自然連接

  B)交

  C)除

  D)并

  (10)定義無符號整數(shù)類為UInt,下面可以作為類UInt實例化值的是

  A)-369

  B)369

  C)0.369

  D)整數(shù)集合{1,2,3,4,5}

 。11)有以下程序

  #include

  int a=5;

  void fun(int b)

  { int a=10;

  a+=b;printf(“%d”,a);

  }

  main()

  { int c=20;

  fun(c);a+=c;printf(“%d ”,a);

  }

  程序運行后的輸出結(jié)果是【11】。

  (12)以下敘述中錯誤的是

  A)C語言的可執(zhí)行程序是由一系列機器指令構(gòu)成的

  B)用C語言編寫的源程序不能直接在計算機上運行

  C)通過編譯得到的二進制目標程序需要連接才可以運行

  D)在沒有安裝C語言集成開發(fā)環(huán)境的機器上不能運行C源程序生成的exe文件

  (13)以下選項中不能用作C程序合法常量的是

  A)1,234

  B)\123

  C)123

  D)"\x7G"

  (14)以下選項中可用作C程序合法實數(shù)的是

  A).1e0

  B)3.0e0.2

  C)E9

  D)9.12E

  (15)若有定義語句:int a=3,b=2,c=1;,以下選項中錯誤的賦值表達式是

  A)a=(b=4)=3;

  B)a=b=c+1;

  C)a=(b=4)+c;

  D)a=1+(b=c=4);

  (16)有以下程序段

  char name[20];

  int num;

  scanf("name=%snum=%d",name;&num);

  當(dāng)執(zhí)行上述程序段,并從鍵盤輸入:name=Lili num=1001<回車>后,name的值為

  A)Lili

  B)name=Lili

  C)Lilinum=

  D)name=Lili num=1001

  (17)if語句的基本形式是:if(表達式)語句,以下關(guān)于“表達式”值的敘述中正確的是

  A)必須是邏輯值

  B)必須是整數(shù)值

  C)必須是正數(shù)

  D)可以是任意合法的數(shù)值

  (18)有以下程序

  #include

  main()

  { int x=011;

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

  }

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

  A)12

  B)11

  C)10

  D)9

  (19)有以下程序

  #include

  main()

  { int s;

  scanf("%d",&s);

  while(s>0)

  { switch(s)

  { case 1:printf("%d",s+5);

  case 2:printf("%d",s+4);break;

  case 3:printf("%d",s+3);

  default:printf("%d",s+1);break;

  }

  scanf("%d",&s);

  }

  }

  運行時,若輸入1 2 34 5 0<回車>,則輸出結(jié)果是

  A)6566456

  B)66656

  C)66666

  D)6666656

  (20)有以下程序段

  int i,n;

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

  {n=rand()%5;

  switch (n)

  { case 1:

  case 3:printf("%d\n",n); break;

  case 2:

  case 4:printf("%d\n",n);continue;

  case 0:exit(0);

  }

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

  }

  以下關(guān)于程序段執(zhí)行情況的敘述,正確的是

  A)for循環(huán)語句固定執(zhí)行8次

  B)當(dāng)產(chǎn)生的隨機數(shù)n為4時結(jié)束循環(huán)操作

  C)當(dāng)產(chǎn)生的隨機數(shù)n為1和2時不做任何操作

  D)當(dāng)產(chǎn)生的隨機數(shù)n為0時結(jié)束程序運行

  (21)有以下程序

  #include

  main()

  { chars[]="012xy\08s34f4w2";

  int i,n=0;

  for(i=0;s[i]!=0;i++)

  if(s[i]>=0&&s[i]<=9)n++;

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

  }

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

  A)0

  B)3

  C)7

  D)8

 。22)下列關(guān)于C語言文件的敘述中正確的是

  A.文件由一系列數(shù)據(jù)依次排列組成,只能構(gòu)成二進制文件

  B.文件由結(jié)構(gòu)序列組成,可以構(gòu)成二進制文件或文本文件

  C.文件由數(shù)據(jù)序列組成,可以構(gòu)成二進制文件或文本文件

  D.文件由字符序列組成,其類型只能是文本文件

  (23)有以下程序

  #include

  main()

  { char b,c;int i;

  b=a; c=A;

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

  { if(i%2) puti+

  B);

  else puti+

  C);

  }

  printf("\n");

  }

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

  A)ABCDEF

  B)AbCdEf

  C)aBcDeF

  D)abcdef

  (24)設(shè)有定義:double x[10],*p=x;,以下能給數(shù)組x下標為6的元素讀入數(shù)據(jù)的正確語句是

  A)scanf("%f",&x[6]);

  B)scanf("%lf",*(x+6));

  C)scanf("%lf",p+6);

  D)scanf("%lf",p[6]);

  (25)有以下程序(說明:字母A的ASCII碼值是65)

  #include

  voidfun(char *s)

  { while(*s)

  { if(*s%2) printf("%c",*s);

  s++;

  }

  }

  main()

  { char a[]="BYTE";

  fun(a);

  printf("\n");

  }

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

  A)BY

  B)BT

  C)YT

  D) YE

 。26)有以下程序

  #include

  #include

  struct A

  { int a; char b[10]; double c;};

  struct A f(struct A t);

  main()

  { struct A a={1001,”ZhangDa”,1098.0};

  a=f(a);jprintf(“%d,%s,%6.1f ”,a.a,a.b,a.C.;

  }

  struct A f(struct A t)

  ( t.a=1002;strcpy(t.b,”ChangRong”);t.c=1202.0;return t; )

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

  A.1001,ZhangDa,1098.0

  B.1001,ZhangDa,1202.0

  C.1001,ChangRong,1098.0

  D.1001,ChangRong,1202.0

 。39)若有以下程序段

  int r=8;

  printf(“%d ”,r>>1);

  輸出結(jié)果是

  A.16

  B.8

  C.4

  D.2

  (27)有以下程序

  #include

  main()

  { int x=1,y=0;

  if(!x) y++;

  else if(x==0)

  if (x) y+=2;

  else y+=3;

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

  }

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

  A)3

  B)2

  C)1

  D) 0

  (28)若有定義語句:char s[3][10],(*k)[3],*p;,則以下賦值語句正確的是

  A)p=s;

  B)p=k;

  C)p=s[0];

  D)k=s;

  (29)有以下程序

  #include

  voidfun(char *

  C)

  { while(*

  C)

  {if(*c>=a&&*c<=z) *c=*c-(a-A);

  c++;

  }

  }

  main()

  { chars[81];

  gets(s);

  fun(s);

  puts(s);

  }

  當(dāng)執(zhí)行程序時從鍵盤上輸入HelloBeijing<回車>,則程序的輸出結(jié)果是

  A)hello beijing

  B)Hello Beijing

  C)HELLO BEIJING

  D)hELLO Beijing

  (30)以下函數(shù)的功能是:通過鍵盤輸入數(shù)據(jù),為數(shù)組中的所有元素賦值。

  #include

  #define N 10

  void fun(intx[N])

  { int i=0;

  while(i}

  在程序中下劃線處應(yīng)填入的是

  A)x+i

  B)&x[i+1]

  C)x+(i++)

  D)&x[++i](31)有以下程序

  #include

  main()

  { chara[30],b[30];

  scanf("%s",a);

  gets(

  B);

  printf("%s\n %s\n",a,

  B);

  }

  程序運行時若輸入:

  how areyou? I am fine<回車>

  則輸出結(jié)果是

  A)how areyou?

  B)how

  I am fine are you? I am fine

  C)how areyou? I am fine

  D)how are you?

  (32)設(shè)有如下函數(shù)定義

  int fun(intk)

  { if(k<1) return 0;

  elseif(k==1) return 1;

  else returnfun(k-1)+1;

  }

  若執(zhí)行調(diào)用語句:n=fun(3);,則函數(shù)fun總共被調(diào)用的次數(shù)是

  A)2

  B)3

  C)4

  D)5

  (33)有以下程序

  #include

  int fun (int x,int y)

  { if(x!=y) return ((x+y)/2);

  else return (x);

  }

  main()

  { inta=4,b=5,c=6;

  printf("%d\n",fun(2*a,fun(b,

  C)));

  }

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

  A)3

  B)6

  C)8

  D)12

  (34)有以下程序

  #include

  int fun()

  { static intx=1;

  x*=2;

  return x;

  }

  main()

  { int i,s=1;

  for(i=1;i<=3;i++) s*=fun();

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

  }

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

  A)0

  B)10

  C)30

  D)64

  (35)有以下程序

  #include

  #define S(x)4*(x)*x+1

  main()

  { intk=5,j=2;

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

  }

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

  A)197

  B)143

  C)33

  D)28

  (36)設(shè)有定義:struct {char mark[12];int num1;double num2;} t1,t2;,若變量均已正確賦初值,則以下語句中錯誤的是

  A)t1=t2;

  B)t2.num1=t1.num1;

  C)t2.mark=t1.mark;

  D)t2.num2=t1.num2;

  (37)有以下程序

  #include

  struct ord

  { int x,y;}dt[2]={1,2,3,4};

  main()

  {

  struct ord *p=dt;

  printf("%d,",++(p->x));printf("%d\n",++(p->y));

  }

  程序運行后的.輸出結(jié)果是

  A)1,2

  B)4,1

  C)3,4

  D)2,3

  (38)有以下程序

  #include

  struct S

  { inta,b;}data[2]={10,100,20,200};

  main()

  { struct Sp=data[1];

  printf("%d\n",++(p.a));

  }

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

  A)10

  B)11

  C)20

  D)21

  (39)有以下程序

  #include

  main()

  { unsignedchar a=8,c;

  c=a>>3;

  printf("%d\n",

  C);

  }

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

  A)32

  B)16

  C)1

  D)0

  (40)設(shè)fp已定義,執(zhí)行語句fp=fopen("file","w");后,以下針對文本文件file操作敘述的選項中正確的是

  A)寫操作結(jié)束后可以從頭開始讀

  B)只能寫不能讀

  C)可以在原有內(nèi)容后追加寫

  D)可以隨意讀和寫

  二、填空題

  (1)有序線性表能進行二分查找的前提是該線性表必須是【1】存儲的。

  (2)一棵二叉樹的中序遍歷結(jié)果為DBEAFC,前序遍歷結(jié)果為ABDECF,則后序遍歷結(jié)果為 【2】 。

  (3)對軟件設(shè)計的最小單位(模塊或程序單元)進行的測試通常稱為 【3】 測試。

  (4)實體完整性約束要求關(guān)系數(shù)據(jù)庫中元組的【4】屬性值不能為空。

  (5)在關(guān)系A(chǔ)(S,SN,

  D)和關(guān)系B(D,CN,NM)中,A的主關(guān)鍵字是S,B的主關(guān)鍵字是D,則稱 【5】 是關(guān)系A(chǔ)的外碼。

  (6)以下程序運行后的輸出結(jié)果是【6】。

  #include

  main()

  { int a;

  a=(int)((double)(3/2)+0.5+(int)1.99*2);

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

  }

  (7) 有以下程序

  #include

  main()

  { int x;

  scanf("%d",&x);

  if(x>15)printf("%d",x-5);

  if(x>10)printf("%d",x);

  if(x>5)printf("%d\n",x+5);

  }

  若程序運行時從鍵盤輸入12<回車>,則輸出結(jié)果為【7】。

  (8)有以下程序(說明:字符0的ASCII碼值為48)

  #include

  main()

  { charc1,c2;

  scanf("%d",&c1);

  c2=c1+9;

  printf("%c%c\n",c1,c2);

  }

  若程序運行時從鍵盤輸入48<回車>,則輸出結(jié)果為【8】。

  (9)有以下函數(shù)

  voidprt(char ch,int n)

  { int i;

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

  printf(i%6!=0?"%c":"%c\n",ch);

  }

  執(zhí)行調(diào)用語句prt(*,24);后,函數(shù)共輸出了 【9】 行*號。

  (10)以下程序運行后的輸出結(jié)果是【10】。

  #include

  main()

  { int x=10,y=20,t=0;

  if(x==y)t=x;x=y;y=t;

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

  }

  (11)己知a所指的數(shù)組中有N個元素。函數(shù)fun的功能是,將下標k(k>0)開始的后續(xù)元素全部向前移動一個位置。請?zhí)羁铡?/p>

  void fun(inta[N],int k)

  { int i;

  for(i=k;i  }

  (12)有以下程序,請在【12】處填寫正確語句,使程序可正常編譯運行。

  #include

  【12】

  main()

  { double x,y,(*p)();

  scanf("%lf%lf",&x,&y);

  p=avg;

  printf("%f\n",(*p)(x,y));

  }

  double avg(double a,double

  B)

  {return((a+

  B)/2);}

  (13)以下程序運行后的輸出結(jié)果是 【13】 。

  #include

  main()

  { int i,n[5]={0};

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

  { n[i]=n[i-1]*2+1;printf("%d",n[i]); }

  printf("\n");

  }

  (14)以下程序運行后的輸出結(jié)果是 【14】 。

  #include

  #include

  #include

  main()

  { char *p;int i;

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

  strcpy(p,"welcome");

  for(i=6;i>=0;i--) put*(p+i));

  printf("\n"); free(p);

  }

  (15)以下程序運行后的輸出結(jié)果是【15】。

  #include

  main()

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

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

  fwrite(x,sizeof(int),3,fp);

  rewind(fp);

  fread(x,sizeof(int),3,fp);

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

  printf("\n");

  fclose(fp);

  }

  3月全國計算機二級考試C語言真題文字版 2

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

 。1)下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是

  A.循環(huán)隊列

  B.帶鏈隊列

  C.二叉樹

  D.帶鏈棧

 。2)下列數(shù)據(jù)結(jié)果中,能夠按照“先進后出”原則存取數(shù)據(jù)的是

  A.循環(huán)隊列

  B.棧

  C.隊列

  D.二叉樹

 。3)對于循環(huán)隊列,下列敘述中正確的是

  A.隊頭指針是固定不變的

  B.隊頭指針一定大于隊尾指針

  C.隊頭指針一定小于隊尾指針

  D.隊頭指針可以大于隊尾指針,也可以小于隊尾指針

 。4)算法的空間復(fù)雜度是指

  A.算法在執(zhí)行過程中所需要的計算機存儲空間

  B.算法所處理的數(shù)據(jù)量

  C.算法程序中的語句或指令條數(shù)

  D.算法在執(zhí)行過程中所需要的臨時工作單元數(shù)

  (5)軟件設(shè)計中劃分模塊的一個準則是

  A.低內(nèi)聚低耦合

  B.高內(nèi)聚低耦合

  C.低內(nèi)聚高耦合

  D. 高內(nèi)聚高耦合

 。6)下列選項中不屬于結(jié)構(gòu)化程序設(shè)計原則的是

  A.自頂向下

  B. 可封裝

  C.模塊化

  D. 逐步求精

  (7)軟件詳細設(shè)計產(chǎn)生的圖如下:

  該圖是

  A.N-S圖

  B.PAD圖

  C.程序流程圖

  D. E-R圖

 。8)數(shù)據(jù)庫管理系統(tǒng)是

  A.操作系統(tǒng)的一部分

  B.在操作系統(tǒng)支持下的系統(tǒng)軟件

  C.一種編譯系統(tǒng)

  D. 一種操作系統(tǒng)

 。9)在E-R圖中,用來表示實體聯(lián)系的圖形是

  A.橢圓圖

  B.矩形

  C.菱形

  D. 三角形

 。10)有三個關(guān)系R,S和T如下:

  其中關(guān)系T由關(guān)系R和S通過某種操作得到,該操作為

  A.選擇

  B.投影

  C.交

  D.并

  (11)以下敘述中正確的是

  A.程序設(shè)計的任務(wù)就是編寫程序代碼并上機調(diào)試

  B.程序設(shè)計的任務(wù)就是確定所用數(shù)據(jù)結(jié)構(gòu)

  C.程序設(shè)計的任務(wù)就是確定所用算法

  D.以上三種說法都不完整

 。12)以下選項中,能用作用戶標識符的是

  A.void

  B.8_8

  C._0_

  D.unsigned

  (13)閱讀以下程序

  #include

  main()

  { int case; float printF;

  printf(“請輸入2個數(shù):”);

  scanf(“%d %f”,&case,&pjrintF);

  printf(“%d %f ”,case,printF);

  }

  該程序編譯時產(chǎn)生錯誤,其出錯原因是

  A.定義語句出錯,case是關(guān)鍵字,不能用作用戶自定義標識符

  B.定義語句出錯,printF不能用作用戶自定義標識符

  C.定義語句無錯,scanf不能作為輸入函數(shù)使用

  D.定義語句無錯,printf不能輸出case的值

 。14)表達式:(int)((double)9/2)-(9)%2的值是

  A.0

  B.3

  C.4

  D.5

  (15)若有定義語句:int x=10;,則表達式x-=x+x的值為

  A.-20

  B.-10

  C.0

  D.10

  (16)有以下程序

  #include

  main()

  { int a=1,b=0;

  printf(“%d,”,b=a+b);

  printf(“%d ”,a=2*b);

  }

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

  A.0,0

  B.1,0

  C.3,2

  D.1,2

  17)設(shè)有定義:int a=1,b=2,c=3;,以下語句中執(zhí)行效果與其它三個不同的是

  A.if(a>B. c=a,a=b,b=c;

  B.if(a>B. {c=a,a=b,b=c;}

  C.if(a>B. c=a;a=b;b=c;

  D.if(a>B. {c=a;a=b;b=c;}

 。18)有以下程序

  #include

  main()

  { int c=0,k;

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

  switch (k)

  { default: c+=k

  case 2: c++;break;

  case 4: c+=2;break;

  }

  printf(“%d ”,C.;

  }

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

  A.3

  B.5

  C.7

  D.9

 。19)以下程序段中,與語句:k=a>b?(b>c?1:0):0;功能相同的是

  A.if((a>b)&&(b>C.) k=1;

  else k=0;

  B.if((a>b)||(b>C. k=1;

  else k=0;

  C.if(a<=B. k=0;

  else if(b<=C.k=1;

  D.if(a>B. k=1;

  else if(b>C.k=1;

  else k=0;

  20)有以下程序

  #include

  main()

  { char s[]={“012xy”};int i,n=0;

  for(i=0;s[i]!=0;i++)

  if(s[i]>=’a’&&s[i]<=’z’) n++;

  printf(“%d ”,n);

  }

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

  A.0

  B.2

  C.3

  D.5

 。21)有以下程序

  #include

  main()

  { int n=2,k=0;

  while(k++&&n++>2);

  printf(“%d %d ”,k,n);

  }

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

  A.0 2

  B.1 3

  C.5 7

  D.1 2

 。22)有以下定義語句,編譯時會出現(xiàn)編譯錯誤的是

  A.char a=’a’;

  B.char a=’ ’;

  C.char a=’aa’;

  D.char a=’x2d’;

 。23)有以下程序

  #include

  main()

  { char c1,c2;

  c1=’A’+’8’-‘4’;

  c2=’A’+’8’-‘5’;

  printf(“%c,%d ”,c1,c2);

  }

  已知字母A的ASCII碼為65,程序運行后的輸出結(jié)果是

  A.E,68

  B.D,69

  C.E,D

  D.輸出無定值

 。24)有以下程序

  #include

  void fun(int p)

  { int d=2;

  p=d++; printf(“%d”,p);}

  main()

  { int a=1;

  fun(a); printf(“%d ”,a);}

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

  A.32

  B.12

  C.21

  D.22

 。25)以下函數(shù)findmax擬實現(xiàn)在數(shù)組中查找最大值并作為函數(shù)值返回,但程序中有錯導(dǎo)致不能實現(xiàn)預(yù)定功能

  #define MIN -2147483647

  int findmax (int x[],int n)

  { int i,max;

  for(i=0;i

  { max=MIN;

  if(max

  return max;

  }

  造成錯誤的原因是

  A.定義語句int i,max;中max未賦初值

  B.賦值語句max=MIN;中,不應(yīng)給max賦MIN值

  C.語句if(max

  D.賦值語句max=MIN;放錯了位置

 。26)有以下程序

  #include

  main()

  { int m=1,n=2,*p=&m,*q=&n,*r;

  r=p;p=q;q=r;

  printf(“%d,%d,%d,%d ”,m,n,*p,*q);

  }

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

  A.1,2,1,2

  B.1,2,2,1

  C.2,1,2,1

  D.2,1,1,2

  (27)若有定義語句:int a[4][10],*p,*q[4];且0≤i<4,則錯誤的賦值是

  A.p=a

  B.q[i]=a[i]

  C.p=a[i]

  D.p=&a[2][1]

 。28)有以下程序

  #include

  #include

  main()

  { char str[ ][20]={“One*World”, “One*Dream!”},*p=str[1];

  printf(“%d,”,strlen(p));printf(“%s ”,p);

  }

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

  A.9,One*World

  B.9,One*Dream

  C.10,One*Dream

  D.10,One*World

 。29)有以下程序

  #include

  main()

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

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

  switch(i%2)

  { case 0:switch(a[i]%2)

  {case 0:a[i]++;break;

  case 1:a[i]--;

  }break;

  case 1:a[i[=0;

  }

  for(i=0;i<4;i++) printf(“%d”,a[i]); printf(“ ”);

  }

  A.3 3 4 4

  B.2 0 5 0

  C.3 0 4 0

  D.0 3 0 4

 。30)有以下程序

  #include

  #include

  main()

  { char a[10]=”abcd”;

  printf(“%d,%d ”,strlen(a),sizeof(a));

  }

  程序運行后的.輸出結(jié)果是

  A.7,4

  B.4,10

  C.8,8

  D.10,10

  (31)下面是有關(guān)C語言字符數(shù)組的描述,其中錯誤的是

  A.不可以用賦值語句給字符數(shù)組名賦字符串

  B.可以用輸入語句把字符串整體輸入給字符數(shù)組

  C.字符數(shù)組中的內(nèi)容不一定是字符串

  D.字符數(shù)組只能存放字符串

 。32)下列函數(shù)的功能是

  fun(char * a,char * b)

  { while((*b=*a)!=’’) {a++,b++;} }

  A.將a所指字符串賦給b所指空間

  B.使指針b指向a所指字符串

  C.將a所指字符串和b所指字符串進行比較

  D.檢查a和b所指字符串中是否有’’

  (33)設(shè)有以下函數(shù)

  void fun(int n,char * s) {……}

  則下面對函數(shù)指針的定義和賦值均是正確的是

  A.void (*pf)(); pf=fun;

  B.viod *pf(); pf=fun;

  C.void *pf(); *pf=fun;

  D.void (*pf)(int,char);pf=&fun;

 。34)有以下程序

  #include

  int f(int n);

  main()

  { int a=3,s;

  s=f(a);s=s+f(a);printf(“%d ”,s);

  }

  int f(int n)

  { static int a=1;

  n+=a++;

  return n;

  }

  程序運行以后的輸出結(jié)果是

  A.7

  B.8

  C.9

  D.10

  (35)有以下程序

  #include

  #define f(x) x*x*x

  main()

  { int a=3,s,t;

  s=f(a+1);t=f((a+1));

  printf(“%d,%d ’,s,t);

  }

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

  A.10,64

  B.10,10

  C.64,10

  D.64,64

 。36)下面結(jié)構(gòu)體的定義語句中,錯誤的是

  A.struct ord {int x;int y;int z;}; struct ord a;

  B.struct ord {int x;int y;int z;} struct ord a;

  C.struct ord {int x;int y;int z;} a;

  D.struct {int x;int y;int z;} a;

 。37)設(shè)有定義:char *c;,以下選項中能夠使字符型指針c正確指向一個字符串的是

  A.char str[ ]=”string”;c=str;

  B.scanf(“%s”,C.;

  C.c=get);

  D.*c=”string”;

【3月全國計算機二級考試C語言真題文字版】相關(guān)文章:

全國計算機二級考試《C語言》真題與答案09-03

全國計算機二級考試《C語言》真題練習(xí)及答案09-20

2014年3月全國計算機二級考試C語言真題(文字版)答案05-16

全國計算機二級C語言歷年真題02-11

計算機二級考試C語言無紙化真題10-06

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

2017全國計算機二級C考試真題10-05

全國計算機二級考試C++真題09-20

上半年全國計算機二級C語言考試真題11-26