《C语言程序设计》案例讲义 - 完整版 联系客服

发布时间 : 星期二 文章《C语言程序设计》案例讲义 - 完整版更新完毕开始阅读09bd7a05bed5b9f3f90f1ca9

头文件时,用尖括号,以节省查找时间;如果要包含的是用户自己编写的文件(通常存放在当前目录中),则用双引号。 stdio.h文件是C语言的标准输入输出头文件,该文件主要是对输入输出函数进行定义。例如printf函数、scanf函数、getchar函数、putchar函数。

3.从“main()”行开始,直到“}”为止是主函数main的定义部分。其中“main()”行是函数定义的头(首)部,用于说明函数返回值的类型、函数名及形式参数的定义。主函数main是一个特殊的函数,它的首部标准格式是 [int] main([int argc,int *argv[]]),用“[]”括起来的部分表示是可选项,“int”说明main函数的返回值是整型,“main”是函数名,“int argc,int *argv[]”是main函数的形式参数定义,“()”是函数定义不可缺少的部分。在目前我们的使用中只需要使用main函数最简单的定义形式,即“main()”。从“{”起到“}”止是函数的实现部分,也就是实现函数功能的语句组合,通常称为函数体。因此函数的通常定义格式如下:

[函数返回类型] 函数名( [形式参数定义]) /*函数的首部*/ {

函数体; /*函数的实现部分*/ }

本例中的main的函数体只有一条语句,即“printf(“Hello world!\\n”);”,其作用是向输出设备输出字符串“Hello world!”。

二、C语言函数简介

C语言函数分为库函数和用户自定义函数两类,库函数由系统提供,编程者只需要直接使用,用户自定义函数需要编程者自己编写。比如我们前面见过的printf函数就是库函数,main函数就是用户自定义的函数。

任何一个函数都需要先定义,然后被调用。函数的定义同上述main函数的定义,函数的调用格式如下:

函数名(实际参数)

对于库函数printf,其定义包含在stdio.h头文件中,因此我们要使用它时,需要用#include命令把stdio.h文件包含到当前的程序中,然后才能调用printf函数。printf函数的一种调用格式如下:

printf(“字符串”)

其作用是将“字符串”输出到显示器上,对上例来说就是将“Hello world!”输出到显示器上,显示器上将显示“Hello world!”字符串。请注意“\\n”字符的作用是换行,即下一个printf函数的输出内容将另起一行。字符串在计算机中是指用双引号括起来的一串字符序列,如“1234”、“student”。

三、显示学生管理系统的主菜单

在未讲到C语言图形函数时,我们所设计应用程序的用户界面都是字符型的。如一个学生管理系统,我们需要提供以下的主菜单界面,供用户根据菜单选择相应的功能,从而调用对应的函数。

13

****student management system menu**** * 1. Input student records * * 2. Output student records * * 3. Insert a new student * * 4. Delete a student * * 5. Find a student on name or number * * 6. Sort on score * * 7. Save to file * * 8. Import file * * 0. Exit * * Please input your choice(0~8): * *******************************************

根据上述要求,我们需要编程输出这样的菜单,通过我们已学的知识,可以写一个主函数,函数体就是用printf输出每一行即可。程序如下:

/*学生管理系统输出主菜程序*/ #include main() {

printf(“****student management system menu****\\n”); printf(“* 1. Input student records *\\n”); printf(“* 2. Output student records *\\n”); printf(“* 3. Insert a new student *\\n”); printf(“* 4. Delete a student *\\n”); printf(“* 5. Find a student on name or number *\\n”); printf(“* 6. Sort on score *\\n”); printf(“* 7. Save to file *\\n”); printf(“* 8. Import file *\\n”); printf(“* 0. Exit *\\n”); printf(“* Please input your choice(0~8): *\\n”); printf(“*******************************************\\n”); }

通过这个实例我们可以看到,在实际应用中,要输出系统菜单,主要是调用printf函数,一行一行输出字符串。

四、clrscr函数

如果在TC系统中,重复执行上例程序,可以看到显示器上连续重复显示主菜单,而实际使用中我们希望不管理执行多少次,主菜单总是显示在屏幕的上方。为此我们需要在主菜单显示前,先擦除原来的屏幕,然后再输出主菜单,这样不管重输出多少次,主菜单总是在屏幕上方。擦除屏幕,可以调用库函数clrscr函数,它的定义在conio.h头文件中,因此将前述的程序作如下修改如下(斜体部分): 斜体部分是新增加的语句行,“#include ”行是将clrscr函数的定义文件包含进当前程序,“clrscr();”行是通过调用库函数clrscr擦除当前屏幕,该函数没有参数,也不需要返回值。

五、实验二 printf和clrscr函数

5.1实验目的

1. 进一步熟悉TC集成调试环境; 2. 熟悉C语言程序的构成; 3. 熟悉C语言函数的定义; 4. 掌握用printf函数输出字符串; 5. 熟悉clrscr函数。

14

/*学生管理系统输出主菜程序*/ #include #include main() {

clrscr();

printf(“****student management system menu****\\n”); printf(“* 1. Input student records *\\n”); printf(“* 2. Output student records *\\n”); printf(“* 3. Insert a new student *\\n”); printf(“* 4. Delete a student *\\n”); printf(“* 5. Find a student on name or number *\\n”); printf(“* 6. Sort on score *\\n”); printf(“* 7. Save to file *\\n”); printf(“* 8. Import file *\\n”); printf(“* 0. Exit *\\n”); printf(“* Please input your choice(0~8): *\\n”); printf(“*******************************************\\n”); }

5.2实验内容及步骤

1.调试“Hello world!”程序,并做以下记录。 程序:

编译结果: 修改记录: 运行结果:

2.连续运行三次上述程序,记录输出结果。 运行结果:

3. 如果去除printf(“Hello world!\\n”);语句中的“\\n”,请连续运行三次,记录输出结果,并与2.1.1运行结果进行比较,分析不同的原因。

4. 调试“学生管理系统输出主菜”程序,并记录 程序:

编译结果: 修改记录: 输出结果:

5.连续运行三次,记录输出结果。

输出结果:

6.调试添加clrscr函数后的“显示学生管理系统主菜单”程序,连续运行三次,记录结果并与5运行结果比较,分析输出结果不同的原因。

输出结果:

7.编程输出下图。

* * *

* * * * * * *

程序:

编译结果: 修改记录: 输出结果:

5.3思考题

(1)clrscr函数有没有将屏幕全部擦干净?为什么有时屏幕的下部擦不干净?

15

六、习题

1. 编程输出下列图形。

********常州轻工职业技术学院学生成绩表******** 学号 姓名 班级 语文 数学 英语 政治 计算机 总分 名次

8 88 888 8888 (a)

8 888 88888 8888888 (b)

8 88 888 8888 (c)

88 88 88 88 (d)

2. 请编程输出下列表头。

16