一、基本的输入和输出函数的用法
1、printf() //屏幕输出
用法:
输出控制符包含:
- (1)printf("字符串\n");
- (2)printf("输出控制符", 输出参数);
- (3)printf("输出控制符1 输出控制符2。。。\n", 输出参数1,输出参数2,。。。);
- //注意:后面的输出参数中间必须加 ","
- (4)printf("输出控制符 非输出控制符", 输出参数);
%d
%ld
%c
%f
%lf
%x(或者%X或者%#x或者%#X):十六进制 2f 2F 0X2f 0X2F
推荐使用 %#x 可以看出来是十六进制输出结果%o
%s
2、scanf() //键盘输入
- #include<stdio.h>
- int main(void)
- {
- int a = 10;
- printf("%d\n%x\n%X\n%#x\n%#X\n", a, a, a, a, a);
- return 0;
- }
通过键盘将数据输入到变量中
两种用法:
(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\n", &i); 输入:123\n
最好加一个输出提示信息
应该编写代码对用户的非法输入进行处理
- #include <stdio.h>
- int main(){
- int i, j;
- scanf("%d", &i);
- printf("i=%d\n", i);
- scanf("%d", &j);
- printf("j=%d\n", i);
- }
键盘输入:123m 输出结果 i正确 j为非法值
修改后的代码:
上面用到了getchar()函数,getchar()函数在stdio.h中,当程序中调用了getchar()函数时,程序就等待着用户按键,用户输入的字符被放在键盘缓冲区中,等待后续getchar()调用读取。
- #include <stdio.h>
- int main(){
- int i;
- char ch;
- scanf("%d", &i);
- printf("i = %d\n", i);
- while((ch=getchar()) != '\n')
- continue;
- int j;
- scanf("%d", &j);
- printf("j = %d\n", j);
- return 0;
- }