西安网站建设培训,做ppt的模板网站有哪些,校园网页制作模板,宁波本地模板网站建设平台#x1f497;个人主页#x1f497; ⭐个人专栏——C学习⭐ #x1f4ab;点击关注#x1f929;一起学习C语言#x1f4af;#x1f4ab; 导读
经过一段时间的C语言学习#xff0c;我们以及基本掌握了C语言的知识#xff0c;今天#xff0c;我们就开始学习C#xff0c;… 个人主页 ⭐个人专栏——C学习⭐ 点击关注一起学习C语言 导读
经过一段时间的C语言学习我们以及基本掌握了C语言的知识今天我们就开始学习CC是包容C语言的但是也有自己独特的语法。 由于时间原因今天就到函数重载下次我们会学习引用和内联函数。
1. C与C语言区别
C和C语言都是高级编程语言具有相似的语法和结构。 C相对于C语言在功能和灵活性上有更多的扩展。但是C语言仍然是一种重要的编程语言在嵌入式系统和低级编程中仍然得到广泛使用。
C是一种支持面向对象编程的语言而C语言主要是面向过程的。C可以使用类、对象、继承等面向对象的概念而C语言没有这些功能。C标准库提供了丰富的功能和类以简化编程任务。C语言的标准库相对较小并且没有提供类的支持。C支持自动内存管理的特性如构造函数和析构函数。C语言需要手动管理内存使用malloc和free等函数。C对于其他编程范式如泛型编程和元编程的支持更好可以实现更高级的编程技术。C语言的扩展性相对较弱。
2. C关键字 3. 命名空间
C中的命名空间是一种将相关的类、函数、变量等进行分组的机制。它可以防止命名冲突并提供了更好的代码结构和可读性。
3.1 定义与使用
命名空间的声明使用关键字namespace后面跟上命名空间的名称例如 namespace MyNamespace { // 命名空间中的代码 } 在命名空间内部可以声明和定义类、函数、变量等。使用命名空间内的成员时需要在前面加上命名空间的名称和作用域解析操作符::。
namespace zhy
{// 命名空间中可以定义变量/函数/类型int zhou 10;int Add(int x, int y){return x y;}struct Node{struct Node* next;int data;};
}
int main()
{printf(%d\n, zhy::zhou);
}
如果不想每次都写命名空间的名称和作用域解析操作符可以使用using关键字将命名空间中的成员引入当前作用域。
using namespace zhy;
int main()
{printf(%d\n, zhy::zhou);printf(%d\n,Add(99, 100));}3.2 嵌套定义
在另一个命名空间内定义命名空间可以使用命名空间的嵌套语法
namespace www
{int zz 99;namespace hh{int y 999;}
}4. C的输入和输出
在C中可以使用cin进行输入操作使用cout进行输出操作。
#includeiostream
//std 所有C库命名空间
using namespace std;
int main() {int num;cout 请输入一个整数;cin num;cout 您输入的整数是 num endl;return 0;
}使用cout进行输出时可以使用运算符将要输出的内容连接起来多个内容之间可以使用进行连接。最后使用cin进行输入时使用运算符将输入的内容赋给变量num。cout和cin是全局的流对象endl是特殊的C符号表示换行输出他们都包含在包含 iostream 头文件中。使用C输入输出更方便不需要像printf/scanf输入输出时那样需要手动控制格式。C的输入输出可以自动识别变量类型。 5. 缺省参数
C中的缺省函数是指在函数声明或定义时为参数提供默认值的函数。当调用该函数时如果没有为相应的参数提供具体的值则使用默认值。 缺省函数可以在函数声明或定义时提供默认值也可以在函数原型中提供默认值。
void Print(int a 0)
{cout a endl;
}
int main()
{Print(); // 没有传参时使用参数的默认值Print(10); // 传参时使用指定的实参return 0;
}5.1 全缺省函数
全缺省函数是指所有参数都提供了默认值的函数。这意味着调用该函数时可以不传递任何参数。
void printMessage(string message Hello, World!, int count 1, char separator -) {for (int i 0; i count; i) {cout message separator;}cout endl;
}int main() {printMessage(); // 使用所有默认参数printMessage(Hi there!); // 使用默认的 count 和 separator 参数printMessage(Goodbye, 3); // 使用默认的 separator 参数printMessage(Custom, 2, ); // 使用所有自定义参数return 0;
}5.2 半缺省函数
void printNumbers(int a, int b 0, int c 0) {cout Numbers: a b c endl;
}int main() {printNumbers(1); // 使用默认的 b 和 c 参数printNumbers(1, 2); // 使用默认的 c 参数printNumbers(1, 2, 3); // 使用所有自定义参数return 0;
}6. 函数重载
C函数重载是指在同一个作用域内定义多个同名函数但是它们具有不同的参数列表。通过函数重载可以根据不同的参数类型和个数来调用不同的函数从而实现更灵活和多样化的函数调用方式。
// 函数重载示例
// 1、参数类型不同
int sum(int a, int b) {return a b;
}double sum(double a, double b) {return a b;
}
// 2、参数个数不同
int sum(int a, int b, int c) {return a b c;
}
// 3、参数类型顺序不同
void sum(int a, double b)
{cout Sum: a b endl;
}
int main() {int result1 sum(5, 10);cout Sum of two integers: result1 endl;double result2 sum(3.14, 2.71);cout Sum of two doubles: result2 endl;int result3 sum(1, 2, 3);cout Sum of three integers: result3 endl;sum(3, 3.14);return 0;
}