电子科技大学 C语言第一次上机实验报告

2024-11-02

电子科技大学 C语言第一次上机实验报告(精选7篇)

1.电子科技大学 C语言第一次上机实验报告 篇一

实验报告

课程名称 _____C语言程序设计____ 实验项目 _实验一 顺序结构程序设计___ 实验仪器 ______ ___________

系别_____光电学院_______ 专业______电信__________ 班级/学号 学生姓名 ______***_________实验日期 ____2011年10月17日___ 成绩 _______________________指导教师

一、实验目的1、掌握C语言中,基本的输入输出函数的使用方法。

2、掌握printf中转义字符’t’,’n’的用法。

3、掌握赋值语句的用法。

4、掌握算术表达式、赋值表达式的计算。

5、掌握数学函数的使用。

二、实验内容

1、输入圆的半径 r,计算圆的周长和面积。其中 π =3.1416程序代码:

……

执行结果:

[输入] ……

[输出] ……

2、3、……

三、实验体会

……(实验中遇到的问题及解决办法以及一些心得都可以写)

2.C 语言上机总结报告 篇二

上机实验报告

经过了九周的上机练习,我们算是完成了阶段性的胜利,从书本上枯燥的知识,通过上机练习把他们学以致用,融会贯通;不得不说,上机对于大一不允许带电脑,算得上是对c语言巩固和提高的重要途径了,很多我们不懂得问题,通过敲一下代码就知道可不可以这样了。还有很多格式,看不懂的代码,也都能解决。另外,重要的是通过上机我也拾得了编程的乐趣,链接好的程序就像是我的Baby,一节课生好几个。这是一种莫大的成就感。原来我还可以这样。如果仅是书本上的知识,我很难保证能坚持看下去,因为要把抽象的东西阐述出来,很多时候都是很枯燥的。所以上机便是这样一个辅助的途径。下面是我这九周所积累的一些问题和经验。

1.首先就是书写的问题。到现在我还时不时忘了加分号。这么一个细微的问题有时候会报很多错。其中易犯的便是scanf中&的使用,以及&&逻辑运算符和位运算符不分,==错写=,自定义函数,声明时不加分号,do,while语句while后忘加分号,以及数组不从a[0]开始写,for循环中控制条件用<还是<=,于是就会溢出。

2.printf里格式的问题,想要在数前补0整数可以靠.num而浮点数需要前加0,对于输出无符号16进制数%x,八进制数%o和十进制%u,总是记不住,还有一个比较特别的是可以用*占位,然后在后面的参数中说明精度和宽度,用#让浮点数始终有小数,字符串的5.4s只显示4位。另一个我发现无关紧要的是printf中lf和f没什么区别,scanf却不一样。

3.scanf的另一个问题是当出现空格是,读取的字符串就不完整了,在百度后,我找到了更好的gets函数,便可以读取空格,还有scanf的一一对应特性,不过空格不算。

4.++i和i++的使用问题。很多时候并不在意这些,便会导致数据的溢出,和结果总是偏差1,所以在使用时先得想好用哪个,如int k;

while(k--)

;printf(“%d”,k)结果是-1,因为在while判断过程中还要减1。

5.Define 一个表达式时不爱每一层都加括号。导致运算时优先级使运算和目的不符。我记不下那么多的运算符的优先级,所以我解决的方法便是每个运算都加上括号。

6.总是按照自己的思维做事,像是想把一个数组复制给另一个数组就直接用=赋值了,事实证明并不可行,而是需要用for循环一个一个赋值,而字符串则用strcpy,但结构体却可以直接赋值。

7.条件语句if,while,for等加括号和在哪加括号的的问题,常常因为内容少所以不加括号经常导致错误,尤其在嵌套语句和连续多个条件语句时,总是会出错,所以以后我学会了每句话都加上大括号。并且尽量使格式工整。

8.忘记添加头文件。或者忘了头文件的名字,像是stdlib,malloc…… 这样函数就变得没有了意义。这个得靠记忆和多练。

9.函数要求的实参的格式忘记了,这时候总是会报格式不符,比如malloc.calloc.recalloc,对参数的要求的区别,qsort函数里,compare函数指针参数,compare的实际参数需要强制转换。

10.Switch用法,switch只能用于char和int,且不用break就会一直执行下去,我就会忘掉这个,还有给a加引号

11.数组的声明问题,数组是c语言里比较让人头大的问题了。其中,让我不能理解的便是为什么二维数组不能a[][]={},a[][N]={}而必须至少a[N][]={},这就让我栽过跟头,还有字符数组为什么加’’就变成字符串了,当然这都是要求,在声明时需要谨慎再谨慎。

