当前位置: 移动技术网 > IT编程>开发语言>C/C++ > 第一篇:c++程序基本结构

第一篇:c++程序基本结构

2018年07月13日  | 移动技术网IT编程  | 我要评论

本人是初中生,原用Pascal语言,现转c++,所以写几篇博客,分享一下。

补一句,我是一边转c++一边写博客,所以可能会有错误,望过路大神能指出。

参考书籍:《信息学奥赛一本通》《趣学算法》

个人认为c++与Pascal比较,最大特点是它的方便性,各种变量之间转换与定义都十分方便,十分随意。

这篇就主要说明c++的基本程序结构吧。

上代码:

#include<cstdio>
#incldde<iostream>
using namespace std;
int main()
{
    int a,b;
    cin>>a;
    scanf("%d",&b);
    int c=a+b;
    cout<<c;  //或使用printf("%d",c);
return 0; }

最简单的a+b,想必学过编程的同学都不会陌生,下面就由这个程序做样例,讲一下c++的基本结构:

首先是程序头(个人叫法),这里主要是调用库,使用#include与<>(""),中间加上库的名称。这是要记背的。初学者可能不知道库是什么,别急,往下看。

然后是using namespace std; 这句是定义命名空间,我的书里还有一大堆说明,这里省略(其实是懒得打),只要记住每个程序都要打一句就行了。

接着int main()即主函数(主程序)。一个c++程序由若干个函数组成,必须有且仅有一个主函数main。程序由主函数开始执行与结束,子函数要在主函数中调用。可以理解为主函数为boss,子函数为员工。

一对{}(书上称作花括号,我习惯称之大括号)相当于Pascal中的begin与end,标志一段语句的开始与结束,学过Pascal的同学都理解吧。

然后int a,b; 是定义语句,意为定义两个名为a与b的int型变量。c++中的int即是Pascal中的longint类型,范围是-2147483648~2147483647,具体的类型会在以后说。

cin>>a;这句有点麻烦,大意是从键盘读入一个数,储存到a这个变量里。(我书上也有一大堆说明,这里不细说)cin这个函数需要调用iostream库,即程序头中调用的库。如果不调用程序是会报错的,切记!

下一句scanf("%d",&b);也是一样,不同的是这句有一个变量类型的说明(双引号中的内容,%d表示整型变量)。

其实这两句话可以合并到一起,变成cin>>a>>b; 或scanf("%d%d",a,b); 这里为了更好的说明,特此分开。

cin与scanf的区别在后面讲cout与printf时会说明。

让我们继续:后面又是一句定义int c=a+b;,不同的是后面加上了一句=a+b。这是起赋初值的作用,相当于定义一个值为a+b的变量。“=”符号是赋值的意思,而我们通常说的等号是“==”。

cout<<c; 这句跟cin相反,是输出一个名为c的变量到屏幕。(in与out在英文中一个是进入一个是出去)这还有一个“流”的概念引入,好奇者请自行百度(反正我看了半天没看懂)。需要注意的是这一对函数在作用到量时要用两个“>”或“<”连接。

cin、cout与scanf、printf的区别在于:cin及cout方便,但速度较慢,且没有格式的说明;scanf与printf速度快,有格式控制,但不方便,不适合初学者使用。(有一大堆格式符要记)

大概就是这样,如果帮到你,别忘了点个推荐。讲义不定期更新(尽量定期),要催更的随意

如对本文有疑问, 点击进行留言回复!!

相关文章:

  • C语言字符数组应用示例1:编写一个程序,将两个字符串连接起来,不用strcat函数。

    C语言字符数组应用示例1:编写一个程序,将两个字符串连接起来,不用strcat函数。

    字符串的连接如图所示: 如果字符串 1 中有 n 个元素,那么就是把字符串 2 中的第 i 个元素赋值给字符串 1 中的第 i + n 个元素。 n 可... [阅读全文]
  • 前缀和

    [toc] "前缀和" 一维前缀和 Skips 快速计算一个区间内数的和 [l,r] 定义一个数组 ,下标要从1 开始 ,边界值 定义 s[0]=0 (... [阅读全文]
  • C 实战练习题目7

    题目:输出特殊图案,请在c环境中运行,看一看,Very Beautiful! 程序分析:字符共有256个。不同字符,图形不一样。 VC6.0下出现中文乱... [阅读全文]
  • C 实战练习题目8

    题目:输出9*9口诀。 程序分析:分行与列考虑,共 9 行 9 列,i 控制行,j 控制列。 程序源代码: 1 #include<stdio.h&... [阅读全文]
  • 单链表实现贪吃蛇

    终于把学的单链表塞进贪吃蛇里的. 相比于上一篇的数组,链表的理解程度可能高一些. 上一篇的链接 上代码: #include <stdio.h>... [阅读全文]
  • 博弈--尼姆博弈

    今天我们来聊一聊另一种博弈--尼姆博弈,这一种博弈可以说是巴什博弈的一种变体,巴什博弈中“石子”的堆数为1堆,而在利姆博弈中“石子”的堆数为n堆,还有在... [阅读全文]
  • warshall 判断某无向图是否是一个树

    判断一个图是否构成树 问题 给定一个无向图,判断该图是否构成树。 输入 输入有若干测试样例。第一行是测试样例个数,接下来若干测试样例。 每个测试样例的第... [阅读全文]
  • 二叉排序树

    二叉排序树 二叉排序树是为了实现数据的有序排列,并可方便的对树中的数据进行插入和删除操作,提高查找效率。 性质: 若它的左子树不为空,则左子树上的所有值... [阅读全文]
  • 图,有向图,无向图,图在存储结构

    图 图在数据结构中是多对多的关系,一个顶点可以和多个顶点有联系。其通常表示为: ,其中 表示一个图, 表示图的顶点集合, 表示图的边集合。 1.图的定义... [阅读全文]
  • 二叉树

    二叉树 每个结点最多有两个孩子,其余结构和树的结构一样。 1. 二叉树特点 二叉树的特点有: 每个结点最多有两棵子树,所以二叉树中不存在度大于2的结点。... [阅读全文]
验证码:
移动技术网