级软件工程程序设计机场实验报.docx

上传人:b****8 文档编号:9690586 上传时间:2023-05-20 格式:DOCX 页数:22 大小:39.84KB
下载 相关 举报
级软件工程程序设计机场实验报.docx_第1页
第1页 / 共22页
级软件工程程序设计机场实验报.docx_第2页
第2页 / 共22页
级软件工程程序设计机场实验报.docx_第3页
第3页 / 共22页
级软件工程程序设计机场实验报.docx_第4页
第4页 / 共22页
级软件工程程序设计机场实验报.docx_第5页
第5页 / 共22页
级软件工程程序设计机场实验报.docx_第6页
第6页 / 共22页
级软件工程程序设计机场实验报.docx_第7页
第7页 / 共22页
级软件工程程序设计机场实验报.docx_第8页
第8页 / 共22页
级软件工程程序设计机场实验报.docx_第9页
第9页 / 共22页
级软件工程程序设计机场实验报.docx_第10页
第10页 / 共22页
级软件工程程序设计机场实验报.docx_第11页
第11页 / 共22页
级软件工程程序设计机场实验报.docx_第12页
第12页 / 共22页
级软件工程程序设计机场实验报.docx_第13页
第13页 / 共22页
级软件工程程序设计机场实验报.docx_第14页
第14页 / 共22页
级软件工程程序设计机场实验报.docx_第15页
第15页 / 共22页
级软件工程程序设计机场实验报.docx_第16页
第16页 / 共22页
级软件工程程序设计机场实验报.docx_第17页
第17页 / 共22页
级软件工程程序设计机场实验报.docx_第18页
第18页 / 共22页
级软件工程程序设计机场实验报.docx_第19页
第19页 / 共22页
级软件工程程序设计机场实验报.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

级软件工程程序设计机场实验报.docx

《级软件工程程序设计机场实验报.docx》由会员分享,可在线阅读,更多相关《级软件工程程序设计机场实验报.docx(22页珍藏版)》请在冰点文库上搜索。

级软件工程程序设计机场实验报.docx

级软件工程程序设计机场实验报

《程序设计基础》(c语言)实践报告

 

专业:

班级:

姓名:

学号:

教师:

《程序设计基础》(c语言)课程组

教师寄语

课程简介

《程序设计基础》是计算机相关专业的专业基础课,其目的是为了培养学生程序设计的技能,使学生掌握程序设计的基本思想和方法,培养学生用计算机解决实际问题的能力。

该课程是后续理论和实践教学的基础和重要工具,将直接影响到专业兴趣的培养,后续专业课程教学内容的实施。

课程内容

本课程教学的主要内容包括:

1、程序与程序设计的基本概念;算法与算法的表示;结构化程序设计方法等。

2、C语言的基本组成,C程序的基本结构;C程序的上机过程;C语言的数据类型和各类运算规则。

3、顺序程序设计;选择结构程序设计;循环控制;函数;指针;结构体和文件等。

4、C程序的模块化结构;函数的定义与调用,包括函数的递归调用;变量存储属性;工程文件的建立和使用;编译预处理;库函数简介;文件的概念;文件的建立、打开与关闭;各种文件的读写方法。

补充说明

1、本课程作为一种与计算机“沟通”的语言工具,在某种程度上讲,和普通话、英语有一些类似。

对初学者而言,最好的学习方式就是在基本的语法规则框架下,不断的模仿和重复训练,最畏惧和担心的就是灵活与多变。

只有不畏惧,才能敢模仿,敢写、敢调试。

才能避免掉入语法漩涡止步不前。

2、课程共设8个单元,对于每个单元的实践内容,按照基础训练和差异化训练相结合的思想,设置了多道编程题目,同学们在每个单元可以根据实际情况,可选做3道,鼓励在有精力的情况下尽可能多练习。

3、课程的源码可以手写也可以打印出来粘贴,对程序运行结果打印粘贴。

4、单元内容即是平时基本功的训练,也可当做理论考试的复习。

 

