C语言的输入输出

C语言的输入输出

c语言一般使用scanf()、fscanf()、getchar()、getch()、getche()和gets()等进行输入,printf()和fprintf()等进行输出

C语言的输入

1.使用scanf()函数进行输入

scanf()函数的原型是
int scanf(const char * restrict format,...);
scanf()函数位于C标准库头文件<stdio.h>中
format 是 类似于 %d %s %e %f %lf %lld之类的格式串
格式后面按格式串里面定义的先后顺序 依次书写变量的地址 如&a和&b 但是字符数组的变量名就代表了该字符数组的首地址了 不用加上&取地址运算符

#include <stdio.h>
int main()
{
    
    
	//声明了两个整形变量a和b
    int a=0,b=0; 
	//输入两个整数并赋值给整形变量a和b
	scanf("%d %d",&a,&b); 
	//计算a+b的值并输出
	printf("a+b=%d\n", a+b);  
    return 0;
}  
2.scanf() 常见的格式控制符汇总
格式控制符 含义
%d %ld %lld 输入一个int型整数 输入一个long型整数 输入一个long long型整数
%c 输入一个字符
%s 输入一个字符串(遇到空格截断)
%f %lf 输入一个float单精度浮点数 输入一个double双精度浮点数
%o %x %u 输入一个八进制整数到int型变量 输入一个十六进制整数到int型变量 输入一个无符号整数到int型整数
%e %le 输入一个指数形式的小数到float单精度浮点数 输入一个指数形式的小数到double单精度浮点数
3.fscanf()是文件输入的函数 暂时不用了解
4.getchar()是从输入流中读取一个字符的函数
char ch;
getchar(ch);

getchar()函数位于C标准库头文件<stdio.h>中
后续的getchar()调用是不会等待用户按键,而直接读取缓冲区中的字符

5.getch()是从控制台中读取一个字符的函数
char ch;
getch(ch);

getch()函数位于C标准库头文件<conio.h>中
getch()调用等待用户按键,从控制台读入字符 并不会回显到控制台

6.getche()是从控制台中读取一个字符的函数
char ch;
getche(ch);

getche()函数位于C标准库头文件<conio.h>中
getche()调用等待用户按键,从控制台读入字符 并立刻回显到控制台

7.gets()是从输入缓冲区读入一个字符串赋值到指定的字符数组中
char str[2048];
gets(str);

上述代码基本等价于scanf("%s", str);
但是使用scanf("%s", str); 遇到空格截断字符串 使用gets(str); 遇到空格不会截断字符串
gets()函数位于C标准库头文件<stdio.h>中
gets() 函数的功能是从输入缓冲区中读取一个字符串存储到字符指针变量 str 所指向的内存空间。
gets() 可以直接用于输入带空格的字符串,遇到换行符才结束输入

C语言的输出

1.使用printf()函数进行输出

printf()函数的原型为
int printf(const char *format, ...);
printf()函数位于C标准库头文件<stdio.h>中
printf的控制格式和scanf是差不多的 printf还可以输出相关的转义字符

#include <stdio.h>
int main()
{
    
    
	// \n表示换行的转义字符
    printf("Hello World!\n");  
    return 0;
}

printf中想要输出’‘必须要使用转义字符’\'才能输出成功
printf("Hello World!\\");
就能输出Hello World!\

2.printf的输出格式
输出格式 含义
%d %ld %lld 十进制有符号整数 对应int型变量/long型变量/long long型变量
%u 十进制无符号整数int型变量
%f %lf 单精度浮点数 双精度浮点数
%s 字符数组(串)
%c 一个字符
%p 指针指向的内存地址
%e 指数形式的单精度浮点数
3.printf的输出的格式控制

1、%d的格式控制格式:
%对齐方式+最长输出位数d
对齐方式:-表示向左对齐 默认向右对齐
如%Nd: N是指定输出的宽度。默认是向右对齐,整形位数小于N位时,,空位补上空格;大于N位时,按实际位数输出。想输出01,可以使用%01d控制输出
2、%f的格式控制格式:
%对齐方式+最长位数.小数点后位数f
对齐方式:-表示向左对齐 默认向右对齐
如%k.nf:默认是向右对齐,最大长度为k位,小数位为n位,整数为则为k-n-1位。 %4.2f 输出类似12.13这样的单精度浮点数 也可以让i留白 %.2f 输出xxxxx. 02这样的单精度浮点数 此时总位数是不定的值

4.fprintf()是输出到文件的函数 暂时不用了解

猜你喜欢

转载自blog.csdn.net/a695415974/article/details/122451641