忙里偷闲( ˇˍˇ )闲里偷学【C语言篇】——(3)输入输出函数

一、基本的输入和输出函数的用法

1、printf()  //屏幕输出

用法:

(1)printf("字符串
");
(2)printf("输出控制符", 输出参数);
(3)printf("输出控制符1 输出控制符2。。。
", 输出参数1,输出参数2,。。。);
   //注意:后面的输出参数中间必须加 ","
(4)printf("输出控制符 非输出控制符", 输出参数);
输出控制符包含:
%d 
%ld
%c
%f 
%lf
%x(或者%X或者%#x或者%#X):十六进制  2f 2F 0X2f  0X2F
推荐使用 %#x 可以看出来是十六进制输出结果

%o
%s

#include<stdio.h>

int main(void)
{
	int a = 10;
	printf("%d
%x
%X
%#x
%#X
", a, a, a, a, a);
	return 0;
}
2、scanf()  //键盘输入

通过键盘将数据输入到变量中

两种用法:

(1) scanf("输入控制符", 输入参数); scanf("%d", &i);

因为键盘输入的是字符,%d是为了转换为要用的格式。  &i表示i的地址

输入123就是表示将字符123转换为int格式的123放到&i地址所在的内存空间里。

(2) scanf("非输入控制符 输入控制符", 输入参数);

如:int i; sanf("m%d", &i);  键盘输入:m123  非输入控制符必须原样输入

输入:mn 输入:123 是非法的   输入:m123n 取前三个数字

输入一般都不写非输入控制符

(3)键盘一次给多个数据赋值

scanf("%d %d", &i,&j);  输入:123 456

scanf("%d,%d", &i,&j);  输入:123,456

不要在scanf();中加/n 

scanf("%d ", &i);      输入:123

最好加一个输出提示信息

应该编写代码对用户的非法输入进行处理

#include <stdio.h>

int main(){
        int i, j;
        scanf("%d", &i);
        printf("i=%d
", i);
        scanf("%d", &j);
        printf("j=%d
", i);
}

键盘输入:123m  输出结果 i正确  j为非法值
修改后的代码:

#include <stdio.h>

int main(){
        int i;
        char ch;
        scanf("%d", &i);
        printf("i = %d
", i);
        while((ch=getchar()) != '
')
                continue;
        int j;
        scanf("%d", &j);
        printf("j = %d
", j);

        return 0;
}
上面用到了getchar()函数,getchar()函数在stdio.h中,当程序中调用了getchar()函数时,程序就等待着用户按键,用户输入的字符被放在键盘缓冲区中,等待后续getchar()调用读取。




原文地址:https://www.cnblogs.com/lanzhi/p/6469091.html