【C++笔记】1-2 变量的声明与初始化、类与对象

一、课程内容:

实现一个判断直角三角形的程序,和一个光年计算的程序。

 

二、知识点:

变量的命名,声明与初始化,基本的整数与浮点类型,类的对象初步。

 

三、知识详解:

1.变量

1.1变量是什么

变量可以用来存放数字,字符串等等,使用这个变量就是使用它里面存放的数字和字符串。

1.2变量名命名规则

(1)只能使用字母,数字和下划线 ,字母区分大小写;

(2)第一个字符不能是数字 ,可能与科学计数法矛盾;

(3)不能与C++关键字重复;

 

1.3变量命名方法

(1)匈牙利命名法:即类型缩写加名称,第一个单词首字母大写;

(2)驼峰式命名法:第一个单词首字母小写,后面其他单词首字母大写 ;

(3)下划线命名法:单词用下划线连接;

1.3变量的数据类型

七种基本的 C++ 数据类型

类型

关键字

布尔型

bool

字符型

char

整型

int

浮点型

float

双浮点型

double

无类型

void

宽字符型

wchar_t

整数:short、int、long

浮点:float、double

复合类型:可由基本类型构成(数字超出Int形时可用long long类型)

无符号类型:将unsigned写在定义变量类型的前面

1.4变量的声明、初始化、赋值

声明:让电脑知道有这个变量;

初始化:给变量一个合理的初始值,变量不初始化的话会随机输出数字;

赋值:将一个变量的值给另一个变量的过程(赋值的方向是从右向左的);

// C++ Level 1-2 直角三角形与光年
/*
	test 01 光年
	光年是长度单位,表示光在一年中走过的距离 
	光每秒走的距离是300000000米
	完成一个程序,能够输入小数类型的年数,然后输出距离
*/
# include <iostream>
using namespace std;

int main()
{
	const int speed = 300000000;
	float year;

	cout << "Input years:" << endl;
	cin >> year;
	long long d = year * 365 * 24 * 60 * 60 * speed;
	cout << "Distance:" << d << "meters" << endl;
	
	return 0;
}
// C++ Level 1-2 直角三角形与光年

/*
	02 直角三角形判断
	分别输入两条直角边,一条斜边,程序判断它们是否能构成直角三角形 
*/

# include <iostream>
using namespace std;
int main()
{
	int a, b, c;
	cout << "Input 3 int numbers:" << endl;
	cin >> a >> b >>c;
	
	if(a * a + b * b == c * c)
	{
		cout << "Yes" <<endl;
		return 0;
	}
	cout << "No" << endl;
	
	return 0;

}

2.类与对象

类是对象的模板,对象是类的实例

2.1类的访问修饰符

public与private用来定义访问权限:

(1)public:外部可以访问

(2)private:外部不可访问,只有类的内部可以访问

  2.2实例化对象的两种方法

 (1)类名 对象名(参数)

类似普通变量的定义,访问成员变量时用.

(2)类名* 对象名=new 类名(参数)

new方式,返回指针类型,需要用delete删除对象,调用方式为箭头

// C++ Level 1-2 直角三角形与光年

/*
	03 类和对象之创建对象的两种方法
*/ 

// 01
//#include <iostream>
//using namespace std;
//
//class Box
//{
//	public:
//		double length;
//		double breadth;
//		double heigth;
//		int print_length()
//		{
//			cout << length << endl;
//		}
// };
// 
// int main()
// {
// 	Box b1;
// 	b1.length = 2.0;
// 	b1.print_length();
// 	
//	return 0;
// }

// 02 new方式返回指针类型

# include <iostream>
using namespace std;

class A
{
	public:
		int x = 0; 
};

int main()
{
	A a1;
	cout << a1.x << endl;
	
	A* a2 = new A;
	cout << a2->x;
//	cout << a2.x;
	delete a2;
	
	return 0; 
}

四、小问题

Question1:输入值什么时候以逗号隔开,什么时候以空格隔开?

Answer:

(图片待上传)

(回答链接:https://zhidao.baidu.com/question/231652426.html

 

在输入时,使用逗号,空格,或者是其它字符,取决于写输入语句时指定的格式。

(1)如果在scanf指定用逗号分隔,

如 scanf("%d,%d",&a,&b);

那么在输入整型数据时,必须用逗号分隔,比如1,2。如果用空格或者其它符号分隔,就会导致输入错误。

(2) 如果在scanf中指定用空格分隔,或者没有明确指定分隔符,那么输入时可以使用任意空白字符分隔。

如 scanf("%d %d", &a,&b);

或 scanf("%d%d",&a,&b);

输入值时,可以使用包括空格(' '), 制表符('\t'),以及换行符('\n')等做分隔,都可以实现正确的输入。

(回答链接:https://zhidao.baidu.com/question/561357310819805524.html

 

Question2:方法和函数有什么不同?

Answer:

函数是一段代码,通过名字来进行调用。它能将一些数据(参数)传递进去进行处理,然后返回一些数据(返回值),也可以没有返回值。所有传递给函数的数据都是显式传递的。

方法也是一段代码,也通过名字来进行调用,但它跟一个对象相关联。方法和函数大致上是相同的,但有两个主要的不同之处:

方法中的数据是隐式传递的;

方法可以操作类内部的数据(请记住,对象是类的实例化–类定义了一个数据类型,而对象是该数据类型的一个实例化)

方法和对象相关;函数和对象无关。Java中只有方法,C中只有函数,而C++里取决于是否在类中。

(原文链接:https://blog.csdn.net/qq_34952846/article/details/78943800

 

单词表

unsigned

英 [ʌnˈsaɪnd] 

adj.没签名的;未签约的

assignment

英 [əˈsaɪnmənt]

n.(分派的)工作,任务;(工作等的)分派,布置;赋值

variable

英 [ˈveəriəbl] 

n.可变情况;变量;可变因素

breadth

英 [bredθ] 

n.宽度;(知识、兴趣等的)广泛

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值