#include <stdio.h> int main(){ int a; float score; //成绩 char grade; //成绩的等级 printf("请输入一个成绩:"); scanf("%f",&score); if(score>100 || score<0){ printf("输入数据不合法!\n合法范围:0<=成绩<=100\n"); return 0; //退出 } a=score/10; //将一个成绩隐式转换为小于10的整数 switch(a){ case 10: grade='A';break; case 9: grade='A';break; case 8: grade='B';break; case 7: grade='C';break; case 6: grade='D';break; default: grade='E';break; } printf("成绩等级为:%c\n",grade); }
#include <stdio.h> void main() { int a; //需要选择的序号 char *ch; printf("1.米饭 2.牛肉面 3.盖浇饭 4.刀削面\n请输入你的选择:"); scanf("%d",&a); switch(a){ case 1: ch="米饭"; break; case 2: ch="牛肉面";break; case 3: ch="盖浇饭";break; case 4: ch="刀削面";break; default: ch="不存在"; break; } printf("你的选择:%s\n",ch); }
#include <stdio.h> int main(){ float oprd1,oprd2,result=0; //操作数1,操作数2 char op='p'; //运算符 printf("请输入你需要的运算:"); scanf("%f%c%f",&oprd1,&op,&oprd2); printf("你的操作为:%f %c %f=\n",oprd1,op,oprd2); switch(op){ case '+': result = oprd1 + oprd2;break; case '-': result = oprd1 - oprd2;break; case '*': result = oprd1 * oprd2;break; case '/': result = oprd1 / oprd2;break; default: printf("你输入的运算符不合法!\n"); return 0; } printf("运算结果:%f %c %f =%f\n",oprd1,op,oprd2,result); return 0; }
#include < stdio.h> void main(){ int count=0; // 统计键盘输入字符个数 char ch; scanf("%c",&ch); while(ch != '\n'){ ++count; scanf("%c",&ch); } printf("键盘输入的字符的个数为:%d\n",count); }
/* w.向上 a.向左 s.向下 d.向右 使用while()一直扫描键盘的状态 用switch() 输出控制状态 */ #include <stdio.h> void main(){ char direction; //用户输入的方向 printf("请控制小人运行方向:"); scanf("%c",&direction); while(direction != 'q'){ switch(direction){ case 'w': case 'W':printf("向上\n");break; case 's': case 'S':printf("向下\n");break; case 'a': case 'A':printf("向左\n");break; case 'd': case 'D':printf("向右\n");break; } scanf("%c",&direction); } }
五、for语句
1.表达形式:
for(表达式1;表达式2;表达式3) 语句;
2.for语句循环过程
3. for语句可以嵌套,也可以省略部分表达式。
4.示例程序
程序一:打印图形
#include <stdio.h> void main(){ int i,j; //打印正三角形 for(i=0;i<5;i++){ for(j=0;j<i+1;j++){ printf("* "); } printf("\n"); } printf("\n\n"); //打印倒三角形 for(i=0;i<5;i++){ for(j=0;j<6-i;j++) { printf("* "); } printf("\n"); } printf("\n"); //打印斜三角形 for(i=0;i<5;i++){ for(j=0;j<i+1;j++) { printf("* "); } printf("\n"); } for(i=0;i<4;i++){ for(j=1;j<5-i;j++) { printf("* "); } printf("\n"); } }
程序二:打印九九乘法表
#include <stdio.h> void main(){ int i,j; for(i=1;i<10;i++){ for(j=1;j<i+1;j++){ /* 注意事项:||运算的时候必须要加括号,或者i==3为真之后, 后面的逻辑值将不再继续运算,整个逻辑表达式为真 ||运算符短路问题 */ if((i==3 || i==4) && j==3) printf(" %d*%d=%d ",j,i,i*j); //乘法表对齐 else printf("%d*%d=%d ",j,i,i*j); } printf("\n"); } }
六、break和continue区别
continue语句:结束本次的循环,而不是终止整个的执行,接着进行下一次是否执行循环的判定。
break语句:结束整个循环过程,不再判断执行循环的条件是否成立。