一 工具VS2013
本质:集成开发环境(IDE)包括编辑器 编译器 调试器 等
操作:
Ctrl+F5 运行
F5 调试
逐语句:F11 逐过程:F10
Ctrl+K+C 注释
Ctrl+K+U 取消注释
Ctrl+滚轮 放大缩小
二 项目文件分析
.sln:打开项目(解决方案)
.sdf:分析文件
.cpp:源文件
.h :头文件
一般源文件和头文件是成对出现,文件名相同(hero.h hero.cpp)
三 程序
1 流程
a 程序员在编辑器编辑代码-->编译器编译-->运行 需要调试时 由程序员手动启动调试器(一般需要断点)
b 程序执行顺序:从上往下执行 遇到特定结构,按照语法规则执行
2 入口
main()函数 是程序的入口 又叫主函数、入口函数
每个项目有且仅有一个
3 注释
// 单行注释
/*
多行注释
*/
注释是不会被程序执行
4 代码
主函数中,return语句下面的代码 不会被执行
5 引用头文件时,<> 和 "" 的区别
<>:直接在系统目录下查找文件,找不到就报错 "":先在当前目录下查找文件,找不到就在系统目录下查找文件,再找不到就报错 总结:为了程序执行的速度合理选择查找方式 一般情况下,自定义文件使用"",系统文件使用<>
四 输入输出
int a,b,c;
scanf("%d %d,%d",&a,&b,&c);//注意先空格再逗号 ==>规定输入格式,输入时必须按照指定各式输入
printf("a=%d,b=%d,c=%d\n",a,b,c);// 注意顺序
char ch;
scanf("%c",&ch);
printf("ch = %c",ch);
printf("ch = %d",ch);
C++:
int e,f,g;
cin>>e>>f>>g;
cout<<"e="<<e<<" f="<<f<<" g="<<g<<endl;
C语言和C++语言的关系:
· C语言和C++是两门不同的语言
· C++包含了几乎全部的C语言内容
· C语言:面向过程的语言 C++:既可以面向过程又可以面向对象的语言
· C++是在C语言的基础上发展而来,C++在C语言的基础上增加了“类”的概念,从而可以实现面向对象编程
五 进制转换
内存:基本单位:字节(一个字节存储8位二进制)
概念:满几进一 就是几进制
常用进制:二进制 八进制 十进制 十六进制
注意:三位二进制对应一位八进制 四位二进制对应一位十六进制
八进制:017 023 0开头表示八进制
十六进制: 0XA5 0xa5 0x或0X开头表示十六进制
二进制 0 1 (和十进制转换的方法)
八进制 0 1 2 3 4 5 6 7
十进制 0 1 2 3 4 5 6 7 8 9
十六进制 0 1 2 3 4 5 6 7 8 9 a b c d e f 或 0 1 2 3 4 5 6 7 8 9 A B C D E F
六 常量和变量
常量:固定不变的量 不能赋值 (字符 数值 地址)
变量:可以改变的量 可以赋值
七 基本数据类型(变量)
整 型:整数类型
short(2) 短整型
int(4) 整型
long(4) 长整型
long long (8)
浮点型:
float(4) 单精度浮点型
double(8) 双精度浮点型
long double (8) 扩展精度浮点数
float number = 3.14e3;//3.14*10^3 科学计数法 e后面必须是整数
printf("number = %5.2f\n",number);//宽度为5 两位小数 总宽度可以超过5,不足用空格在前面补齐
字符型:
char(1)
1 char与字母
char ch = 'a';
printf("ch = %c\n", ch);//指定输出格式为字符(%c)
printf("ch = %d\n", ch);//(%d)==>字符型和整数可以相互转换 (ASCII)
char ch1 = 99;
printf("ch1 = %c\n", ch1);
printf("ch1 = %d\n", ch1);
char ch2 = '\141';
// \后面可以跟三位八进制 \是一个字符 叫做转义字符
// 由于char类型表示的范围有限最大'\377'
printf("ch2 = %c\n", ch2);
printf("ch2 = %d\n", ch2);
char ch3 = 0X42;
printf("ch3 = %c\n", ch3);
printf("ch3 = %d\n", ch3);
总结:可以给char类型变量赋字符、数值,但是八进制要'\141'
数值最大不能超过char的表示范围
// ASCII码 a:97 A:65 差值:32
// b:98 B:66 插值:32
// ……
// 同一个字母,大小写之间,ASCII码值,相差32
// 1 char类型可以用数值赋值
// 2 可以运算
// 字母大小写转换时,小写变大写减去32,大写变小写加上32
char ch5 = 'C';
ch5 = ch5 + ('b'-'B');
printf("ch5 = %c\n", ch5);//c 此时ch5的值已经变成了'c'
ch5 = ch5 + 1;
printf("ch5 = %c\n", ch5);//d
printf("ch5 = %d\n", ch5);//100
printf("ch5 = 0%o\n", ch5);//144
printf("ch5 = 0X%X\n", ch5);//64
2 char与数字
char ch1 = '1'; // 数字字符'1'
printf("ch1 = %d\n", ch1); // 对应的ASCII码值 49
printf("ch1 = %c\n", ch1); // 1
char ch2 = 1; // 数字1
printf("ch2 = %d\n", ch2); // 1
printf("ch2 = %c\n", ch2); // ASCII码值为1的字符
char ch3 = '1';
ch3 = ch3 - 48; // 48:数字1的ASCII码值为49 (49 - 1) ('1'-1)
printf("ch3 = %d\n", ch3); // 1
printf("ch3 = %c\n", ch3); // ASCII码值为1的字符
注意:数字和数字字符不一样 数字有很多 数字字符只有 '0' '1' '2' '3' '4' '5' '6' '7' '8' '9'
布尔型:
bool(1) 取值:true (1) false(0)
除了0 都是真
// 布尔型数据
// 整个数据类型 只有两个值:true(真 1) false(假 0)
// 除了0之外 其他的值都为真
// 定义一个布尔型变量:
// 类型 变量名;
bool isLive; // 定义
isLive = true; // 赋值
printf("isLive:%d\n", isLive);
isLive = false;
printf("isLive:%d\n", isLive);
isLive = 100;
printf("isLive:%d\n", isLive);
isLive = -199;
printf("isLive:%d\n", isLive);
isLive = 0;
printf("isLive:%d\n", isLive);
bool is = true; // 定义且初始化
printf("is:%d\n", is);
signed(有符号的) unsigned(无符号的) :
起修饰作用 表示数据有无符号 一般signed可以省略
八 定义变量
类型 变量名;
变量名:合法标识符
1 由数字、字母、下划线组成
2 开头不能是数字(一般不用下划线开头)
3 不能是关键字,区分大小写(关键字:保留字:系统已经用了的名称)
一般注意顾名思义
了解使用常见命名方法 驼峰写法 匈牙利命名法
1 定义的同时 初始化
int number = 10;
2 先定义 之后再赋值
int number ; number = 9 ;
九 通过字节数求数据类型的取值范围
求字节数:sizeof() 括号里面可以写类型名称,也可以写变量名,也可以直接写值 注意:在VS中 整数默认是int类型,小数默认是double类型
char类型取值范围:(256个)
有符号的:-128 ~ 127
无符号的:0 ~ 255
short类型取值范围:(65536个)
有符号的:-32768 ~ 32767
无符号的:0 ~ 65535
数据溢出:数据的数值大小超过了类型的表示范围
太大: 数据-范围 一直减 直到数据大小在范围内
太小:数据+范围 一直加 直到数据大小在范围内
选择数据类型:
1 根据数据的类型选择类型
2 在不溢出的情况下,选择内存小的类型(字节数少的内存小)