亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

編程者說之C語言

2019-11-17 05:10:27
字體:
來源:轉載
供稿:網友

  談及C語言,我想凡是學過它的朋友都有這樣一種感覺,那就是“讓我歡喜讓我憂?!睔g喜的是,C語言功能非常強大、應用廣泛,一旦把握了后,你就可以理直氣壯地對他人說“我是電腦高手!”,而且以后若是再自學其他語言就顯得輕而易舉了。
憂慮的是,C語言如同“少林武功”一般博大精深,太難學了。其實就筆者認為C語言并非是“difficult(困難)”的,只要你能理清思路,把握它的精髓,那么自學C語言是一件非常輕易且又其樂無窮的事。今天本人就與大家一起談談如何學習C語言或者說學習C語言應從哪幾方面著手。

  了解一些基本知識

  一.C語言的背景

  就個人感慨,無論學習哪門語言首先應該了解一下自己所學語言的背景,也可以說它的發展史。

  C語言屬于高級程序語言的一種,它的前身是“ALGOL”。其創始人是布朗·W·卡尼漢和丹尼斯·M·利奇。C語言問世時是帶有很大的局限性,因為它只能用于UNIX系統上。然而隨著科學技術的進步,計算機工業的發展,C語言逐漸脫離UNIX。1987年美國標準化協會制定了C語言的國際標準,簡稱“ANSI C”,從此以后它便成為一種廣泛使用的程序語言。C語言的優點很多,主要的有如下四點:

  1.兼備高級語言與低級語言的優點,屬于一種中間語言。

  2.它是一種結構化程序設計語言,非常適合結構化程序設計。

  3.有較豐富的數據類型、運算符以及函數供以選用。

  4.直接與內存打交道,使修改、編輯其他程序與文檔變得輕松,簡單。

  二.二大語系二種不同的學習方法

  筆者學習過很多程序語言,例如:C,C++(C語言的擴展),QBASIC,VB(BASIC的可視化),javascript,JSCRIPT ,VBSCRIPT,Java,asp,FOXPRO,PERL等等,就本人實踐所得,其實高級程序語言分為兩大語系。一路是以C為主的程序語言,例如:Javascript,JAVA等,這類語言在函數的調用,程序語句的書寫,循環的控制都極為相似。另一路是以BASIC為首的程序語言,例如:FOXPRO,VBSCRIPT等,此類語言同樣具有相似的函數調用,程序語句書寫以及循環控制,但與C語系是不同的。因此若是您以前是從QBASIC起家的,那么在學習C語言前最好是先洗洗腦,千萬不要把學習BASIC的方法以及思路用在C身上。

  講到這里,我想大家對C語言一定有了感性熟悉吧!下面讓我們再升華一下,全方位親密接觸它。學習C語言必須從以下四點入手,也就是說,只要你能把握這四點的內容,那么基本上就大功告成了。 更多文章 更多內容請看C/C++進階技術文檔  Java編程開發手冊專題,或

  親密接觸C語言

  一.輸入輸出

  C語言的輸入輸出是非常嚴格的,或許在其他程序語言中我們可以不關心這個問題,但在C語言中,我們必須要徹底了解它。由于篇幅有限,因此筆者不能詳談,有愛好的朋友可以參考由聞名程序語言教授譚浩強先生主編,由清華大學出版社出版的《C程序設計第二版》。不過這里筆者還是有幾點要談一下。

  1.二維浮點數數組的輸入

  二維浮點數數組的輸入(即:通過鍵盤給二維浮點數數組賦值)在很多專業書中都沒有具體講過這個問題。在給二維浮點數數組賦值時一定要先聲明一個變量,接著把數值賦予這個變量,最后把變量數值賦予二維浮點數數組賦值。實例如下:

# include "stdio.h"
main()
{
 float a[2][3],x ;
 int i,j;
 for(i=0;i<2;i++)
  for(j=0;j<3;j++)
   {scanf("%f",&x);
    a[i][j]=x;}
   }
不能寫成:

# include "stdio.h"
main()
{
 float a[2][3] ;
 int i,j;
 for(i=0;i<2;i++)
  for(j=0;j<3;j++)
   scanf("%f",&a[i][j]);
}
  同樣道理,在結構性浮點數組變量中也一定要按照這種格式輸入。實例如下:


