zoukankan      html  css  js  c++  java
  • C语言学习笔记之 标准输入输出函数

    标准输入输出函数

    下面的所有函数都包含在stdio.h中

    标准输出函数

    • printf -> 格式化输出
    • puts -> 输出字符串
    • putc -> 输出字符

    printf

    函数原型:

    printf(_In_z_ _Printf_format_string_ char const* const _Format,...)
    

    使用方法:

    printf(格式化字符串,参数列表);
    
    格式化字符 转换结果
    %c 字符
    %d int有符号整型(十进制)
    %hd short有符号短整型(十进制)
    %ld long有符号长整型(十进制)
    %i 同%d
    %e 以指数形式输出单、双精度浮点数
    %E 同%e
    %f 以小数形式输出单、双精度浮点数
    %g 以%f 和%e中较短的输出宽度输出单、双精度浮点数
    %G 同%g
    %o 无符号八进制
    %s char* 字符串
    %u 无符号整型(十进制)
    %lu 无符号长整型(十进制)
    %hu 无符号短整型(十进制)
    %x 无符号十六进制
    %X 同%x,无前导0X
    %p void* 指针值,也就是地址
    %n int* 存放已写字符的个数
    % %本身

    例:

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    
    int main() {
    	int a = 104302;
    	char s[4] = { 'a','b','c','' };
    	double pi = 3.14159265358979;
    
    	printf("%x
    ", a);
    	printf("%o
    ", a);
    	printf("%X
    ", a);
    	printf("%p
    ", &a);
    	printf("%s
    ", s);
    	printf("%.14f
    ", pi);
    	printf("%.14e
    ", pi * 10000);
    	printf("%g
    ", pi);
    
    	return 0;
    }
    

    运行结果:

    1976e
    313556
    1976E
    0000000BB1DEFB74
    abc
    3.14159265358979
    3.14159265358979e+04
    3.14159
    

    %m.nf 表示输出m个数字,其中小数部分占n个
    %-m.nf 表示向左对齐

    puts

    puts(字符串)

    例:

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    
    int main() {
    	char s[] = "Hello world
    ";
    
    	puts(s);
    
    	return 0;
    }
    

    运行结果:

    Hello world
    

    putc

    putc(字符)
    例:

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    
    int main() {
    	char s = 'C';
    
    	putc(s);
    
    	return 0;
    }
    

    运行结果:

    C
    

    标准输入函数

    • gets 读取字符串
    • scanf 格式化输入
    • getchar 读取字符

    gets

    gets(字符串)

    例:

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    
    int main() {
    	char s[4];
    
    	printf(">");
    	gets(s);
    	puts(s);
    
    	return 0;
    }
    

    运行结果:

    >abc
    abc
    

    getchar

    getchar()

    读取一个字符,并将它返回

    scanf

    scanf(格式化字符串,地址列表)

    功能:按照格式化字符串从终端读取数据,送到对应的内存地址中

    格式化字符 转换结果
    %c 字符
    %d int有符号整型(十进制)
    %hd short有符号短整型(十进制)
    %ld long有符号长整型(十进制)
    %s 字符串
    %f float
    %lf double

    例:

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    #include <stdlib.h>
    #define MAX(x,y) ((x > y) ? x : y)
    
    int main() {
    	int n = 0;
    
    	printf(">");
    	scanf("%d", &n);
    	getchar(); // 把换行符从缓冲区过滤掉
    	printf("你输入的是%d
    ",n);
    
    	double f;
    	printf(">");
    	scanf("%lf", &f);
    	getchar();
    	printf("你输入的是:%.2f
    ", f);
    
    	int a, b;
    	printf(">");
    	scanf("%d %d", &a, &b);
    	getchar();
    	printf("max = %d
    ", MAX(a, b));
    
    	char* s[n];
    	printf("请输入%d个字符:",n);
    	scanf("%s", s); // s相当于&s[0],此时数组为{"输入的字符串",...}
    	printf("%s
    ", s);
    
    	system("pause");
    	return 0;
    }
    

    运行结果:

    >5
    你输入的是5
    >3.14
    你输入的是:3.14
    >23 453
    max = 453
    请输入5个字符:absdlld
    absdlld
    请按任意键继续. . .
    
  • 相关阅读:
    Windows10 ntoskrnl.exe占用大量的磁盘空间(100%)
    Windows10 正式企业版激活
    edit-distance
    climbing-stairs
    minimum-path-sum
    unique-paths-II
    unique-paths
    剑指 Offer 42. 连续子数组的最大和
    剑指 Offer 54. 二叉搜索树的第k大节点
    矩阵中的路径
  • 原文地址:https://www.cnblogs.com/zhujiangyu/p/13589414.html
Copyright © 2011-2022 走看看