C++(一)入门

一、编程工具

操作系统:Microsoft Windows 10 Home x64
编译工具:Microsoft Visual Studio 2015 社区中文版(其实 VS2010、VS2012、VS2013、VS2015、VS2017 都可以的。)
下载地址:https://msdn.itellyou.cn/(这个网站包含了微软的几乎所有正版软件,你也可以直接搜索官网下载。)
Visual Assist X 加快开发效率。

当然其它的工具也是一样的,我这里只是省事。

编译器工作流程:源代码(source code)->预处理器(preprocessor)->编译器(compiler)->目标代码(object code)->链接器(Linker)->可执行程序(executables)
关于编译器各版本:https://www.zhihu.com/question/39661628
在Linux平台:gcc/g++,GNU社区的神作

二、新建项目

第一个项目:
点击【文件】->【新建】->【项目】(出现如下界面,如下操作即可)
在这里插入图片描述
该软件的布局区域若是不小心关闭了,你直接点击【视图】可将其调出。
自定义菜单栏下方的工具栏:点击【视图】->【工具栏】->【自定义】进行自定义。

三、数据类型

常用的数据类型:
这么多的数据类型,说白了就是为了更好的解决数据的存储与运算问题。
试想一下,若是整形全部用长整型(long int ),浮点型全部用long double,这样固然避免了许多的数据类型的转换,但是造成了运行缓存和存储空间的浪费。
在这里插入图片描述
数据类型的长度(取值范围) 如下:
在这里插入图片描述

四、变量与常量

变量名字的命名规则:
与C语言,python相同,C++规定变量的名字只能由数字字母下划线这三种字符组成。而且第一个字符不能是数字

//一般定义
int num = 5;
char ch = 'a';
float a = 1.2, b = 2.6, c

// 宏定义与const定义
#define NUM 20
const int a = 10

#define宏定义和const常变量区别

  1. #define是宏定义。宏定义是C语言提供的三种预处理功能的其中一种,这三种预处理包括:宏定义、文件包含(#include)、条件编译(#if以及#endif等)。那么,预编译会将标识符进行替换,也就是说不进行任何计算、求解等操作,编译时不能进行数据类型检验;因此程序运行时,常量表中并没有用define定义的常量,系统不为它分配内存
    #define定义表达式时要注意“边缘效应”,例如如下定义:
    #define N 2+3 //我们预想的N值是5,我们这样使用N
    int a = N/2; //我们预想的a的值是2.5,可实际上a的值是3.5
    原因在于在预处理阶段,编译器将 a = N/2处理成了 a = 2+3/2;这就是宏定义的字符串替换的“边缘效应”因此要如下定义:
    #define N (2+3)
  2. const定义的常量,在程序运行时在常量表中,系统为它分配内存。在编译时进行严格的类型检验,可以避免出错。const可以在任何地方定义常量,编译器对它的处理过程与变量相似,只是分配内存的地方不同

五、运算符

运算符 详情
算术运算符 +(加)、-(减)、*(乘)、/(除)、%(整除求余)、++(自加)、–(自减)
关系运算符 >(大于)、<(小于)、==(等于)、>=(大于或等于)、<=(小于或等于)、!=(不等于)
逻辑运算符 &&(逻辑与)、||(逻辑或)、!(逻辑非)
位运算符 <<(按位左移)、>>(按位右移)、&(按位与)、|(按位或)、^(按位异或)、~(按位取反)
赋值运算符 (=号及其扩展赋值运算符)
条件运算符 (?:)
逗号运算符 (,)
指针运算符 (*)
引用运算符和地址运算符 (&)
求字节数运算符 (sizeof)
强制类型转换运算符 ((类型) 或 类型())
成员运算符 (.)
指向成员的运算符 (->)
下标运算符 ([])

运算符的优先级:
其实只需要记得一些常用运算符优先级即可,记不清的加()保证没错。
在这里插入图片描述

小案例

输入输出是以流的形式进行的。

// helloword_001.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>       // 输入输出流头文件


#define PRICE 30          // 宏定义(预编译)
using namespace std;      // 命名空间
int add(int x, int y);    // 申明函数

int main()
{
	int sum = 0, g_sum=0;
	for (int i = 1; i <= 100; i++)
	{
		sum += i;
	}

	int x = 5, y = 6;
	cout << "x + y = " << add(x, y) << endl;
	cout << "1+2+3+...+100= " << sum << endl;


	cout << "=========买苹果========== " << endl;
	int weight = 3;
	cout << "张三要去买苹果。。。\r\n";
	cout << "张三要买" << weight << "斤苹果,每斤的价格是:" << PRICE << "元\r\n";
	cout << "张三总共需要支付:" << weight*PRICE << " 元。" << endl;
	cout << "=================== " << endl;


	int max = 0;
	max = x > y ? x : y;
	cout << "max= " << max << endl;


	cout << "=========条件判断========== " << endl;
	int zhangshan = 40;
	if (zhangshan < 10)
	{
		cout << "张三是个小毛孩" << endl;
	}
	else if (10 < zhangshan&& zhangshan < 20)
	{
		cout << "张三是个青年" << endl;
	}
	else
	{
		cout << "张三是个中年人" << endl;
	}


	cout << "===========switch语句======== " << endl;
	int xingqi = 0;
	cin >> xingqi;
	switch (xingqi)
	{
	case 1:               //case 条件必须是整形(ACSII码为整数也行,也就是可以为char,enum等)
		cout << "今天星期一" << endl;
		break;
	case 2:
		cout << "今天星期二" << endl;
		break;
	case 3:
		cout << "今天星期三" << endl;
		break;
	case 4:
		cout << "今天星期四" << endl;
		break;
	case 5:
		cout << "今天星期五" << endl;
		break;
	default:
		cout << "今天是周末" << endl;
		break;
	}
    return 0;
}

int add(int x, int y)
{
	int sum_xy = x + y;
	return sum_xy;
}
发布了386 篇原创文章 · 获赞 592 · 访问量 72万+

猜你喜欢

转载自blog.csdn.net/wsp_1138886114/article/details/104244592