日志2
一、输出十进制整数1234对应的八进制和十六进制。
#include<iostream> using namespace std; int main() { printf("%#o ",1234); printf("%#X",1234); return 0; }
注释:
1.对于 printf("%#o ",1234);:
%#o 是格式控制字符串。其中 %o 表示以八进制无符号整数形式输出数据,而 # 是一个修饰符,当与 %o 一起使用时,会在输出的八进制数前面加上 0 作为前缀,使得输出形式更规范,更能体现是八进制数的输出。所以这条语句会将整数 1234 以八进制形式(并带有 0 前缀)输出到控制台。
2.对于 printf("%#X",1234);:
%#X 是格式控制字符串。其中 %X 表示以十六进制大写字母形式输出数据,同样 # 修饰符在此处的作用是,在输出的十六进制数前面加上 0X 作为前缀,以明确表示是十六进制数的输出。所以这条语句会将整数 1234 以十六进制形式(并带有 0X 前缀)输出到控制台。
二、十六进制转十进制
#include<stdio.h> int main() { printf("%15d\n",0xABCDEF); return 0; }
注释:
格式控制字符串 %15d 的含义如下:
• %d 表示以十进制整数形式输出后面的参数。
• 15 是一个宽度指定符,它表示输出的十进制整数应该占据至少15个字符的宽度。如果实际输出的整数位数小于15,那么会在左边填充空格来达到15个字符的宽度要求。
• 0xABCDEF 是一个十六进制数,在C语言中,以 0x 开头的数表示十六进制数。这里将十六进制数 0xABCDEF 按照指定的十进制格式及宽度要求输出到控制台,并且输出后换行(因为格式控制字符串最后还有 \n,它是换行符)。
三、变量
常用的数据类型
布尔型 bool 占用字节 1 范围0、1
字符型 char 占用字节 1 范围-128·~127
整型 int 占用字节 4 范围-2^31~2^31-1
浮点型 float 占用字节 4 范围6~7位
双浮点型 double 占用字节 8 范围15~16位
长整型 long long 占用字节 8 范围-2^63~2^63-1
长双精度型 long double 占用字节 16 范围18~19位
四、浮点数保留三位小数
#include<iostream> using namespace std; int main() { float a; scanf("%f",&a); printf("%.3f", a); return 0; }
注释:
C语言中
可以使用%f格式说明符,并通过指定精度来保留三位小数。
在%.3f中,%f表示以浮点数形式输出,小数点后的3表示要保留三位小数。
#include <iostream> #include <iomanip> using namespace std; int main() { double num = 3.14159; cout <<fixed <<setprecision(3) << num; return 0; }
注释:
C++中
使用iostream库(C++标准库)和setprecision函数
•需要包含<iostream>和<iomanip>头文件。
1.fixed表示以固定点格式(小数形式)输出。
2.std::setprecision(3)指定了要保留的小数位数为3。
五、字符输入输出
变量用char
C语言输出用%c
#include<iostream> using namespace std; int main() { char a; cin >>a; cout<<a; return 0; }