首页 > 编程语言 >C++入门教程

C++入门教程

时间:2023-06-22 19:22:40浏览次数:57  
标签:int 入门教程 long C++ 数组 格式 main

C++入门教程

---------------------------------------------------------- 一. 初识C++ ---------------------------------------------------------

1. 什么是C++.

c++是一种较为基础的编程语言,虽然没有Python,Scratch那么高级,但是它应用范围很广.不论是信息奥赛还是国家考试,都会出现它的身影.所以,学好c++成了入门计算机的第一步

2. C++的编译.

所有的c++代码都需要编译成EXE文件.这里推荐几款好用而又著名的编译器:

(1) Devc++

(2) CodeBlocks

(3) Visual Studio Code

3. 基本格式.

#include<bits/stdc++.h>//头文件,这个是万能的
#include<iostream>//头文件
using namespace std;//命名空间
int main()//main主函数
{
	return 0;//返回函数,考试必须写
}

----------------------------------------------------- 二. C++的基本语法 -------------------------------------------------------

1. 命名变量.

在我们做数学题的时候,经常会碰到设未知数的问题.这个"未知数"有点像我们的变量,是随机的.

格式: <类型名> + '空格' + <变量名>

例如:

int a;//int 类型,是整数型,范围:-2147483647~2147483647;
double b;//double 类型,是浮点(小数)型;
long long c;//long long 类型,长整型,大约能存到18,19位;
char d;//char 类型,字符形式,至于什么是字符形式,大家可以上网查一下ASCII码表;
string str;//string 类型,是字符串型,可以想象成是很多个char连在一起;
bool n;//布尔值,即 0 或 1 ;

2. 输入输出.

在我们运行其他的程序时,都会看见上面有一行一行的文字,这就使我们想到:我们在编程序时,如何输入输出呢?下面,给几个例子给大家.

(1) 格式化输入输出.

scanf("");
printf("...(你想说的东东)");

其中,scanf的括号中的双引号中的内容可以是你想输入的变量.
例如:

  • %d 指的是 int 类型的数;

  • %c 指的是 char 类型的数;

  • lld 指的是 long long 类型的数;
    但是,格式化输入输出的应用并不是很广,大家把重点放在下一条上.

(2) 流输入输出.

cin>>k>>p>>o;
cout<<"言吾MYB是大傻瓜"<<"你好,我是言吾MYB"<<o<<endl;

其中, <<>> 后可以加无限多的东西.

  • 虽然流输入输出更加方便快捷,但是速度会更慢.
    如果想达到同样的效果,需加上这一句话:
std::ios::sync_with_stdio(false);

就能提高速度啦!

  • 补:
    之前,大家在代码中碰到了这样的东西:
<代码>//...

那么,这个 //... 是什么东东呢??

它叫做注释,是写代码的人为了让他人理解代码写的玩意.

// 后面的内容,编译器都是不看的.

前面我们已经讲到了输入输出,那么如何运算呢?今天,我们将继续学习基本运算.

3. 基本运算.

(1) 加减乘除.

加减乘除和数学运算一样,例如:

c=a+b;//将a+b的值给c;
c=a*b;
c=a/b;
c=a-b;
  • 其中,被赋值的数放在等号的左边

注:

  1. 当某数自身加减时,可用 <某数>+=<加上的数><某数>=<某数>+<加上的数> 来解决.

  2. 特别的,当自身加一时,可用 <某数>++ 的形式来解决.

(2) 判断运算.

当我们想要判断这个式子是否正确时,就需要用到判断语句.
格式:

if(<判断的式子>==<结果>)//判断是否等于.
{
	<写下你想做的事情>
}
if<判断的式子>>=<结果>)//判断是否大于等于.
{
	<写下你想做的事情>
}
.....

总之,运算符有以下几种:

>= > !(非,不是,也就是为0)
<= < ?
== !=(不等于) ......
  • 其中,若这个式子不成立,则TA的值为0;反之,为1.

(3) 循环运算.

在我们编程的过程中,难免会碰到循环的情况,如循环算数等.

1) while

格式:

while(<判断>)
{
	<写上你要写的内容>
}
  • 注:

1.<判断>的内容为判断的算式,前面讲过.
2.判断的算式既可以是一个式子(例如: a+b==1 ),也可以是一个数字,其中除了 0 的值为0以外,其他全是1.

2) for(重点)

格式:

for(<起始点>;<终点>;<自加>)
{
    <写上你要写的内容>
}

例如:

for(int i=1;i<=100;i++)
//句子的意思是:
//定义一个 i ,从 1 开始,一直加到 100 ,每次自加 1 ;
{
    sum++;
}

所以,for语句相当于:

int i=<起始点>;
while(i<=<界限>)
{
    <写上你要写的内容>
    i++;//<自加>
}

4. 数组(重点)

1) 定义及用法.

(一) 一维数组

格式:

int a[100];
// 定义数组a,大小为100;
int b[200];
char c[1000];
long long d[2618];
等等.

用法
(1). 循环输入
例:循环输入一组数据,输出他们的和.
代码:

#inclde<bits/stdc++.h>
using namespace std;
int a[101];
int n;
long long sum=0;
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
        sum+=a[i];
    }
    cout<<sum;
    return 0;
}

(2). 循环输入+排序
例:输入一组数据,输出它的从小到大的排序
代码:
*具体算法后面会讲解.

#inclde<bits/stdc++.h>
using namespace std;
int a[101];
int n;
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
        cin>>a[i];
    sort(a+1,a+1+n);
    for(int i=1;i<=n;i++)
        cout<<a[i];
    return 0;
}

(二) 二维数组

