大一/c语言/数据的存储与读入

变量

数据类型

数据类型 解释
int $-2^{31}\sim2^{31}-1$
short $-2^{15}\sim2^{15}-1$
long long $-2^{63}\sim2^{63}-1$
float 7位有效数字
double 15位有效数字
char [] 字符数组(c)
string 字符串(c++)
bool 布尔类型(0/1)

用$\rm sizeof(element)$来显示字节数

1
2
3
4
5
(int)a;
(int)(x+y); 强制类型转换,运算必须同类型

char c风格字符串 ''
string c++风格字符串 ""

转义字符

1
2
3
4
5
6
7
8
\f 换页
\n 换行,下一行首
\r 回车,留在当前行首
\t Tab
printf("shiwei\rpsw");
result: pswwei
\\ 代表'\'
同理\",\?,\'

c

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include<stdio.h>

f(format)格式

printf("s ss%f",5.0/3.0)
s ss1.666667//空格也算
%d 十进制有符号整数
  %u 十进制无符号整数
  %f 浮点数
%lf double浮点数
  %s 字符串
  %c 单个字符
  %p 指针的值
  %e 指数形式的浮点数
  %x, %X 无符号以十六进制表示的整数
%% 百分号
可以在"%"和字母之间的数字表示最大场宽。
例如: %3d 表示输出3位整型数, 不够3位右对齐
int v=25;
printf("%8d",v);
25
%9.2f 表示输出场宽为9的浮点数, 其中小数位为2, 整数位为6, 小数点占一位, 不够9位右对齐(包括小数点)
%.0f 四舍五入保留整数
%8s 表示输出8个字符的字符串, 不够8个字符右对齐。
输出 string 对象中的字符串,可以使用 string 的成员函数 c_str() ,该函数返回字符串的首字符的地址
string v="psw";
printf("%8s",v.c_str());
psw
char v[10]="psw"; 字符数组
如果需要用0补位的话,这样写
printf("%03d",a);


scanf("%d%d",&a,&b)
&是取址运算符,告诉变量存在哪里

c++

1
2
3
4
5
6
7
8
9
#include<iostream>

int a;
cin>>a;
cout<<a;

cin,cout输入输出流
>>提取 <<插入
\endl换行

运算

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
cout<<8/3;
5
cout<<8.0/3
2.66667
stream manipulator操作器,操纵符
#include<iomanip>
setbase(n) 设置整数为n进制(n=8,10,16)

cout<<setprecision(8)<<8.0/3;
2.6666667

cout<<fixed<<setprecision(8)<<8.0/3;
2.66666667\\八位小数

cout << std::setw(3) << x << '\n';//set width
cout.imbue(locale(""));//1,000,000,000
//括号内的为国家(按国家习惯输出)
%取模

位运算可和数字和bool一起,而逻辑运算只有bool

赋值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int a,b;
a=b=3;;简单赋值

+= -= *= /=(复合算术赋值)
&= |= ^\ >>= <<=(复合位运算赋值)
i++/++i(先自增再运算)

常量
const int X=2;

int i;
char i1='i';
i1-=32;
i='i';
cout<<i<<endl;
cout<<i1;
-32变大写
输出ASCII码(哈希表)
Shiwei Pan wechat