c++中while的用法

来源:百度知道 编辑:UC知道 时间:2024/06/14 22:52:39
在执行以下程序时,如果从键盘上输入:ABSdef,然后按<enter>键,则输出为___
#include<stdio.h>
void main()
{
char ch;
while((ch=getchar())!='\n')
{
if(ch>='a'&&ch<='z')
ch=ch-32;
printf("%c",ch);
}
printf("\n");
}
这个程序有点看不懂,所以请高手具体的解释一下,
从while((ch=getchar())!='\n')开始解释,详细点啊!
(ch=getchar())!='\n'----什么意思??这个具体说一下.
结果是次要的,主要分析一下程序.没分了,不好意思啊!

先说while((ch=getchar())!='\n'):可以把它分成
ch=getchar();while(ch!='\n').前者是调用getchar函数,即ch为从键盘键入的字符.后者括号里指:当键入的不是'\n'(即回车),所以循环结束的条件是输入回车键.
然后,这是一个小写字母转化成大写的程序,
if(ch>='a'&&ch<='z') //当输入的字符在a和z之间时
ch=ch-32; //这个字符的ASCII码减32,即实现小写转换为大写.(因为一个字母的ASCII码,小写比大写大32.
其他没什么难懂的了吧

//这个程序的作用就是把输入字符串中的小写字母转为大写字母

#include<stdio.h>
void main()
{
char ch;
//(ch=getchar())!='\n'等效于ch=getchar();ch!='\n';两句,就是获取一个字符,如果这个字符不为回车就进入循环
while((ch=getchar())!='\n')
{
//如果ch是小写字母
if(ch>='a'&&ch<='z')
//小写字母的值-32=相应的大写字母,就是把小写字母转为大写字母
ch=ch-32;
printf("%c",ch);
}
printf("\n");
}

c++中while的用法如下:
while(条件) {}
当条件为假时结束循环。
如while(0){}。 { }里的命令不执行结束循环;
do {} while() 当条件为假时结束循环。 但d0 {} while(0) 先执行一次在结束

while((ch=getcha