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

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

相关推荐
future14124 分钟前
C#进阶学习日记
数据结构·学习
2501_922895585 分钟前
字符函数和字符串函数(下)- 暴力匹配算法
算法
Dxy123931021613 分钟前
Python ExcelWriter详解:从基础到高级的完整指南
开发语言·python
IT信息技术学习圈1 小时前
算法核心知识复习:排序算法对比 + 递归与递推深度解析(根据GESP四级题目总结)
算法·排序算法
愚润求学1 小时前
【动态规划】01背包问题
c++·算法·leetcode·动态规划
会唱歌的小黄李1 小时前
【算法】贪心算法入门
算法·贪心算法
源代码•宸2 小时前
C++高频知识点(十三)
开发语言·c++·经验分享·面经
wa的一声哭了2 小时前
python基础知识pip配置pip.conf文件
java·服务器·开发语言·python·pip·risc-v·os
轻语呢喃2 小时前
每日LeetCode : 两数相加--链表操作与进位的经典处理
javascript·算法
Kay_Liang2 小时前
MySQL SQL语句精要:DDL、DML与DCL的深度探究
开发语言·数据库·sql·mysql·database