C语言轻松学习-3

第三章

任务一:数据的输入和输出

任务二:用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.(拓展练习),若第二题完成,请将该变量的内存地址转换为二进制。

本节课没有答案,若大家谁有问题,请复习一下前三章的所有内容,大家多走点坑,多走坑有益身体健康,^_^,

本文作者为:晗雅|星空,转载请注明!版权必究!
分享到:

请选择你看完该文章的感受:

11瞧一瞧 0扯淡 3学到了 1不懂 3正能量 1无聊

评论抢沙发

评论前必须登录!