一、课程内容:
实现一个判断直角三角形的程序,和一个光年计算的程序。
二、知识点:
变量的命名,声明与初始化,基本的整数与浮点类型,类的对象初步。
三、知识详解:
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.宽度;(知识、兴趣等的)广泛 |