Linux环境下C程序入门:从编写到运行Hello World

需积分: 35 1 下载量 201 浏览量 更新于2024-09-13 收藏 78KB DOC 举报
"运行一个简单Linux C程序" 在这个实验中,我们将学习如何在Linux操作系统上编写、编译、连接和运行C语言程序。这个过程涵盖了Linux的基础操作、命令行使用以及C程序的生命周期。首先,实验的目标是让学生熟悉Linux操作系统的基本操作,包括目录管理、文件操作、文本编辑和系统管理命令。同时,它还要求掌握简单的Shell脚本编写,以及使用vi编辑器和gcc编译器。 实验设备主要包括一台PC机,运行着VMware Workstation上的Red Hat Linux软件。实验内容包括编写显示"Hello, world!"的C程序、实践Linux命令、编写Shell脚本、使用环境变量、理解和应用if-then语句、使用vi编辑器、计算三角形面积的程序以及解决一元二次方程的根的程序。 实验步骤如下: 1. 创建并运行"Hello, world!"程序: - 使用vi编辑器打开文件`hello.c`,编写程序代码,通常包含`#include <stdio.h>`和`int main() { printf("Hello, world!\n"); return 0; }`。 - 在vi中保存并退出。 - 使用gcc编译器,输入`gcc hello.c -o hello`,生成可执行文件`hello`。 - 运行程序,输入`./hello`,屏幕上会显示"Hello, world!"。 2. Linux命令上机实验: - `uname`系列命令用于查看系统信息。 - `whoami`显示当前用户名,`who -a`列出所有在线用户。 - `pwd`显示当前工作目录。 - 创建指定的目录结构,可以使用`mkdir`命令。 - `cd`命令用于切换目录,`cd ..`返回上一级目录。 - `ls`系列命令用于列出目录内容,如`ls -l`显示详细信息,`ls -d *`列出目录。 - 文件复制,使用`cp hello.c temp/`,如果目标文件已存在,可以添加`-i`选项提示是否覆盖。 此外,实验还涉及到了Shell脚本,例如创建一个输出"Hello, world!"的脚本,并使用系统环境变量`HOME`将当前目录下的文件复制到用户家目录。学生还将学习如何编写程序来解决数学问题,例如计算三角形面积和求解一元二次方程的根,这涉及到更复杂的C编程技术。 这个实验旨在提供一个全面的Linux环境下的C编程和系统操作实践,使学生能够熟练掌握Linux操作系统和C语言编程基础。通过这些实践,学生不仅能提升对Linux命令行工具的掌握,还能深化对C语言和程序执行的理解。
2020-04-19 上传
1. 在linux下编写一个应用程序,命名为an_ch2_1b。这个程序不断地输出如下行:Those output come from child,[系统时间] 另外写一个应用程序,命名为an_ch2_1a。这个程序创建一个子进程,执行an_ch2_1b。这个程序不断地输出如下行: Those output come from child,[系统时间] 观察程序运行的结果,并对你看到的现象进行解释。 2. 在linux环境下编写一个控制台应用程序,程序中有一个共享的整型变量shared_var,初始值为0;创建一个线程并使其立即与主线程并发执行。新创建的线程与主线程 均不断地循环,并输出shared_var 的值。主线程在循环中不断地对shared_var 进行加1操作,即每次循环shared_var 被加1;而新创建的线程则不断地对shared_var 进行减1 操作,即每次循环shared_var 被减1。观察程序运行的结果,并对你看到的现象进行解释。 理发师问题的描述:一个理发店接待室有n张椅子,工作室有1张椅子;没有顾客时,理发师睡觉;第一个顾客来到时,必须将理发师唤醒;顾客来时如果还有空座的话,他就坐在一个座位上等待;如果顾客来时没有空座位了,他就离开,不理发了;当理发师处理完所有顾客,而又没有新顾客来时,他又开始睡觉。 1. 实现一个“difftree”命令,其功能是比较两个目录下的文件结构和文件信息。当在命令行方式下执行“difftree ”命令时,能够比较目录dir1和 目录dir2是否具有相同的结构,对相同的部分,进一步比较相同文件名的文件内容。列出比较的文件系统结构图。