美文网首页
C++第一阶段总结与拓展

C++第一阶段总结与拓展

作者: 在安言庆 | 来源:发表于2020-08-25 08:51 被阅读0次

编程初学者必经阶段:(入门操作)感觉好简单 -> (看他人演示)哇,神奇,有意思 -> (自行处理)嗯?怎么回事?什么情况?

其实,我们学习编程就像是在玩拼图,每拼一段时间不知后面该怎么做的时候,就得看看整体都什么效果了,还缺哪些部分,我们手里都是些什么拼图。我们先前几篇短文介绍了C++编程的入门知识点,按理说完全可以做出点东西来了,但真正去刷题时就会发现“纸上得来终觉浅”,因此,在这里来帮助大家做一下总结和拓展。

1、C++程序基本格式

#include <iostream> // 头文件
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 <iostream>
#include <cstring>
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++独有的输出方式,它可以直接识别变量类型输出。

cin >> 变量a >> 变量b ;

第二种是C语言的格式化输入函数,它必须由程序员指明变量类型,否则会造成输入异常。
基本格式为:

int scanf(const char *format, ...)

使用样例如下:

#include<iostream>
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; 
}

[图片上传失败...(image-4ee93d-1598316644170)]

具体类型说明符为:

scanf 类型说明符
更多内容可以查看:scanf的详细说明

(2)输出语句

第一种是C++独有的输出方式,它可以直接识别参数类型,然后输出。
基本格式为:

cout << 变量/语句 << 变量/语句 << endl;

第二种是C语言的格式化输出语句,它和scanf一样,需要程序员指定输出所对应的数据类型。
基本格式为:

int printf(const char *format, ...)

使用样例如下:

#include <iostream>
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;
}

[图片上传失败...(image-94fdbb-1598316644170)]
具体字符说明符为:

字符说明符

其实,介绍printf主要是为了帮助大家解决一类题目:==输出结果保留指定位数小数==。

直接上题目吧~

输入两个100以内的正整数a、b,计算 a / b 的值并输出,结果保留3位小数

代码如下:

#include <iostream>
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;
}

运行结果如下:
[图片上传失败...(image-cb09d1-1598316644170)]
这就是格式化输出,除数值精度外,还可以自主控制宽度、长度、标识,具体内容可以查看:printf的详细说明

知识点内容挺多,还请大家好好消化吸收,多多动手练习!

相关文章

  • C++第一阶段总结与拓展

    编程初学者必经阶段:(入门操作)感觉好简单 -> (看他人演示)哇,神奇,有意思 -> (自行处理)嗯?怎么回事?...

  • 零碎整点-1

    一、C和OC如何混用,C++与OC怎么混用?实现文件的拓展名.m改成.mm即可实现C文件与OC文件的混用。但是cp...

  • GeekBand C++面向对象高级编程(上) First W

    C++的历史与演化 C++起先是在C语言上面的一种拓展,后来演化到现在,已经是一门独立且备受瞩目的语言了。语言关系...

  • 百日生涯营V1总结(57-翠云)

    时间过得真快,(ง •̀_•́)ง21天竟然就这样结束了。 第一阶段,总结下收获与不足。 ...

  • 拓展总结

    来自龙江六福小龙店陈丽芳的心得感想 首先非常感谢公司给予这次机会的机会,才让我们来自五湖四海得兄弟姐妹们聚集在一...

  • 拓展总结

    之前没有参加过类似的拓展训练,有的也只是开学前的军训。所以,对拓展训练比较陌生,仅有的印象也只是停留在概念上。 除...

  • C++ 总结 (一、基础篇)

    C++ 总结 (一、基础篇) 官网 C++ 完全兼容C语言,但是有自己的语法特点,本文总结了C++的基础知识。记录...

  • 拓展训练的总结与反思

    两天一夜的拓展训练已经结束,而对于我来说仅仅是一个开始。这么多年无论曾经是在什么岗位上,学习的脚步从没有停下来。进...

  • 深入探索C++对象模型

    一个博客,这个博客记录了他读这本书的笔记,总结得不错。《深度探索C++对象模型》笔记汇总 1. C++对象模型与内...

  • 接受挑战性任务

    果断 采取有效策略与积极态度 随时汇报进度与风险 总结失败经验 可用于职业规划的放大优势的第一阶段

网友评论

      本文标题:C++第一阶段总结与拓展

      本文链接:https://www.haomeiwen.com/subject/chdajktx.html