网站开发与数据库,网站建设投入及费用,网站建设工作,运营公司有哪些1.在使用C语言写代码的时候开头要用到的是#xff1a;
#includeiostream
using namespace std;不可以写成这样#xff1a;
#include iostream.h#xff08;1#xff09;iostream是输入输出流类#xff0c; istream输入流类 cin ostream输出流类 cout 语言写代码的时候开头要用到的是
#includeiostream
using namespace std;不可以写成这样
#include iostream.h1iostream是输入输出流类 istream输入流类 cin ostream输出流类 cout 2namespace是名空间即命名空间 namespace是为了解决词穷的问题。 比如说有一个项目有3个模块需要3个人三个人都写了排序函数 sort() sort() sort()如果在C语言中函数名不可以重复在C中就可以用namespace解决这一问题
namespace AA
{int sum 0;void sort(){cout AA:sort endl;}
};
namespace BB
{int sum 0;void sort(){cout BB:sort endl;}
};
namespace CC
{int sum 0;void sort(){cout CC:sort endl;}
};
void main()
{using namespace AA;sort();BB::sort();CC::sort();
}运行结果 2.C语言和C的区别 C语言面向过程程序设计体现的是编程思想用流程图来体现 C面向对象程序设计体现的是类的设计用类图来体现 C语言可以解决问题描述问题 C是C语言的升级可以更加方便的描述问题 3.struct 在C和C中的区别 1在C中结构体不能为空C中可以在C中空结构体大小为1个字节 2在C中结构体名就是结构体名在C中作为类型名可以直接定义变量 3在C中结构体也需要内存对齐 4在C中结构体中不允许写函数不允许有操作在C中允许
struct A
{char a[5];int b;void print() {} //在C中结构体中可以有操作
};
void main()
{A aa; //在C中结构体作为类型名可以直接定义变量cout sizeof(A) endl;
}4.struct和class的区别 1struct可以实现和class一样的功能 2struct默认为publicclass默认为private
struct AA
{int m_a;void print() { cout m_a endl; }
};
class BB
{int m_a;void print() { cout m_a endl; }
};
void main()
{AA a;a.m_a 10;a.print();BB b;/*b.m_a 20;b.print();*/ //这是错误的操作class默认为private成员BB::m_a不可以访问
}5.三种变量类型值类型指针类型引用类型 指针类型和引用类型的区别 不同点 1.指针可以不初始化引用必须初始化 2.指针通常初始化为NULL引用不能为空 3.sizeof(指针)为4sizeof(引用)实体大小 4.指针可以指向其他变量引用不能改变 5.指针可以取*,引用不能
void main()
{int a 10;char c 2;char* p c; //定义一个char类型的指针指向cchar d p;p d; //改变指针的指向让指针指向dcout sizeof(p) endl;int b a; //声明了引用b是a的别名//引用在声明的时候必须初始化//int c NULL; //error 引用不可以初始化为NULLb 30; //把a的值改变为30cout a endl;
}6.野指针不是NULL指针是指向垃圾内存的指针 1野指针可能声明时候出现比如说定义指针变量声明的时候没有初始化指针就是野指针 2free或者delete之后没有把指针赋值为NULL 7.四种swap函数
//在不同的时间里修改了不同的内存单元中的值
void swap1(int x, int y)
{int t x;x y;y t;
}
//在不同的时间里修改了同一段内存单元中的内容
void swap2(int* x, int* y)
{int t *x;*x *y;//将y所指向的内存空间里面的内容赋值到x所指向的内存单元中*y t;
}
void swap3(int* x, int* y)
{int* t x;x y;y t;
}
void swap4(int x, int y)//x是a的别名,y是b的别名
{int t x;x y;y t;
}
void main()
{int a 10, b 6;swap1(a, b);cout a a b b endl;swap2(a, b);cout a a b b endl;swap3(a, b);cout a a b b endl;swap4(a, b);cout a a b b endl;
}运行结果 8.函数重载—重载多态 1函数名相同同一个作用域 2参数列表不同() 3和返回值无关,不能光通过函数返回值确定重载 4const函数可以区别重载
struct AA
{void test() { cout AA::test endl; }void test()const { cout AA::test const endl; }
};
/*
error 不能构成重载
int test()
{
}*/
void test()
{cout test endl;
}
void test(int a)
{cout test(int) endl;
}
void test(int a, int b)
{cout test(int,int) endl;
}
void test(int a, int b, int c)
{cout test(int,int,int) endl;
}
void main()
{test();test(1);test(2, 6);test(3, 4, 5);
}