《C语言通识教育》实训指导书(第一次)(2学时)何天成2016年月日前言C 语言是现代最流行的通用程序设计语言之一,它既具有高级程序设计语言的优点,又具有低级程序设计语言的特点,既可以用来编写系统程序,又可以用来编写应用程序。
因此,C 语言正在被迅速地推广和普及。
上机实验是该课程教学的一个重要环节,因此要求学生做一定数量的上机实验。
本指导书可增强同学上机实验的针对性。
整个教学和实验中,采用VC++6.0 作为实验环境,强调学生切实培养动手实践能力,掌握调试程序的方法,通过调试理解C语言程序运行的过程以及C 语言的语法规则,为后续的课程设计,计算机等级考试及其他应用做好充分的准备。
本实验指导书通过大量的实例,循序渐进地引导学生做好各章的实验。
共计约14次实训课,其中每一讲内容分1、2两次上课。
每个实验内容结构如下:(1)实验学时(2)实验目的(2)预习要求(4)实验内容(5)实验注意事项(6)思考题其中思考题属于扩展应用部分,学生可以根据自己的学习情况选择完成。
在实验之前,要求学生对实验作好预习工作。
在实验中,学生根据实验指导中的内容进行验证与总结,然后再去完成实验内容中安排的任务。
一般要求准备好相关代码,实验课中最好以调试和讨论为主。
实验结束后,应及时先以电子版的形式填写实验报告,然后再以A4纸打印。
第3次实训课上交前2次实训报告,要求源程序要以标准格式打印实验报告上都必须粘贴上每个程序的运行结果截图,并在每个程序的输出截图中添加上自己的姓名/学号/专业等信息,以表示程序执行结果确是自己调试,而不是copy 别人的运行结果。
通报告具体内容可根据实验内容和实验要求进行增删。
实验报告一般要求包含:(1)实验题目(2)设计思路或算法分析(3)流程图(4)程序源代码(5)程序运行结果及分析实训第一讲第1课Visaul C++ 编译环境环境实训一、实验学时2学时二、实验目的(一)掌握在Visaul C++ 环境如何编辑、编译和运行C源程序;(二)掌握C语言的各种数据类型以及整型、字符型、实型变量的定义;(三)掌握C语言中有关算术运算符及表达式的使用。
三、预习要求熟悉C程序的书写规则、上机调试步骤;熟悉C语言的数据类型;熟悉C语言表达式的构成、运算规则等内容。
(一)Visual C++6.0 集成开发环境简介由于这些年C++语言程序的普及,Visual C++6.0集成开发环境作为一种功能强大的程序编译器也被相当多的程序员所使用,使用Visual C++也能够完成C语言的编译。
由于Visual C++集成开发环境运行于Windows下,对于习惯于图形界面的用户来说是比较易学的,因此,简要介绍一下如何用Visual C++来完成C语言程序的设计。
Visual C++也有多种版本,本书中使用比较普及的Visual C++ 6.0集成开发环境。
(二)Visual C++6.0 集成开发环境安装Visual C++中文版集成开发环境的安装比较简单,在输入SETUP执行后,可以按照提示信息完成程序安装,在这里不再详述。
四、实验内容(一)创建一个新的文件夹为了方便管理自己的C语言程序,在启动Visual C++ 6.0集成开发环境前,首先在E盘创建一个新的文件夹,以便存放自己的C语言程序。
(二)启动Visual C++ 6.0集成开发环境如图1-1所示,单击“开始”→“程序”→Microsoft Visual Studio 6.0→Microsoft Visual C++ 6.0,就可以启动Visual C++ 6.0集成开发环境。
启动后的Visual C++ 6.0集成开发环境如图1-2所示。
(三)开始一个新程序1.创建文件单击主菜单中的“文件”→“新建”菜单命令,弹出“新建”对话框,在“新建”对话框中选择“文件”选项卡。
在左边列出的选项中,选择“C++ Source File”;在右边的相应对话框中,输入文件名称“c1-1.c”及保存的位置,如图1-3所示。
单击“确定”按钮。
图1-1 启动Visual C++ 6.0的方法图1-2 Visual C++ 6.0 中文版集成开发环境E盘新建的文件夹图1-3 创建新的C源文件进入Visual C++ 6.0集成环境的代码编辑窗口,如图1-4所示。
图1-4 Visual C++ 6.0集成环境的代码编辑窗口2.代码编辑在Visual C++ 6.0代码编辑窗口中,输入如下所示的源代码,完成后如图1-4中所示。
程序代码: /* c1-1.c C 语言的第一个程序 */#include "stdio.h" void main( ) { printf(" *\n"); printf(" ***\n"); printf("*****\n"); }3.程序的编译、连接与运行将C 语言源代码编译成计算机能执行的目标代码。
单击主菜单下的“组建”→“编译 [c1-1.c]”(或者是工具栏上的按钮或按快捷键Ctrl+F7),此时将弹出一个对话框,询问是否创建一个项目工作区,选择“是(Y )”。
Visual C++ 6.0集成开发环境会自动在c1-1.c 文件所在文件夹中建立相应的项目文件。
编译时,在下方的输出框中将显示出相应的编译说明,如图1-5所示。
如果代码编译无误,最后将显示:c1-1.obj - 0 error(s), 0 warning(s)这说明编译没有错误(error )和警告(warning ),生成目标文件c1-1.obj ,程序编译顺利完成。
目标文件(.obj )不能被计算机直接执行,接下来将目标文件(.obj )和相关的库函数或目标程序连接成为可执行程序(.exe )。
图1-5 Visual C++ 6.0 集成环境下编译源程序 单击主菜单下的“组建”→“批组建”命令,将弹出如图1-6所示的对话框。
图1-6 Visual C++ 6.0 集成环境下批组建对话框确保选中“c1-1-Win32 Release ”复选框,这样生成的可执行文件才是发行版的程序,否则生成的是调试(Debug )版的程序。
单击“创建”按钮,生成可执行文件c1-1.exe 。
如果在“批组建”对话框中选中了两个复选框,可以看到程序中生成了两个c1-1.exe 可执行文件,一个文件为调试版本,存储在与c1-1.c 同一文件夹下的Debug工具栏编译按钮编译信息窗口文件夹中;另一个是发行版本,保存在与c1-1.c同一文件夹下的Release文件夹中。
这一步只是为了生成发行版的程序文件,只有在程序准备发行时才需要执行这种编译。
在通常情况下,可以单击主菜单下的“组建”→“组建[c1-1.exe]”(或工具栏按钮或按快捷键F7),直接生成调试版本程序就可以了。
编译、连接完成后,c1-1.exe已经是一个独立的可执行程序,可以在Windows 资源管理器中直接执行,也可以在Visual C++ 6.0集成开发环境中运行。
单击主菜单下的“组建”→[执行c1-1.exe](或工具栏按钮或按快捷键Ctrl+F5),此时弹出一个控制台程序窗口,程序正确运行,如图1-7所示。
按任意键后返回Visual C++ 6.0集成开发环境。
图1-7 Visual C++ 6.0 集成环境下程序运行结果4.关闭工作空间当第1~3步工作完成后,应该将工作保存下来,并关闭工作空间,以便做下一个新的程序。
单击主菜单下的“文件”→“保存全部”,然后再单击“文件”→“关闭工作空间”菜单命令,询问确认要关闭所有文档窗口,选择“是(Y)”。
(四)按照(三)的操作,输入下面的程序,运行并查看输出结果。
/* c1-2.c C语言的第二个程序*/#include "stdio.h"void main( ){int c,a=3,b=5;c=a+b;printf("a=%d,b=%d,c=%d\n",a,b,c);}(五)打开已有的文件在打开已有的文件时一定要先确认关闭了工作空间,然后单击主菜单下的“文件”→“打开”命令,选择(三)创建的c1-1.c文件,然后打开。
(六)重新开始一个新的程序关闭所有工作空间,点击Visual C++ 6.0窗口的关闭按钮即可退出Visual C++ 6.0集成环境,按照(二)、(三)再次进入Visual C++ 6.0集成环境,输入以下程序:/* c1-3.c C语言的第三个程序*/#include "stdio.h"void main( ){ int a=38;printf("%d,%5d,%-5d\n",a,a,a);printf("%d,%o,%x,%u\n",a,a,a,a);}注意观察两个printf函数语句输出结果有何不同?(七)在Visual C++ 6.0集成环境,输入以下程序:/* c1-4.c C语言的第四个程序*/#include "stdio.h"void main( ){ long int a=32767;printf("a=%ld\t",a);printf("a=%u\t",a);printf("a=%d\n",a);}将程序中的a改为a=65535,并再次运行程序,观察结果。
(八)在Visual C++ 6.0集成环境,,输入以下程序:/* c1-5.c C语言的第五个程序*/#include "stdio.h"void main( ){ char c1=97,c2=98;int a=97,b=98;printf("%3c,%3c\n",c1,c2);printf("%d,%d\n",c1,c2);printf("\n%c %c\n",a,b);}观察程序运行结果,掌握int与char类型数据的互通性。
(九)在Visual C++ 6.0集成环境,输入以下程序:/* c1-6.c C语言的第六个程序*/#include "stdio.h"void main( ){ int a,b;a=2;b=1%a;printf("%d\n",1/a);printf("b=%d\n",b);printf("%f %f\n",(float)(1/a),(float)b);}观察程序运行结果,从中掌握类型转换运算符的使用。
(十)在Visual C++ 6.0集成环境,输入以下程序:/* c1-7.c C语言的第七个程序*/#include "stdio.h"void main( ){ int i,j;i=3; j=4;printf("%d,%d\n",i++,++j);printf("%d,%d\n",i,j);printf("%d,%d\n",-i++,-++j);}观察程序运行结果,从中掌握自加自减运算符的使用。