格式:

int a[10][14514];
// 定义a二维数组,大小为10*14514.
char k[14514][666];
long long kkk[1526][5];
等等.

用法:
保存图,二维数据等等,不举例.

  • 补:上节课,我们讲了一维数组和二维数组,但是,有没有三维数组和其他数组吗?
    答案是有.
    格式:
    <数据类型> + 空格 + <数据名称>[第一维][第二维][第三维]...[第 n 维];
    表示方法为:
    <数据名称> + [][][]...[];

5. 函数(超重点)

格式:

<数据类型> + 空格 + 函数名称(任意名称) + `(` + <多个变量> + `)`
{
    
}

在学习的时候,我们看到,主程序的开头是:

int main()
{
    return 0;
}

6. 结构体

有时,我们会碰到一个物体的几种信息,例如一个学生的语文,数学,英语成绩.这时,我们就要用到结构体来存储信息.
格式:

struct <结构体名称>
{
    <结构体成员列表>
};
// 其中,“;"的前面可以加上你要定义的变量,如a[10];

也可以这样定义变量:<结构体名称> + 空格 + 变量名称;
例:
输入一组学生的成绩:语文,数学,英语,输出其总成绩.
代码:

#include<bits/stdc++.h>
using namespace std;
int n;
struct chengji
{
    int chi,ma,en;
    int total;
}a[101];
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i].chi>>a[i].ma>>a[i].en;
        total=a[i].chi+a[i].ma+a[i].en;
    }
    for(int i=1;i<=n;i++)
        cout<<a[i].total<<' ';
    return 0;
}

7. 其他一些东西

C++的基本教程,基本上已经学完,但是,有一些细节还需要讲一下.

(1) 井号键.

眼下,井号键后面跟两种:include 和 define;
#define格式:
#define <被替代的代码> <替换的代码>

  • 注意,后面不加分号.

(2) 函数.

函数尽量写在组函数的前面,并且函数可以互相调用.

标签:int,入门教程,long,C++,数组,格式,main
From: https://www.cnblogs.com/tlmyb/p/17498186.html

相关文章

  • UE5 C++ TArray
    概述TArray是UE4中最常用的容器类。其速度快、内存消耗小、安全性高TArray类型由两大属性定义:元素类型和可选分配器元素类型是存储在数组中的对象类型。TArray被称为同质容器。换言之,其所有元素均完全为相同类型。单个TArray中不能存储不同类型的元素。分配器常被省略,默......
  • c++ doctest 测试报告
    地址https://github.com/laolang2016/doctest-reports效果未完成事项状态筛选没做只做了dashboard,其他两个页面还是空白四栏确实有点多了,数据应该纵向展示jquery果然还是比较墨迹,下一个版本使用vue......
  • Delete vector contents and free up memory in C++
     DeletevectorcontentsandfreeupmemoryinC++Thispostwilldiscusshowtodeletethevector’scontentsandfreeupthememoryallocatedbythevectortostoreobjectsinC++.1.Using vector::clear functionWecanusethe vector::clear......
  • visual studio 2022 c++ doxygen风格注释
    设置工具/选项/文本编辑器/C/C++/代码样式/常规注释效果输入/**添加注释鼠标停靠注释预览......
  • C++面试八股文:用过STL吗?
    某日二师兄参加XXX科技公司的C++工程师开发岗位第21面:面试官:用过STL吗?二师兄:(每天都用好吗。。)用过一些。面试官:你知道STL是什么?二师兄:STL是指标准模板库(StandardTemplateLibrary),是C++区别于C语言的特征之一。面试官:那你知道STL的六大部件是什么?二师兄:分别是容器(container......
  • C++面试八股文:了解auto关键字吗?
    C++面试八股文:了解auto关键字吗?某日二师兄参加XXX科技公司的C++工程师开发岗位第15面:面试官:了解auto关键字吗?二师兄:嗯,了解一些(我很熟悉)。面试官:说一说auto的用法吧?二师兄:auto主要是为了编译器进行类型推导。比如:autoi=42; //i被推导位int型std::vector<int>vi......
  • 现代C++学习指南-具体类
    类作为C++中重要的概念之一,有着众多的特性,也是最迷人的部分!类是一个加工厂,开发者使用C++提供的各种材料组装这个工厂,使得它可以生产出符合自己要求的数据,通过对工厂的改造,可以精细控制对象从出生到死亡的各种行为,真正达到我的代码我做主的境界。类我们经常说的面向对象三大特......
  • stringstream 与auto c++
    stringstream的用法,动态创建不同文件名for(inti=0;i<n;i++) { stringfilename; stringstreamss; ss<<"file"<<i<<".txt"; ss>>filename; ss.clear(); }auto的用法,通常用于for循环常规思路,我们想要输出一个数组的全部元素时,往往采用以下......
  • C++中的类简要介绍
    (文章目录)前言本篇文章讲给大家介绍一个C++中重要的概念,了解了这个概念大家就明白了为什么C++会叫做面向对象编程了。一、什么是类什么是对象1.类的概述其实我们生活中有很多类的例子,就像老虎是猫科动物可以看作一个大类,昆虫又是一个大类,机动车和非机动车又是不同的类。通过......
  • 程序删除自身 c++ win32
    include<windows.h>//设置本程序进程基本为实时执行,快速退出。SetPriorityClass(GetCurrentProcess(),REALTIME_PRIORITY_CLASS);SetThreadPriority(GetCurrentThread(),THREAD_PRIORITY_TIME_CRITICAL);//通知资源管理器,本程序删除SHChangeNotify(SHCNE_DELETE,SHCNF_PA......