实验1顺序结构程序设计

一、实验目的

1.熟悉C语言的编程环境,掌握C程序运行的一般步骤;

2.掌握C语言中数据的输入输出方法,常用输入/输出函数的使用;

3.掌握顺序结构程序设计方法,能编写简单的C程序;

二、实验内容

1、编写程序,输入一个四位数,打印输出其个位数、十位数、百位数和千位数。

2、编写程序,从键盘上输入两个电阻的值,求它们并联和串连的电阻值,输出结果保留两位小数。

3、编写一个程序,从键盘上输入学生的三门课程成绩,求总成绩和平均成绩。

4、输入一元二次方程的三个系数,求根。

5、输入三角形的三个边长a,b,c,输出面积s。

6、打印520

+1314

1834*10

三、实验源码及测试数据

1.#include

#include

main()

{

inta;

scanf("%d",&a);

if(a>=10000||a<1000)

printf("error\n");

else

printf("qian=%d\n",a/1000);

printf("bai=%d\n",a%1000/100);

printf("shi=%d\n",a%100/10);

printf("ge=%d\n",a%10/1);

}

2.#include

#include

main()

{

floatr1,r2,R1,R2;

scanf("%f,%f",r1,r2);

R1=r1+r2;

R2=(r1*r2)/(r1+r2);

printf("chuan=%.2f,bing=%.2f",R1,R2);

}

3.#include

main()

{

floata,b,c;

floats,x;

scanf("%f,%f,%f",&a,&b,&c);

s=a+b+c;

x=s/3;

printf("s=%f,x=%f",s,x);

}

4.#include

#include

main()

{

floata,b,c;

floaty1,y2;

scanf("%f,%f,%f",&a,&b,&c);

y1=(-b+sqrt(b*b-4*a*c))/(2*a);

y2=(-b-sqrt(b*b-4*a*c))/(2*a);

printf("y1=%f,y2=%f",y1,y2);

}

5.#include

#include

main()

{

doublea,b,c;

doubles,p;

scanf("%lf,%lf,%lf",&a,&b,&c);

p=(a+b+c)/2;

s=sqrt(p*(p-a)*(p-b)*(p-c));

printf("%lf",s);

}

6.#include

main()

{

inti,j;

printf("520\n");

printf("+1314\n");

printf("1834*10\n");

}

四、调试运行结果

五、实验体会

实验2选择结构程序设计

一、实验目的

1、了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。

2、学会正确使用逻辑运算符和逻辑表达式。

3、熟练掌握if语句和switch语句。

4、结合程序掌握一些简单的算法。

二、实验内容

1.有一个函数

用scanf函数输入x的值(分别为x<1、1~10、≥10三种情况),求y值。

2、输入3个整数,要求按由小到大的顺序输出。

3、根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积。

4、有y=ax*x+bx+c,输入a,b,c。

当a=0,b=0时,输出不是方程。

当a=0,b≠0时,输出是一元一次方程,x=-c/b。

当a≠0,△>0,输出方程X1,X2的解。

当a≠0,△<0,输出无实根。

5、键盘输入一个至多五位数,判断它是几位数,并将该数逆序输出。

例:

输入1456,输出结果是:

四位数,逆序后:

6541。

7、编写程序,要求从键盘输入成绩,输出对应的等级(100分为A,90-99为B,80-89为C,70-79为D,60-69为E,小于60为F)。

8、设计一个简单的计算机程序,用户输入运算数和四则运算符(+、-、*、/),输出计算结果。

三、实验源码及测试数据

1.#include

main()

{floatx,y;

scanf("%f",&x);

if(x<1)

y=x;

else

if(x>=1&&x<10)

y=2*x-1;

else

y=3*x-11;

printf("%f",y);

}

2.#include

main()

{

inta[3];

inti,j,t;

for(i=0;i<3;i++)

scanf("%d",&a[i]);

for(j=0;j<3;j++)

{

for(i=0;i<3-j;i++)

{

if(a[i]>a[i+1])

{

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}

}

}

for(i=0;i<3;i++)

printf("%d\n",a[i]);

}

