第2章 C语言概述

学习笔记——《C Primer Plus》

2.1 简单的C程序实例

#include <stdio.h>
int main(void){
	int num;                  //定义一个名为num的变量
	num = 1;                  //为num变量赋初值
	print("I am a simple");   //使用printf()函数
	print("computer.\n");
	print("My favorite number is %d because it is first.\n",num);
	getchar();
	return 0;
}

2.2 实例解释

在这里插入图片描述

2.2.1 快速概要

1. #include指令和头文件

#include <stdio.h>   //包含另一个文件:标准输入/输出头文件。
                    //#号表明,C预处理器在编译器接手之前处理这条指令。

该行告诉编译器把stdio.h中的内容包含在当前程序中。stdio.h是C编译器软件包的标准部分,提供键盘输入和屏幕输出的支持。
头文件包含了编译器创建最终可执行程序要用到的信息。简而言之,头文件帮助编译器把程序正确地组合在一起。

2. main() 函数

int main(void)  //int表明main()函数返回一个整数,void表明main()不带任何参数
{               //左花括号表示函数定义开始
	...
}               //右花括号表示函数定义结束

C程序包含一个或多个函数,它们是C程序的基本模块。

3. 声明

int num;    /*该句完成两个任务:1.在函数中有一个名为num的变量;
              2.int表明num是一个整数,编译器为num变量在内存中分配存储空间。
                num是一个标识符(identifier),也就是一个变量、函数或其它实体的名称。
                标识符第一个字符必须是字符或下划线,不能是数字,且区分大小写。
            */

这行代码叫作声明(declaration)。声明把特定标识符与计算机内存中的特定位置联系起来,同时也确定了储存在某位置的信息类型或数据类型。
在C语言中,所有变量都必须先声明才能使用,这意味着必须列出程序中用到的所有变量名及其类型,还要求把变量声明在块的顶部,其它语句不能在任何声明的前面。(C99和C11,可以把声明放在块中任何位置。)

(1)把所有变量放在一起,方便读者查找和理解程序的用途,变量名命名必须有意义。
(2)声明变量会促使你在编写程序之间做一些计划。如要获取哪些信息?如何输出?表示数据最好的方法是什么?
(3)声明变量有助于发现隐藏在程序中的小错误。

4. 赋值

num = 1;

在执行int num;声明时,编译器在计算机内存中为变量num预留了空间,然后在执行赋值表达语句时,把值储存在之前预留的位置。

5. printf() 函数

printf(“computer.\n”);  //print()函数是标准的C库函数。
                        /*当程序运行到这一行时,控制权被转给已命名的函数(printf()),
                        函数执行结束后,控制权被返回至主调函数(calling function),该例中的main()
                        */

在程序中使用函数叫作调用函数。printf()是一个标准函数。圆括号中的内容是从main()函数传递给print()函数的信息,例如把computer传递给printf()函数,该信息被称为参数,更确切地说是函数的实际参数(actual argument),是传递给函数的特定值。形式参数是函数中用于储存值的变量。

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

%d相当于一个占位符,其作用是指明输出num值的位置。

5. return 语句

return 0;  //return关键字后面是待返回的值,并以分号结束。

C函数可以给调用方(操作系统) 提供(或返回)一个数。

2.3 简单程序的结构

#include <stdio.h>
int main()
{
	语句;
	return 0;
{

2.4 多个函数

把自己写的函数加入程序中:

#include <stdio.h>
void butler(void)   //C函数原型(prototype):告知编译器在程序中要使用该函数。
int main()
{
	printf("I will summon the butler function.\n");
	butler();   //以函数调用(function call)的形式出现在main()中。
	printf("Yes. Bring me some tea and writeable DVDs.\n");
	
	return 0;
}
void butler(void)  //函数定义(function definition):函数定义即是函数本身的源代码。
{
	printf("You rang, sir?\n");
}

(1)函数原型是一种声明形式,告知编译器正在使用某函数,因此函数原型也被称为函数声明(function declaration)。函数原型还指明了函数的属性。
(2)在main()函数中调用butler()很简单,写出函数名和圆括号即可。当butler()执行完毕后,程序会继续执行main()中的下一条语句。
(3)何时执行butler()函数取决于它在main()函数中被调用的位置,而不是butler()的定义在文件中的位置。
(4)C的惯例是把main()函数放在开头,因为它提供了程序的基本框架。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值