1. 输入输出

1)控制符

2) 如果要读取所有输入的字符,包括空格和回车,可以有如下两种方法,其中EOF在windows里默认是 ctrl+Z

注:输入字符时,scanf不会跳过空格,输入其他类型数据时会跳过空格。但是cin会跳过空格。

#include <iostream>
using namespace std;
int main(){
    int a;
    while((a = cin.get()) != EOF){
        cout << (char)a;
    }
    char c;
    while(scanf("%c",&c) != EOF){
        printf("%c",c);
    }
    ;
}

3)cin/cout比scanf/printf速度慢,因此数据量比较大时推荐使用后者。此外在一个程序里不建议同时使用cin和scanf,或者同时使用cout和printf。

4)freopen重定向输入:用于调试程序时避免手动输入测试数据

注:1.文件路径的输入用到了\\而不是\,是因为字符串的输入中要输入\就得在前面加个\;2.while(cin>>n) 这里也可以用while(scanf("%d",&n) == 1),对于scanf来说,返回值为输入变量的数目,对于cin来说,返回值为是否按要求输入了所有的变量(即0和1),停止输入可输入ctrl+Z。

2. 加减乘运算

1)以操作数中精度高的类型为准,其中

double>long long>int>short>char

2)运算溢出

溢出的部分直接丢弃,举例如下。解决溢出的方法就是使用更高精度的数据类型。

3. 运算符优先级

 4. switch

switch语句在进入某个case分支后,会一直执行到第一个碰到的break,即使这个break是在后面的case 分支中,直到swith语句末尾的}。举例如下

 5.数组

注:1.数组一般不要定义在main里面;2.数组越界,比如定义int a[10],语句a[-2]=100编译也不会报错,但可能会修改其他变量的值,或者访问指令区域,使得程序运行会出错。

举例:筛法求n以内的素数(素数即不存在除1和本身外的因子)

思路1):遍历一一判断。判断数j,即判断小于等于j的平方根的数可不可以整除j;

思路2):对于数i,删掉i的倍数的数

6.函数

1)传值:形参只是实参的拷贝,形参的改变不影响实参

2)传引用:形参的改变影响实参,比如数组

7.库函数和头文件

库函数是由编译器自带的,为使用这些库函数需要有声明,而头文件内部即包含许多库函数的声明。

比如 cin cout ,需要使用头文件iostream 因此需要#include <iostream>

8.位运算

按位与&:置0

按位或|:置1

按位异或:取反 0xff(1111 1111)

注:异或运算的特点是 如果a^b=c则 c^b=a c^a=b 此特点可用于加密解密,或者交换两个数的值

