C语言程序设计实验Word格式文档下载.docx
- 文档编号:22396381
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:13
- 大小:114.61KB
C语言程序设计实验Word格式文档下载.docx
《C语言程序设计实验Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言程序设计实验Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。
1.新建一个C语言程序在程序中输入以下语句,如有错误请修改正确,并运行观察记录其结果。
inta=23,b=023,c=0x23;
floatx=8.,y=.8,z=.,e=4e2.3;
printf(“a=%d,b=%d,c=%d\n”,a,b,c);
printf(“x=%f,y=%f,z=%f,e=%f\n”,x,y,z,e);
printf(“\075075\n”);
printf(“\aHello,Cqust\rIamafreshmans\b!
\\\\n”);
printf(“ComputerScienceand\nTechnology\\\\n”);
2.P58_3(提示:
要发出警报声,须在输出字符串中使用转义字符)
3.P58_4(提示:
浮点数以小数形式和指数形式输出须分别使用格式%f和%e)
4.P59_5(提示:
要为存放最终的变量选用合适的数据类型,否则将会产生溢出;
另外在C语言编辑器中乘法运算符为“*”)
5.P59_6(提示:
注意浮点常量的科学计数式的表示方法)
6.P59_7
7.1英寸=2.54厘米,对于长宽比为4:
3的显示器,如果其对角线长为22英寸,请编写一个C程序分别计算输出其长宽各为多少厘米和英寸?
附表一:
上机报告
姓名
学号
专业班级
课程名称
指导
教师
焦晓军
机房
名称
I305
上机日期
上机项目名称
结果分析与体会:
上机成绩,评语
指导教师
批改日期
注:
空间不够,可以自行增加。
报告文件名格式:
学号+姓名+第X次上机报告.DOC
实验三简单C程序设计
1.运用所学的数据类型、运算符和表达式写一个简单的顺序程序;
3.验证和掌握printf()和scanf()的用法;
3.实验报告的模板见实验二的附表一。
1.掌握各种格式输出符的使用方法。
#include<
stdio.h>
voidmain()
{inta,b;
floatd,e;
charc1,c2;
doublef,g;
longn,m;
unsignedp,q;
a=61;
b=62;
c1='
a'
;
c2='
b'
d=3.56;
e=-6.87;
f=3156.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);
f=%15.6f,g=%15.12f\nm=%ld,n=%ld\np=%u,q=%u\n"
f,g,m,n,p,q);
}
(1)运行此程序并分析运行结果。
(2)在此基础上,修改程序的第9-14行:
c1=a;
c2=b;
f=3156,890121;
d=f;
e=g;
p=a=m=50000;
q=b=n=-60000;
运行程序,分析运行结果。
2.用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’。
问在键盘上如何输入?
请书写程序
#include“stdio.h”
voidmain()
{inta,b;
floatx,y;
charc1,c2;
scanf(“a=%db=%d”,&
a,&
b);
scanf(“%f%e”,&
x,&
y);
scanf(“%c%c”,&
c1,&
c2);
printf(“a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n”);
printf(“%15s”,
“abcdefghijklmnopqrstuvwxyz”);
//思考该语句执行的输出是什么?
为什么?
}
运行,并按照如下方式在键盘上输入:
A=3b=7
8.571.82
Aa
运行结果:
。
思考:
为什么在第三个scanf函数双引号第一个字符为空格字符,如果没有这个空格字符,而写成:
scanf(“%c%c”,&
按以上的输入、输出将如何变化?
3.编写程序从键盘读入一元二次方程的各项系数,然后根据这些系数计算并求解方程的根,要求:
输出结果时小数点部分占4个字符宽度。
4.P85-2
5.P85-3
6.P86-7
实验四顺序程序设计与选择结构程序设计
2.掌握关系运算符和关系表达式;
3.验证和掌握IF语句的用法;
1.分别录入下面的程序保存为test1-1.c,test1-2.c,test1-3.c,并运行将显示出什么结果?
2.录入下面的程序,手动分析其结果然后运行,两者结果一致与否?
给出具体的分析过程。
3.P114——3
4.P114——8
5.改写实验三中的第3题使程序能正确计算和输出任意一元二次方程的根。
如果是实根,输入形式如“x1=5.2,x2=2.0”;
如果是复数根,则输出形式如:
“x1=5.0+3.2i,x2=5.0-3.2i”
6.编写程序运行下列表达式,分析结果。
实验五循环控制结构程序设计
(一)
1.运用所学的数据类型、运算符和表达式编写简单的程序;
2.巩固和掌握分支和选择的程序设计方法;
3.验证和掌握while与for循环的使用方法,及其形式与结构上的异同;
1.编写程序完成右式
,(注意:
数据类型的选择);
2.编写程序完成右式
,当通项绝对值小于1e-6时循环结束,然后输出该序列的和。
3.P149——2,要求使用putchar函数向屏幕输出字符。
4.编写程序完成右式
5.P150——5。
6.设x取值为区间
的整数,求函数
的最大值。
思考题:
P149——14
实验六循环控制结构程序设计
(二)
2.验证和掌握do..while与if..goto循环的使用方法;
3.巩固和复习已有四种循环形式及其形式与结构上的异同;
3.巩固和掌握循环嵌套的方法以及循环终止与结束的方法;
1.复习“条件判断——执行循环体”和“执行循环体——条件判断”两型循环的方法,然后分别编程用辗转相除法求解任意两个自然数最大公约数的问题。
2.编程完成题目:
。
3.编程从键盘输入任意多个整数,求它们的和以及其平均值,最值。
当有非法输入时循环结束。
(提示:
从键盘读取整数成功则scanf函数返回值为非〇)
4.编程输出如下的九九乘法表。
1*1=1
2*1=22*2=4
3*1=33*2=63*3=9
…………………………………
9*1=99*2=189*3=27………..9*9=81
5.用循环嵌套的方法完成P149—2\3,分别保存为两test05_1.c和test05_2.c。
6.编程完成下列序列的和:
7.编程完成下列序列的和:
1.循环嵌套时有层数限制吗?
如果循环没有明确制定结束条件,该如何结束一个循环?
关键字break和continue如果有区别,请说明该区别时什么?
2.循环和分支可以相互嵌套吗?
3.编程完成P151——16
实验七函数
(一)
1.理解函数在结构化程序设计中的作用和地位;
2.理解和掌握C语言中函数定义的方法;
3.理解和掌握函数的形式参数与实际参数的区别,以及参数传递的规则;
3.理解和掌握函数返回值的作用和限定;
2.编写实验报告并提交报告的电子版和所有.c文件。
1.编写函数统计一个字符数组中字母、数字和其他字符的数目,要求:
字符数
组以函数参数的形式传递给函数,统计得到的三类字符的数目在你自己定义的
函数中调用函数printf输出。
2.编写函数完成下列序列的和,要求序列中n的值以参数的形式传递给函数:
s=1+(1+2)+(1+2+3)+!
+(1+2+3+!
+n),(n!
[5,300])。
3.编写函数计算如下序列,其中x是形式参数,在main中调用该函数时由键盘
读入一个浮点数到double类型的变量x中,然后传递给该函数的形式参数。
序列如下
4.P243——5
5.P243——10
6.复习函数定义的有关规则,为下面的程序改错。
#include“stdio.h”
doublehcd(longa,longb)//函数求解整数a和b的最大公约数
{intt;
//○1认真阅读该程序并思考:
t在该函数内部不同的语句中各有什么作用?
if(a>
b){t=a;
a=b;
b=t;
t=a%b;
while(t!
=0)
{a=b;
returnt,b;
//○2这样的返回值语句正确吗?
intmain()
{inta=132,b=42,re;
re=hcd(inta,intb);
//○3思考上面的函数调用语句有错吗?
如果有,错误在什么地方,如何改正?
//另外这里的a和b与函数hcd中的参数a和b一样吗?
printf(“Theresultis%-15d\n”,re);
实验八函数
(二)——递归
4.理解和掌握函数返回值的作用和限定;
5.理解和掌握递归的思想,并掌握使用递归解决问题的方法,能进行正确的递
归程序设计。
1.使用递归方法求解两个正整数的最大公约数。
2.复习递归方法的运用特点,手动演算分析并写下下面的递归程序的执行过程
及其结果,然后编程调试验证你的分析过程,函数fac共调用了多少次?
intfac(intm)
{
if(m==1||m==0)return1;
elsereturnfac(m-1)+fac(m-2);
voidmain(){intm=6;
m=fac(m);
printf(“m=%5d\n”,m);
3.运用递归解决该问题:
小猴子第一天摘下若干桃子,当即吃掉一半,又多吃
一个。
第二天早上又将剩下的桃子吃一半,又多吃一个,以后每天早上吃前一
天剩下的一半另一个。
到第10天早上猴子想再吃时发现,只剩下一个桃子了。
问第一天猴子共摘多少个桃子?
4.运用递归解决该问题:
输入一个数,求这个数的各位数字之和。
5.运用递归解决该问题:
角谷定理——输入一个自然数,若为偶数,则把它除
以2,若为奇数,则把它乘以3加1。
经过如此有限次运算后,总可以得到自然
数值1。
求经过多少次可得到自然数1。
思考和复习题:
1.递归的思想,在C语言中不用函数能完成吗?
使用递归的注意事项有哪些?
2.查阅快速排序的相关资料,阅读和体会给出的快速排序的伪代码,如有可能
尝试写出递归的快速排序的C语言源程序。
3.如果要统计一个函数递归调用了多少次,有什么办法吗?
请编程尝试完成。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 实验