12.指针的运用中,在参数调用和返回也时常出现格式不符,值传递改变不了实参,址传递有时候也改变不了比如返回局部变量的地址,这时就需要static静态变量延长存储时间,而extern在函数中仅是对之前的变量的声明,并不能在其中定义一个外部变量,static也只能定义一次,这类问题时常困扰着我,以为经常不知道错在哪里。另外还有一种方法也能改变指针的地址而改变实参指针的指向,那便是通过双重指针,**p 13.对于指针运用中另外很让人困惑的是二级指针的指向问题,而他们常常又和二维数组结合,例如a,&a[0],a[0],&a[0][0],a[0][0],他们乍一看都分别不出来,需要仔细的考虑,实际上a=&a[0],&*(a[0]+0)=a[0]=&a[0][0],实际上他们都是逐级递增的,例如对*(a[0]+i)就是对确定一行的列的选择,*(a+i)则是对行数的选择,常常用指针指向这一行,然后进行操作,然而经常&a,&a[0]和&a[0][0]却是相同的地址,但他们的跨度却不一样,这样常常在实验的过程中就是对数组格式的写错导致根本不知道哪出的错,也无从修改。所以还是得多理解透彻他们的含义,否则只会在写代码时犯懵。

14.指针运用的另一个问题就是,指针并不具有空间,需要进行空间的开辟,这类问题也常常出现在想要声明一个未知大小的数组,这时候就需要用malloc来开辟了,而malloc还不能放置在main函数体外,经常在scanf后放置。

15.在上机过程中我曾不理解为什么char*p=”ashjkhasljk”可以成功,而已定义的数组a,就不能a=“adfadsad”;char*p,p=”dasaf”可以,但是用scanf输入”dasaf”就不对,查阅资料我才得知,“”表达式的值就是一个地址,p=””,开辟了空间。而scanf直接把址给指针,并没有申请空间。其次程序把字符串放到了常量区,所以不容修改其值,这里的p[0]也不得修改,p开辟了一段常量空间把字符串放进去,其值也不得修改,但可以改变P的指向,所以相当于const char*p 16.关于函数,要记住函数不能嵌套定义,但可以调用。这也是我犯过的错误。

17.结构体的声明和联合还有枚举的声明经常搞混,查书才知道有两种方法来声明结构类型名,一种结构标记,一种typedef,第一种直接可以在其后写变量,另一种需要再换行再声明。还有其后}要加分号会忘,主要是还是对结构名和变量搞不清楚,比如struct student new在实验中出现引用其中的元素不知道是是应该student.new.还是new.除此,不明白Union为什么经常没有标记,直接就是变量。最后便是结构数组的初始化总是掌握的不好,可能因为用的少。

由于没有保留上机报告的原稿,所以以上是我暂时能回忆起来我所遇到的问题和我的想法。

经历了9次的实验我的收获当然不仅仅是这些问题,重要的是编程的思维,不是一上来就立马开始打代码,而是构建一个清晰的流程图就如《上机实验报告》所写,然后逐步实现,有时候有多个函数时需要先写一个大的框架,然后再完善。

另外,还有程序的调试,如果都写在函数里,则,注释部分函数然后进行调试。或者单步调试部分代码,观察值的变化。

3.电子商务上机实验报告实验二 篇三

(三)实验思考

*

1、如何通过新闻组进行信息发布?

选择一个新闻组中,单击“新邮件”按钮,得到新邮件窗口,这时收件人是就是新闻组的名称,单击可输入主题,然后,书写正文。当新闻写好之后,单击“投递邮件”按钮,就自动将这篇新闻发送到新闻服务器的新闻组中

2、如果进行新闻发布为什么需要注册?

(1)发新闻邮件必须用已注册并设置成功的账号密码登录。

(2)注册信息中的电子邮件地址,Internet新闻服务器是发新闻邮件必需的。

3、一般电子邮件发布与新闻组发布结果有何异同?

通过电子邮件交换信息。

新闻组和邮件列表的几个重要区别是:

1.新闻组需要自己去查找:在电子邮件信箱中,因特网邮件列表会自动显现,但要阅读新闻组时,就需要先用新闻组阅读软件搜索它,然后再阅读。

2.新闻组被编辑过:新闻组阅读软件可以把信息组织为提纲要点的形式,因此阅读的只是编辑过的主题或要点,而邮件列表则是线性的,不论你是否需要,信息都是按发送时的顺序排列。

