在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 1421|回复: 0

[资料] 读取一个字符

[复制链接]
发表于 2016-4-8 17:36:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x

最简单的输入输出操作是从“标准输入单元”中读取一个字符,或往“标准输出单元”写一个字符。读取某个字符可以用函数getchar来完成。getchar的形式为:

variable_name=getchar();

variable_name是已声明为char类型的有效C变量名。当遇到该语句时,计算机等待从键盘输入一个字符,并将该字符作为一个数值赋给getchar函数。由于getchar用在赋值语句的右边,因而getchar的字符值被赋给了左边的变量名。例如:

char name

name=getchar();

当我们在键盘上按下H键时,就把字符‘H’赋给了变量name。由于getchar是一个函数,因而它需要有括号。

图中的程序显示了在交互环境中getchar函数的使用情况。

       #include<stdio.h>

       main()

       {

              charanswer;

              printf("Wouldyou like to know my name?\n");

              printf("TypeY for YES and N for NO:");

              answer=getchar();

              if(answer=='Y'||answer=='y')

                     printf("\n\nMyname is BUSY BEE\n");

              else

                     printf("\n\nYouare for nothing\n");

       }

该程序为用户显示一个YES/NO类型的问句,并读取用户的单个字符响应。如果响应为Y,那么其输出为如下消息:

My name is BUSY BEE

否则,输出为:

You are good for nothing

注意,在输入文本与输出消息之间有一空行。

getchar函数可以用来连续一行文本中的字符。例如,下面的程序段就可以从键盘中一个接一个地读取字符,直到按下回车键为止。

......

char character;

character ='';

while (character!='\n')

{

       character=getchar();

}

......

警告

getchar()函数恩能够接受键入的任意字符,包括回车键和制表符。这意味着当我们键入单个字符时,在getchar()函数返回后,新行字符在输入队列中等待,这在交互循环中使用getchar()函数时会产生问题。getchar()函数可用来消除不想要的新行字符。我们也可以用flash()函数来冲刷掉不想要的字符。

写字符

getchar函数一样,也有一个类似的putchar函数,用于每次往终端写字符。其形式如下:

putchat (variable_name);

其中variable_name是一个char类型的变量,包括一个字符。该语句在终端显示包含在variable_name变量中的字符。例如,语句:

answer='Y';

putchar (answer)

将字符Y显示在屏幕上。语句:

putchar(‘\n’);

是屏幕上的光标移到下一行的开始处。

程序从键盘读取一个字符,并进行大小写转换后再显示出来,也就说,如果输入的是大写字母,那么输出的就是小写字母。反过来也是如此。

该程序使用了三个新的函数islowertouppertolowerislower是一个条件函数,如果参数为小写字母,那么该函数为TRUE,否则为FALSE。函数toupper把参数的小写字母转换为大写字母,而tolower函数正好相反。

#include<stdio.h>

       #include<ctype.h>


       main()

       {

              charalphabet;

              printf("Enteran alphabet");

              putchar('\n');

              alphabet=getchar();

              if(islower(alphabet))

                     putchar(toupper(alphabet));

              else

                     putchar(tolower(alphabet));

       }

输出

Enter an alphabet

a

A

Enter an alphabet

Q

q

Enter an alphabet

z

Z

凌阳教育,全国唯一一家原厂式嵌入式培训机构,专业从事嵌入式人才培训13年,最近新开课程信息安全工程师培训,想了解更多嵌入式资料下载或者是凌阳教育的动态,请访问凌阳教育官网www.sunplusedu.com

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-1-9 23:06 , Processed in 0.013458 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表