国产中文字幕免费观看_国产高清精品软男同_日韩免费视频播放_亚洲午夜激情

聚集網(wǎng)(jujiwang.com) - 收錄免費分類目錄信息軟文發(fā)布網(wǎng)址提交
免費加入

C 字符串的藝術(shù):創(chuàng)建靈活且易于維護的代碼 (c中字符串的幾種定義方法及說明)

文章編號:10629時間:2024-09-28人氣:


字符串的藝術(shù)

在 C 編程語言中,字符串是通過以 null 結(jié)尾的字符數(shù)組來表示的。C 字符串具有許多獨特的特性,了解這些特性對于寫出靈活且易于維護的代碼至關(guān)重要。

C 中字符串的定義方法

在 C 中,有幾種不同的方法可以定義字符串:
  • 字符數(shù)組: 這是定義字符串的最基本的方法,其中一個字符數(shù)組以 null ('\0') 字符結(jié)尾。
  • 字符常量: 字符串也可以作為字符常量定義,其中字符串被括在雙引號中。
  • 字符串字面量: 字符串字面量是字符串常量的簡化形式,其中字符串被括在雙引號中,但不帶任何字符常量修飾符。
  • c中字符串的幾種定義及說明 預處理器宏: 預處理器宏可以用來定義字符串,類似于字符串常量,但允許使用宏替換。
當為字符串分配內(nèi)存時,建議始終使用 `const` 關(guān)鍵字將其聲明為常量。這有助于防止意外修改字符串,并提高代碼的可維護性。

C 字符串庫

C 標準庫提供了許多與字符串相關(guān)的函數(shù),用于執(zhí)行各種操作,包括:
  • `strcpy()`: 復制一個字符串到另一個字符串
  • `strncpy()`: 復制指定長度的字符串
  • `strcmp()`: 比較兩個字符串
  • `strlen()`: 獲取字符串的長度
  • `strcat()`: 連接兩個字符串
  • `strncat()`: 連接指定長度的兩個字符串
這些函數(shù)是操作字符串的基本工具,了解它們的功能對于高效地使用 C 字符串至關(guān)重要。

靈活字符串操作的技巧

以下是一些技巧,可幫助您創(chuàng)建更靈活且易于維護的字符串操作代碼:

關(guān)于編程的書籍

一、Python系列(3本)如果你之前一點編程經(jīng)驗都沒有,先看如下兩本:1、《簡明Python教程》(A Byte of Python)入門Python的絕佳Tutorial,從書的目錄便可以了解到作者Swaroop C H清晰的行文思路,以及對Python高超的駕馭能力。 2、《集體智慧編程》以具體實例的方式來展示Python的編程技巧,受益良多。 作者用非常直觀的方式向讀者展示了人工智能和機器學習中的大量經(jīng)典的算法。 更可貴的是,作者在展示算法時所使用的例子都是網(wǎng)絡中非常有代表性的場景,并且很多情況下還會結(jié)合一些實際運營的 Web 站點的數(shù)據(jù)作更進步闡釋。 當然,作為一本實用型的書,少不了的是大量可運行的代碼。 3、《Python Cookbook中文版,第3版》這本書可謂Python版《代碼大全》。 有人說《代碼大全》這類書是字典,其實不盡然《代碼大全》是高手過招。 《Cookbook》也如此,閱讀時總能讓你有一種:“哇塞,漂亮!”的感覺。 能把 Cookbook 全部讀完,你的Python水平絕對發(fā)生質(zhì)變。 二、Java語言系列(3本)1、《Java核心技術(shù)·卷1:基礎知識(原書第9版)》Java領(lǐng)域最有影響力和價值的著作之一,擁有20多年教學與研究經(jīng)驗的資深Java技術(shù)專家撰寫,與《Java編程思想》齊名。 2、《算法 第四版》Java 語言描述,算法領(lǐng)域經(jīng)典的參考書,全面介紹了關(guān)于算法和數(shù)據(jù)結(jié)構(gòu)的必備知識,并特別針對排序、搜索、圖處理和字符串處理進行了論述。 書的內(nèi)容非常多,可以說是Java程序員的必備書籍之一3、《數(shù)據(jù)結(jié)構(gòu)與算法分析:Java語言描述》這本書真是非常好!個人感覺很適合給初學者入門看,里面的分析數(shù)學公式恰到好處,沒有算法導論的令人望而生畏,也沒有國內(nèi)圖書的草草了事,既學習了數(shù)據(jù)結(jié)構(gòu)又有剛剛好的算法分析,很容易使人產(chǎn)生共鳴。 當然,對于Java我們建議進行系統(tǒng)的學習,扎實基礎不能只靠看書。 如果你有任何疑問,歡迎你在千鋒武漢官網(wǎng)上留下你的相關(guān)情況,我再對號入座幫你解答。 在這里插入圖片描述三、前端系列(4本)1、《Java權(quán)威指南(第6版)》淘寶前端團隊翻譯,這本書又叫犀牛書,號稱Java開發(fā)者的圣經(jīng),網(wǎng)上對此書評價很多,大概意思都是說這本書是一本Java文檔手冊,沒有完整看過一遍此書的都不能算是一名合格的前端工程師。 2、《Java高級程序設計(第3版)》又稱紅寶書,雅虎首席前端架構(gòu)師,YUI的作者Zakas出品。 雖然書名帶了“高級”二字,但是講得也很基礎,而且行文風格很流暢,每一小節(jié)就像是一篇博客,讀起來并不枯燥,個人感覺比上面那本犀牛書可讀性更強。 3、《Java設計模式與開發(fā)實踐》本書是在設計模式上的進一步擴充。 一大特點就是結(jié)合實操,代碼完整能直接應用到實際開發(fā)中。 4、《Web性能權(quán)威指南》本書是谷歌公司高性能團隊核心成員的權(quán)威之作,堪稱實戰(zhàn)經(jīng)驗與規(guī)范解讀完美結(jié)合的產(chǎn)物。 本書目標是涵蓋Web開發(fā)者技術(shù)體系中應該掌握的所有網(wǎng)絡及性能優(yōu)化知識。

C語言是什么? 要怎么編 ? 用什么編?

