C 语言 isprint() 函数

2025年3月17日 | 阅读 7 分钟

本节将讨论 C 语言中的 isprint() 函数。isprint() 函数是 C 语言的一个预定义库函数,用于检查输入的字符是否为屏幕上的可打印字符(包括空格字符)。它定义在 ctype.h 头文件中。因此,在 C 语言编程时必须包含 ctype.h 头文件。

isprint() function in C

此函数接受用户输入的字符类型参数,并验证该字符是否可打印。如果传入的字符可打印,则函数返回一个非零的正值;否则,它返回零 (0)。

例如,假设用户将 'g' 字符作为参数传递给 isprint() 函数;该函数会检查输入的字符是否可打印。如果可以,它将返回一个非零值。同样,如果我们向 isprint 函数输入换行符 (\n) 或制表符 (\t),它将返回零,因为它们不是可打印字符。

isprint() 函数的语法

isprint() 函数在 C 语言中的语法如下:

参数

c: 表示传递给 isprint() 函数的字符类型值。

返回值

isprint() 函数会检查传递的参数,如果字符可打印,则返回一个非零值。否则,返回零。

示例 1:使用 isprint() 函数查找可打印字符的程序

让我们编写一个简单的程序,使用 C 语言的 isprint() 函数在屏幕上查找可打印字符。

输出

'b' is a printable character.
'@' is a printable character.
' ' is a printable character.
'%' is a printable character.
' ' is not a printable character.
'	' is not a printable character.

在上面的程序中,我们定义了各种字符('b'、'@'、' '、'%'、换行符 (\n) 和 '\t'(制表符))来检查可打印字符。然后,isprint() 函数检查并仅打印可打印字符,如果任何字符不可打印,它将返回“%c 不是可打印字符”。

示例 2:从用户处获取字符并检查字符是否可打印的程序

让我们编写一个程序,从用户那里获取一个字符,并使用 isprint() 函数显示它。

输出

Input a printable character: j
'j' is a correct printable character.

在上面的程序中,我们从用户那里输入字符 'j',然后使用 isprint() 函数验证该可打印字符,该函数返回 'j' 是一个正确可打印的字符。

第二次执行

Input a printable character: 8
'8' is a correct printable character.

同样,我们从用户那里获取另一个字符或数字 '8',然后 isprint() 函数会检查给定的可打印字符。之后,isprint() 函数会打印 '8' 是一个正确可打印的字符。如果输入换行符 (\n) 或 \t,isprint() 函数将返回“%c 不是可打印字符”。

示例 3:使用 isprint() 函数和 while 循环检查可打印字符串的程序

让我们编写一个示例,使用 while 循环和 isprint() 函数在 C 语言中打印可打印字符串的字符。

输出

'Z' is a printable character.
'b' is a printable character.
'.' is a printable character.

is not a printable character.
'2' is a printable character.
' ' is a printable character. 
	is not a printable character.
'*' is a printable character.
'.' is a printable character.

在上面的程序中,我们声明了一个字符字符串“Ab. \n2 \t*.”,然后使用 isprint() 函数检查给定的字符串是否可打印。因此,首先,我们使用一个 while 循环,该循环迭代字符串中的每个字符,直到字符串不等于 null。在 while 循环内部,条件会使用 isprint() 函数进行检查并打印每个有效字符,包括空格。如果字符不可打印,它将打印“它不是一个可打印字符。”。

示例 4:使用 isprint() 函数查找 C 语言中所有可打印字符的程序

让我们创建一个程序来查找 C 编程语言中所有可打印字符的完整列表。

输出

   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ 
 There are total 95 printable characters.

示例 5:使用 isprint() 函数打印数组中所有可打印字符的程序

让我们创建一个程序,使用 C 语言的 isprint() 函数打印所有字符类型数组的元素。

输出

'G' is a printable character.
'&' is a printable character.
' ' is a printable character.
'6' is a printable character.
'
' is NOT a printable character.
'e' is a printable character.
'!' is a printable character.
'	' is NOT a printable character.