这是我的博客(cpp零基础教程)中的文章,借鉴或者转载需要通过作者的同意

大家好,欢迎来到cpp零基础教程,我是Charzie,在本文之前,我们先看一看上节课的内容:上节课内容

首先,我们学习了输入语句cin, 并且学习了如何使用cin语句输入一个变量,然后我们有学习了cout的使用,并且做了一道输出Hello,World!的题目,这个题目想要让我们输出一个字符串,当然,这道题还有别的写法,但是因为这里是零基础教程,所以就不过多的说了,这里放上一种使用C++中的类string写的代码:

#include<bits/stdc++.h>
using namespace std;
int main() {
    string a = "Hello,World!"; // 定义string类型的变量a
    cout << a; // 输出变量a 
    return 0; 
} 

好的,现在我们来看一看今天的顺序结构课程内容:

  • scanf与printf

scanf与printf

在C++编程中,scanf和printf是两个常用的标准库函数,用于从控制台读取和输出格式化的数据。尽管C++推荐使用更安全的输入输出方式,如iostream库,但scanf和printf在性能上有时更优,且对于某些特定的应用场景(如读取大量数据或进行底层编程)仍非常有用。本文将详细介绍C++中scanf和printf的用法,帮助读者更好地理解和使用这两个函数。

一、scanf函数的基本用法

scanf函数用于从标准输入(通常是键盘)读取格式化的数据,并将其存储到指定的变量中。其基本语法如下:

int scanf(const char *format, ...);

其中,format是一个格式控制字符串,指定了输入数据的格式;...表示可变参数列表,用于存储输入的数据。

1.1 格式控制字符串

格式控制字符串由格式说明符和普通字符组成。格式说明符以%开头,后面跟着一个或几个格式字符,用于指定输入数据的类型和格式。常见的格式说明符有:

  • %d:用于输入十进制整数;
  • %f%lf:用于输入浮点数(%lf通常用于double类型);
  • %c:用于输入单个字符;
  • %s:用于输入字符串;
  • %u:用于输入无符号十进制整数;
  • %x%X:用于输入十六进制整数;
  • %o:用于输入八进制整数;
  • %p:用于输入指针的值;
  • %%:用于输出一个%字符。

除了格式说明符外,格式控制字符串中还可以包含普通字符,这些字符在输入时必须原样输入。

1.2 使用示例

下面是一个简单的示例,演示了如何使用scanf函数读取不同类型的数据:

#include <stdio.h>
// using namespace std;
int main(){
    int a;
    float b;
    char c;
    char str[100];
    printf("请输入一个整数:");
    scanf("%d", &a);
    printf("你输入的整数是:%d\n", a);
    printf("请输入一个浮点数:");
    scanf("%f", &b);
    printf("你输入的浮点数是:%f\n", b);
    printf("请输入一个字符:");
    scanf(" %c", &c); // 注意前面的空格,用于忽略前面的空白字符
    printf("你输入的字符是:%c\n", c);
    printf("请输入一个字符串:");
    scanf("%s", str); // 注意%s不会读取空格,如果需要读取包含空格的字符串,应使用其他方法
    printf("你输入的字符串是:%s\n", str);
    return 0;
}

在上面的示例中,我们使用了不同的格式说明符来读取整数、浮点数、字符和字符串。注意,在使用scanf函数时,需要在变量前加上&运算符,以获取变量的地址。

二、printf函数的基本用法

printf函数用于向标准输出(通常是屏幕)打印格式化的数据。其基本语法如下:

int printf(const char *format, ...);

其中,format是一个格式控制字符串,指定了输出数据的格式;...表示可变参数列表,用于提供要输出的数据。

2.1 格式控制字符串

printf函数的格式控制字符串与scanf函数类似,也包含格式说明符和普通字符。常见的格式说明符有:

  • %d%i:输出十进制整数;
  • %f:输出浮点数;
  • %c:输出字符;
  • %s:输出字符串;
  • %u:输出无符号十进制整数;
  • %x%X:输出十六进制整数;
  • %o:输出八进制整数;
  • %p:输出指针的值;
  • %%:输出一个%字符。

此外,printf函数还支持一些特殊的格式说明符,如%n(用于输出到目前为止已经写入的字符数)和标志字符(如-+空格#等),用于控制输出的格式和样式。

接下来我们来回顾一下上节课我们做过的题目,尝试着用printf函数来进行程序设计吧!

2.2 Hello,World!(重现)

题目描述

编写一个能够输出 Hello,World! 的程序。

提示:

  • 使用英文标点符号;
  • Hello,World! 逗号后面没有空格。
  • HW大写字母。

输入格式

输出格式

样例 #1

样例输入 #1

样例输出 #1

Hello,World!

分析

这道题目虽然使用cout做会更方便一点,但是我们这节课学习的是printf,话不多说,直接上代码!

#include<bits/stdc++.h>
using namespace std;
int main() {
    printf("Hello,World!"); // 输出 Hello,World! 
    return 0; 
}

注意,printf输出一个字符串的形式如上,千万不要写成了这样:

printf("%s", "Hello,World!");

好的,这就是本节课的内容,相对于上节课,这次的内容优化了排版,欢迎各位将自己的意见提出,帮助Charzie更好的进步,谢谢!


Charzie
2 声望0 粉丝

Everything likes coding.