基本数据类型

上期回顾

stdlib.h system,命令
release MT
导入ico文件

基本数据类型

整数 int
浮点型(小数 实型) float double
字符型 char

变量 常量
速度 v 表示 重力加速度 g 9.8m/s^2
运行中可变的两——>变量 不可变——>常量

1.存放什么类型的数据 2.数据范围 3.需要多大的内存
int 存放整数
longlong long short 也可以存放整数 区别就是存放的范围不一样

字节 byte 比特 bit
计算机存放的都是二进制 一位为一个bit 一个字节就是8个bit 1Byte=8bit
1GB 是指1G个字节
普通规则
1MB 1000KB
+1KB 1000字节
1+G 1000M

计算机规则
1024
1M 1024K 2^10

100M的网——>12.5M/s
20M——>2.5MB/s
4Mb/s 500Kb/s 0.5MB/s

基本单位 字节

int 存放整数 -2^31---2^31-1
4个字节(32bit 2^32个整数 大概是9位数)

char 存放字符(本质上也是整数 见ASCII表)
<> N a 1 2 3 -128--127
0--127 对应一个字符(对应关系就是ASCII表)
按住ALT在小键盘按数字 松开就可以打印出对应的字符
占用大小 1个字节

float 单精度浮点型 4个字节 能精确到小数点后6-7位 范围 -3.4*10^(38)~3.4*10^(38)
double 双精度浮点型 8个字节 能精确到小数点后16-17位 范围 -1.7*10^(308)~1.7*10(308)*-/

变量命名规则
1.必须是数字 字符 下划线 美元符号 数字不能作为开头
2.不能和已有的关键字重名
关键字总共有32个
3.VS可以用中文命名 其他的编译器不行

命名规范
——>

驼峰命名法(小驼峰) 推荐
几个单词组成 第一个单词全小写 其余单词首字母全大写
ipadMini

帕斯卡命名法(大驼峰)
几个单词组成 所有的单词首字母全大写
ThinkPad

匈牙利命名法
通过前缀表示变量属性
char c_ch; //c表示字符型
a 表示数组
b 表示布尔值
by 表示字节

目前先用小驼峰
以后工作 根据公司的要求来

************************************************************************************************************************************************************/

总结:

1、四种基本数据类型

int          整型

char      字符型

double  双精度浮点型

float     单精度浮点型

对于浮点型double/float

2、命名规则

1.必须是数字 字符 下划线 美元符号 数字不能作为开头
2.不能和已有的关键字重名
关键字总共有32个
3.VS可以用中文命名 其他的编译器不行

3、命名规范

驼峰命名法(小驼峰) 推荐
 

帕斯卡命名法(大驼峰)

匈牙利命名法

4、ASCII表

5、C++种所有的数据类型以及关键字(32个)

一:表示数据类型
1、char      单字节整型数据
2、int       基本整型数据
3、long      长整型数据
4、short     短整型数据
5、signed    有符号数
6、unsigned  定义无符号数据
7、double    定义双精度浮点型数据
8、float     定义单精度浮点型数据
9、void      定义无类型数据

10、union    联合类型数据:

对于union,分两步:先算union对齐大小,对齐的大小是取决于union成员中字节对齐最大的那个;再算union实际分配的空间,而分配给union的实际大小不仅要满足是对齐大小的整数倍,同时要满足实际大小不能小于最大成员的大小。

11、enum     枚举

二:修饰变量
12、extern   在其它程序模块中说明了全局变量
13、register CPU内部寄存的变量
14、auto     局部变量(自动储存)
15、const    定义不可更改的常量值
16、static   定义静态变量

17、struct   定义结构类型数据

对于stuct,分三步:先算struct的对齐大小,对齐的大小也是取决于struct成员中字节对齐最大的那个;然后根据每个成员的对齐大小对齐每个成员算出分配的空间;最后算出struct实际分配的空间,在满足对齐每个成员的基础上,满足是Struct对齐大小的整数倍。

18、typedef  重新定义数据类型

使用typedef定义函数指针:typedef void(Fun*)(void)

19、volatile 防止编译器进行自动优化,比如:局部const变量通过地址进行修改时,编译器将其优化到了寄存器中,导致修改不起作用。

三:用于循环结构
20、for      构成for循环语句
21、while    用于构成do...while或while循环结构
22、do       用于构成do.....while循环语句
23、if       构成if....else选择结构
24、else     构成if.....else选择程序结构
25、switch   构成switch选择结构
26、default  switch语句中的默认选择项
27、case     switch语句中选择项

四:跳出循环,或其它操作

