在学习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. JMX/RMI Nice ENGAGE <= 6.5 Remote Command Execution

    CVE ID : CVE-2019-7727 JMX/RMI Nice ENGAGE <= 6.5 Remote Command Execution description=========== ...

  2. 使用antd Table + mobx 处理数组 出现的一系列问题

    在store中定义了一个数组: @observable list = [...] 若是在table组件中直接使用list: <Table className={styles.table} col ...

  3. 【迅为电子】迷你工控机_24小时运行_无线WIFI_超多接口

    全封闭防尘_迅为嵌入式工控主机_运行Linux-QT4.7操作系统 技术规格参数: 设备型号:eTOP-A7-MANNV10 CPU:Cortex-A7 内存:512MDDR 存储:8G EMMC 电 ...

  4. 查看提交历史(git log)

    git log 命令 在完成了几次提交,或者克隆了一个已有提交历史的仓库后,要查看历史提交记录,可以通过git log命令来实现. $ git log commit 0becea8e1966df258 ...

  5. 基于Gecko内核的简单浏览器实现

    分享一个基于Gecko内核的简单浏览器实现过程. 项目需要需要开发一个简单浏览器,由于被访问的网页中有大量Apng做的动画,使用IE内核的webbrowser不能播放,使用基于WebKit和Cefsh ...

  6. 为什么HashMap线程不安全,Hashtable和ConcurrentHashMap线程安全

    HashMap源码 public V put(K key, V value) { return putVal(hash(key), key, value, false, true); } final ...

  7. 函数节流和函数防抖JavaScript实现

    函数节流 function throttle(fn, delay = 1000) { let Running = false; return function () { if (Running) { ...

  8. selenium模块

    一 介绍 二 安装 三 基本使用 四 选择器 五 等待元素被夹在 元素交互操作 其他 项目联 一 介绍 selenium最初是一个自动化测试的工具,而爬虫中使用它主要是为了解决requests无法直接 ...

  9. 使用Setup factory打包WPF

    软件环境 Win10 .NET452 WPF Setup Factory 工具直接百度下啦,关键词:Setup Factory 95 With Sn 打包过程主要参考了以下文章: https://ww ...

  10. python基础--numpy.random

    # *_*coding:utf-8 *_* # athor:auto import numpy.random #rand(d0, d1, ..., dn)n维随机值 data0 = numpy.ran ...