1、算数类型。(整型和浮点型)

类型决定了数据所占的比特数以及该如何解释这些比特的内容。

练习2.1。。。 各种类型在计算机中所占的比特数不同,解释方法不同。有符号要花费一个比特存储符号,最大正值要比无符号的小。

float和double就在计算机内所占比特数量而言通常分别为32位和64位,就解释后的精度而言分别有7个和16个有效位,ps:通常,执行浮点数运算选用double,整数运算选int 或者 long long

练习2.2 全部无符号的double?

2、类型转换。关于-1%256=255,一个负数B对一个正数A取模,在B上加A,直到B变成正数,然后再对A取模。

参考:http://bbs.csdn.net/topics/390837091

练习2.3 32 42949672** 32 -32 0 0

练习2.4

D:\lab_>prog1
32
4294967264
32
-32
0
0

3、字面常量

练习 2.6 十进制和八进制的区别。 09作为八进制是不合法的,无法编译。

练习 2.7

#include<iostream>

int main()
{
// std::cout << "2\115" << '\n';
std::cout << "2\t\115" << '\n';
return ;
}

4、变量定义

比较关键的地方:变量的概念。 区分初始化与赋值。

值得关注的地方: 列表初始化。(用花括号来初始化变量, 若初始值存在丢失信息的风险, 则编译器将报错)

以及: 未被显式初始化的情况

——> 默认初始化:内置类型变量分两重情况(由位置决定)分别为 0 或 未定义,类由自己决定。

练习 2.9

#include<iostream>

int main()
{
std::cin >> int input_value; // 不可编译。
int i = { 3.14 }; // 可编译。编译器不报warning。精度丢失。 ps:相当于 i = 3.14?
int i{3.14} // 可编译。编译器报warning。精度丢失。
double salary = wage = 9999.99; // 不可编译。
int i = 3.14 ; // 可编译。编译器不报warning。精度丢失。
return ;
}

练习 2.10

#include<iostream>

std::string global_str;     // 类的默认初始化由自己决定:空字符串
int global_int; // 内置类型的初始化由位置决定: 0 int main()
{
int local_int; //内置类型的初始化由位置决定: 不被初始化, 尝试输出是4201131
std::string local_str; // 类的默认初始化由自己决定:空字符串
}

为什么不是“但凡没有初始化的变量都进行默认初始化”呢?

c++第五天:默认初始化的更多相关文章

  1. 默认初始化&拷贝初始化&直接初始化&值初始化&列表初始化

    一.各种初始化的形式 /* 定义变量形式一:不指定初始值 */ int a; // 默认初始化 /* 定义变量形式二:指定初始值 */ int b = 1; // 拷贝初始化 int b(1); // ...

  2. java变量和作用域以及成员变量的默认初始化

    Java中的变量有成员变量和局部变量,定义在类中方法之外的变量成为成员变量或者成员字段(域),表示一个类所具有的属性,定义为类的成员变量的变量的作用于是整个类,该变量在定义的时候不需要初始化,在使用前 ...

  3. mysql使用模板解决旧数据处理,默认初始化数据的通用方法!

    一 业务介绍 先来看看我这得大致业务需求,这次业务比较简单: 即从现在开始,每次new一个爷爷都需要默认初始化给这个爷爷三个儿子(子表,爷爷id去关联),并在初始化每个儿子的同时再给每个儿子初始化若干 ...

  4. C++:默认初始化

    一.什么是默认初始化 默认初始化,顾名思义,即为在定义变量时如果没有为其指定初始化值,则该变量会被C++编译器赋予默认的值.而变量被赋予的默认值到底是什么,则取决于变量的数据类型和变量的定义位置. 二 ...

  5. 探究c++默认初始化

    按照c++ primer 5th第40页的描述,如果定义变量时没有指定初值,则变量被默认初始化,此时变量被赋予了“默认值”. 根据变量定义的位置,分为两种情况: 1.定义于任何函数体之外的变量被初始化 ...

  6. C++ 值初始化和默认初始化

    对于初始化的问题,我之前一直傻傻分不清.有关初始化以及赋值的区别也是一问题,这次回过头来看,配合<<CSAPP>>的内容,对初始化有了一些新的认识. 声明: 在环境/上下文中指 ...

  7. c++全局变量,局部变量,内存布局,默认初始化

    全局变量 定义在所有函数之外的变量,main函数之内的变量也是局部变量,Globle variable  未显示初始化时执行默认初始化 局部变量 定义在函数之内的变量,Local variable 未 ...

  8. Pytorch的默认初始化分布 nn.Embedding.weight初始化分布

    一.nn.Embedding.weight初始化分布 nn.Embedding.weight随机初始化方式是标准正态分布  ,即均值$\mu=0$,方差$\sigma=1$的正态分布. 论据1——查看 ...

  9. Win10 QQ五笔默认中文,InputMode默认中文

    Win10系统安装了QQ五笔后,InputMode默认英文,必须用鼠标点或者按 Ctrl+空格才能转换为中文.非常不方便. 即使将微软拼音默认为中文也不管用,解决方法如下: 设置后,无论你打开运行.记 ...

随机推荐

  1. Freetds 连接数据库问题

    今天一个项目,需要用到连接SQLSERVER数据库,获取数据,按照以往的做法 ,安装了LNMP,装完之后在安装Freetds,然后在独立添加PHP的MSSQL的模块,./configure  make ...

  2. ZOJ 3781 - Paint the Grid Reloaded - [DFS连通块缩点建图+BFS求深度][第11届浙江省赛F题]

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3781 Time Limit: 2 Seconds      Me ...

  3. Oracle安装部署之linux OS install oracle database安装脚本

    #!/bin/bash#Purpose:Create and config oracle install.#Usage:Log on as the superuser('root') #1.creat ...

  4. Spring Data JPA(官方文档翻译)

    关于本书 介绍 关于这本指南 第一章 前言 第二章 新增及注意点 第三章 项目依赖 第四章 使用Spring Data Repositories 4.1 核心概念 4.2 查询方法 4.3 定义rep ...

  5. sum统计某字段满足某种条件的记录数

    (1)count来查询: 查询 lw_devices_type_relation 表中满足is_standard为1的数量. (2)sum来查询: ) from lw_devices_type_rel ...

  6. flask简单的路由分发

    flask简单的路由分发 from flask import Flask, request app = Flask(__name__) @app.route('/hello') def index() ...

  7. (1.1)mysql 选择合适的数据类型

    (1.1)mysql 选择合适的数据类型 1.char与varchar [1.1]char 在内容未满定义长度时,做空格填充,且字符串末尾空格会被截断:超出定义长度也会被截断.  如:char(4)  ...

  8. SQL SERVER深入学习学习资料参考

    SQL SERVER深入学习学习资料参考 1.微软Webcast<sql server 2000完结篇>. 尽管微软Webcast出了很多关于Sql Server的系列课程,但是最为深入讲 ...

  9. 虚拟机中实现Linux与Windows之间的文件传输

    虚拟机中实现Linux与Windows之间的文件传输 标签: linux 2016年06月28日 11:17:37 2092人阅读 评论(0) 收藏 举报  分类: linux(2)    一.配置环 ...

  10. python len() 函数

    Python len() Python len() 方法返回对象(字符.列表.元组等)长度或项目个数. len(obj) 方法语法 obj -- 对象(字符串.列表.元组.字典等) 字符串长度 > ...