一、程序框架
#include <iostream> #include <cstdio> using namespace std; int main() {
cout<<"Hello world!"<<endl; return 0; }
讯享网
1.头文件
include是英文单词“包含”的意思,<iostream>是一个用于输入输出流(input and output stream)的库,里面包含一系列可以用于输入、输出的方法。当我们写下这样一条语句就意味着我们可以使用iostream 中提供的 std::cin、std::cout、std::endl 等对象了。
C++ 为了和 C 保持兼容,可以直接使用部分 C 语言中的头文件,例如cstdio就是 C 语言中的stdio.h。cstdio允许我们使用 C 语言的标准输入输出scanf和printf等等。
2.命名空间
using是英文单词“使用” 的意思,namespace std表示我们要用到一个命名空间std,表示标准输入输出流。这样我们将std::cin替换为cin简化代码。
3.main()
可以理解为程序运行时就会执行 main() 中的代码,这是整个程序的入口。
最后的 return 0; 表示程序运行成功。默认情况下,程序结束时返回 0 表示一切正常,否则返回值表示错误代码如果不写 return 语句的话,程序正常结束默认返回值也是 0。在 C 或 C++ 中,程序的返回值不为 0 会导致运行时错误(RE)。
二、变量
1.概念
变量可以被看做一个盒子,每个盒子中可以存储一定的值。除了里面存储的值以外,还有三个重要的属性:
- 一个是变量类型,它规定了每个盒子的字节数和存储什么样的内容。
- 一个是变量名,它规定了我们可以如何称呼这个盒子,变量名必须以字母或者
_开头。 - 一个是作用域,它规定了变量发挥作用的代码块(用一对大括号包裹的若干语句称为一个代码块)。
- 定义在花括号包裹的地方的变量是局部变量,定义时没有初始化值的全局变量会被初始化为 0 0 0。作用域自定义之处起,至文件结束为止。
- 定义在没有花括号包裹的地方的变量是全局变量。局部变量不会自动初始化,需要手动赋初始值,否则可能引起难以发现的 bug。作用域自定义之处起,至代码块结束为止。
定义变量的规则是:
讯享网变量类型 变量名; int a; double b;
2.变量类型
(1)布尔类型
一个 bool 类型的变量取值只可能为两种:true 和 false。
一般情况下,一个 bool 类型变量占有 1 字节(一般情况下 1 字节 = 8 位)的空间。
(2)整型变量
整型变量用来存储整数,最基础最常用的数据类型是int。对于 int 关键字,可以使用如下修饰关键字进行修饰:
符号性,用来表示正负号:
signed:表示带符号整数(默认);unsigned:表示无符号整数。
大小,用来规定字节长度:
short:表示至少 16 位整数;long:表示至少 32 位整数;long long:表示至少 64 位整数。
(3)浮点类型
用于存储实数,包括以下三种:
float:单精度浮点类型,最大值 3.4 × 1 0 38 3.4\times10^{38} 3.4×1038,精度 6 ∼ 9 6\sim9 6∼9位。double:双精度浮点类型,最大值 1.8 × 1 0 308 1.8\times10^{308} 1.8×10308,精度 15 ∼ 17 15\sim17 15∼17位。long double:扩展精度浮点类型,最大值 1.2 × 1 0 4932 1.2\times10^{4932} 1.2×104932,精度 33 ∼ 36 33\sim36 33∼36位。
(4)字符类型
char类型一般为 8 位,底层存储的方式依然是整数,一般通过 A S C I I ASCII ASCII 码值表实现字符与数字的一一对应。
3.位宽与表示范围
下表给出在一般情况下,各个整数类型的名称、位宽和表示范围大小:
| 类型名 | 位宽 | 表示范围 |
|---|---|---|
bool |
8 | true、false |
short |
16 | − 2 15 ∼ 2 15 − 1 -2^{15}\sim2^{15}-1 −215∼215−1 |
unsigned short |
16 | 0 ∼ 2 16 − 1 0\sim2^{16}-1 0∼216−1 |
int、long |
32 | − 2 31 ∼ 2 31 − 1 -2^{31}\sim2^{31}-1 −231∼231−1 |
unsigned int、unsigned long |
32 | 0 ∼ 2 32 − 1 0\sim2^{32}-1 0∼232−1 |
long long |
64 | − 2 63 ∼ 2 63 − 1 -2^{63}\sim2^{63}-1 −263∼263−1 |
unsigned long long |
64 | 0 ∼ 2 64 − 1 0\sim2^{64}-1 0∼264−1 |
float |
32 | |
double |
64 | |
long double |
128 | |
char |
4 | 0 ∼ 127 0\sim127 0∼127 |
void |
0 |
4.赋值
=在 CPP 语言中被我们称作赋值运算符,可以用=将右侧的一个值赋值给左侧的一个变量,让变量这个盒子存储这一个值。
变量名=值; int a=1; double b; b=1.0;
5.常量
常量是固定值,在程序执行期间不会改变。常量的值在定义后不能被修改。定义时加一个 const 关键字即可。
讯享网const int a=3;
如果修改了常量的值,在编译环节就会报错。
三、输入输出
1.cin与cout
无论什么类型的变量都可以通过cin和cout来直接输入输出,当然输入要符合对应变量的规则。cin会自动忽略变量之间的空格和回车。
输入输出多个变量的时候,需要用>>符号来连接。endl用来表示回车。
int a,b; double c; cin>>a>>b>>c; cout<<a<<" "<<b<<" "<<c<<endl;
2.scanf和printf
scanf 与 printf 其实是 C 语言提供的函数。大多数情况下,它们的速度比 cin 和 cout 更快,并且能够方便地控制输入输出格式。与之对应的,使用起来会更加复杂一些。它们的格式如下:
讯享网int a; scanf("请读入一个整数:%d",&a); printf("%d\n",a); double b; long long c; scanf("%lld %lf",&b,&c); print("这个浮点数是:%lf\n这个长整型数是:%lld\n",b,c); char str[10]; scanf("%s",str); printf("这个字符串是:%s\n",str);
- 在读入的时候需要在变量名前面添加取地址符
&,字符串除外;而输出的时候不需要,只需要写出变量名即可。 - 引号中的内容是下面的符号,除了以
%和\开头的特殊符号以外,引号内的内容会原样输出。\是转义字符,如果想打出反斜杠则需要写成\\。 scanf读入字符的时候不会自动忽略空格和回车;但是在读入别的数据类型的时候会自动忽略空格和回车。
| 符号 | 类型 |
|---|---|
%s |
char []类型 |
%c |
char类型 |
%lf |
double类型 |
%d |
int类型 |
%lld |
long long类型 |
除了类型标识符以外,还有一些控制格式的方式。许多都不常用,选取几个常用的列举如下:
%1d表示长度为 1 的整型。在读入时,即使没有空格也可以逐位读入数字。在输出时,若指定的长度大于数字的位数,就会在数字前用空格填充。若指定的长度小于数字的位数,就没有效果。%.6lf,用于输出,保留六位小数。\n,用于换行一次。\t,用于打印一个制表符。
四、作业
【入门1】顺序结构

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/59640.html