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

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

相关推荐
2601_956121971 小时前
二分算法(知识点+题目)
c++·算法
格林威2 小时前
多相机微秒级对齐:硬件触发 vs PTP(IEEE 1588)方案实战对比
开发语言·人工智能·数码相机·机器学习·计算机视觉·视觉检测·机器视觉
初级代码游戏3 小时前
iOS开发 Swift 速记2:三种集合类型 Array Set Dictionary
开发语言·ios·swift
蒙奇·D·路飞-3 小时前
OpenClaw:开源的《合金弹头》精神续作与终极本地部署指南
c++·开源·mfc
AndrewHZ4 小时前
【LLM技术全景】阶段总结:技术原理篇核心知识回顾
人工智能·深度学习·算法·语言模型·大模型·llm·芯片开发
峥嵘life4 小时前
Android WiFi 热点 Channel 信道 和 Frequency 频率 转换总结
android·开发语言
小星星闪亮登场5 小时前
2026萌新联赛第三场-- (郑州轻工业大学)
数据结构·c++·经验分享·算法·贪心算法·排序算法·深度优先
wgego5 小时前
基础的反序列化一些总结(php和java)
java·开发语言·笔记
梓䈑5 小时前
【用 Vibe Coding 实现的 C++17 在线判题系统】前端开发 + Web 自动化测试
前端·c++·ai编程
冻柠檬飞冰走茶5 小时前
PTA基础编程题目集 7-8超速判断(C++语言实现)
开发语言·数据结构·c++·算法