C語言是一種計算機程序設計語言。 它既有高級語言的特點,又具有匯編語言的特點。 它可以作為系統(tǒng)設計語言,編寫工作系統(tǒng)應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬件的應用程序。 因此,它的應用范圍廣泛。 C語言對操作系統(tǒng)和系統(tǒng)使用程序以及需要對硬件進行操作的場合,用C語言明顯優(yōu)于其它解釋型高級語言,有一些大型應用軟件也是用C語言編寫的。 C語言具有繪圖能力強,可移植性,并具備很強的數(shù)據(jù)處理能力,因此適于編寫系統(tǒng)軟件,三維,二維圖形和動畫。 它是數(shù)值計算的高級語言。 常用的C語言IDE(集成開發(fā)環(huán)境)有Microsoft Visual C++,Borland C++,Watcom C++ ,Borland C++ ,Borland C++ Builder,Borland C++ 3.1 for DOS,Watcom C++ 11.0 for DOS,GNU DJGPP C++ ,Lccwin32 C Compiler 3.1,Microsoft C,High C,Turbo C等等......C語言的缺點1. C語言的缺點主要是表現(xiàn)在數(shù)據(jù)的封裝性上,這一點使得C在數(shù)據(jù)的安全性上做的有很大缺陷,這也是C和C++的一大區(qū)別。 2. C語言的語法限制不太嚴格,對變量的類型約束不嚴格,影響程序的安全性,對數(shù)組下標越界不作檢查等。 從應用的角度,C語言比其他高級語言較難掌握。 [C語言指針]指針就是C語言的一大特色,可以說C語言優(yōu)于其它高級語言的一個重要原因就是因為它有指針操作可以直接進行靠近硬件的操作,但是C的指針操作也給它帶來了很多不安全的因素。 C++在這方面做了很好的改進,在保留了指針操作的同時又增強了安全性。 Java取消了指針操作,提高了安全性。 C源程序的結(jié)構(gòu)特點1.一個C語言源程序可以由一個或多個源文件組成。 2.每個源文件可由一個或多個函數(shù)組成。 3.一個源程序不論由多少個文件組成,都有一個且只能有一個main函數(shù),即主函數(shù)。 4.源程序中可以有預處理命令(include 命令僅為其中的一種),預處理命令通常應放在源文件或源程序的最前面。 5.每一個說明,每一個語句都必須以分號結(jié)尾。 但預處理命令,函數(shù)頭和花括號“}”之后不能加分號。 6.標識符,關(guān)鍵字之間必須至少加一個空格以示間隔。 若已有明顯的間隔符,也可不再加空格來間隔。 學習C語言在初學C語言時,可能會遇到有些問題理解不透,或者表達方式與以往數(shù)學學習中不同(如運算符等),這就要求不氣餒,不明白的地方多問多想,鼓足勇氣進行學習,待學完后面的章節(jié)知識,前面的問題也就迎刃而解了,這一方面我感覺是我們同學最欠缺,大多學不好的就是因為一開始遇到困難就放棄,曾經(jīng)和好多同學談他的問題,回答是聽不懂、不想聽、放棄這樣三個過程,我反問,這節(jié)課你聽過課嗎?回答又是沒有,根本就沒聽過課,怎么說自己聽不懂呢?相應的根本就沒學習,又談何學的好?學習C語言始終要記住“曙光在前頭”和“千金難買回頭看”,“千金難買回頭看”是學習知識的重要方法,就是說,學習后面的知識,不要忘了回頭弄清遺留下的問題和加深理解前面的知識,這是我們學生最不易做到的,然而卻又是最重要的。 學習C語言就是要經(jīng)過幾個反復,才能前后貫穿,積累應該掌握的C知識。 那么,我們?nèi)绾螌W好《C程序設計》呢?一.學好C語言的運算符和運算順序這是學好《C程序設計》的基礎,C語言的運算非常靈活,功能十分豐富,運算種類遠多于其它程序設計語言。 在表達式方面較其它程序語言更為簡潔,如自加、自減、逗號運算和三目運算使表達式更為簡單,但初學者往往會覺的這種表達式難讀,關(guān)鍵原因就是對運算符和運算順序理解不透不全。 當多種不同運算組成一個運算表達式,即一個運算式中出現(xiàn)多種運算符時,運算的優(yōu)先順序和結(jié)合規(guī)則顯得十分重要。 在學習中,只要我們對此合理進行分類,找出它們與我們在數(shù)學中所學到運算之間的不同點之后,記住這些運算也就不困難了,有些運算符在理解后更會牢記心中,將來用起來得心應手,而有些可暫時放棄不記,等用到時再記不遲。 先要明確運算符按優(yōu)先級不同分類,《C程序設計》運算符可分為15種優(yōu)先級,從高到低,優(yōu)先級為1 ~ 15,除第2、3級和第14級為從右至左結(jié)合外,其它都是從左至右結(jié)合,它決定同級運算符的運算順序.二.學好C語言的四種程序結(jié)構(gòu)(1)順序結(jié)構(gòu)順序結(jié)構(gòu)的程序設計是最簡單的,只要按照解決問題的順序?qū)懗鱿鄳恼Z句就行,它的執(zhí)行順序是自上而下,依次執(zhí)行。 例如;a = 3,b = 5,現(xiàn)交換a,b的值,這個問題就好像交換兩個杯子水,這當然要用到第三個杯子,假如第三個杯子是c,那么正確的程序為: c = a; a = b; b = c; 執(zhí)行結(jié)果是a = 5,b = c = 3如果改變其順序,寫成:a = b; c = a; b = c; 則執(zhí)行結(jié)果就變成a = b = c = 5,不能達到預期的目的,初學者最容易犯這種錯誤。 順序結(jié)構(gòu)可以獨立使用構(gòu)成一個簡單的完整程序,常見的輸入、計算,輸出三步曲的程序就是順序結(jié)構(gòu),例如計算圓的面積,其程序的語句順序就是輸入圓的半徑 r,計算s = 3.*r*r,輸出圓的面積s。 不過大多數(shù)情況下順序結(jié)構(gòu)都是作為程序的一部分,與其它結(jié)構(gòu)一起構(gòu)成一個復雜的程序,例如分支結(jié)構(gòu)中的復合語句、循環(huán)結(jié)構(gòu)中的循環(huán)體等。 (2) 分支結(jié)構(gòu)順序結(jié)構(gòu)的程序雖然能解決計算、輸出等問題,但不能做判斷再選擇。 對于要先做判斷再選擇的問題就要使用分支結(jié)構(gòu)。 分支結(jié)構(gòu)的執(zhí)行是依據(jù)一定的條件選擇執(zhí)行路徑,而不是嚴格按照語句出現(xiàn)的物理順序。 分支結(jié)構(gòu)的程序設計方法的關(guān)鍵在于構(gòu)造合適的分支條件和分析程序流程,根據(jù)不同的程序流程選擇適當?shù)姆种дZ句。 分支結(jié)構(gòu)適合于帶有邏輯或關(guān)系比較等條件判斷的計算,設計這類程序時往往都要先繪制其程序流程圖,然后根據(jù)程序流程寫出源程序,這樣做把程序設計分析與語言分開,使得問題簡單化,易于理解。 程序流程圖是根據(jù)解題分析所繪制的程序執(zhí)行流程圖。 學習分支結(jié)構(gòu)不要被分支嵌套所迷惑,只要正確繪制出流程圖,弄清各分支所要執(zhí)行的功能,嵌套結(jié)構(gòu)也就不難了。 嵌套只不過是分支中又包括分支語句而已,不是新知識,只要對雙分支的理解清楚,分支嵌套是不難的。 下面我介紹幾種基本的分支結(jié)構(gòu)。 ①if(條件){分支體}這種分支結(jié)構(gòu)中的分支體可以是一條語句,此時“{ }”可以省略,也可以是多條語句即復合語句。 它有兩條分支路徑可選,一是當條件為真,執(zhí)行分支體,否則跳過分支體,這時分支體就不會執(zhí)行。 如:要計算x的絕對值,根據(jù)絕對值定義,我們知道,當x>=0時,其絕對值不變,而x<0時其絕對值是為x的反號,因此程序段為:if(x<0) x=-x;②if(條件){分支1}else{分支2}這是典型的分支結(jié)構(gòu),如果條件成立,執(zhí)行分支1,否則執(zhí)行分支2,分支1和分支2都可以是1條或若干條語句構(gòu)成。 如:求ax^2+bx+c=0的根分析:因為當b^2-4ac>=0時,方程有兩個實根,否則(b^2-4ac<0)有兩個共軛復根。 其程序段如下:d=b*b-4*a*c;if(d>=0){x1=(-b+sqrt(d))/2a;x2=(-b-sqrt(d))/2a;printf(“x1=%8.4f,x2=%8.4f\n”,x1,x2);}else{r=-b/(2*a);i =sqrt(-d)/(2*a);printf(“x1=%8.4f+%8.4fi\n”r, i);printf(“x2=%8.4f-%8.4fi\n”r,i)}③嵌套分支語句:其語句格式為:if(條件1) {分支1};else if(條件2) {分支2}else if(條件3) {分支3}……else if(條件n) {分支n}else {分支n+1}嵌套分支語句雖可解決多個入口和出口的問題,但超過3重嵌套后,語句結(jié)構(gòu)變得非常復雜,對于程序的閱讀和理解都極為不便,建議嵌套在3重以內(nèi),超過3重可以用下面的語句。 ④switch開關(guān)語句:該語句也是多分支選擇語句,到底執(zhí)行哪一塊,取決于開關(guān)設置,也就是表達式的值與常量表達式相匹配的那一路,它不同if… else 語句,它的所有分支都是并列的,程序執(zhí)行時,由第一分支開始查找,如果相匹配,執(zhí)行其后的塊,接著執(zhí)行第2分支,第3分支……的塊,直到遇到break語句;如果不匹配,查找下一個分支是否匹配。 這個語句在應用時要特別注意開關(guān)條件的合理設置以及break語句的合理應用。 (3)循環(huán)結(jié)構(gòu):循環(huán)結(jié)構(gòu)可以減少源程序重復書寫的工作量,用來描述重復執(zhí)行某段算法的問題,這是程序設計中最能發(fā)揮計算機特長的程序結(jié)構(gòu),C語言中提供四種循環(huán),即 goto循環(huán)、while循環(huán)、do –while循環(huán)和for循環(huán)。 四種循環(huán)可以用來處理同一問題,一般情況下它們可以互相代替換,但一般不提倡用goto循環(huán),因為強制改變程序的順序經(jīng)常會給程序的運行帶來不可預料的錯誤,在學習中我們主要學習while、do…while、for三種循環(huán)。 常用的三種循環(huán)結(jié)構(gòu)學習的重點在于弄清它們相同與不同之處,以便在不同場合下使用,這就要清楚三種循環(huán)的格式和執(zhí)行順序,將每種循環(huán)的流程圖理解透徹后就會明白如何替換使用,如把while循環(huán)的例題,用for語句重新編寫一個程序,這樣能更好地理解它們的作用。 特別要注意在循環(huán)體內(nèi)應包含趨于結(jié)束的語句(即循環(huán)變量值的改變),否則就可能成了一個死循環(huán),這是初學者的一個常見錯誤。 在學完這三個循環(huán)后,應明確它們的異同點:用while和do…while循環(huán)時,循環(huán)變量的初始化的操作應在循環(huán)體之前,而for循環(huán)一般在語句1中進行的;while 循環(huán)和for循環(huán)都是先判斷表達式,后執(zhí)行循環(huán)體,而do…while循環(huán)是先執(zhí)行循環(huán)體后判斷表達式,也就是說do…while的循環(huán)體最少被執(zhí)行一次,而while 循環(huán)和for就可能一次都不執(zhí)行。 另外還要注意的是這三種循環(huán)都可以用break語句跳出循環(huán),用continue語句結(jié)束本次循環(huán),而goto語句與 if構(gòu)成的循環(huán),是不能用break和 continue語句進行控制的。 順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)并不彼此孤立的,在循環(huán)中可以有分支、順序結(jié)構(gòu),分支中也可以有循環(huán)、順序結(jié)構(gòu),其實不管哪種結(jié)構(gòu),我們均可廣義的把它們看成一個語句。 在實際編程過程中常將這三種結(jié)構(gòu)相互結(jié)合以實現(xiàn)各種算法,設計出相應程序,但是要編程的問題較大,編寫出的程序就往往很長、結(jié)構(gòu)重復多,造成可讀性差,難以理解,解決這個問題的方法是將C程序設計成模塊化結(jié)構(gòu)。 (4)模塊化程序結(jié)構(gòu)C語言的模塊化程序結(jié)構(gòu)用函數(shù)來實現(xiàn),即將復雜的C程序分為若干模塊,每個模塊都編寫成一個C函數(shù),然后通過主函數(shù)調(diào)用函數(shù)及函數(shù)調(diào)用函數(shù)來實現(xiàn)一大型問題的C程序編寫,因此常說:C程序=主函數(shù)+子函數(shù)。 因此,對函數(shù)的定義、調(diào)用、值的返回等中要尤其注重理解和應用,并通過上機調(diào)試加以鞏固。 三.掌握一些簡單的算法編程其實一大部分工作就是分析問題,找到解決問題的方法,再以相應的編程語言寫出代碼。 這就要求掌握算法,根據(jù)我們的《C程序設計》教學大綱中,只要求我們掌握一些簡單的算法,在掌握這些基本算法后,要完成對問題的分析就容易了。 如兩個數(shù)的交換、三個數(shù)的比較、選擇法排序和冒泡法排序,這就要求我們要清楚這些算法的內(nèi)在含義結(jié)語:當我們把握好上述幾方面后,只要同學們能克服畏難、厭學、上課能專心聽講,做好練習與上機調(diào)試,其實C語言并不難學C源程序的關(guān)鍵字---------------------------------------------------------------------------------------所謂關(guān)鍵字就是已被C語言本身使用, 不能作其它用途使用的字。 例如關(guān)鍵字不能用作變量名、函數(shù)名等由ANSI標準定義的C語言關(guān)鍵字共32個 :auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if while static根據(jù)關(guān)鍵字的作用,可分其為數(shù)據(jù)類型關(guān)鍵字、控制語句關(guān)鍵字、存儲類型關(guān)鍵字和其它關(guān)鍵字四類。 1 數(shù)據(jù)類型關(guān)鍵字(12個):(1) char :聲明字符型變量或函數(shù)(2) double :聲明雙精度變量或函數(shù)(3) enum :聲明枚舉類型(4) float:聲明浮點型變量或函數(shù)(5) int: 聲明整型變量或函數(shù)(6) long :聲明長整型變量或函數(shù)(7) short :聲明短整型變量或函數(shù)(8) signed:聲明有符號類型變量或函數(shù)(9) struct:聲明結(jié)構(gòu)體變量或函數(shù)(10) union:聲明聯(lián)合數(shù)據(jù)類型(11) unsigned:聲明無符號類型變量或函數(shù)(12) void :聲明函數(shù)無返回值或無參數(shù),聲明無類型指針(基本上就這三個作用)(2)控制語句關(guān)鍵字(12個):A循環(huán)語句(1) for:一種循環(huán)語句(可意會不可言傳)(2) do :循環(huán)語句的循環(huán)體(3) while :循環(huán)語句的循環(huán)條件(4) break:跳出當前循環(huán)(5) continue:結(jié)束當前循環(huán),開始下一輪循環(huán)B條件語句(1)if: 條件語句(2)else :條件語句否定分支(與 if 連用)(3)goto:無條件跳轉(zhuǎn)語句C開關(guān)語句(1)switch :用于開關(guān)語句(2)case:開關(guān)語句分支(3)default:開關(guān)語句中的“其他”分支Dreturn :子程序返回語句(可以帶參數(shù),也看不帶參數(shù))3 存儲類型關(guān)鍵字(4個)(1)auto :聲明自動變量 一般不使用(2)extern:聲明變量是在其他文件正聲明(也可以看做是引用變量)(3)register:聲明積存器變量(4)static :聲明靜態(tài)變量4 其它關(guān)鍵字(4個):(1)const :聲明只讀變量(2)sizeof:計算數(shù)據(jù)類型長度(3)typedef:用以給數(shù)據(jù)類型取別名(當然還有其他作用(4)volatile:說明變量在程序執(zhí)行中可被隱含地改變

怎么樣開發(fā)一個軟件

1、軟件開發(fā)的第一個流程是項目開發(fā)目的分析與確定,主要是在軟件開發(fā)商將開發(fā)項目確定下來之后,需要與需求方進行討論,確定需求方對于軟件開發(fā)的需要實現(xiàn)目標及其具體需要的功能等等,并確定是否可達成;2、接下來就是需求分析,這個步驟也是為軟件開發(fā)的正常進行確定具體思路的階段。 在確定軟件開發(fā)可進行后,必須要對客戶需要實現(xiàn)的軟件功能需求進行具體詳細的分析。 同時應當考慮在開發(fā)過程中可能出現(xiàn)的變化情況,制定需求變更計劃隨時應對特殊情況的發(fā)生,保證軟件開發(fā)流程的順暢進行;3、接下來就是軟件設計。 軟件設計要根據(jù)上一階段對軟件功能需求分析的結(jié)果,來設計軟件系統(tǒng)的框架結(jié)構(gòu)、功能模塊和數(shù)據(jù)庫等等。 它主要分為總體設計和詳細設計兩個部分;4、接下來就是編程實施步驟。 編程也是根據(jù)對軟件設計,將軟件設計的各部分需求通計算機程序代碼來實現(xiàn)運行,編程有統(tǒng)一、規(guī)范的程序編寫規(guī)則,保證軟件程序的易懂性、易維護性;5、接下來就是軟件測試步驟。 也就是在根據(jù)設計將客戶軟件需用編程代碼來實現(xiàn)之后,也就是軟件程序完成之后,需要對編寫的程序,形成整體構(gòu)架、功能進行單元、組裝、系統(tǒng)三階段的測試,以測試程序編寫的正確性,以及對客戶需求功能滿足的充分性,以此來確定軟件是否達到開發(fā)要求,同時也是一個發(fā)現(xiàn)問題、糾正問題的過程;6、通過以上核心環(huán)節(jié)完成了軟件開發(fā),接下來就是在軟件開發(fā)達到客戶需求之后,開發(fā)者將軟件系統(tǒng)交予客戶,并將軟件安裝程序、數(shù)據(jù)庫的數(shù)據(jù)字典、《用戶安裝手冊》、《用戶使用指南》、需求報告、設計報告、測試報告等產(chǎn)物交付給客戶,同時指導客戶進行軟件安裝、以及安裝技巧,提醒客戶注意軟件運行狀況、環(huán)境、服務器及相關(guān)中間件的檢測與注意事項,知道客戶軟件的實際操作方法、使用流程等等問題,實現(xiàn)合同規(guī)定任務;7、用戶在接受開發(fā)商交付的軟件開發(fā)結(jié)果,并進行實際操作、測試運行,實現(xiàn)滿意結(jié)果之后,對開發(fā)出來的軟件進行驗收;8、定制開發(fā)的軟件通常都需要提供售后服務,定期對軟件進行維護,或者根據(jù)用戶出現(xiàn)的新需求,進行應用軟件程序的修改,使之不斷滿足客戶實際需求。

編程語言有哪幾種,詳細介紹一下這些語言

計算機語言的種類非常的多,總的來說可以分成機器語言,匯編語言,高級語言三大類。 電腦每做的一次動作,一個步驟,都是按照以經(jīng)用計算機語言編好的程序來執(zhí)行的,程序是計算機要執(zhí)行的指令的集合,而程序全部都是用我們所掌握的語言來編寫的。 所以人們要控制計算機一定要通過計算機語言向計算機發(fā)出命令。 計算機所能識別的語言只有機器語言,即由0和1構(gòu)成的代碼。 但通常人們編程時,不采用機器語言,因為它非常難于記憶和識別。 目前通用的編程語言有兩種形式:匯編語言和高級語言。 匯編語言的實質(zhì)和機器語言是相同的,都是直接對硬件操作,只不過指令采用了英文縮寫的標識符,更容易識別和記憶。 它同樣需要編程者將每一步具體的操作用命令的形式寫出來。 匯編程序通常由三部分組成:指令、偽指令和宏指令。 匯編程序的每一句指令只能對應實際操作過程中的一個很細微的動作,例如移動、自增,因此匯編源程序一般比較冗長、復雜、容易出錯,而且使用匯編語言編程需要有更多的計算機專業(yè)知識,但匯編語言的優(yōu)點也是顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能實現(xiàn)的,而且源程序經(jīng)匯編生成的可執(zhí)行文件不僅比較小,而且執(zhí)行速度很快。 高級語言是目前絕大多數(shù)編程者的選擇。 和匯編語言相比,它不但將許多相關(guān)的機器指令合成為單條指令,并且去掉了與具體操作有關(guān)但與完成工作無關(guān)的細節(jié),例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。 同時,由于省略了很多細節(jié),編程者也就不需要有太多的專業(yè)知識。 高級語言主要是相對于匯編語言而言,它并不是特指某一種具體的語言,而是包括了很多編程語言,如目前流行的VB、VC、FoxPro、Delphi等,這些語言的語法、命令格式都各不相同。 高級語言所編制的程序不能直接被計算機識別,必須經(jīng)過轉(zhuǎn)換才能被執(zhí)行,按轉(zhuǎn)換方式可將它們分為兩類: 解釋類:執(zhí)行方式類似于我們?nèi)粘I钪械摹巴暦g”,應用程序源代碼一邊由相應語言的解釋器“翻譯”成目標代碼(機器語言),一邊執(zhí)行,因此效率比較低,而且不能生成可獨立執(zhí)行的可執(zhí)行文件,應用程序不能脫離其解釋器,但這種方式比較靈活,可以動態(tài)地調(diào)整、修改應用程序。 編譯類:編譯是指在應用源程序執(zhí)行之前,就將程序源代碼“翻譯”成目標代碼(機器語言),因此其目標程序可以脫離其語言環(huán)境獨立執(zhí)行,使用比較方便、效率較高。 但應用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標文件(* )才能執(zhí)行,只有目標文件而沒有源代碼,修改很不方便。 現(xiàn)在大多數(shù)的編程語言都是編譯型的,例如Visual C++、Visual Foxpro、Delphi等。 [NextPage] 學習編程,從何入手 如果您想學習編程,卻又不知從何入手,那么您不妨看看下面的幾種學習方案,可能會給您一些啟示吧! ============================================== 方案一 Basic語言 & Visual Basic 優(yōu)點 (1)Basic 簡單易學,很容易上手。 (2)Visual Basic 提供了強大的可視化編程能力,可以讓你輕松地做出漂亮的程序。 (3)眾多的控件讓編程變得象壘積木一樣簡單。 (4)Visual Basic 的全部漢化讓我們這些見了English就頭大的人喜不自禁。 缺點 (1)Visual Basic 不是真正的面向?qū)ο蟮拈_發(fā)文具。 (2)Visual Basic 的數(shù)據(jù)類型太少,而且不支持指針,這使得它的表達能力很有限。 (3)Visual Basic 不是真正的編譯型語言,它產(chǎn)生的最終代碼不是可執(zhí)行的,是一種偽代碼。 它需要一個動態(tài)鏈接庫去解釋執(zhí)行,這使得Visual Basic 的編譯速度大大變慢。 綜述:方案一適合初涉編程的朋友,它對學習者的要求不高,幾乎每個人都可以在一個比較短的時間里學會vB編程,并用VB 做出自己的作品。 對于那些把編程當做游戲的朋友來說,VB 是您最佳的選擇。 Basic/Visual Basic簡介 ============================================== 方案二 Pascal語言 & Delphi 優(yōu)點 (1)Pascal語言結(jié)構(gòu)嚴謹,可以很好地培養(yǎng)一個人的編程思想。 (2)Delphi是一門真正的面向?qū)ο蟮拈_發(fā)工具,并且是完全的可視化。 (3)Delphi使用了真編譯,可以讓你的代碼編譯成為可執(zhí)行的文件,而且編譯速度非常快。 (4)Delphi具有強大的數(shù)據(jù)庫開發(fā)能力,可以讓你輕松地開發(fā)數(shù)據(jù)庫。 缺點 Delphi幾乎可以說是完美的,只是Pascal語言的過于嚴謹讓人感覺有點煩。 綜述: 方案二比較適合那些具有一定編程基礎并且學過Pascal語言的朋友。 Pascal語言簡介 Delphi簡介 ============================================== 方案三 C語言 & Visual C++ 優(yōu)點 (1)C語言靈活性好,效率高,可以接觸到軟件開發(fā)比較底層的東西。 (2)微軟的MFC庫博大精深,學會它可以讓隨心所欲地進行編程。 (3)VC是微軟制作的產(chǎn)品,與操作系統(tǒng)的結(jié)合更加緊密。 缺點 對使用者的要求比較高,既要具備豐富的C語言編程經(jīng)驗,又要具有一定的WINDOWS編程基礎,它的過于專業(yè)使得一般的編程愛好者學習起來會有不小的困難。 綜述: VC是程序員用的東西。 如果你是一個永不滿足的人,而且可以在編程上投入很大的精力和時間,那么學習VC你一定不會后悔的。 C語言簡介 ============================================== 方案四 C++語言 & C++ Builder 優(yōu)點 (1)C++語言的優(yōu)點全部得以繼承。 (2)完全的可是化。 (3)極強的兼容性,支持OWL、VCL和MFC三大類庫。 (4)編譯速度非常快。 缺點 由于推出的時間太短,關(guān)于它的各種資料還不太多。 綜述:我認為C++ Builder 是最好的編程工具。 它既保持了C++語言編程的優(yōu)點,又做到了完全的可視化。 C語言簡介 ============================================== 方案五 SQL語言 & Power Builder 對于一些傳統(tǒng)的數(shù)據(jù)開發(fā)人員來說,F(xiàn)oxpro系列也許讓他們感到更加熟悉。 但是對于初學者來說,PowerBuilder也許是最好的數(shù)據(jù)庫開發(fā)工具。 各種各樣的控件,功能強大的PowerBuilder語言都會幫助你開發(fā)出自己的數(shù)據(jù)庫應用程序。 [NextPage] JSP簡介 在Sun正式發(fā)布JSP(Java Server Pages)之后,這種新的Web應用開發(fā)技術(shù)很快引起了人們的關(guān)注。 JSP為創(chuàng)建高度動態(tài)的Web應用提供了一個獨特的開發(fā)環(huán)境。 按照 Sun 的說法,JSP能夠適應市場上包括Apache WebServer 、IIS4.0在內(nèi)的85%的服務器產(chǎn)品。 JSP與ASP的簡單比較 JSP與Microsoft的ASP技術(shù)非常相似。 兩者都提供在HTML代碼中混合某種程序代碼、由語言引擎解釋執(zhí)行程序代碼的能力。 在ASP或JSP環(huán)境下,HTML代碼主要負責描述信息的顯示樣式,而程序代碼則用來描述處理邏輯。 普通的HTML頁面只依賴于Web服務器,而ASP和JSP頁面需要附加的語言引擎分析和執(zhí)行程序代碼。 程序代碼的執(zhí)行結(jié)果被重新嵌入到HTML代碼中,然后一起發(fā)送給瀏覽器。 ASP和JSP都是面向Web服務器的技術(shù),客戶端瀏覽器不需要任何附加的軟件支持。 ASP的編程語言是VBScript之類的腳本語言,JSP使用的是Java,這是兩者最明顯的區(qū)別。 此外,ASP與JSP還有一個更為本質(zhì)的區(qū)別:兩種語言引擎用完全不同的方式處理頁面中嵌入的程序代碼。 在ASP下,VBScript代碼被ASP引擎解釋執(zhí)行;在JSP下,代碼被編譯成Servlet并由Java虛擬機執(zhí)行,這種編譯操作僅在對JSP頁面的第一次請求時發(fā)生。 運行環(huán)境 執(zhí)行 JSP 代碼需要在服務器上安裝 JSP 引擎。 此處我們使用的是 Sun 的 JavaServer Web Development Kit ( JSWDK )。 為便于學習,這個軟件包提供了大量可供修改的示例。 安裝 JSWDK 之后,只需執(zhí)行 startserver 命令即可啟動服務器。 在默認配置下服務器在端口 8080 監(jiān)聽,使用即可打開缺省頁面。 在運行 JSP 示例頁面之前,請注意一下安裝 JSWDK 的目錄,特別是 work 子目錄下的內(nèi)容。 執(zhí)行示例頁面時,可以在這里看到 JSP 頁面如何被轉(zhuǎn)換成 Java 源文件,然后又被編譯成 class 文件(即 Servlet )。 JSWDK 軟件包中的示例頁面分為兩類,它們或者是 JSP 文件,或者是包含一個表單的 HTML 文件,這些表單均由 JSP 代碼處理。 與 ASP 一樣, JSP 中的 Java 代碼均在服務器端執(zhí)行。 因此,在瀏覽器中使用查看源文件菜單是無法看到 JSP 源代碼的,只能看到結(jié)果 HTML 代碼。 所有示例的源代碼均通過一個單獨的 examples 頁面提供。 Java Servlet是一種開發(fā)Web應用的理想構(gòu)架。 JSP以Servlet技術(shù)為基礎,又在許多方面作了改進。 JSP頁面看起來象普通HTML頁面,但它允許嵌入執(zhí)行代碼,在這一點上,它和ASP技術(shù)非常相似。 利用跨平臺運行的JavaBean 組件,JSP為分離處理邏輯與顯示樣式提供了卓越的解決方案。 JSP必將成為ASP技術(shù)的有力競爭者。 [NextPage] SQL語言簡介 SQL全稱是“結(jié)構(gòu)化查詢語言(Structured Query Language)”,最早的是IBM的圣約瑟研究實驗室為其關(guān)系數(shù)據(jù)庫管理系統(tǒng)SYSTEM R開發(fā)的一種查詢語言,它的前身是SQUARE語言。 SQL語言結(jié)構(gòu)簡潔,功能強大,簡單易學,所以自從IBM公司1981年推出以來,SQL語言,得到了廣泛的應用。 如今無論是像Oracle ,Sybase,Informix,SQL server這些大型的數(shù)據(jù)庫管理系統(tǒng),還是像Visual Foxporo,PowerBuilder這些微機上常用的數(shù)據(jù)庫開發(fā)系統(tǒng),都支持SQL語言作為查詢語言。 Structured Query Language包含4個部分: 數(shù)據(jù)查詢語言DQL-Data Query Language SELECT 數(shù)據(jù)操縱語言DQL-Data Manipulation Language INSERT, UPDATE, DELETE 數(shù)據(jù)定義語言DQL-Data Definition Language CREATE, ALTER, DROP 數(shù)據(jù)控制語言DQL-Data Control Language COMMIT WORK, ROLLBACK WORK SQL的歷史 在70年代初,首先提出了關(guān)系模型。 70年代中期,IBM公司在研制 SYSTEM R關(guān)系數(shù)據(jù)庫管理系統(tǒng)中研制了SQL語言,最早的SQL語言(叫SEQUEL2)是在1976 年 11 月的IBM Journal of R&D上公布的。 1979年ORACLE公司首先提供商用的SQL,IBM公司在DB2 和SQL/DS數(shù)據(jù)庫系統(tǒng)中也實現(xiàn)了SQL。 1986年10月,美國ANSI采用SQL作為關(guān)系數(shù)據(jù)庫管理系統(tǒng)的標準語言(ANSI X3. 135-1986),后為國際標準化組織(ISO)采納為國際標準。 1989年,美國ANSI采納在ANSI X3.135-1989報告中定義的關(guān)系數(shù)據(jù)庫管理系統(tǒng)的SQL標準語言,稱為ANSI SQL 89, 該標準替代ANSI X3.135-1986版本。 該標準為下列組織所采納: ● 國際標準化組織(ISO),為ISO 9075-1989報告“Database Language SQL With Integrity Enhancement” ● 美國聯(lián)邦政府,發(fā)布在The Federal Information Processing Standard Publication(FIPS PUB)127 目前,所有主要的關(guān)系數(shù)據(jù)庫管理系統(tǒng)支持某些形式的SQL語言, 大部分數(shù)據(jù)庫打算遵守ANSI SQL89標準。 SQL的優(yōu)點 SQL廣泛地被采用正說明了它的優(yōu)點。 它使全部用戶,包括應用程序員、DBA管理員和終端用戶受益非淺。 (1) 非過程化語言 SQL是一個非過程化的語言,因為它一次處理一個記錄,對數(shù)據(jù)提供自動導航。 SQL允許用戶在高層的數(shù)據(jù)結(jié)構(gòu)上工作,而不對單個記錄進行操作,可操作記錄集。 所有SQL 語句接受集合作為輸入,返回集合作為輸出。 SQL的集合特性允許一條SQL語句的結(jié)果作為另一條SQL語句的輸入。 SQL不要求用戶指定對數(shù)據(jù)的存放方法。 這種特性使用戶更易集中精力于要得到的結(jié)果。 所有SQL語句使用查詢優(yōu)化器,它是RDBMS的一部分,由它決定對指定數(shù)據(jù)存取的最快速度的手段。 查詢優(yōu)化器知道存在什么索引,哪兒使用合適,而用戶從不需要知道表是否有索引,表有什么類型的索引。 (2) 統(tǒng)一的語言 SQL可用于所有用戶的DB活動模型,包括系統(tǒng)管理員、數(shù)據(jù)庫管理員、 應用程序員、決策支持系統(tǒng)人員及許多其它類型的終端用戶。 基本的SQL 命令只需很少時間就能學會,最高級的命令在幾天內(nèi)便可掌握。 SQL為許多任務提供了命令,包括: ● 查詢數(shù)據(jù) ● 在表中插入、修改和刪除記錄 ● 建立、修改和刪除數(shù)據(jù)對象 ● 控制對數(shù)據(jù)和數(shù)據(jù)對象的存取 ● 保證數(shù)據(jù)庫一致性和完整性 以前的數(shù)據(jù)庫管理系統(tǒng)為上述各類操作提供單獨的語言,而SQL 將全部任務統(tǒng)一在一種語言中。 (3) 是所有關(guān)系數(shù)據(jù)庫的公共語言 由于所有主要的關(guān)系數(shù)據(jù)庫管理系統(tǒng)都支持SQL語言,用戶可將使用SQL的技能從一個RDBMS轉(zhuǎn)到另一個。 所有用SQL編寫的程序都是可以移植的。 [NextPage] Java語言簡介 一. Java的由來 當1995年SUN推出Java語言之后,全世界的目光都被這個神奇的語言所吸引。 那么Java到底有何神奇之處呢? Java語言其實最是誕生于1991年,起初被稱為OAK語言,是SUN公司為一些消費性電子產(chǎn)品而設計的一個通用環(huán)境。 他們最初的目的只是為了開發(fā)一種獨立于平臺的軟件技術(shù),而且在網(wǎng)絡出現(xiàn)之前,OAK可以說是默默無聞,甚至差點夭折。 但是,網(wǎng)絡的出現(xiàn)改變了OAK的命運。 在Java出現(xiàn)以前。 Internet上的信息內(nèi)容都是一些乏味死板的HTML文檔。 這對于那些迷戀于WEB瀏覽的人們來說簡直不可容忍。 他們迫切希望能在WEN中看到一些交互式的內(nèi)容,開發(fā)人員也極希望能夠在WEB上創(chuàng)建一類無需考慮軟硬件平臺就可以執(zhí)行的應用程序,當然這些程序還要有極大的安全保障。 對于用戶的這種要求,傳統(tǒng)的編程語言顯得無能為力,面SUN的工程師敏銳地察覺到了這一點,從1994年起,他們開始將OAK技術(shù)應用于WEB上,并且開發(fā)出了HotJava的第一個版本。 當SUN公司1995年正式以Java這個名字推出的時候,幾乎所有的WEB開發(fā)人員都想到:噢,這正是我想要的。 于是Java成了一顆耀眼的明星,丑小鴨一下了變成了白天鵝。 二. Java的定義 Java是一種簡單的,面象對象的,分布式的,解釋的,鍵壯的安全的,結(jié)構(gòu)的中立的,可移植的,性能很優(yōu)異的多線程的,動態(tài)的語言。 Java的開發(fā)環(huán)境有不同的版本,如sun公司的Java Developers Kit, 簡稱 JDK。 后來微軟公司推出了支持Java規(guī)范的Microsoft Visual J++ Java開發(fā)環(huán)境,簡稱 VJ++。 三. Java的特點 1. 平臺無關(guān)性 平臺無關(guān)性是指Java能運行于不同的平臺。 Java引進虛擬機 原理,并運行于虛擬機,實現(xiàn)不同平臺的Java接口之間。 使 用Java編寫的程序能在世界范圍內(nèi)共享。 Java的數(shù)據(jù)類型與 機器無關(guān),Java虛擬機(Java Virtual Machine)是建立在 硬件和操作系統(tǒng)之上,實現(xiàn)Java二進制代碼的解釋執(zhí)行功能, 提供于不同平臺的接口的。 2. 安全性 Java的編程類似C++,學習過C++的讀者將很快掌握Java的精 髓。 Java舍棄了C++的指針對存儲器地址的直接操作,程序 運行時,內(nèi)存由操作系統(tǒng)分配,這樣可以避免病毒通過指 針侵入系統(tǒng)。 Java對程序提供了安全管理器,防止程序的 非法訪問。 3. 面向?qū)ο?Java 吸取了C++面向?qū)ο蟮母拍?將數(shù)據(jù)封裝于類中,利用類 的優(yōu)點,實現(xiàn)了程序的簡潔性和便于維護性。 類的封裝性、 繼承性等有關(guān)對象的特性,使程序代碼只需一次編譯,然后 通過上述特性反復利用。 程序員只需把主要精力用在類和接 口的設計和應用上。 Java 提供了眾多的一般對象的類,通 過繼承即可使用父類的方法。 在 Java 中,類的繼承關(guān)系是單一的非多重的,一個子類 只有一個父類,子類的父類又有一個父類。 Java 提供的 Object 類及其子類的繼承關(guān)系如同一棵倒立的樹形,根類 為 Object 類, Object 類功能強大,經(jīng)常會使用到它及其 它派生的子類。 4. 分布式 Java建立在擴展TCP/IP網(wǎng)絡平臺上。 庫函數(shù)提供了用HTTP和FTP協(xié)議傳送和接受信息的方法。 這使得程序員使用網(wǎng)絡上的文件和使用本機文件一樣容易。 5. 鍵壯性 Java致力于檢查程序在編譯和運行時的錯誤。 類型檢查幫助檢查出許多開發(fā)早期出現(xiàn)的錯誤。 Java自已操縱內(nèi)存減少了內(nèi)存出錯的可能性。 Java還實現(xiàn)了真數(shù)組,避免了覆蓋數(shù)據(jù)的可能。 這些功能特征大大提高了開發(fā)Java應用程序的周期。 Java提供: Null指針檢測、 數(shù)組邊界檢測、 異常出口、 Byte code校驗。 四. Java與C/C++語言 Java提供了一個功能強大語言的所有功能,但幾乎沒有一點含混特征。 C++安全性不好,但C和C++被大家接受,所以Java設計成C++形式,讓大家很容易學習。 Java去掉了C++語言的許多功能,讓Java的語言功能很精煉,并增加了一些很有用的功能,如自動收集碎片。 Java去掉了以下幾個C和C++功能: 指針運算 結(jié)構(gòu) typedefs #define 需要釋放內(nèi)存 這將減少了平常出錯的50%。 而且,Java很小,整個解釋器只需215K的RAM。 面象對象:Java實現(xiàn)了C++的基本面象對象技術(shù)并有一些增強,(為了語言簡單,刪除了一些功能)。 Java處理數(shù)據(jù)方式和用對象接口處理對象數(shù)據(jù)方式一樣。 五. Java與Internet 我們知道,早先的 www 僅可以傳送文本和圖片,Java的出現(xiàn)實現(xiàn)了互動的頁面,是一次偉大的革命。 Java并不是為 Internet,WWW而設計的,它也可以用來編寫獨立的應用程序。 Java 是一種面向?qū)ο笳Z言。 Java 語言類似于 C++ 語言,所以已熟練掌握 C++語言的編程人員,再學習 Java 語言就容易得多!Java 程序需要編譯。 實際上有兩種 Java 程序:一種 Java 應用程序是一個完整的程序,如 Web 瀏覽器。 一種 Java 小應用程序是運行于 Web 瀏覽器中的一個程序. Java程序和它的瀏覽器HotJava,提供了可讓你的瀏覽器運行程序的方法。 你能從你的瀏覽器里直接播放聲音。 你還能播放頁面里的動畫。 Java還能告訴你的瀏覽器怎樣處理新的類型文件。 當我們能在2400 baud線上傳輸視頻圖象時,HotJava將能顯示這些視頻。 當今Internet的一大發(fā)展趨勢是電子商務,而Internet的安全問題是必須解決的問題,通常大的部門應設置防火墻,阻止非法侵入。 電子商務是當今的熱門話題,然而傳統(tǒng)的編程語言難以勝任電子商務系統(tǒng),電子商務要求程序代碼具有基本的要求:安全、可靠、同時要求能 與運行于不同平臺的機器的全世界客戶開展業(yè)務。 Java以其強安全性、平臺無關(guān)性、硬件結(jié)構(gòu)無關(guān)性、語言簡潔同時面向?qū)ο螅诰W(wǎng)絡編程語言中占據(jù)無可比擬的優(yōu)勢,成為實現(xiàn)電子商務系統(tǒng)的首選語言。 Java程序被放置在Internet服務器上,當用戶訪問服務器時,Java程序被下載到本地的用戶機上,由瀏覽器解釋運行。 [NextPage] PowerBuilder簡介 PowerBuilder的產(chǎn)生 PowerBuilder是美國著名的數(shù)據(jù)庫應用開發(fā)工具生產(chǎn)廠商PowerSoft推出的成功產(chǎn)品,其第一版于1991年6月正式投入市場。 它是完全按照客戶/服務器體系結(jié)構(gòu)研制設計的,采用面向?qū)ο蠹夹g(shù),圖形化的應用開發(fā)環(huán)境,是數(shù)據(jù)庫的前端開發(fā)工具。 PowerBuilder的特點 它支持應用系統(tǒng)同時訪問多種數(shù)據(jù)庫,其中既包括Oracel,Sybase之類的大型數(shù)據(jù)庫,又包括FOXPRO之類支持ODBC接口的小型數(shù)據(jù)庫,PowerBuilder是完全可視化的數(shù)據(jù)庫開發(fā)工具,它提供了大量的控件,大大加快了項目的開發(fā)速度,也使開發(fā)者更容易掌握數(shù)據(jù)庫的開發(fā)。 它使用的編程語言叫做工PowerScripr,它也是一種高級的,結(jié)構(gòu)化的編程語言。 PowerScript提供了一套完整的嵌入式SQL語句,開發(fā)人員可以像使用其它語句一樣自由地使用SQL語言,這樣就大大增強了程序操縱和訪問數(shù)據(jù)庫的能力。 可以說PowerBuilder既適合初學者快速學習數(shù)據(jù)庫的開發(fā),又可以讓有經(jīng)驗的開發(fā)人員開發(fā)出功能強大的數(shù)據(jù)庫,是一種適用面非常廣的開發(fā)工具。 PowerBuilder是一個用來進行客戶/服務器開發(fā)的完全的可視化開發(fā)環(huán)境。 使用PowerBuilder,你可以用一種可視的直觀的方式來創(chuàng)建應用程序的用戶界面和數(shù)據(jù)庫接口。 這是一個總的概念,實際上是開發(fā)人員使用PowerBuilder去開發(fā)應用程序,由于所開發(fā)的各種應用程序充分利用了圖形用戶接口(GUI)的優(yōu)點,所以PowerBuilder被認為是一個圖形工具。 在客戶/服務器結(jié)構(gòu)的應用中,PowerBuilder具有描述多個數(shù)據(jù)庫連接與檢索的能力。 特別是PowerBuilder能從大多數(shù)流行的RDBMS中存取數(shù)據(jù),且不管數(shù)據(jù)存放在什麼地方;另外,各種應用程序又可以獨立于RDBMS,因為PowerBuilder可以使用數(shù)據(jù)庫的標準操作語言SQL(結(jié)構(gòu)化查詢語言)進行。 使用PowerBuilder,可以很容易地開發(fā)出功能強大的圖形界面的訪問服務器數(shù)據(jù)庫的應用程序,PowerBuilder提供了建立符合工業(yè)標準的應用程序(例如訂單登記、會計及制造系統(tǒng))所需的所有工具。 PowerBuilder應用程序由窗口組成,這些窗口包含用戶與之交互的控件。 開發(fā)人員可以使用所有標準空間(如按鈕、復選框、下拉式列表框或編輯框)以及PowerBuilder提供的特殊的使應用程序更易于開發(fā)和使用的控件。 通常人們把PowerBuilder看成是一種開發(fā)工具,實際上它比其他工具強得多,是一種強有力的開發(fā)環(huán)境。 開發(fā)人員不僅能用它來開發(fā)用戶容易使用的各種應用程序還可以通過PowerBuilder修改數(shù)據(jù)庫,利用400多個內(nèi)部定義函數(shù),可以開發(fā)能和其他應用程序進行的各種應用程序。 PowerBuilder正在成為客戶/服務器應用開發(fā)的標準。 相對于其他任何客戶/服務器開發(fā)環(huán)境,PowerBuilder使開發(fā)人員的工作更快、成本更低、質(zhì)量更高、功能更強。 PowerBuilder為應用開發(fā)提供了全面綜合性的支持,可以分別概括為如下幾點: 事件驅(qū)動的應用程序 功能強大的編程語言與函數(shù) 面向?qū)ο蟮木幊?跨平臺開發(fā) 開放的數(shù)據(jù)庫連結(jié)系統(tǒng) PowerBuilder開發(fā)環(huán)境 PowerBuilder開發(fā)環(huán)境由一系列集成的圖形畫板(Painter)組成,應用開發(fā)人員通過簡單的鼠標操作即可設計、建立、交互檢驗和測試客戶/服務器應用程序。 [NextPage] Delphi簡介 Delphi這個名字源于古希臘的城市名。 它集中了第三代語言的優(yōu)點。 以Object Pascal為基礎,擴充了面向?qū)ο蟮哪芰Γ⑶彝昝赖亟Y(jié)合了可視化的開發(fā)手段。 Delphi自1995年3 月一推出就受到了人們的關(guān)注,并在當年一舉奪得了多項大獎。 Delphi的出現(xiàn)打破了V承可視化編程領(lǐng)域一統(tǒng)天下的局面。 并且Delphi使用了本地編譯器直接生成技術(shù),使程序的執(zhí)行性能遠遠高于其它產(chǎn)品生成的程序。 它還是真正的面向?qū)ο蟮木幊陶Z言。 PASCAL語言的嚴謹加上可視化的優(yōu)勢和強大的數(shù)據(jù)庫功能使得它有充分的資本和微軟的VB叫板。 許多人當時都認為Pascal 是最有前途的程序設計語言,并預測Delphi將會成為可視化編程的主流環(huán)境。 Delphi在你編好程序后自動轉(zhuǎn)換成文件它運行時速度比VB快,而且編譯后不需要其他的支持庫就能運行。 它的數(shù)據(jù)庫功能也挺強的,是開發(fā)中型數(shù)據(jù)庫軟件理想的編程工具。 Delphi適用于應用軟件、數(shù)據(jù)庫系統(tǒng)、系統(tǒng)軟件等類型的開發(fā)。 而且它擁有和VB差不多一樣的功能,而且一樣能應用API函數(shù),這在控制Windows很有用。 Delphi是全新的可視化編程環(huán)境,為我們提供了一種方便、快捷的Windows應用程序開發(fā)工具。 它使用了Microsoft Windows圖形用戶界面的許多先進特性和設計思想,采用了彈性可重復利用的完整的面向?qū)ο蟪绦蛘Z言(Object-Oriented Language)、當今世界上最快的編輯器、最為領(lǐng)先的數(shù)據(jù)庫技術(shù)。 對于廣大的程序開發(fā)人員來講,使用Delphi開發(fā)應用軟件,無疑會大大地提高編程效率,而且隨著應用的深入,您將會發(fā)現(xiàn)編程不再是枯燥無味的工作——Delphi的每一個設計細節(jié),都將帶給您一份欣喜。 Delphi的基本形式Delphi實際上是Pascal語言的一種版本,但它與傳統(tǒng)的Pascal語言有天壤之別。 一個Delphi程序首先是應用程序框架,而這一框架正是應用程序的“骨架”。 在骨架上即使沒有附著任何東西,仍可以嚴格地按照設計運行。 您的工作只是在“骨架”中加入您的程序。 缺省的應用程序是一個空白的窗體(form),您可以運行它,結(jié)果得到一個空白的窗口。 這個窗口具有Windows窗口的全部性質(zhì):可以被放大縮小、移動、最大最小化等,但您卻沒有編寫一行程序。 因此,可以說應用程序框架通過提供所有應用程序共有的東西,為用戶應用程序的開發(fā)打下了良好的基礎。 Delphi已經(jīng)為您做好了一切基礎工作——程序框架就是一個已經(jīng)完成的可運行應用程序,只是不處理任何事情。 您所需要做的,只是在程序中加入完成您所需功能的代碼而已。 在空白窗口的背后,應用程序的框架正在等待用戶的輸入。 由于您并未告訴它接收到用戶輸入后作何反應,窗口除了響應Windows的基本操作(移動、縮放等)外,它只是接受用戶的輸入,然后再忽略。 Delphi把Windows編程的回調(diào)、句柄處理等繁復過程都放在一個不可見的Romulam覆蓋物下面。

