首頁 - 網(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語言測試題及答案解析(4)

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

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

  基本輸入輸出及流程控制

  1.

  #include

  main()

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

  if (c==a+b)

  printf("yes\n");

  else

  printf("no\n");

  }

  運行結(jié)果為:no

  詳見教材p89 選擇結(jié)構(gòu)

  詳見教材p91關(guān)系符號

  詳見附錄D p378符號的優(yōu)先級

  ==表示判斷符號兩邊的值是否相等;=表示將符號右邊的值賦給左邊的變量

  本題考點是選擇結(jié)構(gòu)3種基本形式的第二種

  選擇結(jié)構(gòu)三種一般形式中的“語句”皆為復(fù)合語句,復(fù)合語句要用{ }括起來,只有當復(fù)合語句中只包括一條語句時可以省略{ },此題即如此,因此兩個printf操作沒有加{ }

  若c==a+b成立,則執(zhí)行printf("yes\n");

  否則(即c==a+b不成立),執(zhí)行printf("no\n");

  +的優(yōu)先級高于==,因此先算a+b,值為4, 表達式5==4不成立,因此執(zhí)行printf("no\n");即輸出字符串no

  2.

  #include

  main()

  { int a=12, b= -34, c=56, min=0;

  min=a;

  if(min>b)

  min=b;

  if(min>c)

  min=c;

  printf("min=%d", min);

  }

  運行結(jié)果為: min=-34

  詳見教材p89 選擇結(jié)構(gòu)

  本題考點是選擇結(jié)構(gòu)3種基本形式的第一種

  一共包含了兩個選擇結(jié)構(gòu)(兩個if語句)

  定義變量,并賦值 此時a=12, b= -34, c=56, min=0

  將a中值拷貝,賦給min,覆蓋了min中的0,此時min中的值被更新為12。

  若min>b成立,則執(zhí)行min=b;

  若min>c成立,則執(zhí)行min=c;

  輸出min中的值

  12大于-34,第一個if語句的表達式成立,因此執(zhí)行min=b; 執(zhí)行后min中的值被更新為-34.

  -34小于56,第二個if語句的表達式不成立,因此不執(zhí)行min=c;

  最后輸出min中的值,為-34.

  3.

  #include

  main()

  { int x=2,y= -1,z=5;

  if(x  if(y<0)

  z=0;

  else

  z=z+1;

  printf(“%d\n”,z);

  }

  運行結(jié)果為:5

  遇到選擇結(jié)構(gòu),首先要明確條件表達式成立時執(zhí)行哪些操作。本題中,第一個if語句,其后的復(fù)合語句沒有大括號{ },說明復(fù)合語句中只包含一條語句,進而省略了{ }。內(nèi)層的if...else...是選擇結(jié)構(gòu)的第二種基本形式,在結(jié)構(gòu)上視為一條語句。因此內(nèi)層的if...else...作為第一個if語句的復(fù)合語句。

  若表達式x  若y<0,則執(zhí)行z=0;

  否則(即y>=0),執(zhí)行z=z+1;

  輸出z

  2>-1,表達式x  輸出z中的值為5

  4.

  #include

  main()

  { float a,b,c,t;

  a=3;

  b=7;

  c=1;

  if(a>b)

  {t=a;a=b;b=t;}

  if(a>c)

  {t=a;a=c;c=t;}

  if(b>c)

  {t=b;b=c;c=t;}

  printf("%5.2f,%5.2f,%5.2f",a,b,c);

  }

  運行結(jié)果為:1.00,2.00,7.00

  詳見教材p72數(shù)據(jù)的輸出形式

  本題包含了3個if語句,每個if語句后的{ }都不可省略,因為每個{ }中都包含了多條語句

  若表達式a>b成立,則執(zhí)行{t=a;a=b;b=t;}

  若表達式a>c成立,則執(zhí)行{t=a;a=c;c=t;}

  若表達式b>c成立,則執(zhí)行{t=b;b=c;c=t;}

  輸出a,b,c中的值,要求輸出的每個數(shù)據(jù)寬度為5個空格,小數(shù)部分保留2位,數(shù)據(jù)右對齊

  3小于7,因此表達式a>b不成立,因此不執(zhí)行{t=a;a=b;b=t;}

  3大于1,因此表達式a>c成立,則執(zhí)行{t=a;a=b;b=t;}。第一句,將a中的3拷貝,粘貼到t中;第二句,將c中的1拷貝,粘貼到a中,覆蓋掉先前的3;第三句。將t中的3拷貝到c中,覆蓋掉c中先前的1. 執(zhí)行完復(fù)合語句后實現(xiàn)了a,c元素的值的互換,a為1,c為3,t為3,。

  7大于c中的3,因此b>c成立,執(zhí)行則執(zhí)行{t=b;b=c;c=t;},過程同上,執(zhí)行后b為3,c為7,t為7

  此時輸出a,b,c中的值為1.00,2.00,7.00

  5.

  #include< stdio .h >

  main ( )

  {floatc=3.0 , d=4.0;

  if ( c>d ) c=5.0;

  else

  if ( c==d ) c=6.0;

  elsec=7.0;

  printf ( “%.1f\n”,c ) ;

  }

  運行結(jié)果為:7.0

  此題為if...else...語句的嵌套,第二if...else...作為第一個if...else...語句else部分的復(fù)合語句。

  若表達式c>d成立,則執(zhí)行c=5.0;

  否則(表達式c>d不成立)

  若表達式c==d成立,則執(zhí)行c=6.0;

  否則,執(zhí)行c=7.0;

  輸出c中的值

  3.0小于4.0,因此表達式c>d不成立,執(zhí)行第二個if…else…。

  3.0不等于4.0,因此表達式c==d不成立,執(zhí)行c=7.0,將7.0賦給c, 覆蓋掉c中的3.0,此時c中的值為7.0

  輸出此時的c中的值

  6.

  #include

  main()

  { int m;

  scanf("%d", &m);

  if (m >= 0)

  { if (m%2 == 0) printf("%d is a positive even\n", m);

  else printf("%d is a positive odd\n", m); }

  else

  { if (m % 2 == 0)printf("%d is a negative even\n", m);

  else printf("%d is a negative odd\n", m); }

  }

  若鍵入-9,則運行結(jié)果為: -9 is a negative odd

  7.

  #include

  main()

  { int num=0;

  while(num<=2){ num++;printf("%d\n",num);}

  }

  運行結(jié)果為:

  1

  2

  3

  詳見教材p115循環(huán)結(jié)構(gòu)

  當循環(huán)條件num<=2成立的時候,執(zhí)行循環(huán)體{ num++;printf("%d\n",num);}中的語句。

  循環(huán)初值num為0;

  循環(huán)條件num<=2成立

  第1次循環(huán):執(zhí)行num++;即將num中的值加1,執(zhí)行后num為1;

  執(zhí)行printf("%d\n",num);在屏幕上輸出num中的值,即輸出1,之后換行

  此時num中的值為1,循環(huán)條件num<=2成立

  第2此循環(huán):執(zhí)行num++;即將num中的值加1,執(zhí)行后num為2;

  執(zhí)行printf("%d\n",num);在屏幕上輸出num中的值,即輸出2,之后換行

  此時num中的值為2,循環(huán)條件num<=2成立

  第3此循環(huán):執(zhí)行num++;即將num中的值加1,執(zhí)行后num為3;

  執(zhí)行printf("%d\n",num);在屏幕上輸出num中的值,即輸出3,之后換行

  此時num中的值為3,循環(huán)條件num<=2不成立,結(jié)束循環(huán)。

  8.

  #include

  main( )

  { int sum=10,n=1;

  while(n<3) {sum=sum-n;n++; }

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

  }

  運行結(jié)果為:3,7

  當循環(huán)條件n<3成立的時候,執(zhí)行循環(huán)體{sum=sum-n;n++; }中的語句。

  循環(huán)初值sum為10,n為1;

  循環(huán)條件n<3成立

  第1次循環(huán):執(zhí)行sum=sum-n=10-1=9;

  執(zhí)行n++,即將n中的值加1,執(zhí)行后n為2;

  此時n中的值為2,sum中的值為9,循環(huán)條件n<3成立,繼續(xù)執(zhí)行循環(huán)

  第2次循環(huán):執(zhí)行sum=sum-n=9-2=7;

  執(zhí)行n++,即將n中的值加1,執(zhí)行后n為3;

  輸出此時n,sum中的值,即為3,7。需要注意,在printf(“%d,%d”,n,sum); 中要求輸出的數(shù)據(jù)彼此間用逗號間隔,因此結(jié)果的兩個數(shù)據(jù)間一定要有逗號

  9.

  #include

  main()

  { int num,c;

  scanf("%d",&num);

  do{c=num%10;printf("%d",c);}while((num/=10)>0);

  printf("\n");

  }

  從鍵盤輸入23,則運行結(jié)果為:32

  詳見教材p117循環(huán)結(jié)構(gòu);p60復(fù)合的賦值運算符

  do{ }while(表達式);

  先無條件執(zhí)行循環(huán)體,再判斷循環(huán)條件。注意while(表達式)后有分號

  定義整型變量num,c;

  為num賦一個整型值;

  執(zhí)行{c=num%10;printf("%d",c);}直到循環(huán)條件(num/=10)>0不成立;

  輸出換行

  已知為num賦值23

  第1次執(zhí)行循環(huán)體

  執(zhí)行c=num%10=23%10=3;

  執(zhí)行printf("%d",c);輸出3

  判斷循環(huán)條件 num/=10等價于num=num/10; 因此num=23/10=2, 2大于0,因此循環(huán)條件(num/=10)>0成立,繼續(xù)執(zhí)行循環(huán)體。執(zhí)行完第1次循環(huán)時,num為2,c為3

  第2次執(zhí)行循環(huán)體

  執(zhí)行c=2%10=2;

  執(zhí)行printf("%d",c);再輸出2

  判斷循環(huán)條件num=2/10=0,0等于0,因此循環(huán)條件(num/=10)>0不成立。結(jié)束循環(huán)

  10

  #include

  main()

  { int s=0,a=5,n;

  scanf("%d",&n);

  do { s+=1;a=a-2; }while(a!=n);

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

  }

  若輸入的值1,運行結(jié)果為: 2,1

  詳見教材p117循環(huán)結(jié)構(gòu);p60復(fù)合的賦值運算符

  執(zhí)行{ s+=1;a=a-2; }直到循環(huán)條件a!=n不成立;

  已知為n賦值1,s為0,a為5

  第1次執(zhí)行循環(huán)體

  執(zhí)行s+=1;等價于s=s+1=0+1

  執(zhí)行a=a-2; a=5-2=3

  判斷循環(huán)條件,3不等于1,因此循環(huán)條件a!=n成立,繼續(xù)執(zhí)行循環(huán)體。

  執(zhí)行完第1次循環(huán)時,s為1,a為3

  第2次執(zhí)行循環(huán)體

  執(zhí)行s+=1;等價于s=s+1=1+1=2

  執(zhí)行a=a-2; a=3-2=1

  判斷循環(huán)條件,1等于1,因此循環(huán)條件a!=n不成立,結(jié)束循環(huán)。

  執(zhí)行完第2次循環(huán)時,s為2,a為1

  輸出此時s,a中的值,結(jié)果為2,1

  相關(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