黄色在线观看视频-黄色在线免费看-黄色在线视频免费-黄色在线视频免费看-免费啪啪网-免费啪啪网站

首頁 - 網校 - 萬題庫 - 美好明天 - 直播 - 導航
您現在的位置: 考試吧 > 計算機等級考試 > 計算機二級考試 > C語言 > 復習資料 > 正文

2018年全國計算機二級C語言考試考點解析(13)

來源:考試吧 2018-08-01 16:32:33 要考試,上考試吧! 萬題庫
“2018年全國計算機二級C語言考試考點解析(13)”供考生參考。更多計算機等級考試復習資料等信息請訪問考試吧計算機等級考試網。

  點擊查看:2018年全國計算機二級C語言考試考點解析匯總

  條件語句

  一個表達式的返回值都可以用來判斷真假,除非沒有任何返回值的void型和返回無法判斷真假的結構。當表達式的值不等于0時,它就是“真”,否則就是假。一樣個表達式可以包含其他表達式和運算符,并且基于整個表達式的運算結果可以得到一個真/假的條件值。因此,當一個表達式在程序中被用于檢驗其真/假的值時,就稱為一個條件。

  一、if語句

  if(表達式) 語句1;

  如果表達式的值為非0,則執行語句1,否則跳過語句繼續執行下面的語句。

  如果語句1有多于一條語句要執行時, 必須使用{和} 把這些語句包括在其中, 此時條件語句形式為:

  if(表達式)

  {

  語句體1;

  }

  例如:

  if(x>=0) y=x;

  if(a||b&&c)

  {

  z=a+b;

  c+=z;

  }

  二、if--else語句

  除了可以指定在條件為真時執行某些語句外,還可以在條件為假時執行另外一段代碼。在C語句中利用else語句來達到這個木的。

  if(表達式) 語句1;

  else 語句2;

  同樣,當語句1或語句2是多于一個語句時,需要用{}把語句括起來。

  例如:

  if(x>=0) y=x;

  else y=-x;

  三、if--else if--else結構。

  if(表達式1)

  語句1;

  else if(表達式2)

  語句2;

  else if(表達式3)

  語句3;

  .

  .

  .

  else

  語句n;

  這種結構是從上到下逐個對條件進行判斷,一旦發現條件滿點足就執行與它有關的語句, 并跳過其它剩余階梯;若沒有一個條件滿足,則執行最后一個else 語句n。最后這個else常起著缺省條件的作用。同樣,如果每一個條件中有多于一條語句要執行時,必須使用{和}把這些語句包括在其中。

  條件語句可以嵌套,這種情況經常碰到,但條件嵌套語句容易出錯,其原因主要是不知道哪個if對應哪個else。

  例如:

  if(x>20||x<-10)

  if(y<=100&&y>x)

  printf(Good);

  else

  printf(Bad);

  對于上述情況, Turbo C2.0規定: else語句與最近的一個if語句匹配, 上例中的else與if(y<=100&&y>x)相匹配。為了使else與if(x>20||x<-10)相匹配, 必須用花括號。如下所示:

  if(x>20||x<-10)

  {

  if(y<=100&&y>x)

  printf(Good);

  }

  else

  printf(Bad);

  下面舉幾個例子:

  1.輸入一個數,如果大于0,輸出plus;如果是負數,輸出negative;如果正好是0,則輸出zero。

  main()

  {

  float num;

  scanf(%f,&f);

  if(num>0)

  printf(plus\n);

  else if(num<0)

  printf(negative\n);

  else

  printf(zero\n);

  }

  先定義兩個變量,然后輸入一個數,然后判斷這個數的范圍,輸出對應的字符串。

  2.輸入一個數x,輸出y。其中y是x的絕對值。

  main()

  {

  float x,y;

  scanf(%f,&x);

  if(x>=0) y=x;

  else y=-x;

  printf(%f\n,y);

  }

  程序比較簡單,這兒就不分析了。

  其實Trubo C 2.0把一些常用的功能都寫好了,我們只需要使用就可。例如求絕對值的功能在C的庫里面就有。看下面的:

  #include math.h

  main()

  {

  float x,y;

  scanf(%f,&x);

  y=fabs(x); /*求x的絕對值,然后賦值給y*/

  printf(%f\n,y);

  }

  這個程序和上面的程序完成的功能是一模一樣的,都是求絕對值。可以看出,用下面這個方法比上面就要好一些。由于fabs()是一個函數,系統自帶的,所以在使用它的時候,我們必須把它所在的庫文件math.h包含都程序中,即程序最前面一行。類似的還有求開方sqrt(),求指數冪exp()等等,這些與數學方面有關的函數都在math.h里面。具體哪些有哪些沒有,在什么庫里面,可以查看一些手冊。

  3.輸入x,輸出y,x和y滿足關系:

  x<-5 y=x;

  -5<=x<1 y=2*x+5;

  1<=x<4 y=x+6;

  x>=4 y=3*x-2;

  程序如下:

  main()

  {

  float x,y;

  scanf(%f,&x);

  if(x<-5)

  y=x;

  else if(-5<=x&&x<1)

  y=2*x+5;

  else if(1<=x&&x<4)

  y=x+6;

  else

  y=3*x-2;

  printf(%f\n,y);

  }

  這里要說明兩點:

  (1).-5<=x&&x<1不能寫成-5<=x<1;1<=x&&x<4也不能寫成1<=x<4;在C語言中,不能認識連續不等式。

  (2).y=2*x+5不能寫成y=2x+5;y=3*x-2也不能寫成y=3x-2;這與我們平時所寫的方法不一樣。

  4.輸入三個數x,y,z,然后按從大到小輸出。

  main()

  {

  float x,y,z;

  scanf(%f%f%f,&x,&y,&z);

  if(x>=y&&x>=z)

  {

  printf(%f\t,x);

  if(y>=z) printf(%f\t%f\n,y,z);

  else printf(%f\t%f\n,z,y);

  }

  else if(y>=x&&y>=z)

  {

  printf(%f\t,y);

  if(x>=z) printf(%f\t%f\n,x,z);

  else printf(%f\t%f\n,z,x);

  }

  else

  {

  printf(%f\t,z);

  if(x>=y) printf(%f\t%f\n,x,y);

  else printf(%f\t%f\n,y,x);

  }

  }

  說明:這是一個典型的if語句嵌套結構,如果不使用括號,那么if和else的對應關系就亂了。

  四、switch--case語句

  在編寫程序時, 經常會碰到按不同情況分轉的多路問題, 這時可用嵌套if -else-if語句來實現, 但if-else-if語句使用不方便, 并且容易出錯。對這種情況, Turbo C2.0提供了一個開關語句。開關語句格式為:

  switch(變量)

  {

  case 常量1:

  語句1或空;

  case 常量2:

  語句2或空;

  .

  .

  .

  case 常量n:

  語句n或空;

  default:

  語句n+1或空;

  }

  執行switch開關語句時,將變量逐個與case后的常量進行比較,若與其中一個相等,則執行該常量下的語句,若不與任何一個常量相等,則執行default后面的語句。

  注意:

  1.switch中變量可以是數值,也可以是字符,但必須是整數。

  2.可以省略一些case和default。

  3.每個case或default后的語句可以是語句體,但不需要使用{和}括起來。

  例如:

  main()

  {

  int x,y;

  scanf(%d,&x);

  witch(x)

  {

  case 1:

  y=x+1;

  break; /*退出開關語句,遇到break才退出*/

  case 4:

  y=2*x+1;

  break;

  default:

  y=x--;

  break;

  }

  printf(%d\n,y);

  }

  從上面的例子可以看出,用開關語句編的程序一定可以用if語句做。那么在什么情況下需要用switch語句呢?一般在出現比較整的情況下或者能轉化成比較整數的情況下使用。看下面的例子:

  例子:一個學生的成績分成五等,超過90分的為'A',80-89的為'B',70-79為'C',60-69為'D',60分以下為'E'。現在輸入一個學生的成績,輸出他的等級。

  (1).用if語句

  main()

  {

  float num;

  char grade;

  scanf(%d,&num);

  if(num>=90) grade='A';

  else if(num>=80&&num<89) grade='B';

  else if(num>=70&&num<79) grade='C';

  else if(num>=60&&num<69) grade='D';

  else grade='E';

  printf(%c,grade);

  }

  (2).用switch語句

  main()

  {

  int num;

  char grade;

  scanf(%d,&num);

  num/=10;

  switch(num)

  {

  case 10:

  case 9:

  grade='A';

  break;

  case 8:

  grade='B';

  break;

  case 7:

  grade='C';

  break;

  case 6:

  grade='D';

  break;

  default:

  grade='E';

  break;

  }

  printf(%c,grade);

  }

  說明一點,并不是每個case里面有都語句,有時侯里面是空的,就好象這一題。switch語句執行的順序是從第一case判斷,如果正確就往下執行,直到break;如果不正確,就執行下一個case。所以在這里,當成績是100分時,執行case 10:然后往下執行,grade='A';break;退出。

  想想看,這里為什么要用num/=10;?

  假設當程序中有浮點數時怎么辦呢?

