强制类型转换- (类型)表达式 一元运算符 (将一个类型强制转化为 用户指定的类型)
eX
int total,number;
float aver;
aver = (float)total/ number; //不改变 total的类型值
#include <stdio.h>//编译预处理指令 :在编译之前进行的处理
printf(格式控制字符串,输出值参数表)
printf("a = %d b=%f",a,b);
scanf(格式控制字符串,输入地址表)
scanf("%d%f",&a,&b);
scanf("%7.2f",&a) 错 ,指定位宽 但不可指定精度
%d %f转换说明 指定输出数据的格式
输出参数类型应与格式转换 说明符相匹配
%e 以标准指数形式 输出 float double 型
1.030000e+001 等于 1.03*10^1
%f 告诉编译器 scanf()在改地址存储一个 float型 数
%lf 告诉编译器 scanf()在该地址存储 一个 double 型 数
scanf函数中: * 表示 输入项再读入后 不赋值给相应变量 (跳过输入项)
scanf("%2d%*2d%2d", &a,&b);
当输入 123456
此时12赋值给 a,56赋值给b 由于遇到 *跳过两个字符项
B的 ASCII码 值是
十进制 66
八进制 0 102 =2*8^0+0*8^1+1*8^2
十六进制 0X42 =2*16^0+2*16^1
用 %c格式读入字符时 空格和回车等空白字符都会被当做有效字符读入
long a=10;
printf("%ld",a); //输出 长整型
short a=10;
printf("%hd",a);//输出 短整型
m 数据占用的最小 域宽
数据位宽 小于m时 右对齐 左补空格
-m 左对齐,右补空格
显示精度.n 对浮点数 表示输出 n位小数
%.nf
%10.0f 表示不输出小数 右对齐
printf("请输入 data1+data2\n");
scanf("%d %c %d",&data1, &op, &data2); //当输入空格 或者 回车符时程序出错
//解决问题是 在%c前面 加上空格符 忽略用户输入的空白字符和回车符