在学习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[个人见解]的更多相关文章

  1. 体验Visual Studio 2015 Windows Forms应用程序开发与维护

    昨天到半夜还没有等到Visual Studio 2015的下载地址,实在熬不住就先休息了.北美地区的时区比北京时间要晚一些,今天早上到公司就看到Visual Studio 2015的下载地址,迅速的将 ...

  2. 解析Visual Studio 2015促进生产力的10个新功能

    1 性能提示 Performance Tips 当我们想知道执行一段代码所耗费的时间时,需要借助于.NET 框架的Stopwatch类,像下面这样: class Program { static vo ...

  3. Grunt和Gulp构建工具在Visual Studio 2015中的高效的应用

    Grunt和Gulp构建工具在Visual Studio 2015中的高效的应用 Grunt和Gulp是Javascript世界里的用来做自动压缩.Typescript编译.代码质量lint工具.cs ...

  4. ASP.NET5之客户端开发:Grunt和Gulp构建工具在Visual Studio 2015中的高效的应用

    Grunt和Gulp是Javascript世界里的用来做自动压缩.Typescript编译.代码质量lint工具.css预处理器的构建工具,它帮助开发者处理客户端开发中的一些烦操重复性的工作.Grun ...

  5. Microsoft Visual Studio 2015 下载、注册、安装过程、功能列表、问题解决

    PS:请看看回复.可能会有文章里没有提到的问题.也许会对你有帮助哦~ 先上一张最终的截图吧: VS2015正式版出了,虽然没有Ultimate旗舰版,不过也是好激动的说.哈哈.可能有的小伙伴,由于工作 ...

  6. Visual Studio 2015正式发布

    Windows 10 RTM正式版要7月29日发布,微软的另一个重磅软件Visual Studio 2015已经率先发布,今天如期放出了正式版本.Visual Studio 2015包括许多新功能和更 ...

  7. Visual Studio 2015 移动跨平台开发初体验

    微软换了新 CEO 后变化很大,对我们团队最有利的消息就是 Visual Studio 2015 支持移动应用跨平台开发. 还记不记得很早之前,Xamarin 宣布与微软成为合作伙伴的消息.显然,Xa ...

  8. 再次记录 Visual Studio 2015 CTP 5 的一个坑

    接上一篇:升级 Visual Studio 2015 CTP 5 的坑.坑.坑 升级到 VS2015 CTP 之后,今天要改项目中的一个东西,然后就不得不把 C# 6.0 改变的语法代码中改了下(之前 ...

  9. 升级 Visual Studio 2015 CTP 5 的坑、坑、坑

    前两天,微软发布了 Visual Studio 2015 CTP 5,全称为 Visual Studio 2015 Community Technology Preview 5,意为社区技术预览版,之 ...

随机推荐

  1. Codeforces Round #541 (Div. 2)题解

    不知道该更些什么 随便写点东西吧 https://codeforces.com/contest/1131 ABC 太热了不写了 D 把相等的用并查集缩在一起 如果$ x<y$则从$ x$往$y$ ...

  2. 2018-2019-2 20165337《网络对抗技术》Exp2 后门原理与实践

    基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 下载破解游戏,盗版电影或安装来历不明的软件,可能被留下后门. (2)例举你知道的后门如何启动起来(win及linux)的方式? w ...

  3. android 给view添加阴影

    1.方法一: 使用 CardView 布局 <android.support.v7.widget.CardView xmlns:android="http://schemas.andr ...

  4. 写一个python脚本监控在linux中的进程

    在虚拟机中安装Linux中的CentOS7系统 https://baijiahao.baidu.com/s?id=1597320700700593557&wfr=spider&for= ...

  5. Tensorflow笔记一

    Tensorlfow中的计算是通过一个有向图directed graph或则计算图computation graph来实现的. 将每一个运算操作operation作为一个节点node,节点之间通过边e ...

  6. ThinkPHP 2053错误

    这个报错是调用存储过程的时候产生的,用的是5.1的代码是根据官方文档写的,我怀疑5.0也有这个问题.去官方查了一下发现不少人有这个问题,但是官方都没有回应过,只能自己动手一步步调了. $center ...

  7. MySQL Server 的安装方法及简要步骤

    闲扯两句: 小弟不才,由于缺乏明确的职业规划,初毕业的那两年从事的是网络管理工作,接触最多的是计算机硬件和网络设备. 近几年才开始转向DB行业,最初是自学,过程中走了不少弯路,后来参加的专职的DBA培 ...

  8. KVM 热迁移

    最终我们迁移的目的就是: ·简化系统维护管理 ·高系统负载均衡 ·增强系统错误容忍度 ·优化系统电源管理 热迁移 又叫动态迁移,实时迁移,即虚拟机保存( save )/恢复( restore ):将整 ...

  9. selenium对百度进行登录注销

    #百度登录退出demo import time from selenium import webdriver from selenium.webdriver.common.action_chains ...

  10. MySQL5.7 关键字和保留关键字

    来源:https://dev.mysql.com/doc/refman/5.7/en/keywords.html 标有(R)的为保留关键字. A ACCESSIBLE (R) ACCOUNT; add ...