C语言条件表达式

Python023

C语言条件表达式,第1张

条件运算符及其相应的操作数构成的表达式称为条件表达式。

条件表达式的一般形式:表达式1?表达式2:表达式3

含义:若条件表达式1的值非0,则该条件表达式的值是表达式2的值,否则是表达式3的值。

例如:

1、max=((a>b)?a:b)

就是将a和b二者中较大的一个赋给max。

2、min=(a<b)?a:b

就是将a和b二者中较小的一个赋给min。

扩展资料

条件表达式的优先级

条件运算符优先级高于赋值、逗号运算符,低于其他运算符

例如: int m=5,n=10,a=1,b=3

(1) m<n ? X: a+3

等价于: (m<n) ?(x) :(a+3)

(2) a++>=10 &&b-->20 ? a : b

等价于: (a++>=10 &&b-->20) ? a : b

(3) x=((3+a>5 )? 100 : 200)

等价于:x=((3+a>5)?100:200)

C语言合法语句的条件:算法只要满足了有穷性、确定性、输入、输出、可行性五个特点,算法的优劣来自于时间和空间复杂度,复杂度越低的算法效率就高。

标识符由字母(A-Z,a-z)、数字(0-9)、下划线“_”组成,并且首字符不能是数字,但可以是字母或者下划线。例如,正确的标识符:abc,a1,prog_to。不能把C语言关键字作为用户标识符,例如if,for,while等。

含义

C语言与C++、C#、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。

要大致了解下scanf函数。

#include

<stdio.h>

int

scanf(const

char*

format,

va_list)

功能:格式化输入或扫描(scan

format=Formatting

scanning)。在format串的控制下,读取输入转换并赋值到后面对应的参数变量中。

返回值:正确赋值给va_list中变量的输入项目的个数。

说明:

你的一个例子说明:

scanf("%d",

&c)中的"%d"(d=decimal

,十进制数)是一个转换说明符,告诉scanf,把输入文本中匹配整数格式的部分解释成一个基本整数,然后写到c变量中。如果存在某种错误,行为未定义。

你可以试验下:

int

c

=

7//定义一个名为x的整数变量,初始值为7

int

count

count

=

scanf("%d",

&c)//输入格式必须为:数字,用正则描述是:/^[+-]*[0-9]+$/

printf("%d",

c)

printf("%d",

count)

运行这段代码,会发现,如果你的输入是不正确的数字格式

例如包含字母字符,那么输出就不会等于输入的内容,而等于c原先的值。

显然,完成相等值判断的if-else

if-else中的else语句肯定会执行。

另外这句:printf("%d",

count)

会打印出

正确赋值给va_list中变量的输入项目数,所以输入了字母就为0,否则为1。

如果那段代码是别人的例子,要做的功能正是如此么。。:当用户的输入不合法时打印提示"please

input"重新输入,直到用户输入了一个合适的数字。