C语言基础—输入输出专题

     

目录

1、数据输出

1.1、字符输出函数

1.2、格式输出函数

2、数据输入

2.1、字符输入函数

2.2、格式输入函数

2.3、输入函数留下的“垃圾”

3、字符串的输入输出

3.1、字符串输入函数

3.2、字符串输出函数

   

1、数据输出

C语言无I/O语句,I/O操作由函数实现

        #include <stdio.h>

1.1、字符输出函数

        格式: putchar( c )

        参数: c为字符常量、变量或表达式

        功能:把字符c输出到显示器上

        返值:正常,为显示的代码值;

例子,

        #include <stdio.h>

        main()

        {   int c;

            char a;

            c=65;  a='B';

            putchar(c); putchar('\n'); putchar(a);

        }

运算结果为:A

                          B

1.2、格式输出函数

        格式:printf(“格式控制串”,输出表)

        功能:按指定格式向显示器输出数据

        输出表:要输出的数据

        格式控制串:包含两种信息

        格式说明:%[修饰符]格式字符,用于指定输出格式

        普通字符:原样输出

1、格式字符

        int a=567;printf ( “%d”,a);             //567

        int a=255;printf(“%x”,a);                 //ff

        int a=65;printf(“%o”,a);                  //101

        int a=567;printf(“%u”,a);                  //567

        char a=65;printf(“%c”,a);                 //A

        printf(“%s”,“ABC”);                           //ABC

        float a=567.789;printf(“%e”,a);         //5.677890e+02

        float a=567.789;printf(“%f”,a);         // 567.789000

        float a=567.789;printf(“%g”,a);         // 567.789

        printf(“%%”);                                    //%

2、输出函数格式字符

        例  m.n

        int a=1234;

        float f=123.456;

        char ch=‘a’;

        printf(“%8d,%2d\n”,a,a);

        printf(“%f,%8f,%8.1f,%.2f\n”,f,f,f,f);

        printf(“%3c\n”,ch);

        例  static char a[]=“Hello,world!”

        printf(“%s\n%15s\n%10.5s\n%2.5s\n%.3s\n”,a,a,a,a,a);

        运行结果:Hello,world!

                           Hello,world!

                               Hello

                  Hello

                  Hel

3、格式输出函数

        例  0 、+

        int a=1234;

        float f=123.456;

        printf(“%08d\n”,a);

        printf(“%010.2f\n”,f);

        printf(“%0+8d\n”,a);    

        printf(“%0+10.2f\n”,f);

2、数据输入

2.1、字符输入函数

        字符输入函数getchar

        格式:  getchar( )

        功能:从键盘读一字符

        返值:正常,返回读取的代码值;出错或结束键盘输入,返回-1 (ctrl   d)

        #include <stdio.h>

        int main()

        {  int c;

           printf("Enter a character:");

           c=getchar();

           printf("%c--%d->hex%x\n", c, c, c);

        }

运行结果:

        Enter a character:A

        A--65->hex41

2.2、格式输入函数

        格式: scanf(“格式控制串”,地址表)

        功能:按指定格式从键盘读入数据,存入地址表指定

        存储单元中,并按回车键结束

        返值:正常,返回输入数据个数

        地址表:变量的地址,常用取地址运算符&

 例1

        scanf(“%4d%2d%2d”,&yy,&mm,&dd);

        若输入19991015

        则yy为1999, mm为10, dd为15

例 2

         scanf(“%2d%*3d%2d”,&a,&b);

         若输入1234567

         则a为12,b为67

说明:

           用“%c”格式符时,空格和转义字符作为有效字符输入

例子,

        scanf(“%c%c%c”,&c1,&c2,&c3);

        若输入abc   

        则c1为a, c2为空格, c3为b

总结:

        输入数据时,遇以下情况认为该数据结束:

        遇空格、TAB、或回车

        遇非法输入

        遇宽度结束

例子,

        ret=scanf(“%d%c%f”,&a,&b,&c);

        若输入1234a123o.26

        则a为1234, b为‘a’, c为123

2.3、输入函数留下的“垃圾”

        使用输入函数可能会留下垃圾

        int x;

        char ch;

        scanf(“%d”,&x);

        scanf(“%c”,&ch);

        printf(“x=%d,ch=%d\n”,x,ch);

方法1:用getchar()清除

         int x;

         char ch;

         scanf(“%d”,&x);

         getchar();

         ch=getchar();

         printf(“x=%d, ch=%d\n”, x, ch);

方法2:用格式串中空格或“%*c”来“吃掉”

        int x;

        char ch;

        scanf(“%d”,&x);

        scanf(“  %c”,&ch);或 scanf(“%*c%c”,&ch);

3、字符串的输入输出

3.1、字符串输入函数

        字符串输入函数gets

        格式: char * gets(char  *s)

        功能:从键盘输入一以回车结束的字符串放入字符数组中,并自动加‘\0’

        说明1:输入串长度应小于字符数组维数

        说明2:与scanf函数不同,gets函数并不以空格作为字符串输入结束的标志。

举例如下

        int main( )

        {     char string[15];

            printf(“Input a string:”);

               gets(string);

            printf(“%s\n”, string);

            return 0;

         }

3.2、字符串输出函数

        字符串输出函数puts

        格式:int puts(const char *s)

        功能:向显示器输出字符串(输出完,换行

        说明:字符数组必须以‘\0’结束

举例如下

        #include <stdio.h>

        int main( )

        {     char string[80] = “How are you”;

           puts(string);

              return 0;

         }

输入:  How  are  you?

输出:  How  are  you ?  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值