精品理论电影在线_日韩视频一区二区_一本色道精品久久一区二区三区_香蕉综合视频

2011年計算機等級考試二級C語言入門教程:條件語句

發(fā)布時間:2011-08-29 共2頁

導讀:當一個表達式在程序中被用于檢驗其真/假的值時,就稱為一個條件。   一個表達式的返回值都可以用來判斷真假,除非沒有任何返回值的void型和返回無法判斷真假的結構。當表達式的值不等于0時,它就是“真”,否則就是假。一樣個表達式可以包含其他表達式和運算符,并且基于整個表達式的運算結果可以得到一個真/假的條件值。因此,當一個表達式在程序中被用于檢驗其真/假的值時,就稱為一個條件。
  一、if語句
  if(表達式) 語句1;
  如果表達式的值為非0,則執(zhí)行語句1,否則跳過語句繼續(xù)執(zhí)行下面的語句。
  如果語句1有多于一條語句要執(zhí)行時, 必須使用{和} 把這些語句包括在其中, 此時條件語句形式為:
  if(表達式)
  {
  語句體1;
  }
  例如:
  if(x>=0) y=x;
  if(a||b&&c)
  {
  z=a+b;
  c+=z;
  }
  二、if--else語句
  除了可以指定在條件為真時執(zhí)行某些語句外,還可以在條件為假時執(zhí)行另外一段代碼。在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;
  這種結構是從上到下逐個對條件進行判斷,一旦發(fā)現(xiàn)條件滿點足就執(zhí)行與它有關的語句, 并跳過其它剩余階梯;若沒有一個條件滿足,則執(zhí)行最后一個else 語句n。最后這個else常起著缺省條件的作用。同樣,如果每一個條件中有多于一條語句要執(zhí)行時,必須使用{和}把這些語句包括在其中。
  條件語句可以嵌套,這種情況經常碰到,但條件嵌套語句容易出錯,其原因主要是不知道哪個if對應哪個else。
  例如:
  if(x>20||x<-10)
  if(y<=100&&y>x)
  printf(Good);
  else
  printf(Bad);
  對于上述情況, Turbo C2.0規(guī)定: 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.輸入一個數(shù),如果大于0,輸出plus;如果是負數(shù),輸出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);
  }
  先定義兩個變量,然后輸入一個數(shù),然后判斷這個數(shù)的范圍,輸出對應的字符串。
  2.輸入一個數(shù)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()是一個函數(shù),系統(tǒng)自帶的,所以在使用它的時候,我們必須把它所在的庫文件math.h包含都程序中,即程序最前面一行。類似的還有求開方sqrt(),求指數(shù)冪exp()等等,這些與數(shù)學方面有關的函數(shù)都在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語言中,不能認識連續(xù)不等式。
  (2).y=2*x+5不能寫成y=2x+5;y=3*x-2也不能寫成y=3x-2;這與我們平時所寫的方法不一樣。

百分百考試網 考試寶典

立即免費試用