软件工程师手册/语言字典/C
正在寻找关于 C 的故事
C 是一种完整的过程式语言。
可执行文件从 main() 方法开始。
典型的语句以分号结尾。对于将 b 赋值给 a,使用
a = b;
块注释由起始符号 /* 和结束符号 */ 指定,可以跨越多行。
/*
* this is a block comment
*/
声明需要出现在作用域的顶部。
将 i 声明为整数
int i;
将 i 声明为整数并赋予其初始值为 0
int i = 0;
方法通过指定方法的接口来声明。
return_type function_name(argument_1_type arg_1_name,
argument_2_type arg_2_name);
方法实现重复了大部分相同的信息
return_type function_name(argument_1_type arg_1_name,
argument_2_type arg_2_name)
{
// work with arg_1_name, arg_2_name, and default_arg_name
// depending on the argument types the variables are passed by
// value, reference, or are constant
// don't forget to return something of the return type
return 36;
}
作用域由花括号定义。
{ // this the beginning of a scope
// the scope is about to end
}
当且仅当 A 等于 B 时,将 C 赋值给 D,否则,将 E 赋值给 F。
if (A == B)
{
D = C;
// more code can be added here. It is used if and only if A is equal to B
}
else
{
F = E;
// more code can be added here. It is used if and only if A is not equal to B
}
或
if (A == B)
D = C; //more lines of code are not permitted after this statement
else
F = E;
或者,可以使用 switch 语句进行多选操作。此示例将数字输入转换为文本。
switch (number_value)
{
case 37:
text = "thirty-seven";
break; // this line prevents the program from writing over this value with the
// following code
case 23:
text = "twenty-three";
break;
default: // this is used if none of the previous cases contain the value
text = "unknown number";
}
此代码从 0 到 9 计数,并累加数组的内容。
int i = 0;
for (int index = 0; index < 10; index = index + 1)
{
i = array[index];
}
此代码重复执行,直到找到数字 4。如果这超出了数组的结尾,可能会出现问题。
int index = 0;
while (4 != array[index])
{
index = index + 1;
}
此代码在进行检查之前递增计数器,因此它从元素 1 开始。
int index = 0;
do
{
index = index + 1;
}
while (4 != array[index]);
printf ("%s","Hello world!\n");
结构体
实现您自己的算法,或查找库。
垃圾收集是手动的。
通常,接口在实现之前定义在头文件中(通常为 *.h)或在实现之上。实现文件通常命名为 *.c。有用的类集合可以编译成库,通常为 *.dll、*.a 或 *.so,它们可以编译成可执行文件(静态链接)或动态使用(动态链接)。
不要混淆这两个
= // assignment == // comparison, is equal to
通常使用您不想使用的那个会编译,并且会产生您不期望的结果。
一个好习惯是编写:if(CONSTANT == variable) 而不是 if(variable == CONSTANT),因为编译器会捕获:if(CONSTANT = variable) 而不是 if(variable = CONSTANT)。
使用一个生成大量有帮助的警告的编译器,即使代码是有效的。您也可以使用诸如 'lint' 之类的程序代替。这将帮助您避免诸如上面提到的错误 "if ( x = 1 )" 而不是 "if ( x == 1 )" 这样的简单错误。
数组从索引 0 开始。
列出网络上的其他参考资料。请包括参考资料适合什么级别的读者。(初学者/中级/高级)
需要参考资料
C 编程语言:(示例链接:http://cm.bell-labs.com/cm/cs/cbook/)