文档章节

C++语言入门知识点(详细版)【持续更新每周三更】,小舒舒戳这里!!!

o
 osc_fmg49rzg
发布于 2019/03/20 11:18
字数 1636
阅读 12
收藏 0
c++

精选30+云产品,助力企业轻松上云!>>>

时间过得好快啊,LITTLESUN已经在这块新地图摸打滚爬了一个多月了。前一段时间出了点小意外一直没能更新博客,昨天被小舒舒催更了(惭愧惭愧)便准备着手来一篇回忆录回首一下这一个月走过的风风雨雨,也希望可以帮到要入门C++的小可爱们~【如果有错误欢迎各位大佬指正】

  一.  输入和输出

  入门C++几乎所有人的第一个程序都是“Hello,World!”吧。所以最最基础的就是输入和输出啦!

  想要完成输入和输出由三个技能可以进行选择

  • getchar()&putchar()
  • cin&cout
  • scanf&printf

  经常使用的是后面的两种这里我就仅展开讲解它们啦!

  cin和cout是C++语言中特有的输入输出语言需要调用iostream库

  使用cin>>输入变量>>“输入常量”来实现输入

  使用cout<<输出变量<<“输出常量”来实现输出

  第三种是C语言的相比于上一种区别在于比较快但写起来比较麻烦调用cstdio库

  但在学习这种输入方式时,新手很容易就会迷。所以下面要划重点啦!!!睡觉的同学醒一醒啊!!!(敲黑板)

  首先我们来对比一下这组输入输出之间的不同在哪里:

  例:

  scanf("%d",&n);

  printf("n=%d",n);

  在大家思考上面的问题时LITTLESUN来给大家分析一下上面的语句:

  %d出现了两次是什么意思呢?

  这里我们就要引入数据类型的概念了!(请先行查看知识点二)

  而%d对应的数据类型就是int 整数型了

  longlong的话则替换为%lld

  double则是%lf

  单个字符是%c

  字符串是%s

  而n就是int这个整数型变量的变量名。我们可以随意替换只要这个变量名在前面已经定义过且数据类型与前面%后面的相对应。

  在输出时" "里面有什么就会打印到屏幕上什么%用于转义变量(如果不是很理解可以上机手操试一下区别会有深刻的理解)

  现在回到最初的问题第三种输入输出方式中最大的不同就是输入的变量前面由一个&,这个&是用于访问输入变量的地址(这个可以不用理解只要记得一定不要忘记打&就好啦!)

  最后补充一个小的知识点:

  换行的问题——当输出多个数据的时候我们为了区分可能需要在输出中加入换行的格式

  上面两种输出方式的换行可以这样来写:

  cout<<endl;

  printf(“%d\n”,n);

      二.数据类型

  程序通常是要用于解决一类问题所以我们会经常的需要定义变量,变量的名字可以随我们的喜好来定义(为了增加程序的可读性最好定义一个有意义的变量名字【对于变量的命名其实还是很讲究的这里放上一位大佬的博客的链接如果对这个技能点感兴趣可以去学习一波https://www.cnblogs.com/Mrpopo/p/5714718.html】)

  在这里介绍三种基本的数据类型:

  • 整数型

  根据整数的范围定义整数型变量的标识符也会有所不同,下面是三种数据范围

   short   -32768 ... 32767(一般不用)

   int    -2147483648  ... 2147483647

   long long  -10^18 .. 9.22*10^18

  一般情况下使用int 变量名 就可以满足我们的需求。但是做题的时候使用long long会比较保险(当然long long也有会爆的时候,如果遇到这种情况就需要考虑换一个程序来解决这个问题了!)

  • 实数型

  实数也被叫做浮点数。

  常见的由float和double,它们的区别主要在于精度不同也就是有效小数位数不同。

  所以我们常用的还是有效位数比较多的double(18位)

  这里要注意一个问题就是由于计算机使用的时二进制,所以使用浮点数会存在浮点误差,也就是很难想明白的一个问题:3不等于3

  为了解决浮点误差带来的问题我们可以采取下面的方式(这里不是很理解或者看不懂可以先跳过去)

  for(n=1;(S < K) || (fabs(S - K) < 1e-8);n=n+1)

  • 字符

  我们使用char和string来定义字符变量

  在这里我们可能会经常使用到一个神奇的表ASCII表https://baike.baidu.com/pic/ASCII/309296/0/c2fdfc039245d688c56332adacc27d1ed21b2451?fr=lemma&ct=single#aid=0&pic=c2fdfc039245d688c56332adacc27d1ed21b2451(美国信息交换标准代码)

  对这个表的意义和作用LITTLESUN就不班门弄斧了,大家可以去维基百科看一看哦~

  三.布尔

  很多时候我们都需要去判断一个条件的真假。这个时候我们就需要使用布尔逻辑或者定义一个布尔变量。

  布尔逻辑是什么呢?通俗点来说就是或,且,非。(就是我们数学在学习集合之间关系的那个知识)。

  之后要谈到的知识点if语句,while语句,for语句等等中我们会经常使用布尔逻辑。

  多个条件间使用&&表示这多个条件要同时满足才为真;

  多个条件间使用||表示这多个条件只要有一个满足就为真;

  ==表示询问是否等于(注意区分它和=的区别【=是用于赋值的】)

  !表示非,就是所谓的补集。

  在计算机的认知里只要所给数字不是0就可以等价与1。这里0也就是false,1是true。

  我们经常使用布尔逻辑进行特判,注意在多个条件出现时要学会使用()分清楚其不同条件的优先级。

  我们会经常使用布尔变量进行标记。

  四.入门难度第一阶段推荐题单

  这道题可以尝试使用第一个知识点中的两种输入输出方式进行练习。

  • 洛谷P1421 小玉买文具

  这道题有两种思路,一个分组计算,一个化整为零。大家可以都尝试一下!

  

下一篇: c#二维码生成
o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
经验总结:超详细的 Linux C/C++ 学习路线!大厂面试指南

❝ 文章每周持续更新,「三连」让更多人看到是对我最大的肯定。可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇)❞ 最近在知乎经常被邀请回答类似如何学习C++...

