12、字符(串)输入、输出

article/2025/11/5 19:24:44

目录

一、字符数据输入/输出

1. 字符数据输入

2. 字符数据输出

二、字符串输入/输出

1. 字符串输入函数

2. 字符串输出函数


一、字符数据输入/输出

1. 字符数据输入

字符数据输入使用的是getchar函数,其作用是从终端(输入设备)输入一个字符。getchar与putchar函数的区别在于getchar函数没有参数。

getchar函数的语法格式如下:

使用getchar函数时也要添加头文件stdio.h,函数的值就是从输入设备得到的字符。例如,从输入设备得到一个字符赋给字符变量cChar,代码如下:

注意:getchar函数只能接收一个字符,该字符可以赋给一个字符变量或整型变量,也可以不赋给任何变量,只是作为表达式的一部分,如“putchar(getchar());”。这里,getchar函数作为putchar函数的参数,通过getchar函数从输入设备得到一个字符,然后通过putchar函数将字符输出。

例1:使用getchar函数获取在键盘上输入的字符,再利用putchar函数进行输出

#include<stdio.h>int main()
{char c1;  //声明变量c1 = getchar();  //在输入设备得到字符putchar(c1);  //输出字符putchar('\n');  //输出转义字符换行getchar();  //得到回车字符putchar(getchar());  //得到输入字符,直接输出putchar('\n');  //换行return 0;  //结束
}

运行结果:

例2:使用getchar函数实现字符数据输入(取消获取回车符)

#include<stdio.h>
int main()
{char c1;  //声明变量c1 = getchar();  //在输入设备得到字符putchar(c1);  //输出字符putchar('\n');  //输出转义字符换行//getchar();     //将此处的回车字符getchar函数删掉putchar(getchar());  //得到输入字符,直接输出putchar('\n');  //换行return 0;  //结束
}

运行结果:

2. 字符数据输出

输出字符数据使用的是putchar函数,作用是向显示设备输出一个字符。其语法格式如下:

使用该函数时,要添加头文件stdio.h。其中,参数ch为要进行输出的字符,可以是字符型变量或整型变量,也可以是常量。例如,输出一个字符A的代码如下:

使用putchar函数也可以输出转义字符,如输出字符A:

例3:使用putchar函数,输出字符串“Hello”,并在输出完毕之后换行

#include<stdio.h>
int main()
{char c1, c2, c3, c4;  //声明变量c1 = 'H';  //对变量赋值c2 = 'e';c3 = 'l';c4 = 'o';//输出字符变量putchar(c1);putchar(c2);putchar(c3);putchar(c3);putchar(c4);//输出转义字符putchar('\n');return 0;
}

运行结果:

二、字符串输入/输出

putchar和getchar函数都只能对一个字符进行操作,如果要进行一个字符串的操作则会很麻烦。C语言提供了两个对字符串进行操作的函数,分别为gets和puts函数。

1. 字符串输入函数

字符串输入使用的是gets函数,作用是将读取的字符串保存在形式参数str变量中,读取过程直到出现新的一行为止。其中新一行的换行字符将会转换为空终止符“\0”。gets函数的语法格式如下:

在使用gets函数输入字符串前,要为程序加入头文件stdio.h。其中,str字符指针变量为形式参数。例如,定义字符数组变量cString,然后使用gets函数获取输入字符的代码如下:

在上面的代码中,cString变量获取了字符串,并将最后的换行符转换成了终止字符。

例4:使用字符串输入函数gets获取输入信息

#include<stdio.h>
int main()
{char cString[30];  //定义一个字符数组变量gets(cString);  //获取字符串puts(cString);  //输出字符串return 0;  //结束
}

运行结果:

2. 字符串输出函数

字符串输出使用的是puts函数,作用是输出一个字符串到屏幕上。其语法格式如下:

使用puts函数时,先要在程序中添加stdio.h头文件。其中,形式参数str是字符指针类型,可以用来接收要输出的字符串。例如,使用puts函数输出一个字符串:

上述语句首先会输出一个字符串,之后会自动进行换行操作。这与printf函数有所不同,在前面的实例中使用printf函数进行换行时,要在其中添加转义字符“\n”。puts函数会在字符串中判断“\0”结束符,遇到结束符时,后面的字符不再输出,并且自动换行。例如:

