
C语言 ch=(ch>='A'&& ch<='Z')? ch:(ch-32) 这一句中 ? ch:(ch-32) 是什麼意思,有什麼作用?
展开全部
A?B:C 这是一个条件运算符的用法,如果A成立则返回B,否则返回C
你这里就是 如果ch是'A'到'Z'之间的大写字母,就返回ch本身;否则返回ch-32(此时ch为小写字母,每个字母对应的小写字母的ASCII码比大些字母的ASCII码要大32,可以查看ASCII码表,ch-32就把小写字母变换成对应的大写字母了,当然你这里得先保证要转换的ch是字母,若是数字符号经过这个计算则没有意义了)
%d %f %c分别对应整数,浮点数,字符变量的格式控制
int a;
float b;
char c;
scanf("%d %f %c",&a,&b,&c); 这是用作键盘输入,主要后面的变量使用了&符号
printf("%d %f %c",a,b,c);这里用作屏幕输出显示
你这里就是 如果ch是'A'到'Z'之间的大写字母,就返回ch本身;否则返回ch-32(此时ch为小写字母,每个字母对应的小写字母的ASCII码比大些字母的ASCII码要大32,可以查看ASCII码表,ch-32就把小写字母变换成对应的大写字母了,当然你这里得先保证要转换的ch是字母,若是数字符号经过这个计算则没有意义了)
%d %f %c分别对应整数,浮点数,字符变量的格式控制
int a;
float b;
char c;
scanf("%d %f %c",&a,&b,&c); 这是用作键盘输入,主要后面的变量使用了&符号
printf("%d %f %c",a,b,c);这里用作屏幕输出显示
展开全部
ch=(ch>='A'&& ch<='Z')? ch:(ch-32)
这个主要是涉及到三元运算符 A ? B : C
A B C分别表示三个表达式, 意思是,如果 A的值为真,则返回B的值,否则返回C的值
如你给的例子,是 判断 ch 是否 大于等于‘A' 且小于等于’Z', 即如果ch是大写字母,ch的值不变,否则ch为小写字母,ch-32等于小写字母对应的大写字母
如 ch = 'b'; 则ch=(ch>='A'&& ch<='Z')? ch:(ch-32); 后,ch='B';
%d 表示 整数
%f 表示 浮点数(也就是带小数点的数)
%c 表示 单个字符
这个主要是涉及到三元运算符 A ? B : C
A B C分别表示三个表达式, 意思是,如果 A的值为真,则返回B的值,否则返回C的值
如你给的例子,是 判断 ch 是否 大于等于‘A' 且小于等于’Z', 即如果ch是大写字母,ch的值不变,否则ch为小写字母,ch-32等于小写字母对应的大写字母
如 ch = 'b'; 则ch=(ch>='A'&& ch<='Z')? ch:(ch-32); 后,ch='B';
%d 表示 整数
%f 表示 浮点数(也就是带小数点的数)
%c 表示 单个字符
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是完成小写向大写转换的程序,应为大写英文字母与小写英文字母相差是个固定值,应该就是32
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先楼主你还没明白%d %f %c 分别是什麼意思
表明你对于你C语言的课本还没有认真看一遍吧
其次你的问题里那句话的意思是小写字母转换到大写字母的意思
因为比如小写字母a的ASCII值为97
大写字母A的ASCII值为65
表明你对于你C语言的课本还没有认真看一遍吧
其次你的问题里那句话的意思是小写字母转换到大写字母的意思
因为比如小写字母a的ASCII值为97
大写字母A的ASCII值为65
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果(ch>='A'&& ch<='Z')语句成立,则选择ch,,即ch=ch;
否则选择ch-32,即ch=ch-32
否则选择ch-32,即ch=ch-32
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询