C++入门(1)
1.第一个C++程序1.1底子程序
#include"iostream" //头文件
using namespace std;//使用std的名字空间
int main() //main函数
{
cout<<"Hello world"<<endl; //输出
return 0;
} 1.2main函数
main函数是程序的入口,C++的程序不管有多少行代码,都是从main函数开始执行的,main函数也被叫做:主函数。main前面的int体现main函数执行竣事的时候返回一个整型类型的值,而在main函数的末了写return 0;正好前后呼应。
[*]main函数是程序的入口
[*]main函数有且仅有一个
[*]一个项目中可以有多个.cpp文件,但是只能有一个main函数。
1.3字符串
在C语言中,使用单括号括起来一个字符,体现字符字面值,比如:‘1’,‘a’,使用双括号括起来多个字符体现一个字符串,比如“abcdef”,“hello world”,字符串中可以有一个或者多个字符,也可以没有任何字符,“”体现空字符串。
在C++的STL中又引用string来体现字符串,但是C语言却不支持。
1.4头文件
在上面代码中,写的#include<iostream>,就是在包罗头文件,头文件的名字叫做:iostream。使用#include<>的情势举行包罗。iostream文件中的io指的是输入和输出。
在C++程序中要完成输入和输出的操纵会涉及到iostream文件中的多个定义,以是就要包罗这个头文件。
在代码中cout是输出流对象,就是用来完成数据输出的,就是必要包罗头文件。
注:
[*]在C语言中头文件的扩展名是.h,但是C++中的用法发生了一些变化,对老式C的头文件保留了扩展名.h,但是C++自己的文件没有扩展名。
[*]有些C的头文件被转换成C++头文件,这些文件名被重命名,去掉了.h扩展名,并在文件名的前面加上前缀的c。
头文件的命名约定:
头文件类型约定实例说明C++旧式风格以.h结尾<iostream.h>C++程序可以使用,一些新的IDE可能不再支持C旧式风格以.h结尾<math.h>C、C++程序可以使用C++新式风格没有扩展名<iostream>C++程序可以使用,使用namespace std转换后的C加上前缀,没有扩展名<cmath>C++程序可以使用,可能包罗不是C的特性 1.5cin和cout初识
cout<<"Hello world"<<endl;这句代码在上面的程序中是最重要的代码,其他所有的代码都是为了编写这句代码。
代码中的cout是标准输出流对象,其实还有标准输入流对象cin
#include<iostream>
using namespace std;
int main()
{
int num;
cin>>num;
cout<<num<<endl;
return 0;
} https://i-blog.csdnimg.cn/direct/04394430a4c64b8ebbb635ff2730cfdc.png
[*] cin和cout是全局的流对象,cin负责输入数据,cout负责输出数据。
[*]endl是C++中一个特殊的操纵符,效果是换行和刷新缓冲区,使用时必须包罗在iostream头文件。
[*]<<是流插入运算符,和cout配合使用,>>是流提取运算符,和cin配合使用。
[*]使用C++输入输出更方便,不必要printf和scanf输入输出时那样手动控制格式。
1.6名字空间
using namespace std;这句代码的意思是:使用名字空间std(名字空间也叫命名空间)。
https://i-blog.csdnimg.cn/direct/7c6940f57caa4ac4a77c84a02189aa8b.png
在C++中,变量、函数和类都是大量存在的,这些变量、函数和类的名称假如都存在于全局作用域中,可能会导致许多辩论。使用名字空间的目标是对标识符的名称举行隔离,以避免命名辩论或名字污染,namespace关键字的出现就是针对这种题目。
std是C++标准库的名字空间名,C++将标准库的定义实现都放到这个命名空间中,当我们必要使用标准库中的内容时,就必要加上:using namespace std;当有了这句代码的时候,体现名字空间std中信息都是可见和可用的。
https://i-blog.csdnimg.cn/direct/c313bbd20bb1427fbc5e24cdd0b42f1f.png
1.7注释
C++里主要有两种情势:单行注释//和多行注释/**/
注释原来是对代码举行表明的文字,要放在代码中,但是又无需编译。
单行注释:指的是当前行不参与编译和运行
多行注释:指的是被包罗在内的多行不参与编译和运行
在VS情况中注释和取消注释的快捷键:Ctrl+K+C,Ctrl+K+U
在DevC++中注释和取消注释的快捷键:Ctrl+/
1.8练习
练习1:B2002 Hello,World! - 洛谷 | 计算机科学教诲新生态
https://i-blog.csdnimg.cn/direct/fb4949e5ce1847c69737537bc28c0940.png
#include"iostream"
using namespace std;
int main()
{
cout<<"Hello,World!"<<endl;
return 0;
} https://i-blog.csdnimg.cn/direct/eafeeaa4183448e5b3a4e867b88276c6.png
练习2:1003-小飞机_牛客比赛语法入门班顺序结构习题
https://i-blog.csdnimg.cn/direct/7f090fc98297455dbfb52cac286f9f6c.png
#include<iostream>
using namespace std;
int main()
{
cout<<" ** "<<endl;
cout<<" ** "<<endl;
cout<<"************"<<endl;
cout<<"************"<<endl;
cout<<" ** "<<endl;
cout<<" ** "<<endl;
return 0;
} https://i-blog.csdnimg.cn/direct/bb48dc6756f047fea99555fd8b52c287.png
练习3:B2003 输出第二个整数 - 洛谷 | 计算机科学教诲新生态
https://i-blog.csdnimg.cn/direct/dee91ce95594400696248dbd4045519c.png
#include<iostream>
using namespace std;
int main()
{
int n1,n2;
cin>>n1>>n2;
cout<<n2<<endl;
return 0;
} https://i-blog.csdnimg.cn/direct/25691d9f245c46e1880bcb9e9a821b79.png
练习4:B2005 字符三角形 - 洛谷 | 计算机科学教诲新生态
https://i-blog.csdnimg.cn/direct/a5a089b6566741dda7916c3c77040dcf.png
#include<iostream>
using namespace std;
int main()
{
char c=0;
cin>>c;
cout<<""<<c<<endl;
cout<<" "<<c<<c<<c<<endl;
cout<<c<<c<<c<<c<<c<<endl;
return 0;
} https://i-blog.csdnimg.cn/direct/28e69bff76f749a181c641cf64a97e9f.png
2.数据类型
C++中提供了丰富的数据类型来形貌生活中的各种数据。所谓“类型”,就是相似的数据所拥有的共同特征,编译器只有知道了数据的类型,才知道怎么操纵数据。
https://i-blog.csdnimg.cn/direct/27ec425030a245d1beba9a3c00b30576.png2.1字符型
1. char //character的缩写 键盘上能够敲出各种字符,而这些符号都被称为字符,字符是用单引号括起来的。
ASCII编码:
https://i-blog.csdnimg.cn/direct/aff58aa1f011403287a6c4b9a8686f4a.png
我们在上面这个表中要记住几组特殊数据:
[*]字符A~Z的ASCII码值从65~90
[*]字符a~z是ASCII码值从97~122
[*]对应巨细写字符的ASCII码值的差值是32
[*]数字字符0~9的ASCII码值从48~57
[*]换行\n的ASCII值是10
[*]ASCII码值从0~31这32个字符是不可打印字符,无法打印在屏幕上观察
#include"iostream"
using namespace std;
int main()
{
char c1='a';
cout<<c1<<endl;
char c2=97;
cout<<c2<<endl;
return 0;
} https://i-blog.csdnimg.cn/direct/6104ee8452b04ffbababbc6f8d319b73.png
2.2整型
整形类型是对所有整数的抽象,为了能对整数形成同一的类型标识,就有整型;
1.short //短整型
2.int //整型
3.long //⻓整型
4.long long //更⻓的整型 2.3浮点型
浮点型式对所有小数的抽象,为了能对实数举行同一的类型标识,就有了浮点型。
浮点型有三种:
1. float //单精度浮点型
2. double//双精度浮点型
3. long double//更长的双精度浮点型 在C++中小数的书写情势:
1.3.14; //编译器会默认识别为double类型
2.3.14f; //编译器会默认识别为float类型
3.1e5; //这种写法是科学计数法的形式,意思是1.0*10^5
4.1e5+10; //1*100000+10 == 100010
5.1.23e5+10; //1.23*100000+10 = 123010 2.4布尔类型
C++有一种类型叫:bool,布尔类型的变量的值可以是true或false,这种类型类型的变量专门用来体现真或假的。当然,在C++中,0体现假,非0体现真。
1.bool #include"iostream"
using namespace std;
int main()
{
bool flag=true;
if(flag)
{
printf("I like C++");
}
return 0;
} https://i-blog.csdnimg.cn/direct/491695364a72410cbdd78d1623933c72.png
2.5signed与unsigned
signed和unsigned关键字修饰字符型和整型类型的。
signed关键字,体现一个类型带有正负号,包罗负值。
unsigned关键字,体现该类型不带有正负号,只能体现零和正整数。
//字符型
char
signed char //有符号的字符类型
unsigned char //⽆符号的字符类型
//短整型
short
short //有符号的短整型
unsigned short //⽆符号的短整型
//整型
int
int //有符号的整型
unsigned //⽆符号的整型
//⻓整型
long
long //有符号的⻓整型
unsigned long //⽆符号的⻓整型
//更⻓的整型
long long
long long //有符号的
unsigned long long //⽆符号的 对于int类型,默认是带有正负号的,也就是说int等同于signed int。
变量声明为unsigned的利益是,同样长度的内存能够体现的最大整数值,增大了一倍。
下面定义的是Dev-C++情况中,climits中相干定义,其实假如过细看climits中也是包罗的limits.h。
1.#define SHRT_MIN (-32768) //有符号16位整型的最⼩值
2.#define SHRT_MAX 32767 //有符号16位整型的最⼤值
3.#define USHRT_MAX 0xffffU //⽆符号16位整型的最⼤值
4.#define INT_MIN (-2147483647 - 1) //有符号整型的最⼩值
5.#define INT_MAX 2147483647 //有符号整型的最⼤值
注意:
[*]char类型到底是signed char还是unsigned char,由编译器决定。
[*]以是char不等同于signed char,还有可能是unsigned char。
2.6数据类型长度
2.6.1sizeof操纵符
sizeof是一个关键字,也是操纵符,专门是用来计算特定命据类型的长度的,单元是字节。
sizeof操纵符的操纵数可以是类型,也可以是变量名或者表达式,sizeof的操纵数假如不是类型,是表达式的时候,可以省略掉后面的括号。
1sizeof(类型)
2sizeof 表达式 sizeof的计算效果是size_t类型的,size_t指的是无符号整数。
#include"iostream"
using namespace std;
int main()
{
int a = 10;
cout << sizeof(a) << endl;
cout << sizeof a << endl;
cout << sizeof(int) << endl;
return 0;
} https://i-blog.csdnimg.cn/direct/18783e34586a4b53a995a0b4677373e1.png
2.6.2各数据类型的长度
#include"iostream"
using namespace std;
int main()
{
cout << sizeof(char) << endl;
cout << sizeof(bool) << endl;
cout << sizeof(short) << endl;
cout << sizeof(int) << endl;
cout << sizeof(long) << endl;
cout << sizeof(long long) << endl;
cout << sizeof(float) << endl;
cout << sizeof(double) << endl;
cout << sizeof(long double) << endl;
return 0;
} https://i-blog.csdnimg.cn/direct/61f843328fc241b49beef318ad32849b.png
我们对于上面申请的内存空间可以如许理解:
https://i-blog.csdnimg.cn/direct/05d90acef661443581af436aaec449db.png
2.7typedef
在C++中有一个关键字是和类型有关的,是用来给类型重命名的。当有一个类型比力复杂的时候,可以简化类型。
1typedef 旧类型名 新类型名; 比如:
typedef unsigned int uint;
typedef long long ll;
typedef unsigned long long ull; 上面这些代码就是将本身复杂的名字给简单化,从而在使用的时候更加的方便。
1uint num1 = 0;//等价于 unsigned int num1 = 0;
2ll num2 = 0; //等价于 long long num2 = 0;
3ull num3 = 0; //等价于 unsigned long long num3 = 0; 2.8练习
练习1:牛牛学说话之-整数
https://i-blog.csdnimg.cn/direct/a1ef7770dd254ba9a3f17648f3e8546e.png
#include"iostream"
using namespace std;
int main()
{
int a;
cin >> a;
cout << a << endl;
return 0;
} https://i-blog.csdnimg.cn/direct/c3571002e9ae4d82b5be86026a25e2bc.png
练习2:B2018 打印字符 - 洛谷 | 计算机科学教诲新生态
https://i-blog.csdnimg.cn/direct/90626e75cdea41e3a580beaf848c896c.png
#include"iostream"
using namespace std;
int main()
{
int n = 0;
cin >> n;
char c = n;
cout << c << endl;
return 0;
} https://i-blog.csdnimg.cn/direct/610c1d23c8d04211825a8f74355c679c.png
练习3:倒序
https://i-blog.csdnimg.cn/direct/6f44eb2eb371424287e06df969fbf816.png
#include"iostream"
using namespace std;
int main()
{
int n1=0,n2=0,n3=0;
cin >> n1 >> n2 >> n3;
cout << n3 << " " << n2 << " " << n1 << endl;
return 0;
} https://i-blog.csdnimg.cn/direct/07efee2fc9a9480cad332fff3831b161.png
练习4:信息学奥赛一本通(C++版)在线评测系统
https://i-blog.csdnimg.cn/direct/c3a4a7380c704a7f9507ddf7db0eb288.png
#include"iostream"
using namespace std;
int main()
{
int n = 0;
short s = 0;
cout << sizeof(n) << " " << sizeof(s) << endl;
return 0;
} https://i-blog.csdnimg.cn/direct/3934040d22914bdcab4386aaaa00263f.png
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]