C语言-条件运算符和条件表达式

if语句

if ( a>b)
    max = a;
else
    max = b;

可以把上面的if语句改写为

max = (a>b) ? a:b;

赋值号右侧的的“ (a>b) ? a : b ”是一个“条件表达式”。“ ?”是条件运算符。

条件表达式的一般形式为

表达式1 ?表达式2 :表达式3 

可以这样形象地理解:先计算出表达式1的值,表达式1后面的问号表示“该往哪里走啊?”,有两条路,如果表达式1的值为真(非0),自然直接到表达式2,此时表达式2的值就是整个条件表达式的值 如为假(0值),就绕过表达式2,到表达式3,条件3的值就是整个条件表达式的值。

例题

输入一个字符,判别它是否大写字母,如果是,将它转换为小写字母;如果不是,不转换,然后输出得到的字符

#include 
void main()
{
	char ch;
	printf("please input a character: ");
	scanf("%c", &ch);
	ch = (ch >= 'A'&& ch <= 'Z')?(ch+32):ch;//判断是否为大写字母
	printf("%c\n",ch);
}

                                                                                                                                        小鲁笔记

你可能感兴趣的:(c语言,开发语言,后端)