当前位置:文档之家› 3.2 PHP运算符和表达式

3.2 PHP运算符和表达式

3.2 PHP运算符和表达式
3.2 PHP运算符和表达式

3.2 PHP运算符和表达式

3.2.1 PHP的运算符

1.算术运算符

还记得学校里学到的基本数学知识吗?运算符就和它们一样。PHP的算术运算符是根据C语言演变而来的,其分类有:

除号(“/”)总是返回浮点数,即使两个运算数是整数(或由字符串转换成的整数)也是这样。

注: 取模$a % $b在$a为负值时的结果也是负值。

2. 赋值运算符

基本的赋值运算符是“=”。一开始可能会以为它是“等于”,其实不是的。它实际上意味着把右边表达式的值赋给左边的运算数。

赋值运算表达式的值也就是所赋的值。也就是说,“$a = 3”的值是3。这样就可以做一些小技巧:

$a = ($b = 4) + 5; // $a 现在成了 9,而 $b 成了 4。

?>

在基本赋值运算符之外,还有适合于所有二元算术和字符串运算符的“组和运算符”,这样可以在一个表达式中使用它的值并把表达式的结果赋给它,例如:

$a = 3;

$a += 5; // sets $a to 8, as if we had said: $a = $a + 5;

$b = "Hello ";

$b .= "There!"; // sets $b to "Hello There!", just like $b = $b . "There!"; ?>

注意:赋值运算将原变量的值拷贝到新变量中(传值赋值),所以改变其中一个并不影响另一个。这也适合于在很密集的循环中拷贝一些值例如大数组。自PHP 4 起支持引用赋值,用$var = &$othervar; 语法,但在PHP 3 中不可能这样做。引用赋值意味着两个变量都指向同一个数据,没有任何数据的拷贝。

3. 位运算符

位运算符允许对整型数中指定的位进行置位。如果左右参数都是字符串,则位运算符将操作字符的ASCII 值。

echo 12 ^ 9; // 输出为 '5'

echo "12" ^ "9"; // 输出退格字符(ascii 8)

// ('1' (ascii 49)) ^ ('9' (ascii 57)) = #8

echo "hallo" ^ "hello"; // 输出 ascii 值 #0 #4 #0 #0 #0

// 'a' ^ 'e' = #4

?>

位运算符

注意:

在32 位系统上不要右移超过32 位。不要在结果可能超过32 位的情况下左移。

4. 比较运算符

比较运算符如同它们名称所暗示的,允许对两个值进行比较。

比较运算符

如果比较一个整数和字符串,则字符串会被转换为整数。如果比较两个数字字符串,则作为整数比较。此规则也适用于switch 语句。

var_dump(0 == "a"); // 0 == 0 -> true

var_dump("1" == "01"); // 1 == 1 -> true

switch ("a") {

case 0:

echo "0";

break;

case "a": // never reached because "a" is already matched with 0 echo "a";

break;

}

?>

对于多种的类型,比较运算符根据下表比较(按顺序)。

比较多种类型

例子 15-2. 标准数组比较代码

// 数组是用标准比较运算符这样比较的

function standard_array_compare($op1, $op2)

{

if (count($op1) < count($op2)) {

return -1; // $op1 < $op2

} elseif (count($op1) > count($op2)) {

return 1; // $op1 > $op2

}

foreach ($op1 as $key => $val) {

if (!array_key_exists($key, $op2)) {

return null; // uncomparable

} elseif ($val < $op2[$key]) {

return -1;

} elseif ($val > $op2[$key]) {

return 1;

}

}

return 0; // $op1 == $op2

}

?>

三元运算符

另一个条件运算符是“?:”(或三元)运算符。

例子 15-3. 赋默认值

// Example usage for: Ternary Operator

$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];

// The above is identical to this if/else statement

if (empty($_POST['action'])) {

$action = 'default';

} else {

$action = $_POST['action'];

}

?>

表达式(expr1) ? (expr2) : (expr3)在expr1求值为TRUE时的值为expr2,在expr1求值为FALSE时的值为expr3。

注: 注意三元运算符是个语句,因此其求值不是变量,而是语句的结果。如果想通过引用返回一个变量这点就很重要。在一个通过引用返回的函数中语句return $var == 42 ? $a : $b;将不起作用,以后的 PHP 版本会为此发出一条警告。

5. 逻辑运算符

“与”和“或”有两种不同形式运算符的原因是它们运算的优先级不同。6. 字符串运算符

(“.=”),它将右边参数附加到左边的参数后。更多信息见赋值运算符。

$a = "Hello ";

$b = $a . "World!"; // now $b contains "Hello World!"

$a = "Hello ";

$a .= "World!"; // now $a contains "Hello World!"

?>

7. 数组运算符

+运算符把右边的数组附加到左边的数组后面,但是重复的键值不会被覆盖。

$a = array("a" => "apple", "b" => "banana");

$b = array("a" => "pear", "b" => "strawberry", "c" => "cherry");

$c = $a + $b; // Union of $a and $b

echo "Union of \$a and \$b: \n";

var_dump($c);

$c = $b + $a; // Union of $b and $a

echo "Union of \$b and \$a: \n";

var_dump($c);

?>

执行后,此脚本会显示:

Union of $a and $b:

array(3) {

["a"]=>

string(5) "apple"

["b"]=>

string(6) "banana"

["c"]=>

string(6) "cherry"

}

Union of $b and $a:

array(3) {

["a"]=>

string(4) "pear"

["b"]=>

string(10) "strawberry"

["c"]=>

string(6) "cherry"

}

数组中的单元如果具有相同的键名和值则比较时相等。例比较数组

$a = array("apple", "banana");

$b = array(1 => "banana", "0" => "apple");

var_dump($a == $b); // bool(true)

var_dump($a === $b); // bool(false)

?>

8. 类型运算符

PHP 有一个类型运算符:instanceof。instanceof用来测定一个给定的对象是否来自指定的对象类。

instanceof运算符是 PHP 5 引进的。在此之前用is_a(),但是is_a()已经过时了,最好用instanceof。

class A { }

class B { }

$thing = new A;

if ($thing instanceof A) {

echo 'A';

}

if ($thing instanceof B) {

echo 'B';

}

?>

由于$thing是类型 A 的一个object,而不是 B 的,只有和类型 A 相符合的程序块被运行:

A

9. 递增/递减运算符

