1

Summary

  • printf是<stdio.h>工具包中的打印工具,将数据打印到屏幕上。第二个参数的数据,替换第一个参数中的格式化字符(printf("%s\n", "Hello World!"))
  • scanf是<stdio.h>工具包中的输入工具,从键盘输入数据到程序里的变量中。scanf的第一个参数中只能有格式化字符,第二个参数是接收输入的变量的地址(scanf("%d", &intVal))

1、前言

1.1 什么是软件

  • 软件是一种计算机部件,是计算机的组成部分;
  • 软件是指挥硬件完成具体功能的“意识形态”;
  • 硬件是软件的“躯干”,接收并执行软件的命令;

当代计算机软硬件架构:
最底层的是计算机硬件,包括CPU、内存、显卡、网卡、键盘、鼠标等。
然后是运行于计算机硬件之上的各类操作系统,如Linux、Windows、MacOs等。(操作系统也是一种软件)
再就是基于操作系统的各类软件,如设计软件、办公软件、聊天软件等。

1.2 什么是程序设计语言

  • 使用一组固定规则和符号表达思想的方式;
  • 人类使用这组规则和符号描述需要计算机完成的功能;
  • 计算机能够读懂由这组规则和符号构成的描述语言,并严格执行;

即:程序设计语言是程序员和计算机进行交流沟通的语言,是计算机能够读懂并执行的语言。同我们日常所用汉语一样,也有自己的一系列的规则。我们只需要严格遵守规则,就能写出计算机可以执行的程序。

2、C程序中的数据输出

2.1 C语言是怎么执行的

一般情况下,C语言程序从main()开始执行,从左花括号“{”开始,到右花括号“}”结束,
默认情况下,C语言程序是以自上而下的顺序来执行,执行的基本单位是语句,每条语句使用分号“;”隔开。(正如中文中对一段文章的阅读,一般也是自上而下,按句子来读,每个句子的结束符号是句号“。”)

image.png
上图中,C程序:单纯的文本文件,无法直接执行
编译软件的工作:1)检测C程序的语法是否合规;2)将C程序翻译成二进制
可执行程序:如Windows系统下的.exe文件,Linux系统下的.out文件

2.2 使用C语言如何打印“Hello World!”

  • C语言中内置了很多实用的“工具包”
  • 工具包都有一个固定的名字,通过名字使用#include <name>
  • 每个工具包中提供了很多“工具”,如stdio.h工具包中就提供了一个用于“打印”输出的工具:printf,printf通过设置参数后能在屏幕上打印出文本。
// 在屏幕上打印Hello World。
// 代码注意点以注释形式给出

#include <stdio.h>    // #include用于声明需要使用的工具包
                      // stdio.h:程序中需要用到的stdio.h工具包

int main()
{
    printf("%s\n", "Hello World!"); // printf是用来打印输出的工具
                                    // %s是对应于字符串的“格式化字符”,第一个参数中除了格式化字符外的,都是一些说明性字符
                                    // 第二个参数"Hello World!"是要打印到屏幕上的数据
    
    return 0;
}

打印参数解析:

  • printf使用数据对参数中的格式化字符进行替换(%s等)
  • 不同类型的数据对应于不同的格式化字符:如%s对应字符串,%d对应整数,%f对应浮点数等
  • 最终打印的数据是一个字符串。

3、C程序中的数据输入

3.1 如何从键盘输入数据

  • stdio.h工具包中提供了一个数据输入工具scanf
  • scanf通过正确设置后,能够获取键盘输入的数据
  • scanf将键盘获取的数据“填入”变量
// scanf工具使用示例

#include <stdio.h>    // scanf工具在stdio.h工具包中

int main()
{
    int i = 0;
    
    scanf("%d", &i);    // 1)scanf是从键盘输入的工具
                        // 2)接收键盘输入的变量名前要加上“&”
                        // 3)输入数据的类型必须和变量i的类型一致
                        // 4)scanf的第一个参数中,只能有格式化字符,不能包含任何与类型无关的字符(如\n)
    return 0;
}

3.2 使如何连续地从键盘中输入数据


#include <stdio.h>

int main()
{
    int i = 0;
    int j = 0;
    
    // 1)一次性输入
    scanf("%d%d", &i, &j);    // 输入时使用空格或回车对不同数据进行分隔
    
    // 2)分开输入
    scanf("%d", &i);
    scanf("%d", &j);
    
    return 0;
}

本文总结自“狄泰软件学院”唐佐林老师《C语言入门课程》。
如有错漏之处,恳请指正。


bryson
169 声望12 粉丝