asp是什么?

ASP是Active Server Page的縮寫,意為“活動服務器網(wǎng)頁”。 ASP是微軟公司開發(fā)的代替CGI腳本程序的一種應用,它可以與數(shù)據(jù)庫和其它程序進行交互,是一種簡單、方便的編程工具。 ASP的網(wǎng)頁文件的格式是,現(xiàn)在常用于各種動態(tài)網(wǎng)站中。 ASP是一種服務器端腳本編寫環(huán)境,可以用來創(chuàng)建和運行動態(tài)網(wǎng)頁或Web應用程序。 ASP網(wǎng)頁可以包含HTML標記、普通文本、腳本命令以及COM組件等。 利用ASP可以向網(wǎng)頁中添加交互式內(nèi)容(如在線表單),也可以創(chuàng)建使用HTML網(wǎng)頁作為用戶界面的web應用程序。 與HTML相比,ASP網(wǎng)頁具有以下特點: (1)利用ASP可以實現(xiàn)突破靜態(tài)網(wǎng)頁的一些功能限制,實現(xiàn)動態(tài)網(wǎng)頁技術(shù); (2)ASP文件是包含在HTML代碼所組成的文件中的,易于修改和測試; (3)服務器上的ASP解釋程序會在服務器端制定ASP程序,并將結(jié)果以HTML格式傳送到客戶端瀏覽器上,因此使用各種瀏覽器都可以正常瀏覽ASP所產(chǎn)生的網(wǎng)頁; (4)ASP提供了一些內(nèi)置對象,使用這些對象可以使服務器端腳本功能更強。 例如可以從web瀏覽器中獲取用戶通過HTML表單提交的信息,并在腳本中對這些信息進行處理,然后向web瀏覽器發(fā)送信息; (5)ASP可以使用服務器端ActiveX組件來執(zhí)行各種各樣的任務,例如存取數(shù)據(jù)庫、發(fā)現(xiàn)哦那個Email或訪問文件系統(tǒng)等。 (6)由于服務器是將ASP程序執(zhí)行的結(jié)果以HTML格式傳回客戶端瀏覽器,因此使用者不會看到ASP所編寫的原始程序代碼,可放置ASP程序代碼被竊取。 ASP的工作原理當在Web站點中融入ASP功能后,將發(fā)生以下事情: 1、用戶向瀏覽器地址欄輸入網(wǎng)址,默認頁面的擴展名是。 2、瀏覽器向服務器發(fā)出請求。 3、服務器引擎開始運行ASP程序。 4、ASP文件按照從上到下的順序開始處理,執(zhí)行腳本命令,執(zhí)行HTML頁面內(nèi)容。 5、頁面信息發(fā)送到瀏覽器。 ASP的運行環(huán)境asp需要運行在PWS或IIS下。 PWS或IIS服務在windows98或windows2000的光盤上附帶著,可以通過“添加/刪除程序”中的“添加/刪除windows組件”來安裝。 一般asp需與access數(shù)據(jù)庫或SQL Server數(shù)據(jù)庫結(jié)合使用,編出功能強大的程序。 能夠運行ASP的web服務器軟件Windows2000默認安裝的是IIS5.0(internet information server),而windows xp默認安裝的是IIS5.1,windows 2003默認安裝的IIS6.0。 PWS(personal web server)運行在windows98環(huán)境下的簡單個人網(wǎng)頁服務器。 ASP的意涵與特性ASP( Application Service Provider,應用軟體租賃服務提供者 )即是指「透過網(wǎng)路以租賃方式提供應用軟體服務的業(yè)者」,即是指業(yè)者以應用軟體為主體,透過網(wǎng)路一對多地傳遞服務,這種以服務為主的交易模式促使企業(yè)可藉由租賃的方式,以更符合成本效益的方式擁有軟體的使用權(quán),并且亦能因為業(yè)者集中式的管理而大幅降低企業(yè)維護的成本.基本上,ASP即具有「軟體服務化,服務網(wǎng)路化」,「資訊委外服務與網(wǎng)路結(jié)合」與「產(chǎn)品通路化,通路產(chǎn)品化」等三大特性,其甚至可以被視為是ISP(Internet Service Provider)與ITS(Information Technology Service)的結(jié)合的英文是Application Service Provider,中文的標準翻譯就是“應用服務提 供商”,是指為商業(yè)或者個人客戶提供管理應用解決方案的公司或者企業(yè)。 最近 ASP被媒體炒做十分火熱,不是IT行業(yè)的人面對一堆技術(shù)名詞專業(yè)術(shù)語很難弄清楚ASP的內(nèi)容,本文試圖用淺顯的語言來為廣大的讀者揭開ASP神秘的面紗,對于IT行業(yè)的大熱門ASP領(lǐng)域有一些基本的認識。 1. ASP是什么東西?簡單地講,ASP就是為客戶提供服務的服務商,它和會計事物所、婚姻介紹所沒有什么本質(zhì)方面的區(qū)別。 不同的是ASP主要是通過INTERNET(國際互聯(lián)網(wǎng)絡)作為主要工作和業(yè)務工具,采用一對多的方式,向企業(yè)、公司提供標準化的應用軟件以及相關(guān)的技術(shù)咨詢、管理租賃的服務,ASP的概念最早是1998年由美國人提出來的。 目前被全球各大IT廠商看好并被認為是可以推動網(wǎng)絡經(jīng)濟發(fā)展的,有穩(wěn)固基礎的第三種網(wǎng)絡商業(yè)模式。 和傳統(tǒng)的外包服務(Outsourcing)相比,ASP的主要區(qū)別在于:ASP是一對多的經(jīng)營模式,提供的服務有兼容性和可協(xié)調(diào)性,并且ASP的收費方式一般是按月收費。 業(yè)界認為:ASP一般有這樣一些“成員”:電信運營商、傳統(tǒng)IT服務廠商、互聯(lián)網(wǎng)絡接入服務商(ISP)、獨立軟件供應商(ISV)、系統(tǒng)集成商和單純的ASP公司。 根據(jù)流行的觀點,ASP有如下五個核心內(nèi)涵:a. ASP著重應用為中心,提供對于應用方面的訪問和管理。 b. ASP服務可以為用戶提供沒有在服務器、人員、系統(tǒng)和系統(tǒng)授權(quán)等前期資源投入情況下就可以在“定制”的全新應用系統(tǒng)環(huán)境進行訪問的服務,如ISP,而這樣的服務一般按月份ASP收取服務費。 c. ASP采用集中管理的方式---ASP一般都有一個管理中心,所有的客戶通過INTERNET來進行遠程訪問,獲得技術(shù)支持和咨詢服務。 d. 一對多的服務,也就是講,ASP提供的是標準化的產(chǎn)品包,產(chǎn)品都是最低程度的自定義或者沒有實現(xiàn)客戶定制化,對于行業(yè)用戶來講已經(jīng)達到實用方便的標準。 e. 按照合同交付,在ASP客戶的眼中,ASP是一家根據(jù)客戶協(xié)議內(nèi)容提供相關(guān)服務,保證應用服務系統(tǒng)服務可以得到確實履行的機構(gòu)。 2. ASP為什么會火? 從大的方面來講,困擾國內(nèi)企業(yè)生存、發(fā)展的核心問題是管理問題。 隨著互聯(lián)網(wǎng)絡的普及和應用的深入,企業(yè)用戶可以隨時隨地直接租用ASP的服務器和軟件系統(tǒng)來進行自己的業(yè)務管理,這樣做的好處在于;第一,企業(yè)可以節(jié)省大筆用于IT建設方面的資金,大幅度降低企業(yè)管理信息化的成本。 第二,ASP的用戶可以采用各種方式獲得應用和服務,軟件類服務產(chǎn)品完全可以通過網(wǎng)絡在非常短的時間內(nèi)組成一個完善的、高效的、先進的企業(yè)管理系統(tǒng),迅速獲得企業(yè)一體化的運營管理方案。 網(wǎng)絡經(jīng)濟發(fā)展突飛猛進,電子商務一日千里,網(wǎng)絡和網(wǎng)站從門戶到內(nèi)容、從注意力到垂直性,目前逐漸轉(zhuǎn)向熱衷ASP也是一個主要的原因。 筆者資料中,國內(nèi)最早對ASP觸電的是網(wǎng)友“飛鳥”,在1998年6月自發(fā)組織了研究、交流和探討ASP技術(shù)的“飛鳥之家”,現(xiàn)在已經(jīng)發(fā)展成為,成為國內(nèi)最早的ASP應用技術(shù)服務提供商網(wǎng)站。 上海的互易網(wǎng)絡有限公司結(jié)合國內(nèi)實際情況,推出了為國內(nèi)企業(yè)服務的ASP平臺互易網(wǎng),向企業(yè)提供以電子商務為核心的,企業(yè)內(nèi)、外部網(wǎng)絡設施和應用的遠程構(gòu)架和托管服務,創(chuàng)造虛擬企業(yè)門戶(EP)直接將ASP應用到商業(yè)增殖環(huán)節(jié)中去。 此外,ISP也全面轉(zhuǎn)向ASP的懷抱,成為ISP進一步發(fā)展的產(chǎn)物。 軟件商對于ASP更是情有獨鐘。 業(yè)界最新的消息是,中國第三電信“網(wǎng)通”已經(jīng)制定ASP發(fā)展戰(zhàn)略,國內(nèi)最大的管理咨詢公司“漢普”將把旗下八個子公司定位在企業(yè)內(nèi)部資源計劃管理(ERP)領(lǐng)域的ASP中,北京“聯(lián)成互動”瞄準客戶關(guān)系管理(CRM)領(lǐng)域的ASP,北京“數(shù)碼方舟”定位在網(wǎng)絡辦公的ASP,HP正在和中國建設銀行討論共建金融領(lǐng)域的ASP。 ASP正在IT經(jīng)濟大潮中顯山露水,其發(fā)展前景不可估量。 3. ASP的發(fā)展階段和面臨的問題以網(wǎng)絡服務商、軟件廠商和ISP為主力的各種IT角色,正在根據(jù)自己的優(yōu)勢條件出發(fā)對ASP領(lǐng)域進行多種方面的嘗試。 就目前階段來講,ASP提供的服務不計其數(shù)五花八門,沒有標準化和量化的概念,硬件廠商向ASP的“土壤”和勢力方向靠攏,軟件廠商和ISP則直接參與到ASP業(yè)務的第一線。 筆者估計,經(jīng)過一段時間的試探和發(fā)展,ASP將向服務集成方面發(fā)展,產(chǎn)品和服務初步的標準化將很快建立起來,接著進入到市場細化和標準制定、ASP產(chǎn)品成熟時期,ASP的穩(wěn)步增長,最終將成為IT行業(yè)商務模式的核心!目前在ASP發(fā)展的道路上,主要面臨的問題是觀念的轉(zhuǎn)變方面:用租賃代替購買,服務集成代替產(chǎn)品經(jīng)銷商、服務經(jīng)濟代替產(chǎn)品經(jīng)濟等等。 具體到實際方面來講,安全和服務的質(zhì)量是ASP和客戶共同關(guān)心的頭等大事,要實現(xiàn)ASP提出的“租賃高科技”的口號,ASP任重而道遠!ASP常用內(nèi)置函數(shù)1,日期/時間函數(shù)這些函數(shù)包括對“年”、“月”、“日”、“時”、“分”、“秒”、“星期”等的顯示。 (1)Now函數(shù):根據(jù)計算機系統(tǒng)設定的日期和時間,返回當前的日期和時間值。 使用方法now();(2)Date函數(shù):只返回當前計算機系統(tǒng)設定的日期值。 使用方法:date();(3)Time函數(shù):只返回當前計算機系統(tǒng)設定的時間值。 使用方法:time();(4)Year函數(shù):返回一個代表某年的整數(shù)。 使用方法:year(date),其中date參數(shù)是任意的可以代表日期的參數(shù),比如“year(date())”就表示是從“date()”得出的日期中提取其中“年”的整數(shù)。 另外,還可以這樣應用:“year(#5 20,2006#)”表示提取“2006年5月20日”中“年”的整數(shù)值。 關(guān)于“5 20,2006”,也可使用“5-20-2006”、“5/20/2006”等形式表現(xiàn),即“某月某日”和“某年”的組合。 同時注意使用“#”進行包括以表示日期值。 (5)Month函數(shù):返回1到12之間的整數(shù)值,表示一年中某月。 使用方法:month(date)。 關(guān)于參數(shù)date的說明和year函數(shù)相同。 但要注意日期的正確性,比如“#13-31-2006#”,根本就沒有“13”月,肯定是錯誤的了。 (6)Day函數(shù):返回1到31之間的整數(shù)值,表示一個月中的某天。 使用方法:day(date)。 關(guān)于參數(shù)date的說明和year函數(shù)相同。 同樣要注意日期的正確性,比如“#2-30-2006#”其中對“2”月定義的“30”日這天就是錯誤的。 (7)Hour函數(shù):返回0到23之間的整數(shù)值,表示一天中的某個小時。 使用方法:hour(time)。 其中參數(shù)time是任意的可代表時間的表達式。 比如“hour(time())”就表示是從“time()”得出的時間中提取其中“小時”的整數(shù)。 同樣,參數(shù)time還可以這樣應用“hour(#11:45:50#)”表示從“11”時“45”分“50”秒中提取當前小時數(shù)。 當然,定義的時間要符合時間的規(guī)范。 (8)Minute函數(shù):返回0到59之間的整數(shù)值,表示一小時中的某分鐘。 使用方法:minute(time)。 time參數(shù)的說明和hour函數(shù)相同。 (9)Second函數(shù):返回0到59之間的整數(shù)值,表示一分鐘中的某秒。 使用方法:second(time)。 time參數(shù)的說明和hour函數(shù)相同。 (10)Weekday函數(shù):返回一個星期中某天的整數(shù)。 使用方法:weekday(date)。 關(guān)于參數(shù)date的說明和year函數(shù)相同。 該函數(shù)返回值為“1”到“7”,分別代表“星期日”、“星期一”……“星期六”。 比如當返回值是“4”時就表示“星期三”。 (11)WeekDayName函數(shù):返回一個星期中具體某天的字符串。 相對weekday函數(shù)而言即翻譯出“星期幾”,使用方法:weekdayname(weekday)。 參數(shù)weekday即星期中具體某天的數(shù)值。 比如“weekdayname(weekday(date()))”就表示當前是“星期幾”。 因為“date()”表示的是當前的時間,而“weekday(date())”就表示的是一星期中具體某天的整數(shù)。 當然weekdayname函數(shù)最終顯示的字符串內(nèi)容還與當前操作系統(tǒng)語系有關(guān),比如中文操作系統(tǒng)將顯示“星期一”這類的中文字符,而英文操作系統(tǒng)則顯示為“Mon”(Monday簡寫)。 此外,在VBScript中還有一些關(guān)于時間間隔的計算函數(shù):(1)DateAdd函數(shù):返回指定時間間隔的日期、時間。 可以計算出相隔多少年、或相隔幾個月、又或相隔幾個小時等的新日期、時間。 使用方法:dateadd(interval, number, date)。 其中參數(shù)interval表示需要添加的時間間隔單位。 其是以字符串的形式表達的,比如“yyyy”表示年,“q”表示季度,“m”表示月份,“d”表示天數(shù),“ww”表示周數(shù),“h”表示小時數(shù),“n”表示分鐘數(shù),“s”表示秒數(shù)。 而參數(shù)number則表示添加的時間間隔數(shù)。 其是以數(shù)值的形式表達的,可以為負值。 參數(shù)date則要求是日期、時間的正確格式。 比如dateadd(d,100,2006-5-20)就表示2006年5月20號以后的100天的日期值:2006-8-28。 再比如dateadd(h,-12,2005-5-20 10:00:00)就表示2005年5月20號上午10點前的12小時的日期時間:2005-5-19 22:00:00。 (2)DateDiff函數(shù):返回兩個日期時間之間的間隔。 可計算出兩個日期相隔的年代、小時數(shù)等。 使用方法:datediff(interval,date1,date2)。 參數(shù)interval和dateadd函數(shù)中的interval參數(shù)內(nèi)容描述相同,date1和date2參數(shù)分別就是相互比較的兩個日期時間。 另外,當date1的日期時間值大于date2時,將顯示為負值。 比如DateDiff(yyyy,1982-7-18,date)表示某人的出生到現(xiàn)在已經(jīng)多少年了。 又比如DateDiff(d,1982-7-18,2062-7-18)則計算了80年過了多少天。 2,字符串處理函數(shù)在腳本的功能處理中,通常需要對一些字符串進行一些修飾性處理。 比如過濾掉字符串中的敏感字眼以符合最終顯示的要求;又比如一段較長的字符串,需要提取開頭的幾個字符時。 (1)Asc函數(shù):返回字符串中第一個字母對應的ANSI字符代碼。 使用方法:asc(string)。 其中string參數(shù)表示字符串。 (2)Chr函數(shù):返回指定了ANSI 字符代碼對應的字符。 使用方法:chr(chrcode)。 參數(shù)chrcode是相關(guān)的標識數(shù)字。 該函數(shù)的功能和asc函數(shù)形成對應。 比如:asc(“a”)表示小寫字母“a”的ANSI 字符“97”;同樣chr(97)表示的就是“小寫字母a”。 另外chr(chrcode)中參數(shù)chrcode值為0到31的數(shù)字時,表示不可打印的ASCII碼。 比如“chr(10)”表示換行符,“chr(13)”表示回車符等,這常用于輸入和顯示格式的轉(zhuǎn)換中。 (3)Len函數(shù):返回字符串內(nèi)字符的數(shù)目(字節(jié)數(shù))。 使用方法:len(string)。 比如len(“l(fā)ove”)的值就是4。 (4)LCase函數(shù):返回所有字符串的小寫形式。 使用方法:lcase(string)。 比如lcase(“CNBruce”)返回為“cnbruce”。 (5)UCase函數(shù):返回所有字符串的大寫形式。 與lcase函數(shù)形成對應。 同樣,ucase(“CNBruce”)返回為“CNBRUCE”。 (6)Trim函數(shù)、LTrim函數(shù)和RTrim函數(shù):分別返回前導和后續(xù)不帶空格、前導不帶空格或后續(xù)不帶空格的字符串內(nèi)容。 比如:trim(“ cnbruce ”)返回為“cnbruce”,前導和后續(xù)都不帶空格;ltrim(“ cnbruce ”)返回為“cnbruce ”,前導不帶空格;rtrim(“ cnbruce ”)返回為“ cnbruce”,后續(xù)不帶空格;該函數(shù)常用于注冊信息中,比如確保注冊用戶名前或后的空格。 (7)Left函數(shù):返回從字符串的左邊算起的指定數(shù)目的字符。 使用方法:left(string,length)。 比如left(“brousce”,5)返回為“brous”,即前五位字符。 (8)Right函數(shù):返回從字符串的左邊算起的指定數(shù)目的字符。 使用方法:right(string,length)。 比如right(“brousce”,4)返回為“usce”,即后四位字符。 (9)instr函數(shù):返回某字符串在另一字符串中第一次出現(xiàn)的位置。 比如現(xiàn)在查找字母“A”在字符串“A110B121C119D1861”中第一次出現(xiàn)的位置,則可以 instr(my_string,A110B121C119D1861)(10)Mid函數(shù):從字符串中返回指定數(shù)目的字符。 比如現(xiàn)在的“110”則應該是從字符串“A110B121C119D1861”的第2位取得3個單位的值:mid(A110B121C119D1861,2,3)(11)Replace函數(shù):在字符串中查找、替代指定的字符串。 replace(strtobesearched,strsearchfor,strreplacewith)其中strtobesearched是字符串,strsearchfor是被查找的子字符串,strreplacewith是用來替代的子字符串。 比如 replace(rscon,<,<) 則表示將rscon中所有“<”的字符替換為“<”3,類型轉(zhuǎn)換函數(shù)Cbool(string) 轉(zhuǎn)換為布爾值Cbyte(string) 轉(zhuǎn)換為字節(jié)類型的值Ccur(string) 轉(zhuǎn)換為貨幣類值Cdate(string) 轉(zhuǎn)換為日前類型的值Cdbl(string) 轉(zhuǎn)換為雙精度值Cint(string) 轉(zhuǎn)換為整數(shù)值Clng(string) 轉(zhuǎn)換為長整型的值Csng(string) 轉(zhuǎn)換為單精度的值Cstr(var) 轉(zhuǎn)換為字符串值Str(var) 數(shù)值轉(zhuǎn)換為字符串Val(string) 字符串轉(zhuǎn)換為數(shù)值4,運算函數(shù)Abs(nmb) 返回數(shù)子的絕對值Atn(nmb) 返回一個數(shù)的反正切Cos(nmb) 返回一個角度的余炫值Exp(nmb) 返回自然指數(shù)的次方值Int(nmb) 返回數(shù)字的整形(進位)部份Fix(nmb) 返回數(shù)字的整形(舍去)部份Formatpercent(表達式) 返回百分比Hex(nmb) 返回數(shù)據(jù)的16進制數(shù)Log(nmb) 返回自然對數(shù)Oct(nmb) 返回數(shù)字的8進制數(shù)Rnd 返回大于“0”而小于“1”的隨機數(shù),但此前需 randomize 聲明產(chǎn)生隨機種子Sgn(nmb) 判斷一個數(shù)字的正負號Sin(nmb) 返回角度的正鉉值Sqr(nmb) 返回數(shù)字的二次方根Tan(nmb) 返回一個數(shù)的正切值5,其他函數(shù)IsArray(var) 判斷一個變量是否是數(shù)組IsDate(var) 判斷一個變量是否是日期IsNull(var) 判斷一個變量是否為空IsNumeric(var) 判斷表達式是否包含數(shù)值IsObject(var) 判斷一個變量是否是對象TypeName(var) 返回變量的數(shù)據(jù)類型Array(list) 返回數(shù)組Split(liststr) 從一個列表字符串中返回一個一維數(shù)組LBound(arrayP 返回數(shù)組的最小索引Ubound(array) 返回數(shù)組的最大索引CreateObject(class) 創(chuàng)建一個對象GetObject(pathfilename) 得到文件對象ASP中Application和Session對象一、Application對象的成員概述Application對象成員包括Application對象的集合、方法和事件。 ⒈Application對象的集合Contents集合:沒有使用元素定義的存儲于Applicaiton對象中的所有變量的集合StaticObjects:使用元素定義的存儲于Application對象中的所有變量 的集合例:在中有如下賦值application(a)=aapplication(b)=128application(c)=false則有contents集合(1)=a 也可寫為(a)=(2)=128 也可寫為(b)=(3)=false 也可寫為(c)=false在此筆者推薦你在調(diào)用時使用類如(a)的方法,因為這樣更為直觀,如果用序號來表示的話則要考慮賦值的先后順序。 ⒉Application對象的方法(變量名):從集合中刪除指定的變量() :把集合中的所有變量刪除Lock() :鎖定Application對象,使得只有當前的ASP頁對內(nèi)容能進行訪問Unlock() :解除對Application對象的鎖定例:在中:application(a)=aapplication(b)=128application(c)= (1)& (2)& (3)& After Remove (b) (1)& (2)&執(zhí)行結(jié)果:a128FalseAfter Remove b:aFalse如果要刪除集合中所有變量用即可,至于Lock和Unlock方法在實際中經(jīng)常用到,讀者也比較熟悉,在此就不在累贅。 ⒊Application對象事件OnStart:第一個訪問服務器的用戶第一次訪問某一頁面時發(fā)生OnEnd :當最后一個用戶的會話已經(jīng)結(jié)束并且該會話的OnEnd事件所有代碼已經(jīng)執(zhí)行完畢后發(fā)生,或最后一個用戶訪問服務器一段時間(一般為20分鐘)后仍然沒有人訪問該服務器產(chǎn)生。 想要定義application對象的OnStart和OnEnd事件里做什么需要將代碼寫在這個文件里(下文有舉例),并且將該文件放在站點的根目錄下(一般是Inetpub\wwwroot\)二、Session對象的成員概述Session對象的成員比Application對象多一項屬性,即:集合、屬性、方法、事件⒈Session對象的集合Contents :沒有使用元素定義的存儲于特定Session對象的所有變量的集合。 StaticObject:使用元素定義的、存儲于Session對象中的所有變量的集合。 例:在中有如下賦值session(a)=asession(b)=128session(c)=false則有contents集合(1)=a 也可寫為(a)=(2)=128 也可寫為(b)=(3)=false 也可寫為(c)=false⒉Session對象的屬性CodePage: 可讀/可寫。 整型。 定義用于在瀏覽器中顯示頁內(nèi)容的代碼頁。 代碼頁是字符集的數(shù)字值,不同的語言使用不同的代碼頁。 例如,ANSI代碼頁為1252,日文代碼頁為932,簡體中文代碼頁為936。 LCID : 可讀/可寫。 整型。 定義發(fā)送給瀏覽器的頁面地區(qū)標識。 LCID是唯一地標識地區(qū)的一個國際標準縮寫,例如,2057定義當前地區(qū)的貨幣符號是£。 SessionID: 只讀。 長整型。 返回本會話的會話標識符。 每創(chuàng)建一個會話,由服務器自動分配一個標識符。 可以根據(jù)它的值判斷兩個用戶是誰先訪問服務器。 Timeout : 可讀/可寫。 整型。 為會話定義以分鐘為單位的超時限定。 如果用戶在這個時間內(nèi)沒有刷新或請求任何一個網(wǎng)頁,則該用戶產(chǎn)生的會話自動結(jié)束。 缺省值是20。 以上屬性在實際應用中作用不大,而且基本上不需要怎么修改,這幾個屬性也沒什么特殊的地方。 ⒊Session對象的方法(變量名): 從集合中刪除指定的變量() : 刪除集合中的所有變量Abandon() : 結(jié)束當前用戶會話并且撤消當前Session對象。 Session對象的(變量名)和()方法與Application對象的基本上沒什么區(qū)別,為幫助理解,大家可以參照上面的例子將Application改為Session。 這里要說明一下的是()和Abandon()的區(qū)別,執(zhí)行這兩個方法都會釋放當前用戶會話的所有Session變量,不同的是()單純地釋放Session變量的值而不終止當前的會話,而Abandon()除了釋放Session變量外還會終止會話引發(fā)Session_OnEnd事件,希望大家注意兩者的區(qū)別。 ⒋Session對象的事件OnStart: 當ASP用戶會話產(chǎn)生時觸發(fā),一旦有任一用戶對本服務器請求任一頁面即產(chǎn)生該事件。 OnEnd : 當ASP用戶會話結(jié)束時觸發(fā),當使用Abandon()方法或超時也會觸發(fā)該事件。 這兩個事件和Application的OnStart、OnEnd事件一樣,也是必須放在文件里,下面就重點和大家研究一下這四個事件的使用。 三、的Application和Session對象體現(xiàn)了其他ASP內(nèi)置對象所沒有的特征--事件。 每一個訪客訪問服務器時都會觸發(fā)一個OnStart事件(第一個訪客會同時觸發(fā)Application和Session的OnStart事件,但Application先于Session),每個訪客的會話結(jié)束時都會觸發(fā)一個OnEnd事件(最后一個訪客會話結(jié)束時會同時觸發(fā)Application和Session的OnEnd事件,但Session先于Application)。 OnStart和OnEnd這兩個事件一般應用在虛擬社區(qū)中統(tǒng)計在線人數(shù)、修改用戶的在線離線狀態(tài)等。 要具體定義這兩個事件,需要將代碼寫在文件,并將該文件放在站點的根目錄下(缺省是\Inetpub\wwwroot\)。 另外,Application和Session對象規(guī)定了在OnEnd事件里除了Application對象外其他ASP內(nèi)置對象(Response、Request、Server、Session...)一概不能使用。 以下舉一個虛擬社區(qū)統(tǒng)計在線人數(shù)的例子來說明如何使用這兩個事件。 文件說明 位于d:\Inetpub\wwwroot\目錄下 位于d:\Inetpub\wwwroot\目錄下,虛擬社區(qū)登錄頁面 位于d:\Inetpub\wwwroot\目錄下,用于檢測用戶輸入的用戶名及密碼 位于d:\Inetpub\wwwroot\目錄下,虛擬社區(qū) 位于d:\Inetpub\wwwroot\目錄下,存儲用戶信息的數(shù)據(jù)庫數(shù)據(jù)庫(ACCESS)結(jié)構(gòu): ===bbs表===id 用戶ID,長整型name 用戶名,文本型code 密碼,文本型online 在線狀態(tài),是/否 ======<script LANGUAGE=VBScript RUNAT=Server>Sub Application_OnStart application(online)=0End Sub sub Application_OnEndnd Sub Sub Session_OnStart End Sub Sub Session_OnEnd if (pass) then 判斷是否為登錄用戶的Session_(online)=application(online) end ifEnd Sub </script>====== ......密碼驗證,連接數(shù)據(jù)庫,檢測用戶輸入的用戶名及密碼是否正確if 密碼驗證通過 then session(name)=rs(name) session(id)=rs(id) session(pass)=trueelse 密碼錯誤! (online)=application(online)+ (update bbs set online=1 whereid))



相關(guān)標簽: 創(chuàng)建靈活且易于維護的代碼c中字符串的幾種定義方法及說明字符串的藝術(shù)C

上一篇:C字符串優(yōu)化指南提升應用程序性能和效率小

下一篇:掌握C字符串的本質(zhì)從頭開始構(gòu)建c字符串用什

內(nèi)容聲明:

1、本站收錄的內(nèi)容來源于大數(shù)據(jù)收集,版權(quán)歸原網(wǎng)站所有!
2、本站收錄的內(nèi)容若侵害到您的利益,請聯(lián)系我們進行刪除處理!
3、本站不接受違法信息,如您發(fā)現(xiàn)違法內(nèi)容,請聯(lián)系我們進行舉報處理!
4、本文地址:http://www.hudongshop.com/article/f7f82d3d386b38e4d8ea.html,復制請保留版權(quán)鏈接!


溫馨小提示:在您的網(wǎng)站做上本站友情鏈接,訪問一次即可自動收錄并自動排在本站第一位!
隨機文章
PHP 網(wǎng)站免遭 DDoS 攻擊的完整指南:最佳實踐和解決方案 (php網(wǎng)站免費的)

PHP 網(wǎng)站免遭 DDoS 攻擊的完整指南:最佳實踐和解決方案 (php網(wǎng)站免費的)

分布式拒絕服務,DDoS,攻擊是針對網(wǎng)站或在線服務的惡意嘗試,旨在使其無法正常運作,對于使用PHP構(gòu)建的網(wǎng)站而言,DDoS攻擊可能破壞業(yè)務、導致收入損失并損害聲譽,本文旨在提供一個全面的指南,幫助PHP網(wǎng)站管理員了解DDoS攻擊的威脅、實施最佳實踐并部署有效的解決方案以保護他們的網(wǎng)站,了解DDoS攻擊DDoS攻擊通常涉及使用大量受感染...。

最新資訊 2024-09-24 14:46:33

Java 中 Unicode 字符的最佳實踐:提升代碼質(zhì)量和可移植性 (java中unicode編碼表)

Java 中 Unicode 字符的最佳實踐:提升代碼質(zhì)量和可移植性 (java中unicode編碼表)

在Java編程中,正確處理Unicode字符至關(guān)重要,Unicode是一種字符編碼標準,它允許表示世界上所有書面語言中使用的字符,遵循最佳實踐可以提高代碼質(zhì)量,增強可移植性,并避免因Unicode編碼不當而導致的錯誤和問題,使用字符而非字節(jié)在Java中,字符使用char數(shù)據(jù)類型表示,而字節(jié)使用byte數(shù)據(jù)類型表示,字符表示Unicod...。

最新資訊 2024-09-23 00:05:01

揭秘 Struct 的奧秘:釋放 C++ 數(shù)據(jù)抽象的潛力 (揭秘st洲際的背景)

揭秘 Struct 的奧秘:釋放 C++ 數(shù)據(jù)抽象的潛力 (揭秘st洲際的背景)

在C,中,struct是一種強大的數(shù)據(jù)抽象工具,它允許您創(chuàng)建自定義數(shù)據(jù)類型,將數(shù)據(jù)及其操作封裝在一起,通過理解struct的工作原理,您可以利用其力量來提升您的代碼質(zhì)量和可維護性,什么是Struct,struct是C,中定義用戶定義數(shù)據(jù)類型的關(guān)鍵字,它類似于class,但缺乏面向?qū)ο缶幊蹋琌OP,的某些特性,例如繼承和多態(tài)性,st...。

