1.putchar()函数
向终端输出一个字符。能输出但个字符,也能输出控制字符。例如:putchar('a');putchar('\n');
2.getchar()函数
从终端输入一个字符。其一般形式就是getchar();函数的值就是从输入设备得到的字符。
getchar()函数只能接收一个字符,得到的字符可以赋值给一个字符变量或整形变量。
作用是向终端输出若干任意类型的数据(putchar只能输出字符,而且只能输出一个字符)
一般形式为:printf(格式控制,输出列表);例如:printf(“%d,%c\n”,i,c);
1)d格式符,用来输出十进制整数.有几种用法
a)%d,按十进制整形数据的实际长度输出
b)%md,m为制定输出字段的宽度.如果数据的位数小于m,则左端补以空格,若大于m则按实际位数输出。
c)%ld,输出长整形数据.(%mld,指定输出字段的宽度)
2)o格式输出,以八进制整数形式输出。将符号位也一起作为八进制数的一部分输出。例如:
inta = -1;
printf(“%d,%o”);
输出为:-1 ,177777 ,不会输出带负号的八进制整数。
也可以制定字段宽度,例如:printf(“%8o”,a);
3) x格式输出,以十六进制整数形式输出,不会出现负的十六进制,可以制定宽度.
4) u格式符, 用来输出unsigned型数据,以十进制形式输出。
5)c格式符,用来输出一个字符。
6)s格式符,用来输出一个字符串。有几种用法,
a)%s, 输出字符串
b)%ms,输出字符串占m列,如果字符串本身长度大于m,则突破m的限制,将字符串全部输出。若小于m,则左补空格。
c)%-ms, 如果字符串长度小于m,则在m列范围内,字符串向左靠,右补空格。
d)%m.ns,输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。
e)%-m.ns,mn含义同上,n个字符输出在m列范围的左侧,右补空格。如果n>m,则m自动取n值,即保证n个字符正常输出。
7)f格式符,用来输出实数,以小数形式输出。 有以下几种用法。
a)%f,不指定字段宽度,由系统自动指定,使整数部分全部输出,并输出6位小数。应该注意的是,在输出的数字中并非全部数字都是有效数字。
例如:
voidmain() {
floatx,y;
x= 111111.1111111;
y= 222222.2222222;
printf("%f\n",x+y);
}
输出:333333.328125只有前7位数字是有效数字
也可以用%f格式输出双精度数,它的有效位一般为16位,例如:
voidmain() {
doublex,y;
x= 11111111111111.1111111;
y= 22222222222222.2222222;
printf("%f\n",x+y);
}
输出:33333333333333.335938
b) %m.nf,指定输出的数据共占m列,其中有n位小数。如果数值长度小于m,则左端补空格。
c) %-m.nf,与上基本相同,只是输出的数值向左端靠,右端补空格。
8)e格式符,以指数形式输出实数。
a) %e ,不指定输出数据所占的宽度和数字部分的小数位数。例如:
voidmain() {
printf("%e",123.456);
}
输出:1.234560e+02
b) %m.ne和%-m.ne,此处n指拟输出的数据的小数部分(尾数)的小数位数。
9)g格式符,用来输出实数,它根据数值的大小,自动选择f格式或者e格式(选择输出时占宽度较小的一种),且不输出无意义的零。
1.一般形式scanf(格式控制,地址列表);例如:
voidmain() {
int a,b,c;
scanf("%d,%d,%d",&a,&b,&c);
printf("%d,%d,%d\n",a,b,c);
}
(因为scanf()的格式控制是”%d,%d,%d”,所以输入时,每个输入后要加‘,’ ,如:23,567,213)
2.格式说明
1).对于unsigned型变量所需的数据,可以用%u,%d或者%o,%x格式输入。
2).可以指定输入数据所占的列数,系统自动按它截取所需数据,例如:
scanf(“%3d%3d”,&a,&b);
输入:123456系统将自动将123赋值给变量a,456赋值给变量b。
3).如果在%后有一个“*”附加说明符,表示跳过它指定的列数.例如:
scanf(“%2d%*3d %2d”,&a,&b);
输入:12345 67系统将自动将12赋值给变量a,%*3d表示读入3位整数但不赋值给任何变量。然后再读入2位整数67赋值给变量b。
4).输入数据时不能规定精度,例如:
scanf(“%7.2d”,&a);
是不合法的,不能企图这样的scanf函数输入1234567而使得a的值为12345.67.
3.使用scanf应该注意的问题
1).scanf函数中的第二个参数应该是变量地址,而不是变量名。
2).如果在第一个参数中,除了格式说明以外还有其他字符,则在输入数据时在对应位置应输入与这些字符相同的字符。例如:
scanf(“%d,%d,%d\n”,&a,&b,&c);则在输入数据的时候也要输入‘,’;
scanf(“%d %d”,&a,&b);则在输入数据的时候也要输入两个(或多于两个)空格;
scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);同上
3).在用”%c”格式输入字符时,空格字符和“转义字符”都作为有效字符输入。例如,
scanf(“%c%c%c”,&a,&b,&c);
输入:ab c则系统会将'a'字符赋值给a变量,‘’空格字符赋值给b变量,‘b’字符赋值给c变量。
4).在输入数据时,遇到下列情况认为该数据结束.
a).遇到空格,或按回车(enter),或按跳格(tab);
b).按指定的宽度结束,如”%3d”,只取3列
c).遇非法输入。