c++ 第一天 变量、判断、循环
C++介绍
语言的产生
C++ 由 Bjarne Stroustrup 于 1979 年在贝尔实验室开始设计开发的,由于C++ 进一步扩充和完善了 C 语言,是一种面向对象的程序设计语言 ,所以最初命名为带类的C 。C++ 是 C 的一个超集,事实上,任何合法的 C 程序都是合法的 C++ 程序。C++ 也是目前嵌入式 ( 无人驾驶 ) 的首选语言。
c++的优缺点
优点:
实现了面向对象程序设计。在高级语言当中,处理运行速度是最快的,大部分的游戏软件,系统都是由C++来编写的
功能强大,嵌入式首选。
C++加上严格的codereview可以用来开除猪一样的队友,这是所有其他语言都不具备的功能
缺点:
学习门槛高、难学
知识点繁杂,有声音说,c++标准委员会仅仅是为炫技并不考虑实际的工业需求
修复以前的bug
- 增加新的技术
与Python的比较
程序有两种执行方式,解释执行和编译执行。 python是一种解释语言(弱类型 | 动态类型 ...),不需要经过编译,是一边解释一边执行,由于底层封装了很多库供程序员使用,所以开发起来方便快捷,且能够很好地跨平台,写一些小工具小程序特别合适。
c++ 则属于编译语言,是一种需要编译后(整个程序编译 )运行语言,编译后通过链接,整合其他依赖库,然后生成机器码(可执行文件),以后再运行,无需编译。在指定环境下编译运行,运行效率高 ,---> exe -> 很难查看源码 。 c++ 可以直接操作内存 指针 。
- python打印
print('aaaa')
- c++打印
#include <iostream>
// 两个斜杠代表单行注释 多行注释:/*注释内容*/
// include: 导入 相当于Python中的import
// int main(){} 主函数入口
int main() {
// std:: count << "输出的内容" << std::endl;
std::cout << "aaa" << std::endl;
// return: 函数返回值,main
函数是C++程序的入口函数,C++标准要求main
函数的返回值类型为int
。 0 表示正常退出。
return ;
}
注意: 所有的逻辑代码必须写在函数内部里面, 所有代码后面一般都要有分号;
C++常见的数据类型
- int:整数类型
- float:单精度浮点数
- double:双精度浮点数
- char:字符
- string:字符串
- bool:布尔
与其他静态类型语言一样,C++也具备大多数语言的数据类型。除上面给出的数据类型之外,其实还有 short
| long
| long long
等 。
变量
c++的变量命名规则和Python一样:
可以包含字母 、 数字 和下划线
必须以字母或者下划线开始
- 不能跟关键字同名
声明和初始化
c++ 是强类型语言,任何变量在使用前必须先声明,并且在声明的时候必须要指定该变量的数据类型,即该变量未来能够存储的数据类型。
int main(){ //先声明
int age ;
double price; //后初始化
age = ;
price = 20.3; //声明及初始化
int age = ; return ;
}
常量
常量其实和变量没有多大区别, 有名字, 占据存储空间,可以是任何的基本类型,但只有一点不同,常量的值不允许变更。C++中的常量的声明需要使用 const
关键字,而python中的常量默认约定是全大写表示。
int main(){ const double pi {3.1415926};
const int months_in_year{}; pi = 2.5 ; //将会出现编译错误 常量的值不允许改变 return ;
}
输入和输出
任何编程语言都要输入和输出,python的输入输出是input
和 print
, C语言的输入输出是 scanf
和 printf
, 而C++的相对要复杂些,它使用 std::cin
和 std::cout
来操作输入输出 。 C++的输入输出,需要导入 iostream 库 。
#include <iostream> int main (){
std::cout << "请输入您的年龄:"<<std::endl; int age ;
// 把输入的值赋值给age
std::cin >> age;
// 输入age
std::cout << "您的年龄是:" << age <<std::endl; return ;
}
判断
if语句
#include <iostream> int main (){ std::cout << "请输入1-6数字:" << std::endl; int num;
std::cin >> num; if( num> ){
std::cout << "输入错误" << std::endl;
}else if(num>){
std::cout << "大" << std::endl;
}else{
std::cout << "小" << std::endl;
} return ;
}
switch语句
许多语言中都包含switch,比如:java 、javascript 、php 等,而python是个例外,python没有switch。实际上switch
和 if
语句块很相似, 它是完全的等价条件判断,但是一旦满足某个case
的条件,那么其他case
就不会再进行判断,如果全部不满足case条件,就会执行default里面的代码。
#include <iostream> int main (){
std::cout << "请输入此次考试的成绩评级" << std::endl;
char level ;
std::cin >> level;
switch (level){
case 'A':
std::cout << "优秀" << std::endl;
break;
case 'B':
std::cout << "良好" << std::endl;
break;
case 'C':
std::cout << "及格" << std::endl;
break;
case 'D':
std::cout << "仍需继续努力" << std::endl;
break;
default:
std::cout << "输入错误。" << std::endl;
break;
}
return ;
}
循环
while
#include <iostream>
int main (){ int count = ;
while(count < ){
std::cout << "红灯还在亮着..." << std::endl;
cout++;
}
return ;
}
do - while
#include <iostream>
int main (){ int count = ;
do{
std::cout << "红灯还在亮着..." << std::endl;
cout++;
}while(cout < ); return ;
}
while 和 do - while 的区别: 前者属于先判断后执行,后者属于先执行后判断
for
#include <iostream>
int main (){
for(int cout = ; cout < ; cout ++){
std::cout << "红灯还在亮着..." << std::endl;
}
return ;
}
continue 和 break和在Python中的作用一样,contince属于跳过此次循环继续下一次循环,break结束break所在的这层循环
c++ 第一天 变量、判断、循环的更多相关文章
- SQLserver中的常量与变量、判断循环语句
数据库中的变量与常量 数据库中定义变量 [起临时存储数据的作用] ---数据库中定义变量(运行时要从头到尾进行运行,从定义变量开始到赋值) --前面必须加 declare --定义变量 : de ...
- 理解C#系列 / 核心C# / 判断&循环&跳转
判断&循环&跳转 说明 本节写的是C#语言的控制程序流的语句,“控制程序流”就是控制程序运行流程的意思. 判断 很容易理解:如果……就…… if语句:测试特定条件是否满足,如果满足就执 ...
- 07_Python的控制判断循环语句1(if判断,for循环...)_Python编程之路
Python的数据类型在前几节我们都简单的一一介绍了,接下来我们就要讲到Python的控制判断循环语句 在现实编程中,我们往往要利用计算机帮我们做大量重复计算的工作,在这样的情况下,需要机器能对某个条 ...
- php变量判断为空的几种方法
1.isset 主要用来判断变量是否被初始化过 注意:当使用isset来判断数组元素是否被初始化过时,它的效率比array_key_exists高4倍左右 2.empty 可以将值为 " ...
- shell if判断(曾经被一个字符串相等的判断纠结半小时,最后只是if后少了个空格!) 和 awk引用外部变量判断
一.if判断 数字: $A=12 $B=15 if(("$A"<"$B")) if(("$A"=="$B")) 字 ...
- 有趣的bug——Java静态变量的循环依赖
背景 是的,标题没有错误,不是Spring Bean的循环依赖,而是静态变量之间的循环依赖. 近期的项目均是简单的Maven项目,通过K8S部署在阿里云上,其配置文件读取规则如下所示: (1) 优先读 ...
- 第一篇、javascript变量和循环
一.代码存放位置 理论上放在body和head中都可以,但是推荐放在body代码块底部,因为Html代码是从上到下执行,如果Head中的js代码耗时严重,就会导致用户长时间无法看到页面,如果放置在bo ...
- Java 变量、循环、判断
粗糙笔记不喜勿喷 Java 8大基本类型 第一类:逻辑型(boolean) 1.boolean类型只存在true(真),false(假)两种形式 例: boolean a=true; boolean ...
- python基础一(安装、变量、循环、git)
一.开发语言分类 系统的开发语言有java.c++.c#.python.ruby.php等等,开发语言可分为编译型语言和解释型语言. 编译型语言就是写好代码之后就把代码编译成二进制文件,运行的时候运行 ...
随机推荐
- Linux下C++动态加载so 调用方法
Windows 下的C++动态加载DLL调用方法 文献参考 http://man7.org/linux/man-pages/man0/dlfcn.h.0p.html http://man7.org/l ...
- java语言进阶(三)_List_Set_数据结构_Collections
主要内容 数据结构 List集合 Set集合 Collections 第一章 数据结构 1.1 数据结构有什么用? 常见的数据结构:堆.栈.队列.数组.链表和红黑树 . 1.2 常见的数据结构 栈 栈 ...
- SpringCloud Alibaba (四):Dubbo RPC框架
Dubbo简介 Apache Dubbo |ˈdʌbəʊ| 是一款高性能.轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现.致 ...
- CSRF 跨站请求伪造学习笔记
参考文章: 漏洞挖掘之CSRF CSRF花式绕过Referer技巧 What-是什么 CSRF(Cross-site request forgery)跨站请求伪造.攻击者通过构造特殊链接或者页面,盗用 ...
- ExecutorsService 中的 submit和 execute的区别
闲来无事,写点代码练练手.于是就看了下ExecutorService常用的提交任务的方法: <T> Future<T> submit(Callable<T> tas ...
- 洛谷P3237 米特运输
题目链接 题意: 中文题,挺好理解.就是让节点的权值等于各子节点权值之和,然后每个子节点的权值相等,原本每个点有一个权值,通过最少次的修改(可以修改成小数)使其满足要求. 分析: 题意一旦读明白,题什 ...
- Fetch.AI 首席技术官Toby Simpson参与AMA活动
感谢7月11日在YouTube上参与 Fetch.AI AMA的所有人.我们收到了大量的问题,遗憾的是我们没有时间回答其中的多数问题.如果你错过了现场AMA,你可以在下面观看全部内容: 在本文中,我们 ...
- 数据可视化之DAX篇(十五)Power BI按表筛选的思路
https://zhuanlan.zhihu.com/p/121773967 数据分析就是筛选.分组.聚合的过程,关于筛选,可以按一个维度来筛选,也可以按多个维度筛选,还有种常见的方式是,利用几个特 ...
- redis入门指南(四)—— redis如何节省空间
写在前面 学习<redis入门指南>笔记,结合实践,只记录重要,明确,属于新知的相关内容. 节省空间 1.redis对于它所支持的五种数据类型,每种都提供了两种及以上的编码方式去存储(具体 ...
- 太实用了!自己动手写软件——SSH、FTP和SQL server的密码破解
我们的密码破解工具一共分为如下六个部分,前面四个部分我们都有在之前的文章中介绍过了 用户图形界面——GUI编程 密码字典获取——Excel文件读取 数据库类——MySQL.Oracle和SQL ser ...