查看: 545|回复: 1

[C/C++] C语言和C++的比较

[复制链接]

0

技术

9

魅力

1

原创

版主

禁止访问

Rank: 7Rank: 7Rank: 7

积分
7734
人气
176
分享
52

最佳新人活跃会员

发表于 2022-10-31 13:12:07 | 显示全部楼层 |阅读模式
【前言】
肯定有人和我一样,曾经纠结过
到底是学C还是C++呢?
今天,我将和大家一同测试一下
【运行速度の测试】
关于运行速度的测试,我们就使用@xiaomeng 的算法题来测试吧
不过,这个数字太小了我们就把10000换成10000000吧
--------------------测试要求---------------------
我将会测试6次,然后得到6个数,求平均数

--------------------C++测试---------------------

[C++] 纯文本查看 复制代码
#include <time.h>
#include <cstdio>

bool isPrime(int num) {
    if (num == 2) //2是质数
        return true;
    for (int i = 2; i < num; i++)
        if (num % i == 0)
            return false; //被非1和非自己整除不是质数
    return true;//不满足以上条件返回true
}

int main()
{
    clock_t start = clock();
    for (int j = 9999999; j > 2; j -= 2) //奇数-偶数=奇数,质数(2除外)都是奇数
        if (isPrime(j) == true) { //如果不满足isPrime函数的要求,则不是质数,双重判断
            printf("The biggest prime number in 10000 is %d\n", j);
            break; //退出循环,否则会一直打印质数
        }
    printf("Time %d ms", clock() - start);
}

----------------------结果----------------------
第一次:97ms
第二次:76ms
第三次:61ms
第四次:76ms
第五次:76ms
第六次:64ms
平均值:87ms
注:这里我打开了很多程序,所以速度较慢,正常情况下50ms(±15ms)
--------------------C语言测试-------------------
[C] 纯文本查看 复制代码
#include <time.h>
#include <stdio.h>
#include <stdbool.h>

bool isPrime(int num) {
    if (num == 2) //2是质数
        return true;
    for (int i = 2; i < num; i++)
        if (num % i == 0)
            return false; //被非1和非自己整除不是质数
    return true;//不满足以上条件返回true
}

int main()
{
    clock_t start = clock();
    for (int j = 9999999; j > 2; j -= 2) //奇数-偶数=奇数,质数(2除外)都是奇数
        if (isPrime(j) == true) { //如果不满足isPrime函数的要求,则不是质数,双重判断
            printf("The biggest prime number in 10000 is %d\n", j);
            break; //退出循环,否则会一直打印质数
        }
    printf("Time %d ms", clock() - start);
}

----------------------结果----------------------
第一次:72ms
第二次:59ms
第三次:47ms
第四次:63ms
第五次:47ms
第六次:50ms
平均值:56ms

诶嘿嘿,显然,C语言更胜一筹
【程序大小の测试】
C++:61KB
C:61KB
额。。。
但是事实上,C语言能在几百KB得内存中也能运行,C++也彳亍,不过够呛
【结论】
看似没有结论,但事实上。。。
如果你的学习方向是内核类(DLL,SYS),和硬件开发(arduino,单片只因)C语言可能会更适合你
如果你的学习方向是UI,界面方向,C++会更适合你


评分

参与人数 2经验 +150 人气 +5 原创 +1 收起 理由
JimmyzZZ + 1
Andy + 150 + 5 赞一个!

查看全部评分

小菜鸡一枚~
Gitee主页:https://gitee.com/juruoqwq

0

技术

2

魅力

0

原创

炉火纯青

(~ ̄▽ ̄)~

Rank: 7Rank: 7Rank: 7

积分
5609
人气
29
分享
210

灌水之王最佳新人

发表于 2022-11-18 16:55:15 | 显示全部楼层
c++应为c艹[doge]
(虽然我不会
联系方式:lljl00982@xdev.ren
小网站:-点我传送-
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表