28、continue 中断本次循环,并转向下一次循环
29、return   用于返回函数的返回值
30、break    无条件退出程序最内层循环
31、sizoef   计算表达式或数据类型的占用字节数
32、goto     构成goto转移结构

二次学习 补充笔记

/*
编译器 VS2013 必装

win32控制台应用程序
安全周期 新版旧版函数
C4996 scanf_s
cpp C++的文件 .c C语言

代码写在一个项目里面
项目--->几个程序就几个项目
解决方案 一个解决方案可以管理多个项目 设置启动项就运行什么项目
生成会生成所有项目的exe 但是运行只运行启动项

--->项目到哪里去找
解决方案 sln文件 (管理其他文件)
项目 vcproject
发送代码 .c .cpp
发项目 整个项目文件夹

注释 注释量到达代码量30%

F1打开在线帮助文档

分号 语句结束

概念
1.变量和常量
程序 对数据进行操作

在程序运行中会发生变化的数据量 变量 不会发生改变的 常量

C语言的数据有类型区分
整数 整型 小数 浮点型存
//#define const常属性的意思

2.基本数据类型(32位环境下)
C语言 基本数据类型
int char float double
int 整型 整数(有负数) 大小(内存需要多大的空间存放)
和范围(int存放什么范围的数据)

4个字节 -2^31~2^31-1

short 短整型 int不能小于short的大小
long 长整型 long的大小不能低于int
long long 8个字节

有符号 无符号
signed 有符号 (默认) 温度 可正可负
unsigned 无符号 体重 没有负数
unsigned int(不能存放负数 存放都是正数)
有符号和无符号的区别 数据范围不一样 类型大大小是一样的
//0 1 2 3 -2 -1 0 1

char 类型 1个字节 存放是字符 M a t
本质上 存放的是整数 -128~127
0~127--->对应128个不同的字符 对应关系 ASCII码表
表格不需要背
按下alt 小键盘输入数字 松开打印对应的字符(有些字符是非打印字符)

浮点型(实型) 小数类型
float 单精度浮点型 4个字节 -3.4*10^38~3.4*10^38
double 双精度浮点型 8个字节 -1.7*10^308~1.7*10^308
精度 float 6~7位小数 double 16~17位
运算速度 float 运算速度快于double

都是有符号 没有无符号的

3.输入输出基本格式
输出函数 printf
输入函数 scanf

格式占位符 区分类型
%d 用于int
%c 用于char
%f 用于float
%lf 用于double

%s 用于字符数组(后面学到)

printf("你要输出的内容 你要输出的格式占位符(变量/值)",变量或者值);
//==>
变量
类型 变量名;
int a=9;//定义变量
a=32;//给变量赋值 修改变量存放的值

printf("%d",sizeof(类型/变量名));//求大小 单位是字节
//变量打印之前要赋值 然后要定义之后才能使用

scanf用于输入 输入密码 输入账号
输入的内容 存放到变量里面
scanf("%d",&a)//要放到变量里面 所以取变量

tips: printf没那么严格 类型和变量不匹配 输出一个不正确的值
但是scanf类型不匹配会报错

printf的时候 %f/%lf没有区别 但是scanf区别很大

一般输入要用printf来提示

4.变量命名规则

变量定义 类型+变量名
int x;
double y;

1.变量名 数字 下划线 字母 美元符号组成$
2.不能数字作为开头
3.不能和已有的标识符重名

标识符 你定义的唯一的一个名字 变量名
关键字 系统使用的标识符
C语言有32个关键字 不能作为变量名

作业 :查 32个关键字 -->手敲一份

VS里中文可以作为变量名

通用的命名规范 (工作具体使用什么命名 根据你公司的规定)
一个好的命名 见名知意

驼峰命名法(用的比较多)(小驼峰)
除了第一个单词外 所有单词首字母全部大写
iPadMini
ideaPad
mciSendString
帕斯卡命名法(大驼峰)
所有单词的所有首字母全部大写
PlaySound 播放音乐的函数
GetMouseMsg
匈牙利命名法(win32 MFC)
前面加类型
iMyAge ==>i int类型 鸡蛋egg

i int
c char
f float

作业 24期-学号-昵称-第几次作业
发送到 3003792986@qq.com
发txt或者cpp
手敲 32个关键字

--->更改同样的单词

*/

2018.05.13  18:26:38

