C程序设计实验卡03.docx
《C程序设计实验卡03.docx》由会员分享,可在线阅读,更多相关《C程序设计实验卡03.docx(11页珍藏版)》请在冰豆网上搜索。
C程序设计实验卡03
计算机课程实验卡
课程名称
程序设计基础(C)
班级
顺序号
1(3月8日)
实验名称
实验一熟悉C语言上机环境
实验目的
1.熟悉C语言的编辑、编译及运行程序的环境;
2.了解上机环境中的常用命令和操作;
3.运行一个C程序,了解基本的程序编辑、调试方法。
实验内容
1.复习第一章部分课件;
2.练习查看TC目录下的文件。
学习建立个人的C源程序文件子目录。
3.在TC集成开发环境下,输入教材P8【例1-1】并进行编译和运行,观察C程序的书写格式,学会在屏幕上查看运行结果并练习文件的保存。
4.输入教材第一章P8【例1-2】、P17【例2-1】、P37【例2-5】,学会在程序运行中如何给变量输入数据,同时体会转义字符“\n”的用法,并练习文件的保存。
5.输入教材P43【例3-2】,掌握大写字母与小写字母之间的转换算法并练习文件的保存。
6.编程题:
模仿【例1-1】编写“教材P13三、编程题”。
实施情况
备注
计算机课程实验卡
课程名称
程序设计基础(C)
班级
顺序号
2
实验名称
实验二数据类型与表达式
实验目的
1.掌握C语言的基本数据类型,熟悉定义变量及对变量赋值的方法;
2.学会使用C语言的运算符和表达式;
3.进一步熟悉C语言环境,即熟悉C语言的编辑、编译和运行过程。
实验内容
1.复习第一章课件并运行其中的例子。
2.输入并运行下列程序。
程序1:
main()
{inta=97,b=98;floatx=54.234,y=-45.567;
charc=’a’;
printf(“%d,%4d\n”,a,b);
printf(“%f,%6.2f\n”,x,y);
printf(“%c\n”,c);}
分析运行结果。
若想输出a,b变量的ASCII字符,应如何处理?
若将char语句改为char=“a”;结果会如何?
程序2:
main()
{inta=10;
a+=a;printf(“%d”,a);
a/=4;printf(“\t%d”,a);
a+=a*=2;printf(“\t%d”,a);
a=a++;printf(“\t%d”,a);
a=--a;printf(“\t%d\n”,a);
分析其运行结果。
若将程序分别作以下改动并运行:
⑴将第10行改为a=++a;第12行改为a=a--;结果会如何?
⑵将printf函数中凡有“\t”的地方,换成“\n”或“,”,结果会如何?
⑶将第5行改为printf(“%d%d”,a);结果会如何?
3.有两个整型变量a和b,其值可由键盘任意输入(提示:
用scanf函数),分别计算它们的和、差、积、商及a、b相乘的绝对值的平方根。
实施情况
备注
计算机课程实验卡
课程名称
程序设计基础(C)
班级
顺序号
3
实验名称
实验三顺序结构程序设计
实验目的
1.掌握赋值语句的使用;
2.熟练掌握输出函数printf、输入函数scanf的几种常用的控制格式的用法;
3.掌握字符输入函数getchar、输出函数putchar的用法
4.掌握最简单的程序设计方法—顺序结构程序设计
实验内容
1.复习第二章课件。
2.编程实现从键盘给变量a,b分别输入整数,要求每个变量只能接受两位数,例如:
32和46,求两数的乘积并显示出32*46=1472。
输出时要求a,b占字符宽度3位,乘积占用5位显示(文件名31.C)。
3.编程实现用getchar函数从键盘得到一个字符,并用putchar函数输出这个字符(参考教材P32【例2-2】、P33【例2-3】)(文件名32.C)。
4.设计一个程序,输入正五边形的边长的长度a,按公式
计算该五边形外接圆的半径,结果保留两位小数。
(验证:
如a=1时,R=0.85;a=2时,R=0.43,文件名33.C)
5.设计一程序,输入空间中两点的坐标x1,y1,z1和x2,y2,z2,计算两点之间的距离s(文件名34.C)。
6.鸡兔同笼问题。
已知鸡、兔总头数为h,总脚数为f,求鸡兔各多少只?
(验证:
如h=12,f=40,则cock=4,rabbit=8;如h=16,f=40,则cock=12,rabbit=4.文件名35.C)
实施情况
备注
计算机课程实验卡
课程名称
程序设计基础(C)
班级
顺序号
4
实验名称
实验四选择结构程序设计
实验目的
1.熟练掌握if语句;
2.掌握switch语句;
3.学会使用选择结构解决实际问题。
实验内容
1.复习第三章课件。
2.练习、读懂第三章P44【例3-3】、P45【例3-4】、P46【例3-5】、P48【例3-6】。
3.编写程序输入四个整数,要求按由小到大(或由大到小)顺序输出(文件名41.C)。
4.由键盘输入三个整数分别赋给变量a、b、c,编写程序输出其中绝对值最大(或最小)的数(文件名42.C)。
5.模仿P45【例3-4】写程序,输入x,输出y值(文件名43.C)。
3*x+5(x>0)
y=0(x=0)
3*x-5(x<0)
6.模仿P48【例3-6】,给出百分制成绩,要求输出成绩等级A、B、C、D、E。
90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E(文件名44.C)。
7.编写程序输入一整数,将其值按大于10,10~99,100~999,1000以上分类显示(文件名45.C)。
例如:
输入782时,显示782是100~999之间的数。
8.输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是,不转换。
然后输出最后得到的字符(文件名46.C)。
实施情况
备注
计算机课程实验卡
课程名称
程序设计基础(C)
班级
顺序号
5
实验名称
实验五循环结构程序设计
实验目的
1.熟练掌握while语句、do-while语句和for语句;
2.能够用这三种循环结构实现穷举、迭代等常用算法。
实验内容
1.复习第四章课件。
2.教材P62三、编程题3。
(验证:
如n=2,结果1.833333;如n=5,结果11.450000)(文件名51.C)。
3.编写程序求出满足不等式1+2+3+…+n<500的最大n值及总和。
(运行结果:
n=31,sum=496。
文件名52.C)。
4.编写程序,求1-3+5-7+9……-99+101的值。
(运行结果:
51.000000)(文件名53.C)。
5.求
的值。
(请分别用while、dowhile和for语句来实现,运行结果:
47976.00。
文件名54.C)。
6.判断m是否素数?
(算法见第四章(综合举例).ppt课件)
实施情况
备注
计算机课程实验卡
课程名称
程序设计基础(C)
班级
顺序号
6
实验名称
实验六综合练习
实验目的
结合前四章内容,掌握用顺序结构、选择结构、循环结构编写、设计程序,解决实际问题。
实验内容
1.复习第四章、第四章(综合举例)课件。
2.教材P62三、编程题1、2、3。
3.编程实现求数列
…的所有大于等于0.000001的数据项之和,显示输出计算结果(运行结果:
s=2.999999。
文件名61.C)。
4.把100~150之间的不能被3整除的数输出(文件名62.C)。
5.计算公式t=1-1/2-1/3……-1/m的值。
例如:
若输入5,则应输出-0.283333。
(文件名63.C)
6.编程实现1~500之间的满足条件的解。
“除以3余1,除以5余2,除以7余3”。
(中国剩余定理:
“有物不知几何,三三数余一,五五数余二,七七数余三,问:
物有几何?
”)(运行结果:
52、157、262、367、472。
文件名64.C)。
7.打印“九九乘法表”(文件名65.C)。
8.打印出以下图案。
实施情况
备注
计算机课程实验卡
课程名称
程序设计基础(C)
班级
顺序号
7
实验名称
实验七一维数组的使用
实验目的
1.理解一维数组的定义、类型、数组元素和下标的概念;
2.掌握一维数组的声明、初始化和数组元素访问的方法;
3.能够运用一维数组解决实际问题。
实验内容
1.复习第五章课件。
2.练习、读懂教材P66【例4-1】、【例4-2】,P67【例4-3】(冒泡法)。
3.编写一个程序,计算若干学生的某门功课的平均成绩,找出最高分和最低分。
4.排序问题:
自学、参阅教材P136“第7章排序及查找算法及其实现”及本章课件重点掌握选择法排序、冒泡法排序、插入法排序的思想。
⑴P139“7.2冒泡排序法的设计及其实现”
编写程序,对n个整数用冒泡法排序(从小到大或从大到小);
⑵P141“7.3选择排序法的设计及其实现”
编写程序,对n个整数用选择法排序(从小到大或从大到小);
⑶P143“7.4插入排序法的设计及其实现”
利用数组编程实现删除、插入的算法,要求完成:
●编写程序删除指定的一个数;
●编写程序插入指定的数,插入后数组仍然有序。
5.查找问题:
掌握查找的常用算法(顺序查找、折半查找)
P150~P154“7.7、7.8、7.9”。
编写程序在数组中查找一个数。
要求:
⑴若有该数,则输出该数,否则输出未找到的信息;
⑵用顺序查找实现;
⑶用折半查找实现。
6.求100~120间的全部素数。
(运行结果:
101103107109113)
实施情况
备注
计算机课程实验卡
课程名称
程序设计基础(C)
班级
顺序号
8
实验名称
实验八二维数组的使用
实验目的
1.理解二维数组及多维数组的概念;
2.掌握二维数组及多维数组的声明、初始化和数组元素访问的一般方法;
3.能够运用二维数组解决实际问题。
实验内容
1.复习第五章课件。
2.练习、读懂教材P71【例4-4】、P72【例4-5】(参阅P61)。
3.打印杨辉三角形(要求打印10行)。
4.求一个3×3的整型矩阵两对角线元素之和(参阅P71【例4-4】)。
5.两个矩阵相加减,并输出结果。
6.求二维数组中最大元素值(或最小元素值)及其行列号。
7.将二维数组行列元素互换,存到另一个数组中。
8.输入三个学生、五门课程的成绩,分别存放在3×6矩阵的前五列上,计算每个学生的平均成绩后,存放在该数组最后一列的对应行上。
实施情况
备注
计算机课程实验卡
课程名称
程序设计基础(C)
班级
顺序号
9
实验名称
实验九字符数组与字符函数
实验目的
1.理解和掌握字符型数组与其他数组的区别及特点;
2.掌握字符型数组和字符串函数的使用方法。
实验内容
1.复习第五章课件。
2.编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中,不能使用strcpy函数。
拷贝时,'\0'也要拷贝过去。
(代码提示:
for(i=0;i<=strlen(s2);i++)s1[i]=s2[i];)
3.编一程序,求字符串的长度,不能使用strlen函数。
4.编一程序,将两个字符串连接起来,不能使用strcat函数。
5.把输入的字符串逆序排列,如输入ABCDE,输出为EDCBA。
6.对长度为7个的字符串BdsinAD,将字符按ASCII码升序排序,结果ABDdins。
(提示:
排序方法可选用选择法或冒泡法)。
扩展题1:
对长度为7个的字符串BdsinAD,除首尾字符外,将其余5个字符按ASCII码升序排序。
如:
BdsinAD,排序结果:
BAdinsD。
扩展题2:
思考如扩展为N个字符串,如何处理上述问题。
(提示:
可用strlen函数)。
实施情况
备注
计算机课程实验卡
课程名称
程序设计基础(C)
班级
顺序号
10
实验名称
实验十函数的定义与调用
实验目的
1.掌握C语言函数的定义与调用规则;
2.掌握函数形参与实参的对应关系;
3.理解函数的返回值类型。
实验内容
1.复习第六章课件的部分内容;
2.编写一个函数max(),用来求三个数的最大值;
3.使用自定义函数,计算两个实数a、b的值的平方根之和;
要求:
数据的输入、输出在主函数中实现;
4.教材P107三.编程题1、3;
选作:
5.打印出杨辉三角形。
要求:
⑴用自定义函数输出三角形;
⑵输出行数由用户自行决定。
6.写一个判断素数的函数。
要求:
⑴在主函数中输入一个整数并输出是否素数的信息;
⑵用自定义函数判断此数是否素数。
实施情况
备注