C语言程序设计(第6章指针)8.docx

上传人:博****1 文档编号:542979039 上传时间:2023-12-26 格式:DOCX 页数:6 大小:13.91KB
返回 下载 相关 举报
C语言程序设计(第6章指针)8.docx_第1页
第1页 / 共6页
C语言程序设计(第6章指针)8.docx_第2页
第2页 / 共6页
C语言程序设计(第6章指针)8.docx_第3页
第3页 / 共6页
C语言程序设计(第6章指针)8.docx_第4页
第4页 / 共6页
C语言程序设计(第6章指针)8.docx_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《C语言程序设计(第6章指针)8.docx》由会员分享,可在线阅读,更多相关《C语言程序设计(第6章指针)8.docx(6页珍藏版)》请在金锄头文库上搜索。

1、 C语言程序设计(第6章指针)8C程序的特点就是全部的程序都是用函数来装配的。main( )称之为主函数,是全部程序运行的入口。其余函数分为有参或无参两种,均由main( )函数或其它一般函数调用,若调用的是有参函数,则参数在调用时传递。main( ) . . . y1 = f1(x1, x2); . . . f1(int a,int b) . . . . Y 2 = f 2 ( x 3 , x 4 ) ; . . . . f2( int m,int n) . . . . . . . . . 在前面课程的学习中,对main( )函数始终作为主调函数处理,也就是说,允许main( )调用其它函数

2、并传递参数。事实上, main( )函数既可以是无参函数,也可以是有参的函数。对于有参的形式来说,就需要向其传递参数。但是其它任何函数均不能调用main( )函数。固然也同样无法向main( )函数传递,只能由程序之外传递而来。这个详细的问题怎样解决呢? 我们先看一下main( )函数的带参的形式:main(argc, argv)int argc,char * argv; . . . . . 从函数参数的形式上看,包含一个整型和一个指针数组。当一个C的源程序经过编译、链接后,会生成扩展名为. E X E的可执行文件,这是可以在操作系统下直接运行的文件,换句话说,就是由系统来启动运行的。对mai

3、n( )函数既然不能由其它函数调用和传递参数,就只能由系统在启动运行时传递参数了。 在操作系统环境下,一条完整的运行命令应包括两局部:命令与相应的参数。其格式为: 命令参数1 参数2 . . . .参数n 此格式也称为命令行。命令行中的命令就是可执行文件的文件名,其后所跟参数需用空格分隔,并为对命令的进一步补充,也即是传递给main( )函数的参数。 命令行与main( )函数的参数存在如下的关系: 设命令行为: program str1 str2 str3 str4 str5其中program 为文件名, 也就是一个由program.c 经编译、链接后生成的可执行文件program.exe,

4、其后各跟5个参数。对main( )函数来说,它的参数arc记录了命令行中命令与参数的个数,共6个,指针数组的大小由参数argc的值决定,即为char *argv6,指针数组的取值状况如图6 - 1 5所示。 数组的各指针分别指向一个字符串。应当引起留意的是接收到的指针数组的各指针是从命令行的开头接收的,首先接收到的是命令,其后才是参数。 下面用实例来说明带参数的main( )函数的正确使用。 例6-29 利用图形库函数绘制一个变化的环。它是把一个半径为R 1的圆周分成n份,然后以每个等分点为圆心,以R s为半径画n个圆(关于作图的具体理论本教材第9章第1节作了特地介绍,这里只作简洁分析)。利用

5、main( )函数的带参数形式,我们可以从键盘以命令行的方式输入R1和Rs及屏幕的背风光。#include /*包含图形库函数的头文件* /#include#define pi 4.1415926main(argc, argv)int argc;char *argv; /* 定义带参数的main( ) * / int x,y,r1,rs,color; double a; int gdriver=DETECT,gmode; initgraph(/* 启动图形工作方式* / r1 = atoi(argv1); / *计算根底圆半径* / rs = atoi(argv2); / *计算同心圆半径*

6、/ color = atoi(argv3); / *背风光* / cleardevice( ); / *去除图形屏幕* / setbkcolor(color); / *设置背风光* / setcolor(4); / *设置图形显示颜色* / for(a=0; a=2*pi;a+=pi/18) / *绘制同心圆* / x = r1 * cos(a) + 320; y = r1 * sin(a) + 240; circle(x, y, rs); / *以圆心坐标为x、y,半径为r s画圆* / getch( ) ; / *等待按键连续* / closegraph( ) ; / *关闭图形工作方式* / 若程序名为L 6 - 29.c,经编译、连结生成可执行文件L6 - 29.exe。在操作系统的环境下运行程序,命令行方式为: l6-29 40 20 3则命令行与main( )函数的参数有如图6 - 16所示的关系。 图6 - 16中, argv0是程序名, argv1是r1的值,argv2是rs的值,argv3是屏幕的背风光。由于指针数组均存放字符串,所需的圆半径及背风光彩通过atoi( )函数转换为整型。 通过带参数的main( )函数,我们可以为自己的程序设置口令,在运行程序的命令行中给出所需的口令,正确则连续,否则退出

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号