3.#include

main()

{

floata,b,c;

floats,p;

scanf("%f%f%f",&a,&b,&c);

p=(a+b+c)/2;

if(a>b&&a>c)

{

if(b+c>a)

{

s=sqrt(p*(p-a)*(p-b)*(p-c))/2;

printf("%f\n",s);

}

}

if(b>a&&b>c)

{

if(a+c>b)

{

s=sqrt(p*(p-a)*(p-b)*(p-c))/2;

printf("%f\n",s);

}

}

if(c>a&&c>b)

{

if(a+b>c)

{

s=sqrt(p*(p-a)*(p-b)*(p-c))/2;

printf("%f\n",s);

}

}

else

{

printf("error\n");

}

}

4.#include

main()

{

floata,b,c;

floatx,x1,x2,delta;

scanf("%f%f%f",&a,&b,&c);

delta=b*b-4*a*c;

if(a==0&&b==0)

{

printf("不是方程\n");

}

elseif(a==0&&b!

=0)

{

printf("一元一次方程\n");

x=(-c)/b;

printf("%f",x);

}

elseif(a!

=0&&delta>0)

{

x1=(-b+sqrt(delta))/(2*a);

x2=(-b-sqrt(delta))/(2*a);

printf("%2f,%2f",x1,x2);

}

elseif(a!

=0&delta<0)

{

printf("无实根\n");

}

}

5.#include

main()

{

inti,y;

longs;

longa[5];

scanf("%d",&s);

a[0]=s/10000;

a[1]=(s-a[0]*10000)/1000;

a[2]=(s-a[0]*10000-a[1]*1000)/100;

a[3]=(s-a[0]*10000-a[1]*1000-a[2]*100)/10;

a[4]=s-a[0]*10000-a[1]*1000-a[2]*100-a[3]*10;

if(s>=10000&&s<100000)

printf("五位数");

if(s>=1000&&s<10000)

printf("四位数");

if(s>=100&&s<1000)

printf("三位数");

if(s>=10&&s<100)

printf("二位数");

if(s>=0&&s<10)

printf("一位数");

printf("\n");

y=a[0]+a[1]*10+a[2]*100+a[3]*1000+a[4]*10000;

printf("逆序=%d\n",y);

}

四、调试运行结果

四、实验心得体会

实验3循环结构程序设计

一、实验目的

1、掌握用while语句,do-while语句和for语句实现循环的方法。

2、掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。

3、调试程序的技巧。

二、实验内容

1、输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数。

2、猴子吃桃问题。

猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。

第二天早上又将剩下的桃子吃掉一半,又多吃了一个。

以后每天早上都吃了前一天剩下的一半零一个。

到第10天早上想再吃时,见只剩一个桃子了。

求第一天共摘了多少桃子。

3、用for语句求1到100中是3的倍数的数的和。

n2k2

4、求∑2j^2+∑i!

(-1)^i

j=n1i=k1其中n1、n2键盘输入,输错重输(如:

n1>n2),k1>k2同上。

100

5、求∑n!

+(n^3-3n^2+2)(-1)^n

n=1

6、找出5000以内所有完数。

完数:

一个数是它所有的因子的和。

7、任意输入10个数,分别算出其中负数和正数的个数。

8、.键盘输入字符串,遇‘#’结束,分别统计字母、数字和其它字符个数。

9、计算1-100内所有含有6的数的和。

10、输出所有3位水仙花数。

所谓水仙花数是指所有位的数字的立方和等于该数。

例:

153=1^3+5^3+3^3。

b

11、梯形法求数值积分。

F(x)=∫(4-X*X)^0.5dx。

a

12、用二分法求3X^3+2X^2-4X=6的解。

13、用牛顿迭代法求3X^3+2X^2-4X=6的解。

14、利用循环嵌套,输出九九乘法表。

123456789

123456789

246810……

