首頁 - 網(wǎng)校 - 題庫 - 直播 - 雄鷹 - 團購 - 書城 - ? - 學習通 - 導(dǎo)航 - 510 -
首頁考試吧網(wǎng)校題庫直播雄鷹510團購書城?論壇實用文檔作文大全寶寶起名
2015中考
法律碩士
2015高考
MBA考試
2015考研
MPA考試
在職研
中科院
考研培訓(xùn)
專升本
自學考試 成人高考
四 六 級
GRE考試
攻碩英語
零起點日語
職稱英語
口譯筆譯
申碩英語
零起點韓語
商務(wù)英語
日語等級
GMAT考試
公共英語
職稱日語
新概念英語
專四專八
博思考試
零起點英語
托?荚
托業(yè)考試
零起點法語
雅思考試
成人英語三級
零起點德語
等級考試
華為認證
水平考試
Java認證
職稱計算機 微軟認證 思科認證 Oracle認證 Linux認證
公 務(wù) 員
導(dǎo)游考試
物 流 師
出版資格
單 證 員
報 關(guān) 員
外 銷 員
價格鑒證
網(wǎng)絡(luò)編輯
駕 駛 員
報檢員
法律顧問
管理咨詢
企業(yè)培訓(xùn)
社會工作者
銀行從業(yè)
教師資格
營養(yǎng)師
保險從業(yè)
普 通 話
證券從業(yè)
跟 單 員
秘書資格
電子商務(wù)
期貨考試
國際商務(wù)
心理咨詢
營 銷 師
司法考試
國際貨運代理人
人力資源管理師
廣告師職業(yè)水平
衛(wèi)生資格 執(zhí)業(yè)醫(yī)師 執(zhí)業(yè)藥師 執(zhí)業(yè)護士
會計從業(yè)資格
基金從業(yè)資格
統(tǒng)計從業(yè)資格
經(jīng)濟師
精算師
統(tǒng)計師
會計職稱
法律顧問
ACCA考試
注冊會計師
資產(chǎn)評估師
高級經(jīng)濟師
審計師考試
高級會計師
注冊稅務(wù)師
國際內(nèi)審師
理財規(guī)劃師
美國注冊會計師
一級建造師
安全工程師
設(shè)備監(jiān)理師
公路監(jiān)理師
公路造價師
二級建造師
招標師考試
物業(yè)管理師
電氣工程師
建筑師考試
造價工程師
注冊測繪師
質(zhì)量工程師
巖土工程師
注冊給排水
造價員考試
注冊計量師
環(huán)保工程師
化工工程師
暖通工程師
咨詢工程師
結(jié)構(gòu)工程師
城市規(guī)劃師
材料員考試
消防工程師
監(jiān)理工程師
房地產(chǎn)估價
土地估價師
安全評價師
房地產(chǎn)經(jīng)紀人
投資項目管理師
環(huán)境影響評價師
土地登記代理人
寶寶起名
繽紛校園
實用文檔
入黨申請
英語學習
思想?yún)R報
作文大全
工作總結(jié)
求職招聘 論文下載 直播課堂
您現(xiàn)在的位置: 考試吧 > 計算機等級考試 > 計算機二級考試 > C語言 > 模擬試題 > 正文

2015年計算機二級C語言測試題及答案解析(3)

