C++快速入门教程

C++快速入门教程author LeeG date 2020 12 10 1 C 语言和 C 的区别 面向过程语言 面向过程编程就是分析出解决问题的步骤 然后把这些步骤一步一步的实现 使用的时候一个一个的依次调用就可以了 C 面向对象语言 面向对象编程就是把问题分解成各个对象 建立对象的目的不是为了完成一个步骤 而是为了描述某个事物在整个解决问题的步骤中的行为 2 C 头文件及常用头文件介绍 include iostream usingnamespa iostream

/*

*@author: LeeG

*@date: 2020-12-10

*/

1. C语言和C++的区别

©面向过程语言:面向过程编程就是分析出解决问题的步骤,然后把这些步骤一步一步的实现,使用的时候一个一个的依次调用就可以了。
(C++)面向对象语言:面向对象编程就是把问题分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为。

2. C++头文件及常用头文件介绍

#include 
  
    using namespace std; int main(){ //please write your code! return 0; } 
  
#include 
  
    #include 
   
     //数学公式 例如绝对值abs()、幂函数pow()... #include 
    
      //C++字符串 #include 
     
       //C语言库,对应C++是cstring #include 
      
        //常用函数,max()、min()、abs()、swap()、sort()... #include 
       
         //万能头文件 using namespace std; int main(){ //please write your code! return 0; } 
        
       
      
     
    
  

更多头文件及C++ 标准模板库STL看下面链接:

3. C++输入与输出

#include 
  
    using namespace std; int main(){ int a; char b; float c; cin>>a>>b>>c; cout<<"1:"< 
   
     >str; cout<<"2:"< 
    
      >str和getline(cin, str); 有什么区别? //思考2 如果要输入 19:05 怎么输入? //思考3 如果题目要求输入一串数字,以回车结束输入,怎么输入? return 0; } 
     
    
  

思考3非常重要,写题经常遇到!!!

思考3总结,看文章:

4. 代码格式规范

为什么这个多次强调?当你写代码出现bug时,整洁、不乱的代码能帮助你快速找到它。从心理上也会舒适很多。不仅如此,以后复习或者别人阅读你代码时,提高可读性~

#include 
  
    #include 
   
     using namespace std; struct Graph{ int edge; int weight; Graph(int e, int w){ edge = e; weight = w; } }; int main(){ int n, m, sx, sy; cin>>n>>m>>sx>>sy; int cs[n]; //记录救援队数目 int judge[n]; //记录该城市是否达到过 int dotlist[n]; //记录权值 int pre[n]; //记录行走路径 int path[n]; //记录最短路径条数 memset(path, 0, sizeof(path)); memset(pre, 0, sizeof(pre)); memset(dotlist, 0, sizeof(dotlist)); memset(judge, 0, sizeof(judge)); int res[n]; fill(res, res+n, 501); for(int i = 0; i < n; i++){ cin>>cs[i]; } vector 
    
      s[n]; for(int i = 0; i < m; i++){ int a, b, c; cin>>a>>b>>c; s[a].push_back(Graph(b, c)); s[b].push_back(Graph(a, c)); } res[sx] = 0; dotlist[sx] = cs[sx]; path[sx] = 1; int flag = 0; //记录目前城市的下标 for(int i = 0; i < n; i++){ int min = 502; for(int j = 0; j < n; j++){ if(!judge[j] && res[j] < min){ min = res[j]; flag = j; } } int num = res[flag]; judge[flag] = 1; for(int j = 0; j < s[flag].size(); j++){ int e = s[flag][j].edge; int w = s[flag][j].weight; if(!judge[e] && num + w < res[e]){ res[e] = num + w; dotlist[e] = dotlist[flag] + cs[e]; pre[e] = flag; path[e] = path[flag]; }else if(num + w == res[e]){ path[e] += path[flag]; if(dotlist[flag] + cs[e] > dotlist[e]){ dotlist[e] = dotlist[flag] + cs[e]; pre[e] = flag; } } } } memset(res, 0, sizeof(res)); int r = sy, k = 0; while(r != sx){ res[k++] = pre[r]; r = pre[r]; } cout< 
     
       = 0; i--){ cout< 
       
      
     
    
  

5. C++写题过程中常用总结

  1. 函数memset()、fill()的使用
  2. 字符与数字互转stringstream
  3. 常见的字符串操作length()、substr()等
  4. 排序函数sort()的使用及(暂可不接受)结构体排序
    /* 小李老师因为有事情要忙,交给小王一个任务,这个任务就是帮他把几个学生排好序 排序规则按照年级降序排序,如果年级相同则按照姓名升序排序,如果姓名相同则按照年龄降序排序。 输入 第一行给出学生总人数N, 接下来N行给出每个学生信息,格式:年级 姓名 年龄 输出 按照排序规则输出学生信息 输入样例 1 2 2 wps 20 2 lsn 8 输出样例 1 lsn 8 wps 20 */ 
  5. 解题过程中容易遇到的坑!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/175647.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午11:42
下一篇 2026年3月26日 下午11:43


相关推荐

  • C语言中void代表什么意思?

    C语言中void代表什么意思?一、理解voidvoid代表空,放在返回值位置上,说明此函数执行完不返回任何值;放在参数位置上则显示说明无形式参数。二、1.放在返回值的位置上voidswap(inta,intb){intc;c=a;a=b;b=c;}该函数表示把a和b的数值进行交换即可,不需要返回值,所以用void。2.放在参数位置上#include<stdio.h>intfun(void){ return1; }int

    2022年5月19日
    71
  • 复杂网络综述

    复杂网络综述本人毕业设计是关于复杂网络的 之前完全没听说过的概念 于是就在网上找了一些论文来看 顺便做下笔记 这篇文章主要讲了复杂网络的一些基础概述 这里的网络不是 不仅仅是 计算机网络这门课中的网络 它表示的是任何一个可以用节点和节点之间连线来代表的一个系统 如 神经系统可以看做是大量神经细胞通过神经纤维相互连接形成的网络 拓扑结构拓扑结构就是们把网络不依赖于节点的具体位置和边的具体形态就能

    2026年3月18日
    2
  • layui 分页问题

    layui 分页问题用 layui 做分页你会发现少了很多 html 和 js 代码 只要在 table 渲染代码块把 page 设置成 true 就行 不过这里也有个小问题 当你表头有搜索框的时候 你会发现在不同页搜索 在后台获取 page 的值是对应页的 而不会是 page 1 如果当你查询的内容 lt pageSize page 1 时 那么当前页是没有数据的 这显然是不合理的 所有就需要把前台传过去的 page 处理一下 我粗略的写了个 page 工具类 publicclassP

    2026年3月16日
    2
  • Wicket循环输出

    Wicket循环输出在 Portal 中动态布置 Portlet 用到循环 nbsp HTML lt wicket fragmentwick id portal gt lt wicket fragmentwick id portlet gt lt wicket fragment gt lt wicket fragment gt nbsp Java 文件名 Column jav

    2026年3月16日
    2
  • Nhibernate学习之性能改善1

    Nhibernate学习之性能改善1Nhibernate学习之性能改善1

    2022年4月21日
    48
  • java查找字符的方法_Java字符串查找(3种方法)

    java查找字符的方法_Java字符串查找(3种方法)在给定的字符串中查找字符或字符串是比较常见的操作。字符串查找分为两种形式:一种是在字符串中获取匹配字符(串)的索引值,另一种是在字符串中获取指定索引位置的字符。根据字符查找String类的indexOf()方法和lastlndexOf()方法用于在字符串中获取匹配字符(串)的索引值。1.indexOf()方法indexOf()方法用于返回字符(串)在指定字符串中首次出现的索引位置,…

    2025年6月8日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号