C语言知识点(二)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ygdxt/article/details/82113963

1.有关%s格式字符串

⑴%s,如printf("%s","CHINA")
⑵%ms,输出的字符串占m列,字符串长度小于m,左边补空格,如果超出则全部输出.
⑶%-ms,串小于m,则在m列范围内字符串左靠,右补空格.
⑷%m.ns,输出占m列,但只取字符串左端n个字符.这n个字符输出在m列的右边,然后左边补空格.
⑸%-m.ns,和上面的放下,就是n个字符输出在m列的左侧,右边补空格.n>m,那么m自动取n的值,既保证n个字符正常输出.


2.有关数组存储

对于自动存储类型(就是我们常用的,auto自动省略)的数组,若初值列表中给出的数据个数少于元素个数,则只能给数组前面的元素赋值,后面元素的值不确定。
对于静态存储类型的数组(如static int),系统自动为后面的赋0或NULL。
 

3.有关字符输入函数getchar()

1.getchar 由宏实现:#define getchar() getc(stdin)。

2.getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符.getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键.

3.getchar函数的功能是从键盘上输入一个字符。其一般形式为: getchar(); 通常把输入的字符赋予一个字符变量,构成赋值语句,如:

  char c;
       c=getchar();
       #include<stdio.h>
      void main()

  {
       char c;
       printf("input a character\n");
       c=getchar();
       putchar(c);
       }

4.  使用getchar函数还应注意几个问题:
       getchar函数只能接受单个字符,输入数字也按字符处理。输入多于一个字符时,只           接收第一个字符。
        使用本函数前必须包含文件“stdio.h”。
5. 与getch区别:

(1)getchar();从键盘读取一个字符并输出,该函数的返回值是输入第一个字符的ASCII码;若用户输入的是一连串字符,函数直到用户输入回车时结束,输入的字符连同回车一起存入键盘缓冲区。若程序中有后继的getchar();函数,则直接从缓冲区逐个读取已输入的字符并输出,直到缓冲区为空时才重新读取用户的键盘输入。
(2)getch();接受一个任意键的输入,不用按回车就返回。该函数的返回值是所输入字符的ASCII码,且该函数的输入不会自动显示在屏幕上,需要putchar();函数输出显示。getch();函数常用于中途暂停程序方便调试和查看。
(3)getchar();和getch();的另一个区别就是所需要包含的头文件不同。
getchar();用#include<stdio.h>
getch(); 用#include<conio.h>
     
 

猜你喜欢

转载自blog.csdn.net/ygdxt/article/details/82113963