《c++语言程序设计》笔记(一)

这里对我的课本进行一个简要的摘录:

 

第二章 c++简单程序设计

 1、运算符与表达式

①三目运算符

格式   (表达式1)?(表达式2) : (表达式3)

②sizeof运算符,用于计算某种类型的对象在内存中所占的字节数。

③ 位运算

包含:

a 、按位与(&)

b、按位或(|)

c、按位异或(^)【对应位相同,则该位的运算结果为0,对应位不同,则该位的运算结果为1】

d、按位取反(~)【对一个二进制的每一位取反。例如,025:0000010101   ~025:1111101010】

e、移位(包含左移运算<<和右移运算>>例如,a>>2的值为-2(a为-8),2<<1的值为4

④运算符优先级与结合性,写代码时一定要注意表达式中运算符的优先级!!!

⑤ 类型转换操作符(强制转换、显式)

a,<类型说明符>(表达式)

b、const_cast<类型说明符>

c、dynamic_cast<类型说明符>

d、reinterpret_cast<类型说明符>

e、static_cast<类型说明符>

ps:这种转换是不安全的,因为它是一次性的,变量所在的内存单元中的值并未真正改变,再次使用时仍然是原来的类型。

 

2、数据的输入与输出(必须包含iomanip头文件)

 常用的I/O流类库操纵符

dec  十进制表示

hex 十六进制表示

oct 八进制表示

ws 提取空白符

endl 插入换行符

ends 插入空字符

setprecision(int) 设置浮点数的小数位数(包括小数点)

setw(int)设置域宽


3、控制语句

① break

② continue

③ goto(使程序的执行流程跳转到语句标号所指定的语句)

例如可用于跳出多重循环,也可以前跳或者后跳,也可以跳出switch,或者在case之间进行跳转

#include<iostream>
using namespace std;

int main()
{
	int x,sum=0;
	L1:cout<<"x=";
	cin>>x;
	if(x==-1)
		goto L2;
	else
		sum+=x;
	goto L1;
	L2:cout<<"sum="<<sum<<endl;
} 
可以想象,它的存在会破坏程序的结构,所以应该少用或不用。


4、自定义数据类型

typedef声明

将一个标识符声明成某个数据类型的别名,然后将这个标识符当做数据类型使用。

语法形式:

typedef   已有类型名   新类型名表;

typedef double Area,Volume;
typedef int Natural;
Natural i1,i2;
Area a;
Volume v;

第三章 函数

递归

例如

① 计算从n个人中选择K个人

#include<iostream>
using namespace std;
int combine(int n,int k)
{
	int m;
	if(n==k||k==0)
		return 1;
	else if(k>n)
		return 0;
	else
		return combine(n-1,k)+combine(n-1,k-1);
}
int main() 
{
	int n,k;
	cin>>n>>k;
	cout<<combine(n,k);
	return 0;
}

(注意排列组合的公式:c(n,m)=c(n-1,m-1)+c(n-1,m))


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mypollyanna

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值