c语言入门:[7]输入数据scanf及顺序结构
用c语言编写一个类似下面的简单的加法程序我们应该已经会了。
main()
{
int a=5;
int b=6;
int c;
c=a+b;
printf("%d+%d=%d",a,b,c);
}
如果想从键盘输入2个任意的整数求和,也就是说变量a和b里存储的值是从键盘输入的,而不是我们直接赋值的,那我们就需要学习sanf函数的用法,它的使用方法跟printf类似,同样被包含在stdio.h头文件中。
像变量a中输入一个整数的写法是scanf("%d",&a),注意变量a前面的&为取地址运算符,表示找到变量a的内存地址,很多初学者忘记加这个符号写成scanf("%d",a),而你这样写编辑器是不会提示错误的但运行时你从键盘输入的数却并没有存放到a变量里。
错误程序举例:
main()
{
int a;
printf("请从键盘输入一个整数:");
scanf("%d",a);//这里没有加地址运算符
printf("a变量里的值是%d",a);
}
运行结果截图:
那么正确的写法应该这样写:
main()
{
int a;
printf("请从键盘输入一个整数:");
scanf("%d",&a);
printf("a=%d",a);
}
对于下面的代码如果我想最后a的值是5,b的值是6应怎样从键盘输入?
main()
{
int a;
int b;
printf("请从键盘输入两个整数用,号隔开:");
scanf("%d,%d",&a,&b);
printf("a=%d,b=%d",a,b);
}
答案应是输入5,6然后回车,你答对了吗?
好目前为止我们写的小程序都是从上到下一行一行执行,执行完后程序就结束了,像这种流水账似的程序就称为顺序结构。
下节我们介绍c语言的选择结构,也就是能让电脑自动地判断一些事情,从而有选择地执行一些代码而不是从上到下把所有代码都执行一遍。