2025年1.CPP基本介绍

1.CPP基本介绍一 程序框架 include iostream include cstdio using namespace std int main cout lt lt Hello world lt lt endl return 0 1 头文件 cstdio iostream

大家好,我是讯享网,很高兴认识大家。

一、程序框架

#include <iostream> #include <cstdio> using namespace std; int main() { 
    cout<<"Hello world!"<<endl; return 0; } 

讯享网

1.头文件

include是英文单词“包含”的意思,<iostream>是一个用于输入输出流(input and output stream)的库,里面包含一系列可以用于输入、输出的方法。当我们写下这样一条语句就意味着我们可以使用iostream 中提供的 std::cinstd::coutstd::endl 等对象了。

C++ 为了和 C 保持兼容,可以直接使用部分 C 语言中的头文件,例如cstdio就是 C 语言中的stdio.hcstdio允许我们使用 C 语言的标准输入输出scanfprintf等等。

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 类型的变量取值只可能为两种:truefalse

一般情况下,一个 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 69位。
  • double:双精度浮点类型,最大值 1.8 × 1 0 308 1.8\times10^{308} 1.8×10308,精度 15 ∼ 17 15\sim17 1517位。
  • long double:扩展精度浮点类型,最大值 1.2 × 1 0 4932 1.2\times10^{4932} 1.2×104932,精度 33 ∼ 36 33\sim36 3336位。

(4)字符类型

char类型一般为 8 位,底层存储的方式依然是整数,一般通过 A S C I I ASCII ASCII 码值表实现字符与数字的一一对应。

3.位宽与表示范围

下表给出在一般情况下,各个整数类型的名称、位宽和表示范围大小:

类型名 位宽 表示范围
bool 8 truefalse
short 16 − 2 15 ∼ 2 15 − 1 -2^{15}\sim2^{15}-1 2152151
unsigned short 16 0 ∼ 2 16 − 1 0\sim2^{16}-1 02161
intlong 32 − 2 31 ∼ 2 31 − 1 -2^{31}\sim2^{31}-1 2312311
unsigned intunsigned long 32 0 ∼ 2 32 − 1 0\sim2^{32}-1 02321
long long 64 − 2 63 ∼ 2 63 − 1 -2^{63}\sim2^{63}-1 2632631
unsigned long long 64 0 ∼ 2 64 − 1 0\sim2^{64}-1 02641
float 32
double 64
long double 128
char 4 0 ∼ 127 0\sim127 0127
void 0

4.赋值

=在 CPP 语言中被我们称作赋值运算符,可以用=将右侧的一个值赋值给左侧的一个变量,让变量这个盒子存储这一个值。

变量名=; int a=1; double b; b=1.0; 

5.常量

常量是固定值,在程序执行期间不会改变。常量的值在定义后不能被修改。定义时加一个 const 关键字即可。

讯享网const int a=3; 

如果修改了常量的值,在编译环节就会报错。

三、输入输出

1.cincout

无论什么类型的变量都可以通过cincout来直接输入输出,当然输入要符合对应变量的规则。cin会自动忽略变量之间的空格和回车。

输入输出多个变量的时候,需要用>>符号来连接。endl用来表示回车。

int a,b; double c; cin>>a>>b>>c; cout<<a<<" "<<b<<" "<<c<<endl; 

2.scanfprintf

scanfprintf 其实是 C 语言提供的函数。大多数情况下,它们的速度比 cincout 更快,并且能够方便地控制输入输出格式。与之对应的,使用起来会更加复杂一些。它们的格式如下:

讯享网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); 
  1. 在读入的时候需要在变量名前面添加取地址符 &,字符串除外;而输出的时候不需要,只需要写出变量名即可。
  2. 引号中的内容是下面的符号,除了以%\开头的特殊符号以外,引号内的内容会原样输出。\是转义字符,如果想打出反斜杠则需要写成\\
  3. scanf读入字符的时候不会自动忽略空格和回车;但是在读入别的数据类型的时候会自动忽略空格和回车。
符号 类型
%s char []类型
%c char类型
%lf double类型
%d int类型
%lld long long类型

除了类型标识符以外,还有一些控制格式的方式。许多都不常用,选取几个常用的列举如下:

  1. %1d 表示长度为 1 的整型。在读入时,即使没有空格也可以逐位读入数字。在输出时,若指定的长度大于数字的位数,就会在数字前用空格填充。若指定的长度小于数字的位数,就没有效果。
  2. %.6lf,用于输出,保留六位小数。
  3. \n,用于换行一次。\t,用于打印一个制表符。

四、作业

【入门1】顺序结构

小讯
上一篇 2025-02-20 17:18
下一篇 2025-01-11 14:57

相关推荐

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