15、观察数列,输出其前20项,每4个数一行,每个数占8列。

2,2,4,4,6,16,8…

16、编写程序输出下面图形。

1

23

456

7890

三、实验源码及测试数据

 

四、调试运行结果

五、实验心得体会

实验4数组

一、实验目的

1、掌握一维数组和二维数组的定义、赋值和输入输出的方法;

2、掌握字符数组和字符串函数的使用;

3、掌握与数组有关的算法(特别是排序算法)。

二、实验内容

1、用冒泡排序法对10个整数排序。

10个整数用scanf函数输入。

2、有15个数存放在一个数组中,输入一个数,要求查找该数是数组中第几个元素的值。

如果该数不在数组中,则输出“无此数”。

3、将两个字符串连接起来,不要用strcat函数。

4、编写程序输出下面矩阵:

12345

23451

34512

45123

51234

5、输入10个数,逆序输出(折半)。

6、键盘输入7个评委对选手的打分,去掉最高分,去掉最低分,输出平均分,要求左对齐,保留到小数点后两位。

7、对某同学的作业记录作处理,输入作业每题的批改结果(对或错),遇#号结束,输出错题的题号。

8、键盘读入7个选手的编号与得分,要求输出优秀率(>=90),及格率(>=60),和平均分。

输出排行榜(编号+成绩)。

9、输入一个矩阵,找出所在行上最大,列上最小的数。

(可能没有)

10、读入下列数字存放在数组a[5][4]中,分别求各行、各列元素之和。

将结果补在最后1行和最后1列后,输出整个矩阵。

1246_

8233_

1579_

2517_

____

11、键盘输入7个评委对7个选手的打分,算出平均分,要求去掉最低分,最高分,输出成绩排行榜。

12、输入某游戏大赛10个队伍的名称(以字符串:

如goodgoodstudy),队伍过关数(整数),耗时数(如:

90分钟)。

输出排行榜(包括过关数、耗时,队伍名称)。

排行规则:

①先以过关数为标准。

②过关数一样的以时间为标准。

③过关数、时间一样的以队伍名称的首字母为标准。

三、实验源码及测试数据

 

四、调试运行结果

五、实验心得体会

实验5函数

一、实验目的

1、掌握定义函数的方法;

2、掌握函数实参与形参的对应关系以及“值传递”的方式;

3、掌握函数的嵌套调用和递归调用的方法;

4、掌握全局变量和局部变量动态变量、静态变量的概念和使用方法。

二、实验内容

1、编写三个函数分别求某学生三门课程总成绩和平均成绩和及格率。

2、用一个函数来实现将一行字符串中最长的单词输出。

此行字符串从主函数传递给该函数.

3、用递归法将一个整数n转换成字符串。

例如,输入483,应输出字符串“483”。

n的位数不确定,可以是任意的整数。

4、输入三个字符串,按由小到大的顺序输出这些字符串。

要求,对于三个字符串进行两两比较,将最小的串放在str1中,将最大的串放在str3中。

设计一个函数,对两个字符串进行交换。

提示:

使用strcmp(str1,str2)函数。

5、已知abc+bcc=1333,其中a、b、c均为一位整数,编写一个函数,求出a、b、c分别代表什么数字。

6、编写一个程序,包括主函数和如下子函数。

(1)输入10个无序的整数;

(2)用起泡方法从大到小排序;(3)要求输入一个整数,用折半查找法找出该数,若存在,在主函数中输出其所处的位置,否则,插入适当位置。

7、定义一个函数,功能是计算n个学生的成绩中,高于平均成绩的人数,并作为函数值。

用主函数来调用它,统计50个学生成绩中,高于平均成绩的有多少人?

8、编写函数

n2k2

求∑2j^2+∑i!

(-1)^i

j=n1i=k1

9、写函数实现2分法求方程

的根

10、写函数求求5000以内的完数。

11、写函数求输出数列2、2、4、4、6、16、8…前20项。

12、求函数1n=0

Hn=x

-2x+7n=1

