《C程序设计语言》书籍内容学习第一弹

其实回想起来,在大学一年级的时候曾经“学过”C语言。可是回首一下,发现完全不记得了。准备开这个博客,更新自己学习的内容。记录自己学习的情况,也希望能够帮助到一些人。

1.1入门

这个部分是一些非常简单的入门,看完之后就可以迅速的进行练习题了~

练习1-1

在自己的系统中运行“Hello,world‘程序。再有意去掉程序中的部分内容,看看会得到什么结果。

#include <stdio.h>

main()
{
	printf("Hello,world");
	system("pause");
	return 0;
}
去掉部分内容的话,如果是printf中的内容,打印的字符改变了。如果是其他的话,会报错。

练习1-2

做个实验,当printf函数的参考字符串中包含\c(其中c是上面列出的转义字符序列中未曾列出的某一个字符)时,观察一下会出现什么情况。

#include<stdio.h>

main()
{
	printf("\c");
	system("pause");
	return 0;
}

转义字符是用\加单字符表示的:如果没有这种转义字符,则默认只显示后面的字母;反之,则显示对应的转义字符。
一般用到的转义字符如下表:
\a响铃符
\b回退符
\f换页符
\n换行符
\r回车符
\t横向制表符
\v纵向制表符
\\反斜杠
\?问号
\'单引号
\"双引号
\ooo八进制数
\xhh十六进制数

1.2变量与算数表达式

这一章利用了摄氏度与华氏度之间的转换作为例子,来说明变量和算数表达式。C=(5/9)(F-32)
#include<stdio.h>

main()
{
	/*当fahr=0,20,...,300时,分别
	打印华氏温度与摄氏温度对照表*/
	int fahr, celsius;
	int lower, upper, step;
	lower = 0;		/*温度表的下限*/
	upper = 300;	<span style="white-space:pre">	</span>/*温度表的下限*/
	step = 20;		/*步长*/

	fahr = lower;
	while (fahr <= upper)
	{
		celsius = 5 * (fahr - 32) / 9;
		printf("%d\t%d\n", fahr, celsius);
		fahr = fahr + step;
	}
	system("pause");
	return 0;
}
运行结果:

至于对齐不够美观的问题,可以把打印的函数进行修改,指明打印的宽度:
printf("%3d%6d\n", fahr, celsius);

由于精度不够高,所以可以将fahr,celsius变量变为float型变量,对应的修改如下:
float fahr, celsius;
celsius = (5.0/9.0)*(fahr-32.0);
printf("%3.0f %6.1f\n", fahr, celsius);
运行后的结果为:

练习1-3 

修改温度转换程序,使它能够在转换表的顶部打印一个标题。

只需要在打印温度之前加上下面句子,就可以了。
printf("打印华氏-摄氏温度转化表\n");
运行结果如下:

练习1-4

编写一个程序打印摄氏温度转换为相应华氏温度的转换表。

#include<stdio.h>

main()
{
	/*当celsius=0,20,...,300时,分别
	打印摄氏温度与华氏温度对照表*/
	int fahr, celsius;
	int lower, upper, step;
	lower = 0;		/*温度表的下限*/
	upper = 300;	<span style="white-space:pre">	</span>/*温度表的下限*/
	step = 20;		/*步长*/

	celsius = lower;
	printf("打印摄氏-华氏温度转化表\n");
	while (celsius <= upper)
	{
		fahr = 9*celsius/5 + 32;
		printf("%3d %6d\n",celsius,fahr);
		celsius = celsius + step;
	}

	system("pause");
	return 0;
}
程序运行结果如下:
今天先到这里,明天有时间继续往后看。督促自己,照着书学习,做课后小题目~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值