例6-1 大小写英文字母转换。输入一样字符,将其中的大写字母转换为相应的小写字母后输出,小写字母转换为相应的大写字母后输出,其他字符按原样输出。
#include<stdio.h>
int main(void)
{
char ch;
printf("Input characters:");
ch=getchar();
while(ch!='\n')
{
if(ch>='A'&&ch<='Z')
{
ch=ch-'A'+'a';
}
else if(ch>='a'&&ch<='z')
{
ch=ch-'a'+'A';
}
putchar(ch);
ch=getchar();
}
return 0;
}
例6-2 关系表达式的运用。
#include<stdio.h>
int main(void)
{
char ch='w';
int a=2,b=3,c=1,d,x=10;
printf("%d",a>b==c);
printf("%d",d=a>b);
printf("%d",ch>'a'+1);
printf("%d",d=a+b>c);
printf("%d",b-1==a!=c);
printf("%d\n",3<=x<=5);
return 0;
}
例6-3 逻辑表达式运用。
#include<stdio.h>
int main(void)
{
char ch='w';
int a=2,b=0,c=0;
float x=3.0;
printf("%d",a&&b);
printf("%d",a||b&&c);
printf("%d",!a&&b);
printf("%d",a||3+10&&2);
printf("%d",!(x==2));
printf("%d",!x==2);
printf("%d\n",ch||b);
return 0;
}
例6-4 写出满足下列条件的C表达式。
1) x为零。
2) x和y不同时为零。
解答:
1) x==0或!x.
2) !(x==0 && y==0)或x!=0||y!=0或x||y。
例6-5 输入一行字符,统计其中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
#include<stdio.h>
int main(void)
{
int cnt,word;
char ch;
word=0;
ch=0;
printf("Input characters:");
while((ch=getchar())!='\n')
{
if(ch==' ')
{
word=0;
}
else if(word==0)
{
word=1;
cnt++;
}
}
printf("%d\n",cnt);
return 0;
}
C语言程序设计/何钦铭,颜晖主编.---4版.---北京:高等教育出版社,2020.9