第4章选择和循环结构程序设计
语句概述
关系运算符和关系表达式
逻辑运算符和逻辑表达式
选择结构的程序设计
循环结构的程序设计
程序设计
语句概述
语句是程序的重要组成部分,它代表程序执行的步骤,实现着程序的意图。C语言属于过程式语言,在这种语言中,围绕一个程序目标所要采取的每一步行动都必须由语句一一体现出来。简单地说,一个程序中包含了两部分信息,一部分是数据,另一部分是对数据的操作,这些操作是由语句来实现的。
C语言中,语句的含义也非常广泛。任何数据成份,只要以分号结尾,就称为语句,甚至只有一个分号也称为语句(空语句)。分号是C语言中的标志。一
个语句可分写成多行,只要未遇到分号就认为还在同一个语句中;反之,在一行中也可以写多个语句。也就是说C程序的书写是相当自由的。不过为了醒目起见,最好一行只写一条语句,并且根据不同的语法成份,错落有致地加以排列会更好地增加程序的可读性。本章我们将主要讲述选择和循环语句,这是C语言语句中的重点。在学习一种语句时,要对其使用的语法规则、语义含义等深刻理解,灵活运用。。
关系运算符和关系表达式
关系运算是逻辑运算中比较简单的一种。所谓“关系运算”实际上是“比较运算”。将两个值进行比较,判断其他的结果是否符合给定的条件。例如,a>3是一个关系表达式,大于号(>)是一个关系运算符,如果a的值为5,则满足给定的“a>3”条件,因此关系表达式的值为“真”(即“条件满足”);如果a的值为2,不满足“a>3”条件,则称关系表达式的值为“假”。
关系运算符及其优先次序
C语言提供6种关系运算符:
①< (小于)
②<= (小于或等于)
③> (大于)
④>= (大于或等于)
⑤= = (等于)
⑥!= (不等于)
关于优先次序:
(1)前4种关系运算符(<,<=,>,>=)的优先级别相同,后两种也相同。前4种高于后2种。例如,<=优先于“!=”。而“>”与“<=”优先级相同。
(2)关系运算符的优先级低于算术运算符。
(3)关系运算符的优先级高于赋值运算符。
例如:
c>a+b 等效于c>(a+b)
a>b==c 等效于(a>b)==c
a==b<c 等效于a==(b<c)
a=b>c 等效于a=(b>c)
关系表达式
用关系运算符将两个表达式(可以是算术表达式或关系表达式、逻辑表达式、赋值表达式、字符表达式)连接起来的式子,称关系表达式。例如,下面都是合法的关系表达式:
a>b,a+b>b+c,(a=3)>(b=5), 'a'<'b',(a>b)>(b<c)
关系表达式的值是一个逻辑值,即“真”或“假”。例如,关系表达式“5==3”的值为“假”,“5>=0”的值为“真”。C语言以1代表“真”,以“0”代表“假”。例如,a=3,b=2,c=1,则:
关系表达式“a>b”的值为“真”,表达式的值为1。
关系表达式“(a>b )==c”的值为“真(因为a>b的值为
1,等于c的值),表达式的值为1。关系表达式“b+c<a”的值为“假”,表达式的值为0。
如果有以下赋值表达式:
d=a>b d的值为1。
f=a>b>c f的值为0(因为“>”运算符是自左至右的结合方向,先执行“a>b”得值为1,再执行关系运算“1>c”,得值0,赋给f)。
逻辑运算符和逻辑表达式
用逻辑运算符将关系表达式或逻辑量连接起来的式子就是逻辑表达式。
如果a>b且x>y , 则上述逻辑表达式的值为“真”。下面介绍C语言中的逻辑运算符和逻辑运算。
逻辑运算符及其优先次序
C语言提供三种逻辑运算符:
(1)&& 逻辑与
(2)|| 逻辑或
(3) ! 逻辑非
“&&”和“||”是“双目(即有两个运算对象)运算符”,如(a>b)&&(x>y),(a<b)||(x<y)。
“!”是“一目(即运算对象只有一个)运算符”,如!(a>b)。
逻辑运算举例如下:
a&&b 若a、b为真,则a&&b为真(即a、b之一为假,则a&&b为假)。
a||b 若a、b之一为真,则a||b为真(即a、b都为假,a||b为假)。
!a 若a为真,则!a为假(即a 为假,!a为真)。
在一个逻辑表达式中如果包含多个逻辑运算符,如!a&&b||x>y&&c
按以下的优先次序:
第4章 选择和循环结构程序设计 来自淘豆网www.taodocs.com转载请标明出处.