久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      main函數(shù)的參數(shù)

      C程序最大的特點(diǎn)就是所有的程序都是用函數(shù)來裝配的。main()稱之為主函數(shù),是所有程
      序運(yùn)行的入口。其余函數(shù)分為有參或無參兩種,均由main()函數(shù)或其它一般函數(shù)調(diào)用,若調(diào)用
      的是有參函數(shù),則參數(shù)在調(diào)用時(shí)傳遞。
      main()
      {

      y1=f1(x1,x2);

      }
      f1(int a,int b)
      {
      ….
      Y2=f2(x3,x4);
      ….
      }
      f2(int m,int n)
      {
      ….
      …..
      }
      在前面課程的學(xué)習(xí)中,對main()函數(shù)始終作為主調(diào)函數(shù)處理,也就是說,允許main()調(diào)用
      其它函數(shù)并傳遞參數(shù)。事實(shí)上,main()函數(shù)既可以是無參函數(shù),也可以是有參的函數(shù)。對于有
      參的形式來說,就需要向其傳遞參數(shù)。但是其它任何函數(shù)均不能調(diào)用main()函數(shù)。當(dāng)然也同樣
      無法向main()函數(shù)傳遞,只能由程序之外傳遞而來。這個具體的問題怎樣解決呢?
      我們先看一下main()函數(shù)的帶參的形式:
      main(argc,argv)
      int argc,char *argv[];
      {
      …..
      }
      從函數(shù)參數(shù)的形式上看,包含一個整型和一個指針數(shù)組。當(dāng)一個C的源程序經(jīng)過編譯、鏈接后,會生成擴(kuò)展名為.EXE的可執(zhí)行文件,這是可以在操作系統(tǒng)下直接運(yùn)行的文件,換句話說,就是由系統(tǒng)來啟動運(yùn)行的。對main()函數(shù)既然不能由其它函數(shù)調(diào)用和傳遞參數(shù),就只能由
      系統(tǒng)在啟動運(yùn)行時(shí)傳遞參數(shù)了。
      在操作系統(tǒng)環(huán)境下,一條完整的運(yùn)行命令應(yīng)包括兩部分:命令與相應(yīng)的參數(shù)。其格式為:
      命令參數(shù)1參數(shù)2….參數(shù)n?
      此格式也稱為命令行。命令行中的命令就是可執(zhí)行文件的文件名,其后所跟參數(shù)需用空格分隔,并為對命令的進(jìn)一步補(bǔ)充,也即是傳遞給main()函數(shù)的參數(shù)。
      命令行與main()函數(shù)的參數(shù)存在如下的關(guān)系:
      設(shè)命令行為:program str1 str2 str3 str4 str5
      其中program為文件名,也就是一個由program.c經(jīng)編譯、鏈接后生成的可執(zhí)行文件program.exe,其后各跟5個參數(shù)。對main()函數(shù)來說,它的參數(shù)argc記錄了命令行中命令與參數(shù)的個數(shù),共6個,指針數(shù)組的大小由參數(shù)argc的值決定,即為char*argv[6],指針數(shù)組的取值情況如圖6-15所示。
      main函數(shù)的參數(shù)
      數(shù)組的各指針分別指向一個字符串。應(yīng)當(dāng)引起注意的是接收到的指針數(shù)組的各指針是從命令行的開始接收的,首先接收到的是命令,其后
      才是參數(shù)。
      下面用實(shí)例來說明帶參數(shù)的main()函數(shù)的正確使用。
      [例6-29] 利用圖形庫函數(shù)繪制一個變化的環(huán)。它是把一個半徑為R 1的圓周分成n份,然
      后以每個等分點(diǎn)為圓心,以R s為半徑畫n個圓(關(guān)于作圖的詳細(xì)理論本教材第9章第1節(jié)作了專
      門介紹,這里只作簡單分析)。利用m a i n ( )函數(shù)的帶參數(shù)形式,我們可以從鍵盤以命令行的方
      式輸入R 1和R s及屏幕的背景色。
      #include <graphics.h> /*包含圖形庫函數(shù)的頭文件* /
      #include <math.h>
      #define pi 4.1415926
      m a i n ( a r g c , a r g v )
      int argc;char *argv[]; /* 定義帶參數(shù)的m a i n ( ) * /
      {
      int x,y,r1,rs,color;
      double a;
      int gdriver=DETECT,gmode;
      initgraph(&gdriver,&gmode,”..\bgi “)啟;/動*圖形工作方式*/
      r1=atoi(argv[1]);/*計(jì)算基礎(chǔ)圓半徑*/
      rs=atoi(argv[2]);/*計(jì)算同心圓半徑*/
      color=atoi(argv[3]);/*背景色*/
      cleardevice();/*清除圖形屏幕*/
      setbkcolor(color);/*設(shè)置背景色*/
      setcolor(4);/*設(shè)置圖形顯示顏色*/
      for(a=0;a<=2*pi;a+=pi/18)/*繪制同心圓*/
      {
      x=r1*cos(a)+320;
      y=r1*sin(a)+240;
      circle(x,y,rs);/*以圓心坐標(biāo)為x、y,半徑為rs畫圓*/
      }
      getch();/*等待按鍵繼續(xù)*/
      close graph();/*關(guān)閉圖形工作方式*/
      }
      若程序名為L6-29.c,經(jīng)編譯、連結(jié)生成可執(zhí)行文件L6-29.exe。在操作系統(tǒng)的環(huán)境下運(yùn)行
      程序,命令行方式為:
      l6-29 40 20 3
      則命令行與main()函數(shù)的參數(shù)有如圖6-16所示的關(guān)
      系。

      圖6-16中,argv[0]是程序名,argv[1]是r1的值,
      argv[2]是rs的值,argv[3]是屏幕的背景色。
      由于指針數(shù)組均存放字符串,所需的圓半徑及背景
      色彩通過atoi()函數(shù)轉(zhuǎn)換為整型。
      通過帶參數(shù)的main()函數(shù),我們可以為自己的程序設(shè)置口令,在運(yùn)行程序的命令行中給出所需的口令,正確則繼續(xù),否則退出。程序圖形輸出如圖6-17所示。
      main函數(shù)的參數(shù)
      [例6-30]將上述程序作修改,在程序的入口處添置密碼,若給定密碼正確,則顯示圖
      形。
      #include<graphics.h>
      #include <math.h>
      #define pi 4.1415926
      m a i n ( a r g c , a r g v )
      int argc;char *argv[];
      {
      int x,y,r1,rs,color;
      double a;
      int gdriver=DETECT,gmode;
      if (strcmp(argv[1],”pass”)!=0) 設(shè)/置* 口令的比較*/
      { printf(“password error!n”);
      e x i t ( 0 ) ;
      }
      initgraph(&gdriver,&gmode,”..\bgi “);
      r1=atoi(argv[2]);
      rs=atoi(argv[3]);
      color=atoi(argv[4]);
      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);
      }
      getch();
      closegraph();
      }
      main函數(shù)的參數(shù)
      在操作系統(tǒng)的環(huán)境下運(yùn)行程序, 命令行中增加口令“p a s s”,命令行方式為:
      l6-30 pass 20 40 3
      main函數(shù)的參數(shù)
      指針數(shù)組的存儲字符串如圖6-18所示。
      若給定字符串a(chǎn)rgv[1]的值是pass,則程序正確運(yùn)行,否則程序退出??诹钫_的情況下,顯示的圖形為圖6-17中的一個。

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號