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,这样在访问的时 ... 
随机推荐
- QuickStart系列:docker部署之MariaDB
			Centos7里面没有Mysql 取而代之的是MariaDB,MariaDB是完全开源的.MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的 ... 
- dell win10 productkey
- Saiku的下载与安装(一)
			Saiku- 数据可视化的工具,连接数据源展示数据,并且可方便导出xls/csv/pdf等文件的工具 一.Saiku下载 社区网址:https://community.meteorite.bi/ 二. ... 
- S2  深入.NET和C#编程 机试测试错题积累
			机试第一题: //创建文件流(路径 模式) FileStream fa = new FileStream(@"D:\\S2第一次全文 ... 
- Java 安装后的检测是否安装成功
			下载安装JDK(Java SE development Kit) Java是有sun公司发行的编程语言,JDK的官方下载地址为:http\\ java.sun.com 昨天选择下载的是jdk-8u10 ... 
- 界面控件DevExpress发布v18.2.5|附下载
			DevExpress Universal Subscription(又名DevExpress宇宙版或DXperience Universal Suite)是全球使用广泛的.NET用户界面控件套包,De ... 
- Centos7 LVM扩充存储空间
			一. 以root账户运行命令界面:su or su - 二. 查看分区使用情况: fdisk -l /dev/sda or fdisk -l 三. 选择要扩充的分区,以sda2为例: fdisk / ... 
- kettle在linux下执行任务
			1.下载 最新版下载 7.1 https://community.hitachivantara.com/docs/DOC-1009855 准备 上传任务文件 .kjb,.ktr 上传mysql 驱动 ... 
- vue-cli快速构建vue项目模板
			vue-cli 是vue.js的脚手架,用于自动生成vue.js模板工程的. 1.使用npm安装vue-cli 需要先装好vue 和 webpack(前提是已经安装了nodejs,否则连npm都用不了 ... 
- git  继续前进篇
			* git 输入 git log (--all)命令后出现<END>标记? 按q退出历史记录列表即可 * 继续前一天的 继续推送到github 步骤看图 先 链接到 之前工作区 的 文 ... 
