同福

编程入门第三课,输入与输出【20200910】

介绍

介绍

上一课我们认识了常量和变量,知道了编程语言里的常量和变量是指向一个具体内容的符号,今天福哥带着大家来学习一下编程的输入与输出的概念,通过输入与输出我们就可以和计算机进行“对话”了

输入

输入,编程叫做input,指的是人向计算机“说话”的行为,由于计算机可以有多种方式捕获人的信息,所以任何可以被计算机捕获到信息的过程都是input行为

包括但不限于:

  • 通过键盘输入文字

  • 通过指纹解锁

  • 通过人脸解锁

  • 通过语音输入文字

输出

输出,编程叫做output,指的是计算机向人“说话”的行为,由于计算机可以有多种方式展示计算机里面的信息,所以任何形式的计算机信息展示的过程都是output行为

包括但不限于:

  • 通过word显示一篇稿件

  • 通过浏览器显示一个网页

  • 通过浏览器插件播放一段音乐

  • 通过浏览器插件播放一段视频

其他语言

通用

所有语言都会有的一个输入方式称之为标准输入stdin,相对的所有语言也都会有的一个输出方式称之为标准输出stdout

标准输入stdin

指的就是通过命令行方式提供的参数,例如:Windows的DOS命令,Linux的终端命令。有的语言运行环境不是DOS或者终端,那么就是它的标准输入就被屏蔽了,但不代表它没有标准输入

标准输出stdout

指的就是通过命令行方式运行程序时候,在终端窗口显示的文字 ,或其他信息。有的语言运行环境不是DOS或者终端,它的标准输出会以其他方式展示出来,也许我们看不到,但不代表它没有标准输出

c/c++

c/c++是语言老大,它的stdin可以通过cin来获取,或者用scanf来获取,它的stdout可以通过cout来完成,或者用print/printf来完成

scanf/print/printf需要包含stdio.h库文件

#include <stdio.h>

cin/cout需要依赖标准库std,包含iostream库文件

#include <iostream>

using namespace std;

示例1:

使用scanf/printf实现输入输出,在新版本的c/c++里,scanf被scanf_s替换了,scanf_s更加安全可靠一些

#include <stdio.h>

int main()
{
    char buff[100];

    printf("告诉福哥你喜欢什么?\n");
    scanf_s("%s", buff, 100);
    printf("你喜欢%s啊!福哥也喜欢~~\n", buff);

    return 0;
}

示例2:

使用cin/cout实现输入输出

#include <iostream>

using namespace std;

int main()
{
    char buff[100];

    cout << "告诉福哥你喜欢什么?" << endl;
    cin >> buff;
    cout << "你喜欢" << buff << "啊!福哥也喜欢~~" << endl;

    return 0;
}

Java

java运行环境有很多,其中也包括命令行方式,java的命令行方式就是使用jdk下面的javac对*.java文件进行编译后,再使用jdk下面的java运行*.class文件的方式

055a7278e8fc3bfc.jpgjava的标准输入通过System.in来完成,java的标准输出通过System.out来完成

示例:

import java.io.IOException;

class TFJavaDemo{
    public static void main(String[] args){
        byte[] buff = new byte[100];
        int rdLen;

        try {
            System.out.println("告诉福哥你喜欢什么?");
            rdLen = System.in.read(buff);
            System.out.println("你喜欢" + new String(buff, 0, rdLen-2) + "啊!福哥也喜欢~~");
        }
        catch (IOException e){
            e.printStackTrace();
        }
    }
}

PHP

php输入web服务器程序,一般情况下是通过web服务器运行的,php也可以以命令行方式运行,php的命令行方式就是通过php库包里的php可执行程序运行*.php程序文件的

616a29df939de3da.jpgphp的标准输入通过使用IO操作读取特殊资源php://stdin的方法来实现,php的标准输出则可以通过echo/print来实现

示例:

print "告诉福哥你喜欢什么?\n";
$fo = fopen("php://stdin", "r");
$buff = fgets($fo, 100);
$buff = substr($buff, 0, strlen($buff)-2);
fclose($fo);
print "你喜欢". $buff. "啊!福哥也喜欢~~\n";

Python

python一般情况下都是在命令行方式运行的,所以python的输入输出设计的还是非常友好的。python的命令行方式就是通过python安装包里的python可执行程序运行*.py程序文件的

d74ad350d0161cb3.jpgpython的标准输入通过sys.stdin来完成,python的标准输出通过print命令来完成

示例

import sys

print ("告诉福哥你喜欢什么?")
buff = sys.stdin.readline().strip()
print ("你喜欢" + buff + "啊!福哥也喜欢~~")

Javascript

javascript一般情况下都是在浏览器里通过网页运行的,所以福哥这里会给出一些其他方式的能够体现输入输出的例子给大家

javascript有一种比较简单的能够体现用户输入的方式,那就是prompt,在早期的时候这种丑到爆的用户输入框也曾经非常流行,因为它确实够简单。而输出则通常以alert方式完成,这个是至今为止仍被很多网站所使用的输出方式

22b3b99904b05a7c.jpg8b1ac9af399e4cd0.jpg

示例

buff = prompt("告诉福哥你喜欢什么?");
if(buff){
    alert("你喜欢" + buff + "啊!福哥也喜欢~~");
}

总结

学会了输入和输出,我们后面再学习深层次的语法之后,就可以实现一些具体的功能了

学外语光背单词,背语法不行,要真正的和外国人交流才是目的,那么学编程光写了一堆逻辑也不行,要实现具体的功能才是目的