《C程序设计语言——第二版》第一章知识点总结

来源:互联网 发布:js移动全景图代码 编辑:程序博客网 时间:2024/05/21 09:00

1:字符序列在C语言中称为:字符串字符串常量PS:之前总以为它们两个指的是不同的东西!

2:在C语言中,字符序列\n表示换行符,在打印中遇到它时,输出打印将换行,从下一行的左端行首开始。如果去掉字符串中的\n,即使输出打印完成后也不会换行。在printf()函数的参数表中,只能用\n表示换行符。如果用程序的换行代替\n,例如:

    printf("Hello World!    ");
C编译器将会产生一条错误的信息。

3:printf()函数永远不会自动换行。

4:while()循环语句的执行方式是这样的:首先测试圆括号中的条件;如果条件为真,则执行循环体;然后再重新测试圆括号中的条件,如果为真,则再次执行循环体;当圆括号中的条件测试结果为假时,循环结束,并继续执行跟在while()循环语句之后的下一条语句。

5:printf()函数中的第一个参数中的各个%分别对应于第二个、第三个、... ...参数,它们在数目和类型上都必须匹配,否则将出现错误的结果。

6:如果在printf()语句的第一个参数的%d中指明打印宽度,则打印的数字会在打印区域内右对齐。

    int fahr = 10,celsius = 9;    printf("%3d %6d\n",fahr,celsius);
这里fahr的值占3个数字宽度,celsius的值占6个数字宽度。

7:常数中的小数点表明该常数是一个浮点数,因此,5.0/9.0;是两个浮点数相除,结果将不被舎位。

8:如果某个算术运算符的所有操作数均为整型,则执行整型运算。但是,如果某个算术运算符有一个浮点数操作数和一个整型操作数,则在开始运算之前整型操作数将会被转换为浮点型

9:赋值语句和条件测试语句的类型转换也按照上面的方式执行。

   printf("%6.1d\n",celsius);

10:%6.1f表明另一个打印的数(celsius)至少占6个字符宽度,且小数点后面有1位数字。格式说明可以省略宽度与精度,例如:%6f表示待打印的浮点数至少有6个字符宽度;%.2f指定待打印的浮点数的小数点后有两位小数,但宽度没有限制。
11:C语言中一个通用规则:在允许使用某种类型变量值的任何场合,都可以使用该类型的更复杂的表达式

12:for循环初始化部分、条件部分、增加步长部分都可以使任何表达式

13:#define指令可以把符号名(或符号常量)定义为一个特定的字符串:

#define 名字 替换文本
在该定义之后,程序中出现的所有在#define中定义的名字都将用相应的替换文本替换文本可以是任何字符序列,而不仅限于数字。符号常量名通常用大写字母拼写,这样可以很容易与用小写字母拼写的变量名相区别。

#define指令行的末尾没有分号

power()函数

#include<iostream>#include<cstdio>using namespace std;int power(int base,int n){    int result = 1;    for(int i = 0; i < n; i++)        result *= base;    return result;}int main(){    for(int i = 0; i < 10; i++)        printf("i = %d power(2,%d) = %d power(-3,%d) = %d\n",i,i,power(2,i),i,power(-3,i));    return 0;}

我写的错误代码:

#include<iostream>#include<cstdio>using namespace std;int power(int base,int n){    for(int i = 0; i < n - 1; i++)        base *= base;    return base;}int main(){    for(int i = 0; i < 10; i++)        printf("i = %d power(2,%d) = %d power(-3,%d) = %d\n",i,i,power(2,i),i,power(-3,i));    return 0;}


0 0
原创粉丝点击