編寫程序時的編譯符號
『壹』 C語言規定了一套在程序設計時可以使用的基本符號,他們是什麼
C語言程序設計時可以使用的符號包括以下幾種:1數據類型定義符號:int、char、float等;2函數定義相關符號:main,void等;3編程語句:if……else,while、switch等;4運算符號:+、-、*、/、<、>等
『貳』 C語言的按照標識符、關鍵字、常用編譯指令有哪些
我們可以在C源程序中插入傳給編譯程序的各中指令,這些指令被稱為預處理器指令,它們擴充了程序設計的環境。現把常用的預處理命令總結如下:
1. 預處理程序
按照ANSI標準的定義,預處理程序應該處理以下指令:
#if #ifdef #ifndef #else #elif
#endif
#define
#undef
#line
#error
#pragma
#include
顯然,上述所有的12個預處理指令都以符號#開始,,每條預處理指令必須獨佔一行。
2. #define
#define指令定義一個標識符和一個串(也就是字元集),在源程序中發現該標識符時,都用該串替換之。這種標識符稱為宏名字,相應的替換稱為宏代換。一般形式如下:
#define macro-name char-sequence
這種語句不用分號結尾。宏名字和串之間可以有多個空白符,但串開始後只能以新行終止。
例如:我們使用LEFT代表1,用RIGHT代表0,我們使用兩個#define指令:
#define LEFT 1
#define RIGHT 0
每當在源程序中遇到LEFT或RIGHT時,編譯程序都用1或0替換。
定義一個宏名字之後,可以在其他宏定義中使用,例如:
#define ONE 1
#define TWO ONE+ONE
#define THREE ONE+TWO
宏代換就是用相關的串替代標識符。因此,如果希望定義一條標准錯誤信息時,可以如下定義:
#define ERROR_MS 「Standard error on input \n」
如果一個串長於一行,可在行尾用反斜線」\」續行,如下:
#define LONG_STRING 「This is a very very long \
String that is used as an example」
3. #error
#error指令強制編譯程序停止編譯,它主要用於程序調試。#error指令的一般形式是:
#error error-message
注意,宏串error-message不用雙引號包圍。遇到#error指令時,錯誤信息被顯示,可能同時還顯示編譯程序作者預先定義的其他內容。
4. #include
程序中的#include指令要求編譯程序讀入另一個源文件。被讀入文件的名字必須用雙引號(「」)或一對尖括弧(<>)包圍,例如:
#include 「stdio.h」
#include <stdio.h>
都使C編譯程序讀入並編譯頭文件以用於I/O系統庫函數。
包含文件中可以包含其他#include指令,稱為嵌套包含。允許的最大嵌套深度隨編譯器而變。
文件名被雙括弧或尖括弧包圍決定了對指定文件的搜索方式。文件名被尖括弧包圍時,搜索按編譯程序作者的定義進行,一般用於搜索某些專門放置包含文件的特殊目錄。當文件名被雙括弧包圍時,搜索按編譯程序實時的規定進行,一般搜索當前目錄。如未發現,再按尖括弧包圍時的辦法重新搜索一次。
通常,絕大多數程序員使用尖括弧包圍標準的頭文件,雙引號用於包圍與當前程序相關的文件名。
5. 條件編譯指令
若干編譯指令允許程序員有選擇的編譯程序源代碼的不同部分,這種過程稱為條件編譯。
5.1#if、#else、#elif #endif
條件編譯指令中最常用的或許是#if,#else,#elif和#endif。這些指令允許程序員根據常數表達式的結果有條件的包圍部分代碼。
#if的一般形式是:
#if constant-expression
Statement sequence
#endif
如#if後的常數表達式為真,則#if和#endif中間的代碼被編譯,否則忽略該代碼段。#endif標記#if塊的結束。
#else指令的作用與C語言的else相似,#if指令失敗時它可以作為備選指令。例如:
#include <stdio.h>
#define MAX 100
Int main(void)
{
#if MAX>99
printf(「Compiled for array greater than 99.\n」);
#else
printf(「Complied for small array.\n」);
#endif
return 0;
}
『叄』 我用editplus編寫程序時,編譯過程中提示找不到符號,求解~
如果TestTeam 和Team是在同一個目錄下的話。先javac Team 後再 Javac TestTeam
『肆』 #define ok 1 是什麼意思
1、宏定義,就是定義ok=1,當後面調用ok的時候,ok就相當於1;
2、在程序設計中使用宏的好處是:使程序方便閱讀,同時編寫起來也方便。 比如「#define ok 1、#define ERROR 0、#define OVERFLOW -2」這三個宏一般用在子程序,子模塊返回的三個狀態。用 1、0、-2 三個數來表示。
程序中只是寫三個數的話,閱讀時不太明白三個數的意義,需要深入程序中去了解。當時了解了,記住了,過後可能又會忘記。寫成這樣,不用了解具體是幾,只知道是這個狀態。
自己寫程序,有時也會忘記自己給這幾個狀態當時定義了是幾,所以用宏代替你的好記性。
3、可以看看C++語言中關於"#define"的學習資料。
⑴無參宏定義
無參宏的宏名後不帶參數。
其定義的一般形式為:
#define 標識符 字元串
其中的「#」表示這是一條預處理命令。凡是以「#」開頭的均為預處理命令。「define」為宏定義命令。「標識符」為所定義的宏名。「字元串」可以是常數、表達式、格式串等。
符號常量的定義就是一種無參宏定義。此外,常對程序中反復使用的表達式進行宏定義。
例如:
#define M (y*y+3*y)
它的作用是指定標識符M來代替表達式(y*y+3*y)。在編寫源程序時,所有的(y*y+3*y)都可由M代替,而對源程序作編譯時,將先由預處理程序進行宏代換,即用(y*y+3*y)表達式去置換所有的宏名M,然後再進行編譯。
⑵帶參宏定義
C++語言允許宏帶有參數。在宏定義中的參數稱為形式參數,在宏調用中的參數稱為實際參數。
對帶參數的宏,在調用中,不僅要宏展開,而且要用實參去代換形參。
帶參宏定義的一般形式為:
#define 宏名(形參表) 字元串
在字元串中含有各個形參。
帶參宏調用的一般形式為:
宏名(實參表)。
『伍』 我自己寫了下面這個程序,編譯時老是出現找不到i這個符號!
確實找不到,因為你沒有定義過i
你需要定義i,比如: int i = 0;
或者寫在for裡面: for (int i = 0; i < args.length; ++i)
『陸』 機器語言編寫的程序是由哪些符號組成的
機器語言程序的構成應該是二進制的機器指令序列集合,機器指令由操作碼和操作數組成。
一個C語言由數據類型、常量與變數、數組、指針、字元串、文件輸入或者輸出構成。C語言是一門面向過程的計算機編程語言,C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
『柒』 C語言編程的注釋符號是
有兩種注釋方法:
// 行注釋,可以注釋其後的一行。
/* */ 塊注釋,注釋這兩個符號中間的所有區域。
『捌』 寫了一段java程序,編譯時提示找不到符號,請問該怎麼修改
Scanner類沒有nextChar()方法,用next()返回字元串,是一樣的,還有一點就是只要一個Scanner對象就行了,希望能幫到你。
Scanner sc=new Scanner(System.in);//只需要一個Scanner對象就行了
System.out.println("請輸入性別、父親身高、母親身高、是否喜歡體育鍛煉:");
String sex,sports,diet;// 性別,體育鍛煉,飲食習慣
int faHeight,moheight;//父親母親身高
sex=sc.next();//next()返回的是String類型
faHeight=sc.nextInt();//nextInt()返回int類型
moheight=sc.nextInt();
『玖』 請問編程里的 「. _ : = 」各表示什麼意思
1、" . " —— 用在指針和結構體中。比如Student a;(Student 中有int sno;int grade;)int *b = Student;那麼 (*b).sno等同於a.sno。
2、「 :」——用在選擇判斷。x = (a > b) ? a : b;
3、「 = 」——就是賦值運算符號了,最常用的。int a = 1;表示將1賦值給變數a;int b = a;表示將a變數的值賦值給b。
編程為編定程序的中文簡稱,讓計算機代為解決某個問題,對某個計算體系規定一定的運算方式,使計算體系按照該計算方式運行,並最終得到相應結果的過程。
(9)編寫程序時的編譯符號擴展閱讀:
編程的執行原理:
1、計算機對除機器語言以外的源程序不能直接識別、理解和執行,都必須通過某種方式轉換為計算機能夠直接執行的。
2、程序設計語言編寫的源程序轉換到機器目標程序的方式有兩種:解釋方式和編譯方式。
3、解釋方式下,計算機對高級語言書寫的源程序一邊解釋一邊執行,不能形成目標文件和執行文件。
『拾』 計算機上程序編譯運行分別是什麼符號
意思和區別如下:
1、編譯:依賴於編譯器,英文是compile, vc中這一過程是將源代碼轉換成目標文件,如.obj文件,.rc文件等。
2、生成:指的是鏈接的過程,英文是build.依賴於鏈接器. vc中在這一階段將所有的目標文件和所有需要用到的組件組合成一個整體,例如需要生成的是windows系統下的PE可執行文件,鏈接器會依照特定格式將目標文件組合,最後生成PE格式的.exe或.dll文件。
3、調試:是所有或部分代碼編寫完成後,讓程序在調試器中運行,用這種手段對程序進行分析,找出並修正潛在問題。
4、運行:就是讓程序在系統中運行。