Chinaunix首页 | 论坛 | 博客
  • 博客访问: 519204
  • 博文数量: 469
  • 博客积分: 50
  • 博客等级: 民兵
  • 技术积分: 1495
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-15 21:04
文章分类

全部博文(469)

文章存档

2015年(81)

2014年(125)

2013年(261)

2012年(2)

分类: C/C++

2015-01-07 09:58:53

C语言需要掌握上千个编程技巧,才能有一些编程思路去写一些程序;
而python只要上百个编程技巧就能写很多程序了。

比如获取[-80, 20)之间的随机数:
Python:
  1. import random; random.randrange(-80, 20)
C:
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>

  4. int main()
  5. {
  6.     int max = 20, min = -80;
  7.     srandom( (unsigned)time(NULL) );
  8.     long rand = random();

  9.     /* 2 different methods to generate [-80, 20) */
  10.     float i = (float)rand / (RAND_MAX + 1.0) * (max - min) + min; //rational number
  11.     int j = rand % (max - min + 1) + min; // integer
  12.     printf("%f, %d\n", i, j);
  13.     return 0;
  14. }
直到有一天,发明了好的工具箱,情况有所改善。
  1. #include

  2. int randrange(int start, int end)
  3. { 
  4.     if(start > end) { 

            raise(SIGFPE);

       }


  5.     /* generate random integer in [start, end) */
  6.     srandom( (unsigned)time(NULL) );
  7.     return random() % (end - start + 1) + start;
  8. }

  9. int randint(int start, int end)
  10. {
  11.     /* generate random integer in [start, end] */
  12.     return randrange(start, end+1);
  13. }



所以说,C语言学习曲线比Python陡峭,需要记住更多的技巧,实现一个想法和阅读一段代码花的时间都要更长。相同的工作年限,C语言掌握的整体编程架构和理论体系方面会比Python少很多。对于高手来说同样适用。把C替换成C++ 道理一样成立。
阅读(667) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~