欧美日韩不卡一区二区三区,www.蜜臀.com,高清国产一区二区三区四区五区,欧美日韩三级视频,欧美性综合,精品国产91久久久久久,99a精品视频在线观看

試題

計(jì)算機(jī)二級C語言選擇題及答案

時(shí)間:2025-05-23 00:42:09 試題 我要投稿

計(jì)算機(jī)二級C語言選擇題及答案2016

  1.常采用的兩種存儲結(jié)構(gòu)是(  )。

  A.順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu)

  B.散列方法和索引方式

  C.鏈表存儲結(jié)構(gòu)和數(shù)組

  D.線性存儲結(jié)構(gòu)和非線性存儲結(jié)構(gòu)

  2.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是(  )。

  A.程序的規(guī)模

  B.程序的效率

  C.程序設(shè)計(jì)語言的先進(jìn)性

  D.程序的易讀性

  3.在面向?qū)ο蠓椒ㄖ校?  )描述的是具有相似屬性與操作的一組對象。

  A.屬性

  B.事件

  C.方法

  D.類

  4.有下列二叉樹.對此二叉樹前序遍歷的結(jié)果為(  )。

  A.ACFXDBEYZ

  B.ABEFXYZCD

  C.ABCDEFXY7

  D.ABDYECFXZ

  5.C語青的基本單位是(  )。

  A.函數(shù)

  B.過程

  C.子程序

  D.子函數(shù)

  6.算法分析的目的是(  )。

  A.找出數(shù)據(jù)結(jié)構(gòu)的合理性

  B.找出算法中輸入和輸出之間的關(guān)系

  C.分析算法的易懂性和可靠性

  D.分析算法的效率以求改進(jìn)

  7.用鏈表表示線性表的優(yōu)點(diǎn)是(  )。

  A.便于隨機(jī)存取

  B.花費(fèi)的存儲空間較順序存儲少

  C.便于捅入和刪除操作

  D.數(shù)據(jù)元素的物理順序與邏輯順序相同

  8.能正確表示“當(dāng)x的取值在[1,10]和[100,110]范圍內(nèi)為真,否則為假”的表達(dá)式是(  )。

  A.(x>=1)&&(x<=10)&&(x>=100)&&(X< =110)

  B.(x>=1)||(x<2 10="" x="">=100)||(x<=1l0)

  C.(x>=1)&&(x<=10)||(x>=100)&&(x<= 110)

  D.(x>=1)||(x<=10)&&(x>=100)||(x<=l 10)

  9.以下有4組用戶標(biāo)識符,其中合法的一組是(  )。

  A.FOr

  -sub

  Case

  B.4d

  DO

  Size

  C.f2_G3

  IF

  abc

  D.WORD

  void

  define

  10.語句:“printf("%d",(a=)&&(b=-2));”的輸出結(jié)果是(  )。

  A.無輸出

  B.結(jié)果是不確定

  C.-1

  D.1

  11.當(dāng)c的值不為0時(shí),在下列選項(xiàng)中不能正確將c的值賦給變量a、b的是(  )。

  A.c=b=a;

  B.(a=c)||(b=c);

  C.(a=c)&&(b=c);

  D.a=c=b;

  12.以下程序的輸出結(jié)果是(  )。

  main(  )

  { int a=3:

  printf("%d\n",(a+a-=a*a));

  }

  A.-6

  B.12

  C.0

  D.-12

  13.以下能正確定義一維數(shù)組的選項(xiàng)是(  )。

  A.int a[5]=(0,1,2,3,4,5);

  B.char a[]={0,1,2,3,4,5);

  C.char a={’A ’,’B’,’C’};

  D.int a[5]="0123";

  14.有以下程序段:

  int x=3;

  do

  {printf("%d",x-=2);)

  while(!(--x));

  其輸出結(jié)果是(  )。

  A.1

  B.3 0

  C.1 -2

  D.死循環(huán)

  15.下列程序的輸出結(jié)果是(  )。

  void fun(int*X,int y)

  { printf("%d%d",*x,*y);*x=3;*y=1;}

  main(  )

  { int x=1,y=2;

  fun(&y,&x);

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

  }

  A.2 1 4 3

  B.1 2 1 2

  C.1 2 3 4

  D.2 1 1 2

  16.對兩個(gè)數(shù)組a和b進(jìn)行下列初始化:

  char m[]1="l234567":

  char n[]={’1’,’2 ’,’3’,’4 ’,’5’,’6’,’7’);

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

  A.數(shù)組m與數(shù)組n完全相同

  B.數(shù)組m與數(shù)組n長度相同

  C.數(shù)組m比數(shù)組n長1

  D.數(shù)組m與數(shù)組n中都存放字符串

  17.假定所有變量均已正確說明,下列程序段運(yùn)行后x 的值是(  )。

  a=b=c=0;x=12;

  if(!a)x--;

  else x=5:

  if(c)x=3:

  else x=4:

  A.11

  B.4

  C.12

  D.3

  18.有以下程序:

  main(  )

  {char a=’a’,b;

  printf("%c,",++a);

  printf("%c\n",b=a++):

  )

  程序運(yùn)行后的輸出結(jié)果是(  )。

  A.b,b

  B.b,c

  C.a,b

  D.a,c

  19.在下列給出的表達(dá)式中,與while(E)中的(E)不等價(jià)的表達(dá)式是(  )。

  A.(!E==0)

  B.(E>0||E<0)

  C.(E==0)D.(E!=0)

  20.有下列程序:

  main(  )

  {char s[]="abcde";

  s+=2:

  printf("%d\n",s[0]);

  }

  執(zhí)行后的結(jié)果是(  )。

  A.輸出字符a的ASCII碼

  B.輸出字符c的ASCII碼

  C.輸出字符c

  D.程序出錯(cuò)

  21.下列選項(xiàng)中非法的字符常量是(  )。

  A.’\t’

  B.’\039’

  C.’,’

  D.’\n ’

  22.以下程序的輸出結(jié)果是(  )。

  main(  )

  { char ch[3][4]={"123","456","78"),*p[3];int i;

  for(i=0;i<3;i++)p[i]=ch[i];

  for(i=0;i<3;i++)printf("%s",p[i]);}

  A.123456780

  B.123 456 780

  C.12345678

  D.147

  23.以下程序的輸出結(jié)果是(  )。

  main(  )

  { char w[][10]={"ABCD","EFGH","IJKL","

  MNOP"),K;

  for(k=1;k<3;k++)printf("%s\n",w[k]);

  A.ABCD

  FGH

  KL

  B.ABCD

  EFG

  U

  C.EFG

  JK

  O

  D.EFGH

  UKL

  24.以下程序的輸出結(jié)果是(  )。

  union myun

  { struct

  {int x,y,z;)u;

  int k:

  }a;

  main(  )

  { a.u.x=4;a.u.y=5;a.u.z=6;

  a.k=0;

  printf(%d\n",a.u.x);

  }

  A.4

  B.5

  C.6

  D.0

  25.若有以下定義和語句:“double r=99,*p=&r;*P =r;”,則以下正確的敘述是(  )。

  A.兩個(gè)*p含義相同,都說明給指針變量p賦值

  B.在“double r=99,*p=&r;”中,把r的地址賦值給了P所指的存儲單元

  c.語句“*p=r;”把變量r的值賦給指針變量P

  D.語句“*p=r;”取變量r的值放回r中

  26.以下程序的輸出結(jié)果是(  )。

  main(  )

  {int x=0.5;char z=’a’;

  printf("%d\n",(x&1)&&(z<’2’));}

  A.0

  B.1

  C.2

  D.3

  27.若希望下列的程序運(yùn)行后輸出25,程序空白處的正確選項(xiàng)是(  )。

  main(  )

  {int id=50,a[]=(7,4,10,5,8};

  for( )

  j+=a[i];

  printf("%d",j-40);

  }

  A.i=1;i<4;++i

  B.i=l;i<3;++i

  C.i=4;i>2;i--

  D.i=2;i<4;++i

  28.若二維數(shù)組a有m列,則在a[i][j]前的元素個(gè)數(shù)為(  )。

  A.i*m+j-1

  B.i*m+j

  C.J*m+i

  D.i*m+j+1

  29.下列程序的輸出結(jié)果是(  )。

  #include

  int fun(int a)

  {int b=0;

  static int c=4:

  a=c++:b++;

  return(a):

  main(  )

  {int a=2,i,c;

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

  c=f(a+1):

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

  }

  A.4

  B.7

  C.6

  D.5

  30.定義結(jié)構(gòu)體數(shù)組:

  struct stu

  {int num;

  char nameE20];

  }X[5]={1,"LI",2,"ZHAO",3,"WANG",4," ZHANG",5,"LIU");

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

  printf("%d%c",x[i].num,x[i].name[2]);

  以上程序段的輸出結(jié)果為(  )。

  A.2A3N4A5U

  B.112A3H4I

  C.1A2N3A4U

  D.2H3A4H5I

  31.設(shè)int x=7,則~x的值是(  )。

  A.-8

  B.7

  C.-1

  D.1

  32.有以下程序:

  void fun(char*a,char*b)

  {a=b; (*a)++; }

  main(  )

  {char c1=’A ’,c2=’a’,*p1,*p2;

  p1=&c1;p2=*c2;fun(p1,p2);

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

  }

  程序運(yùn)行后的輸出結(jié)果是(  )。

  A.Ab

  B.aa

  C.Aa

  D.Bb

  33.有以下程序:

  int fun(int n)

  {if(n==l)return l;

  else return(n+fun(n一1)):

  }

  main(  )

  {int x;

  scanf("%d",&x);x=fun(x);printf("%d\n",

  x):

  }

  執(zhí)行程序時(shí),給變量X輸入10,程序的輸出結(jié)果是(  )。

  A.55

  B.54

  C.65

  D.45

  34.有以下程序:

  void f(int x,int y)

  {int t;

  if(x  }

  main(  )

  {int a=4,b=3,c=5;

  f(a,b);f(a,c);f(b,c);

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

  }

  執(zhí)行后輸出結(jié)果是(  )。

  A.3,4,5

  B.5,3,4

  C.5,4,3

  D.4,3,5

  35.以下程序的輸出結(jié)果是(  )。

  main(  )

  {char*s="12134211";

  int v[4]=(0,0,0,0),k,i;

  for(k=0;s[k];k++)

  {switch(s[k])

  {case’1’:i=0;

  case’2’:i=1;

  case’3’:i=2;

  case’4’:i=3;}

  }

  v[i]++:

  }

  for(k=0;k<4;k++)printf("%d",v[k]);

  A.4 2 1 1

  B.0 0 0 8

  C.4 6 7 8

  D.8 8 8 8

  36.有以下程序:

  main(  )

  {int x=102,y=012;

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

  }

  執(zhí)行后輸出結(jié)果是(  )。

  A.10,01

  B.02,12

  C.102,10

  D.02,10

  37.有以下程序:

  main(  )

  {int x=0,y=5,z=3;

  while(z-->0&&++x<5)y=y-l;

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

  }

  程序執(zhí)行后的輸出結(jié)果是(  )。

  A.3,2,0

  B.3。2. 1

  C.4,3,-1

  D.5,2.-5

  38.有以下程序:

  main(  )

  {int i,n=0:

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

  {do

  {if(i%3) continue:

  n++:

  }while(!i);

  n++:

  }

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

  }

  程序執(zhí)行后輸出結(jié)果是(  )。

  A.n=5

  B.n=2

  C.n=3

  D.n=4

  39.下面程序的功能是輸出以下形式的金字塔圖案:main(  )

  {int i,j; *

  for(i=l;i<-4;i++)***

  {for(j=1;j<=4-i;j++)printf("");

  *****

  for(j=1;j<=____;j++)printf("

  *"); *******

  printf("\n");

  }

  }

  在下劃線處應(yīng)填入的是(  )。

  A.i

  B.2*i一1

  C.n=2*i+1

  D.i+2

  40.函數(shù)ftell(fp)的作用是(  )。

  A.得到fp所指向文件的當(dāng)前讀寫位置

  B.初始化流式文件的位置指針

  c.移動(dòng)流式文件的位置指針

  D.以上答案均正確

  【參考答案及解析】

  1.A!窘馕觥烤性表的存儲通常要用兩種存儲結(jié)構(gòu):順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu)。

  2.D。【解析】程序不光是編寫完就結(jié)束了,為了測試和維護(hù)程序,往往還有其他人閱讀和跟蹤程序,因此程序設(shè)計(jì)的風(fēng)格應(yīng)該強(qiáng)調(diào)簡單和清晰,即程序的易讀性,“清晰第一,效率第二”。

  3.D!窘馕觥款(class)描述的是具有相似屬性與操作的一組對象,具體對象是類的實(shí)例。

  4.D!窘馕觥克^二叉樹的前序遍歷是指先訪問根結(jié)點(diǎn),訪問左子樹,最后訪問右子樹,本題中序?yàn)镈YBEAFCZX,后序?yàn)閅DEBFZXCA。

  5.A!窘馕觥緾語言是函數(shù)式的語言。它的基本組成單位是函數(shù),在c語言中任何程序都是由一個(gè)或者多個(gè)函數(shù)組成的。

  6.D!窘馕觥克惴ǚ治鍪侵笇σ粋(gè)算法的運(yùn)行時(shí)間和占用空間做定量的分析,計(jì)算相應(yīng)的數(shù)量級,并用時(shí)間復(fù)雜度和空間復(fù)雜度表示。分析算法的目的就是要降低算法的時(shí)間復(fù)雜度和空間復(fù)雜度,提高算法的執(zhí)行效率。

  7.C!窘馕觥繑(shù)據(jù)的存儲結(jié)構(gòu)有順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu)兩種。不同存儲結(jié)構(gòu)的數(shù)據(jù)處理效率不同。由于鏈表采用鏈?zhǔn)酱鎯Y(jié)構(gòu),元素的物理順序并不連續(xù),對于插入和刪除無需移動(dòng)元素,很方便,當(dāng)查找元素時(shí)就需要逐.個(gè)元素查找,因此查找的時(shí)間相對更長。

  8.C!窘馕觥勘绢}考查邏輯與(&&)和邏輯或(||)運(yùn)算符的使用。x值在[1,10]之間,C語言中可以寫成x值在[100,11O]之間,C語言表達(dá)式應(yīng)寫成“(x>=100)&&(x> =110)”;[1,1O]和[100,110]滿足任意條件就可以,所以是邏輯或的關(guān)系,因此只要將前兩個(gè)表達(dá)式用邏輯或運(yùn)算符連接起來即可,所以最后的表達(dá)式:(x>=1)&&(x<=10) &&(x<=110)。

  9.C!窘馕觥吭贑語言中,標(biāo)識符是由字母、數(shù)字和下劃線組成,其中開頭必須是字母或下劃線,排除選項(xiàng)A和B。C語言中還規(guī)定標(biāo)識符不能為C語言的關(guān)鍵字,而選項(xiàng)D中的void為關(guān)鍵字。

  10.D。【解析】因?yàn)樵谶壿嫳磉_(dá)式中,兩邊的賦值表達(dá)式都成立,即值為1,故選擇D選項(xiàng)。

  11.C。【解析】選項(xiàng)A是先將a的值賦給變量b,再將變量b的值賦給變量c,不合題意;B選項(xiàng)中由于c的值不為0,在將c的值賦給變量a后,表達(dá)式a=c的值為1,不再對表達(dá)式b=c計(jì)算;對于c選項(xiàng),表達(dá)式a=c的值為1,再求表達(dá)式b=c的值為1,然后進(jìn)行邏輯與運(yùn)算;D選項(xiàng)將b的值賦給c后再賦給e,故選擇C選項(xiàng)。

  12.D!窘馕觥勘绢}可以寫成:a+a+(a-(a*a)),所以*的優(yōu)先級最高,其次是-=的,+的優(yōu)先級最低,因此先求a-=a*a=9,表達(dá)式變?yōu)閍+a+-=9,a即a=a-9= -6,再次變?yōu)閍+(-6)=-12,故選擇D選項(xiàng)。

  13.B!窘馕觥繑(shù)組1標(biāo)從0開始,A選項(xiàng)中所賦值的個(gè)數(shù)超過了數(shù)組的長度;C選項(xiàng)中定義a為字符型變量,而不是數(shù)組,賦值錯(cuò)誤;D選項(xiàng)中,整型數(shù)組不能賦字符串。

  14.C。【解析】本題考查do-while循環(huán),先執(zhí)行d0輸出的x的值為1,接著執(zhí)行 while語句,此時(shí)--x的值為0,x也為0,而非0為1,循環(huán)成立,接著執(zhí)行do輸出X值為- 2,執(zhí)行--x后,表達(dá)式為-2,而!(--x)為0,退出循環(huán)。

  15.C!窘馕觥慨(dāng)執(zhí)行fun函數(shù)時(shí),因?yàn)閰?shù)傳遞時(shí)是地址傳遞,因此形參值的改變會影響實(shí)參中的數(shù),在執(zhí)行fun 函數(shù)時(shí)先輸出1 2,接著把*X賦3,*y賦4,此時(shí)帶回主函數(shù)中,輸出的值為3 4。

  16.C!窘馕觥吭趍數(shù)組中賦值的是字符串,其長度為7,末尾有結(jié)束符’\0 ’,故字節(jié)數(shù)為8,而n數(shù)組中賦的是字符,其長度為7,故C選項(xiàng)正確。

  17.B!窘馕觥勘绢}考查if…else語句。if條件為真則執(zhí)行后面的表達(dá)式,如果if為假則執(zhí)行else語句。

  18.A!窘馕觥++a與a++的區(qū)別是前者先自加再運(yùn)算,后者是先運(yùn)算后自加。

  19.B!窘馕觥吭趙hile(E)中,表達(dá)式E可以是C語言中任意合法的條件表達(dá)式,但不能為空,由它來控制循環(huán)體是否執(zhí)行。在選項(xiàng)8中表達(dá)式E>0||E<0是一個(gè)邏輯表達(dá)式。

  20.D!窘馕觥恳?yàn)樽址麛?shù)組s[]中的數(shù)組名s表示的是一個(gè)地址常量。所以語句“s+=2;”不能將指針在當(dāng)前位置的基礎(chǔ)上再向后移動(dòng)兩位。因而程序編譯時(shí)出錯(cuò)。

【計(jì)算機(jī)二級C語言選擇題及答案】相關(guān)文章:

計(jì)算機(jī)二級《C語言》選擇題題庫及答案11-16

計(jì)算機(jī)二級《C語言》選擇題題庫與答案07-27

2017最新計(jì)算機(jī)二級《C語言》選擇題及答案04-15

2017計(jì)算機(jī)二級C語言選擇題及答案01-27

2016計(jì)算機(jī)二級C語言選擇題及答案02-07

計(jì)算機(jī)二級《C語言》選擇題訓(xùn)練題及答案04-27

計(jì)算機(jī)二級考試C語言試題與答案(選擇題)07-06

C語言備考計(jì)算機(jī)二級之選擇題及答案201704-25

2017計(jì)算機(jī)二級C語言選擇題訓(xùn)練及答案02-24