老样子作业先行
作业:
#include<stdio.h>
int main(){
char a;
scanf("%c",&a);
if(a>=65&&a<=122){
if(a>=97&&a<=122){
printf("%c",a-32);
}
else if (a>=65&&a<=90){
printf("%c",a+32);
}
else if (a>=91&&a<=96){
printf("不是大小写字母");
}
}
else
printf("不是大小写字母");
return 0;
}
分析:
根据ASIC码可知所有的大小写子母都在65和122之间,但是有几个字符不属于大小写
所以,if语句把部分不属于大小写扣掉就ok。
然后根本不属于65到122直接判断不属于范围内,比较简单,但细节要处理好。
while循环
我们今天来学习while循环
while (表达式)
{
语句块
}
循环方式:
比较简单:whiile()表达式为真,进入循环,执行语句
重进判断表达式是否为真,为真进入循环,为假打破循环
先来一个简单的练习
练习:计算1-10的和
#include<stdio.h>
int main(){
int i=1,sum=0;
while(i<=10){
sum=sum+i;
i++;
}
printf("%d",sum);
return 0;
}
简单结合:
让while循环和判断大小写结合
代码:
#include<stdio.h>
#include<stdio.h>
int main()
{
int b=3;
char ch = 0;
while (b)
{
scanf(" %c", &ch) ;
if (ch >= 'a' && ch <= 'z')
printf("%c\n", ch - 32);
if (ch >= 'A' && ch <= 'Z')
printf("%c\n", ch + 32);
if ((ch < 'a' && ch > 'Z')||(ch>'z')||(ch<'A'))
printf("不是大写或者小写字符");
b--;
}
return 0;
}
这样就不用每次判断都重新运行代码
并且我给出大家第二种方式判别大小写字符(写代码的快乐就是多样性)
作业:
大家考虑一下进制转换如何用while实现
(ps:switch语句我决定和菜单一起讲,大家不要急,等for和do while都学完我们再将区分