在上面的语句中,加上“\0”字符后,puts函数输出的字符串就变成了“I LOVE”。

例5:使用puts函数对字符串常量和字符串变量进行操作

#include<stdio.h>
int main()
{char*c= "ILOVEYOU!";  //声明字符串指针变量puts("ILOVEYOU!");  //输出字符串变量puts("I\0LOVE\0YOU!");  //输出字符串变量,其中加入结束符“\0”puts(c);  //输出字符串变量的值c = "ILOVE\0YOU!";  //改变字符串变量的值puts(c);  //输出字符串变量的值return 0;  //结束
}

运行结果:


http://chatgpt.dhexx.cn/article/DODY6HQh.shtml

相关文章

C语言(字符串输入)

目录 一.gets和puts组合 二.fgets()和fputs() 三.fgets()函数返回 四.fgets读取满问题 五.修改fgets函数,自动用\0替换\n 一.gets和puts组合 Gets()读取整行输入&#xff0c;知道遇到换行符&#xff0c;然后丢弃换行符&#xff0c;存储其余字符&#xff0c;并在这些字符的…

C语言字符串输入输出总结(一看就懂)

C语言中字符串的使用 java语言中直接就有string这个数据类型&#xff0c;而C语言中没有字符串数据类型&#xff0c;所以使用字符串的时候&#xff0c;难免会不是很方便&#xff0c;那么现在就总结一下C语言中字符串的使用&#xff01; 1.字符串的声明 &#xff08;1&#xf…

String字符串的输入输出

String字符串输入经常会遇到下面的情况&#xff1a; #include<iostream> #include<windows.h> #include<string> using namespace std; int main() {string food;cout << "你喜欢吃什么&#xff1f;" << endl;cin >> food;cout…

c语言字符串输入

如果想把一个字符串读入程序&#xff0c;首先必须预留储存该字符串的空间&#xff0c;然后用输入函数获取该字符串。 分配空间 1.char *name; 2.char name[81]; 1,2 的不同点&#xff1a;1.的指针在未进行初始化之前可能指向任何地方。 2.已分配了81个字节的地址。 char *na…

C语言字符串的输入和输出

文章目录 前言一、使用字符数组二、使用字符数组和字符结合三.字符串处理函数 前言 C语言中没有提供字符串的数据类型&#xff0c;一般用字符数组存储字符串。 如果要输入输出字符串怎么办呢&#xff1f;下面三种方法可供参考。 一、使用字符数组 1.示例&#xff1a; char st…

字符与字符串的输入输出

字符、字符串的输入输出 scanfprintfgetcharscanf与getchar的区别 putchargetsfgetsputscin与coutgetlinecin.getline scanf 不接受空格&#xff0c;回车结束输入 scanf("%c",&a)&#xff1b; 读取标准输入流中的第一个字符&#xff0c;包括空格、换行符等&…

python字符串输出和输入

一、字符串输出 回顾一下以前我们经常写的print()输出数据&#xff0c;输出的就是字符串。下面来看看具体点的代码操作。 代码如下&#xff1a; # 直接输出单引号或双引号或三引号格式字符串 print(hello world)# 2种格式化方法输出字符串 name Python自学网 print(欢迎来到%…

C语言字符串输入及输出的几种方式

1.字符串数组初始化 char s1[]"array"; //字符数组 char s2[6]"array"; //数组长度字符串长度1&#xff0c;因为字符串末尾会自动添‘\0‘ printf("%s,%c\n",s1,s2[2]); //array&#xff0c;r 2.字符串指针初始化 char *sp"pointer&quo…

C++的字符串输入方式

1、cin输入字符串 接收一个字符串&#xff0c;遇到空格和tab键结束接收&#xff0c;回车键表示输入结束&#xff1b;此外定义a[20]&#xff0c;则字符串长度要小于20&#xff0c;最后有个’\0’(否则输入超过20的连续字符串会报错)。 2、cin.get()输入字符 接收第一个字符并赋…