互聯(lián)網(wǎng)資訊 2024-09-16 21:29:07

揭開 Google 開源代碼的神秘面紗 (揭開公司面紗)

揭開 Google 開源代碼的神秘面紗 (揭開公司面紗)

前言Google是開源軟件界的主力,其眾多的項目已成為許多現(xiàn)代應用程序和系統(tǒng)的基礎,從操作系統(tǒng)和編程語言到云計算工具和機器學習框架,Google的開源代碼影響著當今技術(shù)的各個方面,google.com,open,source,>,開發(fā)人員指南...。

最新資訊 2024-09-16 17:30:12

深入了解createfile錯誤:排查失敗的詳盡策略 (深入了解茶文化)

深入了解createfile錯誤:排查失敗的詳盡策略 (深入了解茶文化)

創(chuàng)建文件失敗是一個常見的Windows錯誤,通常由CreateFile函數(shù)引發(fā),此函數(shù)用于訪問和創(chuàng)建文件和目錄,因此它在應用程序開發(fā)中至關(guān)重要,排查CreateFile錯誤排查CreateFile錯誤可能很困難,因為原因可能有多種,以下是一個詳盡的策略,可幫助您識別并解決這些錯誤,檢查路徑和文件名確保您正在使用的路徑和文件名有效,驗證...。

