算法竞赛入门经典(第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的值是多少?
报错:这里写图片描述

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值