程序设计语言C实验卡学生.docx
- 文档编号:5174646
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:16
- 大小:100.48KB
程序设计语言C实验卡学生.docx
《程序设计语言C实验卡学生.docx》由会员分享,可在线阅读,更多相关《程序设计语言C实验卡学生.docx(16页珍藏版)》请在冰豆网上搜索。
程序设计语言C实验卡学生
计算机课程实验卡
课程名称
程序设计语言(C)
班级
顺序号
1(3月4日)
实验名称
实验一熟悉C语言上机环境
实验目的
1.熟悉C语言的编辑、编译及运行程序的环境;
2.了解上机环境中的常用命令和操作;
3.运行一个C程序,了解基本的程序编辑、调试方法。
实验内容
1.复习第一章部分课件;
2.使用DOS操作命令查看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.进一步熟悉TC环境,即熟悉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位显示。
3.编程实现用getchar函数从键盘得到一个字符,并用putchar函数输出这个字符(参考教材P32【例2-2】、【例2-3】)。
4.设计一个程序,输入正五边形的边长的长度a,按公式
计算该五边形外接圆的半径,结果保留两位小数。
(验证:
如a=1时,R=0.85;a=2时,R=0.43)
5.设计一程序,输入空间中两点的坐标x1,y1,z1和x2,y2,z2,计算两点之间的距离。
6.鸡兔同笼问题。
已知鸡、兔总头数为h,总脚数为f,求鸡兔各多少只?
(验证:
如h=12,f=40,则cock=4,rabbit=8;如h=16,f=40,则cock=12,rabbit=4)
实施情况
备注
计算机课程实验卡
课程名称
程序设计语言(C)
班级
顺序号
4
实验名称
实验四选择结构程序设计
实验目的
1.熟练掌握if语句;
2.掌握switch语句;
3.学会使用选择结构解决实际问题。
实验内容
1.复习第三章课件;
2.练习、读懂第三章P44【例3-3】、P45【例3-4】、P46【例3-5】、P48【例3-6】;
3.编写程序输入四个整数,要求按由小到大(或由大到小)顺序输出;
4.由键盘输入三个整数分别赋给变量a、b、c,编写程序输出其中绝对值最大(或最小)的数;
5.模仿P45【例3-4】写程序,输入x,输出y值;
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。
7.编写程序输入一整数,将其值按大于10,10~99,100~999,1000以上分类显示。
例如:
输入782时,显示782是100~999之间的数。
8.输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是,不转换。
然后输出最后得到的字符。
实施情况
备注
计算机课程实验卡
课程名称
程序设计语言(C)
班级
顺序号
5
实验名称
实验五循环结构程序设计
实验目的
1.熟练掌握while语句、do-while语句和for语句;
2.能够用这三种循环结构实现穷举、迭代等常用算法。
实验内容
1.复习第四章课件;
2.教材P62三、编程题3;
(验证:
如n=2,结果1.833333;如n=5,结果11.450000)
3.编写程序求出满足不等式1+2+3+…+n<500的最大n值及总和;
(运行结果:
n=31,sum=496)
4.编写程序,求1-3+5-7+9……-99+101的值;
(运行结果:
51.000000)
5.求
的值。
(请分别用while、dowhile和for语句来实现,运行结果:
47976.00)
实施情况
备注
计算机课程实验卡
课程名称
程序设计语言(C)
班级
顺序号
6
实验名称
实验六综合练习
实验目的
结合前四章内容,掌握用顺序结构、选择结构、循环结构编写、设计程序,解决实际问题。
实验内容
1.复习第四章、第四章(综合举例)课件;
2.教材P62三、编程题1、2、5;
3.编程实现求数列
…的所有大于等于0.000001的数据项之和,显示输出计算结果(运行结果:
s=2.999999);
4.把100~150之间的不能被3整除的数输出;
5.计算公式t=1-1/2-1/3……-1/m的值。
例如:
若输入5,则应输出-0.283333;
6.编程实现1~500之间的满足条件的解。
“除以3余1,除以5余2,除以7余3”。
(中国剩余定理:
“有物不知几何,三三数余一,五五数余二,七七数余三,问:
物有几何?
”)(运行结果:
52、157、262、367、472);
7.打印“九九乘法表”。
实施情况
备注
计算机课程实验卡
课程名称
程序设计语言(C)
班级
顺序号
7
实验名称
实验七一维数组的使用
实验目的
1.理解一维数组的定义、类型、数组元素和下标的概念;
2.掌握一维数组的声明、初始化和数组元素访问的方法;
3.能够运用一维数组解决实际问题。
实验内容
1.复习第五章课件;
2.练习、读懂教材P66【例4-1】、【例4-2】,P67【例4-3】(冒泡法);
3.编写一个程序,计算若干学生的某门功课的平均成绩,找出最高分和最低分;
4.排序问题:
自学、参阅辅助教材(绿皮书)P137“第7章排序及查找算法及其实现”重点掌握选择法排序、冒泡法排序、插入法排序的思想。
⑴P139“7.2冒泡排序法的设计及其实现”。
编写程序,对n个整数用冒泡法排序(从小到大或从大到小);
⑵P141“7.3选择排序法的设计及其实现”。
编写程序,对n个整数用选择法排序(从小到大或从大到小);
⑶P143“7.4插入排序法的设计及其实现”。
利用数组编程实现删除、插入的算法,要求完成:
●编写程序删除指定的一个数;
●编写程序插入指定的数,插入后数组仍然有序。
5.查找问题:
掌握查找的常用算法(顺序查找、折半查找)。
P150~P154“7.7、7.8、7.9”。
编写程序在数组中查找一个数。
要求:
⑴若有该数,则输出该数,否则输出未找到的信息;
⑵用顺序查找实现;
⑶用折半查找实现。
实施情况
备注
计算机课程实验卡
课程名称
程序设计语言(C)
班级
顺序号
8
实验名称
实验八二维数组的使用
实验目的
1.理解二维数组及多维数组的概念;
2.掌握二维数组及多维数组的声明、初始化和数组元素访问的一般方法;
3.能够运用二维数组解决实际问题。
实验内容
1.复习第五章课件;
2.练习、读懂教材P71【例4-4】、P72【例4-5】;
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个的字符串,除首尾字符外,将其余5个字符按ASCII码升序排序。
如:
BdsinAD,排序结果:
BAdinsD。
(演示:
用选择法或冒泡法)。
选作:
7.判断m是否素数?
(算法见第四章(综合举例).ppt课件)
扩展题:
求100~120间的全部素数。
(运行结果:
101103107109113)
实施情况
备注
计算机课程实验卡
课程名称
程序设计语言(C)
班级
顺序号
10
实验名称
实验十函数的定义与调用
实验目的
1.掌握C语言函数的定义与调用规则;
2.掌握函数形参与实参的对应关系;
3.理解函数的返回值类型。
实验内容
1.复习第六章课件的部分内容;
2.编写一个函数max(),用来求三个数的最大值;
3.使用自定义函数,计算两个实数a、b的值的平方根之和;
要求:
数据的输入、输出在主函数中实现;
4.教材P107三.编程题1、3;
选作:
5.打印出杨辉三角形。
要求:
⑴用自定义函数输出三角形;
⑵输出行数由用户自行决定。
6.写一个判断素数的函数。
要求:
⑴在主函数中输入一个整数并输出是否素数的信息;
⑵用自定义函数判断此数是否素数。
实施情况
备注
计算机课程实验卡
课程名称
程序设计语言(C)
班级
顺序号
11
实验名称
实验十一模块化程序设计
实验目的
1.理解模块化程序设计的思想;
2.学会使用模块化程序设计方法解决实际问题。
实验内容
1.用递归方法求⑴n!
;
⑵1!
+2!
+3!
+……n!
;
2.用递归方法求n阶勒让德多项式的值,递归公式为:
(验证:
如n=0,x=7,则p0(7)=1.00
n=1,x=2,则p1
(2)=2.00
n=3,x=4,则p3(4)=154.00)
3.求100~110间的全部素数,要求:
⑴在主函数中输入、输出;
⑵用自定义函数判断是否素数。
选作:
4.有n位学生,每个学生有m门功课,请编写程序解决:
⑴在主函数中定义数组;
⑵写一个enter函数输入学生的成绩;
⑶写一个sort函数,按总成绩对数组排序;
⑷写一个print函数输出成绩表,每行输出一位学生的成绩。
实施情况
备注
计算机课程实验卡
课程名称
程序设计语言(C)
班级
顺序号
12
实验名称
实验十二变量的存储类型与预处理命令
实验目的
1.理解和掌握变量的作用域、生存周期、局部变量、全局变量的概念;
2.掌握不同存储类型变量之间的区别;
3.掌握宏的定义与用法;
4.理解文件包含的概念。
实验内容
1.编译执行下列程序,体会宏定义的用法:
#include
#defineP2
#definePOWER(x)P*x*x
main()
{intx=1,y=2;
printf(“%d,%d”,POWER(x+y),POWER(y+x));}
2.编写一段程序,用来求两个数的最小值,其中用来求最小值的部分用宏定义来实现。
3.编写一段程序,输入两个整数,求他们相除的余数。
用带参的宏来实现。
4.有以下程序,将其格式输出部分改写成宏定义后并添加到format.h头文件中,编写完成后编译执行。
#definePRprintf
#defineNL“\n”
#defineF“%6.3f”
#defineF1FNL
#defineF2FFNL
#defineF3FFFNL
main()
{floatx,y,z;x=1.2;y=2.3;z=3.4;
PR(F1,x);PR(F2,x,y);PR(F3,x,y,z);}
5.文件包含练习:
分别求两个整数的最大公约数。
选作:
6.分别用函数和带参的宏,从3个数中找出最大数。
7.文件包含练习:
选择法排序。
⑴在主函数中完成3个函数模块调用;
⑵文件包含模块里包括数据的输入、排序及输出代码。
实施情况
备注
计算机课程实验卡
课程名称
程序设计语言(C)
班级
顺序号
13
实验名称
实验十三实验测试
实验目的
通过实验测试考查学生C语言基本知识的掌握及程序编写能力。
实验内容
实施情况
备注
计算机课程实验卡
课程名称
程序设计语言(C)
班级
顺序号
14
实验名称
实验十四指针与指针变量的使用
实验目的
1.学会指针变量的定义与引用;
2.学会指针运算符;
3.理解指针与数组、函数的关系。
实验内容
1.复习第八章课件。
2.编写程序,用指针来实现数组的输入和输出。
数组定义如下:
a[10]={1,2,3,4,5,6,7,8,9,0}。
3.练习、读懂教材P112【例6-1】、P115【例6-4】、P117【例6-5】、P120【例6-7】、P121【例6-8】。
4.对长度为7个字符的字符串BdsinAD,将字符按ASCII码升序排列,结果ABDdins。
选作:
5.分别采用数组形式、指针形式,用选择法对6个整数按从小到大的顺序进行排列。
写三个函数:
输入6个数、进行处理、输出6个数。
实施情况
备注
计算机课程实验卡
课程名称
程序设计语言(C)
班级
顺序号
15
实验名称
实验十五结构体定义与应用
实验目的
1.掌握结构体变量、数组的定义、初始化及引用方式;
2.学会使用结构体数据类型。
实验内容
1.复习第九章课件。
2.练习、读懂教材P159【例8-1】、P162【例8-2】、P162【例8-3】
3.有关结构体的练习
⑴给出年、月、日,计算该日是该年的第几天?
注意闰年问题
⑵写一个函数days,计算该日是该年的第几天?
注意闰年问题。
由主函数将年、月、日传递给days函数,计算后将日子数传回主函数输出
⑶将第⑵题改写成文件包含形式
⑷定义一个结构体变量(包括年、月、日)。
计算该日是该年的第几天?
注意闰年问题。
选作:
4.使用两个结构体变量,分别存放用户输入的两个日期,然后计算两日期相隔多少天?
实施情况
备注
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计语言 实验 学生