本人是初中生,原用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速度快,有格式控制,但不方便,不适合初学者使用。(有一大堆格式符要记)

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

基础篇(1):c++程序基本结构的更多相关文章

  1. (一)java基础篇---第一个程序

    先认识java的基础知识 1.变量命名规则 :1)变量名由数字字母下划线组成,2)不能使用java的关键字,比如public这种,3)遵循小驼峰命名法 2.数据类型 2.1基本数据类型有8种 其中分为 ...

  2. 学习本课程需要具备哪些基础及微信小程序目录结构介绍

    1.html css js 基础 2.ajax 基础 3.简单的面向对象基础  

  3. 鸟哥私房菜基础篇:vim 程序编辑器习题

    猫宁!!! 参考链接:http://cn.linux.vbird.org/linux_basic/0310vi.php 鸟哥是为中国信息技术发展做出巨大贡献的人. 1-我用 vi 开启某个档案后,要在 ...

  4. java编程基础篇---------> 编写一个程序,从键盘输入三个整数,求三个整数中的最小值。

    编写一个程序,从键盘输入三个整数,求三个整数中的最小值. 关键:声明变量temp   与各数值比较. package Exam01; import java.util.Scanner; public ...

  5. 好程序员web前端分享HTML基础篇

    好程序员web前端分享HTML基础篇,最近遇到很多新手,都会问,如果要学web前端开发,需要学什么?难不难学啊?多久能入门之类的问题?那么今天好程序员就先来给大家分享一下web前端学习路线:HTML基 ...

  6. 使用Xamarin开发手机聊天程序 -- 基础篇(大量图文讲解 step by step,附源码下载)

    如果是.NET开发人员,想学习手机应用开发(Android和iOS),Xamarin 无疑是最好的选择,编写一次,即可发布到Android和iOS平台,真是利器中的利器啊!而且,Xamarin已经被微 ...

  7. C语言基础知识-程序流程结构

    C语言基础知识-程序流程结构 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.概述 C语言支持最基本的三种程序运行结构:顺序结构,选择结构,循环结构. 顺序结构:程序按顺序执行, ...

  8. 004 01 Android 零基础入门 01 Java基础语法 01 Java初识 04 Java程序的结构

    004 01 Android 零基础入门 01 Java基础语法 01 Java初识 04 Java程序的结构 Java程序的结构 Java程序外层--类 程序外层,如下面的代码,是一个类的定义. c ...

  9. 黑马程序员——JAVA基础之程序控制流结构之判断结构,选择结构

    ------- android培训.java培训.期待与您交流! ---------- 程序控制流结构:顺序结构:判断结构:选择结构:循环结构. 判断结构:条件表达式无论写成什么样子,只看最终的结构是 ...

  10. python基础-10 程序目录结构 学生选课系统面向对象练习

    一 程序目录结构 1 bin文件夹 二进制文件.代码程序  2 conf 配置文件  3 帮助文档  4 头文件库文件等 二 学生选课系统部分代码 未完待续 1 包内的__init__.py文件 在包 ...

随机推荐

  1. Mongodb installation & userguide

    1.Mongodb Installation in Ubuntu (1) Download from: https://www.mongodb.org/downloads File: mongodb- ...

  2. 百度BAE数据库连接问题

    今天第一次使用百度的开发平台BAE,按照入门文档上的操作一步步来,进行的很顺利,可是我在上传了一个cms系统后,进行安装时,卡在了数据库连接这个地方,弄了一下午,终于有了结果,在这里记录起来,希望能帮 ...

  3. DEDE SQL标签可以获取文档静态链接地址

    在DedeCMS的系统里面,我可以通过由使用SQL语句来配合织梦标签进行更多的个性化调用.比如:推荐会员.推荐企业等.但是我们发现文档链接的底层模板地址的是动态的,那么我们要如何来进行转换,让他链接到 ...

  4. CentOS7中添加新硬盘

      cp /etc/fstab /etc/fstab.bak echo /dev/vdb1 /mnt/disk1 ext4 defaults 0 0 >> /etc/fstab mkdir ...

  5. ThinkPHP报Class 'Core\Log' not found竟然是由这个原因导致的

    项目在开发阶段运行的好好的(Debug=true),上线后(Debug=false)其中有一个页面报“对不起,您的页面暂进无法找到!”错误.摸不清头脑,看看了这个页面也没有什么两样,可就是提示这句话, ...

  6. (转)Entity Framework4.1实现动态多条件查询、分页和排序

    原文:http://www.cnblogs.com/ahui/archive/2011/08/04/2127282.html EF通用的分页实现: 1 2 3 4 5 6 7 8 9 10 11 12 ...

  7. 总结spring

    通过对spring的学习 什么是spring Spring是一个基于IOC和AOP的结构J2EE系统的框架 IOC 反转控制 是Spring的基础,Inversion Of Control 简单说就是 ...

  8. div多选控制

    此点击按钮,弹出DIV,div内容可以多项选择,点击确定,被选项回填至文本框.功能类似之前写过的一篇日期多选,不过是在其基础上,新增点击页面其他区域,隐藏div功能. 1.css部分代码 .multi ...

  9. iOS开发之Objective-c的AES256加密和解密算法的实现

    原文:http://www.lidaren.com/archives/1470 高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法. 以下实现 ...

  10. Andoid Intent学习之在各个活动之间传递数据

    Intent是一种运行时绑定(run-time binding)机制,它能在程序运行过程中连接两个不同的组件.通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意 ...