这是我的博客(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!
逗号后面没有空格。H
和W
为大写字母。
输入格式
无
输出格式
无
样例 #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更好的进步,谢谢!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。