• C语言:输入输出


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

    #include<stdio.h>

    字符输出函数putchar:

    格式:putchar(c)

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

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

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

     1 #include<stdio.h>
     2 int main()
     3 {
     4   int c;
     5   char a;
     6   c = 65;
     7   a ='B';
     8   putchar(c);
     9   putchar('
    ');
    10   putchar(a);
    11 }// A
    B

    格式输出函数printf

    格式:printf("格式控制符",输出表)

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

    输出表:要输出的信息

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

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

                     普通字符:原样输出

     1 static char a[]="hello world!"
     2 printf("%s
    ",a);
     3 printf("%15s
    ",a);
     4 printf("%10.5s
    ",a);
     5 printf("%2.5s
    ",a);
     6 printf("%.3s
    ",a);
     7 //output 
     8 hello world!
     9       hello world!
    10         hello
    11 hello
    12 hel

    字符输入函数getchar

    格式:getchar()

    功能:从键盘读取一个字符

    返回值:正常,返回读取的代码值;错误或者结束键盘输入,返回-1

     1 #include<stdio.h>
     2 int main()
     3 {
     4    int c;
     5    printf("enter a character:");
     6    c = getchar();
     7    printf("%c--%d-->hex%x
    ",c,c,c);
     8    return 0;
     9 }
    10 //output 
    11 enter a character:A
    12 A--65-->HEX41

    格式输入函数scanf

    格式:scanf("格式控制符",地址表);

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

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

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

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

    说明:

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

    例子:

    1 scanf("%c%c%c",&c1,&c2,&c3);
    2 /*若输入a b c 
    3 则c1为a,c2为空格,c3为b*/

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

    遇到空格,TAB,或者回车

    遇非法输入

    遇宽度结束

    例子:

    1 ret = scanf("%d%c%f",&a,&b,&c);
    2 /*
    3  若输入1234a123o.26
    4 则a为1234,b为‘a’,c为123
    5 
    6 */

    ************************************************如何处理输入函数留下的垃圾******************************************************

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

    1 int x;
    2 char ch;
    3 scanf("%d",&x);
    4 scanf("%ch",&ch);
    5 printf("x=%d,ch=%c
    ",x,ch);
    6 //当输入第二次的时候,第一次的输入之后的回车被当作输入的字符

    方法1:

    用getchar()清除:

    1 int x;
    2 char ch;
    3 scanf("%d",&x);
    4 getchar();
    5 ch = getchar();
    6 printf("x= %d,ch =%c
    ",x,ch);

    方法2:

    用格式串中空格或者“%*c”来吃掉

    1 int x;
    2 char ch;
    3 scanf("%d",&x);
    4 scanf("   %c",&ch);or scanf("%*c%c",&ch)

    字符串输入函数:gets

    格式:char * gets(char *s)

    功能:从键盘输入一回车结束的字符串放入字符数组中,并且自动加''

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

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

    1 int main( )
    2 { 
    3     char string[15];
    4     printf(“Input a string:”);
    5     gets(string);
    6     printf(“%s
    ”, string);
    7     return 0;
    8 }

    字符串输出函数puts

    ‐格式: int puts(const char *s)
    ‐功能:向显示器输出字符串( 输出完,换行)
    ‐说明:字符数组必须以‘ ’ 结束

    1 #include <stdio.h>
    2 int main( )
    3 {
    4      char string[80] = “How are you”;
    5      puts(string);
    6      return 0;
    7 }
    8 输入: How are you?
    9 输出: How are you ?
  • 相关阅读:
    【springcloud alibaba】配置中心之nacos
    【springcloud alibaba】注册中心之nacos
    LeetCode计数质数Swift
    LeetCode移除链表元素Swift
    LeetCode删除重复的电子邮箱SQL
    LeetCode汉明距离Swift
    LeetCode两整数之和Swift
    LeetCode从不订购的客户SQL
    LeetCode超过经理收入的员工SQL
    LeetCode组合两个表SQL
  • 原文地址:https://www.cnblogs.com/renchong/p/5515128.html
Copyright © 2020-2023  润新知