C语言成长之路31:while循环获取键盘输入

声明:本笔记基于 B站UP主「来自程序员的暴击」的 「C语言成长之路」中对应课程;


 

while循环语法结构:

1 while (表达式)
2 {
3         语句;
4 }

当表达式为真时,则执行花括号里面的语句,直到表达式不为真;


直接上练习操作一下~

  接收用户输入,如果用户输入的是大写字母,则转换成小写,反之转为大写;

  如果是输入数字,则原封不动输出;

  如果输入空格,则输出space

附上一个呵呵老师的写法:

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <limits.h>
 4 #include <Windows.h>
 5 
 6 void judge(char data){
 7     while (1){
 8         getchar();
 9         if (data >= 'A' && data <= 'Z'){
10             printf("%c\n",data += 32);
11         } else if (data >= 97 && data <= 122){
12             printf("%c\n",data -= 32);
13         } else if (data >= 48 && data <= 57){
14             printf("%c\n",data);
15         } else if (data == 32){
16             printf("space\n");
17         } else {
18             printf(" I dont know what are you talking about.");
19         }
20     }
21 }
22 
23 void main(){
24     /*  C语言成长之路31:while循环获取键盘输入
25      *
26      */
27     char data = getchar();
28     judge(data);
29     system("pause");
30 };

这个写法有点问题,main函数执行之后,data接收到输入之后,就会带着这个data去进入judge的循环了把,judge里面的getchar()也只是做停顿作用?毕竟没有赋值给变量,所以输入的data是什么,judge函数就会一直按照这个最初输入的值去循环


 

然后我在这个基础上进行了修改:不知道为啥,无论输入什么,最后都会打印

 I dont know what are you talking about.

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <limits.h>
 4 #include <Windows.h>
 5 
 6 void judge(char data){
 7     if (data >= 'A' && data <= 'Z'){
 8         printf("%c\n",data += 32);
 9     }
10     else if (data >= 97 && data <= 122){
11         printf("%c\n",data -= 32);
12     }
13     else if (data >= 48 && data <= 57){
14         printf("%c\n",data);
15     }
16     else if (data == 32){
17         printf("space\n");
18     }
19     else {
20         printf(" I dont know what are you talking about.\n");
21     }
22 }
23 
24 void main(){
25     /*  C语言成长之路31:while循环获取键盘输入
26      *
27      */
28     while (1){
29         printf("Please input something if you like~ \n");
30         char data = getchar();
31         judge(data);
32         Sleep(1000);
33     }
34 };

 

 

 

 

  

posted @ 2020-07-27 13:27  Akne  阅读(957)  评论(0编辑  收藏  举报