与C语言不同的基础语法

一、不同

1.可同时定义并初始化多个变量
2.有string字符串类型
3.可在循环中定义变量
#include
using namespace std;
int main()
{
	int a=1,b=2;//可同时定义并初始化多个变量
	string name;//字符串类型 
	char array[3]; 
	for(int i=1;i<=3;i++)//for中定义i变量 
	{
		cin>>array[i];
		cout<<"array:"<<array[i]<<","<<endl; 
	}
	cin>>name;
	cout<<"name:"<<name<<"\n"<<endl; 
	cout<<"a:"<<a<<"\n"<<"b:"<<b<<endl;
}

4.动态内存分配关键字不同
#include
#include//包含字符串处理函数 
using namespace std;
int main()
{
	int *p=new int;//为指针动态分配一个int型空间;相当于C语言中:int *p=(int *)malloc(sizeof(int)); 
	char *q=new char[3];//为指针动态分配一个连续空间;相当于C语言中:char *p=(char*)calloc(3,sizeof(char)); 
	strcpy(q,"堆内存的动态分配");//将字段复制到指针q指向的内存空间中 
	*p=100;
	cout<<"指针p的值:"<<*p<<endl;
	cout<<q<<endl;
	delete []q;// 释放一个连续空间[]+释放变量名;相当于C语言中:for(i=0;i<3;i++) free(q[i]); 
	delete p;//释放p所指向的内存空间,相当于C语言中:free(p); 
 } 
5.可以定义函数的结构体类型
#include
using namespace std;
struct function{
	void sayHi(char *name){
		cout<<"hi,"<<name<<endl;
	}
	void sayBye(char *name){
		cout<<"bye,"<<name<<endl;
	}
};
int main()
{
	struct function fun;
	fun.sayHi("c++");//调用结构体中方法
	fun.sayBye("c++");
}

二、拓展

特殊运算符的应用
#include
using namespace std;
int main()
{
	int a=10,b=12,flag=~a;
	cout<<"~a:"<<flag<<endl;//按位取反:1111 0101 —> 负数:符号位不变,其余位取反+1 —> 得原码:-000 1011即-11 
	flag=a&b;
	cout<<"a&b:"<<flag<<endl;//按位与:同1为1,否则为0 
	flag=a|b;
	cout<<"a|b:"<<flag<<endl;//按位或:同0才0,否则为1 
	flag=a^b;
	cout<<"a^b:"<<flag<<endl;//异或运算:相异为1,相同为0 
	flag=a<<1;
	cout<<"a<<1:"<<flag<<endl;//a左移一位:0000 1010 —>0001 0100即 20
	flag=a>>1;
	cout<<"a>>1:"<<flag<<endl;// a右移一位:0000 1010 —>0000 0101即 5
 } 

你可能感兴趣的:(C++学习,c++)