《21天学通C语言(第7版)》一第1部分 C语言基础 第2课 C程序的组成部分 2.1 简短的C程序

第1部分 C语言基础

21天学通C语言(第7版)
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

第2课 C程序的组成部分

21天学通C语言(第7版)
每个C程序都由多个部分组成。本书绝大多数篇幅都在解释各种程序的组成部分以及如何使用它们。为了帮助读者掌握C程序的概况,首先介绍一个完整(但简短)的C程序,并识别其中的每个部分。本课将介绍以下内容:

简短C程序的组成部分
每个程序组成部分的用途
如何编译并运行程序示例
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

2.1 简短的C程序

21天学通C语言(第7版)
程序清单2.1列出了bigyear.c的源代码,这是一个简单的程序。该程序接受用户从键盘输入的出生年份,并计算此人指定年龄的年份。现在,还不用了解程序的各种细节和工作原理。关键是要熟悉C程序的各个部分,以便更好地理解本书后面所示的程序清单。

在查看程序示例之前,要知道什么是函数,因为函数是C语言程序设计的核心。函数(function)是一段执行某项任务的程序代码。要指定函数的名称,在程序中通过引用函数名,可以执行函数中的代码。程序还能将信息(被称为参数(argument))发送给函数,而函数也可以将信息返回。C语言有两种类型的函数:库函数(library function)和用户自定义函数(user-defined function),前者是C编译器软件包的一部分,后者由程序员创建。你将在本书中学到这两种类型函数的相关内容。

注意,程序清单2.1和本书后面所列的所有程序清单中的行号都不是程序的一部分。把它们显示在程序清单中,只是为了方便描述和分析,在键入程序时千万不要将它们也一同输入。

输入下三角

程序清单2.1 bigyear.c - 计算某人在指定年数后的年份

/* 该程序计算某人在经过指定年数后的年份。*/
#include <stdio.h>
#define TARGET_AGE 88
int year1, year2;
int calcYear(int year1);
int main(void)
{
     // 询问用户的出生年份
     printf("What year was the subject born? ");
     printf("Enter as a 4-digit year (YYYY): ");
     scanf(" %d", &year1);
     // 计算指定年数后的年份,并显示该年份
     year2 = calcYear(year1);
     printf("Someone born in %d will be %d in %d.",
             year1, TARGET_AGE, year2);
     return 0;
}
/* 该函数计算将来年份 */
int calcYear(int year1)
{
    return (year1 + TARGET_AGE);
}
输出下三角

What year was the subject born? 1963
Someone born in 1963 will be 88 in 2051.
时间: 2024-07-31 08:08:16

《21天学通C语言(第7版)》一第1部分 C语言基础 第2课 C程序的组成部分 2.1 简短的C程序的相关文章

《21天学通Java(第7版)》—— 第1章 Java基础 1.1 Java语言

第1章 Java基础 Java试图解决众多领域的问题,实际上也确实在这方面取得了极大的成功.它让程序员能够开发应用程序服务器和手机程序.进行科学编程.编写软件以及进行星际导航等. --Java语言之父James Gosling如是说 1995年首次发布时,Java编程语言是一个用于万维网的颇具创意的玩具,但有很大的发展潜力. "潜力"是一个有时限的恭维之词.潜力迟早需要变成现实,否则将被"衰弱"."浪费"."失望"等取代. 通

《21天学通Java(第6版)》—— 导读

前言 21天学通Java(第6版) 有些革命出其不意地吸引了全世界的眼球.Twitter.Linux操作系统和电视剧<Cupcake Wars>的异军突起颠覆了传统思维模式. 而Java语言的巨大成功却在人们的意料之中.自从Java语言于17年前面世以来,人们就对它充满殷切的期望.当Java融入到Web浏览器时,公众以无比的热情欢迎这种新语言的到来. Sun公司创始人Bill Joy在介绍这种新语言时,毫不掩饰其孤注一掷的心态:"15年来,我们一直力图开发出一种更佳的编程语言和环境,

《21天学通Java(第7版)》—— 2.2 变量和数据类型

2.2 变量和数据类型 在第1章创建的应用程序MarsRobot中,您使用变量来跟踪信息.变量是程序运行时能够存储信息的地方.可在程序的任何地方对其中的值进行修改--因此被称为变量. 要创建变量,必须提供名称并指定它存储的信息类型.还可以在创建变量的同时给它指定初始值. 在Java中,有3种变量:实例变量.类变量和局部变量. 正如第1章中指出的,实例变量用于定义对象的属性. 类变量定义类的属性,适用于类的所有实例. 局部变量用于方法定义乃至方法中更小的语句块中.仅当Java虚拟机执行这些方法或语

