『壹』 在C++的一個程序中可以printf,scanf,cin,cout混用嗎
如果你想成為一個出色的程序員,最好不要這樣混用,一旦你的程序語句行很多的話,最後編譯錯誤想回來糾正是很麻煩的一件事情。
『貳』 C語言的注釋語句可不可以嵌套
/*aa/*bb*/cc*/
這樣的注釋很多編譯器通不過。認為到第一個*/就結束了,導致編譯錯誤。
但是有一些編譯器可以通過,而沒有錯誤,但是同樣不建議這樣做,因為這樣的源文件,拿到別的編譯器就可能出錯了。
『叄』 c語言一行 能寫幾個語句嗎
分號是語句的結束標志,一行上可以有用分號結束的多個語句,TC2/3中有些方面不合標准,不必在意。建議棄用TC2/3這種古老的東西。
『肆』 c++里 case後可以跟多個語句么
可以。用switch語句,最好要注意break的使用,還有最後都加上default 語句。
『伍』 c和C++語法可以混合使用嗎看到有的程序像c又像C++,兩種函數都包含還能正確運行,高手給個合理解釋!
看你是什麼編譯器了
C編譯器肯定不能用C++語法
但是C++編譯器中你可以使用C語法,因為是向前兼容的
我估計你用的VC系列,那用的都是C++編譯器
C++用C的方法寫就是浪費,面向對對象是語言的一大進步,在C++編譯器中寫純C代碼完全浪費了這個新的feature
『陸』 C語言幾個預編譯指令的用法
處理指令是以#號開頭的代碼行。#號必須是該行除了任何空白字元外的第一個字元。#後是指令關鍵字,在關鍵字和#號之間允許存在任意個數的空白字元。整行語句構成了一條預處理指令,該指令將在編譯器進行編譯之前對源代碼做某些轉換。下面是部分預處理指令:
指令 用途
# 空指令,無任何效果
#include 包含一個源代碼文件
#define 定義宏
#undef 取消已定義的宏
#if 如果給定條件為真,則編譯下面代碼
#ifdef 如果宏已經定義,則編譯下面代碼
#ifndef 如果宏沒有定義,則編譯下面代碼
#elif 如果前面的#if給定條件不為真,當前條件為真,則編譯下面代碼
#endif 結束一個#if……#else條件編譯塊
#error 停止編譯並顯示錯誤信息
希望可以幫到你,謝謝!
『柒』 C語言中 「編譯時處理」 與 「預處理」 兩個概念的區別
浩強哥的教材中說的很清楚,可以參考。簡單來說,C語言程序在編譯前,其實是有一個預備工作的,這個就是「預處理」,可以理解為:人類所編寫的程序,需要轉化為機器能夠編譯的合理輸入文件。機器編譯,就是按照語法來處理語句,一些語句或者邏輯是在編譯時才有意義,才進行分析,這就是「編譯時處理」。
『捌』 如何用宏定義多條語句下面的編譯有什麼問題
宏定義多條語句可以用如下的形式進行定義:
Lisp類語言如Common Lisp和Scheme有更精巧的宏系統:宏的行為如同是函數對自身程序文本的變形,並且可以應用全部語言來表達這種變形。一個C宏可以定義一段語法的替換,然而一個Lisp的宏卻可以控制一節代碼的計算。
『玖』 我是大二的學生,在編寫程序的時候,為什麼一定要用到這幾行語句啊 #ifdef DEBUG debug;#endif
這個不是一定的。
這個叫條件編譯。一般在編寫程序時,如果沒有
#ifdef DEBUG
debug;
#endif
則認為是將程序全部編譯,即所有的語句都要運行,而在實際情況中,有時候,我們只需往程序在滿足條件1時執行代碼段1,而在滿足條件2 時執行代碼段2.........,這個時候就可以使用#ifdef 設置條件編譯,其格式類似於 if else 語句,也可以類似理解。
#ifdef 條件值1
代碼段1;
#else 條件值2
代碼段2;
。
。
。
#endif
給你舉個例子:
例如:輸入一行字母字元,根據需要設置條件編譯,使之能將字母全改為大寫輸出,或全改為小寫字母輸出。
#define LETTER 1
main()
{
char str[20]="C Language",c;
int i=0;
while((c=str[i])!='\0')
{
i++;
#if LETTER
if(c>='a'&&c<='z') c=c-32;
#else
if(c>='A'&&c<='Z') c=c+32;
#endif
printf("%c",c);
} }
運行結果為:C LANGUAGE
現在先定義LETTER為1,這樣在預處理條件編譯命令時,由於LETTER為真(非零),則對第一個if語句進行編譯,運行時使小寫字母變大寫。
如果將程序第一行改為: #define LETTER 0
則在預處理時,對第二個if語句進行編譯處理,使大寫字母變成小寫字母(大寫字母與相應的小寫字母的ASCII代碼差32)。
此時運行情況為: c language
當然,最前面的#define行,你也可以不像這樣用,而是在main函數中去生成LETTER的數值,用於下面的#ifdef的判斷,用法類似於if else語句。
實際上,不用條件編譯命令而直接用if語句也能達到要求,用條件編譯命令有什麼好處呢?的確,此問題完全可以不用條件編譯處理,但那樣做目標程序長(因為所有語句都編譯),而採用條件編譯,可以減少被編譯的語句,從而減少目標的長度。當條件編譯段比較多時,目標程序長度可以大大減少
『拾』 C語言中多個語句能否寫在同一行上,能否把一條語句分成幾行寫
不錯一個分號是一個語句的結束,但是不是一行的結束!在tc中是可以同時在一行上寫多個語句的,只是因不同版本的編譯器不易一行寫太多.
像你說的錯誤,你應該把錯誤信息也發來,才好判斷到底是什麼出錯,出錯不一定是因一行寫了多個語句.所以你可以把程序改成一行就一個語句,看是否還有錯,如果還有錯,就不是一行多語句的錯誤了(可能是輸入法的問題,你在中文下輸入分號等錯誤),如果這樣就沒錯的話,你去重新下載個tc看下了!
為了程序的可讀性與可觀賞性最好一行不要有太多的語句!