当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 学习笔记 > c语言中输入输出函数案例解析

c语言中输入输出函数案例解析 时间:2018-07-25      来源:未知

一、格式的输入输出函数(printf/scanf)

1、printf格式输出函数

头文件:#include

功能:以你固定号的格式向终端输出

原型:int printf(const char *format, ...); //...表示可变参

format:输出格式串

形式:%[修饰符]格式控制符 (%d、%u、 %c、%s、 %f 、%e、%#x、 %#o、%% )

修饰符

m:可以设置输出数据的域宽

­:可以将系统默认的右对齐改为作齐

0:将设置域宽空余的部分用0来补

注意:­和0不能一起使用

.n:若在浮点类型中表示设置小数点后n位输出,并且也进行四舍五入

若在字符串中表示设置字符串输出位
 

#include <stdio.h>
int main(int argc, const char *argv[])
{
    int a = 345, c = ‐5;
    printf("%d%d\n", a, a);
    printf("%+d%+d\n", a, a);
    printf("*******************************\n");
    printf("%5d%5d\n", a, a);
    printf("%05d%05d\n", a, a);
    printf("*******************************\n");
    printf("%‐5d%‐5d\n", a, a);
    //左对齐,不允许使用0
    //printf("%0‐5d%0‐5d\n", a, a)是错的
    printf("%+d\n", c);
    float b = 3.1455926;
    printf("%f\n", b);
    printf("%.2f\n", b);
       return 0;
}

2、scanf 格式输入函数

头文件:#include

功能:按照指定的格式从键盘输入数据,存入地址表指定存储单元

中,并按回车键结束

原形:int scanf(const char *format, ...);

参数:format 指定输入格式,后面跟要输入的变量的地址表,为不定

参,用“...”代表

返回值 :成功返回输入的变量的个数,失败返回­1(EOF)

格式说明:%[修饰符]格式字符( %d、%c、%s、 %f ) ,用于指定

输出格式

修饰符:

l: 在d,o,x,u前,指定输出精度为long型

在e,f,g前,指定输出精度为double型

m:指定输入数据宽度,遇空格或不可转换字符则结束

*:抑制符,指定输入项读入后不赋给变量

地址表:保存输入数据的变量的地址

垃圾字符的回收:

在输入多个字符的时候,往往会产出空格以及回车这个垃圾字符,所以需要处理

scanf("%c%c%c", &a, &b, &c);

方法1:使用空格隔开

scanf("%c %c %c", &a, &b, &c);

方法2:使用%*c隔开,但是那次只能回收一个

scanf("%c%*c%c%*c%c", &a, &b, &c);

方法3:使用getchar来回收垃圾字符

scanf("%c", &a);

getchar();

scanf("%c", &b);

getchar();

scanf("%c", &c);

getchar();
 

#include <stdio.h>
int main(int argc, const char *argv[])
{
    //在输入一个字符串的时候,需要保证字符串的长度足够大
    char c[32];
    scanf("%s", c);
    printf("c = %s\n", c);
   
    return 0;
}

字符的输入输出函数(getchar/putchar)

 

#include <stdio.h>
int main(int argc, const char *argv[])
{
#if 0
    //传一个字符
    putchar('a');
    putchar('\n');
   
    //传一个字符的ascii
    putchar(97);
    putchar(10);
    //传一个变量
    char a = 'h', b = 99;
    putchar(a);
    putchar(b);
    putchar(10);
    putchar(10);
    char c;
    c = putchar(a);
    putchar(10);
    printf("c = %d %c\n", c, c);
#endif
    char a, b, c;
    a = getchar();  //输入字符无参数
    getchar();   //回收空格
 
 
    b = getchar();
    getchar();
    c = getchar();
    putchar(a);
    putchar(10);
    putchar(b);
    putchar(10);
    putchar(c);
    putchar(10);
    return 0;
}

字符串输入(gets)和输出(puts)函数
 

#include <stdio.h>
int main(int argc, const char *argv[])
{
#if 0
    //自带换行功能
    puts("hello world");
    //printf("\n");
    //putchar(10);
    //puts("")
   
    char a[] = "nihao beijing";
    int num;
    num = puts(a);
    printf("num = %d\n", num);
    //puts()能统计字符串的长度包括'\0'(相当于sizeof(a))
#endif
    //在输入一个字符串的时候,必须保证字符串的长度足够大,否则会内存溢出
    char c[32], *d;
    d = gets(c);
    printf("c = %s\n", c);
    printf("d = %s\n", d);
    return 0;
}

上一篇:没有了

下一篇:变量存储类型 动态内存分配详解

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部