1 控制输入输出进制
进制 | 符号 |
---|---|
八进制 | oct |
十进制 | dec |
十六进制 | hex |
int main(){
int a,b;
cin>>hex>>a; //输入一个十六进制数a
cin>>oct>>b; //输入一个八进制数b
cout<<dec<<a<<end; //输出一个十进制数a
cout<<b; //输出一个十进制数b
2 printf()函数
printf 函数的原型为:
#include <stdio.h>
int printf(const char *format, …);
使用printf()函数要包含头文件<stdio.h>
2.1 printf()函数的格式
printf 的格式有四种:
(1) printf(“字符串\n”);
其中,\n表示换行
(2) printf(“输出控制符”,输出参数);
(3) printf(“输出控制符1 输出控制符2…”, 输出参数1, 输出参数2, …);
(4) printf(“输出控制符 非输出控制符”,输出参数);
例子:
# include <stdio.h>
int main(void)
{
//1)printf("字符串\n");
printf("Hello World!\n"); //输出:Hello World!
//2)printf("输出控制符",输出参数);
int i = 10;
printf("%d\n", i); //输出:10
//3)printf("输出控制符1 输出控制符2…", 输出参数1, 输出参数2, …);
int i = 10;
int j = 3;
float k=4.5
printf("%d %d %f\n", i, j,k); //输出:10 3 4.5
//4) printf("输出控制符 非输出控制符",输出参数);
printf("i = %d, j = %d\n", i, j); //输出:i = 10, j = 3
return 0;
}
2.2 输出控制符
输出控制符 | 说明 |
---|---|
%d | 按十进制整型数据的实际长度输出。 |
%ld | 输出长整型数据。 |
%md | m 为指定的输出字段的宽度。如果数据的位数小于 m,则左端补以空格,若大于 m,则按实际位数输出。 |
%u | 输出无符号整型(unsigned)。输出无符号整型时也可以用 %d,这时是将无符号转换成有符号数,然后输出。但编程的时候最好不要这么写,因为这样要进行一次转换,使 CPU 多做一次无用功。 |
%c | 用来输出一个字符。 |
%f | 用来输出实数,包括单精度和双精度,以小数形式输出。不指定字段宽度,由系统自动指定,整数部分全部输出,小数部分输出 6 位,超过 6 位的四舍五入。 |
%.mf | 输出实数时小数点后保留 m 位,注意 m 前面有个点。 |
%o | 以八进制整数形式输出。 |
%s | 用来输出字符串。用 %s 输出字符串同前面直接输出字符串是一样的。 |
%x(或 %X 或 %#x 或 %#X) | 以十六进制形式输出整数 |
1、控制输出位数
#include<stdio.h>
int main()
{
int a = 12;
int b = 42463;
float c = 3.457;
printf("%3d,%4d,%.1f\n", a, b, c); //输出: 12,42463,3.5
//注意:12前有一个空格
return 0;
}
2、%x、%X、%#x、%#X 的区别
(1)如果是小写的x,输出的字母就是小写的;如果是大写的X,输出的字母就是大写的;
(2)如果加一个#,就以标准的十六进制形式输出。
#include <stdio.h>
int main()
{
int i = 47;
printf("%x\n", i); //输出:2f
printf("%X\n", i); //输出:2F
printf("%#x\n", i); //输出:0x2f
printf("%#X\n", i); //输出:0x2F
return 0;
}