C++学习(三)(C语言部分)之 基本数据类型的更多相关文章

  1. ndk学习之C语言基础复习----基本数据类型、数组

    关于NDK这个分类在N年前就已经创建了,但是一直木有系统的记录其学习过程,当然也没真正学会NDK的技术真谛,所以一直也是自己的一个遗憾,而如今对于Android程序员的要求也是越来越高,对于NDK也是 ...

  2. GO学习-(5) Go语言基础之基本数据类型

    Go语言中有丰富的数据类型,除了基本的整型.浮点型.布尔型.字符串外,还有数组.切片.结构体.函数.map.通道(channel)等.Go 语言的基本类型和其他语言大同小异. 基本数据类型 整型 整型 ...

  3. Java学习笔记:语言基础

    Java学习笔记:语言基础 2014-1-31   最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...

  4. IOS学习笔记06---C语言函数

    IOS学习笔记06---C语言函数 --------------------------------------------  qq交流群:创梦技术交流群:251572072              ...

  5. Struts2框架学习(三) 数据处理

    Struts2框架学习(三) 数据处理 Struts2框架框架使用OGNL语言和值栈技术实现数据的流转处理. 值栈就相当于一个容器,用来存放数据,而OGNL是一种快速查询数据的语言. 值栈:Value ...

  6. 4.机器学习——统计学习三要素与最大似然估计、最大后验概率估计及L1、L2正则化

    1.前言 之前我一直对于“最大似然估计”犯迷糊,今天在看了陶轻松.忆臻.nebulaf91等人的博客以及李航老师的<统计学习方法>后,豁然开朗,于是在此记下一些心得体会. “最大似然估计” ...

  7. c语言学习书籍推荐《C语言学习路线图•C语言必须知道的300个问题》下载

    下载地址:点我 <C语言学习路线图•C语言必须知道的300个问题>以基础知识为框架,介绍了c语言各部分知识所对应的常见开发疑难问题,并作了透彻地解析.<C语言学习路线图•C语言必须知 ...

  8. day 82 Vue学习三之vue组件

      Vue学习三之vue组件   本节目录 一 什么是组件 二 v-model双向数据绑定 三 组件基础 四 父子组件传值 五 平行组件传值 六 xxx 七 xxx 八 xxx 一 什么是组件 首先给 ...

  9. 深度学习与人类语言处理-语音识别(part2)

    上节回顾深度学习与人类语言处理-语音识别(part1),这节课我们将学习如何将seq2seq模型用在语音识别 LAS 那我们来看看LAS的Encoder,Attend,Decoder分别是什么 Lis ...

  10. Java开发学习(三十六)----SpringBoot三种配置文件解析

    一. 配置文件格式 我们现在启动服务器默认的端口号是 8080,访问路径可以书写为 http://localhost:8080/books/1 在线上环境我们还是希望将端口号改为 80,这样在访问的时 ...

随机推荐

  1. laravel获取的数据转换为数组

    当构建 JSON API 时,您可能常常需要把模型和关联对象转换成数组或JSON.所以Eloquent里已经包含了这些方法.要把模型和已载入的关联对象转成数组,可以使用 toArray方法: $use ...

  2. shell 流程控制语句

    case语句 case $变量名 in "值1")   如果变量的值等于值1,则执行程序1 ;;  "值2")   如果变量的值等于值2,则执行程序2 ;;   ...

  3. Windows Server 2016与旧版本系统比较

    一.性能和可扩性 特征描述 Windows Server 2012/2012 R2 标准版和数据中心 Windows Server 2016 标准版和数据中心 物理内存(主机)支持 每个物理服务器至多 ...

  4. Object value iterator:值迭代器

    // ES5 // 对于数组,使用标准的 for 循环,其实这种方式并不是在遍历值,而是遍历下标来指向值!ES5中增加了一些数组迭代器:forEach.every.some // forEach:遍历 ...

  5. bzoj1666

    题解: 简单模拟 按照题目意思来就可以了 代码: #include<bits/stdc++.h> using namespace std; int n,ans; int main() { ...

  6. Saiku连接mysql数据库(二)

    Saiku连接Mysql数据库展示数据 参考链接:https://www.cnblogs.com/shirui/p/8573491.html 官方文档:https://media.readthedoc ...

  7. box-shadow 边框阴影

    box-shadow: 0 0 20px #000 inset;

  8. Centos7下cratedb数据导入导出copy to copy from

    crate 创建表结构: 查看表: show tables; 创建表结构: create table tablename (k1 type,k2 type,k3 type);  (type = int ...

  9. 开发中最好使用not exists 取代not in

    开发中使用not in可能会存在致命的错误,在子查询中,如果存在空值,not in返回的数据就是空了,如下创建2张数据表: user表: 部门表: 现在要查询没有分配到用户的部门有哪些,使用not i ...

  10. tf.nn.rnn_cell.MultiRNNCell

    Class tf.contrib.rnn.MultiRNNCell 新版 Class tf.nn.rnn_cell.MultiRNNCell 构建多隐层神经网络 __init__(cells, sta ...