1从终端接收一个字符,打印出该字母在字典中的下一个字母,如果输出z或者Z,则对应输出a和A,如果不为字母则打印输出“输入错误”
#include<stdio.h>
int main()
{
char ch = 0;
ch = getchar();
if ((ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z'))
{
if ('z' == ch || 'Z' == ch) {printf("%c",ch-25);}
else {printf("%c",++ch);}
}
else printf("输入错误");
return 0;
}
练习从终端输入一个成绩,判断成绩等级
#include<stdio.h>
int main(void)
{
int a = 0;
scanf("%d",&a);
switch(a/10)
{
case(10):
case(9):printf("A");break;
case(8):printf("B");break;
case(7):printf("C");break;
case(6):printf("D");break;
default:printf("Bad");
}
return 0;
}
0 - 1000 以内能同时被2,3,5整除的数之和
#include<stdio.h>
int main()
{
int i = 0, sum = 0;
while(i <= 1000)
{
if (0 == i%2 && 0 == i%3 && 0 == i%5){
sum = sum +i;
printf("%d\n",i);}
i++;
}
printf("0-1000内能同市被2,3,5整除的数的和为%d\n",sum);
return 0;
}
打印出0 - 1000以内所有能同时被 2 3 5 整除余 1 的所有数字(每8个数字一行)及其个数
#include<stdio.h>
int main(void)
{
int i = 0,b = 0;
while(i < 1001)
{
if((i%2 == 1)&&(i%3 == 1)&&(i%5 == 1))
{
printf("%5d",i);
b++;
if(b%8 == 0) printf("\n");
}
i++;
}
printf("\n满足条件的个数为%d\n",b);
return 0;
}
从终端输入x的值根据公式获得y的值
1 + 2 + 3 + .. + x (0 < x <= 5)
y = 100 - x - (x-1) - (x-2) - ... - 1 (5 < x <= 10)
x^2 (x > 10)
#include<stdio.h>
int main()
{
int x = 0,y = 0,i = 0;
scanf("%d",&x);
if (x > 10) y = x*x;
else if (x > 5 && x < 11)
{
for (y=100,i=x;0 != i;i--)
{
y = y-i;
}
}
else if ((x >0)&&(x < 6))
{
for (i = 1;i < x+1;i++) y+=i;
}
else ;
printf("%d\n",y);
return 0;
}
优先级高的先看成一个整体
else 总与他上面相邻的未匹配if 配合使用
优先等级:括号>单目运算>双目运算>三目运算>赋值运算>逗号
switch()里面的不能是浮点型
c语言中不能连续比较
control + c 可以结束正在运行的代码
1.if分支语句:
练习:编写程序,从终端接收两个数 Num1和Num2,如果Num1 >= Num2则打印Num1
否则将两者交换打印Num1
使用场景:
1.判断逻辑使用分支语句
2.同一类数据完成不同操作
1.简单分支:
2.阶梯分支:
if (表达式1)
{
语句块1;
}
else if (表达式2)
{
语句块2;
}
else if (表达式3)
{
语句块3;
}
else
{
语句块4;
}
3.嵌套分支:
if (表达式1)
{
语句块1;
if (表达式2)
{
语句块2;
if (表达式3)
{
语句块3;
}
}
}
最多嵌套3-5层
2.switch分支:
1.基本形式:
switch (整形表达式)
{
case 常量1:语句块1;break;
case 常量2:语句块2;break;
case 常量3:语句块3;break;
default:
语句块4;
}
注意:
1.switch后面的表达式的值必须为整形
2.case后面必须为常量,不能是变量或表达式
3.switch只与case后面的值比一次,如果相同则顺序向下执行,直到break或程序结束退出
2.switch嵌套
里层switch结束后如果不加break,外层switch顺序向下执行
3.循环结构:
1. while 循环
1.基本形式
while (表达式)
{
语句块1;
}
2.死循环
while (1)
{
}
2. do .. while 循环
1.基本形式:
do {
语句块;
} while (表达式);
注意:
1.do .. while后面要加;
2.do while无论表达式是否成立都会先执行一次
3.do while和while不能等价转换
3. for循环
1.基本形式:
for (A; B; C)
{
D;
}
A:在循环前执行一次
B:循环的条件
C:每次循环结束后都执行C
D:循环体内部代码
4. goto循环