写点什么

学习编程既要追根溯源、又要紧跟时代步伐

作者:玄兴梦影
  • 2022 年 10 月 07 日
    云南
  • 本文字数:706 字

    阅读完需:约 2 分钟

学习编程既要追根溯源、又要紧跟时代步伐

问题链接: https://time.geekbang.org/column/article/185179


昨天晚上《人人都能学会的编程入门课》更新了,我把"01 | 学习编程,我到底该选择哪门语言?"学习完后感触挺深,作者提到的问题我都遇到过,C 语言是我学的第一个编程语言,在学完之后我对作者判断素数的 C 语言程序的程序提出了我的看法。


我:

  for (int i = 2; i * i <= x; i++) { // 定义循环变量 i       
    if (x % i)   continue;      
        f = 1;     
       break; 
    }

老师好,如果是纯正的 C 语言,for 循环里面不能直接定义变量,但是老师是在 C++环境(文件名是 cpp)下,所以这个能运行。而老师的背景是在纯 C 的背景下,那么这个语法就是有问题的。C 语言的变量都是先定义后使用。个人愚拙,如果说得不对,还请老师见谅!


作者:

你这个问题非常好,也可能是大多数同学的问题。C 语言 for 循环里面不能定义变量,这个已经是上个世纪的事情了,自从 C99 标准以后,C 语言的循环中是可以定义变量的。


后续:


我早上的时候用 C 语言验证了,确实可以 for 循环里面可以定义变量。开始学的时候老师说,C 语言 for 循环不能定义变量,当时好像没去尝试过,后来因为参加竞赛自学了 C++ ,发现可以这样做,就一直觉得 C 语言可以不能这样做,当时看到就提出了这个问题。我之前在指导大一的新生的时候,让他们在 C 语言不要再这样,老师当时说不能这样用,自己记住了这个不能用。发现自己太死板了,编程语言也会发展,我们也要发展,时刻学习。学习编程既要追根溯源、又要紧跟时代步伐!


记于:2020-01-04


发布于: 刚刚阅读数: 4
用户头像

玄兴梦影

关注

做一个写诗的程序员。 2018.12.30 加入

一个不是诗人的诗人,不是程序员的程序员。

评论

发布
暂无评论
学习编程既要追根溯源、又要紧跟时代步伐_c_玄兴梦影_InfoQ写作社区