1. ASP.NET是什麼
ASP.NET又稱為ASP+,不僅僅是ASP的簡單升級,而是微軟公司推出的新一代腳本語言。ASP.NET基於.NET Framework的Web開發平台,不但吸收了ASP以前版本的最大優點並參照java、VB語言的開發優勢加入了許多新的特色,同時也修正了以前的ASP版本的運行錯誤。
ASP.NET就是屬於WebForm,也就是平時說的B/S模式的開發。而WinForm就是屬於C/S模式。
.NET有很多種語言組成,比如C#、 VB.NET、J#、Jsript、Managed C++,但是都是運行在.NET FrameWork Run Time底下的。
Asp.NET可以用C#或VB.NET來開發。編譯後形成CLR,通過伺服器的IIS+.NET FrameWork再次編譯來運行。
(1)a開頭的編程語言擴展閱讀
ASP.NET和ASP的區別:
ASP.NET和ASP的最大區別在於編程思維的轉換以及功能的增強。
一、ASP使用VB/JS這樣的弱類型、面向結構的腳本語言混合html來編程,而非面向對象,這就明顯產生以下幾個問題:
1、代碼邏輯混亂,難於管理。
2、代碼的可重用性差:由於是面向結構的編程方式,並且混合html,所以可能頁面原型修改一點,整個程序都需要修改,代碼重用性差。
3、弱類型造成潛在的出錯可能。
因此在功能方面ASP同樣存在問題:
1、功能太弱,一些底層操作只能通過組件來完成。
2、缺乏完善的糾錯/調試功能。
二、ASP.NET理論上可以使用任何編程語言包括C#、VB.NET、JS、、J#、Managed C++等等,最合適的編程語言還是MS為.NET Frmaework專門推出的C#。
優點如下:
1、是面向對象的編程語言,簡單易學。
2、具有面向對象編程語言的一切特性,比如封裝性、繼承性、多態性等等,封裝性使得代碼邏輯清晰,並且應用到ASP.NET上就可以使業務邏輯和Html頁面分離;繼承性和多態性使得代碼的可重用性大大提高
2. 數控編程語言中的A,F,U,W,O,是什麼意思
A我不知道!F是進給或者是螺距!U是X軸的相對坐標!W是Z軸的相對坐標!O是程序好的開頭!如O1234
3. 怎樣知道計算機代碼
第一步:同時按住鍵盤上的"Win+R",打開開始菜單下的運行框,如下圖所示:
(3)a開頭的編程語言擴展閱讀
源代碼主要作用:
1、生成目標代碼,即計算機可以識別的代碼。
2、對軟體進行說明,即對軟體的編寫進行說明。為數不少的初學者,甚至少數有經驗的程序員都忽視軟體說明的編寫,因為這部分雖然不會在生成的程序中直接顯示,也不參與編譯。但是說明對軟體的學習、分享、維護和軟體復用都有巨大的好處。
3、因此,書寫軟體說明在業界被認為是能創造優秀程序的良好習慣,一些公司也硬性規定必須書寫。
4、需要指出的是,源代碼的修改不能改變已經生成的目標代碼。如果需要目標代碼做出相應的修改,必須重新編譯。
4. javascript:; 這是什麼意思
JavaScript是個腳本編程語言,支持Web應用程序的客戶端和伺服器端構件的開發.在客戶端,它用於編寫Web瀏覽器在Web頁面上下文中執行的程序,在伺服器端,它可用於編寫用於處理Web瀏覽器提交的信息並相應地更新瀏覽器顯示的頁面。在前面介紹HTML時,我們曾經講到如果想要實現更多的互動網頁,就要在客戶端和伺服器端對數據進行處理,而對於客戶端的處理主要是配合客戶端網頁技術的Script語言,它在設計網頁時扮演的角色
◆動態網頁:JavaScript能夠開發與用戶雙向互動的功能,因為不需要將數據在客戶端和伺服器間來回傳遞,在速度上擁有即時的反應效果,因為程序直接在瀏覽器執行。
◆表單處理與驗證:作為表單欄位的驗證,檢查表單欄位是否輸入錯誤。
◆瀏覽器對象:直接使用瀏覽器對象,建立復雜的網頁內容,例如:打開新窗口載入網頁。當然利用JavaScript我們還可以製作出各種個樣的圖片,文字,滑鼠,動畫和頁面的效果,甚至還 可以做各種客戶端的小游戲呢!JavaScript可以插入到HTML文件內進行製作。若想使用JavaScript,應通過下面的格式將其插入HTML文件。 JavaScript代碼
◆LANGUAGE:設定Script語言的種類。若為JavaScript,則填寫JavaScript;若為VBScript,則填寫VBScript。
◆SRT:設定包含路徑的文件名,例如"C:/JScript/test.js"。Script標記可以放在HTML文檔的head或body中,多數情況下,最好把Script標記放在文檔頭部,以確保腳本中的所有JavsScript定義均在文檔主體之前。
◆JavaScript的說明語句使用了類似C++和JAVA的語法,"//"表示說明直到行尾,"/*"和"/*"表示其中的內容為說明信息。通過JavaScript不僅可以向Document對象寫入簡單文本,也可以用JavaScript生成在當前文檔中顯示的HTML元素。JavaScript和其它編程語言一樣,用變數存放數值.變數可以在程序其他部分使用。變數名可以用大寫字母(A-Z),小寫字母(a-z),和下劃線開頭,其餘的字元可以使用字母,下劃線或數字,變數名是區分大小寫的。與其他語言不同的是,JavaScript並不要求指定變數中包含的數據類型(甚至無法指定)。事實上,JavaScript能夠自動識別所輸入的數字或符號,所以在JavaScript中,不需設定數據類型。但另一方面,由於JavaScript自動完成不同類型之間的轉換,所以一定要跟蹤變數的數值類型,及其變數表達式中的轉換過程。
JavaScript支持以下四種基本數值類型。整數:表示整數的方法有10進制,8進制和16進制。就一般使用的數值而言,16進制是指0-15的數值,在JavaScript中,在其前面加"0x",標志其為16進制,8進制是在0-7前面加"0"。 浮點數:表示小數,很大的數或極小數,也可以是要用指數計數表示的數。表示較大數值時,可用E表示指數。 字元串:字元串被雙引號("")或單引號(')標識後加以使用。雙引號中或單引號中的數字不作為數字而作為字元串使用。因此這些數字不能參加計算。NaN:NaN即'Not a Number'表示是非數字的含義。在JavaScript內使用內置函數或錯誤字元串時,將會返回NaN這一特殊值。 Null:Null是指JavaScript內使用了空值。沒有聲明的變數,或者沒有賦予任和值的變數就會返回Null值。它與數值0和空字元串("")有所區別。
除了前面介紹的基本類型外,JavaScript還支持兩個復雜類型的變數,數組和對象,它們是用基本字元串,數字和邏輯類型構造起來的。 數組:數組是能夠存放一序列數值的對象,這些數值存放在數組的索引位置中。例如:可以用數組存放公司員工的資料,要在Web頁面上顯示員工姓名,可以用數組名跟蹤員工姓名。
5. 需要2種組合,比如數字和字母怎樣寫
正則表達式主體:1[0-9]+[a-zA-Z]+[0-9a-zA-Z]*|[a-zA-Z]+[0-9]+[0-9a-zA-Z]*說明:對照下面的圖,分為兩種情況:①至少一個數字開頭,接著至少一個字母,後面無論是數字還是字母都可以。②至少一個字母開頭,接著至少一個數字,後面無論是數字還是字母都可以。補充說明:雖然有些環境使用\d或[:digit:]之類的形式可以表示數字,或者其它的特定的形式所對應的特定字元集,但是這樣表示並不是通用的;因此建議使用通用的方式來寫正則表達式,如[0-9]表示數字,[a-zA-Z]表示大小寫字母等。當然,對於特定的編程語言可能還會涉及到轉義字元,屆時請注意一下。圖片解釋:
6. printf中的%c,%d,%u........都分別代表輸出的是什麼類型的
printf中分別代表的輸出類型:
%a(%A):浮點數、十六進制數字和p-(P-)記數法(C99)
%c:字元
%d:有符號十進制整數
%f:浮點數(包括float和doulbe)
%e(%E):浮點數指數輸出[e-(E-)記數法]
%g(%G):浮點數不顯無意義的零"0"
%i:有符號十進制整數(與%d相同)
%u:無符號十進制整數
%o:八進制整數 e.g. 0123
%x(%X):十六進制整數0f(0F) e.g. 0x1234
%p:指針
%s:字元串
%%:"%"
擴展語句:
C語言中printf語句的簡介:
printf()是C語言標准庫函數,用於將格式化後的字元串輸出到標准輸出。標准輸出,即標准輸出文件,對應終端的屏幕。printf()申明於頭文件stdio.h。
函數原型:int printf ( const char * format, ... );
返回值:
正確返回輸出的字元總數,錯誤返回負值,與此同時,輸入輸出流錯誤標志將被置值,可由指示器ferror來檢查輸入輸出流的錯誤標志。
調用格式:
printf()函數的調用格式為:printf("格式化字元串",輸出表列)。
格式化字元串包含三種對象,分別為:
(1)字元串常量;
(2)格式控制字元串;
(3)轉義字元。
字元串常量原樣輸出,在顯示中起提示作用。輸出表列中給出了各個輸出項,要求格式控制字元串和各輸出項在數量和類型上應該一一對應。其中格式控制字元串是以%開頭的字元串,在%後面跟有各種格式控制符,以說明輸出數據的類型、寬度、精度等。
7. 我有個PASCAL語言編程問題!!急
可能是你編得不太對,我改了一下:
program kjk(input,output);
var a,b,sum:integer;
begin
writeln('a,b=');
readln(a,b);
sum:=a+b;
writeln('sum=',sum);
end.
另附資料:PASCAL程序
我們日常生活中所說的程序是把做一件事的各個步驟清晰有序地表達出來。比如說我們要用WORD修改一篇文章,程序則如下:首先打開主機電源,再開顯示器,運行WINDOWS,打開WORD編輯窗口,調出要修改的文件,修改完後存檔┈┈同樣,我們要讓計算機完成一件事,也得告訴它每一步該怎能做。
現在我來看計算機如何完成這樣一個任務:給出一個任意圓的半徑,求其面積。
程序如下:
PROGRAM CIRCLE(INPUT,OUTPUT);
CONST PI=3.14;{用PI代替л,給其賦值為3.14}
VAR s,r:REAL;
BEGIN
writeln(』INPUT R』);
readln(R);{讀入半徑的值}
s:=pi*r*r;
writeln(』S=』,S);
END.
以上的第一行是程序首部。PROGRAM是保留字,PASCAL程序都以它開頭。CIRCLE是該程序的名字。括弧裡面是參數,注意:PASCAL的參數都是放在小括弧里,不能是中括弧或大括弧。INPUT 是標准輸入文件,OUTPUT是標准輸出文件,為了讀入數據和輸出結果,必須寫上參數INPUT和OUTPUT。(如果運行環境是在TURBO PASCAL中,第一行可省略)。CONST是一個常量說明,說明PI的值在本程序里都為3.14,大括弧里是注釋部分,程序是不會執行的。VAR是變數說明符,說明變數S,R的類型。從BEGIN開始,一直到END結束,是程序的主幹部分。在PASCAL程序中,每個語句都要以 「;」結尾 ,但有兩個語句例外:BEGIN 和END。BEGIN語句後不跟任何符號,而作為程序結束的END語句則以「.」結束,END語句前面一個語句末尾可以省略分號。
2. 3程序的構成
PASCAL程序結構包括以下三個部分:
1 程序首部
在本程序中,PROGRAM CIRCLE(INPUT,OUTPUT);便是首部,在不同的程序中一般只需將名字CIRCLE改成不同的名字便可。
2 程序的說明部分
本程序中,CONST PI=3.14 便是一個常量說明;VAR S,R:REAL便是一變數說明語句。除此之外,還有其它說明,如:
USE ......; 單元說明。
LABEL......; 標號說明。
TYPE......; 類型定義說明。
FUNCTION......; 函數定義說明。
PROCEDURE......;過程定義說明。
3 執行部分
如本程序的BEGIN 和END 之間這段語句便是執行部分。要執行的語句就在此間。
一個完整的PASCAL程序總體結構如下:
PROGRAM 程序名(INPUT,OUTPUT);
USE...{單元說明部分};
LABEL...{標號說明部分};
TYPE...{類型說明部分};
CONST...{常量說明部分};
VAR...{變數說明部分};
FUNCTION...{函數說明部分};
PROCEDURE...{過程說明部分};
BEGIN
程序體
END.
順序結構程序設計
內容提要
本章介紹了PASCAL中的數和符號的表示方法;四種標准數據類型;常量,變數和標准函數;表達式和輸入、輸出語句的用法。
學習要求
通過對本章的學習,要求能夠理解PASCAL中關於數、符號、常量、變數、四種基本的數據類型等知識點,掌握READ、WRITE語句的用法,能夠進行順序結構程序設計。
PASCAL中的數和符號
1.1 符號
在PASCAL中,允許使用的符號很多,但有一定的規則:
1 標2 點符號: 「;」是每一句的結束標3 志,4 但在BEGIN後不5 用,6 最後一個END後用「.」,7 「,8 」一般用在括弧和變數表中,9 用以分隔多個參數;單引號「ˊ」用於字元型中;「( )」中一般是參數,10 「[ ]」一般用於集合和數組中,11 「{ }」是用來存放注釋信息的;「:」是在變數和數據類型之間起分隔作用的。
12 運算符:
算術運算符有:+,-,*,/;
關系運算符有:>,<,=,>=,<=,<>;
邏輯運算符有:AND,OR,NOT;
1.2 標識符
在PASCAL語言中,一些事先定義好的由字母開頭,後跟數字和字母組成的字元串,它們代表了一定的意義,我們把它們稱為標識符。例如:PROGRAM就表明一個程序的開始,VAR則表明後面將要進行變數說明。系統事先定義了不少的標識符,我們把它們叫做保留字;另外,我們也可以自己定義標識符,自定義標識符要注意以下幾點:
1 自定義的標2 識符不3 要與系統定義的標4 識符同5 名6 。如:你不7 能定義一個叫BEGIN的標8 識符。
9 標10 識符要以字母開頭,11 後跟字母或數字或下劃線,12 中間不13 能出現空格,14 長度一般不15 超過8位。
16 標17 識符要先定義後使用,18 這一點我們在後面章節中會學到。
19 標20 識符的英文字母不21 分大小寫。
第二節 標准數據類型
PASCAL給編程人員提供了幾種標准數據類型,同時也允許自己定義數據類型。
1實型(REAL)
實型就是實數類型,是一種最常見的數據類型。
在PASCAL中,實數有兩種表示方法:小數表示法和指數表示法(也稱科學表示法)。下面是小數表示法的實例:
3.47 123.6 89000.0 -0.00000023
而用科學表示法,以上例子可分別表示為:
3.47E0 1.236E2 8.9E4 -2.3E-7
在科學表示法中,「E」 後面的數代表10的冪,前面的數一般在1到10之間取值。
實際上,TURBO PASCAL有五種實數類型:
類型 取值范圍 佔位元組數 有效位數
Real
Single
Double
Extended
comp 2.9e-39 1.7e38
1.5e-45 3.4e38
5.0e-324 1.7e328
1.9e-4951 1.1e4932
-263+1 263-1 6
4
8
10
8 7 8
11 12
15 16
19 20
19 20
2 整型(INTEGER)
整型即整數類型。它只能在整數這一無限集合中表示一個有限子集。在16位機中,整數的表示範圍為:-32768到32767。
在數學中,整數為實數的一個子集,為什麼有了實型還要定義整型呢?
在計算機進行運算中,CPU對整數和實數運算的處理方法不同,整數運算要快於實數運算。計算機在處理實數運算時存在一定的誤差,可能存在10000個1.0相加不等於10000的現象。所以一般不要用等號來判斷實數的相等性。
整型的運算符除了+ - * /,還有兩種特殊的運算符:DIV,MOD
DIV是整除運算,求出整數商:8 DIV 3=2 14 DIV 4=3
MOD是求余數的運算:17 MOD 4=1 -17 MOD 4=-1 17 MOD –4=1
TURBO PASCAL同樣支持五種整型定義:
類型 取值范圍 佔位元組數 有效位數
Shortint
Integer
Longint
Byte
Word -128 127
-32768 32767
-2147483648 2147483647
0 255
0 65535 1
2
4
1
2 8
16
32
8
16
3 布爾型(BOOLEAN)
BOOLEAN 一詞是根據十九世紀英國數學家George Boolean而命名。布爾型數據用來存放邏輯值,也叫布爾值。布爾值只有兩個:真(TRUE)或假(FALSE)。
與布爾運算相關的是邏輯運算符:與(AND),或(OR),非(NOT)。其運算規則如下:
假設有兩個條件A和B,只有A和B同時為真時,A AND B的結果才為真,否則為假;當A或B中至少有一個為真時,A OR B的結果為真,否則為假;當A為真時,NOT A的結果為假,A為假時,NOT A 的結果為真。
22 字元型(CHAR)
一個字元型數據變數是用來存放ASCII碼字元集內的某個字元。此時字元只代表某個符號,本身不具有原來的含義。例如 ′A′,′6′就是字元。字元型都要用單引號將其引起來。
第3節 常量和變數
3.1 常量
常量是這樣一種標識符,該標識符中的數據在整個程序中都不會變化。常量中的數據稱為常數,可分為以下四種:
整型常數,如:12,-33,825……
實型常數,如:0.35, -2.00, 12.3456……
布爾型常數,只有兩個:TRUE,FALSE
字元型常數,如:′1′, ′2′, ′A′, ′X′, ′@′, ′+′……
另外,還可以用常量標識符來定義常量,如:CONST PI=3.14。在常量標識符定義中,必須以CONST開頭,在本例中,標識符PI便被定義為實數3.14,在整個程序中,只要有標識符PI的地方,會自動被替換成數字3.14。
下面是幾個常量標識符定義的例子:
const abc=100;
date=』Monday』;
w=』+』;
3.2 變數
變數是在程序運行過程中,其值可以變化的量。給變數取名字比較靈活,和文件名取名規則比較類似:以字母開頭,後面加上數字或字母,中間不留空格。
以下是合法的變數名:A,B,A1,C4,DAY,MY_FIRST,GOOD……
變數在使用之前必須加以說明,說明的格式如下:VAR 變數表:類型;如VAR R,S:REAL;在這里,VAR是變數說明的保留字,說明變數之前必須得有它;R,S則是變數名,在第一章第三節的程序中它們分別代表半徑和面積,這一句變數說明的意思是:變數R,S中將要想存儲的數據是實數類型。
我們可以對變數定義這么理解:變數象一個盒子,不同的變數象不同形狀的盒子,盒子是用來裝東西用的。東西只有四種,分別是:REAL,INTEGER,BOOLEAN,CHAR。現在我們每個盒子上貼上標簽,標簽名分別是:INTEGER,REAL,BOOLEAN,CHAR,於是,每個盒子不能隨便裝東西了,貼有REAL標簽的盒子只能裝REAL類型的東西,貼有CHAR標簽的盒子則只能裝CHAR類的東西……而且,每個盒子只能裝一個東西。定義變數就象給盒子貼標簽,但還沒有裝東西,裝東西這個過程要在程序的執行部分才得以實現。
讓我們來看看下面這些定義變數的例子:
例1 VAR A1,B1:REAL;
W1,W:CHAR;
F1,F2:BOOLEAN;
DA,DB:INTEGER;
3 給變數賦值
變數定義好後還象是一個空盒子,要使用這個變數得先給它存進一個數,使它才有實際意義。給變數里存儲進一個某種類型的數便叫給變數賦值,其格式為:變數名:=數據。
我們假設事先已象例1那樣定義好了變數,下面來看如何給例1中的變數賦值。
A1:=3.14; B1:=-7.0;
W1:=』%』; W2:=』A』;
F1:=TRUE; F2:=FALSE;
DA:=9; DB:=-10;
經過以上定義後,我們用到變數實際上是用到變數中的數據。於是:
DA+DB的值為-1
A1+B1的值為-3.86
NOT F1的值為FALSE
3*DA的值為27
一個變數中只能存放一個數,但這個數並非恆定。假設一個變數DA已賦好了值3,如果繼續給它賦一個新值8,那麼,新值會自動取代舊值,DA中的數就變為8了。
注意:PASCAL中的賦值符號「:=」不是數學中的「=」,它是把符號右邊的數裝進左邊的變數里,如果右邊是一表達式,則先計算出表達式的值再賦給左邊的變數。變數在左,數字或表達式在右,右邊的值賦給左邊的變數,這個規則要記牢。
例3:已知變數X,Y,Z的值分別為3,6,-2,看看下面賦值語句執行的情況。
X:=5 ; 結果是:X中的3被5所取代
X:=Y+Z ; 結果是:右邊的表達式的值4被賦給了左邊的X
Y:=Y―Z ; 結果是:右邊的表達式的值8被賦給了左邊的Y
X:=X+1 ; 結果是:將右邊3+1=4的值被賦給了X變數
Z:=3*X―4*Y+5;結果是:先將右邊的表達式的結果計算出來,為 -10,再將-10賦給變數Z
以下的賦值式均為錯誤:
2:=x;
3*x:=4+z;
8:=9;
3*x-6:=z;
以上錯誤的原因為:賦值號左邊都不是變數,而是數字或表達式。其實,賦值語句對右邊幾乎沒有什麼要求,對左邊也只有唯一的一個要求:必須是一個變數。
第4節 標第5節 准函數
PASCAL提供了豐富的預定義標准函數,通過標准函數我們可以把一些復雜的數學問題簡化。下面讓我們來看看這些函數的功能。
1 絕對值函數 ABS() 例:ABS(-3.14)=3.14 ABS(6)=6
2 平方函數 SQR() 例:SQR(4)=16 SQR(-3)=9
3 開方函數 SQRT() 例:SQRT(9)=3 AQRT(2)=1.414
4 正弦函 SIN() 例:SIN(3.14)=0 SIN(3.14/2)=1.0
5 餘弦函數 COS() 例:COS(3.14)=1.0 COS(3.14/2)=0
6 以e為底數的指7 數函數EXP() 例:EXP(3)=e3
8 自然對數函數 LN() 例:ln3=ln(3)
9 取整函數 TRUNC() ,其作用是將括弧里的數的小數全部去掉 例:
TRUNC(3.14)=3 TRUNC(4.79)=4 TRUNC(-2.8)=-2
10 四舍11 五入取整函數 ROUND(),例:ROUND(3.14)=3.14 ROUND(4.8)=5
ROUND(-3.2)=-3 ROUND(-5.7)=-6
12 前導函數PRED(),其作用是對括弧中的整數求其前面一個整數,或者對括弧中的字元根據ASCII碼表中的次序求其前面的一個字元 例:
PRED(3)=2 PRED(123)=122 PRED(『C』)=』B』 PRED(『Z』)=』Y』
13 後繼函數SUCC(),其作用是對括弧中的整數求其後面一個整數,或者對括弧中的字元根據ASCII碼表中的次序求其後面一個字元 例:
SUCC(7)=8 SUCC(2)=3 SUCC(『A』)=』B』 SUCC(『Y』)=』Z』
13奇函數的判別函數 ODD() 其作用是對括弧中的整數進行判斷,如果為奇數,則結果為真,否則為假 例:ODD(7)=TRUE ODD(4)=FALSE
14取字元函數 CHR() 其作用是將括弧中的整數作為字元的序號,或稱字元的ASCII碼(見附錄),並將與序號對應的字元作為結果寫出來 例:
CHR(65)=』A』 CHR(66)=』B』 CHR(97)=』a』
取序號函數ORD() 該函數是CHR()的逆函數,是根據字母求出其ASCII碼 例:
ORD(65)=』A』 ORD(66)=』B』 ORD(97)=』a』
ORD(CHR(65))=』A』 CHR(ORD(『A』))=65
ORD(FALSE)=0 ORD(TRUE)=1
以上這些標准函數的自變數類型和函數類型我們用下面這個表來加以歸納:
自變數類型
函數類型
整 型
實 型
字 符 型
布 爾 型
整 型
ABS
SQR
PRED
SUCC TRUNC
ROUND
ORD
ORD
實 型
SIN
COS
EXP
LN
SQRT SIN
COS
LN
EXP
SQRT
ABS
字 符 型
CHR
PRED SUCC
布 爾 型 ODD PRED SUCC
第6節 表達式
由各種運算符把常量、變數、函數連接起來並且具有確定的值的式子是一個表達式,一個單獨的常量,變數,函數也是一個表達式,。我們來看看下列數學式子和表達式之間的關系:
(圖T2.1)
在PASCAL語言中,表達式有多種運算符,因此表達式的種類也是多樣的,主要有:算術表達式,關系表達式,邏輯表達式,字元表達式等。這里,我們先了解算術表達式,其餘幾種我們將在後面學到。在表達式中,每個運算符有運算的優先順序,我們可以按優先順序的高低將其分為這樣幾級:
NOT
*,/,DIV,MOD,AND
+,-,OR
=,<>,<,>,>=,<=
我們還規定:在同一級的的運算符中,其運算次序按從左到右的次序進行;如果有括弧,則括弧中的表達式優先。
第7節 輸入語句
輸入語句的功能是在程序執行過程中,暫停下來接受用戶從輸入端(一般是鍵盤)輸入數據,將接收到的數據存入預先設好的變數中,程序再接著執行。
6.1 READ語句
READ是一個讀數語句,後跟變數,讀進來的數就裝在變數里。如:
READ(X),其意思是等待由鍵盤輸入一個數,然後將此數賦值給變數X。它類似於一個賦值語句。
READ(X,Y,Z),其意思是等待用戶由鍵盤輸入三個數,這三個數按輸入的次序依次賦給變數X,Y,Z。它等價於以下三個語句:READ(X);READ(Y);READ(Z)。
注意事項:
1 由鍵盤輸入的數據類型要與變數的數據類型一致,不能出現將一個實數賦給一個整型變數之類的錯誤。
2 輸入的數據個數要與READ語句中變數的個數一致。如果要輸入多個數據,則有兩種情況:(1)如果輸入的數據是實數或整數類型,則各個數之間用空格隔開,最後才以回車鍵結束;(2)如果輸入的數據類型是字元型,則各字元間不能有分隔符,也不能有單引號把它引起,在最後一個字元後用回車鍵結束。
3 如果輸入數據的個數少於READ括弧中變數的個數時,程序會一直等到你輸完才會繼續執行。
4 如果READ語句中括弧中的變數超過一個,則中間用逗號隔開。
例4 已知變數A,例5 B,例6 C都是整型,例7 則READ(A,例8 B,例9 C)有以下幾種輸入法:
(1) 1□2□3↙(「□」代表空格,(2) 「↙」代表回車鍵,(3) 如未加其它說明,(4) 在本書中都這樣表示),(5) 執行的結果為:A=1,(6) B=2,(7) C=3。
(8) 1□2□3□4↙ 執行的結果為A=1,(9) B=2,(10) C=3,(11) 多餘的4沒起作用。
(12) 1↙2↙3↙ 執行的結果仍為A=1,(13) B=2,(14) C=3
(15) 1□2↙ 執行的結果為A=1,(16) B=2,(17) 因沒給Z賦值,(18) 則計算機一直處於等待狀態。
(19) 1↙2□3↙ 執行的結果仍為A=1,(20) B=2,(21) C=3。
6.2 READLN語句
READLN語句也是一個輸入語句,用法同READ非常類似,同樣是將由鍵盤讀入的數據存進後面括弧里的變數中。如:READLN(A,B,C);但是,也有不同之處:READLN語句把來自鍵盤的一串數據讀入相應的變數中後,便自動跳到下一行的第一數據處,如果原來行中還有未讀完的數據,則忽略這些數據。另外,READLN語句後面可以不帶參數,即只有一個「READLN」。此時它的作用是跳過本行,直接指向下一行的第一個數據,也可以簡稱為換行。那麼,READLN(A,B,C)就相當於以下四句:READ(A),READ(B),READ(C),READLN。
讓我們來看一個例子:
例5 程序中的語句 由鍵盤輸入的格式
READ(A,B); 1□2□3↙
READ(C,D); 4□5□6↙
READ(E,F,G); 7□8□9↙
READ(H); 10□11□12↙
則執行後的結果是:A=1,B=2,C=3,D=4,E=5,F=6,G=7,H=8
READLN(A,B); 1□2□3↙
READLN(C,D); 4□5□6↙
READLN( E,F,G); 7□8□9↙
READLN(H); 10□11□12↙
則執行後的結果是:A=1,B=2,C=4,D=5,E=7,F=8,G=9,H=10
第8節 輸出語句
當計算機處理完程序後,應該把結果顯示在屏幕上或在列印機上列印出來,這樣一個過程叫輸出。
7.1 WRITE語句
WRITE語句是將其後括弧中所帶輸出項的值列印出來,如果括弧中有多個輸出項,則一律用逗號隔開。它有以下幾種用法:
直接列印數字。如:WRITE(3),則在屏幕上列印一個「3」。
列印變數。如:已知A=3,B=6,C=9 則WRITE(A,B,C)執行的結果是在屏幕上列印3,6,9三個數。
列印表達式。如果括弧中是表達式,WRITE語句是先計算結果再列印。如:已知A=3,B=6,則WRITE(A+B-4)語句執行的結果是列印數字5。
列印字元或字元串。WRITE語句中的字元或字元串一律按原樣列印。如:
WRITE(′A′) , 則在屏幕上列印一個字母A;WRITE(′HELLO′),則在屏幕上列印一個詞HELLO;WRITE(′3+5′),在屏幕上不會列印數字8,而是「3+5」三個字元。
7.2 WRITELN語句
WRITELN語句也是列印語句,用法和WRITE語句非常類似,但WRITE語句在列印時是逐行列印,即一行打滿後才換行列印;而WRITELN語句是在列印完本語句所帶的參數後,無論該行是否已滿,都會換行。
例6 寫出下列語句執行後的結果:
WRITE(1,2,3);
WRITE(4,5,6);
WRITE(7,8,9);
執行的結果是:1 2 3 4 5 6 7 8 9(註:在屏幕上列印時是沒有空格的)
WRITELN(1,2,3);
WRITELN(4,5,6);
WRITELN(7,8,9);
則執行後的結果是:
1 2 3
4 5 6
7 8 9
另:WRITELN語句如不帶參數則表示列印一個空行,即換行。
7.3 列印格式
輸出語句在列印數據時,數據在屏幕上所佔的寬度是有規定的,列印的域寬有兩種:標准域寬和自定義域寬。
標准域寬
標准域寬是指系統默認的寬度。不同版本的TURBO PASCAL對不同的數據所規定的寬度是不同的。在TURBO PASCAL7中,規定如下:
(1)整數在輸出時,其寬度就是數據本身的寬度,也就是說數與數之間沒有空格。如:在例6中的WRITE語句中,真正的格式是:123456。
(2)實數在輸出時,默認的寬度是17位,如:在WRITE(30.0 , 411.7)語句中,其格式如下:3.0000000000E+01 4.1170000000E+02。
(3)字元型輸出寬度為1,也就是說字元之間沒有空格。如:
WRITE(′A′,′B′,′C′);列印出來就是ABC。另:字元串的輸出寬度也是其本身實際的寬度。
(4)布爾型輸出的寬度也是其本身實際的寬度,輸出的結果要麼是
′FALSE′,要麼是′TRUE′。
自定義域寬
在輸出的時候,系統允許用戶自定義輸出的域寬。
(1) 單域寬
在WRITE或WRITELN語句所帶的括弧中的每個輸出項後面加上數字n,中間用冒號隔開,數字n則表明該輸出項將占的域寬。如:
WRITE(3:5,45:4);輸出格式為:
□□□□3□□45;
WRITE(′A′:2,′B′:2,′C′:3);輸出的格式為:
□A□B□□C。
(2) 雙域寬
雙域寬是在括弧中每個輸出項後加上兩個數m 、n ,其中m代表輸出項所佔的總寬度,n代表在總寬度中小數所佔的位數,它們中間都要用冒號隔開;要求m>n。
如:WRITE(-3214.44:12:3);則輸出格式為:
□□□-3214.440
另:我們還可以用在輸出項之間加空格的辦法來控制數據之間的格式。如:WRITE(1,′′,2,′′,3);列印出來的格式是:
2 3 ,中間便有了空格。
第9節 順序程序設計舉例
前面學習了PASCAL的一些基本知識點,下面我們利用這些知識點來對給定的任務進程序設計。
例7 將變數A,B中的數交換次序並列印出來。
PROGRAM ex7(input,output);
VAR a,b,c:integer;
BEGIN
writeln('input a,b');
read(a,b);
writeln('a=',a,'b=',b);
c:=a;
a:=b;
b:=c;
writeln('a=',a,'b=',b);
END.
例8 已知三角形的三邊,求其面積。
在知道三邊A,B,C後,可用海倫公式求出其面積:S=
其中,P=(A+B+C)/2。
PROGRAM EX8(input,output);
VAR s,a,b,c,p:real;
BEGIN
writeln('input a,b,c');
readln(a,b,c);
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
writeln('s=',s);
END.
例9 編寫一程序,要求輸入一個字元,輸出該字元的前趨和後繼字元及該字元的ASCII碼值。
PROGRAM e9(input,output);
VAR c,c1,c2:char;
n:integer;
BEGIN
writeln('input a character');
read(c);
c1:=pred(c);
c2:=succ(c);
n:=ord(c);
writeln('c=',c:5,'c1=',c1:5,'c2=',c2:5,'n=',n:5);
END.
例10 已知一個三位數,將其倒序輸出。如:輸入479,輸出974。
PROGRAM ex10(input,output);
VAR a,b,c,d:integer;
BEGIN
writeln('input a 3_bit number');
readln(d);
a:=d div 100;
c:=d mod 10;
b:=(d-a*100-c) div 10;
d:=c*100+b*10+a;
writeln('d=',d);
END.
本章小結
在本章內容中,我們第一次全面接觸了TURBO PASCAL語言的程序設計知識,對TURBO PASCAL7的順序結構程序設計有了初步的了解。PASCAL 的數據類型有四種基本的類型:整型(INTEGER),實型(REAL),布爾型(BOOLEAN),字元型(CHAR);基本運算有三種:算術運算,關系運算,邏輯運算;要熟練掌握本書給出的標准函數,對每一個數學式要能熟練轉化為PASCAL的表達式。輸入語句有READ和READLN兩種;輸出語句有WRITE和WRITELN兩種,注意二者的區別。
思考與練習
下面數據哪些是整數,哪些是實數,哪些是非法的數?
3.0 3 e-8 1e+4 3e 2.4e-6 0.0012 5.0 2
找出下列程序段中的錯誤
CONST
PI:=3.14
A:=4;
B=6;
C:=』A』;
VAR A,B,C,D.E,F:REAL;
BEGIN
A+1:=3;
B=6
E,F:=7;
G:=TRUE;
C:=D;
已知有方和程:Ax2+Bx+c=0,輸入方程的系數A,B,C,求出其實根(在輸入系數時盡量讓方程有實根)。
任意輸入三個字母,判定其在字母表中是否相鄰。
已知三角形兩邊及夾角,求其面積。
已知有一半徑為2 的圓,要求任輸一個點的
坐標,判斷該點是否在圓內。
任給你一個四位數,將其千位,百位,十位,個位
拆出來。
8. A00是合法的用戶標識符嗎
不是。
標識符中只能包含數字,字母和下劃線,但開頭不能是數字,標識符也不能是編程語言所定義的關鍵字。
在C語言裡面,AGH是A和B,是系統裡面的函數。(A是C++的函數,C和D標識符不能用-和數字開頭,只能是_或者字母開頭,E和F,是系統的關鍵字,G在c語言裡面是,在C++Windows編程里被define成int了。
9. 程序開頭是float a; scanf("%f",&a); 這里的scanf("%f",&a)是什麼意思
%f是c語言中輸入和輸出的格式控制字元,要加上雙引號的,&是取地址的符號,鍵盤讀入的字元按%f的格式存到變數a中,f是float單精度浮點數