正在加载图片...
靳润昭C语言教程讲义 2001年2月17日 比较两个数的大小关系 本例中用了if语句的嵌套结构。采用嵌套结构实质上是为了进行多分支选择,实际上 有三种选择即AB、AB或A=B。这种问题用if-else-if语句也可以完成。而且程序更加清 晰。因此,在一般情况下较少使用f语句的嵌套结构。以使程序更便于阅读理解 【例5.7】 maino i int a, b: printf("please input A, B scanf(%d%d",&a, &b) (a==b) printf("A=B\n") else if(a)b) printf("A>B\n") else printf ("A(B\n") 533条件运算符和条件表达式 如果在条件语句中,只执行单个的赋值语句时,常可使用条件表达式来实现。不但使 程序简洁,也提高了运行效率。 条件运算符为?和:,它是一个三目运算符,即有三个参与运算的量 由条件运算符组成条件表达式的一般形式为 表达式1?表达式2:表达式3 其求值规则为:如果表达式1的值为真,则以表达式2的值作为条件表达式的值,否 则以表达式2的值作为整个条件表达式的值。 条件表达式通常用于赋值语句之中 例如条件语句: if(ab)max=a else max=b 可用条件表达式写为 max=(a>b)?a:b: 执行该语句的语义是:如a为b为真,则把a赋予max,否则把b赋予max。 使用条件表达式时,还应注意以下几点 1)条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值符。 因此 max=(a>b)?a:b 可以去掉括号而写为 max=a>b?a: b 2)条件运算符?和:是一对运算符,不能分开单独使用。 3)条件运算符的结合方向是自右至左 例如 第9页靳润昭 C 语言教程讲义 2001 年 2 月 17 日 第9页 } 比较两个数的大小关系。 本例中用了 if 语句的嵌套结构。采用嵌套结构实质上是为了进行多分支选择,实际上 有三种选择即 A>B、A<B 或 A=B。这种问题用 if-else-if 语句也可以完成。而且程序更加清 晰。因此,在一般情况下较少使用 if 语句的嵌套结构。以使程序更便于阅读理解。 【例 5.7】 main(){ int a,b; printf("please input A,B: "); scanf("%d%d",&a,&b); if(a==b) printf("A=B\n"); else if(a>b) printf("A>B\n"); else printf("A<B\n"); } 5.3.3 条件运算符和条件表达式 如果在条件语句中,只执行单个的赋值语句时, 常可使用条件表达式来实现。不但使 程序简洁,也提高了运行效率。 条件运算符为?和:,它是一个三目运算符,即有三个参与运算的量。 由条件运算符组成条件表达式的一般形式为: 表达式 1? 表达式 2: 表达式 3 其求值规则为:如果表达式 1 的值为真,则以表达式 2 的值作为条件表达式的值,否 则以表达式 2 的值作为整个条件表达式的值。 条件表达式通常用于赋值语句之中。 例如条件语句: if(a>b) max=a; else max=b; 可用条件表达式写为 max=(a>b)?a:b; 执行该语句的语义是:如 a>b 为真,则把 a 赋予 max,否则把 b 赋予 max。 使用条件表达式时,还应注意以下几点: 1) 条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值符。 因此 max=(a>b)?a:b 可以去掉括号而写为 max=a>b?a:b 2) 条件运算符?和:是一对运算符,不能分开单独使用。 3) 条件运算符的结合方向是自右至左。 例如:
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有