《21天学通Java(第6版)》—— 2.4 字面量

2.4 字面量 21天学通Java(第6版) 除变量外,还可以在Java语句中使用字面量.字面量可以是任何直接表示一个值的数字.文本或其他信息. 下面的赋值语句使用了字面量: 其中的字面量2012表示整数值2012.数字.字符和字符串都是字面量.Java有一些特殊类型的字面量,它们表示各种数字.字符.字符串和布尔值. 2.4.1 数字字面量 Java有几种整型字面量.例如,数字4是一个int类型的整型字面量,可将其赋给byte或short类型的变量,因为它足够小,在这些整数类型的取值范围内.位于

《21天学通Java(第6版)》—— 1.7 问与答

1.7 问与答 21天学通Java(第6版)问:实际上,方法是在类中定义的函数.既然它们无论从外观和行为方面都类似于函数,为什么不将它们叫做函数呢? 答:有些面向对象编程语言确实将它们叫做函数(C++将它们叫做成员函数).其他一些面向对象语言将位于类(对象)内.外的函数区分开来,因为在这些语言中,使用不同的术语对理解每个函数的工作原理至关重要.因为其他语言有这种区别,同时术语"方法"在面向对象技术中很常用,所以Java也使用这个术语. 问:实例变量和实例方法同类变量和类方法之间有何区别

《21天学通Java(第6版)》—— 2.8 问与答

2.8 问与答 21天学通Java(第6版)问:如果将一个超出变量取值范围的整数值赋给该变量,将发生什么情况? 答:从逻辑上说,您可能认为该变量将被转换为与之接近的更大类型,但情况并非如此.相反,将发生溢出,即从一个极端回到另一个极端.例如,byte变量的值从127(可接受的值)变到128(不可接受)时,将转到最小的可接受值,即−128,然后往上增大.您并不希望程序中发生溢出,因此将值赋给变量时,不应超过其所属数据类型的取值范围. 在计算机的内存很少,每个字节的内存都很金贵时,使用byte等较短

《21天学通Java(第6版)》—— 第 1 章 Java基础

第 1 章 Java基础 21天学通Java(第6版)Java试图解决众多领域的问题,实际上也确实在这方面取得了极大的成功.它让程序员能够开发应用程序服务器和手机程序.进行科学编程.编写软件以及星际导航等. --Java语言之父James Gosling如是说 1995年首次发布时,Java编程语言是一个用于万维网的颇具创意的玩具,但有很大的发展潜力. "潜力"是一个有时限的恭维之词.潜力迟早需要变成现实,否则将被"衰弱"."浪费"."

《21天学通Java(第6版)》—— 1.3 对象和类

1.3 对象和类 21天学通Java(第6版)面向对象编程是基于现实世界的情况进行建模的,对象由多种更小的对象构成. 然而,组合对象只是面向对象编程的一个方面,另一个重要特征是使用类. 类是用于创建对象的模板.使用同一个类创建的每个对象都具有相似的特性. 类包含一组特定对象的所有特性.使用面向对象语言编写程序时,并不定义各个对象,而是定义用于创建这些对象的类. 使用Java编写网络程序时,您可能创建Modem类,它描述了所有计算机调制解调器的特征,其中一些常见的特征有: 连接到计算机的串行端口:

《21天学通C++(第7版)》导读

前言 21天学通C++(第7版) 对C++来说,2011是个很特别的年份.在这一年,C++11终于获批成为新标准,它新增了一些可提高编程效率的关键字和结构,让您能够编写更优质的代码.本书旨在帮助您循序渐进地学习C++11,其中的章节经过仔细编排,从实用的角度介绍这种面向对象的编程语言的基本知识.读者只需每天花1小时,在学完本书后,就能掌握C++11. 学习C++的最佳方式是动手实践.本书包含丰富的代码示例,有助于读者提高编程技能,请务必亲自动手尝试这些代码.这些代码片段都使用了(在本书编写时)最

《21天学通C++(第7版)》——17.2 典型的vector操作

17.2 典型的vector操作 21天学通C++(第7版) std::vector类的行为规范和公有成员是由C++标准定义的,因此,遵循该标准的所有C++编程平台都支持本章将介绍的vector操作. 17.2.1 实例化vector vector是一个模板类,需要使用第14章介绍的方法进行实例化.要实例化vector,需要指定要在该动态数组中存储的对象类型: 要声明指向list中元素的迭代器,可以这样做: 如果需要可用于修改值或调用非const函数的迭代器,可使用iterator代替const