C程序设计语言(K&R) 笔记1
当作复习。。。
(1)将华氏度 换算成 摄氏度,公式:
℃=(5/9)(̧°F-32)
#include <stdio.h> int transformTemprature(int F){
//`C=(5/9)(̧`F-32)
return (int)( * (F-) / );
} int main(){ int lower = ;
int upper = ;
int step = ; for(int f=lower; f<=upper; f+=step){
printf("%d %d\n",f,transformTemprature(f));
} return ;
}
lenovo-myc@lenovomyc-Lenovo-Product:~/C_test$ vim Temprature.c
lenovo-myc@lenovomyc-Lenovo-Product:~/C_test$ cc -std=gnu99 Temprature.c
lenovo-myc@lenovomyc-Lenovo-Product:~/C_test$ a.out
-
- 修改为
printf("%d\t%d\n",f,transformTemprature(f));
加入制表符 \t lenovo-myc@lenovomyc-Lenovo-Product:~/C_test$ vim Temprature.c
lenovo-myc@lenovomyc-Lenovo-Product:~/C_test$ cc -std=gnu99 Temprature.c
lenovo-myc@lenovomyc-Lenovo-Product:~/C_test$ a.out
-
- 修改为
printf("%3d%3d\n",f,transformTemprature(f));
右对齐 lenovo-myc@lenovomyc-Lenovo-Product:~/C_test$ vim Temprature.c
lenovo-myc@lenovomyc-Lenovo-Product:~/C_test$ cc -std=gnu99 Temprature.c
lenovo-myc@lenovomyc-Lenovo-Product:~/C_test$ a.out
-
-
(2)为了使精度更高。将变量由int 改为 float
#include <stdio.h> float transformTemprature(int F){
//`C=(5/9)(̧`F-32)
return (5.0/9.0) * (F-32.0);
} int main(){ float lower = ;
float upper = ;
float step = ; for(float f=lower; f<=upper; f+=step){
printf("%3.0f%6.1f\n",f,transformTemprature(f));
} return ;
}
lenovo-myc@lenovomyc-Lenovo-Product:~/C_test$ vim TempratureFloat.c
lenovo-myc@lenovomyc-Lenovo-Product:~/C_test$ cc -std=gnu99 TempratureFloat.c
lenovo-myc@lenovomyc-Lenovo-Product:~/C_test$ a.out
-17.8
-6.7
4.4
15.6
26.7
37.8
48.9
60.0
71.1
82.2
93.3
104.4
115.6
126.7
137.8
148.9
(3)去掉多余参数
#include <stdio.h> float transformTemprature(int F){
//`C=(5/9)(̧`F-32)
return (5.0/9.0) * (F-32.0);
} int main(){ for(int f=; f<=; f+=){
printf("%3d%6.1f\n",f,transformTemprature(f));
} return ;
}
(4) 将 幻数 替换为 #define 符号常量
#include <stdio.h> #define LOWWER 0 /* lower limit of table */
#define UPPER 300 /* upper limit */
#define STEP 20 /* step size */ float transformTemperature(int f){
return (5.0/9.0) * (f - 32.0);
} /* print Fahrenheit-Celsius table */
int main(){
for(int f=LOWWER; f<=UPPER; f+=STEP){
printf("%3d%6.1f\n",f,transformTemperature(f));
} return ;
}
C程序设计语言(K&R) 笔记1的更多相关文章
- C程序设计语言(K&R)笔记
1.表达式中float类型的操作数不会自动转换为double类型.一般来说,数学函数(如math.h)使用双精度类型的变量.使用float类型主要是为了在使用较大数组时节省存储空间,有时也为了节省机器 ...
- 《C程序设计语言》读书笔记----习题1-21
题目就不写了,大概意思就是:尽量用制表符'\t'替换掉字符串中的空格. 同学们需要注意的是,打印一个制表符'\t',其所占长度不是固定的. 这里要理解“制表符”和“制表符终止位”.“制表符”的作用是使 ...
- 《Go程序设计语言》读书笔记-函数
函数包含连续执行的语句,可以使用代码中通过调用函数来执行他们,函数能够将一个复杂的工作切分成多个更小的模块,使多人写作变得容易.另外,函数对他的使用者隐藏了实现细节.这几方面的特性使得函数成为多数编程 ...
- 《c程序设计语言》读书笔记--字符串比较
举例如下: char a[10]; 1.定义的时候直接用字符串赋值 char a[10]="hello"; 注意:不能先定义再给它赋值,如 char a[10]; a[10]= ...
- 《c程序设计语言》读书笔记-5.6-指针重写getline等函数
#include <stdio.h> #include <math.h> #include <stdlib.h> #include <string.h> ...
- 《c程序设计语言》读书笔记-4.1-判断字符串在另一个字符串中的位置
#include <io.h> #include <stdio.h> #include <string.h> #include <stdlib.h> # ...
- 《c程序设计语言》读书笔记-第二个字符串任意一个在第一个字符串出现的位置,未出先返回-1
#include <stdio.h> #include <string.h> #define Num 1000 int main() { int c,i,j = 0,m = 0 ...
- 《c程序设计语言》读书笔记-字符型0-9转为数字0-9
#include <stdio.h> #define Num 10 int atoi(char s[]); int main() { int c,i = 0; char s[Num]; i ...
- 《c程序设计语言》读书笔记-十六位进制数转十进制
#include <stdio.h> #include <stdio.h> int htoi(char s[]); main() { char s1[] = "10& ...
- 《c程序设计语言》读书笔记--闰年和字符输入不用 && ||
#include <stdio.h> #include <string.h> #define sta 1500 #define Num 1600 int main() { in ...
随机推荐
- 2017-02-20 Sql Server2016安装后无法找到Microsoft Sql Server Management Studio管理器
最近安装的sql sever2016后发现没有Sql server management studio管理工具,无法操作sql server 解决方案,可去官网单独下载 Sql Server Mana ...
- jsp用tags传递参数
<computer:trangleTag sideA="12" sideB="12" sideC="12"/>表示以字符串传递s ...
- 找到Office 2016 for MAC中AutoUpdate等组件的本地下载位置
更新:64位delta升级文件如: $ &>/dev/null /private/var/folders/8g/7f3zrs2j3hb1jx58z1_vkykh0000gn/T/MSau ...
- iOS-文本转语音
- 文本转语音 iOS提供了一个类AVSpeechSynthesizer来实现文本到语音的功能, 即读出文字 直接上代码: AVSpeechSynthesizer *synthesizer = [[A ...
- SpringTask定时任务实例讲解【Java获取微信公众平台accessToken及jsapiTicket】
项目中调用微信公众平台的接口时,因为获取到的accessToken及jsapiTicket有效时长只有两个小时,需要不断更新. 所以做了个定时任务,记录一下. .SpringTask实现有两种方式,一 ...
- 20165210 Java第三次实验报告
20165210 实验二 敏捷开发与XP实践 一.敏捷开发与XP实践-1 实验要求: http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的内容替 ...
- MKMapView缩放显示全部annotation(转)
原文 http://blog.csdn.net/favormm/article/details/8028026#define MINIMUM_ZOOM_ARC 0.014 //approximate ...
- MySQL相关日志介绍
1.MySQL中主要日志如下: ① 错误日志(Log Error) ② 查询日志(Query Log) ③ 二进制日志(Binary Log) 2.相关日志的作用: 1) 错误日志(Error Log ...
- mysql中获取自增函数解析
1 如果 一条语句多行插入,默认情况下是返回第一行的自增id 2 存储过程可以与外部共享自增,而函数和触发器不能,因为在函数和触发器关闭的时候,自增自动restore 3 获取自增id,不会因为并发产 ...
- hdu2188 Check Corners
Check Corners Time Limit: 2000/10000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...