C Primer Plus 第二章读书笔记

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

本章介绍了一些基础的运算符,函数和数据类型,以及注释的使用方法,并编写了简单的程序,和一些初期易犯的错误。下面由我继续分享本章感悟。

一、简单的C程序实例

#include<stdio.h>
int main(void)/* 一个简单的C程序 */
{
	int num;/* 定义一个名为num的变量 */
	num = 1;/* 为num赋一个值 */

	printf("I am a simple ");/* 使用printf()函数 */
	printf("computer.\n");
	printf("My favorite number is %d because it is first.\n", num);

	return 0;
}

二、示例解释

这是本书第一次出现具体代码,内容也较为简单,首先第一行引用了C语言基础的头文件#include<stdio.h>,关于这个头文件的具体内容我不清楚,可以关联键盘输入和屏幕输出,在初期只需知道一般情况下所有C程序都需要引用该头文件,关于头文件,按我的理解就是一些前辈们为了降低初学者的编程难度,也为了自己的方便,便写了一些使用频率很高的函数,将他们打包在一起,供大家直接使用。至于函数,现阶段就理解为一个个有作用的代码块即可。

1.主函数

下面的语句出现了一个结构:

int main(void){
	return 0;
}

这也是几乎每个C程序必备的部分这应当也是一个函数,名叫主函数,至于作用,姑且记作是让我们写的代码可以正常运行。需要注意,在接触到函数的内容之前,我们只能在主函数的大括号内编写代码,否则无法正常运行。
再看内部函数体:
首先需要说明C语言每个语句结束时都需在末尾加上;表示结束,否则计算机将以为你下面还有话说,同样的道理,当你的语句过长时,只要不加分号,即使换行继续也不会有影响,不过一般为了函数结构明确,最好不要随意换行。

2.注释

/**/和//是常用的两种注释方式前者只需在两个*间输入即可,后者在第二个/后输入需要注意,后者注释一旦换行则会失效。注释的内容是给"人"看的,也就是说,里面的语句不用遵循任何规则,按照我们怎么方便怎么来即可,当然,用好注释是一个优秀的程序员非常重要的能力这会有助于他人快速理解自己的程序,也方便寻找问题。

	int num;/* 定义一个名为num的变量 */

3.整型(数据类型)

int顾名思义代表整数,在编程语言里叫做整型,数据类型的一种,后面还会涉及到其他类型,其作用和我们通常理解的整数区别不大,看注释可以知道,以上语句就是定义了一个整数变量,num是变量名称,在C语言中,变量命名是有要求的,只允许字母数字及’_',且开头不允许数字。需要注意,每个数据类型都有范围,在使用时一旦超出会发生不太友好的情况。

4.赋值(运算符)

再看:

	num = 1;/* 为num赋一个值 */

同样从注释可以看出这是一个赋值语句,"="就是赋值符号,需要知道这和我们所理解的等号是有区别的,它代表的是将右边的值给到左边的变量。

5.输出语句printf,换行符\n,以及占位符%d

再往下看:

	printf("I am a simple ");/* 使用printf()函数 */
	printf("computer.\n");
	printf("My favorite number is %d because it is first.\n", num);

首先这三句都有一个共同的特征:

	printf("");

这是一个简单的语句,作用就是将引号内的内容原封不动的输出到显示器上。
再看后两句结尾都有一个’\n’,这是换行符,它是不会被输出到显示器的,作用就相当于敲一下回车键。
再仔细观察一下这个语句:

	printf("My favorite number is %d because it is first.\n", num);

可以看到除了英文,换行符,还有一个看起来不知所谓的符号’%d’,在最后还有一个num,这是什么意思呢?其实很简单,就是将后面的num的值,也就是前面所赋值的1输出到%d的位置,需要注意这是一一对应的,%d对应的就是整型类型,如果后面给的变量是其他类型,则会出现一些问题。

三、简单程序的结构及提高可读性的技巧

程序员不是一个人的职业,越到后期面临的问题愈发困难,一个人的力量终究是有限的,所以程序员们需要考虑统一格式,以方便合作,简单的C程序结构如下:

#include<stdio.h>
int main(void)
{
	语句1;//
	语句2//
	语句3//
	return 0;
}

简单来说就是每个语句一行,在合适的位置添加注释。

四、进一步使用C

//fathm_ft.c--把2英寻转换成英尺
#include<stdio.h>
int main(void)
{
	int feet, fathoms;
	fathoms = 2;
	feet = 6 * fathoms;
	printf("There are %d feet in %d fathoms!\n", feet, fathoms);
	printf("Yes, I said %d feet!\n", 6 * fathoms);

	return 0;
}

以上代码较之前多出了一些内容,简洁的说有多个变量定义方式,*以及多个变量输出方式。

乘法(运算符)

'*'在C语言中被用作乘法,其用法和数学类似,再次不做过多赘述,需要注意,变量如果是数的类型,也可以用其运算。

五、多个函数

/* two_func.c -- 一个文件包含两个函数 */
#include<stdio.h>
void butler(void);/* ANSI/ISO C 函数原型 */
int main(void) 
{
	printf("I will summon the butler function.\n");
	butler();
	printf("Yes. Bring me some tea and wruteable DVDs.\n");

	return 0;
}
void butler(void)/*函数定义开始*/
{
	printf("You are rang, sir?\n");
}

以上代码出现了此前所说的函数,函数的作用前面也提到了,就是为了解决频繁的同类问题,其格式如下:

1.函数声明

void butler(void);

void也是数据类型的一种代表空类型,此处代表函数的返回值,说明此函数没有需要返回的值,当然,这不代表什么都没有。

2.参数表

上面声明的第二个void代表参数表,简单来说就是函数可能会用到的变量,主义这里的void,即没有需要用到的参数。

3.函数定义

void butler(void)/*函数定义开始*/
{
	printf("You are rang, sir?\n");
}

可以看到这和主函数是相当类似的,作用就是输出引号内的句子。

总结

本章还涉及到一下=些报错和关键字的知识,我认为说的再好的报错也比不上在编程过程中自己遇到的印象深刻,修改程序也会使我们更好的理解,所以在此未作记录,至于关键字,此时列举也会有很多不能理解,倒不如遇到问题再做了解。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值