面向小白的C++学习笔记 Part2

Part2 开始进入程序设计吧 简单程序设计

作业巨多仍然锲而不舍的更新第二部分!其实写这个学习笔记主要目的还是自己学习的哈(估计也没人看…)还有好几篇论文没写…

那么就愉快的进入后面的学习吧(一点都不愉快!)
因为需要准备考试,大部分内容来自老师的PPT…


简单程序设计主要知识点

  1. C++语言概述
  2. 基本数据类型和表达式
  3. 数据的输入与输出
  4. 算法的基本控制结构
  5. 自定义数据类型

C++语言概述: 历史背景什么的跳过。特点:1.C语言超集 2.强类型语言 3.表达能力强 4.支持运算符重载 5.抽象能力强 6.内存管理高效 7.异常处理加强 8.支持名字空间 9.非纯面向对象的语言
来看看程序员的第一个程序吧

#include <iostream>//头文件
/*可以使用C头文件 iostream是C++文件,不用.h扩展名*/
using namespace std;//引入C++标准名字空间std
/*名字空间:可以由程序员命名的作用域
  每个命名空间中放入一些相关实体,变量,函数,对象,类,以解决同名冲突问题*/
int main(){//只有一个main函数
	cout<<"Hello World!"<<endl;//标准输出流
	return 0;//返回0,表示程序正常执行结束
}

字符集,词法记号,标识符(字母下划线开头,区分大小写,无空格,不能与关键字同名)

基本数据类型和表达式: 见下图
基本数据类型
常量:程序中取值不变的量,分为

  • 整型:后缀L长型,U无符号
  • 浮点型:后缀F(float)L长型(long double)
  • 字符型:有些不能直接输入的需要转义 \r \f \b…
  • 字符串:字符串在内存中的存放按照字符次序存放,末尾加\0
  • 布尔:false true

变量:取值可变 使用前声明类型和名称,先定义后使用,还有左值右值一些细节…

数据类型 变量名1,变量名2,...
数据类型 变量名 = 初始值;

变量位置决定作用范围

  • 全局变量:所有函数外面
  • 局部变量:函数内部或复合语句内部

符号常量:

const 数据类型 常量名 = 常量值;

运算符和表达式:

  • 基本:+、-、*、/、% 自增自减运算符++i和i++的效果不完全相同
int i = 1;
int j = 1;
cout<<i++<<endl;//输出1
cout<<++j<<endl;//输出2
  • 复合:+=、-=、*=、/=、%=、<<=、等优先级和=相同
  • 逗号:a=3*5,a*4//先算第一个,再算第二个最终结果为第二个运算结束之后的值
  • 逻辑运算符:优先级 高→低 < <= > >=→== != !→&&→||(&&和||有奇妙的短路特性,即计算机判断A&&(或||)B时,通常判断A是false(或true)不用再判断第二个)
  • 条件运算符:(这个我用的相当少)表达式1?表达式2:表达式3//先解1,1T后解2,2的值为结果;1F后解3,3的值为结果优先级高于赋值运算符,低于逻辑运算符
  • sizeof:计算某种类型对象在内存中所占的字节数
  • 位运算:&与 |或 ^异或 ~取反 << >>位移 具体操作不详述

严肃的优先级问题

优先级运算符
1[ ]、()、.、->、后置++、- -
2前置++、- -、sizeof、&、*、+、-(正负号)、~、!
3强制类型转换
4. *、-> *
5*、/、%
6+、-
7<<、>>
8<、>、<=、>=
9==、!=
10&
11^
12|
13&&
14||
15?:
16=、*=、/=、%=、+=、-=、<<=、>>=、&=、^=、|=
17,

数据类型转换

  • 隐含转换:编译系统自动转换,低类型转换为高类型
char short int unsigned long unsigned long float double

数据的输入和输出:
输入输出:cin、cout

算法的基本控制结构:
顺序结构、选择结构、循环结构
if选择结构:

  • if
  • 嵌套if
  • if … else if
    这个挺简单的不详细描述了
    switch:
switch(表达式)
{
	case 常量表达式1:语句1;//后面应该加break;不然switch结构会往后面的case执行
	case 常量表达式2:语句2;
	...
	default:语句n+1;//如果没有case满足就从default开始执行
}

循环结构:

  • while符合条件直接进入循环
  • do while执行一次再进入循环
  • for(初始语句;表达式1(如果满足);表达式2(执行完语句之后执行表达式2))
    循环的控制条件存在一个稳定性的问题,一般来说用i = 5这种类似的表达式控制循环会导致不稳定,所以会用i <= 5或者>= 5等类似的取代
  • 死循环for(;;)while(true)

选择和循环嵌套

break;continue循环体中用于跳过本次循环进入下一次循环;goto不常用;

typedef:这个用于花式命名

typedef long long ll;

enum枚举

enum 类型名 {变量值列表};
enum Weekday {SUN,MON,TUE,WED,THU,FRI,SAT};

琐碎的知识到这里基本上结束了,习题答案等有时间再整理吧…一共36题真不是一时半会能写完的。
马上要考试了,下一次更新应该在考完试将近7月份的时候了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值