C语言控制台应用中获取用户输入主要靠scanf()函数。在这本以C++作为主线的程序设计教材里,scanf()函数并非必须介绍的内容,故以在线扩展阅读的形式提供。
本文引用自作者编写的下述图书; 本文允许以个人学习、教学等目的引用、讲授或转载,但需要注明原作者"海洋饼干叔
叔";本文不允许以纸质及电子出版为目的进行抄摘或改编。
1.《Python编程基础及应用》,陈波,刘慧君,高等教育出版社。免费授课视频 Python编程基础及应用
2.《Python编程基础及应用实验教程》, 陈波,熊心志,张全和,刘慧君,赵恒军,高等教育出版社Python编程基础及应用实验教程
3. 《简明C及C++语言教程》,陈波,待出版书稿。免费授课视频
C语言控制台应用中获取用户输入主要靠scanf()函数,示例如下:
//Project - CInput
#include <stdio.h>
#include <math.h>
int main() {
int iAge = 0,iHeight = 0;
float fWeight = 0;
printf("Please input your age, weight(kg):\n");
scanf("%d,%f",&iAge,&fWeight);
printf("Please input your height(cm):\n");
scanf("%d",&iHeight);
float fBMI = fWeight / pow((iHeight/100.0),2);
printf("Age = %d, Weight(kg) = %.2f, Height(cm) = %d, BMI = %.2f",
iAge,fWeight,iHeight,fBMI);
return 0;
}
上述代码的执行结果为:
Please input your age, weight(kg):
17,52.53
Please input your height(cm):
170
Age = 17, Weight(kg) = 52.53, Height(cm) = 170, BMI = 18.18
注:执行结果中的第2行,第4行需要操作者输入。输入时请注意格式,输入值不同,输出结果也会不同。
scanf()函数用于从控制台读取操作者的键盘输入,其格式与printf()有相似之处。它可以接受多个参数,其中第1个预期为字符串,字符串中可包含1个或者多个占位符。占位符的个数、类型以及顺序应与后续其它参数相匹配。请注意,后续其它参数通过&符号取地址,事实上传递给scanf()函数的是变量的地址。其中,占位符指定了期望获得的输入的类型和格式,地址参数则用于说明获得输入后将值传递给哪个变量。
🚩第10行:一种形象解释是,老板,订两份外卖,一份卤肉饭(%d),一份鸡汤面(%f)。送过来后,卤肉饭放2号楼门口(&iAge),鸡汤面交给小区门岗(&fWeight)。需要注意的是,本行代码的格式字符串中包含了一个逗号,意即整数和浮点数之间用逗号作分隔。输入时必须录入上述逗号。
🚩第15 ~ 17行:计算并打印了人体质量指数(Body Mass Index),其值为体重(千克)除以身高(米)的平方。
为了帮助更多的年轻朋友们学好编程,作者在B站上开了两门免费的网课,一门零基础讲Python,一门零基础C和C++一起学,拿走不谢!
如果你觉得纸质书看起来更顺手,目前Python有两本,C和C++在出版过程中。