# include "stdio.h"
 strUCt student
 {float b[3];
  int x;
 }a[2];
 main()
 {
  float x ;
  int i,j;
  for(i=0;i<2;i++)
   for(j=0;j<3;j++)
    {scanf("%f",&x);
     a[i].b[j]=x;}
    }
  2.注重輸出格式中“%”后的字符

  C語言的輸出說復雜不復雜,因為常用的都很簡單。可說不復雜也未必,記得曾在一次等級考前輔導我們C語言的教授講道:“假如C語言要考得很難的話,根本不用考什么指針,只要??驾敵龈袷?,我想百分之九十九的學生都不及格。”當時我們無不認同。從這則事例中可以看出C語言的輸出格式之復雜程度。因此大家在學習它時千萬要學會辨別輸出格式中“%”后的字符,每個字符都有其意義,也都有其作用。

  二.優先級

  說道優先級,有很多朋友都不是很了解或說很模糊。為此筆者想先通過一個例子讓各位有個概念。什么叫優先級?比方說,我們在公交車終點站排座隊時總會碰到70歲以上的老人不需要排隊就能上車的情景,這就是優先級的涵義。C程序在運行時也象排隊坐車一樣,首先照顧那些優先級高的運算符,若是優先級相同,那么就象碰到兩位(或兩位以上)70歲以上的老人那樣,讓他們依次上車。但是C語言中的優先級的運算并不是千篇一律的,只能說是在大多數情況下,有些運算符的優先級有其自己的特點,因此這點大家要注重。例如條件表達式:條件?結果1:結果2,這種表達式很多朋友都知道,它的作用與IF…ELSE…條件判定語句很雷同,它運算時的優先級就不是按照C語言的規則來完成的。所以說對于優先級各位編程愛好者一定靈活把握,不要死記硬背。

  三.指針

  就個人認為,C語言中的指針是最有特色的,當然也是最難學的。指針說穿了,其實是變量的一種表現形式,只不過這種變量記載的不是數值而是地址。就象一個人可以用姓名來表示自己,也可以用身份證號碼來表示自己一樣。筆者涉足編程已經有三年多了,在這期間曾經收到過很多網友的電子郵件詢問學習指針的方法。就本人感慨,學習指針最好是先學些計算機硬件工作的原理,例如:直接尋址,間接尋址等,只有了解了這些內容以后,你再學指針就比較輕易理會,究竟C語言是一門介于機器語言與高級語言中間的語言,沒有一些硬件工作知識是很難領悟它的真諦的。然而事事并非絕對,假如你沒有這些知識也不要緊,只要清楚知道以下筆者總結的二點再加上多練習便可:

  1.指針是地址變量:它的值有兩種:其一是地址,其二是內容。不同的表達方式可以取不同的值,這有點象一個家庭地址在不同的場合標識的人物也不同。例如:父母親在他們的單位所登記的家庭地址就代表他們自己,而你在學校中登記的同樣的家庭地址就代表你自己。

  2.指針是可以運算的,它的運算法則與變量是一致的。

  另外,在編寫一個程序時,除非萬不得已,一般不要使用指針變量。因為指針是比較復雜的,用不好就“當機”。所以筆者建議各位對于指針只要能看懂就行,當然假如你是預備參加考試的就另當別論了。 更多文章 更多內容請看C/C++進階技術文檔  Java編程開發手冊專題,或
  四.函數

  雖說很多程序語言都有函數這一內容,但筆者覺得C語言的函數是最有魅力的。假如你能完全把握C語言的函數,那么學習C++就不成問題了(C++是一門建立在C語言上,但又不同于C語言的高級程序語言,它增添了很多函數。)。