c++学习day2的更多相关文章

  1. NodeJS学习day2

    今天还是接着学习IO,主要方面是文件路径相关操作 练习代码如下: const fs = require('fs') // 执行C:\CS\Node.js>node .\day2\fsRoad.j ...

  2. Python学习-day2

    这周时间充裕,把第一周的两个作业登陆验证和三级菜单做完后又用零零散散的时间看完了第二周的课程,不得不说老男孩这个教育方式感觉还是不错的,其实说白了就是花钱找个人监督自己学习呗,而且还强行让我们养成一些 ...

  3. python学习day2

    一.模块初识 python模块 模块让你能够有逻辑地组织你的Python代码段. 把相关的代码分配到一个 模块里能让你的代码更好用,更易懂. 模块也是Python对象,具有随机的名字属性用来绑定或引用 ...

  4. python全栈学习--day2

    一.in的使用 说明:in有相当多的用处,比如判断,循环for 等. 实例一:in 操作符用于判断关键字是否存在于变量中 s = '男人john' print('男孩' in s) print('男孩 ...

  5. Python基础学习Day2

    一.格式化输出 需求格式化输出:姓名.年龄.工作.爱好 # 格式化输出 name = input('请输入用户名:') age = input('请输入年龄:') job = input('请输入你的 ...

  6. Python爬虫学习 - day2 - 站点登陆

    利用Python完成简单的站点登陆 最近学习到了爬虫,瞬时觉得很高大上,想取什么就取什么,感觉要上天.这里分享一个简单的登陆抽屉新热榜的教程(因为它不需要验证码,目前还没有学会图像识别.哈哈),供大家 ...

  7. Pyhton学习——Day2

    Python开发IDE(工具)Pycharm.eclipse1.循环while 条件 #循环体 #条件为真则执行 #条件为假则执行break用于退出所有循环continue用于退出当前循环 2.Pyc ...

  8. HTML学习----------DAY2第五节

    属性为 HTML 元素提供附加信息. HTML 属性 HTML 标签可以拥有属性.属性提供了有关 HTML 元素的更多的信息. 属性总是以名称/值对的形式出现,比如:name="value& ...

  9. HTML学习----------DAY2第四节

    HTML 文档是由 HTML 元素定义的. HTML 元素 HTML 元素指的是从开始标签(start tag)到结束标签(end tag)的所有代码. 注释:开始标签常被称为开放标签(opening ...

  10. Linux学习Day2:安装RedHat Linux和新手必须掌握的命令

    今天是Linux线上培训的第二天,主要是Linux环境的安装和几个常见命令的学习,具体如下: 一.RHEL7系统的安装 首先是VMware WorkStation 12.0软件的安装,然后是RHEL7 ...

随机推荐

  1. Ambari集成Kerberos报错汇总

    Ambari集成Kerberos报错汇总 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看报错的配置信息步骤 1>.点击Test Kerberos Client,查看相 ...

  2. 网络编程基础【day10】:我是一个线程(四)

    本节内容 1.第一回 初生牛犊 2.第二回 渐入佳境 3.第三回 虎口脱险 4.第四回 江湖再见 第一回 初生牛犊 我是一个线程,我一出生就被编了个号:0x3704,然后被领到一个昏暗的屋子里,在这里 ...

  3. 开源图片文字识别引擎——Tesseract OCR

    Tessseract为一款开源.免费的OCR引擎,能够支持中文十分难得.虽然其识别效果不是很理想,但是对于要求不高的中小型项目来说,已经足够用了. 文字识别可应用于许多领域,如阅读.翻译.文献资料的检 ...

  4. AI Accord.NET入门

    Accord.NET官网:http://accord-framework.net/index.html Accord.NET的Github页面:https://github.com/accord-ne ...

  5. CSS常用选择器的认识

    ---恢复内容开始--- 前言:在CSS中选择器的种类有很多很多,但是在实际的工作中,我们经常会用到的分为两大类:基础选择器和复合选择器这两个大类,学习选择器的目的就是为了在复杂的页面中能够快速定位到 ...

  6. invalid location of tag 解决办法

    转自:https://blog.csdn.net/tanzuai/article/details/41896579 在jsp页面使用标签过程中有时候不注意规则的话,eclipse会提示一些错误,下面针 ...

  7. java 调用 python 脚本

    有时候在java项目里,需要执行Python脚本以下几种方式: 1.直接执行Python脚本代码 引用 org.python包 创建一个 python解释器,貌似这种方式不可以导入第三方库,模块... ...

  8. oracle字符串提取记录

    背景:需要限制用户操作次数,而用户操作次数只有统一的日志表有记录. 并且,因为在批量查询中也需做限制,所有需要一次查询多条数据,保证效率.后来采用视图做的 视图 instr 查找字符串,返回起始坐标, ...

  9. linux大法好。。。。。

    vim: 移动光标至段首:^或者home键 移动光标至段尾:$或者end键 删除光标位置到本行开头:d0或者d^ 删除光标位置到本行末尾:D或者d$ 撤销操作:u 取消撤销操作:ctrl+r ---- ...

  10. listView item分割线不显示

    在华为平板上列表上分割线第一个不显示,增大dividerHeight代码解决 <ListView android:id="@+id/list_view" android:di ...