程序设计语言C实验指导书Word格式文档下载.docx
《程序设计语言C实验指导书Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《程序设计语言C实验指导书Word格式文档下载.docx(11页珍藏版)》请在冰豆网上搜索。
11
实验八指针
12
附录
13
参考文献
C语言运行环境与表达式
一.实验目的:
了解C语言集成环境对计算机软硬件的要求;
初步掌握C语言集成环境的使用;
掌握建立、编辑、运行一个C程序的全过程;
4.
通过运行简单的C程序,初步掌握如何使用C的有关运算符,以及包含这些运算符的表达式。
二.实验内容
C语言集成环境的进入与退出;
新建一个C源程序及源程序的保存和打开;
C程序的编译和连接获得可执行程序文件;
在集成环境中运行程序、查看结果;
5.
通过观察运行结果检查运算符和表达式的使用。
三.实验步骤
1.进入所用的集成环境。
2.熟悉集成环境的界面和有关菜单的使用。
3.在集成环境中选择新建C源程序。
4.输入和编辑下面的程序:
#include<
stdio.h>
void
main()
{
printf("
Thisisacprogram.\n"
);
}
5.将源程序按指定文件名存盘(默认的扩展名为.C)。
6.退出集成环境。
7.进入集成环境,打开刚才保存的源程序文件。
8.对源程序进行编译和连接,观察屏幕上的提示。
显示的信息如果出现“出错信息”,则对源程序中的错误进行修改直到显示的信息为“成功”或“无错误”。
9.运行程序,然后观察结果。
10.选择新建新建C源程序,然后输入并运行下面的程序:
#include<
voidmain()
inta,b,c;
floatx,y,z;
charc1,c2;
a=2;
b=5;
c=a*b+b/a;
c=%d\n"
c);
a=3*(b%8);
b=3*b%8;
%d,%d\n"
a,b);
x=2.0;
y=5.0;
z=x*y+y/x;
z=%f\n"
z);
c=x*y+y/x;
x=2/5;
y=2.0/5;
%f,%f\n"
x,y);
11.观察分析以上程序的运行结果。
12.输入、运行下面的程序,并观察分析程序的运行结果
inta=65,b;
charc1,c2,c3;
cl=’A’;
c2=’B’;
c3=’\x41’
b=c2;
%c,%c,%c,%c\n"
,cl,c2,c3,a);
printf(("
a,b);
13.参照以上程序建立新程序,计算书上习题3.9的两个表达式的值。
14.退出集成环境,找到刚才保存源程序文件的文件夹,浏览其中文件,看有无刚才保存的后缀为.C的源程序文件和.exe的可执行文件。
用“记事本”软件打开查看源程序。
15.运行后缀为.exe的可执行文件,观察结果。
四.教材中的有关内容
《C程序设计》(第三版)第1章,第3章。
实验二数据输入与输出
一.实验目的
掌握C语言中字符输入(getchar)、输出(putchar)函数的使用;
掌握C语言中格式输入(scanf)和格式输出(printf)函数的使用;
掌握格式控制符在输入输出时使用;
初步掌握一个顺序结构的C应用程序的设计。
字符输入(getchar)、输出(putchar)函数的使用;
各种类型数据的输入与输出;
设计顺序结构的C应用程序。
三.实验步骤
1.输入并运行下面的程序:
charc1,c2,c3;
c1=getchar();
c2=getchar();
c3=getchar();
putchar(c1);
putchar(c2);
putchar(c3);
观察以下不同输入时的输出,分析不同输出的原因。
(↙表示回车)
(1)123↙
(2)12↙
(3)1↙
2↙
2.把以上程序改写如下,用于上面相同的输入运行,分析不同输出的原因。
3.输入并运行下面的程序,分析格式控制对输出的影响。
inta=-1,b=98;
doublex=152.6752445;
a=%d,%ld,%u,%o,%x\n"
a,a,a,a,a);
b=%d,%5d,%-5d,%c,%5c,%-5c\\\n"
b,b,b,b,b,b);
x=%f,%e\n"
x,x);
x=%.2f,%15.2f,%-15.2f,%15.9f,%2f\n"
x,x,x,x,x);
4.输入并运行下面的程序:
inta,b;
doublex;
floaty;
scanf("
%d,%d"
&
a,&
b);
printf("
a=%d,b=%d\n"
%d%d"
}
观察以下不同输入时的输出,分析间隔符号对输入的影响。
(1)1,2↙
1,2↙
(2)12↙
12↙
1↙
5.有需要输入的数据如下:
61,62,3.88,-7567.9087621,a,b,50000,一60000↙
编写程序写出能正确输入这些数据,用合适的变量保存,并用输出函数输出变量中的数据,验证输入是否正确。
6.编写程序,输入圆的半径r计算并输出圆的周长和面积。
《C程序设计》(第三版)第4章。
实验三选择结构程序设计
掌握正确使用逻辑运算符和逻辑表达式表示逻辑判断;
熟练掌握用if语句编写选择结构的程序;
掌握switch语句的正确使用;
初步了解调试程序的一般方法。
if语句、switch语句的正确使用;
选择结构程序的编写与调试。
1.输入并运行以下程序,分析输入分别为1,2,3,4,5,6,7,8,9,10的输出。
inta;
%d"
a);
switch(a)
{
case1:
case2:
first\n"
);
break;
case3:
case4:
case5:
second\n"
case8:
third\n"
);
case10:
fourth\n"
default:
fifth\n"
2.有一函数:
x
(x<1)
y=
2x-1
(1≤x<10)
3x-11
(x≥10)
编写程序用scanf函数输入x的值,输出y的值。
试运行并调试此程序,准备三个测试数据分别为<1、1~10、≥10这3种情况,检查结果是否正确。
3.编写一个程序输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。
90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E,switch语句来实现选择结构。
4.修改上面这个程序,对输入的成绩做出判断如果不在0-100范围内输出出错信息。
5.调试这个程序,输入合适的测试数据,检查程序在每一种数据输入时的结果(等级A、B、C、D、E和错误的数据)。
6.上海出租车起步价11元(3公里),超3公里后每公里计价2.1元,超10公里每公里计价3.1元,以下程序是根据输入的公里数,输出出租车费,但有错误,根据编译时的提示修改语法错误,然后检查程序控制结构和计算公式,修改逻辑错误。
floatk,m;
enteranumber:
"
)
%f"
k);
if(k<
=0)
dataerror!
\n"
3)
m=11
10)
m=(10-3)*2.1+11;
else
n=(k-10)*3.1+11;
print("
fare=%.2f"
m);
《C程序设计》(第三版)第5章。
实验四循环结构程序设计
熟练掌握用while语句、do-while语句和for语句实现循环的方法;
初步掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等);
进一步学习程序调试的方法。
用while语句、do-while语句和for语句编写循环结构的程序。
1.设计一个程序能够输出以下数列
1
4
710131619222528...的前20项。
2.设计一个程序能够输出以下方阵
1
2
3
4
5
6
7
8
9
10
12
13
14
15
16
17
18
19
20
21
3.有一个计算最大公约数的算法如下:
1)
输入两个正整数到m和n;
2)
如果m=n输出最大公约数m程序结束;
3)
若m>
n则m=m–n否则n=n–m;
4)
返回到2)
(循环)。
用合适的循环控制语句实现这个算法。
4.修改上面的程序,使它能够输出m,n在运算过程中的变化。
5.用集成环境提供的单步执行功能,跟踪查看每个语句执行后变量的变化情况。
6.修改教材上的例6.9使程序能够输入两个正整数(大小顺序是任意的),输出这两个数间的所有素数,并改为每行输出5个数。
《C程序设计》(第三版)第6章。
实验五数组应用
掌握数组的输入输出;
掌握字符串的输入输出和一般处理方法;
初步掌握利用数组建立常用的数据结构及实现有关的算法。
一维数组的输入输出;
二维数组的输入输出;
字符串的输入输出;
字符串的处理;
用一维数组构建顺序表及排序。
1.编写程序输入n个整数到一维数组(先输入数据的个数n,再输入n个数据),然后以输入的顺序输出这些数。
2.修改上面的程序使数据与输入的顺序相反的顺序输出。
3.编写程序输入n行m列的整数矩阵到二维数组(先输入数据的行数n和列数m,再按行输入矩阵中的数据),然后以矩阵的格式输出数据。
例如要使4*3的矩阵输出的结果如以下格式:
4
9
4.编写程序输入一个字符串,删除字符串中的所有数字字符(判断是否数字字符可使用库函数isdigit,详见教材附录E)后输出此字符串。
5.编写程序输入一个字符串找出字符串中的所有数字字符,将它们组成另一个字符串后输出。
6.修改上面的程序使输出的数字字符按升序排列后输出。
(在调试数组应用的程序时,要输入比较多的数据,可以先在程序中对数组元素用赋初值的方法赋值)
《C程序设计》(第三版)第7章。
实验六数组与流程控制综合设计
提高综合应用流程控制语句(if,switch,while,do-while,for)的能力;
提高对复杂流程结构的程序的编写能力和调试能力;
掌握利用数组的组织存储数据以及一些实用的算法。
编写和调试一个具有能对用一维数组建立的顺序表进行各种操作的应用程序。
1.写程序显示如下菜单
1.insert
(插入一个数据)
2.delete
(删除一个数据)
3.sort
(排序)
4.print
(输出表中所数据)
0.exit
(退出程序)
2.用scanf函数输入菜单选择的数字(0-4)对其他输入要提示错误信息,用switch语句控制菜单选择,流程控制结构如图6-1所示:
(此时switch语句中可以不写代码,先调试流程控制部分)
3.在switch的每个选择分支中添加适当的代码,使程序能够完成要求的操作此时可一次加一个模块这样便于调试。
4.插入和删除都要指定位置,所以在建立一个一维数组保存顺序表的数据以外,还要用一个变量来记录当前表中数据的个数。
《C程序设计》(第三版)第5,6,7章。
实验七函数
掌握自定义函数的编写;
掌握在程序中正确调用函数(包括自定义函数和库函数)的方法;
掌握“宏定义”用法;
了解调用库函数时的使用“文件包含”的作用。
函数的定义;
函数的调用;
编译预处理(宏定义和文件包含)。
1.输入并运行下面的程序,查看编译时的出错信息,分析出错的原因,然后修改这个程序使其能够正常运行
main()
flo(9.9);
floatflo(floatm)
retutn
m;
2.写一个判别素数的函数,函数参数为一个整数,返回值为0(整数不是素数)或1(整数是素数)。
3.修改教材上的例6.9输出两个数间的所有素数,调用前面写的自定义函数来判别素数。
4.写四个函数分别用于计算圆周长、圆面积、圆柱表面积,圆柱体积。
5.参照实验六写一个主函数能够显示菜单,调用前面写的四个函数来计算圆周长、圆面积、圆柱表面积,圆柱体积,圆周率使用宏定义。
6.写一个函数判断一串字符是否16进制数(即字符串中的字符都是数字或前六个英文字母,可以使用库函数isxdigit),并写一个主函数调试运行。
《C程序设计》(第三版)第8,9章。
实验八指针
通过实验掌握指针的定义和使用指针变量;
掌握使用指针对数组和字符串进行操作;
掌握函数中指针类型参数的使用。
指针变量的定义和使用;
用指针操作数组;
用指针操作字符串;
使用指针类型参数的函数。
输入运行下面这个程序,观察并分析结果:
#include"
stdio.h"
voidmain()
{
inta[]={2,3,4,5,6};
int*p1;
p1=a;
%d\n"
p1+2);
*(p1+2));
p1=a+2;
char*p2="
computer\n"
;
printf(p2+2);
%s"
p2+2);
2.定义一个可以保存10个整型数的一维数组,用数组初始化的方法将10个数据(3,7,9,8,5,4,3,1,0,2)赋值到数组,用指针操作数组依次输出这十个数,再以逆序输出这十个数。
3.写一个能对整型一维数组排序的函数。
4.写一个主函数输入若干个整数到一维数组,调用上面的函数对其排序,然后输出。
5.写一个函数判断一个字符串是否一个11位的手机号码。
6.写一个主函数调用上面这个函数。
《C程序设计》(第三版)第10章。
附录
C语言编码规范
程序块要采用缩进风格编写,缩进时使用TAB键。
相对独立的程序块之间、变量说明之后必须加空行。
较长的语句(>
80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。
循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首。
若函数或过程中的参数较长,则要进行适当的划分。
6.
不允许把多个短语句写在一行中,即一行只写一条语句。
7.
if、while、for、default、do等语句自占一行。
8.
对齐只使用TAB键,不使用空格键。
9.
函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格,case语句下的情况处理语句也要遵从语句缩进要求。
10.
程序块的分界符(如C语言的大括号'
{'
和'
}'
)应各独占一行并且位于同一列,同时与引用它们的语句左对齐。
在函数体的开始、结构的定义、枚举的定义以及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。
11.
在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格;
进行非对等操作时,如果是关系密切的立即操作符(如->
)后不应加空格。
12.
函数头部应进行注释,列出:
函数的目的/功能、输入参数、输出参数、返回值、调用关系等。
参考文献
《C程序设计》(3版),谭浩强著,清华大学出版社,2005-7
《C程序设计》,张长海、陈娟编著,高等教育出版社,2004-11
《C语言程序设计》,洪锦魁编著,科学出版社2004
《C程序设计教程》,H.M.DeitelP.J.Deitel著,机械工业出版社,2005-11
《C语言大全》,HerbertSchildt著,戴健鹏等译,电子工业出版社,2001