基础篇(1):c++程序基本结构
本人是初中生,原用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++程序基本结构的更多相关文章
- (一)java基础篇---第一个程序
先认识java的基础知识 1.变量命名规则 :1)变量名由数字字母下划线组成,2)不能使用java的关键字,比如public这种,3)遵循小驼峰命名法 2.数据类型 2.1基本数据类型有8种 其中分为 ...
- 学习本课程需要具备哪些基础及微信小程序目录结构介绍
1.html css js 基础 2.ajax 基础 3.简单的面向对象基础
- 鸟哥私房菜基础篇:vim 程序编辑器习题
猫宁!!! 参考链接:http://cn.linux.vbird.org/linux_basic/0310vi.php 鸟哥是为中国信息技术发展做出巨大贡献的人. 1-我用 vi 开启某个档案后,要在 ...
- java编程基础篇---------> 编写一个程序,从键盘输入三个整数,求三个整数中的最小值。
编写一个程序,从键盘输入三个整数,求三个整数中的最小值. 关键:声明变量temp 与各数值比较. package Exam01; import java.util.Scanner; public ...
- 好程序员web前端分享HTML基础篇
好程序员web前端分享HTML基础篇,最近遇到很多新手,都会问,如果要学web前端开发,需要学什么?难不难学啊?多久能入门之类的问题?那么今天好程序员就先来给大家分享一下web前端学习路线:HTML基 ...
- 使用Xamarin开发手机聊天程序 -- 基础篇(大量图文讲解 step by step,附源码下载)
如果是.NET开发人员,想学习手机应用开发(Android和iOS),Xamarin 无疑是最好的选择,编写一次,即可发布到Android和iOS平台,真是利器中的利器啊!而且,Xamarin已经被微 ...
- C语言基础知识-程序流程结构
C语言基础知识-程序流程结构 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.概述 C语言支持最基本的三种程序运行结构:顺序结构,选择结构,循环结构. 顺序结构:程序按顺序执行, ...
- 004 01 Android 零基础入门 01 Java基础语法 01 Java初识 04 Java程序的结构
004 01 Android 零基础入门 01 Java基础语法 01 Java初识 04 Java程序的结构 Java程序的结构 Java程序外层--类 程序外层,如下面的代码,是一个类的定义. c ...
- 黑马程序员——JAVA基础之程序控制流结构之判断结构,选择结构
------- android培训.java培训.期待与您交流! ---------- 程序控制流结构:顺序结构:判断结构:选择结构:循环结构. 判断结构:条件表达式无论写成什么样子,只看最终的结构是 ...
- python基础-10 程序目录结构 学生选课系统面向对象练习
一 程序目录结构 1 bin文件夹 二进制文件.代码程序 2 conf 配置文件 3 帮助文档 4 头文件库文件等 二 学生选课系统部分代码 未完待续 1 包内的__init__.py文件 在包 ...
随机推荐
- bootstrap-datetimepicker:基于twitter bootstrap的日期/时间选择控件
bootstrap-datetimepicker是一个基于twitter bootstrap的简单日期/时间选择控件. <!DOCTYPE HTML> <html> <h ...
- 微信小程序可用的第三方库
1.wxDraw 轻量的小程序canvas动画库,专门用于处理小程序上canvas 的图形创建.图形动画,以及交互问题. 链接:http://project.ueflat.xyz/#/ 2.ZanUi ...
- 调用webservice
WebClient web = new WebClient(); Stream stream = web.OpenRead(this._wsdlUrl); //Stream streamInfo = ...
- Jquery获取父元素
jquery获取父元素 方法:parent(),parents(),closest() 栗子: <ul class="parent1"> <li><a ...
- 谈谈Quartz中遇到的深坑
最近在项目开发的时候,根据业务需求,需要配置为自定义Quartz任务(即:用户可以自定义任务执行时间) 但是在即将写完的时候遇到一个非常头疼的问题: 一个redisTemplate 与 workOrd ...
- 客户端使用自定义代理类访问WCF服务
通常在客户端访问WCF服务时,都需要添加服务引用,然后在客户端app.config或web.config文件中产生WCF服务的客户端配置信息.若是每添加一个服务都是这样做,这样势必会将比较麻烦,能否简 ...
- Android 6.0 动态权限申请
1. 概述 Android 6.0 (API 23) 之前应用的权限在安装时全部授予,运行时应用不再需要询问用户.在 Android 6.0 或更高版本对权限进行了分类,对某些涉及到用户隐私的权限可在 ...
- mysql:JDBC url 参数详解
MySql链接url参数详解 jdbc:mysql://[host:port],[host:port].../[database][?参数名1][=参数值1][&参数名2][=参数值2]... ...
- RC4 in TLS is Broken: Now What?
https://community.qualys.com/blogs/securitylabs/2013/03/19/rc4-in-tls-is-broken-now-what RC4 has lon ...
- 【2017-06-17】QtGui基础控件:QSpinBox及QDoubleSpinBox
今天开始一个新的系列,主要是翻译并摘录QtGui中基础空间的常用方法,并做一些简单的实验程序: 我觉得这是一个炒冷饭的行为,但有时候冷饭不能不炒,不热不好吃,而且也很容易发霉. 其实到现在这种状态,对 ...