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

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

相关推荐
微露清风2 分钟前
系统性学习C++-第十讲-stack 和 quene
java·c++·学习
抠脚学代码2 分钟前
Linux开发-->驱动开发-->字符设备驱动框架
linux·数据结构·驱动开发
闲人编程4 分钟前
Python游戏开发入门:Pygame实战
开发语言·python·游戏·pygame·毕设·codecapsule
是苏浙10 分钟前
零基础入门C语言之枚举和联合体
c语言·开发语言
报错小能手13 分钟前
C++笔记(面向对象)静态联编和动态联编
开发语言·c++·算法
WBluuue19 分钟前
AtCoder Beginner Contest 430(ABCDEF)
c++·算法
小肖爱笑不爱笑21 分钟前
2025/11/5 IO流(字节流、字符流、字节缓冲流、字符缓冲流) 计算机存储规则(ASCII、GBK、Unicode)
java·开发语言·算法
Elias不吃糖22 分钟前
第四天学习总结:C++ 文件系统 × Linux 自动化 × Makefile 工程化
linux·c++·学习
手握风云-34 分钟前
Java 数据结构第二十八期:反射、枚举以及 lambda 表达式
java·开发语言
熬了夜的程序员37 分钟前
【LeetCode】99. 恢复二叉搜索树
算法·leetcode·职场和发展