文档详情

C语言程序运用之企业要求与实践.ppt

发布:2017-02-15约9.09千字共40页下载文档
文本预览下载声明
C企业要求与实践 本课程学习内容 C语言基础 函数 指针、数组和字符串 结构、联合与枚举 字节对齐 链表 内存管理 本课程学习内容 预编译处理 企业笔试演练 库的创建和使用 项目实践 本章目标 1.1 main函数的参数和返回值 问题:这样错了吗? void main(void) int main(void) 以上两种main函数的写法相信大家都不陌生,很多人都是这样来写main函数的。 这样写错了吗?如果我指出你的main函数有问题,你一定会这样反问。大家可以讨论以下,讲讲对与错的理由。 上面的这两种main函数的写法没有错,但是这是不好的main函数写法。就好比不刷牙不会直接影响人的健康,但是会有口臭,而且时间长了可能会引发口腔问题。 为什么这样不好呢?因为这样程序就不可能带参数运行了。我们先来看看带参数的程序是怎么样的。 1.1 main函数的参数和返回值 main的参数 命令行界面的程序,通常都需要输入命令行参数帮助程序执行。假定有一个可执行程序名为test。那么运行该程序的不带参数的命令行如下: test 带命令行参数的运行方法: test –c TEST 其中 –c 和 TEST就是命令行参数。C程序可以将这些附加参数读出来,并为自己所用,比如作为程序运行的条件。 C程序通过使用main()的参数来读取这些附加参数。 下面就通过一个例子看看main函数的参数是如何使用的。下面的repeat.c给出一个读出main参数的例子。 1.1 main函数的参数和返回值 #include stdio.h #include stdlib.h int main(int argc, char *argv[]) { ??? int count; ??? printf(The command line has %d arguments:\n, argc - 1); ??? for(count = 1; count argc; count++) ??? { ??????????? printf(%d: %s\n, count, argv[count]); ??? } ??? printf(\n); ??? return 0; } 1.1 main函数的参数和返回值 这里先解释一下main(int argc, char*argv[])这个函数中两个参数的意义,argc记录的是命令行中输入参数的数目,argv是一个拥有argc个元素的字符串数组,每个元素保存一个命令行中输入的参数。 编译这个文件为可执行文件repeat: gcc repeat.c -o repeat 按下列方式执行 repeat 程序: ./repeat I love you 3 输出如下: The command line has 3 arguments: 1: I 2: love you 3: 3 在这个例子中,argc的值为4,命令行一共输入了四个参数“./repeat”、“I”、“love you”、“3”。在DOS和UNIX环境下,命令行参数中用””符号表示其是一个字符串,视为一个参数。 1.1 main函数的参数和返回值 由于很多时候程序都是需要带参数运行的,就算有的程序当时不需要而以后也是有可能需要参数的,因此鼓励大家在main函数中都加上参数,这将是一个很好的习惯,并且你将在这种好习惯中受益。 main函数的返回值 main函数的返回值用于说明程序的退出状态。如果返回0,则代表程序正常退出;返回其它数字的含义则由系统决定。通常,返回非零代表程序异常退出。下面我们在winxp环境下做一个小实验。首先编译下面的程序: ?int main( int argc, char* argv[] ) ?{ ??????return 0; ?} 1.1 main函数的参数和返回值 将该代码编译成a.exe。 然后打开附件里的“命令提示符”,在命令行里运行刚才编译好的可执行文件,然后输入“echo%ERRORLEVEL%”,回车,就可以看到程序的返回值为0。 假设刚才编译好的文件是a.exe,如果输入“a dir”,则会列出当前目录下的文件夹和文件。但是如果改成“return -1”,或者别的非0值,重新编译后输入“a dir”,则dir不会执行。 因为的含义是:如果前面的程序正常退出,则继续执行后面的程序,否则不执行。也就是说,利用程序的返回值,我们可以控制要不要执行下一个程序。这就是
显示全部
相似文档