PHP 支持 C 风格的前/后递增与递减运算符。

注: 递增/递减运算符不影响布尔值。递减NULL值也没有效果,但是递增NULL 的结果是1。

表格 15-6. 递增/递减运算符

一个简单的示例脚本:

echo "

Postincrement

";

$a = 5;

echo "Should be 5: " . $a++ . "
\n";

echo "Should be 6: " . $a . "
\n";

echo "

Preincrement

";

$a = 5;

echo "Should be 6: " . ++$a . "
\n";

echo "Should be 6: " . $a . "
\n";

echo "

Postdecrement

";

$a = 5;

echo "Should be 5: " . $a-- . "
\n";

echo "Should be 4: " . $a . "
\n";

echo "

Predecrement

";

$a = 5;

echo "Should be 4: " . --$a . "
\n";

echo "Should be 4: " . $a . "
\n";

?>

在处理字符变量的算数运算时,PHP 沿袭了 Perl 的习惯,而非 C 的。例如,在 Perl 中 'Z'+1 将得到 'AA',而在 C 中,'Z'+1 将得到 '['(ord('Z') == 90,ord('[') == 91)。注意字符变量只能递增,不能递减。

例涉及字符变量的算数运算

$i = 'W';

for ($n=0; $n<6; $n++) {

echo ++$i . "\n";

}

?>

上例将输出:

Y

Z

AA

AB

AC

递增或递减布尔值没有效果。

10. 执行运算符