3.新闻组不需参加者正式登记:邮件列表需要参加者用确认电子邮件作为加入的标志,但要加入新闻组时,只需要一个新闻组阅读软件。

4.电子商务上机实验报告 篇四

专业班级:会计0805姓名:李雯学号:20081304230指导教师:王琼实验日期:2011.9-2011.11实验地点:院实验中心302机房

一、实验目的学习如何利用系统,模拟扮演上午机构和个人角色,在电子商务交易及电子商务相关的安全认证、网络支付等活动中进行仿真操作,充分体验电子商务能够给我们的商业活动和生活带来的商机、便利和乐趣,运用各种电子商务和信息化工具开展商务活动,熟悉电子商务交易等流程,了解电子商务相关内容的含义,从而更加直观的学习电子商务知识,对电子商务有感性的认识,从实践中学习理论,用理论指导实践。

二、实验平台

奥派电子商务教学模拟套件 http://192.168.2.5:8

1三、实验前期准备

我开设的公司名称是零食小铺,主营各种饼干、糖果、干果以及进口零食,采用网络销售方式,主要针对各在校学生等年轻的消费群体,对我校学生可提供免费送货上门服务。

(学生的公司名称、经营范围、经营方式、市场定位、基本产品结构)

四、实验内容

进入实验系统后应首先注册,我的用户名为liwen,公司名称为零食小铺,注册成功后登陆到个人控制台,填写企业的相关资料,在初始产品设置中进行初始产品的设置,填写产品编号、产品名称、产品简介。进入网上银行后分别以个人身份和企业身份注册银行账号,我的个人账号是5***6713,银行账号是5***6810,注册成功后登陆到网上银行,在个人账户中存入50000奥元,在企业账户中存入500000奥元。

完成所有前期准备工作后就可以开始正式交易了,进入B2B交易系统,以企业的身份作为采购方采购商品和作为销售商发布和出售商品。首先进行会员注册,成功后开始交易实验:

我首先是作为卖方身份发布商品,找到所要发布的商品类型后进行供应信息的发布,选择要发布的商品(芒果干)并进行定价操作以及终止日期设定。通过

信息通道与买方星星服饰达成价格一致后拟发合同发送给买方,交易

号:B2B2011117161249,收到买方确认的合同后,到物流中心发货,进入网上银行用企业账户支付运费,买方支付货款后,企业账号收到汇款150奥元,交易凭证号是B2B2011117161249完成交易。

再以买方身份在供应信息中找到所要购买的商品(黑色经典小西装),询价确认订购后向卖方发送询价信息,卖方同意后拟发交易合同,待买方支付货款200奥元到帐号5***6912后发货,买方凭交易号:B2B2011117161832到物流中心提货完成交易。

进入B2C交易系统,分别以个人消费者身份和商品发布商身份进行交易。作为个人消费者首先要进行个人用户注册,在“搜索物品”中找到所要购买的商品后去收银台付款并填写相关详细信息,然后在网上银行个人账户完成付款,交易号:B2C2011117162919交易完成后到物流中心提货。

再以商品发布商身份进行注册并支付注册费,交易号:fbs2011117162247,再从B2B中购买的商品中选择发布,填写商品简介和详细说明,最后提交商品发布信息。买方星星服饰订购并支付货款300奥元,交易号:B2C2011117162637。

最后是进行C2C的交易,分别作为卖方发布个人商品和作为买方参加竞价购买商品,我首先是以买方身份进行会员注册,完成后通过商品目录浏览商品信息,在定价竞买中选择所要的商品并购买,确认购买信息后进入网上银行的个人账户完成付款230奥元的操作,交易完成后商品可在个人控制台中的我的物品中查看。

再以卖方身份进入系统,在“卖东西”中选择要出售的商品,在定价竞买设定商品的起始价和交易结束时间,买方星星服饰订购并付款150奥元完成交易。(注册、初始信息设置、信用认证、网上银行存款、B2B、B2C、C2C。角色,和谁交易了什么,多少金额。需要流程介绍和实验数据支撑,流程参见讲义)

五、实验总结和体会

通过此次电子商务上机实验,我深刻认识到了电子商务的意义以及它给我们现代生活带来的便利和它区别于传统商务的优越性,熟悉了网上交易的完整流程和操作步骤,从中学会了要进行电子商务交易首先要对市场信息调研、商品应该如何定位以吸引更多的消费者,作为个人如何购买商品和作为企业如何发布商品信息、出售商品等,对电子商务的理论知识也有了初步的认识。

