《C语言程序设计与实践(第2版)》——第2章 示例驱动的C语言语法元素 2.1变量与表达式

简介: 在所有C语言的程序中,必须有且只能有一个main函数,所有C程序总是从main函数开始执行的,而不管main函数在整个程序中的位置如何。int指明了main函数的返回类型,意味着main函数返回值的类型是整数。

本节书摘来自华章出版社《C语言程序设计与实践(第2版)》一书中的第2章,第2.1节,作者:凌云等著,更多章节内容可以访问云栖社区“华章计算机”公众号查看

第2章 示例驱动的C语言语法元素

本章主要介绍C语言的基本语法元素,包括变量与表达式、控制流、数组、函数、基本输入/输出等。通过学习本章的内容,读者可以对C语言有一个整体的认识,并能编写简单的小程序。

2.1 变量与表达式

例2-1中程序的功能是打印出余弦函数??对应的离散值表,其中x在一个函数周期(0?~360?)内变化,打印结果如图2-1所示。我们可以据此拟合出余弦函数曲线。
screenshot

例2-1 打印余弦函数的离散值表。

#include <stdio.h>
#include <math.h>
/* 打印一个周期内,余弦函数的离散值表 */
int main()
{
    int x;    /* 定义一个名为x的整型变量 */
    double y;    /* 定义一个名为y的浮点数变量 */
    int start, end, step;    /* 声明start, end, step均为整型变量 */
    start = 0;     /* 角度的下限*/
    end = 360;     /* 角度的上限*/
    step = 30;     /* 步长*/
    x = start;    /* 将变量start的值赋给变量x */
    while (x <= end)
    {
        y = cos(x * 3.1415926 / 180);    /* 调用cos函数计算余弦值 */
        printf("%3d\t%9.6f\n", x, y);    /* 调用printf函数输出结果 */
        x = x + step;    /* 调整变量x的值 */
    }
    return 0;
}

C程序中包含一个或多个函数,它们是C程序的基本模块。上述这个程序仅包含一个名为main的函数,阅读该程序,我们将见到C语言中的注释、声明、变量、算术表达式、循环以及格式化输出等基本元素。具体分析如下:
上述程序的第一、二行:
#include <stdio.h>
#include <math.h>
叫作编译预处理指令,用于告诉编译器在本程序中包含标准输入/输出库以及数学函数库的全部信息。许多C语言源程序的开始处都包含类似的行。
接下来以“/”开始,以“/”结束的内容称为注释。注释用来对程序有关部分进行必要的说明,可帮助读者更好地理解程序。此处,它简单地解释了该程序的基本功能。包含在“/”与“/”之间的所有内容在编译时将被编译器忽略,因此注释部分并不产生目标代码,对程序运行不起作用。也就是说,注释只是给人看的,而不是让计算机执行的。注释可以在程序中自由地使用,可以出现在任何允许出现空格、制表符或换行符的地方。
接下来的这行代码声明了一个main函数(又称为主函数)。在所有C语言的程序中,必须有且只能有一个main函数,所有C程序总是从main函数开始执行的,而不管main函数在整个程序中的位置如何。int指明了main函数的返回类型,意味着main函数返回值的类型是整数。返回到哪里呢?返回给操作系统。函数名后面的圆括号一般包含传递给函数的信息。这个简单的示例并不需要传递任何信息,因此可以在括号中写void,也可以为空。
函数要实现的具体功能在由一对花括号构成的函数体中进行描述。
为了实现程序的功能,我们必须定义(或声明)一些变量来存储数据,在C语言中,所有变量都必须先定义后使用,定义用于说明变量的属性,它由一个类型名与若干个变量名组成,例如,
int x;
double y;
int start, end, step;
其中,类型int表示其后所列变量为整数,与之相对应的,double表示其后所列变量为双精度浮点数(即可以带有小数部分的数)。int与double是系统已经定义好的关键字。所谓关键字,是指系统事先定义好的代表一些特殊含义的名称。在上述代码中,变量x、y、start、end、step是由用户设定的变量名,其中x、start、end、step为整数类型,y为双精度浮点数类型。
接下来要赋予这些变量具体的数值,在例2-1中,以4个赋值语句(也可称为赋值表达式)开始,为变量设置初值。
start = 0;
end = 360;
step = 30;
x = start;
此外,程序中还出现了其他表达式:“x <= end;”为比较表达式;“y = sin(x * 3.1415926 /
180);”为算术表达式;“printf("%3dt%9.6fn"?, x, y);”用于打印整数x和双精度浮点数y的值,并在两者之间留一个制表符的空间(t)。
最后一行“return 0;”的作用是在main函数执行结束前将整数0作为函数值,返回调用函数处,这里是返回给调用main函数的操作系统。程序员可以利用操作指令检查main函数的返回值,从而判断main函数是否已正常执行,并据此决定后续的操作。
总体来看,C语言中的表达式事实上就是常量和变量通过各种C语言允许的运算符号进行连接。由示例程序可见,C语言的语句必须以“;”结束。

相关文章
|
1月前
|
C语言
【C语言刷题系列】删除公共元素
【C语言刷题系列】删除公共元素
|
25天前
|
搜索推荐 程序员 C语言
指针赋值与引用传递:C语言的基础知识与实践技巧
指针赋值与引用传递:C语言的基础知识与实践技巧
|
1月前
|
存储 C语言
【C语言刷题系列】求一个数组中两个元素a和b的和最接近整数m
【C语言刷题系列】求一个数组中两个元素a和b的和最接近整数m
|
1月前
|
机器学习/深度学习 移动开发 人工智能
C语言程序设计例题
C语言程序设计50例
|
23天前
|
搜索推荐 程序员 C语言
指针赋值与引用传递:C语言的基础知识与实践技巧
指针赋值与引用传递:C语言的基础知识与实践技巧
|
1月前
|
测试技术 C语言
数据结构学习记录——树习题—Tree Traversals Again(题目描述、输入输出示例、解题思路、解题方法C语言、解析)
数据结构学习记录——树习题—Tree Traversals Again(题目描述、输入输出示例、解题思路、解题方法C语言、解析)
25 1
|
27天前
|
算法 搜索推荐 程序员
C语言程序设计考试掌握这些题妥妥拿绩点(写给即将C语言考试的小猿猴们)
C语言程序设计考试掌握这些题妥妥拿绩点(写给即将C语言考试的小猿猴们)
12 0
|
28天前
|
IDE 编译器 开发工具
详细解读C语言程序设计:现代方法(第2版)第二章全部习题答案
详细解读C语言程序设计:现代方法(第2版)第二章全部习题答案
11 0
|
29天前
|
C语言
C语言刷题(循环结构程序设计)
C语言刷题(循环结构程序设计)
|
1月前
|
C语言
【C语言刷题系列】移除元素
【C语言刷题系列】移除元素

热门文章

最新文章