柠檬橙1024
04/09
0
0
《C++ Primer中文版(第5版)》学习笔记与习题完整发布! - 知乎

https://zhuanlan.zhihu.com/p/109298643 红色石头的个人网站:红色石头的个人博客-机器学习、深度学习之路 现在 Python 越来越流行,学习人工智能也大都以学习 Python 为主。然而,C++ 仍然...

osc_sxdofc9c
03/19
5
0
学习C++的经典书籍

C++ 是一门难学易用的语言!一旦学成,妙用无穷。 相关书籍之多,人人都想找到一份学习的辟邪剑谱。 在这里,由浅入深的罗列出C++的相关书籍,可以根据你的需要去选择自己需要的书籍。 跟随本...

jay603
2019/05/26
327
0
Qt资料大全

Qt资料大全 标签: Qt / Qt资料 / Qt书籍 / Qt博客 / Qt论坛 / 43722 编辑 删除 简述 发福利了、发福利了、发福利了,重要的事情说三遍。。。 为了方便更多Qter了解、学习Qt,现将相关资源进...

osc_u949m2a6
2019/04/19
2
0
Qt 资料大全

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011012932/article/details/51752029 简述 发福利了、发福利了、发福利了,重要的事情说三遍。。。 为了方便...

一去丶二三里
2016/06/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

linux下java环境搭建

1、jdk下载: 官方地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html 如下图所示,我这边选择的是红框中的版本 2、压缩包上传至服务器 将下载的压缩包上传...

wc_飞豆
17分钟前
17
0
面试题:Java对象不再使用时,为什么要赋值为null?

前言 许多Java开发者都曾听说过“不使用的对象应手动赋值为null“这句话,而且好多开发者一直信奉着这句话;问其原因,大都是回答“有利于GC更早回收内存,减少内存占用”,但再往深入问就回...

码农突围
19分钟前
11
0
设计模式(5) 原型模式

原型模式 原型模式的适用场景 浅拷贝 深拷贝 用Initialize方法修改初始化状态 原型模式与之前学习的各种工厂方法、单例模式、建造者模式最大、最直观的区别在于,它是从一个既有的对象“克隆...

zhixin9001
19分钟前
7
0
获取免费的pycharm激活码网站

http://www.lookdiv.com/

云烟成雨forever
19分钟前
17
0
用Helm部署Kubernetes应用,支持多环境部署与版本回滚

1 前言 Helm是优秀的基于Kubernetes的包管理器。利用Helm,可以快速安装常用的Kubernetes应用,可以针对同一个应用快速部署多套环境,还可以实现运维人员与开发人员的职责分离。现在让我们安...

南瓜慢说
20分钟前
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部