C++学习(三)(C语言部分)之 基本数据类型
基本数据类型
上期回顾
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语言部分)之 基本数据类型的更多相关文章
- ndk学习之C语言基础复习----基本数据类型、数组
关于NDK这个分类在N年前就已经创建了,但是一直木有系统的记录其学习过程,当然也没真正学会NDK的技术真谛,所以一直也是自己的一个遗憾,而如今对于Android程序员的要求也是越来越高,对于NDK也是 ...
- GO学习-(5) Go语言基础之基本数据类型
Go语言中有丰富的数据类型,除了基本的整型.浮点型.布尔型.字符串外,还有数组.切片.结构体.函数.map.通道(channel)等.Go 语言的基本类型和其他语言大同小异. 基本数据类型 整型 整型 ...
- Java学习笔记:语言基础
Java学习笔记:语言基础 2014-1-31 最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...
- IOS学习笔记06---C语言函数
IOS学习笔记06---C语言函数 -------------------------------------------- qq交流群:创梦技术交流群:251572072 ...
- Struts2框架学习(三) 数据处理
Struts2框架学习(三) 数据处理 Struts2框架框架使用OGNL语言和值栈技术实现数据的流转处理. 值栈就相当于一个容器,用来存放数据,而OGNL是一种快速查询数据的语言. 值栈:Value ...
- 4.机器学习——统计学习三要素与最大似然估计、最大后验概率估计及L1、L2正则化
1.前言 之前我一直对于“最大似然估计”犯迷糊,今天在看了陶轻松.忆臻.nebulaf91等人的博客以及李航老师的<统计学习方法>后,豁然开朗,于是在此记下一些心得体会. “最大似然估计” ...
- c语言学习书籍推荐《C语言学习路线图•C语言必须知道的300个问题》下载
下载地址:点我 <C语言学习路线图•C语言必须知道的300个问题>以基础知识为框架,介绍了c语言各部分知识所对应的常见开发疑难问题,并作了透彻地解析.<C语言学习路线图•C语言必须知 ...
- day 82 Vue学习三之vue组件
Vue学习三之vue组件 本节目录 一 什么是组件 二 v-model双向数据绑定 三 组件基础 四 父子组件传值 五 平行组件传值 六 xxx 七 xxx 八 xxx 一 什么是组件 首先给 ...
- 深度学习与人类语言处理-语音识别(part2)
上节回顾深度学习与人类语言处理-语音识别(part1),这节课我们将学习如何将seq2seq模型用在语音识别 LAS 那我们来看看LAS的Encoder,Attend,Decoder分别是什么 Lis ...
- Java开发学习(三十六)----SpringBoot三种配置文件解析
一. 配置文件格式 我们现在启动服务器默认的端口号是 8080,访问路径可以书写为 http://localhost:8080/books/1 在线上环境我们还是希望将端口号改为 80,这样在访问的时 ...
随机推荐
- laravel获取的数据转换为数组
当构建 JSON API 时,您可能常常需要把模型和关联对象转换成数组或JSON.所以Eloquent里已经包含了这些方法.要把模型和已载入的关联对象转成数组,可以使用 toArray方法: $use ...
- shell 流程控制语句
case语句 case $变量名 in "值1") 如果变量的值等于值1,则执行程序1 ;; "值2") 如果变量的值等于值2,则执行程序2 ;; ...
- Windows Server 2016与旧版本系统比较
一.性能和可扩性 特征描述 Windows Server 2012/2012 R2 标准版和数据中心 Windows Server 2016 标准版和数据中心 物理内存(主机)支持 每个物理服务器至多 ...
- Object value iterator:值迭代器
// ES5 // 对于数组,使用标准的 for 循环,其实这种方式并不是在遍历值,而是遍历下标来指向值!ES5中增加了一些数组迭代器:forEach.every.some // forEach:遍历 ...
- bzoj1666
题解: 简单模拟 按照题目意思来就可以了 代码: #include<bits/stdc++.h> using namespace std; int n,ans; int main() { ...
- Saiku连接mysql数据库(二)
Saiku连接Mysql数据库展示数据 参考链接:https://www.cnblogs.com/shirui/p/8573491.html 官方文档:https://media.readthedoc ...
- box-shadow 边框阴影
box-shadow: 0 0 20px #000 inset;
- Centos7下cratedb数据导入导出copy to copy from
crate 创建表结构: 查看表: show tables; 创建表结构: create table tablename (k1 type,k2 type,k3 type); (type = int ...
- 开发中最好使用not exists 取代not in
开发中使用not in可能会存在致命的错误,在子查询中,如果存在空值,not in返回的数据就是空了,如下创建2张数据表: user表: 部门表: 现在要查询没有分配到用户的部门有哪些,使用not i ...
- tf.nn.rnn_cell.MultiRNNCell
Class tf.contrib.rnn.MultiRNNCell 新版 Class tf.nn.rnn_cell.MultiRNNCell 构建多隐层神经网络 __init__(cells, sta ...