C语言 ch=(ch>='A'&& ch<='Z')? ch:(ch-32) 这一句中 ? ch:(ch-32) 是什麼意思,有什麼作用?

%d %f %c 分别是什麼意思,有什麼作用? ! 这个的用法可否列几个例子?

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);这里用作屏幕输出显示
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-09-19
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 表示 单个字符
第2个回答  2012-09-19
应该是完成小写向大写转换的程序,应为大写英文字母与小写英文字母相差是个固定值,应该就是32
第3个回答  2012-09-19
首先楼主你还没明白%d %f %c 分别是什麼意思
表明你对于你C语言的课本还没有认真看一遍吧
其次你的问题里那句话的意思是小写字母转换到大写字母的意思
因为比如小写字母a的ASCII值为97
大写字母A的ASCII值为65
第4个回答  2012-09-19
如果(ch>='A'&& ch<='Z')语句成立,则选择ch,,即ch=ch;
否则选择ch-32,即ch=ch-32

C语言 ch=(ch>='A'&& ch<='Z')? ch:(ch-32) 这一句中 ? ch:(ch-32...
你这里就是 如果ch是'A'到'Z'之间的大写字母,就返回ch本身;否则返回ch-32(此时ch为小写字母,每个字母对应的小写字母的ASCII码比大些字母的ASCII码要大32,可以查看ASCII码表,ch-32就把小写字母变换成对应的大写字母了,当然你这里得先保证要转换的ch是字母,若是数字符号经过这个计算则没有意义了...

C语言中的这句话是什么意思“ch=(ch>='A' && ch<='z'# ? #ch+32#...
A:B"条件判断运算符 运行形式为如果X为真,那么执行A,否则执行B 语句首先执行括号中的表达式,即: ch>='A'&&ch<='Z',然后根据逻辑与的结果,分别执行: a.如果为真,即ch是大写字母字符,那么执行ch+32,根据ASCII码表,知道大写字母字符的值加上32,即是小写字母字符的ASCII值,所以就完成对...

C语言中的这句话是什么意思“ch=(ch>='A' && ch<='z'# ? #ch+32#...
ch>='A'&&ch<='Z',然后根据逻辑与的结果,分别执行:a.如果为真,即ch是大写字母字符,那么执行ch+32,根据ASCII码表,知道大写字母字符的值加上32,即是小写字母字符的ASCII值,所以就完成对大写到小写的转换 b.如果为假,即ch不是大写字母字符,那么保持ch的值不变 最后,把转换后的值重新赋...

ch!=(ch>='A'&&ch<='z')?ch:(ch+32)。结果是A。求解释。
!=的右边是:ch>='A'&&ch<='Z')?ch:(ch+32)这个条件运算符的意思是:如果ch是大写字母,则不变,否则在ASCII码上 +32 而 ch!=(ch>='A'&&ch<='z')?ch:(ch+32)是一个关系表达式,关系表达式的结果 只有true和false 你说结果是A,是说 ch的值 是A 呢,还是 说其他的?如果ch的值...

ch!=(ch>='A'&&ch<='z')?ch:(ch+32)。结果是A。求解释。
你给ch赋初值了么?初值是什么ch的值就是什么,因为你用"!"把后面的东西都否定了,所以当你写后面的语句的时候ch初值是什么就会输出什么。

C语言中,ch=(ch>='A'&&ch<='z'?ch:(ch+32))
ch>='A'&&ch<='z'就是说ch是个英文字母,连起来就是说如果ch是字母,则保持不变,否则ascii值加上32,你看下ascii码表就知道了,比如字符'0',十进制是48,加上32就是80也就是字符'P'...

c语言中% d和% f的区别是什么?
ch=(ch>='A'&& ch<='Z')? ch:(ch-32)这个主要是涉及到三元运算符 A ? B : C A B C分别表示三个表达式, 意思是,如果 A的值为真,则返回B的值,否则返回C的值 如你给的例子,是 判断 ch 是否 大于等于‘A' 且小于等于’Z', 即如果ch是大写字母,ch的值不变,否则ch为...

这句c是什么意思?ch=(ch>='A'&&<='Z')?(ch+32):ch;
它的顺序是这样的:先执行 (ch>='A'&&<='Z')? 它判断当前的ch的值是不是[A-Z]区间的大写字母 如果条件成立,则返回 (ch+32),即当前ch的值+32,再赋值给ch 如果条件不成立,则返回 ch 本身,即 ch = ch

C语言(ch>='A'&&ch<='Z')?这个语句里面为什么会有>='Z'呢?整条语句为 ...
(ch+32):ch; \/\/三目运算符,下面详解 \/\/可替换为下面的等价语句: if(ch>='A'&&ch<='Z') \/\/如果输入的字符为大写的字符 ch = ch+32; \/\/则+32,转换为小写字符, \/\/比如 A实际就是65 A+32=97 就是a \/\/这里说的就是ascii码值 else ch = ch; ...

设ch是char型变量,下列表达式ch=(ch>='A'&&ch<='Z'?(ch+32):ch的...
如果ch是大写字母的话就执行(ch+32)这条语句,将ch加上32转换成小写字母。否则执行把ch赋值给ch,也就是不变。整个语句的意思就是讲ch变成小写字母再赋值给它。讲解得应该能懂吧。。。

相似回答