优秀的编程知识分享平台

网站首页 > 技术文章 正文

使用表达式、语句和运算符(表达式运算符的优先顺序从高到低为)

nanyue 2024-07-19 23:59:33 技术文章 8 ℃

使用表达式、语句和运算符

1.语句

所有的c++都由语句组成,语句是以分号结尾的命令。语句控制程序的执行流程、评估表达式甚至可以什么也不做(空语句)。

空白:

在c++程序源代码中,空格、制表符和换行符统称为空白。空白旨在让程序员方便阅读代码,编译器通常忽略他们。

正确的缩进有助于识别程序块或函数块的开始和结束位置。

复合语句:

可将多条语句编组,构成一条复合语句,这种语句以{开头,以}结束。可将复合语句放在任何可使用单条语句的地方。

复合语句中的每条语句都必须以分号结尾,但复合语句本身不能以分号结尾。如:

{

temp=a;

a=b;

b=temp;

}

这条复合语句交换a与b的值,交换时使用变量临时存储了一个变量的值。


2.表达式

表达式是语句中任何返回一个值的部分。如:

z = x = y + 13;

这条语句包含三个表达式:

表达式 y + 13,值被存储在变量x中;

表达式x = y + 13,它返回变量x的值,而该返回值被存储在变量z中;

表达式z = x = y + 13,它返回z的值,但是该返回值并未存储到其他变量中。

赋值运算符=导致左操作数的值变为右操作数的值

操作数是一个数学术语,指的是被运算符操作的表达式。

程序清单4.1 Expression.cpp

#include

?

intmain()

{

intx=12,y=42,z=88;

std::cout<<"Before -- x: "<

std::cout<<" z: "<

z=x=y+13;

std::cout<<"After -- x: "<

std::cout<<" z: "<

return0;

}


3.运算符

运算符是导致编译器执行操作的符号。

赋值运算符:=(常量可以作为右值,但不能作为左值,比如95 = grade非法)

数学运算符:+、-、*、/、%(%为求模运算符,返回整数除法的余数)

组合运算符:+=、-=、*=、/=、%=(都是自赋值运算符)

关系运算符:==、!=、>、>=、<、<=

逻辑运算符:&&、||、!

位运算符:&、|、^、~、<<、>>

递增与递减运算符:++、--

前缀运算符与后缀运算符:递增运算符++与递减运算符--若放在变量前面,就称为前缀运算符,放在变量后面则称为后缀运算符。

如:++count;中的++为前缀运算符,count++;中的++为后缀运算符

区别在于进行赋值时,前缀运算符会在赋值前执行,而后缀运算符会在赋值后执行

intx=5;

intsum=++x;

这两条语句使得x为6;sum为6;

intx=5;

intsum=x++;

这两条语句导致sum为5,x为6。

程序清单4.2 Years.cpp

#include

?

intmain()

{

intyear=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"<

std::cout<<" Have the Chicago Cubs won the World Series yet?\n";

std::cout<<"\nThe year "<

std::cout<<"The year "<

std::cout<<"The year "<

?

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

return0;

}


运算符优先级:表就不打了,自己去查,貌似版本挺多。


4.if-else条件语句

程序清单4.3 Grader.cpp

#include

?

intmain()

{

intgrade;

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";

return0;

}

程序清单4.4 NewGrader.cpp

#include

?

intmain()

{

intgrade;

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";

return0;

}

if (grade>=80)

{

std::cout<<"\nYou got a B. Good work!\n";

return0;

}

std::cout<<"\nYou got a C.\n";

}

elseif (grade>=60)

{

std::cout<<"\nYou got a D.\n";

}

else

std::cout<<"\nYou got an F. Congratulations!\n";

}

大家有兴趣学习C/C++的小伙伴可以加QQ群一起学习:1083020561

原文链接:https://www.cnblogs.com/adapter-chen/p/13293616.html

Tags:

最近发表
标签列表