总体来说这次实验在老师的指导下还是进行得比较顺利,但是在操作的过程中也不免遇到了一些问题,比如在初始阶段企业的信息设置有问题会导致在B2B交易的时候无法在信息通道中获取买方发出的信息,不能完成交易,只有重新进行企业注册才可以;如果公司的邮政编码设置错误也会导致在B2C交易中不能出售商品;密码格式设置的不正确在B2B、B2C交易中可以顺利进行,但是在C2C中就会出现没有可出售的商品的情况而不能完成交易。这些问题提醒了我们在操作的过程中每一步都应该小心谨慎,并严格按照规范进行操作,实验模拟中应该如此,现实中更应该如此

(通过此次实验你学到什么,有什么问题还没有解决,对于课程教学和实验环节是否还有建议和意见)

要求:实验报告2000字以上,内容细致具体,真实反映出实验中的所思所感所行所获。

字体:除标题外正文宋体小四,23磅行距,字间距为标准。每一段段首空两格。

5.电子科技大学 C语言第一次上机实验报告 篇五

【实验内容】

在PC机虚拟机下的Linux系统中建立基于ARM 的嵌入式Linux 开发环境。

1.学会网口的配置 2.Minicom端口的使用

【预备知识】

1.了解ARM9处理器结构 2.了解Linux 系统结构

3.了解ARM开发板使用常识

【实验设备和工具】

硬件:PC机Pentium100以上,ARM嵌入式开发平台

软件:PC机Linux 操作系统+MINICOM+AMRLINUX开发环境

【实验原理】

1.交叉编译器在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译,这个编译过程就叫交叉编译。简单地说,就是在一个平台上生成另一个平台上的可执行代码。这里需要注意的是所谓平台,实际上包含两个概念:体系结构

(Architecture)、操作系统(OperatingSystem)。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。举例来说,我们常说的x86 Linux平台实际上是Intelx86体系结构和Linuxforx86操作系统的统称;而x86WinNT平台 实际上是Intelx86体系结构和Windows NTforx86操作系统的简称。交叉编译这个概念的出现和流行是和嵌入式系统的广泛发展同步的。我们常用的计算机软

件,都需要通过编译的方式,把使用高级计算机语言编写的代码(比如C代码)编译(compile)成计算机可以识别和执行的二进制代码。比如,我们在Windows平台上,可使用Visual C++ 开发环境,编写程序并编译成可执行程序。这种方式下,我们使用PC平台上的Windows工具开发针对Windows本身的可执行程序,这种编译过程称为nativecompilation,中文可理解

为本机编译。然而,在进行嵌入式系统的开发时,运行程序的目标平台通常具有有限的存储空间和运算能力,比如常见的ARM平台,其一般的静态存储空间大概是16到32MB,而CPU 的主频大概在100MHz到500MHz之间。这种情况下,在ARM平台上进行本机编译就不太可能了,这是因为一般的编译工具链(compilationtoolchain)需要很大的存储空间,并需要很强 的CPU运算能力。为了解决这个问题,交叉编译工具就应运而生了。通过交叉编译工具,我们就可以在CPU能力很强、存储空间足够的主机平台上(比如PC上)编译出针对其他平台的可执行程序。

要进行交叉编译,我们需要在主机平台上安装对应的交叉编译工具链(crosscompilation tool-chain),然后用这个交叉编译工具链编译我们的源代码,最终生成可在目标平台上运行的代码。常见的交叉编译例子如下:

1、在WindowsPC上,利用RVDS(ARM开发环境),使用armcc编译器,则可编译出针对ARMCPU的可执行代码。

2、在LinuxPC上,利用arm-linux-gcc编译器,可编译出针对LinuxARM平台的可执行代码。

3、在Windows PC上,利用cygwin环境,运行arm-elf-gcc编译器,可编译出针对ARMCPU的可执行代码。

2.NFS服务

NFS是Net FileSystem的简写,即网络文件系统.网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS.NFS允许一个系统在网络上与它人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系

统上的文件。

NFS至少有两个主要部分:一台服务器和一台(或者更多)客户机。客户机远程访问存放在服务器上的数据。为了正常工作,一些进程需要被配置并运行。

在本实验中就是将PC机作为服务器,而将ARM开发板作为客户机,这样ARM开发板就可以远程

访问存放在在PC机上的数据,这样可以缩短研发周期,更方便的调试程序。

【实验步骤】

1.双击桌面上VMWARE,打开Linux 虚拟机 2.点击启动虚拟机,启动虚拟机 3.以root身份登陆虚拟机,密码123456

4.其他步骤详见实验指导书

【实验结果和程序】

基于ARM 的嵌入式Linux开发环境建立完毕。