最新資訊 2024-09-14 20:08:43

Java 核心技術(shù)揭秘:解鎖編程力量的秘訣 (java核心技術(shù)第十二版)

Java 核心技術(shù)揭秘:解鎖編程力量的秘訣 (java核心技術(shù)第十二版)

引言Java核心技術(shù)是當今最重要的編程語言之一,它被廣泛應用于各種領(lǐng)域,包括Web開發(fā)、移動開發(fā)和企業(yè)級應用程序,為了深入掌握Java編程,了解其核心技術(shù)至關(guān)重要,Java核心技術(shù)第十二版,Java核心技術(shù)第十二版,是該經(jīng)典系列的最新版本,它提供了全面且深入的Java核心技術(shù)的指南,本書由KathySierra和BertBates撰寫...。

互聯(lián)網(wǎng)資訊 2024-09-12 16:57:13

深入Java在線視頻庫:探索功能和優(yōu)勢 (深入java虛擬機)

深入Java在線視頻庫:探索功能和優(yōu)勢 (深入java虛擬機)

簡介在當今數(shù)字時代,在線視頻已成為一種流行的信息和娛樂手段,為了滿足這一需求,開發(fā)人員需要高效且功能強大的在線視頻庫,Java,作為一種廣泛使用的編程語言,為在線視頻庫的開發(fā)提供了豐富的特性和工具包,功能視頻管理上傳和下載視頻視頻轉(zhuǎn)碼,提供不同分辨率和格式視頻元數(shù)據(jù)管理,包括標題、描述和標簽視頻流播放,支持多種播放器和設備用戶管理用戶...。

