1.用scanf语句输入int(要求键盘输入字符数字等)
char a;
char b[20];
scanf("%c",&a); //只能输入一个字符。
scanf("%s",b); //可以输入一串不超过20字符的字符串。
%c对应类型为char, %s对应类型为char * , 即字符串.
用作输入时, 二者参数都要传char * 型.
%c输入函数只会对一个字节空间赋值. 而%s会一直赋值,直到输入中遇到空白字符为止.
用作输出时, %c传char类型,输出一个字符. %s传char*类型参数, 输出到\0为止.
%c只能输出或输入一个字符,%s输出的是一串字符还有就是char a; string s;
输入的时候scanf("%c", &a);这里的&不能少
而scanf("%s",s);这里不能有&符号
转换说明符
%a(%A) 浮点数、十六进制数字和p-(P-)记数法(C99)
%c 字符
%d 有符号十进制整数
%f 浮点数(包括float和doulbe)
%e(%E) 浮点数指数输出[e-(E-)记数法]
%g(%G) 浮点数不显无意义的零"0"
%i 有符号十进制整数(与%d相同)
%u 十进制数输出unsigned型数据(无符号数)。注意:%d与%u有无符号的数值范围,也就是极限的值,不然数值打印出来会有误。
%o 八进制整数 e.g. 0123
%x(%X) 十六进制整数0f(0F) e.g. 0x1234 或输出字符串的地址
%p 指针
%s 字符串 指向内存里面的内容
%% "%"
标志
左对齐:"-" e.g. "%-20s"
右对齐:"+" e.g. "%+20s"
格式字符串(格式)
〔标志〕〔输出最少宽度〕〔.精度〕〔长度〕类型
"%-md" : 左对齐,若m比实际少时,按实际输出。
"%m.ns" : 输出m位,取字符串(左起)n位,左补空格,当n>m or m省略时m=n
"%m.nf" : 输出浮点数,m为宽度,n为小数点右边数位
"%3.1f" : 输入3852.99 输出3853.0
int型(整数)
int a,b;
scanf("%d,%d",&a,&b);
float型(小数)
float a,b;
scanf("%f,%f ",&a,&b);
double型(更多小数)
double a,b;
scanf("%lf,%lf",&a,&b);
char型(字符)
char a,b;
scanf("%c,%c",&a,&b);
2.getchar()语句:从键盘上得到字符
putchar()语句:将字符呈现在屏幕上
3.#include<math,h>
4.%m.nf
m:输出的数字占m格;多的格子为空格;m前有负号空格在后
n:小数点后面占n格
小数点也算一格
5.%e
以科学计数法表现
比如:1.23456e+002厘米
123.456=1.23456*10的二次方
默认小数点后6位数
e+00X占5个格
6.(int)(表込式)
將表达式结果强制转成整型(即抹去表达式结果中的小数点)
输入一个大于0小于999的可以带小数的数字
int main()
并输出其个位、十位以及百位数字。
#include<stdio.h>
int main()
{
double a;
int ge,shi,bai;
scanf("%lf",&a);
bai=(int)(a/100);
shi= (int)((a-bai* 100)/10);
ge=(int)(a-bai* 100-shi* 10);
printf("个位数字%d\n",ge);
printf("十位数字%d\n",shi);
printf("百位数字%d\n",bai);
return 0;
}