【思考题】

1.如何验证交叉编译器已安装成功? 答:在终端输入命令:cd/arm/rootfs/home/driver(文件夹里已有test_led.c文件)arm-linux-gcc–o test_ledtest_led.c

若有可执行文件test_led生成则表示交叉编译器已安装成功

2.如果我们需要变更根文件系统的目录,该如何设置使得ARM开发板可以成功挂载?答:修改/etc/exports 文件的内容,将/arm/rootfs*(rw,sync,no_root_squash)改为/XX/XXX

*(rw,sync,no_root_squash)(/XX/XXX为变更后点的文件目录)

3.怎么在u-boot命令行下修改ARM 开发板的IP?

答:输入setenvip=x.x.x.x:192.168.0.1:192.168.0.1:255.255.255.0:uestc:eth0:off

Saveenv

x,x,x,x为ARM开发板的新IP。

【实验结论】

6.C语言上机实训 篇六

一、程序填空

共1题(共计30分)第1题(30.0分)

题号:470 /*------------------------【程序填空】

--------------------------

功能:从两个数组中分别提取任意元素x[i],y[j],问|x[i]-y[j]| 的最小值是多少 ?

------------------------*/ #include #include

/***********SPACE***********/

#define min(x, y)

(【?】)

x

int min_distance(int x[], int y[], int m, int n){

int minimum = INT_MAX;

int index_x = 0, index_y = 0;

while(index_x < m && index_y < n)

/***********SPACE***********/

if(【?】)x[index_x] >= y[index_y]

{

minimum = min(minimum, x[index_x]-y[index_y]);

index_y++;

}

else

{

minimum = min(minimum, y[index_y]-x[index_x]);

/***********SPACE***********/

【?】index_x++;

}

return minimum;

}

#include void main(void){

int x[] = { 1, 3, 7, 11, 18};

int m

= sizeof(x)/sizeof(int);

int y[] = { 4, 5, 8, 13, 22};

int n

= sizeof(y)/sizeof(int);

int i, min_distance(int [], int [], int, int);

printf(“nCompute Minimum Distance Between Two Sorted Arrays”);

printf(“n====”);

