C语言需要掌握上千个编程技巧,才能有一些编程思路去写一些程序;
而python只要上百个编程技巧就能写很多程序了。
比如获取[-80, 20)之间的随机数:
Python:
-
import random; random.randrange(-80, 20)
C:
-
#include <stdio.h>
-
#include <stdlib.h>
-
#include <time.h>
-
-
int main()
-
{
-
int max = 20, min = -80;
-
srandom( (unsigned)time(NULL) );
-
long rand = random();
-
-
/* 2 different methods to generate [-80, 20) */
-
float i = (float)rand / (RAND_MAX + 1.0) * (max - min) + min; //rational number
-
int j = rand % (max - min + 1) + min; // integer
-
printf("%f, %d\n", i, j);
-
return 0;
-
}
直到有一天,发明了好的工具箱,情况有所改善。
-
#include
-
int randrange(int start, int end)
-
{
-
if(start > end) {
raise(SIGFPE);
}
-
/* generate random integer in [start, end) */
-
srandom( (unsigned)time(NULL) );
-
return random() % (end - start + 1) + start;
-
}
-
-
int randint(int start, int end)
-
{
-
/* generate random integer in [start, end] */
-
return randrange(start, end+1);
-
}
所以说,C语言学习曲线比Python陡峭,需要记住更多的技巧,实现一个想法和阅读一段代码花的时间都要更长。相同的工作年限,C语言掌握的整体编程架构和理论体系方面会比Python少很多。对于高手来说同样适用。把C替换成C++ 道理一样成立。
阅读(10607) | 评论(11) | 转发(3) |