其实回想起来,在大学一年级的时候曾经“学过”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;
}
程序运行结果如下:
今天先到这里,明天有时间继续往后看。督促自己,照着书学习,做课后小题目~