一、基本的输入和输出函数的用法
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()调用读取。