在最近的练习题中我发现关于字符的使用有问题,很容易做出错误的使用,所以重新梳理一下字符有关的内容是有必要的,下面我们开始吧

一、字符出现的形式

  <1.>字符型常量可以分为以下两者:     

          1.字符常量

                首先关于字符常量,其常见为单直撇括起的一个字符,这种形式就是字符常量,例如:'A'  'a'  '#'等都是正确的字符,需要注意的是,字符常量只能是一个,例如'AB'这就是错误的并且字符是区分大小写的,两个撇号只是用来界定范围,不算在字符内,字符常量在使用时,只需直接使用即可,

          2.字符串常量

                字符串通常是用一组双引号括起来的若干字符序列,例如:''hollow word!''即为字符串常量,如果字符串中一个字符都没有,就将其称为空串,长度为0,值得注意的是系统会为字符串后添加 '\0' 

  <2.>   字符常量的输入输出

        1.字符数据输入

        字符数据输入使用是getchar函数,其作用从终端输入一个字符

        例如:cChar=getchar();//从设备得到一个字符赋给字符变量cChar,

        getchar函数只能接收一个字符,该字符可以赋给一个字符变量或整形变量,也可以不赋给任何变量,只是作为表达式的一部分,例如putchar( getchar() )   ,此处getchar作为putchar的参数

在很多时候用来处理多余的回车键非常有效,在处理时只需要将getchar函数在适当的位置加上就行,当用户按下回车键时就会将回车读入这个函数

        2.字符数据输出

        输出字符使用是putchar函数,作用是向显示设备输出一个字符,

        例:puchar(' A ');//里面的字符可以使用ASCII

        是一个字符一个字符输出!

<3.>字符串的输入输出

        1.字符串输入

        字符串输入使用的是gets函数,作用是将读取的字符串保存在形参str变量中,读取过程直到出现新的一行为止,其中新的一行的换行字符将会转换为空终止符'\0'。也就是读取到换行符就停止了

        形式如:gets(char*str)//str字符指针变量为形式参数

        2.字符串输出       

字符串输出使用的是puts函数,作用是输出一个字符串到屏幕上,函数内的参数是要输出的字符串

        形式为puts(char*str)//str是字符指针类型

        值得注意的是此函数在输出时遇到'\0'就会停止并换行,无论后面是否右内容都不再输出

使用scanf和printf

  当然我们在输入输出字符传输时也可以使用scanf("%s",地址)或printf("%s",地址)

%s用来输入或输出字符串,在输入时以非空白字符开始,以第一个空白字符结束,字符串结束标志为'\0'

%s:输出字符串

%ms:表示输出串占m列,若字符串的长度大于m,也会全部输出,若小于m,则在左侧用空格补 齐

%-ms:与上述的区别在于当字符串小于m,则在右侧用空格补齐

%m.ns:输出占m列,但只取字符串最左侧的n个字符,这n个字符输出在m列的右侧,左侧补空格

%-m.ns:与上述m,n含义相同,n个字符输出在m列范围内的左侧,而空格在右侧,如果n>m,则m自动取n值,保证n个字符输出