《c++入門經典》筆記4

《c++入門經典》筆記4

第四章 使用表達式、語句和運算符

4.1語句

全部的c++都由語句組成,語句是以分號結尾的命令。語句控制程序的執行流程、評估表達式甚至能夠什麼也不作(空語句)。ios

空白:c++

在c++程序源代碼中,空格、製表符和換行符統稱爲空白。空白旨在讓程序員方便閱讀代碼,編譯器一般忽略他們。程序員

正確的縮進有助於識別程序塊或函數塊的開始和結束位置。函數

複合語句:spa

可將多條語句編組,構成一條複合語句,這種語句以{開頭,以}結束。可將複合語句放在任何可以使用單條語句的地方。code

複合語句中的每條語句都必須以分號結尾,但複合語句自己不能以分號結尾。如:ci

{
temp = a;
a = b;
b = temp;
}

這條複合語句交換a與b的值,交換時使用變量臨時存儲了一個變量的值。編譯器

 

4.2表達式

表達式是語句中任何返回一個值的部分。如:數學

z = x = y + 13;string

這條語句包含三個表達式:

  • 表達式 y + 13,值被存儲在變量x中;

  • 表達式x = y + 13,它返回變量x的值,而該返回值被存儲在變量z中;

  • 表達式z = x = y + 13,它返回z的值,可是該返回值並未存儲到其餘變量中。

    賦值運算符=致使左操做數的值變爲右操做數的值

    操做數是一個數學術語,指的是被運算符操做的表達式。

程序清單4.1 Expression.cpp

#include <iostream>

int main()
{
   int x = 12, y = 42, z = 88;
   std::cout << "Before -- x: " << x << " y: " << y;
   std::cout << " z: " << z << "\n\n";
   z = x = y + 13;
   std::cout<<"After -- x: "<<x<<" y: "<<y;
   std::cout<<" z: "<<z<<"\n";
   return 0;
}

 

4.3運算符

運算符是致使編譯器執行操做的符號。

  • 賦值運算符:=(常量能夠做爲右值,但不能做爲左值,好比95 = grade非法)

  • 數學運算符:+、-、*、/、%(%爲求模運算符,返回整數除法的餘數)

  • 組合運算符:+=、-=、*=、/=、%=(都是自賦值運算符)

  • 關係運算符:==、!=、>、>=、<、<=

  • 邏輯運算符:&&、||、!

  • 位運算符:&、|、^、~、<<、>>

  • 遞增與遞減運算符:++、--

  • 前綴運算符與後綴運算符:遞增運算符++與遞減運算符--若放在變量前面,就稱爲前綴運算符,放在變量後面則稱爲後綴運算符。

    如:++count;中的++爲前綴運算符,count++;中的++爲後綴運算符

    區別在於進行賦值時,前綴運算符會在賦值前執行,然後綴運算符會在賦值後執行

    int x = 5;
    int sum = ++x;

    這兩條語句使得x爲6;sum爲6;

    int x = 5;
    int sum = x++;

    這兩條語句致使sum爲5,x爲6。

程序清單4.2 Years.cpp

#include <iostream>

int main()
{
   int year = 2016;
   std::cout<<"The year "<<++year<<" passes.\n";
   std::cout<<"The year "<<++year<<" passes.\n";
   std::cout<<"The year "<<++year<<" passes.\n";

   std::cout<<"\nIt is now"<<year<<".";
   std::cout<<" Have the Chicago Cubs won the World Series yet?\n";
   std::cout<<"\nThe year "<<year++<<" passes.\n";
   std::cout<<"The year "<<year++<<" passes.\n";
   std::cout<<"The year "<<year++<<" passes.\n";

   std::cout<<"\nSurely the Cubs have won the Series by now.\n";
   return 0;
}

 

運算符優先級:表就不打了,本身去查,貌似版本挺多。

 

4.4if-else條件語句

程序清單4.3 Grader.cpp

#include <iostream>

int main()
{
   int grade;
   std::cout << "Enter a grade (1-100): ";
   std::cin >> grade;

   if (grade >= 70)
       std::cout << "\nYou passed. Hooray!\n";
   else
       std::cout << "\nYou failed. sigh.\n";
   return 0;
}

程序清單4.4 NewGrader.cpp

#include <iostream>

int main()
{
   int grade;
   std::cout << "Enter a grade (1-100): ";
   std::cin >> grade;

   if (grade >= 70)
  {
       if (grade >= 90)
      {
           std::cout << "\nYou got an A. Great job!\n";
           return 0;
      }
       if (grade >= 80)
      {
           std::cout << "\nYou got a B. Good work!\n";
           return 0;
      }
       std::cout << "\nYou got a C.\n";
  }
   else if (grade >= 60)
  {
       std::cout << "\nYou got a D.\n";
  }
   else
       std::cout << "\nYou got an F. Congratulations!\n";
}
相關文章
相關標籤/搜索