本站公告 2024-09-07 21:43:43

Java 常量與多線程:理解不可變性在并行編程中的作用 (java常量命名規(guī)則)

Java 常量與多線程:理解不可變性在并行編程中的作用 (java常量命名規(guī)則)

引言在Java中,常量是指值在編譯時確定的變量,它們對于確保應用程序的健壯性非常重要,特別是在多線程環(huán)境中,本文將探討Java中的常量,并解釋為什么不可變性對于并行編程至關(guān)重要,什么是常量,常量是值不能被修改的變量,在Java中,常量可以通過使用`final`關(guān)鍵字來聲明,例如,javapublicfinalintNUM,THREAD...。

技術(shù)教程 2024-09-07 21:28:30

Java 常量與最終字段的區(qū)別:深入解析不可變性背后的細微差別 (java常量怎么定義)

Java 常量與最終字段的區(qū)別:深入解析不可變性背后的細微差別 (java常量怎么定義)

在Java中,可以通過兩種方式定義不可變的值,常量和最終字段,盡管它們看起來相似,但這兩者之間存在著重要的區(qū)別,理解這些區(qū)別對于編寫健壯可靠的代碼至關(guān)重要,常量常量是不變的數(shù)據(jù),其值在編譯時確定,它們使用final關(guān)鍵字聲明,并且其類型必須是基本類型,如int或double,或字符串常量,常量在聲明時必須初始化,并且其值不能在以后更改...。

