算法竞赛入门经典(第2版)笔记--第1章


p2 程序1-2

#include <stdio.h> 
int main()
{
    printf("%.1f\n",8.0/5.0);
    return 0;
}

运行结果:这里写图片描述

实验5:将”%.1f”中的1改为2
运行结果: :
注:f格式:用来输出实数(包括单、双精度),以小数形式输出。有以下几种用法:
%f:不指定宽度,整数部分全部输出并输出6位小数。
%m.nf:输出共占m列,其中有n位小数,若数值宽度小于m左端补空格。
%-m.nf:输出共占m列,其中有n位小数,若数值宽度小于m右端补空格。
double型输入要用%lf

实验6:”%.1f”不变,将8.0/5.0改为8/5
运行结果:这里写图片描述

实验7:”%.1f”改为”%d”,8.0/5.0不变
运行结果:

实验6及实验7的结果涉及整数和浮点数编码,待以后解决。

第1章重要提示摘要总结:

1.输入前不要打印提示信息,输出完毕后应立即终止程序

2.每行输出均应以回车符结束,包括最后一行。除特殊说明,行首不应有空格,但行末通常可有多余空格。输出的每两个数或字符串之间用空格隔开。

3.尽量用const关键字声明常数

4.只有以”%”开头的部分才会被后面的值替换掉,其他部分原样输出

5.d格式:用来输出十进制整数。有以下几种用法:
%d:按整型数据的实际长度输出。
%md:m为指定的输出字段的宽度。如果数据的位数小于m,则 左端补以空格,若大于m,则按实际位数输出。
(注:0–有0表示指定空位填0,如省略表示指定空位不填。
如”%03d”输出25的结果为025)

6.可以通过手工模拟的方法理解程序的执行方式,重点在于记录每条语句执行之后各个变量的值

7.变量交换的三种方法:

  • 三变量交换法(常用): t=a; a=b; b=t;
  • a=a+b; b=a-b; a=a-b;
  • 异或运算(效率最高):a=a^b; b=b^a; a=a^b;
    原理:利用一个数异或本身等于0和异或运算符合交换率。

8.c语言中的逻辑运算符都是短路(short-circuit)运算符,一旦能确定整个表达式的值,就不再继续运算

9.适当在程序中编写注释

数据类型实验:

实验A1:表达式11111*11111的值是多少?把5个1改成6个?9个?
结果:这里写图片描述
这里写图片描述

实验A2:把A1中的所有数换成浮点数
结果:这里写图片描述
这里写图片描述

实验A3:表达式sqrt(-10)的值是多少?
用%d输出:这里写图片描述
用%f输出:这里写图片描述

实验A4:表达式1.0/0.0,0.0/0.0的值是多少
用%d输出结果均为:0
用%f输出1.0/0.0:这里写图片描述
用%f输出0.0/0.0:这里写图片描述

实验A5:表达式1/0的值是多少?
报错:这里写图片描述

以上实验现象待日后解释。

智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告