最新C语言课程实验讲义48学时Word格式.docx
- 文档编号:19346192
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:15
- 大小:31.30KB
最新C语言课程实验讲义48学时Word格式.docx
《最新C语言课程实验讲义48学时Word格式.docx》由会员分享,可在线阅读,更多相关《最新C语言课程实验讲义48学时Word格式.docx(15页珍藏版)》请在冰豆网上搜索。
(6)输入并运行一个需要在运行时输入数据的程序。
①输入下面的程序
{intmax(intx,inty);
inta,b,c;
printf(“inputa&
b:
”);
scanf(”%d,%d”,&
a,&
b);
c=max(a,b);
printf(“max=%d”,c);
intmax(intx,inty)
{intz;
if(x>
y)z=x;
elsez=y;
return(z);
②编译并运行,在运行时从键盘输入整数2和5,然后按Enter键观察运行结果。
③将程序中的第4行改为
inta;
b;
c;
再进行编译,观察其结果。
④将max函数中的第3,4两行合并写为一行,即
if(x>
elsez=y;
进行编译,观察其结果。
(7)运行一个自己编写的程序。
题目是教材第1章的习题1.5,即:
输人a,b,c三个值,输出其中最大者。
①输人自己编写的源程序。
②检查程序有无错误(包括语法错误和逻辑错误),有则改之。
③编译和连接,仔细分析编译信息,如有错误应找出原因并改正。
④运行程序,输入数据,分析结果。
⑤自己修改程序(例如,故意改成错的),分析其编译和运行情况。
⑥将调试好的程序保存在自己的用户目录中,文件名自定。
⑦将编辑窗口清空,再将该文件读入,检查编辑窗口中的内容是否是刚才保存的程序。
⑧关闭所用的集成环境,用windows中的“我的电脑”找到刚才使用的用户子目录,浏览其中的文件,观察有无刚才保存的后缀为.c、.obj和、.exe的文件。
实验2数据类型、运算符和表达式
1.实验目的
(1)掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法。
(2)掌握不同的类型数据之间赋值的规律。
(3)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。
(4)进一步熟悉C程序的编辑、编译、连接和运行的过程。
(1)输入并运行下面的程序
#include<
{charc1,c2;
c1=’a’;
c2=’b’;
printf("
%c%c\n"
c1,c2);
}
1运行此程序,并分析结果。
2在上面的printf语句的下面再增加一个语句:
printf(“%d%d\n”,cl,c2);
再运行,并分析结果。
3将第3行改为:
intc1,c2;
再使之运行,并观察结果。
4再将第4,5行改为:
c1=a;
/*不用单撇号*/
c2=b;
再使之运行,分析其运行结果
5再将第4,5行改为:
c1="
a"
;
/*用双撇号*/
c2="
b"
再使之运行,分析其运行结果。
⑥再将第4,5行改为:
c1=300;
/*用大于255的整数*/
c2=400;
(2)输入并运行教材第2章习题2.5给出的程序
{charc1='
a'
,c2='
b'
,c3='
c'
,c4='
\101'
,c5='
\116'
a%cb%c\tc%c\tabc\n"
c1,c2,c3);
\t\b%c%c"
c4,c5);
在上机前先用人工分析程序,写出应得结果,上机后将二者对照。
(3)输入习题2.9
{inti,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
printf("
%d,%d,%d,%d"
,i,j,m,n);
①运行程序,注意i,j,m,n各变量的值,分别做以下改动并运行。
②将第6,7行改为:
m=i++;
n=++j;
再运行。
③将程序改为:
{inti,j;
%d,%d\n"
,i++,j++);
④在③的基础上,将printf语句改为:
%d,%d\n"
,++i,++j);
编译运行分析结果。
⑤再将printf语句改为:
,i,j,i++,j++);
6将程序改为:
{inti,j,m=0,n=0;
m+=i++;
n–=––j;
i=%d,j=%d,m=%d,n=%d"
}
(5)按习题2.6的要求编程序并上机运行
该题的要求是:
要将"
China"
译成密码,译码规律是:
用原来字母后面的第4个字母代替原来的字母。
例如,字母"
A"
后面第4个字母是"
E"
,用"
代替"
。
因此,"
应译为"
Glmre"
。
请编一程序,用赋初值的方法使c1,c2,c3,c4,c5五个变量的值分别为'
C'
、'
h'
i'
n'
,经过运算,使c1,c2,c3,c4,c5分别变为'
G'
l'
m'
r'
e'
,并输出。
输人事先已编好的程序,并运行该程序。
分析是否符合要求。
实验3最简单的C程序设计--顺序程序设计
(1)掌握C语言中使用最多的一种语句——赋值语句的使用方法。
(2)掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。
2学时,编程序上机调试运行,提交实验报告。
4.实验内容
(1)通过下面的程序掌握各种格式转换符的正确使用方法
①输入程序
{inta,b;
floatd,e;
charc1,c2;
doublef,g;
longm,n;
unsignedintp,q;
a=61;
b=62;
c1='
c2='
d=3.56;
e=-6.87;
f=3157.890121;
g=0.123456789;
m=50000;
n=–60000;
p=32768;
q=40000;
printf(”a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n”,a,b,c1,c2,d,e);
printf(”f=%15.6f,g=%15.12f\nm=%ld,c2=%ld\np=%u,q=%u\n”,f,g,m,n,p,q);
②运行此程序并分析结果。
③在此基础上,修改程序的第10-14行:
c1=a;
c2=b;
d=f;
e=g;
p=a=m=50000;
q=b=n=-60000;
运行程序,分析结果。
④改用scanf函数输人数据而不用赋值语句,scanf函数如下:
scanf("
%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u"
&
b,&
c1,&
c2,&
d,&
e,&
f,&
g,&
m,&
n,&
p,&
q);
输入的数据如下:
61,62,a,b,3.56,-6.87,3157.890121,0.123456789,50000,-60000,32768,40000
分析运行结果。
(说明:
lf和ld格式符分别用于输人double型和long型数据)分析运行结果。
⑤在④的基础上将printf语句改为:
a=%d,b=%d\nc1=%c,c2=%c\nd=%15.6f,e=%15.12f\n"
a,b,c1,c2,d,e);
f=%f,g=%f\nm=%d,n=%d\np=%d,q=%d\n"
,f,g,m,n,p,q);
运行程序。
⑥将p,q改用%o格式符输出。
⑦将scanf函数中的%lf和%ld改为%f和%d,运行程序并观察分析结果。
(2)按习题3.6要求编写程序
题目为:
设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。
用scanf输入数据,输出计算结果。
输出时要有文字说明,取小数点后两位数字。
(3)编程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf函数输出这两个字符。
上机运行程序,比较用printf和putchar函数输出字符的特点。
实验4选择结构程序设计
1.实验目的
(1)了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。
(2)学会正确使用逻辑运算符和逻辑表达式。
(3)熟练掌握if语句和switch语句。
(4)结合程序掌握一些简单的算法。
(5)学习调试程序。
本实验要求先编好解决下面问题的程序,然后上机输人程序并调试运行程序。
(1)有一函数
用scanf函数输入x的值,求y值。
(习题4.5)
运行程序,输入x的值(分别为x<1、1≤x<10、x≥10三种情况,检查输出的y值是否正确。
(2)给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。
90分以上为A,81~89分为B,70~79分为C,60~69分为D,60分以下为E。
(习题4.6)
①事先编好程序要求分别用if语句和switch语句实现。
运行程序,并检查结果是否正确。
②再运行一次程序,输入分数为负值(如-70),这显然是输入时出错,不应给出等级。
修改程序,使之能正确处理任何数据。
当输入数据大于100或小于0时,通知用户“输人数据错’,程序结束。
(3)托儿所收2-6岁儿童,其中2-3岁进小班,4岁进中班,5-6岁进大班,分别用if和switch编程,输入儿童年龄,输出该年龄及所进入的班级。
实验5循环结构程序设计
(1)熟悉掌握用while语句,do-while语句和for语句实现循环的方法。
(2)掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。
(3)进一步学习调试程序。
(1)打印出所有的“水仙花数”。
所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身,例如153是一个水仙花数,因为153=13+53+33(习题5.6)
提示:
for(n=100;
n<
1000;
n++)
{
i=n/100;
j=(n/10)%10;
k=n%10;
if(n==i*i*i+j*j*j+k*k*k)
printf("
%d"
n)
(2)输入一个正整数n,输出n!
.
实验六三种程序结构综合实验
(1)进一步掌握顺序、选择及循环结构的综合编程,练习使用if语句,if…else语句,while语句,do…while语句和for语句的嵌套使用。
(2)学习调试程序
综合。
(1)百鸡问题:
用100元买100只鸡,公鸡5元1只,母鸡3元1只,小鸡1元3只。
编写程序输出所能购买公鸡、母鸡和小鸡的数目(可能多解)。
(2)编写程序输出左下三角形式的乘法九九表,即输出结果为
1
24
369
481216
510152025
61218243036
7142128354249
816243240485664
91827364554637281
(3)编写程序输出右上三角形式的乘法九九表,即输出结果为
123456789
4681012141618
9121518212427
162024283236
2530354045
36424854
495663
6472
81
实验七数组
(1)掌握一维数组和二维数组的定义、赋值和输入输出的方法。
(2)掌握字符数组和字符串函数的使用。
(3)掌握与数组有关的算法(特别是排序算法)
4学时,编程序上机调试运行,提交实验报告。
3.实验内容:
(1)输入n个数(n<
50),分别用冒泡法和选择法进行排序,从小到大顺序输出。
(2)输入一个三行四列的二维数组,求出数组中每行的最小值和每列的最大值。
(3)有一篇文章,共3行文字,每行有80个字符,要求分别统计其中的英文大写字母,小写字母,数字,空格以及其他字符的个数。
实验八函数
(1)掌握定义函数的方法。
(2)掌握声明函数的方法。
(3)掌握函数实参与形参的对应关系,以及“值传递”的方式
(4)掌握函数的嵌套调用和递归调用的方法。
(1)写一个判别素数的函数,在主函数输入一个整数,输出是否素数的信息(习题7.3)。
本程序应当准备一下测试数据:
17,34,2,1,0。
分别运行并检查结果是否正确。
要求所编写的程序,主函数的位置在其他函数之前,在主函数中对其所调用的函数作声明。
1输入程序,编译和运行程序,分析结果。
2将主函数的函数声明删去,再进行编译,分析编译结果。
3把主函数的位置改为在其他函数之后,在主函数中不含函数声明。
4保留判别素数的函数,修改主函数,要求实现输出100-200之间的素数。
(2)用数组做函数参数的方法实现一个2*3矩阵和一个3*2矩阵的乘积,在主函数调用函数。
(3)将一个整型一维数组中的元素逆序存放并输出
(4)用递归的方法求
,
,输入
和n,输出
的值
实验九指针与数组和字符串
(1)掌握指针和间接访问的概念,会定义和使用指针变量
(2)能正确使用数组的指针和指向数组的指针变量
(3)能正确使用字符串的指针和指向字符串的指针变量
6学时,编程序上机调试运行,提交实验报告。
(1)分析下列程序的运行结果,并输入数据测试,并指明原因
①swap1(intx,inty)
{intt;
t=x;
x=y;
y=t;
main()
{inta,b;
scanf("
%d,%d"
&
b);
swap1(a,b);
\n%d,%d\n"
a,b);
②swap2(int*p1,int*p2)
{int*p;
*p=*p1;
*p1=*p2;
*p2=*p;
int*pointer_1,*pointer_2;
pointer_1=&
a;
pointer_2=&
swap2(pointer_1,pointer_2);
③swap3(int*p1,int*p2)
{intp;
p=*p1;
*p2=p;
swap3(pointer_1,pointer_2);
(2)以数组作为函数参数实现下列程序
从键盘输入一个班(全班最多不超过30人)学生某门课成绩,当输入成绩为负值时输入结束,分别统计下列内容:
(1)统计各分数段(<
60,60~69,70~79,80~89,90~100)的学生人数及所占的百分比并输出
(2)统计成绩在平均分及平均分之上的学生人数并输出。
然而影响我们大学生消费的最主要的因素是我们的生活费还是有限,故也限制了我们一定的购买能力。
因此在价格方面要做适当考虑:
我们所推出的手工艺制品的价位绝大部分都是在50元以下。
一定会适合我们的学生朋友。
(3)以指针为函数参数实现第2题。
综上所述,DIY手工艺品市场致所以受到认可、欢迎的原因就在于此。
我们认为:
这一市场的消费需求的容量是极大的,具有很大的发展潜力,我们的这一创业项目具有成功的前提。
(4)写一个函数,求一个字符串的长度。
在main函数中输入字符串,并输出其长度。
(5)利用指针交换数组a和数组b中的对应元素。
木质、石质、骨质、琉璃、藏银……一颗颗、一粒粒、一片片,都浓缩了自然之美,展现着千种风情、万种诱惑,与中国结艺的朴实形成了鲜明的对比,代表着欧洲贵族风格的饰品成了他们最大的主题。
实验十结构体与共用体
(1)掌握结构体类型变量的定义和使用
(2)掌握结构体类型数组的概念和应用。
2003年,上海市人均GDP按户籍人口计算就达到46700元,是1995年的2.5倍;
居民家庭人均月可支配收入为14867元,是1995年的2.1倍。
收入不断增加的同时,居民的消费支出也在增加。
2003年上海居民人均消费支出为11040元,其中服务性消费支出为3369元,是1995年的3.6倍。
(一)上海的经济环境对饰品消费的影响
(1)编写程序,利用结构体类型编制一程序,实现输入一个学生的数学期中和期末成绩,然后计算并输出其平均成绩。
(3)个性体现
(2)有5个学生,没个学生的数组包括学好、姓名、三门课的成绩、从键盘输入5个学生的数据,要求输出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课的成绩、平均成绩)(习题9.5)。
程序要求:
用input函数输入5个学生数据,用average函数求总平均分;
用max函数找出最高分的学生数据;
总平均分和最高分学生的数据都在主函数中输出。
(三)DIY手工艺品的“自助化”
实验十一文件操作
(1)掌握文件以及缓冲文件系统、文件指针的概念。
(2)学会使用简单的文件打开、关闭、读写等文件操作函数
图1-2大学生购买手工艺品可接受价位分布2.实验学时与要求:
2学时,编程序上机调试运行,不提交实验报告。
服饰□学习用品□食品□休闲娱乐□小饰品□3.实验内容
(1)用“r”只读方式打开一个已存在的方本文件;
(2)用“w”方式建立且打开一个不存在的文件,建立前后都到Windows(操作系统)中去查找一下,以确认是C语言语句建立的。
(一)大学生的消费购买能力分析
(3)从键盘中输入三个整数,依次写入到文件1.txt,再从该文件中读出前两个整数,在显示器上输出这两个整数的和。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 语言 课程 实验 讲义 48 学时