考試吧整理了“2015年計算機二級C語言測試題及答案解析”,提供給各位考生備考,更多考試資料請持續(xù)關(guān)注考試吧計算機等級考試頻道!

  點擊查看:2015年計算機二級C語言測試題及答案解析匯總

  1.

  #include "stdio.h"

  main()

  {char c;

  c=getchar();

  while(c!='?') {putchar(c);c=getchar(); }

  }

  如果從鍵盤輸入abcde?fgh(回車)

  運行結(jié)果為:abcde

  2.

  #include

  main()

  { char c;

  while((c=getchar())!=’$’)

  { if(‘A’<=c&&c<=‘Z’)putchar(c);

  else if(‘a(chǎn)’<=c&&c<=‘z’)putchar(c-32);}

  }

  當輸入為ab*AB%cd#CD$時,運行結(jié)果為:ABABCDCD

  3.

  #include

  main()

  { int x, y =0;

  for(x=1;x<=10;x++)

  { if(y>=10)

  break;

  y=y+x;

  }

  printf(“%d %d”,y,x);

  }

  運行結(jié)果為:10 5

  詳見教材p120for語句

  詳見教材p126~128break,continue語句

  for( 表達式1;表達式2;表達式3)

  {

  }

  (1) 先求解表達式1

  (2) 求解表達式2,若其值為真,執(zhí)行循環(huán)體,然后執(zhí)行 (3). 若為假,則結(jié)束循環(huán),轉(zhuǎn)到(5)

  (3) 求解表達式3

  (4) 轉(zhuǎn)回上面 (2)繼續(xù)執(zhí)行

  (5) 循環(huán)結(jié)束,執(zhí)行for語句下面的一個語句

  break ,跳出循環(huán)體;continue,結(jié)束本次循環(huán)(第i次循環(huán)),繼續(xù)執(zhí)行下一次循環(huán)(第i+1次循環(huán))

  此題 表達式1為x=1,表達式2(循環(huán)條件)為x<=10,表達式3為x++

  初值x為1,y為0,循環(huán)條件(即表達式2)x<=10成立,進入循環(huán)體

  第1次循環(huán)

  執(zhí)行if語句。0小于10,if語句的條件表達式不成立,不執(zhí)行break;

  執(zhí)行y=y+x; y=0+1=1

  轉(zhuǎn)向表達式3,執(zhí)行x++,x=x+1=1+1=2。循環(huán)條件x<=10成立,進入第2次循環(huán)

  第2次循環(huán)

  執(zhí)行if語句。1小于10,if語句的條件表達式不成立,不執(zhí)行break;

  執(zhí)行y=y+x; y=1+2=3

  轉(zhuǎn)向表達式3,執(zhí)行x++,x=x+1=2+1=3。循環(huán)條件x<=10成立,進入第3次循環(huán)

  第3次循環(huán)

  執(zhí)行if語句。3小于10,if語句的條件表達式不成立,不執(zhí)行break;

  執(zhí)行y=y+x; y=3+3=6

  轉(zhuǎn)向表達式3,執(zhí)行x++,x=x+1=3+1=4。循環(huán)條件x<=10成立,進入第4次循環(huán)

  第4次循環(huán)

  執(zhí)行if語句。6小于10,if語句的條件表達式不成立,不執(zhí)行break;

  執(zhí)行y=y+x; y=6+4=10

  轉(zhuǎn)向表達式3,執(zhí)行x++,x=x+1=4+1=5。循環(huán)條件x<=10成立,進入第5次循環(huán)

  第5次循環(huán)

  執(zhí)行if語句。10等于10,if語句的條件表達式成立,執(zhí)行break,跳出循環(huán)。

  從break跳出至for語句的下一條語句。執(zhí)行printf(“%d %d”,y,x);

  輸出當前的y與x.結(jié)果為10 5

  4.

  #include

  main( )

  {char ch;

  ch=getchar( );

  switch(ch)

  {case‘A’ : printf(“%c”,’A’);

  case‘B’ : printf(“%c”,’B’); break;

  default: printf(“%s\n”,”other”);

  } }

  當從鍵盤輸入字母A時,運行結(jié)果為:AB

  詳見教材p103,switch語句

  switch(表達式)

  { case常量1 :語句1

  case常量2 :語句2

  ┇┇ ┇

  case常量n :語句n

  default :語句n+1

  }

  其中表達式,常量1,…,常量n都為整型或字符型

  case相當于給出執(zhí)行程序的入口和起始位置,若找到匹配的常量,則從此處開始往下執(zhí)行程序,不再匹配常量,直至遇到break或switch結(jié)束

  本題過程:

  首先從鍵盤接收一個字符’A’并將其放在變量ch中。

  執(zhí)行switch語句。Switch后面的條件表達式為ch,因此表達式的值即為字符’A’. 用字符’A’依次與下面的 case中的常量匹配。

  與第1個case后的常量匹配,則從其后的語句開始往下執(zhí)行程序(在執(zhí)行過程中不再進行匹配。)因此先執(zhí)行printf(“%c”,’A’),屏幕上輸出A;再往下繼續(xù)執(zhí)行printf(“%c”,’B’),屏幕上輸出B;再繼續(xù)執(zhí)行break, 此時跳出switch語句。

  5.

  #include

  main( )

  { int a=1,b=0;

  scanf(“%d”,&a);

  switch(a)

  {case 1: b=1;break;

  case 2: b=2;break;

  default : b=10;}

  printf("%d ", b);

  }

  若鍵盤輸入5,運行結(jié)果為:10

  本題過程:

  首先用scanf函數(shù)為變量a賦值為5。

  執(zhí)行switch語句。switch后面的條件表達式為a,因此表達式的值即為5. 用5依次與下面 case中的常量匹配。沒有找到匹配的常量,因此兩個case后的語句都不執(zhí)行。執(zhí)行default后面的語句b=10;將10賦給變量b。

  輸出變量b,結(jié)果為10

  6.

  #include

  main()_

  { char grade=’C’;

  switch(grade)

  {

  case ‘A’: printf(“90-100\n”);

  case ‘B’: printf(“80-90\n”);

  case ‘C’: printf(“70-80\n”);

  case ‘D’: printf(“60-70\n”); break;

  case ‘E’: printf(“<60\n”);

  default : printf(“error!\n”);

  }

  }

  運行結(jié)果為:

  70-80

  60-70

  本題過程:

  首先從鍵盤接收一個字符’C’并將其放在變量grade中。

  執(zhí)行switch語句。switch后面的條件表達式為grade,因此表達式的值即為字符’C’. 用字符’C’依次與下面的 case中的常量匹配。

  與第3個case后的常量匹配,則從其后的語句開始往下執(zhí)行程序(在執(zhí)行過程中不再進行匹配。)因此先執(zhí)行printf(“70-80\n”);,屏幕上輸出70-80,并換行;再往下繼續(xù)執(zhí)行printf(“60-70\n”),屏幕上輸出60-70,并換行;再繼續(xù)執(zhí)行break, 此時跳出switch語句。

  7.

  #include

  main()

  { int y=9;

  for(;y>0;y- -)

  if(y%3==0)

  { printf(%d”,- -y);

  }

  }

  運行結(jié)果為:

  852

  詳見教材p53,自增自減符號

  此題 表達式1被省略,表達式2(循環(huán)條件)為y>0,表達式3為y--

  初值y為9,循環(huán)條件(即表達式2)y>0成立,進入循環(huán)體

  第1次循環(huán)

  執(zhí)行if語句。9%3==0,if語句的條件表達式成立,執(zhí)行printf(%d”,- -y),即y先自減1變?yōu)?,然后在輸出,因此屏幕上輸出8

  轉(zhuǎn)向表達式3,執(zhí)行y--,y=y-1=8-1=7。循環(huán)條件y>0成立,進入第2次循環(huán)

  第2次循環(huán)

  執(zhí)行if語句。7%3不為0,if語句的條件表達式不成立,不執(zhí)行printf(%d”,- -y)

  轉(zhuǎn)向表達式3,執(zhí)行y--,y=y-1=7-1=6。循環(huán)條件y>0成立,進入第3次循環(huán)

  第3次循環(huán)

  執(zhí)行if語句。6%3==0,if語句的條件表達式成立,執(zhí)行printf(%d”,- -y),即y先自減1變?yōu)?,然后在輸出,因此屏幕上輸出5

  轉(zhuǎn)向表達式3,執(zhí)行y--,y=y-1=5-1=4。循環(huán)條件y>0成立,進入第4次循環(huán)

  第4次循環(huán)

  執(zhí)行if語句。4%3不為0,if語句的條件表達式不成立,不執(zhí)行printf(%d”,- -y)

  轉(zhuǎn)向表達式3,執(zhí)行y--,y=4-1=3。循環(huán)條件y>0成立,進入第5次循環(huán)

  第5次循環(huán)

  執(zhí)行if語句。3%3==0,if語句的條件表達式成立,執(zhí)行printf(%d”,- -y),即y先自減1變?yōu)?,然后在輸出,因此屏幕上輸出2

  轉(zhuǎn)向表達式3,執(zhí)行y--,y=y-1=2-1=1。循環(huán)條件y>0成立,進入第5次循環(huán)

  第6次循環(huán)

  執(zhí)行if語句。1%3不為0,if語句的條件表達式不成立,不執(zhí)行printf(%d”,- -y)

  轉(zhuǎn)向表達式3,執(zhí)行y--,y=1-1=0。循環(huán)條件y>0不成立,循環(huán)結(jié)束。

  8.

  #include

  main()

  { int i,sum=0;i=1;

  do{ sum=sum+i; i++; }while(i<=10);

  printf(“%d”,sum);

  }

  運行結(jié)果為: 55

  9.

  #include

  #define N 4

  main()

  { int i;

  int x1=1,x2=2;

  printf("\n");

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

  { printf("%4d%4d",x1,x2);

  if(i%2==0)

  printf("\n");

  x1=x1+x2;

  x2=x2+x1;

  }

  }

  運行結(jié)果為:

  1 2 3 5

  8 132134

  此題 首先為整型變量賦初值x1=1,x2=2

  表達式1為i=1,表達式2(循環(huán)條件)為i<=N即i<=4,表達式3為i++

  循環(huán)變量初值i為1,循環(huán)條件(即表達式2)i<=4成立,進入第1次循環(huán)

  第1次循環(huán)

  執(zhí)行printf("%4d%4d",x1,x2);因此屏幕上輸出12

  執(zhí)行if語句。1%2不為0,if語句的條件表達式不成立,不執(zhí)行printf("\n");

  執(zhí)行x1=x1+x2=1+2=3;此時x1中的值已變?yōu)?

  執(zhí)行x2=x2+x1=2+3=5。

  轉(zhuǎn)向表達式3,執(zhí)行i++,i為2。循環(huán)條件i<=4成立,進入第2次循環(huán)

  第2次循環(huán)

  執(zhí)行printf("%4d%4d",x1,x2);因此屏幕上輸出35

  執(zhí)行if語句。2%2==0,if語句的條件表達式成立,執(zhí)行printf("\n");換行

  執(zhí)行x1=x1+x2=3+5=8;此時x1中的值已變?yōu)?

  執(zhí)行x2=x2+x1=5+8=13。

  轉(zhuǎn)向表達式3,執(zhí)行i++,i為3。循環(huán)條件i<=4成立,進入第3次循環(huán)

  第3次循環(huán)

  執(zhí)行printf("%4d%4d",x1,x2);因此屏幕上輸出813

  執(zhí)行if語句。3%2不為0,if語句的條件表達式不成立,不執(zhí)行printf("\n");

  執(zhí)行x1=x1+x2=8+13=21;此時x1中的值已變?yōu)?1

  執(zhí)行x2=x2+x1=21+13=34。

  轉(zhuǎn)向表達式3,執(zhí)行i++,i為4。循環(huán)條件i<=4成立,進入第4次循環(huán)

  第2次循環(huán)

  執(zhí)行printf("%4d%4d",x1,x2);因此屏幕上輸出2134

  執(zhí)行if語句。4%2==0,if語句的條件表達式成立,執(zhí)行printf("\n");換行

  執(zhí)行x1=x1+x2=21+34=55;此時x1中的值已變?yōu)?5

  執(zhí)行x2=x2+x1=34+55=89。

  轉(zhuǎn)向表達式3,執(zhí)行i++,i為5。循環(huán)條件i<=4不成立,結(jié)束循環(huán)

  10

  #include

  main( )

  {intx, y;

  for(x=30, y=0; x>=10, y<10; x--, y++)

  x/=2, y+=2;

  printf(“x=%d,y=%d\n”,x,y);

  }

  運行結(jié)果為:

  x=0,y=12 11.

  #include

  #define N 4

  main( )

  { inti,j;

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

  { for(j=1;j  printf(" ");

  printf("*");

  printf("\n");

  }}

  運行結(jié)果為:

  *

  *

  *

  *

  詳見教材P41符號常量

  用宏處理指令定義符號常量N為4,在編譯過程中,遇到N即視為整數(shù)4。

  外層for循環(huán),表達式1為i=1,表達式2(循環(huán)條件)為i<=N,表達式3為 i++

  內(nèi)層for循環(huán),表達式1為j=1,表達式2(循環(huán)條件)為j  首先計算外層循環(huán)的表達式1,i為1,使得循環(huán)條件i<=4成立,進入外層for循環(huán)體

  外層for循環(huán)第1次此時i為1

  內(nèi)層循環(huán)j=1,使得循環(huán)條件j  執(zhí)行printf("*");

  執(zhí)行printf("\n");換行

  至此外層循環(huán)體執(zhí)行完,計算外層循環(huán)的表達式3,i++,此時i為2. 使得循環(huán)條件i<=4

  成立,再次進入外層for循環(huán)體

  外層for循環(huán)第2次 此時i為2

  內(nèi)層循環(huán)j=1,使得循環(huán)條件j  第1次執(zhí)行內(nèi)層循環(huán)體printf(" ");

  執(zhí)行內(nèi)層循環(huán)表達式3,j++為2,j  執(zhí)行printf("*");

  執(zhí)行printf("\n");換行

  至此外層循環(huán)體執(zhí)行完,計算外層循環(huán)的表達式3,i++,此時i為3. 使得循環(huán)條件i<=4

  成立,進入外層for循環(huán)體

  外層for循環(huán)第3次 此時i為3

  內(nèi)層循環(huán)j=1,使得循環(huán)條件j  第1次執(zhí)行內(nèi)層循環(huán)體printf(" ");

  執(zhí)行內(nèi)層循環(huán)表達式3,j++為2,j  第2次執(zhí)行內(nèi)層循環(huán)體printf(" ");

  執(zhí)行內(nèi)層循環(huán)表達式3,j++為3,j  執(zhí)行printf("*");

  執(zhí)行printf("\n");換行

  至此外層循環(huán)體執(zhí)行完,計算外層循環(huán)的表達式3,i++,此時i為4. 使得循環(huán)條件i<=4

  成立,進入外層for循環(huán)體

  外層for循環(huán)第4次 此時i為4

  內(nèi)層循環(huán)j=1,使得循環(huán)條件j  第1次執(zhí)行內(nèi)層循環(huán)體printf(" ");

  執(zhí)行內(nèi)層循環(huán)表達式3,j++為2,j  第2次執(zhí)行內(nèi)層循環(huán)體printf(" ");

  執(zhí)行內(nèi)層循環(huán)表達式3,j++為3,j  第3次執(zhí)行內(nèi)層循環(huán)體printf(" ");

  執(zhí)行內(nèi)層循環(huán)表達式3,j++為4,j  執(zhí)行printf("*");

  執(zhí)行printf("\n");換行

  至此外層循環(huán)體執(zhí)行完,計算外層循環(huán)的表達式3,i++,此時i為5. 使得循環(huán)條件i<=4

  不成立,跳出外層for循環(huán)體

  相關(guān)推薦:

  各地2015上半年計算機等級考試報名時間匯總

  考試吧特別策劃:2015年計算機等級考試報考指南

  2015年全國計算機等級考試無紙化考試系統(tǒng)操作指南

文章責編:luoyuting  
看了本文的網(wǎng)友還看了
文章搜索
計算機等級考試欄目導(dǎo)航
版權(quán)聲明:如果計算機等級考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉(zhuǎn)載本計算機等級考試網(wǎng)內(nèi)容,請注明出處。
Copyright © 2004- 考試吧計算機等級考試網(wǎng) All Rights Reserved 
中國科學院研究生院權(quán)威支持(北京) 電 話:010-62168566 傳 真:010-62192699