printf(“nnGiven Array #1 :”);

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

printf(“%5d”, x[i]);

printf(“nnGiven Array #2 :”);

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

printf(“%5d”, y[i]);

printf(“nnMinimum Distance = %d”, min_distance(x, y, m, n));} 答案:

=======(答案1)======= xx?x:y

=======(答案2)======= x[index_x] >= y[index_y] =========或========= y[index_y]<=x[index_x]

=======(答案3)======= index_x++ =========或========= index_x=index_x+1 =========或========= ++index_x

二、程序改错

共1题(共计30分)第1题(30.0分)

题号:26 /*-----------------------

【程序改错】

-------------------------

功能:实现3行3列矩阵的转置,即行列互换。

-----------------------*/ #include fun(int a[3][3],int n){

int i,j,t;

for(i=0;i

for(j=0;j

/**********FOUND**********/

scanf(“%d”,&a[i][j]);

for(i=0;i

{

for(j=0;j

printf(“%4d”,a[i][j]);

printf(“n”);

}

for(i=0;i

/**********FOUND**********/

for(j=0;j

{

/**********FOUND**********/

a[i][j]=t;

a[i][j]=a[j][i];

/**********FOUND**********/

t=a[j][i];

}

for(i=0;i

{

for(j=0;j

printf(“%4d”,a[i][j]);

printf(“n”);

} } main(){

int b[3][3];

fun(b,3);} 答案:

=======(答案1)======= scanf(“%d”,&a[i][j]);=========或========= scanf(“%d”,(*(a+i)+j));

=======(答案2)======= for(j=0;jj;j++)=========或========= for(j=0;j<=i;j++)=========或========= for(j=0;i>=j;j++)=========或========= for(j=i+1;j

for(j=i;j=j;j++)=========或========= for(j=i+1;j<=n-1;j++)=========或========= for(j=i;j<=n-i;j++)

=======(答案3)======= t=a[i][j];

=======(答案4)======= a[j][i]=t;

三、程序设计

共1题(共计40分)第1题(40.0分)

题号:341 /*-----------------【程序设计】

-------------------

功能:删除所有值为y的元素。数组元素中的值和y的值由

主函数通过键盘输入。

-----------------*/

#include #include #include #define M 20 void wwjt();

void fun(int bb[],int *n,int y){

/**********Program**********/

int i,j;for(i=0;i<*n;)

{

if(bb[i]==y)

{for(j=i;j<*n;j++)

bb[j]=bb[j+1];

*n=*n-1;

}

else

i++;

}

/********** End **********/ } main(){

int aa[M],n,y,k;

printf(“nPlease enter n:”);scanf(“%d”,&n);

printf(“nEnter %d positive number:n”,n);

for(k=0;k

printf(“The original data is:n”);

for(k=0;k

printf(“nEnter a number to deletede:”);scanf(“%d”,&y);

fun(aa,&n,y);

printf(“The data after deleted %d:n”,y);

for(k=0;k

printf(“n”);

wwjt();}

void wwjt(){

FILE *IN,*OUT;

int n;

int i[10];

int o;

IN=fopen(“in.dat”,“r”);

if(IN==NULL)

{

printf(“Read FILE Error”);

}

OUT=fopen(“out.dat”,“w”);

if(OUT==NULL)

{

printf(“Write FILE Error”);

}

for(n=0;n<10;n++)

{

fscanf(IN,“%d”,&i[n]);

}

fun(i,&n,3);

for(o=0;o

{

fprintf(OUT,“%dn”,i[o]);

}

fclose(IN);

fclose(OUT);}

答案:----------------------int i,j;for(i=0;i<*n;)

{

if(bb[i]==y)

{for(j=i;j<*n;j++)

bb[j]=bb[j+1];

*n=*n-1;

}

else

i++;

}----------------------

试题1 所属语言:C语言 试卷方案:C语言上机实训 试卷总分:100分 共有题型:3种

一、程序填空

共1题(共计30分)第1题(30.0分)

题号:417 /*------------------------【程序填空】

--------------------------

功能:利用全局变量计算长方体的体积及三个面的面积。

------------------------*/ #include int s1,s2,s3;int vs(int a,int b,int c){

int v;

/***********SPACE***********/

v=【?】;

s1=a*b;

/***********SPACE***********/

s2=【?】;

s3=a*c;

return v;} main(){

int v,l,w,h;

printf(“ninput length,width and height:

/***********SPACE***********/

scanf(”%d%d%d“,【?】,&w,&h);

/***********SPACE***********/

v=【?】;

printf(”v=%d

s1=%d

s2=%d

s3=%dn“,v,s1,s2,s3);} 答案:

”);

=======(答案1)======= a*b*c =========或========= a * b * c

=======(答案2)======= b*c =========或========= b * c

=======(答案3)======= &l

=======(答案4)======= vs(l,w,h)=========或========= vs(l , w , h)

二、程序改错

共1题(共计30分)第1题(30.0分)

题号:392 /*-----------------------

【程序改错】

-------------------------

功能:统计出若干个学生的平均成绩,最低分以及得最低分的人数。例如:输入10名学生的成绩分别为92,87,68,56,92,84,67,75,92,66,则输出平均成绩为77.9,最低高分为56,得最

低分的人数为1人。

-----------------------*/

#include

float Min=0;int J=0;float fun(float array[],int n){

int i;float sum=0,ave;

Min=array[0];

for(i=0;i

{

if(Min>array [i])Min=array [i];

/**********FOUND**********/

sum=+array [i];

}

/**********FOUND**********/

ave=sumn;

for(i=0;i

/**********FOUND**********/

if(array [i]=Min)J++;

return(ave);}

main(){

float a[10],ave;

int i=0;

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

scanf(“%f”,&a[i]);

ave=fun(a,10);

printf(“ave=%fn”,ave);

printf(“min=%fn”,Min);

printf(“Total:%dn”,J);}

答案:

=======(答案1)======= sum+=array[i];=========或========= sum=sum+array [i];

=======(答案2)======= ave=sum/n;

=======(答案3)======= if(array [i]==Min)J++;

三、程序设计

共1题(共计40分)第1题(40.0分)

题号:390 /*-----------------【程序设计】

-------------------

功能:编写函数求1~100中奇数的平方和。

结果为166650.000000。

-----------------*/

#include void wwjt();

float sum(int n){

/**********Program**********/

/********** End **********/ } main(){

printf(“sum=%fn”,sum(100));

wwjt();}

void wwjt(){

FILE *IN,*OUT;

int i;

float o;

IN=fopen(“in.dat”,“r”);

if(IN==NULL)

{

printf(“Read FILE Error”);

}

OUT=fopen(“out.dat”,“w”);

if(OUT==NULL)

{

printf(“Write FILE Error”);

}

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

{

fscanf(IN,“%d”,&i);

o=sum(i);

fprintf(OUT,“%fn”,o);

}

fclose(IN);

fclose(OUT);}

答案:----------------------float s=0;int i;for(i=1;i<=n;i=i+2)

s=s+i*i;return(s);----------------------

试题3 所属语言:C语言 试卷方案:C语言上机实训 试卷总分:100分 共有题型:3种

一、程序填空

共1题(共计30分)第1题(30.0分)

题号:410 /*------------------------【程序填空】

--------------------------

功能:有n个整数,使其前面各数顺序向后移m个位置,最后m个数

变成最前面的m个数

------------------------*/ #include

/***********SPACE***********/

move(【?】)int n,m,array[20];{

int *p,array_end;

/***********SPACE***********/

array_end=*(【?】);

for(p=array+n-1;p>array;p--)

/***********SPACE***********/

*p=*(【?】);

*array=array_end;

m--;

if(m>0)move(array,n,m);} main(){

int number[20],n,m,i;

printf(“the total numbers is:”);

scanf(“%d”,&n);

printf(“back m:”);

scanf(“%d”,&m);

for(i=0;i

scanf(“%d,”,&number[i]);

scanf(“%d”,&number[n-1]);

/***********SPACE***********/

move(【?】);

for(i=0;i

printf(“%d,”,number[i]);

printf(“%d”,number[n-1]);}

答案:

=======(答案1)======= array,n,m

=======(答案2)======= array+n-1 =========或========= array + n-1

=======(答案3)======= p-1

=========或========= p-1

=======(答案4)======= number,n,m

二、程序改错

共1题(共计30分)第1题(30.0分)

题号:413 /*-----------------------

【程序改错】

-------------------------

功能:读取7个数(1-50)的整数值,每读取一个值,程序打印

出该值个数的*。

-----------------------*/

#include main(){

int i,a,n=1;

/**********FOUND**********/

while(n<7)

{

do

{

scanf(“%d”,&a);

}

/**********FOUND**********/

while(a<1&&a>50);

/**********FOUND**********/

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

printf(“*”);

printf(“n”);

n++;} } 答案:

=======(答案1)======= while(n<=7)

=========或========= while(n<8)

=======(答案2)======= while(a<1||a>50);=========或========= while(a>50||a<1);

=======(答案3)======= for(i=1;i<=a;i++)

三、程序设计

共1题(共计40分)第1题(40.0分)

题号:337 /*-----------------【程序设计】

-------------------

功能:将两个两位数的正整数a、b合并形成一个整数放在 c中。合并的方式是:将a数的十位和个位数依次放

在c数的百位和个位上,b数的十位和个位数依次放

在c数的十位和千位上。

例如:当a=45,b=12。调用该函数后,c=2415。

-----------------*/

#include void wwjt();

void fun(int a, int b, long *c)

{

/**********Program**********/

/********** End **********/ }

main()

{

int a,b;long c;

printf(“input a, b:”);

scanf(“%d%d”, &a, &b);

fun(a, b, &c);

printf(“The result is: %ldn”, c);

wwjt();

}

void wwjt()

{

FILE *rf, *wf;

int i, a,b;long c;

rf = fopen(“in.dat”, “r”);

wf = fopen(“out.dat”,“w”);

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

{

fscanf(rf, “%d,%d”, &a, &b);

fun(a, b, &c);

fprintf(wf, “a=%d,b=%d,c=%ldn”, a, b, c);

}

fclose(rf);

fclose(wf);

}

7.电子科技大学 C语言第一次上机实验报告 篇七

综合实验报告标题(可与实验名称不同)

一、实验目的和要求。

二、实验仪器设备。

三、实验设计及调试:

(一)实验内容。

(二)实验电路:画出与实验内容有关的简单实验电路。

(三)实验设计及调试步骤:

(1)对实验内容和实验电路进行分析,理出完成实验的设计思路。(2)列出程序设计所需的特殊标志位、堆栈sp、内部ram、工作寄存器等资源的分配列表,分配列表时注意考虑资源在程序执行过程可能会出现冲突的问题。

(3)画出程序设计流程图,包括主程序和各子程序流程图。

(4)根据(2)、(3)的内容写出实验程序。

(5)调试程序(可以使用模拟仿真器)。

a、根据程序确定调试目的,即调试时所需观察的内容结果。

b、根据各调试目的分别选择调试所需的方法,如单步、断点等命令,分别列出各调试方法中所需要关注记录的内容。

c、调试程序,按各种调试方法记录相应的内容。

d、分析调试记录的内容和结果,找出程序中可能出错的地方,然后修改程序,继续调试、记录、分析,直到调试成功。

(四)实验调试过程中所遇到的问题、解决问题的思路和解决的方法。

四、实验后的经验教训总结。

【上机实验内容报告格式】

一、《软件技术基础》上机实验内容

1.顺序表的建立、插入、删除。

2.带头结点的单链表的建立(用尾插法)、插入、删除。

二、提交到个人10m硬盘空间的内容及截止时间

1.分别建立二个文件夹,取名为顺序表和单链表。

2.在这二个文件夹中,分别存放上述二个实验的相关文件。每个文件夹中应有三个文件(.c文件、.obj文件和.exe文件)。三、实验报告要求及上交时间(用a4纸打印)

1.格式:

《计算机软件技术基础》上机实验报告

用户名se学号姓名学院

①实验名称:

②实验目的:

③算法描述(可用文字描述,也可用流程图):

④源代码:(.c的文件)

⑤用户屏幕(即程序运行时出现在机器上的画面):

2.对c文件的要求:

程序应具有以下特点:a可读性:有注释。

b交互性:有输入提示。

c结构化程序设计风格:分层缩进、隔行书写。四、实验报告内容

0.顺序表的插入。

1.顺序表的删除。

2.带头结点的单链表的插入。

3.带头结点的单链表的删除。

注意:1.每个人只需在实验报告中完成上述4个项目中的一个,具体安排为:将自己的序号对4求余,得到的数即为应完成的项目的序号。

例如:序号为85的同学,85%4=1,即在实验报告中应完成顺序表的删除。

2.实验报告中的源代码应是通过编译链接即可运行的。

3.提交到个人空间中的内容应是上机实验中的全部内容。

【电子商务实验报告标准模板】

实验项目名称:企业信息化

实验目的:了解企业信息化的一般过程。

掌握企业信息化中企业领导的管理工作。

掌握企业信息化中一般员工的工作。

实验情况及实验结果:1、上网查找一个企业信息化的成功案例,思考一下问题:

(1)该企业为何进行信息化的建设?

答:中国人民财产保险股份有限公司就是一个成功的信息化的企业.

九十年代,随着网络等信息技术的发展,公司的信息技术建设也迈上了新的台阶。由于公司机构众多,各地业务差异较大,信息系统建设多是各自为政,全盘的考虑与规划存在不足。于是于XX年,公司与ibm携手制定了中国人保信息技术发展五年规划,这是公司战略发展的重要组成部分。规划的制定结合了公司当时的经营、管理情况,并与总公司、分公司各层级管理、技术人员充分沟通、交流,吸收了他们很多的建议、想法,同时参考了国际上许多金融企业成功案例。

(2)该企业的信息化过程是怎样的?

答:信息技术五年规划制定以后,信息技术部便以此为参照,目标是建设全险种、大集中、共平台、宽网络、同标准的基本体系架构。

信息化整体思路:

1、数据模型标准化,应用平台统一化;

2、业务数据逐步集中存储,业务系统逐步集中处理;

3、分析产生的数据,为业务、管理和决策服务;

4、加强网络和信息安全建设,提供多渠道的客户访问服务。

(3)信息化给企业带来了什么效益?

答:回顾几年以来公司信息化建设历程,已基本建成全险种、大集中、共平台、宽网络、同标准的基本体系架构,并在数据的分析处理方面作了大量工作,成果斐然。信息化建设的思路是科学合理地制定战略发展规划,并建立了标准化体系,搭建了统一的应用平台,然后将数据和业务处理逐步集中,在此基础上,进行数据的分析处理,为公司业务经营和管理决策服务。与此同时,进行网络和信息安全建设,为信息化之路提供更好的条件和保障。指导思想的科学合理性与信息化建设者们的苦干实干相结合,公司的信息化建设结出了累累硕果,得到广泛好评。公司开发的“新一代综合业务处理系统”于XX年9月提名参加了chp(computer-worldhonorprogram,计算机世界荣誉组织)“计算机世界荣誉奖”的评选,此奖项评选由idg集团组织,全球上百家it公司总裁作为评委,是当今世界信息技术领域奖项之一,有“it奥斯卡”之称。XX年4月,该系统已经获得本年度“计算机世界荣誉奖”21世纪贡献大奖提名奖。这是今年全球一家保险企业获奖,也是继招商银行去年获奖后,我国第二家以及本年度一家在该奖项的“金融、保险及地产领域”获此殊荣的国内企业。

(4)结合我们学过的知识,发现mis、crm、mrp、mrpⅱ和erp等在企业信息化过程的应用。

上一篇:水口山处级干部名单下一篇:公务员奖惩情况