《计算机基础与程序设计》实验一报告---20221320冯泰瑞

北京电子科技学院(BESTI)
实 验 报 告
课程:计算机基础与程序设计 班级:2213 姓名:冯泰瑞 学号:20221320
成绩: 指导教师:娄嘉鹏 实验日期:2022.9.29
实验密级:不 填 预习程度:部分预习
实验时间:56节 仪器组次:无 必修/选修:必修
实验序号:实验一
实验名称: Linux基础命令实践     
实验目的与要求: 通过熟悉操作系统基本命令,学会操作系统的使用。

实验仪器:
名称 型号 数量
计算机 Great Wall(长城) 1

实验内容、步骤与体会(附纸):

1.实验内容
基于云平台或者在本地创建虚拟机,并熟悉操作系统基本命令。
完成下面的任务:
(1)基于云平台或者在本地创建虚拟机;
(2)熟悉操作系统基本命令;
(3)熟悉C语言编译调试命令。
2.实验步骤
2.1步骤1(熟悉文件操作命令)
2.1.1操作内容
文件操作命令:cd,ls,mkdir,rm,mv,cp
cd---改变当前目录
ls---显示目录内容
mkdir---创建目录
echo---打印字符串和变量值
rmdir---删除空目录
pwd---查看当前工作目录
gcc--GNU C Compiler即GNU操作系统下的C语言编辑器,但经过近几年的发展,gcc不再是单纯是GNU C 语言的编译器的意思了,现在应该叫做GNU Compiler Collection 即GNU编译器家族。
gdb---是Linux下常用的程序调试工具,当然前提是用gcc编译时加上-g参数,这样编译出来的可执行程序会加上gdb调试信息。
apt---命令行软件包管理器apt提供软件包搜索,管理和信息查询等功能。
clear---清除当前屏幕上的信息。
2.1.2操作结果









2.2步骤2(熟悉Linux命令-2-gcc)
2.2.1操作内容
学会用gcc编译自己书写的打印自己学号的代码。
首先输入vim terryfeng.c使用vim编辑器打开文件
在文件中输入你想要的程序(在这里就是打印自己名字的程序)
按esc键后输入:wq保存并退出文件
输入gcc -g terryfeng.c编译写的程序
输入gdb a.out调试程序,输入l显示程序,输入r运行程序
2.2.2操作结果

2.3步骤3(熟悉Linux命令-3-gdb)
2.3.1操作内容
输入vim terryfeng.c使用vim编辑器打开文件
在文件中输入要求的程序
按esc键后输入:wq保存并退出文件
输入gcc -g terryfeng.c编译写的程序
输入gdb a.out调试程序
输入b main在main函数这一行设置断点
再输入r程序会运行到main函数这一行停下
输入step运行main函数下一行的代码i=5
输入print命令查看变量i的值
输入step命令进行函数调用
输入finish命令把函数执行完
输入tb 17在第十七行设置断点
输入c将循环运行完成,自动返回第十二行
输入delete命令清除所有断点
输入tbreak 9命令在第九行设置临时断点
输入r使程序运行到第九行停下来,但是程序中的断点现在用过一次就消失了
输入命令b 15 if i == 80 在第十五行设置一个条件断点
输入run,再输入print查看变量i的值
输入until命令跳出循环
输入delete删除断点
输入print i 来打印i的值
输入quit退出gdb
2.3.2操作结果




2.4程序1
2.4.1程序功能
在用i变量循环时实现对j变量关于5的累加,并输出过程中j的所有累加值
2.4.2设计思路
首先定义一个叫display的函数,之后运用。使用for循环对i变量进行累加,
当i每增加1时,j就增加5,使得最后输出的j都是关于5 的累加结果,最后输出过程中所有的j
2.4.3流程图或其他描述(不要求可以不写)
暂无要求
2.4.4程序代码

include <stdio.h>

void display(int i) {
    printf("%d \n", i);
}

int main(int argc,char *argv[]) {
    int i, j;
    i = 10;
    j = 0;
    for(i=0; i<1000; i++) {
        j+=5;
        display(j);
    }
}
2.3.5 运行结果
5 10 15 20 25 ...... 5000
2.3.6 说明
该程序是用来gdb调试的,不是用来看其总的运行结果,而是用来看其在每一步的运行结果,特此说明。
3.实验体会
3.1 调试中出现的问题及解决过程
编写代码进行调试时发现有一些命令如exit在ubuntu里可以使用,但是在mobaXterm里就不行,究其原因还是单词缩写的问题,这些都挺好解决的。调试过程是完全按照老师的教程来的,没有太大的问题,只是在输入命令时发现很多命令自己都没有安装,安装过程有些坎坷,认不到的英文单词得一个一个去查。可能实验时只叫学习10个指令,目前没有太大问题,等以后学习其他指令时问题会慢慢暴露吧。

3.2 心得体会
学习方法的体会:
一定要多元结合,从多方获取学习资料,才不会陷入信息缺失的境地,学问结合,多多实践,实践中发现问题,分析问题,解决问题。得知方案后快速落实,不至于不必要的遗忘。
经验:
接触到一个完全陌生的东西时,不要只是在靠自己解决问题,必要的时候寻求帮助也是必要的,从网上和同学,老师那里询问的结果也许有对有错,但是都是对自己思维的一种启发。在得到多种说法的答案时要进行自我甄别,而不是盲目的去试,经过自己思考的行为往往会给自己节约很多时间。
教训:
看新材料时一定要有耐心不能因为材料内容庞杂而草草阅览材料,最终只会是什么也吸收不到,根据材料的内容操作时也要一五一十的来做,但并不等于照搬,其实完全可以在正确理解材料的基础上进行自己理解的操作。同学,老师帮你操作的东西之后一定要弄懂,不能不了了之,虽然交了作业,但是自己没有能力上的提升。

3.3 实验改进建议
下次进行实验时可以把实验材料早点发出来,供同学们预习,以防同学们在做实验时刚刚拿到材料一脸懵逼,不知如何是好

posted @ 2022-10-15 23:14  20221320冯泰瑞  阅读(82)  评论(0编辑  收藏  举报