在学习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. mysql:The user specified as a definer ('xxx'@'%') does not exist 解决方法

    发生这种问题.大概率是用户不存在或者是权限不够 用户不存在.用可视化工具新建一个. 权限不够 ,运行下面命令: 如:我的错误: The user specified as a definer ('mo ...

  2. Asp.net Core导出Excel

    本篇文章是在MVC设计模式下,基于windows系统的Excel导出 1.前台的实现不用我多说了吧,加一个a标签链接地址跳到它所调用的方法里面,可以根据当前页面的查询条件去传值,从而查询出你想要的数据 ...

  3. 2018-2019-2 20165221『网络对抗技术』Exp4:恶意代码分析

    2018-2019-2 20165221『网络对抗技术』Exp4:恶意代码分析 实验要求: 是监控你自己系统的运行状态,看有没有可疑的程序在运行. 是分析一个恶意软件,就分析Exp2或Exp3中生成后 ...

  4. 第十二节,OpenCV学习(一)图像的读取、显示、保存

    一.读取图像 所谓的图像就是一个数组,对图像的处理就是对数字的处理 import cv2 import numpy as np img = cv2.imread('dog.jpg') print(im ...

  5. 很好用的电脑桌面远程控制软件 支持多平台 Win,Mac,Debian… 等操作系统 Anydesk

    很好用的电脑桌面远程控制软件 支持多平台 Win,Mac,Debian, Ubuntu, FreeBSD… 等操作系统 Anydesk 官网下载地址:https://anydesk.com/remot ...

  6. 【转】pyhton之Reportlab模块——生成pdf文件

    [转]pyhton之Reportlab模块 reportlab模块是用python语言生成pdf文件的模块 安装:pip install reportlab 模块默认不支持中文,如果使用中文需要注册 ...

  7. mac 安装和使用MongoDB

    安装 尝试一:手动命令安装尝试二:采用Homebrew尝试三:下载安装包使用安装尝试一:手动命令安装按照官网https://docs.mongodb.com/manual/tutorial/insta ...

  8. Elasticsearch一些使用笔记(持续更新)

    这篇博客记录这一些运维ES的一些经验. 1.节点磁盘使用率过高,导致ES集群shard无法分配,丢失数据? 有两个配置,分配副本的时候 参数名称 默认值 含义 cluster.routing.allo ...

  9. docker镜像常用操作

  10. 数据库根据id排序

    select * from 表名 order by id 根据 id 从小到大排序