PHP 支持一个执行运算符:反引号(``)。注意这不是单引号!PHP 将尝试将反引号中的内容作为外壳命令来执行,并将其输出信息返回(例如,可以赋给一个变量而不是简单地丢弃到标准输出)。使用反引号运算符“`”的效果与函数shell_exec()相同。

$output = `ls -al`;

echo "

$output
";

?>

注: 反引号运算符在激活了安全模式或者关闭了shell_exec()时是无效的。

11. 错误控制运算符

PHP 支持一个错误控制运算符:@。当将其放置在一个 PHP 表达式之前,该表达式可能产生的任何错误信息都被忽略掉。

如果激活了track_errors特性,表达式所产生的任何错误信息都被存放在变量$php_errormsg中。此变量在每次出错时都会被覆盖,所以如果想用它的话就要尽早检查。

/* Intentional file error */

$my_file = @file ('non_existent_file') or

die ("Failed opening file: error was '$php_errormsg'");

// this works for any expression, not just functions:

$value = @$cache[$key];

// will not issue a notice if the index $key doesn't exist.

注: @ 运算符只对表达式有效。对新手来说一个简单的规则就是:如果能从某处得到值,就能在它前面加上 @ 运算符。例如,可以把它放在变量,函数和include()调用,常量,等等之前。不能把它放在函数或类的定义之前,也不能用于条件结构例如if和foreach等。

目前的“@”错误控制运算符前缀甚至使导致脚本终止的严重错误的错误报告也失效。这意味着如果在某个不存在或类型错误的函数调用前用了“@”来抑制错误信息,那脚本会没有任何迹象显示原因而死在那里。

3.2.2运算符优先级

运算符优先级指定了两个表达式绑定得有多“紧密”。例如,表达式1 + 5 * 3的结果是16而不是18是因为乘号(“*”)的优先级比加号(“+”)高。必要时可以用括号来强制改变优先级。例如:(1 + 5) * 3的值为18。如果运算符优先级相同,则使用从左到右的左联顺序。

下表从高到低列出了运算符的优先级。同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序。

表格 15-1. 运算符优先级

左联表示表达式从左向右求值,右联相反。

例子结合方向

$a = 3 * 3 % 5; // (3 * 3) % 5 = 4

$a = true ? 0 : true ? 1 : 2; // (true ? 0 : true) ? 1 : 2 = 2

$a = 1;

$b = 2;

$a = $b += 3; // $a = ($b += 3) -> $a = 5, $b = 5

?>

使用括号可以增强代码的可读性。

注: 尽管!比=的优先级高,PHP 仍旧允许类似如下的表达式:if (!$a = foo()),在此例中foo()的输出被赋给了$a。

运算符与表达式练习题附答案

1. 以下运算符中优先级最高的是()。 A.&&B.+ C.!= D.?: 2.能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是()。 A.a>=10 or a<=0 B.a>=10| a<=0 C.a>=10 && a<=0 D.a>=10||a<=0 3. C语言中运算对象必需是整型的运算符是()。(A)+ (B)/ (C)% (D)* 4. 已知int i;float f;正确的表达式是()。 A)(int f)%i B) int(f)%i C) int(f % i) D) (int)f % i 5. 下列程序的输出结果是()。 void main( ) { int a=7,b=5; printf("%d\n",b=b%a); } (A)0 (B)1 (C)5 (D)不确定值6. 若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;

后,c的值为()。 (A)1.4 (B)1 (C)2.0 (D)2 7. 已知x=4.5,y=2.5,求表达式(x+y)/2+(int)y%(int)x的值()。 A) 3 B) 5 C) 3.5 D) 5.5 8. 已知各变量的类型如下 int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2; 则以下符合C语言语法的表达式是()。 (A)a+=a-=(b=4)*(a=3)(B)a=a*3+2 (C)x%(-3)(D)y=float(i) 9. 已知int a,b;执行语句a=(b=3*2,b*4),a+6;后变量a的值为()。 A) 6 B) 12 C) 24 D)30 10. 若有以下程序 main() { int k=2,i=2,m; m=(k+=i*=k);

作业━━第 1 章(2)━━运算符与表达式

运算符与表达式 【学习要点】 1.掌握运算符的目数、优先级、结合性等概念。 2.掌握算术运算及其应用。 3.掌握自增、自减运算及其应用。 4.掌握关系、逻辑运算及其应用。 5.掌握位运算及其应用。 6.掌握赋值、复合赋值运算及其应用,掌握赋值兼容时的类型转换。 7.掌握表达式求值时类型的自动转换和强制转换。 8.掌握表达式的组成,掌握逻辑表达式的优化及其副作用。 9.掌握逗号运算符、sizeof运算符、条件运算符及其应用。 ------------------------------------------------------------------------------------------------------------------------------------------------- 【例题分析】 1.若int x,y,z;下列表达式中运算结果与x=y=24相同的是______。 A.x=(y=z=8,4*6) B.x=y=(z=8,4*6) C.x=y=z=8,4*6 D.x=(y=z=8),4*6 【答案】B 【解析】 ①C++语言的赋值运算有别于其它高级语言,逗号运算又是其它高级语言所没有的。 ②在赋值表达式中,可以有多个赋值运算符,计算顺序自右向左,运算优先级低,仅高于逗号运算符。 ③逗号既是分隔符,又是运算符,可以用一个逗号运算符或多个逗号运算符将多个表达式连接成逗号表达式,计算顺序自左向右,并将最后一个表达式的值作为整个逗号表达式的值,逗号运算优先级最低。 2.若int i=6,k=0;下列表达式中运算结果使k=7的是______。 A.k=i+++k B.k=k+i++ C.k=++i+k D.k=k+++i 【答案】C 【解析】 ①自增++、自减--运算符是C++语言特有的。 ②运算符++、--出现在变量的前面或后面,其运算结果是不同的。若++、--出现在变量前,则先将变量的值加1(或减1)后,再将变量的值参加运算;反之则先将变量的值参加运算,再将变量的值加1(或减1)。 ③自增、自减运算符的优先级高于算术运算符,因此对于k=i+++k:解释为i++,再加k;对于k=k+++i:解释为k++,再加i。 3.表达式‘A’+’B’+20的值是______。 【答案】151 【解析】不同类型的数据混合运算时,系统可以自动进行类型转换,将表示范围小的数据类型转换成另一操作数的相同类型后再参与运算,则转换为65+66+20=151。 4.若int e=8;double f=6.4,g=8.9;则f+int(e/3*int(f+g)/2)%4的值是______。 【答案】9.4 【解析】 ①不同类型的数据混合运算时,可以使用强制类型转换符,将一种数据类型强制转换成另一种数据类型后再参与运算。 ②表达式中:e/3的值是整型数2,int(f+g)的值是整型数15,int(e/3*int(f+g)/2)的值是整型数15,15%4的值是整型数3,最后加上实型数f,得到最终值是实型数9.4。 1

(完整word版)C语言运算符与表达式的练习题答案

C语言运算符与表达式的练习题 单项选择题 (1)以下选项中,正确的 C 语言整型常量是(D)。 A. 32L B. 510000 C. -1.00 D. 567 (2)以下选项中,(D)是不正确的 C 语言字符型常量。 A. 'a' B. '\x41' C. '\101' D. "a" (3)字符串的结束标志是(C)。 A. 0 B. '0' C. '\0' D. "0" (4)算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B)。 A. 算术运算、赋值运算、关系运算 B. 算术运算、关系运算、赋值运算 C. 关系运算、赋值运算、算术运算 D. 关系运算、算术运算、赋值运算 (5)逻辑运算符中,运算优先级按从高到低依次为(D)。 A. && ! || B. || && ! C. && || ! D. ! && || (6)表达式!x||a==b 等效于(D)。 A. !((x||a)==b) B. !(x||y)==b C. !(x||(a==b)) D. (!x)||(a==b) (7)设整型变量 m,n,a,b,c,d 均为1,执行 (m=a>b)&&(n=c>d)后, m,n 的值是(A)。 A. 0,0 B. 0,1 C. 1,0 D. 1,1 *(8)设有语句 int a=3;,则执行了语句 a+=a-=a*=a; 后,变量 a 的值是(B)。 A. 3 B. 0 C. 9 D. -12 (9)在以下一组运算符中,优先级最低的运算符是(D)。 A. * B. != C. + D. = (10)设整型变量 i 值为2,表达式(++i)+(++i)+(++i)的结果是(B,上机13)。 A. 6 B. 12 C. 15 D. 表达式出错 (11)若已定义 x 和 y为double 类型,则表达式的值是(D)。

C语言中的逻辑运算符和位运算符总结

一、逻辑运算符: 包括:1。&&逻辑与 2。||逻辑或 3。!逻辑非 逻辑运算符用于对包含关系运算符的表达式进行合并或取非 对于使用逻辑运算符的表达式,返回0表示“假”,返回1表示“真”。关于逻辑运算符的解释 请注意:任何使用两个字符做符号的运算符,两字符之间不应有空格,即将==写成= =是错误的。 假设一个程序在同时满足条件a<10和b==7时,必须执行某些操作。应使用关系运算符和逻辑运算符“与”来写这个 条件的代码。用&&表示“与”运算符,该条件代码如下: (a<10) && (b==7); 类似地,“或”是用于检查两个条件中是否有一个为真的运算符。它由两个连续的管道符号(||)表示。如果上例 改为:如果任一语句为真,则程序需执行某些操作,则条件代码如下: (a<10) || (b==7); 第三个逻辑运算符“非”用一个感叹号(!)表示。这个运算符对表达式的真值取反。例如,如果变量s小于10,程序 程序需执行某些操作,则条件代码如下: (s<10) 或 (!(s>=10)) //s不大于等于10 关系运算符和逻辑运算符的优先级一般都低于算术运算符。例如,5>4+3的计算与5>(4+3)运算符是一样的,即 先计算4+3,再执行关系运算。此表达示的结果为“假”,即,将返回0。 下面的语句 printf("%d",5>4+3); 将输出 0 可以总结为:&&的结果是真真为真。||的结果是假假为假。 与A&&B 只有A B都为真才是真 或A||B 只有A B都为假才是假 非 ~A A为真时,此式为假 二、位运算符: 包括:1。&位与符 2。|位或符 3。^位异或符 4。~位取反符 以操作数12为例。位运算符将数字12视为1100。位运算符将操作数视为位而不是数值。数值 可以是任意进制的:十进制、八进制或十六进制。位运算符则将操作数转化为二进制,并相应地返回1或0。 位运算符将数字视为二进制值,并按位进行相应运算,运算完成后再重新转

C语言运算符与表达式的练习题

C语言运算符与表达式的练习题 (作业写到纸质作业本上,在规定时间内交给助教批阅,不要 再网上提交) 一、单项选择题 (1) 以下选项中,正确的C 语言整型常量是。 A. 32L B. 510000 C. -1.00 D. 567 (2) 以下选项中,是不正确的C 语言字符型常量。 A. 'a' B. '\x41' C. '\101' D. "a" (3) 在C 语言中,字符型数据在计算机内存中,以字符 的形式存储。 A. 原码 B. 反码 C. ASCII 码 D. BCD码 (4) 字符串的结束标志是。 A. 0 B. '0' C. '\0' D. "0" (5) 算术运算符、赋值运算符和关系运算符的运算优先级按 从高到低依次为。 A. 算术运算、赋值运算、关系运算 B. 算术运算、关系运 算、赋值运算

C. 关系运算、赋值运算、算术运算 D. 关系运算、算术运算、赋值运算 (6) 逻辑运算符中,运算优先级按从高到低依次为。 A. &&,!,|| B. ||,&&,! C. &&,||,! D. !,&&,|| (7) 表达式!x||a==b 等效于。 A. !((x||a)==b) B. !(x||y)==b C. !(x||(a==b)) D. (!x)||(a==b) (8) 设整型变量m,n,a,b,c,d 均为1,执行(m=a>b)&&(n=c>d)后, m,n 的值是。 A. 0,0 B. 0,1 C. 1,0 D. 1,1 (9) int b=0,x=1;执行语句if(x++) b=x+1; 后,x,b 的值依次为。 A. 2,3 B. 2,0 C. 3,0 D. 3,2 (10) 设有语句int a=3;,则执行了语句a+=a-=a*=a; 后,变量 a 的值是。 A. 3 B. 0 C. 9 D. -12 (11) 在以下一组运算符中,优先级最低的运算符是。 A. * B. != C. + D. =

[java入门学习]第 3 章 运算符和表达式.

第 3 章运算符和表达式 运算符指明对操作数所进行的运算。按操作数的数目来分,可以有一元运算 符 (如 ++、--,二元运算符(如 +、>和三元运算符 (如?:,它们分别对应于一个、两个和三个操作数。对于一元运算符来说 ,可以有前缀表达式 (如++i 和后缀表达式 (如 i++,对于二元运算符来说则采用中缀表达式(如a+b。按照运算符功能来分,基本的运算符有下面几类 : 1.算术运算符 (+,-,*,/,%,++,-- 2.关系运算符 (>,<,>=,<=,==,!= 3.布尔逻辑运算符 (!,&&,|| 4.位运算符 (>>,<<,>>>,&,|,^,~ 5.赋值运算符 (=,及其扩展赋值运算符如+= 6.条件运算符 ( ?: 7.其它 (包括分量运算符·,下标运算符 [],实例运算符 instance of,内存分配运算符new,强制类型转换运算符(类型,方法调用运算符 ( 等 本章中我们主要讲述前6类运算符。 § 3.1算术运算符 算术运算符作用于整型或浮点型数据 ,完成算术运算。 一、二元算术运算符 如下表所示运算符用法描述 + op1+op2 加 - op1-op2 减 * op1*op2 乘 / op1/op2 除 % op1%op2 取模(求余

Java对加运算符进行了扩展,使它能够进行字符串的连接 ,如 "abc"+"de",得到 串 "abcde"。我们将在第七章中讲解。与C、 C++不同,对取模运算符%来说,其操作数可以为浮点数, 如 37.2%10=7.2。 二、一元算术运算符 如下表所示 : 运算符用法描述 + +op 正值 - -op 负值 ++ ++op,op++ 加1 -- --op,op-- 减1 i++与 ++i的区别 i++在使用i之后,使 i的值加 1,因此执行完 i++后,整个表达式的值为 i,而 i的值变为 i+1。 ++i在使用i之前,使 i的值加 1,因此执行完 ++i后 ,整个表达式和 i的值均为 i+1。 对 i--与 --i同样。 例 3.1.下面的例子说明了算术运算符的使用 public class ArithmaticOp{ public static void main( String args[] { int a=5+4; //a=9 int b=a*2; //b=18 int c=b/4; //c=4 int d=b-c; //d=14 int e=-d; //e=-14 int f=e%4; //f=-2 double g=18.4;

实验二 运算符和表达式

实验二运算符和表达式 实验时间:2010年10月8日 【实验目的】 1、掌握C语言各种基本数据类型的定义和表示方法; 2、掌握变量的定义、赋值方法; 3、掌握基本运算符的功能及其应用; 4、掌握基本运算符的优先级和结合性; 5、掌握表达式的概念及运算规则; 6、掌握常用数据类型的转换规则。 【实验内容】 1、常用基本数据类型的存储长度,求字节运算符的使用; 2、运算符及其表达式的应用; 3、数据类型的自动转换与强制转换。 【实验步骤】 一、在E或F盘上建立以自己的学号命名的文件夹。 二、内容与步骤 1、求字节运算符的使用 利用sizeof()函数,了解C语言各种数据类型所占用的存储空间大小,将编写的源程 2、写出下列程序运行的结果 ⑴、/*ex2_2.c*/ #include #define PRICE 12.5 main() { int num=3; float total; char ch1,ch2=…D?; total=num*PRICE; ch1=ch2-…A?+…a?; printf(“total=%f,ch1=%c\n”,total,ch1); } ⑵、/*ex2_3.c*/ # include main()

{ int i, j, k; int m, n, p; i = 8; j = 10; k = 12; /* 自增在操作数之前*/ m = ++i; printf("i = %d\n", i); printf("m = %d\n", m); /* 自减在操作数之后*/ n = j--; printf("j = %d\n", j); printf("n = %d\n", n); /* 自增、自减的混合运算*/ p = (++m)*(n++)+(--k); printf("k = %d\n", k); printf("p = %d\n", p); } 3、运算符的优先级别和结合性:请写出下列程序运行的结果,并进行分析。/*ex2_4.c*/ #include Main() { int x,y,z; x=y=z=-1; ++x&&++y||++z; printf(“x=%d\ty=%d\tz=%d\n”,x,y,z); /*”\t”为按横向跳格格式输出*/ x=y=z=-1; ++x||++y&&++z; printf(“x=%d\ty=%d\tz=%d\n”,x,y,z); x=y=z=-1; ++x&&++y&&++z; printf(“x=%d\ty=%d\tz=%d\n”,x,y,z); } 4、位运算符的使用 位运算符C语言提供了六种位运算符:

逻辑运算符用于构成逻辑表达式

逻辑运算符用于构成逻辑表达式,从而实现逻辑判断功能。逻辑运算符包括逻辑与(And),逻辑非(Not),逻辑或(Or),逻辑异或(Xor),逻辑相等(Eqv)和逻辑蕴含(Imp)。 (1)逻辑与And 逻辑与的语法为: 当且仅当两个表达式expressionl莉expression2都为真时,其结果result才为真则当两个表达式中有一个为假时,其结果必为假False。 (2)逻辑非Not 逻辑非的语法为: Not为单目运算符,后跟的expression为关系表达式或算术表达式。 当关系表达式为True时,其结果为False;当关系表达式为False时,结果为Tme。 当算术表达式取值为1时,结果为0;当算术表达式取值为0时,结果为1。 (3)逻辑或Or 逻辑或的语法为: 当Or两边的表达式中有一个为True时,结果result就为TRUE;只有两个表达式均为FALSE时,其结果才为False。 (4)逻辑异或Xor 逻辑异或的语法为: 所谓的“异或",就是当两个表达式的值不同时(即一个为True,另一个为FALSE),其结果为True;当两个表达式的值相同(都为True或都为False)时,结果为False。也就是“异"则“真”,“同”则“假”。 (5)逻辑相等Eqv 逻辑等价运算的语法为: 逻辑“相等"与“异或"运算是一对互逆运算符,即当两个表达式的值相同(都为True或都为False) 寸,其结果为True;当两个表达式的值不同(一个为True,另一个为False)时,其结果为False。只要表达式中有一个为Null,则结果为Null。 (6)逻辑蕴含Imp 逻辑蕴含的语法为: result=expres sion l Imp expression2 “蕴含"逻辑的真值表见表2-9,只有当第一个表达式expressionl为True,第二个表达式expreesion2为False时,结果才为False,其他情况下结果均为True。

运算符和表达式教案

QBASIC语言程序设计之 运算符和表达式 科目:计算机 授课人:赵华 时间:2007年10月

《运算符和表达式》教案 教学目标: 1、识记运算符的分类及表达式的定义。 2、掌握算术运算符的运算规则。 3、掌握QBASIC表达式的书写规则。 4、掌握算术表达式的求值方法。 教学重点: 1、掌握算术运算符的运算规则。 2、掌握算术表达式的求值方法。 教学难点: 1、掌握算术运算符的运算规则。 2、掌握算术表达式的求值方法。 课前巩固: 1、函数SQR(X)的功能是什么?(举例介绍) 2、函数INT(X)的功能是什么?(举例介绍) 教学内容: 一、运算符的分类 运算符表示对数据进行的具体运算。在QBASIC中分为四类:算术运算符、字符串运算符、关系运算符、逻辑运算符本节我们重点学习算术运算符和算术表达式的有关内容。 二、算术运算符 1、种类: 2、运算规则: ①^ 是乘方运算符: 例如:6^2就表示数学上的62,其值等于36。 2^-2就表示数学上的2-2,其值等于0.25。

② \ 是整除运算符: 运算功能是:如果参与运算的两个数是整数,运算结果为商的整数部分;如果参与运算的量含有小数,则系统先将它们按四舍五入转换为整数,然后再进行运算。 例1: 7 \ 2 = 3 10 \ 4 = 2 例2: 8.7 \ 5 = 1 12.37 \ 4.78 = 2 ③ MOD 是求余运算符: 运算功能是:如果参与运算的两个数是整数,运算结果为两数相除后的余数;如果参与运算的量含有小数,则系统先将它们按四舍五入转换为整数,然后相除取它们的余数。 例1: 12 MOD 5 = 2 23 MOD 4 = 3 例2: 11.7 MOD 8 = 4 13.23 MOD 4.76 = 3 三、算术表达式 1、什么叫表达式? 是指用圆括号和运算符将常量、变量和函数连接起来的式子。 2 、表达式分为哪几类? 根据运算性质不同可分为四类: 算术表达式 、 字符表达式 、 关系表达式 、 逻辑表达式 3、什么是算术表达式? 就是用圆括号和算术运算符将数值常量、变量和函数连接起来的式子。 4、怎样把代数式写成QBASIC 的算术表达式 例1: 2X + Y +6 写成QBASIC 表达式为: 2*X +Y + 6 例2:A AC 24B +B -2-写成QBASIC 表达式为: (-B+SQR (B^2-4*A*C ))/(2*A) 例3: B A y x +写成QBASIC 表达式为: (ABS (X )* ABS (Y ))/(A+ B )

逻辑运算符和表达式(c语言)

南京高等职业技术学校 课堂教学设计 授课时间:2014年11月6日第11周星期四教学目标教学准备 授课教师课时课程通过本节课的学习,学生能够: 1.清晰地说出各种逻辑运算符; 2.正确运算出逻辑表达式的值,并 通过程序验证结果; 重点教案□√ 马丽娟 1 C语言多媒体课件□√班级授课地点课题教学讲义□ 512212 机房4.2逻辑运算符与逻辑表达 式 1.逻辑表达式的求值运算; 2.逻辑表达式的求值优化。 学生工作页□ 课堂特殊要求(指教师、学生的课前准备活动等) 教师:安装Win-TC程序难点 教具□√ 逻辑表达式的求值优化授课形式 理论讲授课 教学环节时间分配教师活动学生活动教学方法媒体手段导入新课 5 提出问题,并举例说明听讲、思考、回答讲授法PPT 新课讲授20 讲授、分析听讲、讨论并记录讲授法PPT 巩固练习15 布置任务、巡视、答疑思考、编程并回答问题练习法Win-TC 课堂小结 3 归纳、总结听讲、回答问题讲授法PPT 布置作业 2 布置作业记录讲授法PPT 板书设计 §4.2 逻辑运算符与逻辑表达式 ?逻辑运算符:&&、||、! ?逻辑表达式的值:非0即1 ?逻辑运算的求值优化工作任务/教学情境设置 无课后作业 书面作业:P52 随堂练习 课后反思

教案纸 教学内容 4.2 逻辑运算符与逻辑表达式 一、复习导入(5min) 1. 复习:请学生说出关系运算符有哪些? 请学生回答关系运算表达式的值? 教师进行补充。 2.导入新课: 1、学生参加技能大赛培训的条件? ?扎实的专业知识与较高的实践能力 教师强调与的关系 2、参加技能大赛集训而停课的条件? ?移动互联或智能家居 教师强调或的关系 3、学生回答引入禁烟区的条件? ?没有吸烟非 教师强调非的关系 二、新课讲授(20min) 逻辑运算符 1.教师根据逻辑关系给出三种逻辑运算符的表示形式: &&、||、! 2.教师利用具体的表达式关系分析各种逻辑运算符的作用: 逻辑与相当于英语中的and; 逻辑或相当于英语中的or; 逻辑非相当于英语中的no; 3.教师根据具体的逻辑关系引出逻辑表达式的概念及表示形式: 表达式1&&表达式2 a&&b 表达式1||表达式2 a || b !表达式!a

C++运算符和表达式

2.4C++的运算符和表达式 运算符是施加在数据上的重要操作,变量、常量通过操作符组合成C++的表达式,构成了C++程序的基本要素。本节将介绍C++语言中基本运算符和表达式。 2.4.1C++中的基本运算符 运算是对数据的加工过程,而标识不同运算的符号称职运算符,参与运算的数据称为操作数。表2.3列出了C++中的基本运算符、其优先级及对操作数的结合性。 注:优先级相同的运算符,其执行顺序由该运算符在语句中的位置先后决定。 根据参与运算的操作数的类型不同,运算符可以分为单目运算符(1个操作数)、双目运算符(2个操作数)、三目运算符(3个操作数)。有一些运算符既可以是单目的,也可以是双目的,根据赋予该运算符的操作数的不同,运算符具有不同的功能。 例如:*pFile; var1*var2;

运算符的优先级和数学运算中的优先级意义相同,它决定了一个操作符在表达式的运算顺序,优先级越高,运算次序越靠前。而结合性则决定一个操作符对其操作数的运算顺序。如果一个操作符对其操作数的操作运算是自左向右执行的,则称该操作符是右结合的;反之如果一个操作符对其操作数的操作运算是自右向左执行的,则称该操作符是左结合实际的。 根据操作符表示的运算的性质不同,可以将C++中的操作符分为算术运算、关系运算符、逻辑运算符、赋值运算符、条件运算符、自增自减运算符、位运算符和sizeof运算符等。下面分别进行讨论。 1、算术运算符 表2.4列出了C++中的算术运算符。 对于单目运算符-,其返回值的数据类型与操作数的数据类型相同.对于双目运算符+、-、*和/,若其两个操作数的数据类型相同,则返回值的数据类型与操作数的数据类型相同;若两操作数的数据类型不同,则返回值的数据类型与字长较长的操作数的数据类型相同。 注意:两个整数相除的结果仍然是整数。若被除数不能被除数整除,则相除的结果将被取整,其小数部分将被略去。 例如:34/7;12.5%3(非法)35%7 在某些情况下,算术运算表达式会产生某些问题,计算的结果将给出错误或没有定义的数值,这些情况称为运算异常。对不同的运算异常,将产生不同的后果。在C++中,除数为零和实数溢出被视为一个严重的错误而导致程序运行的异常终止。而整数溢出则不被认为是一个错误(尽管其运算结果有可能与预期值不同)。因此,在一些与硬件打交道的低级程序中利用整数溢出查看设备的状态位等。 2、关系运算符 表2.5列出了C++中的关系运算符,它们都是双目运算符。关系运算符的返回值只有逻辑真和逻辑假两种。当两个操作数满足关系运算符所要求的比较关系时,返回整型数1(真);否则返回整型数0(假)。 表2.5 C++中的关系运算符 var3=(var1

第3章表达式与运算符测试

C语言第3章《运算符与表达式》测试题 一、选择题(每题2分,共50分) 1、表达式“2,4,6,8”的值为() A.2 B.4 C.6 D.8 2、以下程序的输出结果是() main() {int a=12,b=0x12; printf(“%d%d\n”,--a,++b); } A.12 12 B.12 18 C.11 10 D.11 19 3、设x和y都是int型变量,则执行表达式“x=(y=4,z=16),k=32”后,x的值为() A.4 B.16 C.32 D、52 4、设x为int型变量,执行语句“x=’A’;x*=2+2;”后,的值为() A.65 B.260 C.132 D.语句错误 5、若有语句“int a=5;a++*2;”则表达式“a++*2”的值为() A.7 B.12 C.5 D.10 6、设x和y为int型变量,表达式“x+=y;y=x-y;x-=y;”的功能是() A.把x和y按从小到大排列 B.把x和y按从大到小排列 C.无确定结果 D.交换x和y的值 7、下面程序的输出结果是() main() {int x=’\23’; printf(“%d\n”--x); } A.19 B.18 C.23 D.24 8、若变量f已定义为float型, i为int 型,则下面()表达式(或语句)能够实现将f的数值保留小数点后两位,第3位进行四舍五入的运算。 A.f=(f*100+0.5)/100.0 B.i=f*100+0.5,f=i/100.0; C.f=(int)(f*100+0.5)/100 D.f=(f/100+0.5)*100.0 9、下面表达式正确的是() A. a+b=5 B.56=a11 C.5.6+6.2%3.1 D.a=5,b=6,c=7 10、若t为double型变量,执行逗号表达式“t=(x=0,x+5),t++;”的输出结果是()

c语言中逻辑运算符和逻辑表达式只是定总结

逻辑运算符和逻辑表达式 (一)逻辑运算符及其优先次序 1.&& (逻辑与) 相当于其他语言中的AND 2.|| (逻辑或) 相当于其他语言中的OR 3.! (逻辑非) 相当于其他语言中的NOT 例:a&&b 若a,b为真,则a&&b为真。 a||b 若a,b之一为真,则a||b为真。 !a 若a为真,则!a为假。 优先次序: ?逻辑运算符中的“&&”和“||”低于关系运算符,“!”高于算术运算符 ?逻辑非>算数运算符>关系运算符>&&和||>赋值运算符>逗号运算符(二)逻辑表达式 ?用逻辑运算符将关系表达式或逻辑量连接起来的式子就 是逻辑表达式 ?逻辑表达式的值应该是一个逻辑量“真”或“假”。 任何非零的数值都被认作“真” 例:设a=4,b=5: !a的值为0 a&&b的值为1 a||b的值为1 !a||b的值为1 4&&0||2的值为1 例:5>3&&8<4-!0 (从左向右运算)

表达式值为0 1)!0=1 2)4-1=3 3)5>3值为1 8<3值为0 4)1&&0值为0 (三)短路现象 在逻辑表达式的求解中,并不是所有的逻辑运算符都要被执行。 (1)a&&b&&c 只有a为真时,才需要判断b的值,只有a和b都为真时,才需要判断c的值。 (2)a||b||c 只要a为真,就不必判断b和c的值,只有a为假,才判断b。a和b都为假才判断c 例:int m=10,n=12,a=1,b=3,c=14,d=7,i,j; <1>i=(m=a>b)&&(n=c>d); printf(“%d,%d\n”,m,n); /*输出值:0,12 */ j=(m=a>b)||(n=c>d); printf(“%d,%d\n”,m,n); /*输出值:1,12 */ printf(“%d,%d\n”,i,j); 输出值:0,1 <2>i=(m=ad); printf(“%d,%d\n”,m,n); /*输出值:1,1 */ j=(m=ad); printf(“%d,%d\n”,m,n); /*输出值:1,1 (应该输出的为上一步的n为1,不等于12) */ printf(“%d,%d\n”,i,j); 输出值:1,1

运算符和表达式

关系运算符和关系表达式导学案 班级:姓名: 6学习目标: 1.了解关系运算和关系表达式的概念,掌握关系运算符的功能、优先级、结合性,学会正确书写和计算关系表达式的值。 2.了解逻辑运算和关系表达式的概念,掌握逻辑运算符的功能、优先级、结合性,学会正确书写和计算逻辑表达式的值。 学习重点: 关系运算符和逻辑运算符的优先级和结合性、关系表达式和逻辑表达式值的计算。 【课前预习】 1.C语言提供了一组关系运算符,其基本信息如图所示,用来比较两个运算对象之间的关系。 运算符名称分类优先级结合性< <= > >= == != 2.C语言提供了3种逻辑运算符,其基本信息如图所示。 运算符名称分类优先级结合性! && || 【新课讲解】 任务一:关系运算符和关系表达式 一、关系运算的概念: 二、关系运算符及其优先次序: 1.运算符种类: 2.优先次序:

3.结合性: 三、关系表达式 1.概念: 2.一般形式: 3.关系表达式的值: 任务二:逻辑运算符和逻辑表达式 一、逻辑运算的概念: 二、逻辑运算符及其优先次序: 1.运算符: 2.真值表: a b !a !b a&&b a||b 真真 真假 假真 假假 结论: 3.优先次序: 4.结合性: 三、逻辑表达式 1.概念: 2.逻辑表达式的值: 3.说明:

【巩固练习】 1.假设有三条边a、b、c,写出它们能构成三角形的逻辑表达式。 2.已定义“char ch='$';”、“int i=1,j;”,执行j=!ch&&i++以后,i的值为__。 3.一个数既能被3整除又能被5整除的表达式。 4.如果a=3,b=2,c=1,那么a>bb&&bc 的值为______。 5.C语言中复合逻辑表达式中所包含的所有运算都将会被执行。() 6.当数值型数据作为逻辑运算的操作数时,只有1才被当做是“真”,0当做“假”,其余的数值均为非法的。() 7.数值型数据不能当做逻辑量参与逻辑运算。() 8.在C语言中表示数学中的a的范围的表达式-10≤a≤10的C语言表达式为 -10<=a<=10。() 9.判断char型变量c1是否为小写字母的最简单且正确的表达式为() A.‘a’<=c1<=’z’ B.(c1>’a’)&&(c1<’z’) C.(c1-20>=’A’)&&(c1-21<=’Z’) D.(c1>=’a’)&&(c1<=’z’)

习题三(运算与表达式)

习题三 一、选择题 1.若有代数式 bc ae 3,则不正确的C 语言表达式是( C )。 A. a/b/c*e*3 B. 3*a*e/b/c C. 3*a*e/b*c D. a*e/c/b*3 2.在C 语言中,要求运算数必须是整型的运算符是( D )。 A. / B. = C. ++ D. % 3.若有定义语句:int a=7;float x=2.5,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值( A )。 A.2.500000 B. 2.750000 C.3.500000 D.0.000000 4.若有定义int x=5,y=2,则表达式5/2的结果为(B )。 A. 2.5 B. 2 C. 2.0 D. 3 5.判断char 型变量ch 是否为大写字母的正确表达式是( C )。 A. …A ?<=ch<=?Z ? B. (ch>=?A ?)&(ch<=?Z ?) C. (ch>=?A ?)&&(ch<=?Z ?) D. (ch>=?A ?)and(ch<=?Z ?) 6.为表示关系a ≥b ≥c,则正确的C 语言表达式为( C )。 A. a>=b>=c B. (a>=b)&(b>=c) C. (a>=b)&&(b>=c) D. (a>=b)||(b>=c) 7.逻辑运算符两侧运算对象的数据类型(D )。 A.只能是0或1 B.只能是0或非0正数 C.只能是整型或字符型 D.可以是任何数据类型 8.下列运算符中,优先级最高的是( B )。 A. < B. + C. && D. == 9.设x 、y 、z 是int 型变量,且有x=3,y=4,z=5,则下面表达式中值为0的是( D )。 A. …x ?&&?y ? B. x<=y C. x||y+z&&y-z D. !((x=y&&chb )&&(n=c>d)后,n 的值为( C )。 A. 0 B. 1 C. 2 D. 3 13.判断char 型变量c 是否为0到9的数字的正确表达式为( C )。 A. …0?<=c<=?9? B. 0<=c<=9 C. c>=?0?&&c<=?9? D.c>=0&&c<=9 14.设有int x=3,y=4,z=5,则执行表达式!(x+y )+z-1&&y+z/2的结果是( D )。 A. 6 B. 0 C. 2 D. 1

keil C 运算符和表达式

运算符和表达式 运算符就是完成某种特定运算的符号。运算符按其表达式中与运算符的关系可分为单目运算符,双目运算符和三目运算符。单目就是指需要有一个运算对象,双目就要求有两个运算对象,三目则要三个运算对象。表达式则是由运算及运算对象所组成的具有特定含义的式子。C 是一种表达式语言,表达式后面加“;”号就构成了一个表达式语句。 赋值运算符 对于“=”这个符号大家不会陌生的,在 C 中它的功能是给变量赋值,称之为赋值运算符。它的作用就是把数据赋给变量。如,x=10;由此可见利用赋值运算符将一个变量与一个表达式连接起来的式子为赋值表达式,在表达式后面加“;”便构成了赋值语句。使用“=”的赋值语句格式如下: 变量 = 表达式; 示例如下 a = 0xFF; //将常数十六进制数 FF 赋于变量 a b = c = 33; //同时赋值给变量 b,c d = e; //将变量 e 的值赋于变量 d f = a+b; //将变量 a+b的值赋于变量 f 由上面的例子可以知道赋值语句的意义就是先计算出“=”右边的表达式的值,然后将得到的值赋给左边的变量。 算术,增减量运算符 对于 a+b,a/b 这样的表达式大家都很熟悉,用在 C语言中,+,/,就是算术运算符。C51的算术运算符有如下几个,其中只有取正值和取负值运算符是单目运算符,其它则都是双运算符: + 加或取正值运算符 - 减或取负值运算符 * 乘运算符 / 除运算符 % 取余运算符 算术表达式的形式: 表达式 1 算术运算符表达式 2 如:a+b*(10-a), (x+9)/(y-a) 除法运算符和一般的算术运算规则有所不同,如是两浮点数相除,其结果为浮点数,如 10.0/20.0 所得值为 0.5,而两个整数相除时,所得值就是整数,如 7/3,值为 2。像别的语言一样 C 的运算符与有优先级和结合性,同样可用用括号“()”来改变优先级。这些和我们小时候学的数学几乎是一样的,也不必过多的说明了。 ++ 增量运算符 -- 减量运算符 这两个运算符是 C 语言中特有的一种运算符。在 VB,PASCAL 等都是没有的。作用就是对运算对象作加 1 和减1 运算。要注意的是运算对象在符号前或后,其含义都是不同的,虽然同是加1或减 1。如:I++,++I,I--,--I。 I++(或 I--)是先使用 I 的值,再执行 I+1(或 I-1) ++I(或--I)是先执行 I+1(或I-1),再使用I 的值。 增减量运算符只允许用于变量的运算中,不能用于常数或表达式。 关系运算符 对于关系运算符,在C中有六种关系运算符: >大于 <小于 >=大于等于 <=小于等于 ==等于

关系(逻辑)运算符和关系(逻辑)表达式

《程序设计语言 C1》随机作业题 做作业时间:2013-4-23 8:00:00至2013-5-23 8:00:00 1、能正确表示a和b同时为正或同时为负的逻辑表达式是 (3分) D A、B、C、D、 A、(a>=0‖b>=0)&&(a<0‖b<0) B、(a>=0&&b>=0)&&(a<0&&b<0) C、(a+b>0)&&(a+b<=0) D、a*b>0 2、设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、 n=2, 则逻辑表达式(m=a > b)&&(n=c > d)运算后,n的值为: (3分) C A、B、C、D、 A、0 B、1 C、2 D、3 3、逻辑运算符两侧运算对象的数据类型 (3分) D A、B、C、D、 A、只能是0或1 B、只能是0或非0正数 C、只能是整型或字符型数据 D、可以是任何类型的数据

4、已知x=43,ch='A',y=0;则表达式(x > = y&&ch < 'B'&&!y)的值是 (3分) C A、B、C、D、 A、0 B、语法错 C、1 D、“假” 5、判断char型变量cl是否为小写字母的正确表达式是 (3分) D A、B、C、D、 A、'a'<=cl<='z' B、(cl>=a)&&(cl<=z) C、('a'>=cl)||('z'<=cl) D、(cl>='a')&&(cl<='z') 6、若有条件表达式 (exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是 (3分) B A、B、C、D、 A、(exp==0 B、(exp!=0) C、(exp==1) D、(exp!=1) 7、表示关系X < =Y < =Z的C语言表达式为________。 (3分) A A、B、C、D、 A、(X < =Y)&&(Y < =Z) B、(X < =Y)AND(Y < =Z) C、(X < =Y < =Z) D、(X < =Y)&(Y < =Z) 8、为表示关系x ≥ y ≥ z,应使用C语言表达式_________。 (3分) A A、B、C、D、 A、(x > =y)&&(y > =z) B、(x > =y)AND(y > =z)

运算符和表达式练习题

第6讲:运算符和表达式 1.写出下列各逻辑表达式的值。设,a=3,b=4,c=5。 (1) a + b > c && b == c 0 (2) a || b + c && b - c 1 (3) !(a > b) && !c || 1 1 (4) !(x = a) && (y = b) && 0 0 (5) !(a + b) + c – 1 && b + c / 2 1 2.阅读程序,写出运行结果: #include int main() { int a=3,b=1, x=2, y=0; printf("%d, %d \n", (a > b) && (x > y) , a > b && x > y); printf("%d, %d \n", (y || b) && (y || a), y || b && y || a); printf("%d\n",!a || a > b); } 1,1 1,1 1 3.有以下程序 int main() { int a=1,b=2,m=0,n=0,k; k = (n = b > a) || (m = a < b); printf("%d, %d\n", k, m); } 程序运行后的输出结果是?1,0(短路) 4.以下程序的输出结果是? int main() { int a=4,b=5,c=0,d; d=!a && !b || !c; printf("%d\n", d); }1

5.以下程序的输出结果是? #include int main() { int a ,b,d=241; a=d/100%9; b=(-1) && (-1); printf("%d,%d\n", a, b); }2,1 6.为表示关系x≥y≥z,应使用C 语言表达式是?(x>=y&&y>=z) 7.已知:char c; int a, b, d; c=’w’; a=1; b=2; d=-5; 求下列表达式的值:。 (1) 'x'+1 < c 0 (2) 'Y' != c - 5 1 (3) –a – 5 * b >= d + 1 1 (4) 3 > d < -1 0 (5) d != b + 2 == 4 0 8.有以下程序,阅读后写出程序的运行结果。 int main() {0 int m=3, n=4,x; x=-m++; x=x + 8 / ++n; printf("%d\n", x); } 9.有以下程序,阅读后写出程序的运行结果。 #include int main() { int a=2,b=3,c=4; printf("%d\n", 1 / 3.0 * 3.0 == 1.0); 1 printf("%d\n", a + b > 3 * c); 0 printf("%d\n", (a <= b) == (b > c)); 0 printf("%d\n", 'A' != 'a'); 1 } 10.用条件表达式描述 (1) 取三个数a、b、c 中的最大者a>c?(a>b?a:b):(c>b?c:b) (2) 取三个数a、b、c 中的最小者a

相关主题
文本预览
相关文档 最新文档