两个变量实现查找坏环c语言,实验一C语言环境的使用(2次上机)-不再因为别人过得好而焦虑.doc...

实验一C语言环境的使用(2次上机)-不再因为别人过得好而焦虑

实验一 C语言环境的使用(2次上机)

【上机时间】

第1~2次

【实验目的】

熟悉掌握本门课程所使用的程序设计语言(C语言),体会算法与程序之间的区别:

熟悉VC等编程环境,学会单步跟踪、调试自己的程序;

了解project的创建、使用以及意义;

熟练定义含指向结构体自身的指针域的结构体类型,掌握此类变量、指针变量的初始化、赋值、输入/输出、参数传递;

熟练使用C中的动态分配与释放函数(malloc, realloc, free);

熟悉带参数的main函数的编写与运行;

类C的引用参数在C中的变换处理;

利用输入导向,从文件中获取输入数据。

【实验要求】

下载Gzip的相关资源,用VC为Gzip建立project,编译并运行Gzip;给出3种以上的命令行输入,单步跟踪Gzip对命令行参数的处理;学习带参的main的使用与编程。消化理解一些标识符和文件操作。目的:开展程序理解的第一阶段。

阅读约瑟夫环,理解约瑟夫环的定义。编写一个程序,该程序根据输入的命令行参数创建一个单循环链表表示的约瑟夫环,然后输出约瑟夫环出列的顺序。命令行格式: 〈可执行程序名〉〈人数n〉〈初始的报数上限m〉〈密码1〉 …… 〈密码n〉·第1个参数是你所编写的程序的可执行文件名,·第2个参数是指定形成约瑟夫环的人数n·第3个参数是指定初始的报数上限m·后面n个参数是n个人所持有的整数密码。当除可执行程序名外,没有参数时,将继续执行程序并提示用户输入这些参数。基本要求:1)假设命令行参数是齐全的且是正确的,运行所编写的程序能正确地输出结果;2)能将输出结果导到文件中。实验提示:该实验的处理可分以下几个模块:1)命令行参数的处理;2)单循环链表的创建;3)根据m和起始报数人对应在单循环链表中的位置,确定出列人的位置;4)删除出列人对应的结点。选作要求:1)程序有对命令行参数不全或不正确的处理(如提示输入、报错等);2)将约瑟夫环用顺序表实现。

撰写实验报告。

【检查期限】

上机内容检查时间:第2次和第3次上机时,以第3次上机为截止时间;

报告上交截止时间:第2次上机后的第一次课的上课前截止。

约瑟夫环问题的具体描述是:设有编号为1,2,……,n的n(n>0)个人围成一个圈,从第1个人开始报数,报到m时停止报数,报m 的人出圈,再从他的下一个人起重新报数,报到m时停止报数,报m的出圈,……,如此下去,直到所有人全部出圈为止。当任意给定n和m后,设计算法求n个人出圈的次序。

附录 Makefile 、GCC、pkg-config 使用说明

GCC的使用

pkg-config的作用

Makefile的作用

此教程还不够完整,很多地方比较简陋,打算以后再不断完整它,现在来说用这个教程的内容已经能够开发程序了。

1.GCC的使用

通常所说的GCC是GUN Compiler Collection的简称,除了编译程序之外,它还含其他相关工具,所以它能把易于人类使用的高级语言编写的源代码构建成计算机能够直接执行的二进制代码。GCC是Linux平台下最常用的编译程序,它是Linux平台编译器的事实标准。同时,在Linux平台下的嵌入式开发领域,GCC也是用得最普遍的一种编译器。GCC之所以被广泛采用,是因为它能支持各种不同的目标体系结构。例如,它既支持基于宿主的开发(简单讲就是要为某平台编译程序,就在该平台上编译),也支持交叉编译(即在A平台上编译的程序是供平台B使用的)。目前,GCC支持的体系结构有四十余种,常见的有X86系列、Arm、 PowerPC等。同时,GCC还能运行在不同的操作系统上,如Linux、Solaris、Windows等。

除了上面讲的之外,GCC除了支持C语言外,还支持多种其他语言,例如C++、Ada、Java、Objective-C、FORTRAN、Pascal等。

程序的编译过程

对于GUN编译器来说,程序的编译要经历预处理、编译、汇编、连接四个阶段。

从功能上分,预处理、编译、汇编是三个不同的阶段,但GCC的实际操作上,它可以把这三个步骤合并为一个步骤来执行。

在预处理阶段,输入的是C语言的源文件,通常为*.c。它们通常带有.h之类头文件的包含文件。这个阶段主要处理源文件中的#ifdef、 #include和#define命令。该阶段会生成一个中间文件*.i,但实际工作中通常不用专门生成这种文件,因为基本上用不到;若非要生成这种文件不可,可以利用下面的示例命令:

gcc -E main.c -o main.i

在编译阶段,输入的是中间文件*.i,编译后生成汇编语言文件*.s 。这个阶段对应的GCC命令如下所示:

gcc -S main.i -o

你可能感兴趣的:(两个变量实现查找坏环c语言)