技術(shù)教程 2024-09-07 21:23:39

Android 應用程序開發(fā)的終極指南:從零到高手 (android是什么)

Android 應用程序開發(fā)的終極指南:從零到高手 (android是什么)

第1章,Android簡介Android是Google開發(fā)并維護的開源移動操作系統(tǒng),主要用于智能手機、平板電腦和電視,它是一種基于Linux內(nèi)核的操作系統(tǒng),并使用Java語言作為其主要編程語言,以下是一些Android系統(tǒng)的主要特點,開源,Android系統(tǒng)是開源的,這意味著任何人都可以查看、修改和分發(fā)其源代碼,定制化,Android...。

技術(shù)教程 2024-09-07 20:41:23

隨機化的救星:Random函數(shù)在數(shù)據(jù)處理中的作用 (隨機化的作用是什么)

隨機化的救星:Random函數(shù)在數(shù)據(jù)處理中的作用 (隨機化的作用是什么)

引言在數(shù)據(jù)處理領(lǐng)域,隨機化扮演著至關(guān)重要的角色,幫助我們克服各種挑戰(zhàn)并提高數(shù)據(jù)分析和處理的效率,Random函數(shù)就是實現(xiàn)隨機化的一個強大工具,它可以生成隨機數(shù),并應用于廣泛的數(shù)據(jù)操作場景中,Random函數(shù)的原理Random函數(shù)是一種內(nèi)置函數(shù),通常用于在指定范圍內(nèi)生成一個隨機數(shù),它的語法如下,random,n,其中n是一個正整數(shù),表示...。