學習函數的方法是比較簡單的,只有兩個字“牢記”,即:牢記函數的功能,牢記函數的用途以及如何輸入輸出。有些朋友認為,程序語言中的函數沒有多大用處,其實這并不正確,函數從本質上講是一段通用程序,用它可以幫助我們節約很多編程的時間,一個聰明的編程者在編寫程序前往往總是先找自己所編寫的程序中有多少是可以用函數來代替的。筆者曾經作過一個比較字符串的實驗,用C語言中的strcmp()函數只要一句話,而自己編寫的話30句話都擺不平,可想而知函數是多么實用呀!

  寫到這里筆者該告一段落了,下面送一個本人自己用C 語言編寫的注冊表比較程序給諸位。此段程序的注釋請看“/*…*/”后的文字,程序運行時(在DOS模式下)輸入的方式如下:compare xx1.reg xxx2.reg xxx3.txt,注重字段與字段之間是有空格的。(compare是程序名)

  程序代碼:

 # include "stdio.h" /*定義頭文件或說包含文件*/

 main(argc,argv) /*定義帶參數的主函數*/

  int argc; /*定義參數類型*/
  char *argv[]; /*定義第二參數類型*/
  { FILE *fp1,*fp2,*fp3; /*定義文件指針*/
   char a,b; /*定義字符變量*/
   if((fp1=fopen(argv[1],"r"))==NULL)
    /*打開第一的注冊表備份文件,假如不存在則跳出程序并顯示“The file don`t open!”*/
    { printf("The file don`t open!");
     exit(0); }
   if((fp2=fopen(argv[2],"r"))==NULL) /*打開第二的注冊表備份文件,假如不存在則跳出程序并顯示    “The file don`t open!”*/
    { printf("The file don`t open!");
     exit(0);}
   if((fp3=fopen(argv[3],"w"))==NULL) /*建立新的文本文件,用于存放比較結果。
*/
    {printf("The file don`t open!");
     exit(0);}
   rewind(fp1); /*規定文件指針fp1指向第一個注冊表文件頭部*/
   rewind(fp2); /*規定文件指針fp2指向第二個注冊表文件頭部*/
   while(!feof(fp1)!feof(fp2)) /*開始比較*/
    { a=fgetc(fp1); /*讀取第一個注冊表文件內容并賦予給字符變量a*/
     b=fgetc(fp2); /*讀取第二個注冊表文件內容并賦予給字符變量b*/
     if(a!=b) fputc(b,fp3);
      /*字符變量a與b不相同的話,那么把不同之處寫入新建的文本文件中*/
      if(feof(fp1)) fputc(b,fp3);
        /*假如第一個注冊表文件已經讀完,第二個文件還有未讀取部分,那么把第二個文件的剩余部分全部寫入新建文件中*/
      if(feof(fp2)) fputc(a,fp3);} /*假如第二個注冊表文件已經讀完,第一個文件還有未讀取部分,那么把第一個文件的剩余部分全部寫入新建文件中*/
      fclose(fp1); /*關閉第一個注冊表文件*/
      fclose(fp2); /*關閉第二個注冊表文件*/
     fclose(fp3); /*關閉新建文件*/
}
  對于高深莫測的C語言來說,寥寥3千字并不能說清楚的什么問題。但只要您看了此文后,我想對于您學習此語言一定有很大的幫助,同時也能了知曉如何用最短的時間學會C語言以及把握C語言的精髓所在。另外,此文中所涉及的知識點都是筆者通過實踐得出的,因此若是其他專業書籍沒有講到過的問題可以參考本文。最后祝大家學習C語言順利! 更多文章 更多內容請看C/C++進階技術文檔  Java編程開發手冊專題,或

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
蜜臀久久99精品久久久久久宅男| 欧美国产欧美亚洲国产日韩mv天天看完整| 51色欧美片视频在线观看| 国产精品久久久久久久久免费| 亚洲一区二区三区xxx视频| 麻豆精品精华液| 欧美在线观看网站| 一区二区三区四区视频| 国产精品男人爽免费视频1| 欧美午夜电影在线| 2018日韩中文字幕| 97在线视频免费看| 亚洲天堂影视av| 亚洲欧美在线第一页| 国产精品视频免费观看www| 在线播放亚洲激情| 91精品久久久久久久久久入口| 午夜美女久久久久爽久久| 国产亚洲精品日韩| 亚洲乱码国产乱码精品精天堂| 国产一区二中文字幕在线看| 亚洲字幕在线观看| 中文字幕视频在线免费欧美日韩综合在线看| 秋霞av国产精品一区| 国产精品国产亚洲伊人久久| 亚洲男人天堂2023| 亚洲偷欧美偷国内偷| 国语自产精品视频在线看抢先版图片| 97视频网站入口| 亚洲码在线观看| 欧美精品一区在线播放| 成人免费网站在线看| 成人福利网站在线观看| 欧美精品午夜视频| 欧美不卡视频一区发布| 91天堂在线视频| 国产精品久久久久久久久久| 国产69精品99久久久久久宅男| 欧美国产日本高清在线| 亚洲国产高清自拍| 亚洲嫩模很污视频| 欧美一区二区三区免费视| 欧亚精品中文字幕| 久久av资源网站| 亚洲第一福利视频| 欧美综合国产精品久久丁香| 欧美猛交免费看| 最新中文字幕亚洲| 久久精品精品电影网| 97精品久久久中文字幕免费| 国产精品狠色婷| 国内成人精品视频| 亚洲国产精品成人va在线观看| 日韩精品在线观看一区| 亚洲а∨天堂久久精品9966| 欧美亚洲伦理www| 精品电影在线观看| 亚洲iv一区二区三区| 日本欧美在线视频| 亚洲性xxxx| 理论片在线不卡免费观看| 国产精品十八以下禁看| 久久亚洲国产精品成人av秋霞| 丝袜一区二区三区| 亚洲精品视频二区| 91久久中文字幕| 亚洲最大av网站| 欧美日韩色婷婷| 国产丝袜一区二区三区免费视频| 色综合天天综合网国产成人网| 57pao成人永久免费视频| 日韩亚洲精品电影| 欧美性xxxx18| 色樱桃影院亚洲精品影院| 国产欧美日韩中文字幕| 久久视频在线观看免费| 欧美成年人网站| 亚洲影视中文字幕| 色综合久久悠悠| 国产精品爱啪在线线免费观看| 欧美日韩午夜激情| 97视频人免费观看| 国产小视频91| 欧美色欧美亚洲高清在线视频| 亚洲精品免费在线视频| 日韩中文字幕在线免费观看| 国内精品一区二区三区| 久久在线精品视频| 伦理中文字幕亚洲| 色婷婷av一区二区三区在线观看| 国产日本欧美视频| 国产精品一区专区欧美日韩| 久久久国产一区二区| 国产精品白丝av嫩草影院| 亚洲一区av在线播放| 国产成人小视频在线观看| 久久久精品免费| 亚洲精品久久久久中文字幕二区| 97超碰色婷婷| 欧美精品一区二区三区国产精品| 国产精品扒开腿做爽爽爽的视频| 免费不卡欧美自拍视频| 欧美黄色性视频| 国产精品露脸av在线| 欧美在线视频a| 国产精品∨欧美精品v日韩精品| 中日韩美女免费视频网站在线观看| 在线免费看av不卡| 欧美亚洲视频在线观看| 亚洲伊人第一页| 国产精品白丝av嫩草影院| 久久免费福利视频| 久久人人爽人人| 91久久国产婷婷一区二区| 日韩电影免费观看在线| 欧美亚洲一区在线| 岛国av一区二区在线在线观看| 亚洲免费人成在线视频观看| 国产精品电影观看| 亚洲成人在线视频播放| 欧美性资源免费| 777午夜精品福利在线观看| 欧美大片在线看| 国产精品久久久久久久久久99| 粗暴蹂躏中文一区二区三区| 国产一区二区日韩精品欧美精品| 国产精品第10页| 亚洲视频在线免费看| 久久免费视频在线| 亚洲高清久久网| 国产69久久精品成人| 久久av红桃一区二区小说| 国产成人久久久精品一区| 另类图片亚洲另类| 黄色一区二区在线| 欧美久久精品午夜青青大伊人| 欧美肥臀大乳一区二区免费视频| 亚洲国产成人爱av在线播放| 欧美三级欧美成人高清www| 在线视频日韩精品| 欧美日韩国产成人高清视频| 国产99视频在线观看| 91亚洲人电影| 国产精品xxxxx| 久久久久久97| 国产精品va在线播放我和闺蜜| 91久久国产婷婷一区二区| 欧美巨猛xxxx猛交黑人97人| 欧美日韩国产成人高清视频| 午夜精品美女自拍福到在线| 久久久www成人免费精品| 国产午夜精品一区二区三区| 亚洲直播在线一区| 国产精品欧美日韩一区二区| 欧美高清激情视频| 国产日本欧美一区二区三区| 国产精品极品美女粉嫩高清在线| 亚洲自拍偷拍第一页| 久久久久一本一区二区青青蜜月| 欧美老女人性视频| 久久精品在线视频| 草民午夜欧美限制a级福利片| 在线观看国产精品91| 日韩免费高清在线观看|