-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
格式控制符
%d | 输出一个10进制的整数 |
%f | 输出一个实数类型的数据 |
%c | 输出一个字符 |
%s | 输出一个字符串 |
%o | 把一个数,以八进制的形式输出 |
%x | 把一个数,以十六进制的形式输出 |
%p | 输出地址 |
如果只打印小数点后两位
printf("f1 = %.2f\n",f1);
//%m.n格式
m表示总位数(列数)n表示小数点后的位数。
掌握%f输出的精度问题:
注意:%f打印出来后,小数点后是6位,有效数字是7位。也就是说7位以后的数字,不能保证是有效数字。这个精度只能是7位。
float默认输出6位小数。
double默认输出6为小数,但是有效数位是15位。
17-printf函数的使用注意事项
1、域宽问题
2、转义字符问题
1、域宽问题
printf的使用注意事项
1)%md问题
Printf("%d,10")
M - 数字,这个数字可以为正,也可以为负。如果要输出的数的位数>域宽m,按照数据的实际位数输出。
如果要输出的数的位数<域宽m 要补空格。从左侧开始补空格,
2)%0md使用注意
表示:不足部分补零。
3)\t \n \r \\ %%转义字符问题
\t是tab
8 scanf函数的介绍及使用
1、了解sacnf函数的使用
2、scanf函数重格式控制符介绍
1、scanf函数(阻塞式函数)
用于接受键盘输入的内容。
格式:sacnf("格式控制字符串",输入项地址列表)
格式控制符用百分号
需要接受数据的变量地址,
2、scanf函数格式控制符
格式 | 意义 |
d | 输入一个十进制整数 |
o | 输入一个八进制整数 |
x | 输入一个十六进制整数 |
i | 输入一个又符号或无符号的十进制、八进制、十六进制整数 |
u | 输入一个无符号十进制整数 |
f、e或E、g或G | 输入一个小数形或指数形式的浮点数 |
c | 输入一个字符 |
s | 输入一个字符串 |
scanf函数
如果使用这个函数,要包含一个头文件stdio.h
阻塞式函数:函数执行后,会等待用户的输入,如果用户不输入任何内容,它会一直等待。
作用:从键盘接受用户输入的内容
获取变量地址:用取地址符号&。
scanf使用注意事项
1)如果栽输入时,输入了多个空格、回车、TAb都会被系统忽略的。
2)如果要获取的内容是多个整数,中间输入了多个空格、回车、Tab都会被系统忽略的。
%d%d,要求我们在键盘上输入的时候,输入两个整数,并且以空格隔开,例如23 32
*使用:%*d跳过一个整数。
已知问题:整型和字符型混合输入不行。%d%c%d
scanf的运行原理:当用户输入内容后,用户输入的内容会被存放到scanf的输入缓冲区中。
然后,sacnf函数会根据格式控制的字符要求,从输入缓冲区依次取它想要的内容。
如果从缓冲区中取得的内容和我们的格式一致,则把值存放在变量中。
如果格式不一致,则不修改变量值。
如果缓冲区有内容,则不会提示我们在输入。
2运算符的概念和分类
按照功能划分:算是运算符、关系运算符与逻辑运算符、按位运算符(大多数是二进制间的运算)。
算数运算符是双目运算符,也就是说要两个数。
5.求余运算符
M%n
M=0 可以的,0
N=0 不可以的,无意义
求余双方不能为小数。
6.转换类型
隐式转换(系统自动转换)
强制类型转换()
Printf("%d\n",(int)(f1+num));
7.赋值运算符
表达式一定有返回值。
表达式语句:表达式后面加上分好,构成表达式语句。
注意:等号的左侧必须是一个变量。
++只能用在常量上,不能用在变量上。
例如r=++(a+3)这是不对的,因为a+3已经是常量了。
10.自增自减的优先级和结核性
A=1,b=2
R=a+++b++;
怎么分析上面的,因为a++是一个后置表达式,所以a的值会变成加2,b的值变成了加3,但是r的值只是还是3。
11.sizeof运算符
sizeof是一个单目运算符。作用是:计算常量、变量、数据类型
1)用sizeof计算常量再内存中占用的字节数。
sizeof(1)//计算常量1在内存中占用的字节数。
sizeof(2.3f)//占用的字节数是 4同int一样。
Sizeof(2.3)//占用的字节数是8,因为默认的是double类型。
char类型的常量存储,-128~127,以int类型的数据存储。
char类型的变量,以把字符串ASCII码转换成二进制(一个字节)进行存储。
例如:
Int ch='a';
Sizeof(ch)输出的结果是1,sizeof(a)输出的结果是4.
2)用sizeof运算符计算变量再内存中占用的字节数
3)sizeof用于计算某一种数据类型再内存中占用的字节数。
12.逗号表达式
1)用逗号连接表达式
2)逗号表达式求值过程:先逐个求表达式的值,然后把最后一个表达式返回。
15.关系运算符的结核性
只有优先级相同的情况下,才谈结合性。
16.逻辑运算符短路
A&&B 如果A为假(0),B就不执行了。这就是逻辑与短路。
17.三目运算符
格式:
表达式1?表达式2:表达式3;
运算顺序:
表达式1为真
表达式2的值,作为整个三目运算表达式的值。
表达式3的值,做为三目运算符的值返回。