教程篇(7.0) 03. FortiGate安全 防火墙策略 ❀ Fortinet 网络安全专家 NSE 4

在本课中你将了解防火墙策略&#xff0c;以及如何应用它们来允许和拒绝通过FortiGate的流量。FortiGate的核心是一个防火墙&#xff0c;所以它对你的流量所做的几乎所有事情都与你的防火墙策略相关联。 本节课你将学习上图显示的主题。 通过展示识别防火墙策略的不同组成部分的…

Linux之防火墙策略

防火墙 防火墙&#xff08;Firewall&#xff09;&#xff0c;也称防护墙&#xff0c;是由Check Point创立者Gil Shwed于1993年发明并引入国际互联网&#xff08;US5606668&#xff08;A&#xff09;1993-12-15&#xff09;。防火墙是位于内部网和外部网之间的屏障&#xff0c;…

Linux下管理防火墙策略

目录 1. 防火墙管理工具的切换2. iptables的使用3.关于firewalld的域4.firewalld的基本管理命令5.firewalld的高级规则6.firewall中的NAT规则 防火墙是一组规则。当数据包进出受保护的网络区域时&#xff0c;进出内容&#xff08;特别是关于其来源、目标和使用的协议等信息&…

基础防火墙策略

基于NAT的防火墙策略 原理:通过配置防火墙策略,实现内网可以通过防火墙访问外网,外网不能主动访问内网,保证了局域网的安全性。 上图为本次实验的简略图。 准备工作:外网设为桥接模式,内网设为仅主机模式,防火墙两个模式都有。 步骤: 首先把所有的不必要的防火墙策略…

A模块练习-防火墙策略

说明&#xff1a;iptables 组件是一种工具&#xff0c;也称为用户空间&#xff08;userspace&#xff09;&#xff0c;它使插入、修改和除去信息包过滤表中的规则变得容易。除非您正在使用 Red Hat Linux 7.1 或更高版本&#xff0c;否则需要下载该工具并安装使用它。 防火墙策…

Linux进阶(10)--防火墙策略优化

一.火墙介绍 从RHEL7以后&#xff0c;iptables服务的启动脚本已被忽略。请使用firewalld来取代iptables服务。 防火墙是一组规则。当数据包进出受保护的网络区域时&#xff0c;进出内容&#xff08;特别是关于其来源、目标和使用的协议等信息&#xff09;会根据防火墙规则进行检…

H3C 防火墙策略介绍

注意点&#xff1a; H3C防火墙有安全策略和域间策略&#xff0c;安全策略的优先级大于域间策略&#xff0c;会优先匹配安全策略&#xff0c;匹配不到才会匹配域间策略 域间策略&#xff1a;any to any的域间策略优先级低于具体的区域到具体的区域的域间策略 安全策略匹配顺序…

防火墙策略管理-firewalld

1.拓扑图 2.firewalld服务基础 1、Linux防火墙体系 系统服务&#xff1a;firewalld 管理工具&#xff1a;firewalld-cmd、firewalld-config 2、预设安全区域 ①、根据所在的网络场所区分&#xff0c;预设保护规则集 public&#xff1a;仅允许访问本机的sshd等少数几个服务 tru…

firewalld 防火墙策略

一 下面都是在public区 firewalld防火墙默认情况下(也就是public区域)是拒绝所有的&#xff0c;但是public区默认情况下ping和ssh服务都是放开的 [rootnode-1 ~]# firewall-cmd --list-all --zone public public (active)target: defaulticmp-block-inversion: nointerface…

win10 配置防火墙策略

说明 某些情况下&#xff0c;我们想在不关闭防火墙的情况下&#xff0c;开放一些特定的端口&#xff0c;使得特定的应用可以访问本机应用。我们可以配置自定义的防火墙策略来解决这个问题。 配置 控制面板 > 系统和安全 > Windows Defender 防火墙 高级设置 入站规…

防火墙策略管理小工具——网络安全

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、防火墙配置文件1. 地址集合2. 服务集合3. 规则集合 二、防火墙策略管理小工具的开发1. 主要功能2. 框架设计2.1 IP_Set对象2.2 Service对象2.3 Rule对象2.4…