C语言:人机交互(初级)
众所周知,玩游戏是一件非常有趣的事情,而做游戏,也就是编程,则是一种非常枯燥的工作,而且随时都有掉头发的风险。业内盛传一句话:一入编程深似海,从此假发随便买。由此可见一斑。
所以对于我们初学者来说,提高编程的趣味性,还是很重要的,这有可能会决定你能不能坚持学下去。
如何增加编程的趣味性呢?计算机又不能跟我聊天。虽然计算机没有那么只能,可以陪程序员聊天,但是相互之间还是可以交互的。要实现人机交互,就必须要了解并熟练运用scanf()函数。
就算是小白,不了解scanf()函数,那肯定也知道printf()函数吧?这个scanf()函数的用法,跟printf()函数是一样的。不同点在于,printf()函数是将()里的内容打印出来,而scanf()函数的()里是一个变量,是需要在调试界面输入的。
例如,#include <stdio.h>
int main(void)
{
printf("hello");
getchar();
return 0;
}
打印在屏幕上的就是hello,而换成scanf()函数就不是这样。
#include <stdio.h>
int main(void)
{
int a;
printf("请任意输入一个整数:\n");
Scanf("%d",&a);
getchar();
return 0;
}
则在屏幕上显示的为:请任意输入一个整数:
这个时候,就可以在光标的位置输入任意一个整数,但是按下回车键,界面还是一闪而过,不用担心,可以再加一行代码:getchar();
即:#include <stdio.h>
int main(void)
{
int a;
printf("请任意输入一个整数:\n");
Scanf("%d",&a);
getchar();
getchar();
return 0;
}
这种交互很简单,似乎也没什么太大的意思,那要是你随便定义一个公式,然后输入数值来计算呢?
#include <stdio.h>
#define PI 3.1415926
int main(void)
{
int r,d;
float c,s;
printf("圆的半径为\n");
scanf("%d",&r);
getchar();
d=2*r;
c=2*r*PI;
s=PI*r*r;
printf("%d\n",d);
printf("%f,%f\n",c,s);
getchar();
return 0;
}
这是一个计算圆的直径、周长和面积的程序,只要你赋一个整数给r,计算机就会为你计算出直径、周长和面积。(这里的r、d,我定义的是int类型,因此只能是整数,如果需要用到小数,也可以将int改成float。)
#define PI 3.1415926
这行代码是什么意思呢?其实就是一个预处理机制,将3.1415926赋而PI(一定要大写),如果需要改动PI的值,直接改动这行代码就行,而不用一一去改数值。
调试之后的界面是这样的:

任意输入整数3,则是这样的:

是不是有点意思了?深入学习,还会更有意思的哦。
注意:printf("圆的半径为\n",r);
scanf("%d,&r\n");
如果打印函数用的多了,很容易出现这样的惯性,但是不幸的是,这样的代码是错误的,运行之后,会导致以下结果:

不同的系统,错误的提示可能不同,但错误是肯定会有的。
正确是应该是这样:
printf("圆的半径为\n");
scanf("%d",&r);
希望这次的分享,可以给你带着一点收获哟~