hn-1(x)*(x^3+2)+hn-2(x)*(x^2-7x)。

n>1

13、比较数组a和数组b,得出a中的数(每一个)比b中的几个数大,并输出。

14、投票选班长,5个候选人,10个人每人投一票,输入投票结果,输出每个候选人的得票数。

三、实验源码及测试数据

 

四、调试运行结果

五、实验心得体会

实验6指针

一、实验目的

1、掌握指针的概念、会定义和使用指针变量

2、掌握指向数组的指针变量

3、掌握字符串指针的使用

二、实验内容

1、用指针实现,输入3个数,按从小到大输出。

2、编一个程序,打入月份号,输出该月的英文月名,要求用指针数组处理。

3、编写递归函数,将输入的以“?

”结束的字符串按与输入相反的顺序输出。

4、编写函数,在n个元素的一维数组中,统计比相邻元素大的数组元素个数并将统计数返回(不考虑a[0]和a[n-1]),要求以指针变量作函数参数。

5、用指向指针的指针的方法对5个字符串进行排序。

6、用指针的方式实现,3×3矩阵转置。

7、设有一个单项链表,现欲将其倒置,试编写一函数实现此功能

三、实验源码及测试数据

 

四、调试运行结果

五、实验心得体会

实验7结构体和共用体

一、实验目的

1、掌握C语言中的变量、数组、函数、指针、结构体等主要知识点。

2、掌握C程序的结构化程序设计方法,能使用C语言开发简单的应用程序。

3、掌握C程序的运行、调试方法等。

二、实验内容

1、定义一个结构体变量,其成员包括:

职工号、职工名、性别、年龄、工龄、工资、地址。

2、对上述定义的变量,从键盘输入所需的具体数据,然后用printf函数打印出来。

3、按上述的结构体类型定义一个结构体数组,从键盘输入每个结构体元素所需的数据,然后逐个输出这些元素的数据(为简化起见,可设数组只有三个元素)。

4、建立一个包括学生姓名,性别,年龄,一门课成绩的结构体,输出考分最高的学生个人信息。

5、一个45人班级有两门课,求所有成绩中的最高成绩,及对应的姓名,学号课程编号,分别求两门课的平均成绩,并找出两门课都低于平均分的学生信息,按1课程成绩从高到低排序。

6、已知一个无符号的整数占4个字节内存,现欲从低位存储地址开始,将其每个字节作为单独的一个ASCII码字符输出,使用共用体实现上述转换

三、实验源码及测试数据

 

四、调试运行结果

五、实验心得体会

实验8文件

一、实验目的

1.掌握文件以及缓冲文件系统、文件指针的概念;

2.学会使用文件打开、关闭、读、写等文件操作函数。

3.学会用缓冲文件系统对文件进行简单的操作。

二、实验内容

编程序并上机调试运行:

1、编程序求100以内的素数,分别将它输出到显示器和x.txt文件中,要求每行5个数。

2、有5个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学号、姓名、3门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件stud中。

设5名学生的学号、姓名和3门课成绩如下:

99101Wang89,98,67.5

99103Li60,80,90

99106Fun75.5,91.5,99

99110Ling100,50,62.5

99113Yuan58,68,7l

在向文件stud写入数据后,应检查验证stud文件中的内容是否正确。

3、将上题stud文件中的学生数据,按平均分进行排序(由高到低)处理,将已排序的学生数据存入一个新文件stu_sort中.

在向文件stu_sort写入数据后,应检查验证stu_sort文件中的内容是否正确。

4、对上题已排序的学生成绩文件进行插入处理,插入一个学生的3门课成绩。

程序先计算新插入学生的平均成绩,然后将它按成绩高低顺序插入,插入后建立一个新文件。

(BX12.7)

要插入的学生数据为:

99108Xin90,95,60

在向新文件stu_new写入数据后,应检查验证stu_new文件中的内容是否正确。

三、实验代码及测试数据

 

四、调试运行结果

五、实验心得体会

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2