掃描/長按二維碼幫助考試通關
2018年等考報考資訊
2018等考各科通關技巧
2018各科最新預測試卷
2018等考各科備考資料

微信搜索"考試吧"了解更多考試資訊、下載備考資料

  相關推薦:

  2018年9月全國計算機等級考試試題匯總(各科目)

  2018年全國計算機等級考試必做試題匯總(各科目)

  2018年全國計算機等級考試復習知識點匯總(各科目)

  2018全國計算機等級考試備考經驗及應試技巧匯總

  歷年真題匯總|考試吧策劃:2018年計算機等級考試報考指南

0
收藏該文章
0
收藏該文章
文章搜索
萬題庫小程序
萬題庫小程序
·章節視頻 ·章節練習
·免費真題 ·模考試題
微信掃碼,立即獲取!
掃碼免費使用
版權聲明:如果計算機等級考試網所轉載內容不慎侵犯了您的權益,請與我們聯系800@exam8.com,我們將會及時處理。如轉載本計算機等級考試網內容,請注明出處。
Copyright © 2004- 考試吧計算機等級考試網 出版物經營許可證新出發京批字第直170033號 
京ICP證060677 京ICP備05005269號 中國科學院研究生院權威支持(北京)
在線模擬試題
考證通關殺器
考試最新資訊
一次通關技巧
主站蜘蛛池模板: 免费观看a级毛片在线播放 免费观看a级完整视频 | 国产精品亚洲精品日韩已满 | 成人深夜福利 | 成人影视在线 | 精品久久久久久综合日本 | 美女视频很黄很a免费国产 美女涩涩网站 | 欧美成人一区二区三区不卡 | 免费午夜剧场 | 免费h视频 | 国产欧美日韩高清专区ho | 国产香蕉免费精品视频 | 亚洲高清二区 | 欧美一线天 | 日韩中文在线播放 | 欧美日韩国产不卡在线观看 | 国产精品欧美久久久久天天影视 | 日噜噜 | 看片视频在线观看 | 一级免费黄色毛片 | 国内偷自视频区视频综合 | 草草视频免费看 | 亚洲欧美日韩中文综合在线不卡 | 一级做a毛片免费视频 | 好男人社区影院 | 飘花国产午夜精品不卡 | av福利网址网站 | 免费成人黄色 | 成人免费午间影院在线观看 | 日韩免费视频一区 | 成人在线黄色 | 国产第四页| 最近中文字幕完整在线看一 | 26uuu欧美日本 | 国产成人精彩在线视频50 | 九九热视频在线观看 | 亚洲伦理一二三四 | 国产无套在线观看视频 | 羞羞网站视频 | 香蕉网站99视频丝瓜视频 | 欧美成人 一区二区三区 | 天天拍天天色 |