c++入门笔记
对于有java基础的人来说,学习c++并不难,毕竟c++是java的前身。
何况还熟练掌握了java呢,哈哈。
安装gcc环境,照着菜鸟教程来。
开发工具ide使用vs,eclipse虽然用习惯了,这个感觉还凑合。挺好用。
一些概念性知识
如果用变量名作为实参,其传递方向是单向的,而用引用作为实参其传递方向
是双向的;
C++函数的返回值类型可以是除数组和函数以外的任何类型。
函数可以返回一个引用,将函数说明为返回一个引用的主要目的是为了将函数用在赋值运算符的左边。函数原型的表示方法为:数据类型& 函数名(参数列表);。
函数的返回值可以是存储某种类型数据的内存地址,称这种函数为指针函数。它们的一般定义形式为:类型标识符 *函数名(参数列表);。
使用内联函数能加快程序执行速度,但如果函数体语句多,则会增加程序代码的大小。当一个函数功能不太复杂,但要求被频繁调用,应选用内联函数。。。可以理解为普通函数
总体来说,总感觉c++没java使用顺手,或许是一开始不习惯吧,继续探索吧。
效果图
下面是一些基础的代码,慢慢体会吧。注释很是详细
#include <iostream>
using namespace std; // 值传递,不改变本身值
void f1(int a, int b) {
int temp;
temp = a;
a = b;
b = temp;
} // 引用传递,改变传入的参数值。
void f2(int &a, int &b) {
int temp;
temp = a;
a = b;
b = temp;
} void mul99() {
int i;
int j;
for (i = ; i <= ; i++) {
for (j = ; j <= i; j++) {
cout << j << "*" << i << "=" << i * j << "\t";
}
cout << endl;
}
} void star() {
int i, j, n = ;
for (i = ; i <= n; ++i)
{
for (j = ; j <= n - i; ++j)
cout << " ";
for (j = ; j <= * i - ; ++j)
cout << "*";
cout << endl;
}
for (i = ; i <= n - ; ++i)
{
for (j = ; j <= i; ++j)
cout << " ";
for (j = ; j <= * (n - i) - ; ++j)
cout << "*";
cout << endl;
}
} void qiongju() {
int x, y, z;
for (x = ; x <= ; x++)
for (y = ; y <= ; y++)
for(z = ; z <= ; z++)
if ( * x + * y + z / == && x + y + z == && z % == )
{
cout << "鸡翁" << x << "鸡母" << y << "鸡雏" << z << "只" << endl;
}
} void arrOddEven() {
int arrA[];
cout << "请输入10个非零自然数";
for (int i = ; i < ; i++) {
cin >> arrA[i];
}
cout << "奇数有:" << endl;
for (int i = ; i < ; i++) {
if (arrA[i] % == ) {
cout << arrA[i] << "\t";
}
}
cout << endl;
cout << "偶数有:" << endl;
for (int i = ; i < ; i++) {
if (arrA[i] % == ) {
cout << arrA[i] << "\t";
}
}
cout << endl;
} typedef struct {
int x;
int y;
}Goods; int main() {
int a = ;
int b = ;
// 值传递
f1(a,b);
cout << a << "---" << b << endl; // 1 2 // 引用传递
f2(a,b);
cout << a << "---" << b << endl; // 2 1 // 99乘法表
mul99(); // sqrt平方根数学方法
cout << sqrt() << endl;// 求平方根。 // 输出零星
star(); // 穷举法
qiongju(); // 数组判断奇偶性
//arrOddEven(); // typedef struct 结构体
Goods g;
Goods &gs = g;
g.x = ;
g.y = ;
cout << gs.x << "\t" << gs.y << endl; system("pause");// 按任意键继续。。。
return ;
}
到位!!!
c++入门笔记的更多相关文章
- 每天成长一点---WEB前端学习入门笔记
WEB前端学习入门笔记 从今天开始,本人就要学习WEB前端了. 经过老师的建议,说到他每天都会记录下来新的知识点,每天都是在围绕着这些问题来度过,很有必要每天抽出半个小时来写一个知识总结,及时对一天工 ...
- ES6入门笔记
ES6入门笔记 02 Let&Const.md 增加了块级作用域. 常量 避免了变量提升 03 变量的解构赋值.md var [a, b, c] = [1, 2, 3]; var [[a,d] ...
- [Java入门笔记] 面向对象编程基础(二):方法详解
什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...
- React.js入门笔记
# React.js入门笔记 核心提示 这是本人学习react.js的第一篇入门笔记,估计也会是该系列涵盖内容最多的笔记,主要内容来自英文官方文档的快速上手部分和阮一峰博客教程.当然,还有我自己尝试的 ...
- redis入门笔记(2)
redis入门笔记(2) 上篇文章介绍了redis的基本情况和支持的数据类型,本篇文章将介绍redis持久化.主从复制.简单的事务支持及发布订阅功能. 持久化 •redis是一个支持持久化的内存数据库 ...
- redis入门笔记(1)
redis入门笔记(1) 1. Redis 简介 •Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure serv ...
- OpenGLES入门笔记四
原文参考地址:http://www.cnblogs.com/zilongshanren/archive/2011/08/08/2131019.html 一.编译Vertex Shaders和Fragm ...
- OpenGLES入门笔记三
在入门笔记一中比较详细的介绍了顶点着色器和片面着色器. 在入门笔记二中讲解了简单的创建OpenGL场景流程的实现,但是如果在场景中渲染任何一种几何图形,还是需要入门笔记一中的知识:Vertex Sha ...
- unity入门笔记
我于2010年4月1日硕士毕业加入完美时空, 至今5年整.刚刚从一家公司的微端(就是端游技术+页游思想, 具体点就是c++开发, directX渲染, 资源采取所需才会下载)项目的前端主程职位离职, ...
- System Generator入门笔记
System Generator入门笔记 [CPLD/FPGA] 发布时间:2010-04-08 23:02:09 System Generator是Xilinx公司进行数字信号处理开发的一种设计 ...
随机推荐
- 全国排名的问题(linq 的连表查询 等同于sql的left join)
前言:要获得全国排名,(因为权限问题,显示的数据不是全国的数据,而是某个分区的数据,因此,不能获得数据后排序得到排名) 显示本部的员工积分并且获得在全国的排名. 我的思路:获得显示的员工信息集合1,获 ...
- selenium.common.exceptions.ElementNotVisibleException: Message: element not visible处理方法:selenium针对下拉菜单事件的处理
使用Selenium爬虫时,可能会遇到一些下拉菜单,动态加载,如果直接使用find_element_by_函数会报错,显示selenium.common.exceptions.ElementNotVi ...
- Map总结
Map是键值对集合,是一对一对往上存的,要保持键的唯一性 形式:Map<K, V> 方法: 增 put(K key, V value) 若存储时Map中有相同的键,则返回原来键的值,并覆盖 ...
- h5 canvas动画,不知道谁写的
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 2013-7-31hibernate二级缓存
难得闲 Fckeditor Fckconfig.js大部分配置都在这里面, 增加字体: 程序代码: FCKConfig.FontNames = 'Arial;Comic Sans MS ...
- 64_p8
python2-cotyledon-tests-1.6.7-2.fc26.noarch.rpm 12-Feb-2017 10:28 23182 python2-couchdb-1.0-6.fc26.n ...
- 全面了解 Nginx 主要应用场景
前言 本文只针对Nginx在不加载第三方模块的情况能处理哪些事情,由于第三方模块太多所以也介绍不完,当然本文本身也可能介绍的不完整,毕竟只是我个人使用过和了解到过得.所以还请见谅,同时欢迎留言交流 N ...
- centos7安装Python3的过程中会和Python2.7版本冲突导致yum版本比对应,致使yum不能使用的问题。
centos7安装Python3的过程中会和Python2.7版本冲突导致yum版本比对应,致使yum不能使用的问题. 原因:yum调用Python,启动程/usr/bin/yum就是一个python ...
- Java Tuple使用实例(转)
转自链接:http://www.cnblogs.com/davidwang456/p/4514659.html 一.为什么使用元组tuple? 元组和列表list一样,都可能用于数据存储,包含多个数据 ...
- Robust Online Visual Tracking with a Single Convolutional Neural Network
Abstract:这篇论文有三个贡献,第一提出了新颖的简化的结构损失函数,能保持尽量多的训练样本,通过适应模型输出的不确定性来减少跟踪误差累积风险. 第二是增强了普通的SGD,采用了暂时的选择策略来进 ...