您的位置:首页 > 编程语言 > C语言/C++

输入一个字符,判断它是否是大写字母。

2016-08-19 07:25 1916 查看
输入一个字符,判断它是否是大写字母。如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。

代码如下:

#include<stdio.h>
int main()
{
char ch;
scanf("%c",&ch);
ch=(ch>='A'&&ch<='Z')?(ch+32):ch;
printf("%c\n",ch);
return 0;
}

分析:此程序中运用了条件表达式来处理选择结构,,在此程序中,"ch=(ch>='A'&&ch<='Z')?(ch+32):ch"是一个”条件表达式“,它是这样执行的:如果字符变量ch的值为大写字母(位于字母A和Z之间,则表达式的值为(ch+32),即相应的小写字母,32为小写字母与相对应的大写字母ASCII码的差值;如果ch的值不是大写字母,则条件表达式的值保持不变,还输出ch的值。

       条件表达式的一般形式为

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

       其中的“?"和”:“是条件运算符。条件运算符要求有3个运算对象,称为三目(元)运算符。它是C语言中唯一的一个三目运算符。条件表达式也是一个选择结构,它与if语句不同之处在于它不能执行任意的内嵌语句,而是使表达式取不同的值。

条件表达式的执行顺序:先求解表达式1,若非0(真)则求解表达式2的值,此时表达式2的值就是整个表达式的值;若表达式1的值为0(假),则求解表达式3,表达式3的值就是整个表达式的值。
条件运算符的优先级高于赋值运算符,但低于关系运算符和算术运算符。
条件运算符的结合方向自左向右。
表达式2和表达式3不仅可以是数值表达式,还可以是赋值表达式或函数表达式。
条件表达式中,表达式1的类型可以与表达式2和表达式3不同,表达式2和表达式3的类型也可以不同,此时表达式的值的类型为二者中较高的类型。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言
相关文章推荐