C++信奥金牌冲击之路|C++第一阶段总结与拓展
C++第一阶段总结与拓展
- 1、C++程序基本格式
- 2、数据类型
- 3、变量
- (1)命名规则
- (2)定义方式
- (3)初始化
- 4、运算符
- 5、表达式
- 6、语句
- 7、输入与输出
- (1)输入语句
- (2)输出语句
编程初学者必经阶段:(入门操作)感觉好简单 -> (看他人演示)哇,神奇,有意思 -> (自行处理)嗯?怎么回事?什么情况?
其实,我们学习编程就像是在玩拼图,每拼一段时间不知后面该怎么做的时候,就得看看整体都什么效果了,还缺哪些部分,我们手里都是些什么拼图。我们先前几篇短文介绍了C++编程的入门知识点,按理说完全可以做出点东西来了,但真正去刷题时就会发现“纸上得来终觉浅”,因此,在这里来帮助大家做一下总结和拓展。
1、C++程序基本格式
#include // 头文件
using namespace std;
//命名空间
int main() { // 主函数入口
// 代码段
return 0;
// 返回值
}
2、数据类型
类型 | 关键字 | 所占内存大小 | 表示范围 |
---|---|---|---|
布尔型 | bool | 1byte=8bit | 只能是0或者1 |
字符型 | char | 1byte=8bit | -128~127(即-27 ~27-1) |
短整型 | short | 2byte=16bit | -32768~32767(即-215~215-1) |
整型 | int | 4byte=32bit | -2147483648~2147483647(即-231~231-1) |
长整型 | long int | 8byte=64bit | -263~263-1 |
浮点型 | float | 4byte=32bit | -3.4E+38~3.4E+38 |
双浮点型 | double | 8byte=64bit | -1.7E-308~1.7E+308 |
空类型 | void | 无 | 无 |
字符串类型 | string | 不确定,视具体情况而定 | 无 |
(1)黄色高显为已学数据类型,其它在后续编程中也将逐渐涉及。
(2)以上数据类型所占内存大小是针对64位操作系统而言的,至于32位与其区别可自行百度了解。后面,我若有余力再给大家说说计算机操作系统吧。
关于各个数据类型所占内存大小,可以使用sizeof()函数计算得出,单位为字节,代码如下:
#include
#include
using namespace std;
int main() {
cout << "bool: " << sizeof(bool) << endl;
cout << "char: " << sizeof(char) << endl;
cout << "short: " << sizeof(short) << endl;
cout << "int: " << sizeof(int) << endl;
cout << "long: " << sizeof(long) << endl;
cout << "float: " << sizeof(bool) << endl;
cout << "double: " << sizeof(bool) << endl;
// cout << "void: " << sizeof(void) << endl;
// 会报错
cout << "string: " << sizeof(string) << endl;
return 0;
}
运行结果如下:
文章图片
3、变量 (1)命名规则 a.只能由字母、数字或者下划线组成;
b.开头不能是数字;
c.不能与C++关键字同名;
d.不能在同一代码段中重复定义;
e.区分大小写。
(2)定义方式 [数据类型] [变量名] ;
如:
int a, b, c;
// 定义三个整数
float d;
// 定义一个单精度浮点数
double e;
// 定义一个双精度浮点数
char ch;
// 定义一个字符
(3)初始化 定义变量的时候赋初始值叫做初始化,目的是防止后面直接使用出现异常结果。
如:
int a = 0, b = 1, c = 2;
// 定义三个整数,并分别初始化为0,1,2
float d = 3.14;
// 定义一个单精度浮点数,初始化为3.14
double e = 9.16;
// 定义一个双精度浮点数,初始化为9.16
char ch = 'z';
// 定义一个字符,初始化为z
4、运算符
运算符 | 描述 |
---|---|
+ | 把两个操作数相加 |
- | 从第一个操作数中减去第二个操作数 |
* | 把两个操作数相乘 |
/ | 分子除以分母 |
% | 取模运算符,整除后的余数 |
= | 将等号右边计算得到的结果赋值给等号左边的变量 |
+= | 将左边变量的值与右边的值相加,结果赋值给左边变量 |
-= | 将左边变量的值与右边的值相减,结果赋值给左边变量 |
*= | 将左边变量的值与右边的值相乘,结果赋值给左边变量 |
/= | 将左边变量的值与右边的值相除,结果赋值给左边变量 |
%= | 将左边变量的值与右边的值求余数,结果赋值给左边变量 |
5、表达式 由变量、运算符和数字组成,运算符类型决定着表达式类型,如:有赋值运算符的赋值表达式、有算术运算符的算术表达式等等。
a = 3
a + b
b / 5
6 * (c - 4)
6、语句 或者更具体些,应该叫做赋值语句,C++程序中的语句都是在做赋值操作,并以分号结尾。
可能有人会说输入输出就没有在赋值啊,其实不然,输入输出语句也在做赋值,输入语句是将用户输入的值由输入流赋值给变量,输出语句是将用户计算的值赋值给输出流,再在终端显示。
7、输入与输出 (1)输入语句 【C++信奥金牌冲击之路|C++第一阶段总结与拓展】第一种是C++独有的输出方式,它可以直接识别变量类型输出。
cin >> 变量a >> 变量b ;
第二种是C语言的格式化输入函数,它必须由程序员指明变量类型,否则会造成输入异常。
基本格式为:
int scanf(const char *format, ...)
使用样例如下:
#include
using namespace std;
int main(void)
{
int a,b,c;
cout << "please input three numbers: " ;
scanf("%d%d%d",&a,&b,&c);
// %d表示整数
cout << a << ' ' << b << ' ' << c << endl;
return 0;
}
文章图片
具体类型说明符为:
文章图片
更多内容可以查看:scanf的详细说明
(2)输出语句 第一种是C++独有的输出方式,它可以直接识别参数类型,然后输出。
基本格式为:
cout << 变量/语句 << 变量/语句 << endl;
第二种是C语言的格式化输出语句,它和scanf一样,需要程序员指定输出所对应的数据类型。
基本格式为:
int printf(const char *format, ...)
使用样例如下:
#include
using namespace std;
int main ()
{
int a = 3;
float b = 1.2;
double c = 3.4;
char d = 'c';
// %d表示整数, %f表示浮点数并保留6位小数
printf("%d %f %f %c\n", a, b, c, d);
cout << a << ' ' << b << ' ' << c << ' ' << d << endl;
return 0;
}
文章图片
具体字符说明符为:
文章图片
其实,介绍printf主要是为了帮助大家解决一类题目:输出结果保留指定位数小数。
直接上题目吧~
输入两个100以内的正整数a、b,计算 a / b 的值并输出,结果保留3位小数代码如下:
#include
using namespace std;
int main() {
float a, b;
cin >> a >> b;
printf("%.3f\n", a / b);
// %.3f表示保留3位小数
// printf("%.4f\n", a / b);
// %.4f表示保留4位小数
// printf("%.5f\n", a / b);
// %.5f表示保留5位小数
return 0;
}
运行结果如下:
文章图片
这就是格式化输出,除数值精度外,还可以自主控制宽度、长度、标识,具体内容可以查看:printf的详细说明
知识点内容挺多,还请大家好好消化吸收,多多动手练习!
文章图片
推荐阅读
- opencv|opencv C++模板匹配的简单实现
- C语言学习|第十一届蓝桥杯省赛 大学B组 C/C++ 第一场
- c++基础概念笔记
- 牛逼!C++开发的穿越丛林真人游戏,游戏未上线就有百万人气
- C++Primer之|C++Primer之 函数探幽
- c/c++|有感 Visual Studio 2015 RTM 简介 - 八年后回归 Dot Net,终于迎来了 Mvc 时代,盼走了 Web 窗体时代...
- QML基础信息
- C++-类型转换
- MongoDB|MongoDB - 简介
- C++面试题目总结