C++第一课:基本语法for Visual Studio 2015[个人见解]
在学习C++时,或许不了解情况的人会问:到底先学习C语言还是C++,哪个更好?
那么小编的个人见解是:你在学习时别管哪个语言好与不好,是个语言它都是好语言,关键在于你会挖掘其中存在的价值,C++可以说是C语言的升级版本,简而言之,想要学会C++最好先把C语言学会。为什么?
很简单的一个理由:C语言中的知识要点,C++中几乎都有,将C语言的基本用法都会了,再去学习C++时,你会发觉你理解不吃力,说白了,你其实已经学会了一半的C++。
在C语言中基本语法:
#include <stdio.h> int main ()
{
printf("hello world!\n");
return 0;
}
从上面可以看出,头文件属于输出输入流,可以用到输出输入的函数功能。
那么在C++上如何做到呢?
cout<< 输出到控制台
cin>> 输入到控制台
endl 换行
#include <iostream>
using namespace std;
int main ()
{
int number = 0;
cout<<"请输入一个数:";
cin>>number;
cout<<"输入的numbere值:"<<number<<endl;
system("pause");
return 0;
}
看下运行的结果,可以看出都能在黑色的屏幕上,也就是控制台上显示你写的内容。
在C++语言中,也可以使用C语言中的头文件,加上头文件,函数不变,不懂的请看C语言部分。
C++语言的基本类型:bool、char、short、int、float、double、long、string;
这里主要讲bool和string两个类型。其余的类型不变。
我们都说非零为真,在C++语言中经常会用到,true就是1,即真;false就是0,即假。
不管C语言还是C++语言中,必须保证一段语句为真,编译器它才会运行。
反观string类型,学会jave语言的会知道,string就是字符串类型,在C++语言之中,它不仅仅表示字符串类型,还涉及到字符串相关的函数集合,这个类型说真的,很重要。下面来看看:
#include <iostream>
#include <cstring> 这就是C++语言中的字符串类型的头文件,它包含了很多字符串的函数
using namespace std;
//请敲代码
int main ()
{
string srcstr = "hello";
//没法在控制台上直接打印srcstr
cout<< stcstr << endl;
cout<<stcstr.c_str()<<endl;
system("pause");
return 0;
}
调试时,它会直接报错:

在使用变量保存字符串方面,我们最好还是使用char 类型为好,为什么?C++ string跟java string不同。它不能直接打印,需要加【点c_str()】
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char srcstr[] = "hello"; //[]内不说明多少元素,你可以添加很多字符,如果添加数值,它就有限定,只要超出内存就会报错内存溢出
cout << srcstr << endl;
//如果非要使用string 类型的变量赋值为字符串
string str="helloworld";
cout<<str.c_str()<<endl;
system("pause");
return 0;
}
既然知道如何使用字符串,那么来看看cstring这个头文件包含了哪些重要的函数,若有不懂的,请看C语言部分。
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char srcstr[] = "hello"; //[]内不说明多少元素,你可以添加很多字符
cout << srcstr << endl; char *deskstr=strcat(srcstr,"world");
cout << deskstr << endl;
system("pause");
return 0;
}
不管对与错,先运行,只有调试才能检验写的代码有无问题。
很明显,语句是没有问题的,但是有异常报错:

它的意思是什么?表示:'strcat':这个函数或变量可能不安全。考虑使用strcats代替。若要禁用弃用,请使用CRT安全无警告。详情请参阅在线帮助。
如果不会使用新标准安全的函数,只要使用cstring的头文件,就加上:
#define _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
system("pause");
return 0;
}
添加好后,再运行看看,不难看出strcat的函数功能是将两个字符串合为一句,意思是将“world”连接到字符串变量srcstr后面,返回赋值于指针deskstr,并打印。
strcpy()函数:
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char deskstr[11] = {0};
strcpy(deskstr,"helloworld");
cout << deskstr << endl;
system("pause");
return 0;
}
打印结果helloworld,不难看出,原本的deskstr声明为一串十一个字符的空值,为什么变为有值了?strcpy就是复制的功能函数。写11表示数组类型的基本用法了,它最后都有一个默认加上的'\0'
strcmp()函数:
!strcmp(const char *deskstr,const char *srcstr); 非1即为0
表示两个字符串是否相等
deskstr = srcstr,返回值=0;
deskstr < srcstr,返回值<0;
eskstr > srcstr,返回值>0;

