| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> 学长教你学C-day4-C语言字符串的输入与输出函数 -> 正文阅读 |
|
[C++知识库]学长教你学C-day4-C语言字符串的输入与输出函数 |
??“同学们,C语言中两个最常见的输入输出函数scanf()和printf()我们已经讲完了,相信大家现在都能灵活运用这两个函数。今天我们介绍几个其他的C语言中对于字符和字符串的输入输出函数。”
??“首先这么写是一点问题都没有的,但是同学们不要忘了,printf()函数的参数本身就是一个字符型的指针变量,既然本来就是字符型,那我们还需要使用格式控制符吗,直接输出不也行吗,如:[code_2]”
??“既然如此,在变量只有字符或者字符串的情况下输出用printf()函数输出它们有些大材小用了,那么我能不能单独设计一种函数直接就能输出字符和字符串呢?答案是肯定的。在C语言中putchar()和puts()函数就是用来专门处理字符和字符串的输出的。我们来看一下官方文档:”
??这时坐在前排的小胖同学问道:“学长,我有个问题,这个不是处理字符类型的函数吗,为什么它的参数是int型的呀?”。
??“我们采用的编码一般都是UTF-8或者Unicode因为这两个都是可支持中文的编程的。但是最原始的编码应属ASCII编码了,至今还在沿用。下面我们可以看一看ASCII编码表里各符号对应的编码:”
??“说完这些大家就应该能明白了为什么putchar()里面的参数是int,因为是用字符编码直接表示的,但是putchar()函数也可以直接用字符型参数,只不过是系统会自动帮我们转换成相应的码ASCII码。下面看一个例子:[code_3]”
??“上面的例子里,我们用了putchar()输出了字符变量、单个字符和ASCII码对应的字符,但是细心的朋友会发现,我们的换行符也是通过putchar()输入的。那么有没有输出完字符后自带换行符的输出函数呢?答案是:有的。”
??“从它的参数可以看出来,puts()和putchar()的区别,前者可以直接输出一个字符串。示例:[code_4]”
??“上面示例提供了三种字符串的定义方式:第一种,没有定义长度的数组,实际意义就相当于一个字符指针( 相当于 const char *string ) ,第二种是最大长度为20的数组,超出了20个字符程序就会报错;第三种是字符型指针变量,可以直接存储一个字符串常量与第一种类似就是不能通过下标修改,而第一种和第二种数组的命名方式都是可以通过下标修改字符串里面的字符内容的。” ??“同学们,我们继续。有输入就有输出。对于字符和字符串而言,C语言里也有很多相关的函数。” ??“我们先来学习getchar()。这个函数与putchar()的语法定义相同,作用是可以接收单个的字符。示例:[code_5]”
??“这里我们要注意getchar()和putchar()的代码用法区别,putchar()的参数写在括号里面,getchar()是写在变量后面,是以赋值的形式接收到键入值再传递给变量的。也可以在变量定义时直接赋值: ??“我们再来学习第二个输入函数gets()。这个函数也可以与puts()函数一起记忆。定义和用法也大致相同。示例代码:[code_6]”
??“接下来,我们在来说最后两个函数就是getche()和getch(),首先这两个函数都是输入单独的一个字符的函数。但为什么放在最后讲而不和getchar()一起讲呢?当然是因为它们两个有些特殊之处。”
??“如上代码所示,在我们输入一个‘C’后立刻就在屏幕输出了‘C’,而不是像使用scanf()和getchar()那样按下回车才能进一步操作,这就是设有缓冲区和不设有缓冲区的区别所在。还有一点需要注意,使用getch()和getche()函数必须调用Windows特有的头文件conio.h,否则将无法使用。”
??“这里我们键入一个‘C’,然后屏幕就只输出了一行‘C’,这个C显然是putchar()指令的结果,那么我们键入的C去哪了呢,答案是因为有getch()函数的性质,把我们输入的字符给隐藏掉了,所以我们只能看到输出的C而看不到键入的C。” |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 5:07:46- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |