C/C++学习笔记 基础入门系列(二)

C/C++基础入门系列

写在前面的话

C++学了一段时间了,现在在整理笔记,作为备份和分享,会一点点的连载上来,如果此时的你在看这篇文章,而且想学C/C++,本篇系列文章或许能帮助你打基础,为了方便大家,代码我也直接码在上面了,如果复制粘贴都懒得做的话,过段时间我会把整理好的代码打包传到下载里面。

目录

第一部分 HelloWorld的起点
第二部分 初探数据类型(一)
第三部分 初探数据类型(二)
第四部分 认识运算符(一)
第五部分 认识运算符(二)
第六部分 理清思路,写好逻辑结构(一)
第七部分 理清思路,写好逻辑结构(二)

第二部分 初探数据类型(一)

二、数据类型(一)

C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存

2.1 整型

作用: 整型变量表示的是整数类型的数据

C++中能够表示整数型的类型有一下几种方式,区别在于所占内存空间不同

数据类型 占用空间 取值范围
short(短整型) 2字节 -215~215 -1
int(整型) 4字节 -231~231-1
long(长整型) Windows为4字节、Linux为4字节(32位),8字节(64位) -231~231-1
long long(长长整型) 8字节 -263~263-1

注意: 一定要注意变量类型来存储对应数据,避免数据溢出,例如 short a = 32738 , 会溢出,实际为-32768

2.2 sizeof关键字

作用: 利用sizeof关键字可以统计数据类型所占用的内存大小

语法:sizeof(数据类型/变量)

示例:

#include<iostream>

using namespace std;

int main() {

	short a;
	int b;
	long c;
	long long d;

	cout << sizeof(short) << endl << sizeof(int) << endl << sizeof(long) << endl << sizeof(long long) << endl << endl;

	cout << sizeof(a) << endl << sizeof(b) <<endl << sizeof(c) << endl << sizeof(d) << endl;

	system("pause");

	return 0;
}

总结:short < int ≤ long ≤ long long

2.3 实型(浮点型)

作用: 表示小数

浮点变量分为两种:

  • 单精度浮点型
  • 双精度浮点型

两者区别在于有效数字范围不同

数据类型 占用空间 有效数字范围
float 4字节 7为有效数字
double 8个字节 15~16位有效数字

示例:

#include<iostream>
using namespace std;

int main() {

	float f1 = 3.14f;
	double d1 = 3.14;

	cout << "f1 = " << f1 << endl;
	cout << "d1 = " << d1 << endl;

	f1 = 3.1415926535f;
	d1 = 3.1415926535;

	cout << endl << "f1 = " << f1 << endl;
	cout << "d1 = " << d1 << endl << endl;

	cout << sizeof(f1) << endl << sizeof(d1) << endl;

	// 科学计数法
	cout << endl << 3e2 << endl << 3e-2 << endl;

	system("pause");

	return 0;
}

注意:

  • float 需要在数值后面加上 f,否则会被认为是double型,如下图

在这里插入图片描述
在这里插入图片描述

  • 默认输出最高保留六位有效数字

  • 科学计数法xen 表示 x*10^n,默认为double型

    在这里插入图片描述

    在这里插入图片描述

2.4 字符型

作用: 用于显示单个字符

语法:char ch = 'a';

注意1:在定义字符变量时,要用单引号括起来,不要用双引号

注意2:单引号内只能有一个字符,不可以是字符串

  • C和C++字符型变量只占用1个字节
  • 字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII码放入存储单元

示例:

#include<iostream>
using namespace std;

int main() {

	char ch = 'a';

	cout << ch << endl;
	cout << sizeof(ch) << endl;

	cout << (int)ch << endl;	// 查看ASCII码

	//ch = "a";				// 报错
	//ch = 'chinese';

	cout << (int)'a' << endl;
	cout << (int)'A' << endl;

	system("pause");

	return 0;
}

ASCII码表格:

ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符
0 NUT 32 (space) 64 @ 96
1 SOH 33 ! 65 A 97 a
2 STX 34 " 66 B 98 b
3 ETX 35 # 67 C 99 c
4 EOT 36 $ 68 D 100 d
5 ENQ 37 % 69 E 101 e
6 ACK 38 & 70 F 102 f
7 BEL 39 , 71 G 103 g
8 BS 40 ( 72 H 104 h
9 HT 41 ) 73 I 105 i
10 LF 42 * 74 J 106 j
11 VT 43 + 75 K 107 k
12 FF 44 , 76 L 108 l
13 CR 45 - 77 M 109 m
14 SO 46 . 78 N 110 n
15 SI 47 / 79 O 111 o
16 DLE 48 0 80 P 112 p
17 DCI 49 1 81 Q 113 q
18 DC2 50 2 82 R 114 r
19 DC3 51 3 83 S 115 s
20 DC4 52 4 84 T 116 t
21 NAK 53 5 85 U 117 u
22 SYN 54 6 86 V 118 v
23 TB 55 7 87 W 119 w
24 CAN 56 8 88 X 120 x
25 EM 57 9 89 Y 121 y
26 SUB 58 : 90 Z 122 z
27 ESC 59 ; 91 [ 123 {
28 FS 60 < 92 / 124 |
29 GS 61 = 93 ] 125 }
30 RS 62 > 94 ^ 126 `
31 US 63 ? 95 _ 127 DEL

特殊字符解释:

NUL空 VT 垂直制表 SYN 空转同步
STX 正文开始 CR 回车 CAN 作废
ETX 正文结束 SO 移位输出 EM 纸尽
EOY 传输结束 SI 移位输入 SUB 换置
ENQ 询问字符 DLE 空格 ESC 换码
ACK 承认 DC1 设备控制1 FS 文字分隔符
BEL 报警 DC2 设备控制2 GS 组分隔符
BS 退一格 DC3 设备控制3 RS 记录分隔符
HT 横向列表 DC4 设备控制4 US 单元分隔符
LF 换行 NAK 否定 DEL 删除

ASCII码大致有以下两部分组成:

  • ASCII非打印控制字符:ASCII表上的数字0-31分配给了控制字符,用于控制箱打印机等一些外围设备
  • ASCII打印字符:数字32-126分配给了能在键盘上找到的字符,当查看或打印文档时就会出现
发布了19 篇原创文章 · 获赞 27 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_39828850/article/details/104809929