乙巳🐍年

acc8226 的博客

前言

微软公司一位资深软件工程师出的面试题。他让我写函数 strcpy 的代码。
这么一个小不点的函数,他从三个方面考查:
(1)编程风格;
(2)出错处理;
(3)算法复杂度分析(用于提高性能)。

试问有多少软件开发人员对正确性、健壮性、可靠性、效率、易用性、可读性(可理解性)、可扩展性、可复用性、兼容性、可移植性等质量属性了如指掌?并且能在实践中运用自如?。“高质量”可不是干活小心点就能实现的!

我打算定义编程老手和编程高手,请您别见笑。
定义 1:能长期稳定地编写出高质量程序的程序员称为编程老手。
定义 2:能长期稳定地编写出高难度、高质量程序的程序员称为编程高手

阅读全文 »

第 4 章 表达式和基本语句

【规则 4-1-1 】如果代码行中的运算符比较多,用括号确定表达式的操作顺序,避免使用默认的优先级

  1. 加了增强理解, 即使看上去加了等于没加
  2. 加了可避免一些不希望使用默认的优先级的行为

【规则 4-2-2 】不要有多用途的复合表达式。
例如:
d = (a = b + c) + r ;
该表达式既求 a 值又求 d 值。应该拆分为两个独立的语句:
a = b + c;
d = a + r;

阅读全文 »

C++的一些语法规则

输入整数显示十六进制

设 n 是非负整数,则cout<<hex<<n;显示n的十六进制形式。

大小写互转

char letter = letter + ‘A’ - ‘a’; // 加上 大写-小写的差值
同理大写转小写 char letter = letter + ‘a’ - ‘A’; // 加上 小写-大写 的差值

k=i+k ; 等价于 k=(i)+k ;

Fibonacci 序列

题目内容:
编写程序,显示 Fibonaci 序列的前 n 项(从 0 开始)。
F(0)=0
F(1)=1
F(n)=F(n-1)+F(n-2)
输入:非负整数n
输出:n+1个整数,数据间有一个空格,末尾无空格。

阅读全文 »
0%