(C++)素数的判断(C++教学)(C语言)

发布于:2025-06-23 ⋅ 阅读:(17) ⋅ 点赞:(0)

源代码:

#include <iostream>
using namespace std;

int fun(int num){
    if(num<1){
        return 1;
    }
    if(num%2==0){
        return 0;
    }else{
        return 2;
    }
}

int main(){
    while (1)
    {
        int y=0;
        int num=0;
        cout<<"请输入一个整数:\n";
        cin>>num;
        y=fun(num);
        cout<<num<<endl;
        if(y==1){
            cout<<"输入有误,请重新输入\n";
        }else if(y==0){
            cout<<"该数是素数\n";
        }else{
            cout<<"该数不是素数\n";
        }
    }
}

相关知识解释:

C++与C语言对比

相同点

  1. 基础语法:变量声明、循环、条件判断等基本语法相同

  2. 数据类型:int, float, double等基本类型相同

  3. 运算符:算术、逻辑、关系运算符相同

不同点

特性 C语言 C++
输入/输出 printf/scanf cout/cin
头文件 stdio.h iostream
布尔类型 无内置bool 有bool类型
函数重载 不支持 支持
引用 不支持 支持
面向对象 不支持 支持类、继承等
异常处理 try/catch
命名空间 有namespace
字符串处理 字符数组 string类

C++基础重要知识点

1. 输入输出系统

#include <iostream>
using namespace std;

int main() {
    int num;
    cout << "请输入一个整数: ";
    cin >> num;
    cout << "你输入的是: " << num << endl;
    return 0;
}
  • cout:标准输出流对象

  • cin:标准输入流对象

  • endl:换行并刷新缓冲区

2. 命名空间

using namespace std;  // 使用标准命名空间

// 或者只引入需要的部分
using std::cout;
using std::cin;

3. 函数重载

// 同名函数,不同参数
void print(int i) {
    cout << "整数: " << i << endl;
}

void print(double d) {
    cout << "浮点数: " << d << endl;
}

4. 引用类型

void swap(int &a, int &b) {
    int temp = a;
    a = b;
    b = temp;
}

5. 标准模板库(STL)

#include <vector>
#include <algorithm>

vector<int> numbers = {3, 1, 4, 1, 5};
sort(numbers.begin(), numbers.end());

6. 类与对象

class Circle {
private:
    double radius;
    
public:
    Circle(double r) : radius(r) {}
    
    double area() {
        return 3.14159 * radius * radius;
    }
};

int main() {
    Circle c(5.0);
    cout << "面积: " << c.area() << endl;
    return 0;
}

关键知识点总结

  1. C++是C的超集:C++扩展了C语言,添加了面向对象特性

  2. 输入输出更安全:cin/cout比scanf/printf更安全

  3. 面向对象编程:支持类、继承、多态等特性

  4. 标准模板库:提供丰富的容器和算法

  5. 引用类型:更安全的指针替代方案

  6. 异常处理:try/catch机制提高程序健壮性

  7. 函数重载:提高代码可读性和灵活性

注:该代码是本人自己所写,可能不够好,不够简便,欢迎大家指出我的不足之处。如果遇见看不懂的地方,可以在评论区打出来,进行讨论,或者联系我。上述内容全是我自己理解的,如果你有别的想法,或者认为我的理解不对,欢迎指出!!!如果可以,可以点一个免费的赞支持一下吗?谢谢各位彦祖亦菲!!!!!


网站公告

今日签到

点亮在社区的每一天
去签到