C Primer Plus 第七章 C控制语句:分支和跳转

getchar()与putchar()

(一).getchar():

返回值:getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.

如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.

也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键。

 

(1).语法:int getchar(void);

(2).返回值:getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.

    如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.

    也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键。

(3).作用:从标准输入流只读取一个字符(包括空格、回车、tab),读到回车符('\n')时退出,键盘输入的字符都存到缓冲区内,一旦键入回车,getchar就进入缓冲区读取字符,一次只返回第一个字符作为getchar函数的值,如果有循环或足够多的getchar语句,就会依次读出缓冲区内的所有字符直到'\n'.

    要理解这一点,之所以你输入的一系列字符被依次读出来,是因为循环的作用使得反复利用getchar在缓冲区里读取字符,而不是getchar可以读取多个字符,事实上getchar每次只能读取一个字符.

    如果需要取消'\n'的影响,可以用getchar()来清除,如:while((c=getchar())!='\n'),这里getchar();只是取得了'\n'但是并没有赋给任何字符变量,所以不会有影响,相当于清除了这个字符。

 

(二).putchar():

(1).输出:putchar函数只能用于单个字符的输出,向终端输出一个字符,且一次只能输出一个字符。

(2).格式:对于变量来说,格式为:putchar(ch);对于常量来说,格式为:putchar('ch'),对于转义字符来说,格式为:putchar('\n')。

 

ctype.h

ctype.h头文件中的字符测试函数
函数名 如果是下列参数时,返回值为真
isalnum() 字母数字(字母或数字)
isalpha()

字母

isblank() 标准得空白字符(空格、水平制表符或换行符)或任何其他本地化指定为空白的字符
iscntrl() 控制字符,如ctrl+B
isdigit() 数字
isgraph() 除空格之外的任意可打印字符
islower() 小写字母
isprint() 可打印字符
ispunct() 标点符号(除空格或字母数字字符以外的任何可打印字符)
isspace() 空白字符(空格、换行符、换页符、回车符、垂直制表符、水平制表符或其他本地化定义的字符)
isupper() 大写字母
isxdigit() 十六进制数字符

 

 

ctype.h头文件中的字符映射函数
函数名 行为 
tolower() 如果参数是大写字符,该函数返回小写字符;否则,返回原始参数
toupper()  如果参数是小写字符, 该函数返回大写字符; 否则,返回原始参数

 

 

if语句

(1).形式1:

if(expression)

 statement

如果expression为真,则执行statement部分。

(2).形式2:

if(expression)

 statement1

else

 statement2

如果expression为真,执行statement1部分;否则,执行statement2部分。

(3).形式3:

if(expression1)

 statement1

else if(expression2)

 statement2

else

 statement3

如果expression1为真,执行statement1部分;如果expression2为真,执行statement2部分;否则,执行statement3部分。

 

注:如果没有花括号,else与离它最近的if匹配,除非最近的if被花括号括起来

 

 

逻辑运算符

种逻辑运算符
逻辑运算符 含义
&&
||
!

 

iso646.h头文件

 

逻辑运算符的备选拼写 
 传统写法 iso646.h 
&& and 
||  or 
not 

逻辑表达式:

当且仅当 expression1和expression2 都为真,expression1 && expression2 才为真。

如果 expression1 或 expression2 为真,expression1 || expression2 为真。

如果 expression 为假,!expression 则为真,反之亦然。

你可能感兴趣的:(C Primer Plus 第七章 C控制语句:分支和跳转)