第一篇:实验三_LINUX的C语言编程
实验三 LINUX的C语言编程
要求:
1、请查阅资料,掌握vi编辑器的基本使用,包括两种不同模式的区别,如何在两种模式之间切换,以及常用的编辑命令等;
2、使用vi编写一个c程序,要求该程序通过命令行接收用户的输入,其输入参数为FreeBSD系统中的任意文本文件,接收输入后,c程序读取该文件内容,并打印在屏幕上。编辑好后,存为.c文件(如a.c),使用gcc编译该文件,运行结果文件。
3、详细记录学习的内容和实验的整个过程,包括用到的vi命令,c程序源代码,gcc命令,以及执行结果文件的命令等;
4、对整个实验过程进行分析总结,给出详细步骤;
一:vi编辑器的使用
vi 的两种命令模式;
Command(命令)模式,用于输入命令; Insert(插入)模式,用于插入文本;
Visual(可视)模式,用于视化的的高亮并选定正文;
Command 模式是vi或vim的默认模式,如果我们处于其它命令模式时,要通过ESC键切换过来。
当我们按ESC键后,接着再输入:号时,vi会在屏幕的最下方等待我们输入命令; 文件的保存和退出 :w 保存;
:w filename 另存为filename; :wq!保存退出;
:wq!filename 注:以filename为文件名保存后退出; :q!不保存退出;
:x 应该是保存并退出,功能和:wq!相同 光标移动
j 向下移动一行; k 向上移动一行; h 向左移动一个字符; l 向右移动一个字符;
插入模式(文本的插入)i 在光标之前插入; a 在光标之后插入;
I 在光标所在行的行首插入; A 在光标所在行的行末插入;
o 在光标所在的行的上面插入一行; O 在光标所在的行的下面插入一行;
s 删除光标后的一个字符,然后进入插入模式; S 删除光标所在的行,然后进入插入模式; 文本内容的删除操作 x 一个字符;
#x 删除几个字符,#表示数字,比如3x; dw 删除一个单词;
#dw 删除几个单词,#用数字表示,比如3dw表示删除三个单词; dd 删除一行;
#dd 删除多个行,#代表数字,比如3dd 表示删除光标行及光标的下两行; 恢复修改及恢复删除操作; u 撤消修改或删除操作;
查找
/SEARCH 注:正向查找,按n键把光标移动到下一个符合条件的地方; ?SEARCH 注:反向查找,按shift+n 键,把光标移动到下一个符合条件的 替换
:s /SEARCH/REPLACE/g 注:把当前光标所处的行中的SEARCH单词,替换成REPLACE,并把所有SEARCH高亮显示;
:%s /SEARCH/REPLACE 注:把文档中所有SEARCH替换成REPLACE;
:#,# s /SEARCH/REPLACE/g 注:#号表示数字,表示从多少行到多少行,把SEARCH替换成REPLACE;
二:编写程序和编译程序
先在home文件夹下建立test文件夹,用于自己的程序开发。
根据题目要求编写相应程序:
编写完程序后保存。
使用gcc命令编译时发现如下问题:
后来上网查找后发现FreeBSD默认不再使用GCC构建,使用Clang/LIVM替代GCC作为默认的C/C++编译器。
于是使用clang命令进行编译如下:
得到输出文件后,再新建一个test.txt文件用于测试。然后执行可执行文件:./a.out
由上可以看出,在执行编译命令后我并没有指定输出文件的类型和名称,a.out为默认输出的名称和类型,可以使用clang a.c –o test来生成不同类型和名称的输出文件。另外看到提示是输入文件的路径,如果是当前文件下的文件,则可以只输入文件的相对路径,如果在别的文件夹下则需要输入文件的绝对路径。如使用#cp /home/test/test.txt /home/test2.txt复制一个文件到别的目录后读取。测试如下:
三:程序源代码
#include
char path[20];//文件路径字符串
char msg[100];//读入数据缓存区
printf(“please enter the path of your filern”);//输出提示
scanf(“%s”,path);//获取文件路径
file = fopen(path);//打开文件
while(fgets(msg,sizeof(masg)-1,file)!=NULL)//逐行读取文件 直到文件末 { printf(“%s”,msg);//输出读取到的文件内容 } fclose(file);//关闭文件 return 0;//返回 } 四:实验总结和分析
本次实验首次使用vi编辑器编写了一段代码,并成功的编译并运行。首先说一下vi编辑器的使用感受,和window不太一样,它有不同的模式,只有在特定的模式下才能执行相应的命令或者操作。而且我发现了另一个很好用的ee编辑器,使用这个编辑器可以很方便的进行文件的操作,主要是它有很丰富的提示。但是为什么vi编辑器是大家常谈的呢?主要是vi编辑器体积小巧,功能强大,虽然在大的系统工程方面不太好用,但是正常的使用来说还是足够的,几乎所有的类似操作系统都会装有这一编辑器,学会vi编辑器的使用可以使自己在没有别的编辑器的情况下还能进行文件的编辑和系统的配置。这样对于日后的开发有很大的好处。另外在发现FreeBSD中没有安装gcc时,我尝试过给器安装一个gcc编辑器,但是却失败了,截图如下(图1),希望通过后面的学习安装上去。
图1:安装gcc编译器失败
另外我又进行了多文件结构的和多控制台的测试。就是通过多个控制台分别编写多个文件,最后统编译链接成一个可执行文件,这样可以大致模仿出ADE的编辑环境,进行多个文件的编写。
第二篇:实验三GUI编程
实验三GUI编程
一、实验目的:
1、了解Java系统图形用户界面的基本工作原理和界面设计的步骤
2、了解图形用户界面的事件响应机制.3、掌握图形用户界面各种常用的基本组件的使用方法及其事件响应.4、掌握图形用户界面各种布局策略的设计与使用.二、实验时间:
三、实验地点:
四、实验内容与步骤:
(1)创建一用户登录界面,接受用户输入的帐号和密码,给三次输入机会。
(2)编写成人身高和体重检查程序。
要求:身高和体重在两个不同的文本框中输入,性别在单选钮中选择。
按确定后显示标准体重和身材比例评价。附:
国际上常用的人的体重计算公式,以及身材比例计算(比较适合东方人)标准体重=(身高cm-100)x0.9(kg)
标准体重(女)=(身高cm-100)x0.9(kg)-2.5(kg)
正常体重:标准体重+-(多少)10%.
超重:大于标准体重10%小于标准体重20%.
轻度肥胖:大于标准体重20%小于标准体重30%.
中度肥胖:大于标准体重30%小于标准体重50%.
重度肥胖:大于标准体重50%以上
(3)实现一个模拟手机的图形用户界面,包括一个显示区和一个键盘区,显示区用来显示数字和信息,键盘区包括0~9,10个数字键和“发送”、“清零”、“关机”三个命令键。当用户按数字键时,相应的数字回显在显示区上;当用户按“清零”键时,显示区的数字清空;当用户按“发送”键时,显示区中出现当前的号码和“拨号中......”的信息;当用户按关机键时“正在关机......”。
第(1)用Application编程,(2)(3)用Applet编程。
五、实验结果分析:
第三篇:实验三 单片机串行口编程(最终版)
仲恺农业工程学院实验报告纸
信息学院(院、系)专业班组单片机原理及接口技术课实验三单片机串行口编程
一、实验目的1、掌握单片机串行口的工作方式;
2、掌握单片机串行口的编程方法。
二、实验内容
1、学习单片机串行口的工作方式、初始化以及应用等;
2、利用单片机串行口编写程序在超级终端输出输入相应信息并根据输入的信息驱动开发板上的蜂鸣器按一定规律工作。
三、实验设备
1、STC单片机开发板;
2、PC机以及串口线。
四、实验步骤
参考实验指导书。
五、实验总结
第四篇:实验三 Struts2框架编程-实验报告纸
南京信息工程大学 实验(实习)报告
实验(实习)名称 Struts2框架编程 实验(实习)日期 得分 指导教师 院 计软 专业 计科 年级 2013级 班次 3 姓名 张文娇 学号 20131308081
1.实验目的:
1)掌握Struts2框架和工作流程。2)熟悉Struts标签库的使用。
3)掌握Struts 2拦截器的原理,并能进行相关设置和编程。4)了解和掌握文件上传等功能实现
2.实验内容:
1)采用Struts2框架,创建三个JSP页面(hello.jsp、welcome.jsp)和一个Action实现类(StrutsAction),并对web.xml和Struts.xml进行必要配置,实现用户登录功能的处理。(参考教材3.1节)
2)采用Struts2相关技术,实现“学生综合管理系统”的“添加学生信息”功能(具体需求详见教材3.7所述)
3.实验步骤
{对每个实验题目进行简要步骤描述,包括源码和实验结果截图} 1)
1.启动MyEclips 8.5 2.创建web project项目命名为FirstStruts2 3.添加支持包 4.配置web.xml
5.在工程中创建LoginAction.jsp import dao.CustomerDAO;public class LoginAction {
private String name;private String password;/**在此方法里实现业务逻辑处理*/ public String execute()throws Exception {
CustomerDAO dao=new CustomerDAO();boolean boo=dao.check(name, password);if(boo)return “success”;
} else return “error”;public String getName(){ return name;} public void setName(String name){ this.name = name;} public String getPassword(){ return password;} public void setPassword(String password){this.password = password;} } 6.配置struts.xml文件
第五篇:实验二语言与C语言混合编程
实验二汇编语言与C语言混合编程
一、教学目的和要求
熟悉ADS1.2开发环境编译、下载、调试程序的基本过程; 掌握C和汇编语言混合编程方法。
掌握ATPCS中的寄存器及参数传递规则。
二、实验内容
1、分别编写C程序和汇编程序,要求在C程序中调用汇编程序实现字符串拷贝功能。C程序中设定源字符串及目的字符串;汇编程序实现拷贝功能。
2、分别编写C程序和汇编程序,要求在汇编程序中调用C程序实现4个整型数的求和运算。汇编程序实现变量的赋值及C函数的调用;C程序实现求和运算。
3、编写C程序内嵌汇编语句,对两个整型数a、b进行求和运算,和值存放到变量c中。
(1)要求main()函数完成变量赋值及a、b、c数值信息输出;内嵌汇编语句实现求和计算。
(2)要求C程序中main()函数完成变量赋值及a、b、c信息打印,add()函数实现加法
运算;main()函数中的内嵌汇编调用C函数add()进行求和运算。
三、思考题
1、什么是ATPCS?它有哪些规则?
2、C程序调用汇编程序需要进行哪些设置?参数如何传递?
3、汇编程序调用C程序需要进行哪些设置?参数如何传递?
4、C程序中内嵌的汇编语句有何限制?用什么关键字表示内嵌汇编?