看看运行结果。
strlen()函数:
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int number = 0;
char deskstr[] = "helloworld";
number = strlen(deskstr); //字符个数
cout << number << endl;
system("pause");
return 0;
}
打印看看。
那么想要求出带‘\0’的字节函数呢?strlen()直接可以使用sizeof(deskstr);
这里还有很多的函数,就不细说了,想要了解的话,可以上网搜索string头文件有哪些函数。
记住:学习时,不要操之过急,或许每天学习的内容不同,但是你今天学到了一点,就说明了你已经在进步了,大树都是从树苗长成的。
C++第一课:基本语法for Visual Studio 2015[个人见解]的更多相关文章
- 体验Visual Studio 2015 Windows Forms应用程序开发与维护
昨天到半夜还没有等到Visual Studio 2015的下载地址,实在熬不住就先休息了.北美地区的时区比北京时间要晚一些,今天早上到公司就看到Visual Studio 2015的下载地址,迅速的将 ...
- 解析Visual Studio 2015促进生产力的10个新功能
1 性能提示 Performance Tips 当我们想知道执行一段代码所耗费的时间时,需要借助于.NET 框架的Stopwatch类,像下面这样: class Program { static vo ...
- Grunt和Gulp构建工具在Visual Studio 2015中的高效的应用
Grunt和Gulp构建工具在Visual Studio 2015中的高效的应用 Grunt和Gulp是Javascript世界里的用来做自动压缩.Typescript编译.代码质量lint工具.cs ...
- ASP.NET5之客户端开发:Grunt和Gulp构建工具在Visual Studio 2015中的高效的应用
Grunt和Gulp是Javascript世界里的用来做自动压缩.Typescript编译.代码质量lint工具.css预处理器的构建工具,它帮助开发者处理客户端开发中的一些烦操重复性的工作.Grun ...
- Microsoft Visual Studio 2015 下载、注册、安装过程、功能列表、问题解决
PS:请看看回复.可能会有文章里没有提到的问题.也许会对你有帮助哦~ 先上一张最终的截图吧: VS2015正式版出了,虽然没有Ultimate旗舰版,不过也是好激动的说.哈哈.可能有的小伙伴,由于工作 ...
- Visual Studio 2015正式发布
Windows 10 RTM正式版要7月29日发布,微软的另一个重磅软件Visual Studio 2015已经率先发布,今天如期放出了正式版本.Visual Studio 2015包括许多新功能和更 ...
- Visual Studio 2015 移动跨平台开发初体验
微软换了新 CEO 后变化很大,对我们团队最有利的消息就是 Visual Studio 2015 支持移动应用跨平台开发. 还记不记得很早之前,Xamarin 宣布与微软成为合作伙伴的消息.显然,Xa ...
- 再次记录 Visual Studio 2015 CTP 5 的一个坑
接上一篇:升级 Visual Studio 2015 CTP 5 的坑.坑.坑 升级到 VS2015 CTP 之后,今天要改项目中的一个东西,然后就不得不把 C# 6.0 改变的语法代码中改了下(之前 ...
- 升级 Visual Studio 2015 CTP 5 的坑、坑、坑
前两天,微软发布了 Visual Studio 2015 CTP 5,全称为 Visual Studio 2015 Community Technology Preview 5,意为社区技术预览版,之 ...
随机推荐
- 使用以太网通信方式刷新AB PLC固件
本文详细介绍如何使用以太网通信方式刷新AB PLC固件 一.准备工作 1. AB PLC控制器一台,本文以5069-L330ER为例,将其通电: 2. 5069-L330ER的IP已设置为172. ...
- 在线制作微信跳转浏览器下载app/打开指定页面源码
微信自动跳转外部浏览器下载app/打开指定页面源码 源码说明: 适用安卓和苹果系统,支持任何网页链接.并且无论链接是否已经被微信拦截,均可实现微信内自动跳转浏览器打开. 生成的跳转链接具有极佳的防拦截 ...
- java 注意事项---避免踩坑
1.......对象参数接收不能大写
- js reduce()方法使用
reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值. reduce() 可以作为一个高阶函数,用于函数的 compose. 注意: reduce() 对 ...
- 记一次解决netty半包问题的经历
最近学习了netty,想写一个简单的rpc,结果发现发送消息时遇到难题了,网上搜了一下,这种情况是半包问题和粘包问题,主要是出现在并发高一些的时候. talk is cheap 客户端编码: prot ...
- Mybatis 常用注解
Mybatis常用注解对应的目标和标签如表所示: 注解 目标 对应的XML标签 @CacheNamespace 类 <cache> @CacheNamespaceRef 类 <cac ...
- Unity AssetBundle的生成、加载和热更新
当前使用的是unity2018.2.6版本. 生成AssetBundle 这个版本生成AssetBundle有两种方式,一种是在资源的Inspector面板下边配置AssetBundle名称,然后调用 ...
- 通过 iis或者本地IP 调试代码
首先说下这个操作的意义,做微信开发每次需要将代码部署后才能调试.现在设置了Nginx服务器,生产环境可以指向正式服务器地址,调试时可以将Nginx指向自己的PC,但是vs调试启动的默认地址是[loca ...
- python正则表达式--flag修饰符、match对象属性
正则表达式—修饰符 正则表达式可以包含一些标志修饰符来控制匹配模式,用在正则表达式处理函数中的flag参数中,为可选参数. (1) re.I 全写(re.IGNORECASE) 表示使匹配时,忽略大小 ...
- kubernetes集群网络配置方案
1. 直接路由 在每个节点上添加其他节点的静态路由,就可以将不同物理机的docker0网桥互联互通. 我的两个节点的IP分别为:172.16.252.218和172.16.252.209. 两个doc ...