第三章
任务一:数据的输入和输出
任务二:用IF语句实现简单的选择
小结
习题
今天,我们来讲数据的输入和输出,输入“scanf();”,这个我们可能还不知道,但输出“printf();”,我们之前两章经常使用,所以这节内容会比较少也比较轻松。
对于我们“程序猿”来说,我们做软件的目的是为了保证用户使用的方便,使用的快速,让用户具有自己的可操作性,我们不能一味的自己输出输出输出,缺没考虑用户的感受。比如,我们写一个计算公式(程序),例如:x+y=z ,我们不能直接 赋予x 和y的值,我们是给用户使用的,所以需要用户来赋值,那么就要使用到“stdio.h”库中的“scanf();”函数,
此标准输入函数表达式为:scanf(“<格式化字符串>”, <参量表>); 与printf(“<式样化字符串>”,<参数表>);基本相似,
例如以下代码是输入”1″并输出”1″:
代码如下:
#include<stdio.h> int main() { int a; scanf("%d",&a); printf("%d\n",a); return 0; }
调试截图如下:
其中,我需要解释一下“&”这个符号是“取地址符”,我们所定义的任何变量或常量都在程序运行时,系统自动为变量或常量分配了相应的地址,在内存中,有很多地址,不同的地址对应的数值可能不同(有“疑似循环”例外),那么我们输出一下变量“a”的地址,看看地址是什么。
演示代码:
#include<stdio.h> int main() { int a; scanf("%d",&a); printf("a=%d\na的地址=%d\n",a,&a); return 0; }
调试截图:
由调试截图我们看见了,变量“a”的地址是6487580这是十进制,我们电脑实际存的都是二进制,我们可以抽象的认为,变量或常量的储存是这样储存的:“变量名字”+“对应数值”
对于标准输入小函数“scanf();”还有其他的写法及对应的使用方法,例如下方代码及对应图:
#include<stdio.h> int main() { int a,b; scanf("%d,%d",&a,&b); printf("a=%d b=%d\n",a,b); return 0; }
此时我们在“scanf();”语句中,两个”%d”中有一个英文逗号“,”那么此时用户输入的数值内容也必须你相对应的,也必须是数值+英文逗号+数值,
要记得必须是一 一对应,若不信,请看下图,这里我(用户)不输入英文逗号,导致输入与输出的值没有对应,
另外一种方式:
#include<stdio.h> int main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d b=%d\n",a,b); return 0; }
使用截图:
此时我(用户)使用时,可以 数值+空格+数值
也可以 数值+TAB键+数值
还可以 数值+回车+数值
其他方法我暂时还没有研究,因为最近时间比较紧,大家感兴趣的可以自己找一些特殊键试一试,
好了,了解了上述的”scanf();”语句之后,我们来学习一下“if()”语句的简单使用,
“if()”语句是一个根据条件或逻辑值(0或非0)来进行判断是否继续执行下一步,若条件为真(逻辑值:非0)则将会执行下一行或者执行你所写的花括号里面的所有语句(也就是语句块)
简单解释完之后,我们来实践一下,便于大家的理解,
我们判断一下,用户输入的年龄(数值)是否成年,代码如下:
#include<stdio.h> int main() { int age; printf("请输入您的年龄!\n"); scanf("%d",&age); if (age>=18) printf("成年!"); return 0; }
调试截图如下:
我们输入数值18,将输出“成年”
若我们输入的数值小于18则没有输出“成年”
大家发现了没有,我上面说“if()”若条件(逻辑值为 非0)则执行花括号里“语句块”,这里解释一下,因为是单行,所以可以不需要添加花括号,若严谨点,还是希望大家加上花括号,因为加上花括号可以保证条理清晰,更容易读懂,下一章,我们来测试添加花括号和未添加花括号的区别。
小结一下,使用“scanf(“%d”,&a);”后面的变量一定要加上&(取地址符),因为用户输入的内容,需要存放在内存中,而我们的变量“a”早已腾出空间等待数值进入,我们只需要加上&(取地址符)来给用户输入的数值指引前进的方向。还有若”scanf(“%d,%d”,&a,&b);”切忌,必须要让用户知道 要 数值+英文逗号+数值,才能正常使用。
使用”if(条件或逻辑值)”语句时要注意“if()”这条语句后面没有分号“;”没有分号,没有分号!!!这里要多多注意!
咳咳,嗯~,我们来布置下作业:
1.输入18之后,回答屏幕输出的内容。
#include<stdio.h> int main() { int age; printf("请输入您的年龄!\n"); scanf("%d",&age); if (age>18) printf("成年!\n"); return 0; }
2.设置一个变量,并在屏幕中输出该变量的内存地址。
3.(拓展练习),若第二题完成,请将该变量的内存地址转换为二进制。
本节课没有答案,若大家谁有问题,请复习一下前三章的所有内容,大家多走点坑,多走坑有益身体健康,^_^,
C语言轻松学习-4:
评论抢沙发