getchar()函数只能接受单个字符
#include<stdio.h> void main(){ char c; printf("input a character \n"); c = getchar(); putchar(c); printf("\n"); }scanf("格式控制字符串",&地址表列); 输入时要用一个以上的空格或回车键最为每两个输入数之间的间隔
#include<stdio.h> void main(){ int a,b,c; printf("input a,b,c \n"); scanf("%d%d%d",&a,&b,&c); printf("a=%d, b=%d, c=%d",a,b,c); }格式字符串形式 %[*][输入数据宽度][长度] 类型
格式字符意义d输入十进制整数o输入八进制整数x输入十六进制整数u输入无符号十进制整数f 或 e输入实型数(用小数形式或指数形式)c输入单个字符s输入字符串*符号: 用以标识该输入项,读入不赋予相应的变量,即跳过该输入值
#include<stdio.h> void main(){ int a,b; printf("输入三个数,只保留第一个和最后一个\n"); scanf("%d%*d%d",&a,&b); printf("%d %d",a,b); }宽度 用十进制整数指定输入的宽度 只保留前5位,其余部分被截去
#include<stdio.h> void main(){ int a; scanf("%5d",&a); printf("%d",a); }长度 长度格式符为 1和h, 1表示输入长整型数据(%1d) 双精度浮点数(如%lf) h表示输入短整型数据
显示器上输出单个字符
#include<stdio.h> void main(){ char a='B', b='o', c='k'; putchar(a); putchar(b);putchar(b);putchar(c); putchar('\t'); putchar(a); putchar(b); putchar('\n'); putchar(b); putchar(c); }printf("格式控制字符串","输出表列")
#include<stdio.h> int main(){ int a=88, b=89; printf("%d,%d",a,b); printf("\n"); printf("%c,%c",a,b); }[标志][输出最小宽度][.精度][长度 ] 类型
格式字符意义d以十进制形式输出带符号整数(正数不输出符号)o以八进制形式输出无符号整数(不输出前缀0)x,X以十六进制形式输出无符号整数(不输出前缀0x)u以十进制形式输出无符号整数f以小数形式输出单、双精度实数e,E以指数形式输出单、双精度实数g,G以%f 或 %e 中较短宽度输出单、双精度实数c输出单个字符s输出字符串标志
标志意义-结果左对其,右边填空格+输出符号(正号或负号)空格输出为正时冠以空格,为负时冠以负号#对c,s,d,u 类无影响; 对o类,在输出时加前缀o; 对x类,在输出时加前缀0x; 对e,g,f 类当结果有小数时才给出小数点输出最小宽度 用十进制整数来表示输出的最少位数。 若实际位数多于定义的宽度,则按实际位数输出, 若实际位数少于定义的宽度则补以空格或0 精度 精度格式符以“."开头,后跟十进制整数。 若输出数字,则表示小数的位置; 若输出的是字符,则表示字符个数; 若实际位数大于所定义的精度数,则截取超过的部分 长度 长度格式符为h,1两种 h表示按短整型量输出 l表示长整型量输出
#include<stdio.h> int main(){ int a = 15; float b = 123.1234567; double c = 12345678.12345678; char d='p'; printf("a \n"); printf("十进制d:%d \n",a); printf("宽度为5的十进制整数%5d \n",a); printf("八进制%o \n",a); printf("十六进制%x \n",a); printf("b \n"); printf("%f \n",b); printf("%lf \n",b); printf("%5.4f \n",b); printf("%e \n",b); printf("c \n"); printf("%f \n",c); printf("%lf \n",c); printf("%8.4lf \n",c); printf("d \n"); printf("%c \n",d); printf("%8c \n",d); }