① 常量在計算機以什麼樣的二進制代碼存儲
哦
簡單
這其實就是引用了cmd中的命令:
WSHshellA.run "cmd.exe /c shutdown -r -t 60 -c ""說侯哥我錯了,不說就一分鍾關你機,不信,試試···"" ",0 ,true
shutdown -r -t 60 -c ""說侯哥我錯了,不說就一分鍾關你機,不信,試試···"是關鍵
見shutdown用法
=========================================================================
Microsoft Windows XP [版本 5.1.2600]
(C) 版權所有 1985-2001 Microsoft Corp.
C:\Documents and Settings\Administrator>shutdown
用法: shutdown [-i | -l | -s | -r | -a] [-f] [-m \\computername] [-t xx] [-c "co
mment"] [-d up:xx:yy]
沒有參數 顯示此消息(與 ? 相同)
-i 顯示 GUI 界面,必須是第一個選項
-l 注銷(不能與選項 -m 一起使用)
-s 關閉此計算機
-r 關閉並重啟動此計算機
-a 放棄系統關機
-m \\computername 遠程計算機關機/重啟動/放棄
-t xx 設置關閉的超時為 xx 秒
-c "comment" 關閉注釋(最大 127 個字元)
-f 強制運行的應用程序關閉而沒有警告
-d [u][p]:xx:yy 關閉原因代碼
u 是用戶代碼
p 是一個計劃的關閉代碼
xx 是一個主要原因代碼(小於 256 的正整數)
yy 是一個次要原因代碼(小於 65536 的正整數)
=========================================================================
而其他的就是一些判斷的語句,沒什麼強制性
=========================================================================
網路名片
VBScript(Microsoft Visual Basic Script Editon).,微軟公司可視化BASIC腳本版). 正如其字面所透露的信息, VBS(VBScript的進一步簡寫)是基於Visual Basic的腳本語言. 我進一步解釋一下, Microsoft Visual Basic是微軟公司出品的一套可視化編程工具, 語法基於Basic. 腳本語言, 就是不編譯成二進制文件, 直接由宿主(host)解釋源代碼並執行, 簡單點說就是你寫的程序不需要編譯成.exe, 而是直接給用戶發送.vbs的源程序, 用戶就能執行了.
目錄
VBS的基礎教程
1. 第一篇(共六篇)
2. 第二篇(共六篇)
3. 第三篇(共六篇)
4. 第四篇(共六篇)
5. 第五篇(共六篇)
6. 最後一篇:
7. 進階篇:
vbScript常用運算符與函數
VBS的基礎教程
1. 第一篇(共六篇)
2. 第二篇(共六篇)
3. 第三篇(共六篇)
4. 第四篇(共六篇)
5. 第五篇(共六篇)
6. 最後一篇:
7. 進階篇:
vbScript常用運算符與函數
展開
[日期檢測程序]
日期檢測程序
編輯本段VBS的基礎教程
第一篇(共六篇)
我知道菜鳥現在最關心的就是用什麼工具來開發VBS程序了, 答案是:記事本(Notepad),我不是開玩笑, 其實任何一種文本編輯器都可以用來開發VBS開發, 只不過記事本是由系統自帶的, 比較好找而已. 盡管如此, 我還是建議你去下載一個專業的文本編輯器, 因為這些工具可以提供 "語法高亮"等功能, 更加方便開發, 用哪一個隨你喜好, 我比較喜歡Edit Plus,ScriptCryptor也不錯
OK, 我們先來寫一個VBScript程序熱熱身.
REM 輸入並回顯你的名字
'使用InputBox和Msgbox函數
'(上面及本行可以不必寫入源代碼中,下面才是運行的代碼)
Dim name,msg
msg="請輸入你的名字:"
name=Inputbox(msg)
Msgbox(name)
把上面的程序清單輸入到記事本裡面, 然後保存為以.vbs為擴展名的文件(如果在文件名上沒有「.***」,就打開控制面板-文件夾選項-查看-取消隱藏已知文件類型的擴展名).然後雙擊, 觀察運行結果.
注意:為了使你學得更好,推薦自己輸入程序清單, 盡量不要復制->粘貼
我來解釋一下這個程序, 第一行和第二行的開頭分別是"REM"語句和" ' ", 這兩個東西的作用是相同的, 表示之後的文字是注釋, 就是說符號後的什麼也不幹,只是用來說明這段程序的功能, 版權信息等等. 注釋行是程序最重要的部分之一, 盡管它不是必需的, 但對於其他人閱讀源代碼, 以及自己分析源代碼是很有好處的. 好的習慣是在必要的地方加上清晰, 簡潔的注釋.
Dim用來聲明一個變數, 在VBS中, 變數類型並不是那麼重要, 就是說VBS會幫你自動識別變數類型, 而且變數在使用前不一定要先聲明, 程序會動態分配變數空間. 在VBS中你不用考慮name儲存的是一個整數還是一個小數(學名叫"浮點數"), 也不用考慮是不是字元串(一串字元, 比如:"Hello World"), VBS會自動幫你搞定. 所以第三行語句可以刪除, 效果不會變, 但我強烈反對這么做, 一個變數的基本原則就是:先聲明,後使用.變數名用字母開頭,可以使用下劃線,數字, 但不能使用vbs已經定義的字, 比如dim, 也不能是純數字.
下一行被稱之為"賦值", "="是賦值符號, 並不是數學中的等於號, 盡管看起來一樣.這是正統的理解, 你要理解成等於也沒有什麼不可. 賦值號的左邊是一個變數, 右邊是要賦給變數的值, 經過賦值以後, msg這個變數在程序中等同於"請輸入你的名字:"這個字元串,但當msg被再次賦值的時候, 原值就會消失. 不光字元串, 其他任何變數都這樣被賦值, 例如: a=2, b=12.222等等.
再往下,Inputbox和Msgbox是VBS內建的函數, 一個函數就相當於一個"黑箱", 有輸入(參數) 和輸出(返回)值, 你可以不用了解函數是怎麼運作的, 只要了解這個函數能幹什麼就行了, 我們也可以定義自己的函數, 不過那要等到以後再講. 現在我們只要了解, 一個函數可以有返回值也可以沒有, 可以有參數也可以沒有. 例如Inputbox就是有返回值的函數, 我們用賦值號左邊的變數來"接"住InputBox的返回值--就是你輸入的內容. 在inputbox右邊的括弧里是參數列表, 每個參數用","分隔開, 每個參數有不同的功效, 比如第一個參數會顯示在提示里, 我們把msg這個變數作為第一個參數傳給了Inputbox 函數, 而msg="請輸入你的名字:", 所以我們在對話框的提示欄就會看到"請輸入你的名字:" 第二個參數是對話框的標題, 我們用直接量(學名叫"常量", 這里是"字元串常量")傳遞給函數, 當然你也可以傳遞變數. Inputbox還有很多參數, 比如你在"名稱"後面再加一個","然後輸入隨便一串字元(字元串,用雙引號""包裹起來的一串字元叫做字元串)然後運行, 看看結果. 你會發現用於輸入的文本框有了默認的值, 這就是第三個參數的作用.
Msgbox函數是用來輸出的函數, 在VBS中沒有專門的輸出函數(BASIC中的print,C中的printf), 所以我們只能用對話框來觀察輸出結果, Msgbox的必要參數只有一個, 就是要輸出的內容, 在這種情況下, 我們不需要理會msgbox的返回值. 關於Msgbox和Inputbox我們以後還會在討論, 今天只是熱熱身, 到此為止.
要點:
1) 注釋(以REM或'開頭)行在程序中不起作用, 但能讓別人更容易讀懂你的程序.
2) 變數好像一個盒子, 或一個代號, 可以代表你想代表的東西. 變數賦值使用"="
3) 以""包裹起來的字元稱之為"字元串"
4) 函數像一個"黑箱", 有參數和返回值, 用"="左邊的變數可以接住返回值
5) Inputbox函數彈出一個輸入對話框,Msgbox則用於輸出
作業:
1) 試驗Inputbox的第三個參數
2) 寫一段程序輸出你的年齡
3) 寫一段程序進行3次輸入, 分別輸入你和你父母的姓名(要求顯示提示), 並分3次輸出
第二篇(共六篇)
我真沒想到, 第一次的作業竟然有人不會.看來要講的非常非常細致才行, 嗯, 今天講各種"量"和基本運算
先說常量, 這個比較簡單.
什麼是常量呢, 常量就是其值不可變化的量.
常量分為兩種:第一種, 自然常量. 這叫是因為它們本身就是常量, 你怎麼更改21的值呢? 他永遠都是21, 不可能變成46
如果你在程序中使用"21=46", 這樣的語句將會引發一個錯誤. 同樣的, 字元串也是常量 (還記得字元串嗎? 就是包裹在""之間的一串字元), "Hello World"就是一個例子, 如果你使用"Hello World"="Bye"這樣的語句同樣會引發一個錯誤. 你能舉出自然常量的更多例子嗎?
第二種, 是我們自己定義的常量,這種量也使用代號, 它們也被賦值, 但和變數的不同點在於, 他們在定義的時候被賦值,以後就不能改變了,如果企圖改變將會引發一個錯誤. 定義一個常量,我們使用"const"這個關鍵字(關鍵字的意思是系統定義了有特殊功能的字, 不能作為變數名或常量名使用)
格式是:const 常量名=常量值.
例如:
const PI=3.1415926
const NAME="記憶碎片"
這樣我們就定義了兩個常量, PI和NAME, 一般說來, 常量名全部使用大寫, 但也可以不用, 隨你喜好. 將一些在程序中不需要改變的值定義為常量是個好習慣, 這樣能防止不必要的意外. 另外, 使用自定義常量也可以減少你的工作量. 比如:
msgbox("Hello World")
msgbox("Hello World")
msgbox("Hello World")
msgbox("Hello World")
msgbox("Hello World")
這個程序輸出五次Hello World, 如果你想要改變輸出為Bye-Bye, 就必須修改全部程序, 當然你可以手動修改5次, 但如果你要輸出1000次呢? 常量就可以替我們解決這個問題:
const hw="Hello World"
msgbox(hw)
msgbox(hw)
msgbox(hw)
msgbox(hw)
msgbox(hw)
這樣當你要修改輸出的時候只要修改hw的值就行了.
好了, 現在我們來看看編程的第一塊重要"基石":變數. 解釋變數最好的辦法我覺得是"盒子", 一個變數好像一個盒子, 裡面只能裝一個東西, 當你要裝進去別的東西的時候必須把原有的東西拿出來. 這個"盒子"是有名稱的, 當你在程序中使用變數的時候, 系統會打開盒子取出裡面的東西, 讓這些東西參與處理, 而不是盒子. 有些語言是很依賴"盒子"裡面裝些什麼東西, 這樣才能找到合適的"盒子"(比如c語言), 但VBS給我提供的是能夠自動伸縮的"魔術盒", 我們不用關心裝進去的是什麼東西, VBS會自動調整盒子的大小. 例如:
Dim a1,a2,a3
a1=14
a2=12.23
a3="Hello"
而不用像C語言那樣麻煩: 或者是VB的正規聲明(VB可以聲明也可以不用)那樣:
int a1; Dim a1 as integer
float a2; Dim a2 as Double
char* a3; Dim a3 as string
a1=14; a1=14
a2=12.23; a2=12.23
a3="Hello"; a3="Hello"
嗯……扯遠了……
變數有什麼用呢? 哇, 那用處可大了. 最簡單, 你並不能確定程序運行時變數的值, 比如前一節課我們編的輸入姓名的程序, 你不能確定InputBox返回的是什麼(還記得Inputbox的返回值嗎? 就是你輸入的內容), 所以你就沒有辦法應對各種情況, 但我們用name這個"盒子"把用戶的名字裝起來, 到用的時候我們只要知道name這個盒子的名字就行了, 系統會自己打開它並把裡面的內容拿出來用. 再舉個例子, 我們編寫一個程序計算一個矩形的面積, 比如這個程序要發給小學生使用:
dim a,b,s
a=15
b=12
s=a*b
msgbox(s)
這樣就可以求出長為15,寬為12的矩形的面積了, 是不是很簡單? 當然, 這個程序也可以這樣寫:
dim s
s=15*12
msgbox(s)
這樣看起來程序短了許多, 也節約內存, 但兩種都不是鼓勵的做法, 為什麼? 請看下面.
現在, 我們的程序要變得像點樣子才行, 誰的程序寫出來還要別人修改源代碼才能用啊?
所以, 我們要接受用戶的輸入, 還記得嗎? InputBox函數.
修改後程序如下:
dim a,b,s
a=inputbox("請輸入矩形的長:")
b=inputbox("請輸入矩形的寬:")
s=a*b
msgbox(s)
ok, 這么一修改, 無論用戶輸入怎樣的數據, 我們都能計算出矩形的面積了. 如果你用s=15*12能改嗎? 當然不行.
我想你已經發現了, vbs中的數學計算和真正的算術沒有什麼不同, +,-,*,/,(),[],{}都是一樣的用法, 比如:
dim ans
ans=12+32/4+[(23-10)*2]
msgbox(ans)
四則運算的法則在編程中同樣生效, 你可以在編程中重新獲得小學時候的樂趣(你恨數學?那就別學電腦了).
在編程中有一個有趣的運算符是"mod", 這個運算符叫做"取余運算符", 就是取得一次除法的余數, 例如
dim a
a=16 mod 5
你知道a等於幾嗎? Bingo! 沒錯, 就是1. 因為16 / 5 =3....1, 所以mod計算的結果就是1.
還有一個運算符是"^"(就是鍵盤"6"上面的小箭頭), 他表示"乘冪"(或者是"方") 比如:
dim a,b,c
a=2
b=a^2
c=a^3
msgbox(b)
msgbox(c)
則b=a*a=4, c=a*a*a=8
好了,我們一次不要講太多, 這次就講到這里, 現在總結一下.
要點:
1) 常量分為自然常量和自定義常量, 常量的值不可修改
2) 變數就像盒子, 我們不在乎盒子里裝的是什麼, 但一定要知道盒子的名字
3) 四則運算在編程中沒有任何不同
4) MOD是取余運算
要使用void修飾符定義就行了.
② C語言如何定義二進制變數
C語言中沒有 「二進制變數」這一說法!
C語言中的數據基本類型包括:char short int long float double . 用哪種類型定義的就叫XX類型變數,如字元型變數,整型變數,浮點型變數。
各種變數中存儲的數據,都是以二進制進行存儲的。因類型的不同,採用的二進制編譯格式不同。如:整形類都是用補碼存儲,浮點型採用IEEE754標准存儲。
對於int a=0x1A ; int b=0101 ;這種變數初始化中,a,b依然是整形變數,0x1A這種以0x開頭的數據表示16進制常數(或稱常量),0101這種以0開頭的數字表示8進制常數。但程序設計中並沒有規定二進制常數的表示形式,如果需要使用的話,可以採用字元數組來存儲二進制數,如:
char a[100] = "10100101" ;
需要運算時,再通過自定義函數將字元串轉換成整數。
③ C語言中命名常量與符號常量的區別
你說的命名常量和符號常量應該是用const和define宏的意思
const表示常量,它會在數據區開辟一個空間用來存儲這個常量,但是這個常量只讀,不可寫。
用define宏只表示代碼代換,在預編譯的時候遇到define的時候會把它轉換成相應的值,然後再匯編到指令中去,所以用宏一般會把最後處理得到的值會寫入指令,用立即數定址的方式在指令空間裡面
這是它們本質上的區別,還有就是其他程序要訪問這個常量,const常量要用extern聲明,表示這個常量是其他數據空間的,在連接的時候會處理。
如果是宏的話就必須要包含這個宏定義的頭文件,這個是在預編譯的時候處理的
希望能幫到你
④ 正確的C語言常量是什麼
C語言的常量有整數常量,實型常量,字元常量,符號常量等。
1、整數常量
整數常量是指直接實用的整形常數,又稱整形常數或者整數,例如,1,-9等。整數常量可以是長整形、短整型、符號整型和無符號整型。
a)八進制數
八進制整數必須以0開頭,即以0作為八進制數的前綴。數字取值范圍為0—7.八進制數常是無符號數
b)十進制數
十進制數是不需要在其面前加前綴的。十進制數中包含的數字0—9組成。
c)十六進制數
常量前面使用0x作為前綴,表示該常量是用十六進製表示。十六進制中所包含的數字由0—9以及字母A—F組成(十六進制數中的字母可以使用A—F大寫形式,也可以使用a—f小寫形式。)
整數數據都以二進制的形式存儲在計算機中,其數值以補碼的形式表示。一個正數的補碼與其原碼形式相同,一個負數的補碼是將該數絕對值的二進制形式按位取反再加1.
2、實型常量
實型稱浮點型,由整數和小數部分組成,其中用十進制的小數點隔開。表示實數的方式由科學計數和指數方式兩種。
a)科學計數方式
科學計數方式就是使用十進制的小數方法進行描述實型
b)指數方式
若實數非常大或非常小,使用科學計數方式則不利於觀察,此時可以使用指數方法顯示實型變數。使用字母e或者E進行指數顯示,如45e2表示4500,而45e-2表示的是0.45
在編寫實型常量時,可以在常量的後面加上那個符號F或者L進行修飾。
F表示該常量是float單精度類型,L則表示該常量是為long
double長雙精度類型。
如果不在後面加上後綴,那麼默認的狀態下,實行常量為double雙精度類型。
3、
字元型變數
字元型常量可以分為字元常量和字元串常量
a)字元常量
字元常量分為一般字元常量和特殊字元常量。
使用單撇號括起一個字元的形式即字元常量。使用字元常量需要注意以下幾點:
字元常量只能用單撇號括起來,
不能使用單引號或其他括弧。
字元常量中只能包括一個字元,不能是字元串。
字元常量是區分大小寫的。
單撇號代表定界符,不屬於字元常量中旳一部分。
單撇號裡面可以是數字、字母等C語言字元集中除』和\以外所有可現實的單個字元,但是數字被定義為字元之後則不能參與數值運算。
特殊字元常量就是轉義字元。轉移字元是C語言中表示字元的一種特殊形式,其含義是將反斜杠後面的字元轉換成另外的意義。
在使用注意字元時應注意:
轉義字元只能使用小寫字母,每個轉義字元只能看成一個字元。
垂直製表符\v和換頁符\f對屏幕沒有任何影響,但會影響列印機執行響應操作。
在C語言程序中,使用不可列印字元時,通常用轉義符表示。
如果反斜杠之後的字元和他不構成轉移字元,則』\』不起轉義作用,將被忽略。
b) 字元串常量
字元串常量是一對用雙引號括起來的若干字元序列。字元串中字元的個數稱為字元的長度,長度為0的字元串稱為空串。
C語言中存儲字元串常量時,系統會在字元串的末尾自動加一個』\0』作為字元串結束的標志。
4、
符號常量
在C語言中,通常將程序中的常量定義為一個標識符,這個常量就叫做符號常量。在使用符號常量之前必須先進行定義,大多數情況下,符號常量用大寫英文字母表示。定義符號常量的一般形式:
#define
符號常量名
常量值
⑤ c語言中二進制數最右邊的(最低位)是叫第零位還是第一位
c語言中二進制數最右邊的(最低位)是叫第0位比較好。因為它對應的權是2的0次方。在具體問題中的描述還看具體問題而定,因為有可能不同的地方,有不同的解釋。
⑥ C語言中常量在內存中的存儲形式怎麼表示
這要知道
原碼、補碼與反碼的關系。
在c語言中,負數是用補碼表示的。
最高位為1,表示負數,為0表示正數
以八位為例,8在內存中的形式是00001000;
-8就是8的原碼的反碼+1
反碼:11110111
補碼:11110111
+
1
=11111000。這就是其形式。
樓上給出的是16位形式~
⑦ vb.net如何讀寫二進制文件 有各種類型的變數
open函數用來打開一個文件,其調用的一般形式為:
文件指針名=fopen(文件名,使用文件方式);
其中,
「文件指針名」必須是被說明為FILE
類型的指針變數;
「文件名」是被打開文件的文件名;
「使用文件方式」是指文件的類型和操作要求。
「文件名」是字元串常量或字元串數組。
例如:
FILE
*fp;
fp=("file
a","r");
其意義是在當前目錄下打開文件file
a,只允許進行「讀」操作,並使fp指向該文件。
又如:
FILE
*fphzk
fphzk=("c:\\hzk16","rb")
其意義是打開C驅動器磁碟的根目錄下的文件hzk16,這是一個二進制文件,只允許按二進制方式進行讀操作。兩個反斜線「\\
」中的第一個表示轉義字元,第二個表示根目錄。
使用文件的方式共有12種,下面給出了它們的符號和意義。
文件使用方式
意義
「rt」
只讀打開一個文本文件,只允許讀數據
「wt」
只寫打開或建立一個文本文件,只允許寫數據
「at」
追加打開一個文本文件,並在文件末尾寫數據
「rb」
只讀打開一個二進制文件,只允許讀數據
「wb」
只寫打開或建立一個二進制文件,只允許寫數據
「ab」
追加打開一個二進制文件,並在文件末尾寫數據
「rt+」
讀寫打開一個文本文件,允許讀和寫
「wt+」
讀寫打開或建立一個文本文件,允許讀寫
「at+」
讀寫打開一個文本文件,允許讀,或在文件末追加數據
「rb+」
讀寫打開一個二進制文件,允許讀和寫
「wb+」
讀寫打開或建立一個二進制文件,允許讀和寫
「ab+」
讀寫打開一個二進制文件,允許讀,或在文件末追加數據
對於文件使用方式有以下幾點說明:
1)
文件使用方式由r,w,a,t,b,+六個字元拼成,各字元的含義是:
r(read):
讀
w(write):
寫
a(append):
追加
t(text):
文本文件,可省略不寫
b(banary):
二進制文件
+:
讀和寫
2)
凡用「r」打開一個文件時,該文件必須已經存在,且只能從該文件讀出。
3)
用「w」打開的文件只能向該文件寫入。若打開的文件不存在,則以指定的文件名建立該文件,若打開的文件已經存在,則將該文件刪去,重建一個新文件。
4)
若要向一個已存在的文件追加新的信息,只能用「a」方式打開文件。但此時該文件必須是存在的,否則將會出錯。
5)
在打開一個文件時,如果出錯,fopen將返回一個空指針值NULL。在程序中可以用這一信息來判別是否完成打開文件的工作,並作相應的處理。因此常用以下程序段打開文件:
6)
if((fp=fopen("c:\\hzk16","rb")==NULL)
{
printf("\nerror
on
open
c:\\hzk16
file
⑧ C語言裡面的常量是什麼
C語言裡面的常量是指不會變化的常數或編碼,例如圓周率3.14就可以定義為一個常量。
「常量」的廣義概念是「不變化的量」,例如:在計算機程序運行時,不會被程序修改的量;數學函數中的某一個量,例如每一個具體的圓的半徑、直徑數值;物理學中的靠近地面的重力加速度;真空中的光速數值;不同的微粒的各自的質量。
一層含義指它們的編碼方法是不變的,但是嚴格來說「人為規定的某一種方法也可以因地制宜而人為改變,所以其本身數值大小『不是『常量』的內涵」。比如字元'A'無論在硬體、軟體還是各種編程語言中,它的信息編碼即為 「 0x41」。
(8)命名常量在二進制文件是以常量名字來存儲的擴展閱讀:
C語言中,常量概念容易存在的錯誤解釋:
在除了「C/C++」的一些高級程序語言中,「常量」可以被稱作,「在一個信息變化過程中,始終不發生改變的量」,其可以是不隨著時間變化的某些量的固定信息;也可以表示為某一數值的字元(或字元串),常被用來標識、測量和比較兩者的差異。
但在 「C/C++語言中」,「常量」如果還用「運行過程中不變的量」來描述,就顯得不太准確了,甚至是在具體使用時,這就是一個錯誤的概念。
在 「C/C++」中,定義「指針常量」時,根據「const 」的位置的不同,可以定義出幾個不同的形式,雖然其看起來「符合常量的概念」,但是在實際運行中,其值或地址值是會發生變化的,所以本質還不是「常量概念」。
⑨ C語言 常量以什麼形式存儲的二進制原碼還是補碼
具體要看常量是什麼類型的。對於整型有符號常量是以補碼存儲的。