私信TA

用户名:chenqi

访问量:36937

签 名:

等  级
排  名 317
经  验 5425
参赛次数 0
文章发表 52
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

字符数据的输入输出
1.putchar 函数(字符输出函数)
        putchar 函数是字符输出函数, 其功能是在显示器上输出单个字符。其一般形式为:putchar(字符变量).
2.getchar函数(键盘输入函数)
        getchar函数的功能是从键盘上输入一个字符。其一般形式为:getchar();通常把输入的字符赋予一个字符变量,构成赋值语句,如:char c;  c=getchar()。

3.scanf("%c",&s)

        读取单个字符,前导空白字符并不跳过,字符后面不会添加NUL字节。


需要注意的一点是getchar()函数的返回值为整数

例:

#include<stdio.h>

main()

{

    char c;

    while((c=getchar())!=EOF)

    putchar(c);

}

        getchar()函数一般情况下返回的是标准输入文件中的下一个字符,当没有输入时返回EOF(一个在头文件stdio.h中被定义的值,不同于任何字符)。程序中变量c被定义为char型,这意味着c无法容下所有可能的字符,特别是EOF。程序的结果要么取的是截断的c,要么取不到EOF,程序陷入死循环。


字符串的输入

1.gets()

      gets() (代表get string),使用地址作为参数,它从系统的标准输入设备(通常是键盘)获得一个字符串,直到遇到一个换行符(\n)结束,并自动添加空字符(\0)

例:

char name[81]; /*分配空间*/

printf("Hi ,what is your name?");

gets(name);

printf("%s\n",name);

     返回值:如果读入正常,则返回的是读入字符串的地址(即一个指向char型的指针),如果出错或gets()遇到文件结尾,则返回一个空(或0)地址。这个空地址被称为空指针,并用stdio.h里定义的常量NULL来表示。

     因此gets()中还加入了一些错误检测,这是它可以很方便的以如下形式使用:

     while(gets(name) != NULL)

    这样的指令使您既可以检查是否到了文件结尾,有可以读取一个值。如果遇到了文件结尾,name中什么也不会读入。

2.fgets()

        gets()的一个不足时它不检查预留存储区是否能够容纳时间输入的数据。多出来的字符简单的演绎出到相邻的内存区。fgets()函数改进了这个问题,它让您指定最大读入字符数。fgets()和gets()有三个方面不同:

(1)需要第二个参数来说明最大读入字符数。如果这个参数值为n,fgets()就会读取最多n-1个字符或者读完一个换行符为止,有这两者中最先满足的那个来结束输入。

(2)如果fgets()读到换行符,就会把它存到字符串里,而不是像gets()那样丢弃它。

(3)它还需要第三个参数来说明读哪一个文件。从键盘上读数据时,可以使用stdin作为该参数,这个标识符在stdio.h中定义。

 例:

char name[81];

char *ptr;

ptr = fgets(name,81,stdin);

printf("%s",ptr);

3.scanf()函数

        scanf()函数使用%s格式读入一个字符串。scanf()使用两种方法决定输入结束。无论那种方法,字符串都是以遇到的第一个非空白字符开始。如果使用%s格式,字符串读到(但不包含)下一个空白字符(空格,制表符或换行符)。如果指定了字段宽度,比如%10s,scanf()会读入10个字符或知道遇到第一个空白字符,由二者中最先满足的哪一个终止输入。

        scanf()函数返回一个整数值,这个值是成功读取的项目数;或者当遇到文件结束时返回EOF。

 4.

        while((s[i++]=getchar())!='\n');

        s[i-1] = '\0';


字符串的输出:puts(),fputs(),printf()

1.puts()函数

        puts()函数使用很简单,只需要给出字符串参数的地址。

例:

char *name = "hellow wold";

puts(name);

        puts()函数显示字符串时自动添加一个换行符puts()输出时遇到空字符(\0)停止,所以应确保输出的字符串中有空字符。

 

2.fputs()函数

        fputs()函数是gets()的面向文件版本。两者之间的主要区别:

        fputs()需要两个参数来说明要写的文件。可以使用stdout作为参数来进行那个输出显示,stdout在stdio.h中定义

与puts()不同,fputs()并不为输出自动添加换行符。

 

     


 

0.0分

0 人评分

  评论区

学习
2017-10-18 22:30:11
  • «
  • 1
  • »