最新資訊 2024-09-07 02:40:05

深入 PHP 源碼:剖析 PHP 內(nèi)部的強大機制 (原生php入口文件)

深入 PHP 源碼:剖析 PHP 內(nèi)部的強大機制 (原生php入口文件)

前言作為一名PHP開發(fā)者,了解PHP的內(nèi)部工作原理至關(guān)重要,本文將帶您深入PHP源碼,剖析PHP入口文件的工作機制,揭開PHP內(nèi)部強大的機制,入口文件PHP的入口文件是index.php,它負責解析傳入的HTTP請求并啟動PHP應用程序,它通常位于Web服務器的根目錄中,例如,var,www,html,請求處理過程請求到達數(shù)據(jù)庫連接,...。

技術(shù)教程 2024-09-06 00:15:54

Copyright ? 2025 聚集網(wǎng) All Rights Reserved
此內(nèi)容系本站根據(jù)來路自動抓取的結(jié)果,不代表本站贊成被顯示網(wǎng)站的內(nèi)容或立場。
本頁閱讀量次 | 本站總訪問次 | 本站總訪客人 | 今日總訪問次 | 今日總訪客人 | 昨日總訪問次 | 昨日總訪客人 |
技術(shù)支持:聚集網(wǎng)

国产中文字幕免费观看_国产高清精品软男同_日韩免费视频播放_亚洲午夜激情
亚洲一区在线直播| 国产精品高潮呻吟久久av无限 | 国产精品盗摄久久久| 九九热久久66| 日韩中文不卡| 国产mv久久久| 男人天堂手机在线视频| 国产成人精品亚洲精品| 欧美日韩第二页| 国产精品久久久久久久久久久久冷 | 99精彩视频| 亚洲高清123| 久久久久久久激情| 久久久国内精品| 欧美大香线蕉线伊人久久国产精品| 日本三级韩国三级久久| 国产精品女主播| av动漫在线播放| 日本香蕉视频在线观看| 亚洲精品在线视频观看| 国产aaa一级片| 久久久亚洲成人| 欧美日韩在线不卡一区| 欧美自拍视频在线观看| 久久这里只有精品视频首页| 成人在线免费观看一区| 日韩精品一区二区三区久久| 国产精品久久久对白| 日韩中文字在线| 国产精品羞羞答答| 成人www视频在线观看| 99福利在线观看| 久久艹国产精品| 久久精品久久久久久| 操人视频欧美| 激情六月天婷婷| 亚洲熟妇无码一区二区三区导航| 久久99精品久久久久久噜噜| 久久久久久99| www.日本久久久久com.| 国产精品久久一| 欧美极品第一页| 欧美一区二区视频17c| 国产精品精品一区二区三区午夜版| 国产精品欧美在线| 亚洲综合日韩中文字幕v在线| 久热99视频在线观看| 不卡av电影在线观看| 在线观看日韩羞羞视频| 国产精品久久久久久久久久久久久 | 国产欧美日韩免费| 日韩中文字幕二区| 日韩伦理一区二区三区av在线| 欧美日韩电影一区二区| www.亚洲天堂网| 日韩视频―中文字幕| 精品国产乱码久久久久久蜜柚| 日日碰狠狠躁久久躁婷婷| 狠狠色综合网站久久久久久久| 国产伦精品一区二区三毛| 欧美亚洲另类在线| 国内精品伊人久久| 日本久久久久久| 一级日韩一区在线观看| 日韩欧美一区三区| 国产美女作爱全过程免费视频| 久久全国免费视频| 国产精品成人久久久久| 无码aⅴ精品一区二区三区浪潮| 黄页网站大全在线观看| 久久天堂国产精品| 欧美激情国产精品| 免费在线成人av| 久久久久久av无码免费网站下载 | 国产伦精品一区二区三区精品视频| 99视频日韩| 国产精品久久久久久亚洲影视| 岛国视频一区免费观看| 国产精品最新在线观看| 国产精品视频xxxx| 日本成熟性欧美| 国产精品69久久久久| 91久久久久久久久| 国产精品久久久久久久av电影| 水蜜桃亚洲精品| av免费观看久久| 美女av一区二区三区| 欧美精品卡一卡二| 久久99影院| 亚洲精品免费网站| 美女被啪啪一区二区| 日韩视频永久免费观看| 日韩av不卡播放| 91精品国产91久久久久久久久| www国产精品内射老熟女| 久久精品国产v日韩v亚洲| 欧美一区二区激情| 97久久国产精品| 欧美激情亚洲国产| 国产日韩在线一区二区三区| av免费观看网| 久久成人18免费网站| 免费av网址在线| 久久精品视频va| 日韩经典在线视频| 91精品国产电影| 午夜视频久久久| 国产精品91久久久| 日韩精品久久久毛片一区二区| 国产激情久久久| 日韩视频一二三| 国产av熟女一区二区三区| 少妇人妻在线视频| 久久久久国产精品熟女影院| 偷拍视频一区二区| 久久riav二区三区| 欧美另类一区| 超碰91人人草人人干| 国产精品综合网站| 亚洲一卡二卡三卡| 国产在线一区二区三区播放| 国产精品亚洲综合| 亚洲图片都市激情| 91禁国产网站| 日韩视频精品| 国产精品久久激情| 粉嫩av免费一区二区三区| 无码人妻h动漫| 久久精品国产亚洲精品| 免费亚洲一区二区| 中文字幕在线中文| 国产精品69页| 秋霞成人午夜鲁丝一区二区三区| 国产成人小视频在线观看| 黄色片一级视频| 国产精品成人av性教育| 国产日韩精品电影| 亚洲精品第一区二区三区| 久久99精品国产一区二区三区| 欧美亚洲丝袜| 中文精品视频一区二区在线观看| 91国产丝袜在线放| 日本一区高清在线视频| 国产精品色悠悠| 俄罗斯精品一区二区| 日本一区不卡| 欧美精品在线免费播放| 8050国产精品久久久久久| 欧美在线激情网| 欧美日韩999| 久久久影院一区二区三区| 精品www久久久久奶水| 在线观看av的网址| 国产成人午夜视频网址| av免费观看网| 黄色a级片免费| 日本一区高清在线视频| 欧美激情网站在线观看| 日韩在线播放视频| 91精品国产综合久久香蕉| 韩国福利视频一区| 奇米影视亚洲狠狠色| 亚洲美女搞黄| 欧美激情乱人伦一区| 久久深夜福利免费观看| 91精品国产综合久久香蕉922| 国产一区二区三区免费不卡| 青青久久av北条麻妃海外网| 亚洲精品久久区二区三区蜜桃臀| 精品视频9999| 国产精品男人爽免费视频1| 久久免费视频网| 成人黄动漫网站免费| 国产区一区二区三区| 免费不卡av在线| 欧美高清中文字幕| 人妻内射一区二区在线视频| 色婷婷综合久久久久中文字幕| 亚洲一卡二卡三卡| 欧美激情图片区 | 国产精品亚洲激情| 欧美亚洲国产成人精品| 色999日韩自偷自拍美女| 国产精品久久久久久久久久ktv| 99se婷婷在线视频观看| 女女同性女同一区二区三区按摩| 日韩人妻无码精品久久久不卡| 精品不卡一区二区三区| 日韩在线不卡视频| 久久香蕉视频网站| 欧美韩国日本在线| 欧美二区在线视频| 一本久道中文无码字幕av| 久久久999国产| 国产freexxxx性播放麻豆| 久久99久久精品国产| 99久久激情视频| 蜜桃av噜噜一区二区三| 欧洲精品久久| 欧美激情视频一区二区三区|