C语言基础3

内容简介

本书一共有八个项目,分别是导言、类型、运算符与表达式、控制流、函数与程序结构、指针与数组、结构、输入与输出、UNIX系统接口。

前言

本书是C语言基础,其实就是把《The C Programming Language》的读书笔记。

读书要写笔记,读一点写一点,可以写成有系统的笔记。

每天写作的内容不能确定,有空就写,没空就不写。方证大师说:“练一天有一天的好处,练一时有一时的好处。”写一段有一段的好处,写一句有一句的好处。

项目一 导言

1.2 变量与算术表达式

温度转换程序

#include <stdio.h>
int main()
{
	int fahr, celsius;
	int lower, upper, step;

	lower = 0;
	upper = 300;
	step = 20;
	fahr = lower;
	while (fahr <= upper)
	{
		celsius = 5 * (fahr - 32) / 9;
		printf("%d\t%d\n", fahr, celsius);
		fahr = fahr + step;
	}
}

1.4 符号常量

在1.2节变量与算术表达式中讲过一个温度转换程序,程序如下。

#include <stdio.h>
int main()
{
	int fahr, celsius;
	int lower, upper, step;

	lower = 0;
	upper = 300;
	step = 20;
	fahr = lower;
	while (fahr <= upper)
	{
		celsius = 5 * (fahr - 32) / 9;
		printf("%d\t%d\n", fahr, celsius);
		fahr = fahr + step;
	}
}

在这个程序里面,变量upper和step是幻数。幻数没有具体意义,不能提供信息,修改困难。幻数的处理办法是定义幻数,通过符号常量将其定义为字符串。符号常量的语法如下。

#define 名字 替换文本

使用名字的本质是使用“替换文本”


注意

符号常量不等于变量,不出现在声明中,全用大写,没有分号。

用符号常量对温度转换程序进行修改


#include <stdio.h>
#define LOWER  0
#define UPPER  300
#define STEP   20

main()
{
    int fahr;
    for(fahr = LOWER; fahr <= UPPER; fahr = fahr + STEP)
        printf("%3d  %6.1d\n",fahr,(5.0/9.0)*(fahr-32));
}

1.7 函 数

函数为“计算过程的封装”,也就是说函数是对计算过程进行的封装。比如一个一元二次方程,我们列竖式进行计算,列竖式就是计算过程。函数将这个计算过程进行封装,使用者将看不到计算过程。函数就是一个黑盒子。

使用函数,不用管函数是如何实现的。只需要知道函数具有哪些功能,无需管功能是怎样实现的。

函数分为两种,一种是自定义函数,一种是函数库函数。

自定义函数,需要使用者自己定义,要学习函数定义的方法。

函数库函数,是已经封装好的函数,如printf()、getchar()、putchar()函数等。

对于函数库函数,使用者只需要知道函数具有的功能即可,无需自定义函数的功能。

下面自定义一个指数计算函数,函数命名为power(m,n),能够实现的功能是计算整数m的n次幂。

该程序分为三步完成,第一步是定义函数,第二步是主程序调用函数,第三步是合并程序

第一步,定义函数

#include<stdio.h>
int power(int base,int n)
{
	int i,p;
    p = 1;
    for(i=1;i<=n;++i)
        p = p * base;
    return p;
}

第二步:main()函数调用power(m,n)函数

int power(int m,int n);
main()
{
    int i;
    for(i=0;i<10;++i)
        printf("%d %d %d\n",i,power(2,i),power(-3,i));
    return 0;
}

第三步:合并程序

#include<stdio.h>
int power(int m,int n);
main()
{
    int i;
    for(i=0;i<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值