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

源代码:

cpp 复制代码
#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. 输入输出系统

cpp 复制代码
#include <iostream>
using namespace std;

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

  • cin:标准输入流对象

  • endl:换行并刷新缓冲区

2. 命名空间

cpp 复制代码
using namespace std;  // 使用标准命名空间

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

3. 函数重载

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

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

4. 引用类型

cpp 复制代码
void swap(int &a, int &b) {
    int temp = a;
    a = b;
    b = temp;
}

5. 标准模板库(STL)

cpp 复制代码
#include <vector>
#include <algorithm>

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

6. 类与对象

cpp 复制代码
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. 函数重载:提高代码可读性和灵活性

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

相关推荐
绿炮火3 分钟前
【MATLAB】(十)符号运算
开发语言·matlab
俄城杜小帅29 分钟前
QML与C++交互的方式
开发语言·c++·交互
Asu52021 小时前
思途spring学习0807
java·开发语言·spring boot·学习
zhang1062092 小时前
PDF注释的加载和保存的实现
java·开发语言·pdf·pdfbox·批注
VBA63372 小时前
VBA之Word应用第四章第一节:段落集合Paragraphs对象(一)
开发语言
我是不会赢的2 小时前
使用 decimal 包解决 go float 浮点数运算失真
开发语言·后端·golang·浮点数
Vesan,2 小时前
无人机开发分享——基于行为树的无人机集群机载自主决策算法框架搭建及开发
c++·算法·决策树·无人机
胤祥矢量商铺2 小时前
菜鸟笔记007 [...c(e), ...d(i)]数组的新用法
c语言·开发语言·javascript·笔记·illustrator插件
青红光硫化黑3 小时前
学习bug
开发语言·javascript·ecmascript
泽虞3 小时前
C语言深度语法掌握笔记:底层机制,高级概念
java·c语言·笔记