我是c語言
㈠ c語言是什麼,我要怎麼學
C 語言是1972年由美國的Dennis Ritchie設計發明的, 並首次在UNIX操作系統 的 DEC PDP-11 計算機上使用。 它由早期的編程語言 BCPL( Basic Combind Programming Language) 發展演變而來。在1970年, AT&T 貝爾實驗室的 Ken Thompson根據BCPL語言設計出較先進的並取名為 B的語言, 最後導了C 語言的問世。
隨著微型計算機的日益普及, 出現了許多C 語言版本。由於沒有統一的標准, 使得這些C 語言之間出現了一些不一致的地方。為了改變這種情況, 美國國家標准 研究所(ANSI)為C 語言制定了一套ANSI標准, 成為現行的C語言標准。
C 語言發展如此迅速, 而且成為最受歡迎的語言之一, 主要因為它具有強大的 功能。許多著名的系統軟體, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 語言編寫的。 用C 語言加上一些匯編語言子程序, 就更能顯示C 語言的優勢了, 象PC- DOS 、 WORDSTAR等就是用這種方法編寫的。歸納起來C 語言具有下列特點:
1. C是中級語言
它把高級語言的基本結構和語句與低級語言的實用性結合起來。C 語言可以象 匯編語言一樣對位、位元組和地址進行操作, 而這三者是計算機最基本的工作單元。
2. C是結構式語言
結構式語言的顯著特點是代碼及數據的分隔化, 即程序的各個部分除了必要的 信息交流外彼此獨立。這種結構化方式可使程序層次清晰, 便於使用、維護以及調 試。C 語言是以函數形式提供給用戶的, 這些函數可方便的調用, 並具有多種循 環、條件語句控製程序流向, 從而使程序完全結構化。
3. C語言功能齊全
C 語言具有各種各樣的數據類型, 並引入了指針概念, 可使程序效率更高。另 外C 語言也具有強大的圖形功能, 支持多種顯示器和驅動器。而且計算功能、邏輯 判斷功能也比較強大, 可以實現決策目的。
4. C語言適用范圍大
C 語言還有一個突出的優點就是適合於多種操作系統, 如DOS、UNIX,也適用於 多種機型。
Turbo C 是美國Borland 公司的產品,Borland公司是一家專門從事軟體開發、 研製的大公司。該公司相繼推出了一套 Turbo系列軟體, 如Turbo BASIC, Turbo Pascal, Turbo Prolog, 這些軟體很受用戶歡迎。該公司在1987年首次推出Turbo C 1.0 產品, 其中使用了全然一新的集成開發環境, 即使用了一系列下拉式菜單, 將文本編輯、程序編譯、連接以及程序運行一體化, 大大方便了程序的開發。1988 年, Borland 公司又推出Turbo C1.5版本, 增加了圖形庫和文本窗口函數庫等, 而 Turbo C 2.0 則是該公司1989年出版的。Turbo C2.0在原來集成開發環境的基礎上 增加了查錯功能, 並可以在Tiny模式下直接生成.COM (數據、代碼、堆棧處在同一 64K 內存中) 文件。還可對數學協處理器 (支持8087/80287/80387等)進行模擬。
Borland 公司後來又推出了面向對象的程序軟體包Turbo C++, 它繼承發展 Turbo C 2.0 的集成開發環境, 並包含了面向對象的基本思想和設計方法。
1991年為了適用Microsoft 公司的Windows 3.0 版本, Borland 公司又將Turbo C++ 作了更新, 即Turbo C 的新一代產品Borlandc C++也已經問世了。
1.3.2 Turbo C 2.0基本配置要求
Turbo C 2.0可運行於IBM-PC系列微機, 包括XT, AT及IBM 兼容機。 此時要求 DOS 2.0或更高版本支持, 並至少需要448K的RAM, 可在任何彩、單色80列監視器上 運行。支持數學協處理器晶元, 也可進行浮點模擬, 這將加快程序的執行。
1.3.3 Turbo C 2.0內容簡介
Turbo C 2.0有六張低密軟盤(或兩張高密軟盤)。下面對Turbo C 2.0的主要文 件作一簡單介紹:
INSTALL.EXE 安裝程序文件
TC.EXE 集成編譯
TCINST.EXE 集成開發環境的配置設置程序
TCHELP.TCH 幫助文件
THELP.COM 讀取TCHELP.TCH的駐留程序
README 關於Turbo C的信息文件
TCCONFIG.EXE 配置文件轉換程序
MAKE.EXE 項目管理工具
TCC.EXE 命令行編譯
TLINK.EXE Turbo C系列連接器
TLIB.EXE Turbo C系列庫管理工具
C0?.OBJ 不同模式啟動代碼
C?.LIB 不同模式運行庫
GRAPHICS.LIB 圖形庫
EMU.LIB 8087模擬庫
FP87.LIB 8087庫
*.H Turbo C頭文件
*.BGI 不同顯示器圖形驅動程序
*.C Turbo C例行程序(源文件)
其中: 上面的?分別為:
T Tiny(微型模式)
S Small(小模式)
C Compact(緊湊模式)
M Medium(中型模式)
L Large(大模式)
H Huge(巨大模式)
Turbo C程序的一般組成部分
Turbo C 2.0 象其它語言一樣按其規定的格式和提供的語句由用戶編寫應用
程序。請看下面一段Turbo C源程序。
例1:
/*Example program of Turbo C*/
#include <stdio.h> /*包含文件說明*/
void lgc(void); /*子函數說明*/
char answer; /*定義全程變數*/
int main() /*主函數定義*/
{
char a; /*定義局部變數*/
clrscr();
gotoxy(12,3);
puts("Welcome to use Turbo C2.0!");
gotoxy(15, 13);
printf("<Esc>--Exit");
gotoxy(15, 15);
printf("<CR>--Continue");
while(1)
{
a=getch();
if(a==27)
break;
if(a==13)
{
lgc();
if(answer=='y'||answer=='Y')
{
gotoxy(23,14);
puts("Please Write to the Company");
getch();
break;
}
}
}
return(0);
}
void lgc(void)
{
clrscr();
gotoxy(12,8);
printf("The Excellent Selection!");
gotoxy(21,12);
printf("Do you have any question?(Y/N)");
answer=getche();
}
由例子程序可以看出, Turbo C源程序主要有以下幾個特點:
1. 程序一般用小寫字母書寫;
2. 大多數語句結尾必須要用";"作為終止符, 否則Turbo C 不認為該語句結
束;
3. 每個程序必須有一個而且只能有一個稱作主函數的main()函數;
4. 每個程序體 (主函數和每個子函數, 如上例中的main()函數和sub()函數)
必須用一對花括弧"{"和"}"括起來;
5. 一個較完整的程序大致包括:包含文件(一組#include<*.h>語句)、用戶
函數說明部分、全程變數定義、主函數和若乾子函數組成。在主函數和子函數中
又包括局部變數定義、若干個Turbo C庫函數、控制流程語句、 用戶函數的調用
語句等;
6. 注釋部分包含在"/*"和"*/"之間, 在編譯時它被Turbo C編譯器忽略。
說明:
1. 象其它一些語言一樣, Turbo C的變數在使用之前必須先定義其數據類型,
未經定義的變數不能使用。定義變數類型應在可執行語句前面, 如上例main()函
數中的第一條語句就是變數定義語句, 它必須放在第一各執行語句clrscr()前面。
2. 在Turbo C中, 大、小寫字母是有區別的, 相同字母的大、小寫代表不同
的變數。
3. Turbo C程序的書寫格式非常靈活, 沒有嚴格限制。
例1的主函數可寫成:
main(){char c; clrscr(); gotoxy(12,3);
puts("Welcome to use Turbo C2.0!"); gotoxy(15,13);
printf("<CR>--Continue"); gotoxy(15,15);...}
這樣寫語法上沒有錯誤, 但閱讀起來不方便, 同時也使得程序層次不明確。
作者建議用Turbo C編程時, 一行一條語句, 遇到嵌套語句向後縮進, 必要時對
程序加上注釋行。這樣可以便程序結構清楚、易於閱讀、維護和修改。
通過以上介紹, 可以得出Turbo C源程序的一般形式為:
包含文件
子函數類型說明
全程變數定義
main()
{
局部變數定義
<程序體>
}
sub1()
{
局部變數定義
<程序體>
}
sub2()
{
局部變數定義
<程序體>
}
.
.
.
subN()
{
局部變數定義
<程序體>
}
其中sub1(), ..., subN()代表用戶定義的子函數, 程序體指Turbo C 2.0
提供的任何庫函數調用語句、控制流程語句或其它用子函數調用語句等。
整型(int)
一、整型數說明
加上不同的修飾符, 整型數有以下幾種類型;
signed short int 有符號短整型數說明。簡寫為short或int, 字長為2
位元組共16位二進制數, 數的范圍是-32768~32767。
signed long int 有符號長整型數說明。簡寫為long, 字長為4位元組共
32位二進制數, 數的范圍是-2147483648~2147483647。
unsigned short int 無符號短整型數說明。簡寫為unsigned int, 字長
為2位元組共16位二進制數, 數的范圍是0~65535。
unsigned long int 無符號長整型數說明。簡寫為unsigned long, 字長
為4位元組共32位二進制數, 數的范圍是0~4294967295。
二、整型變數定義
可以用下列語句定義整型變數
int a, b; /*a、b被定義為有符號短整型變數*/
unsigned long c; /*c被定義為無符號長整型變數*/
三、整型常數表示
按不同的進制區分, 整型常數有三種表示方法:
十進制數: 以非0開始的數
如:220, -560, 45900
八進制數: 以0開始的數
如:06; 0106, 05788
十六進制數:以0X或0x開始的數
如:0X0D, 0XFF, 0x4e
另外, 可在整型常數後添加一個"L"或"l"字母表示該數為長整型數, 如22L,
0773L, 0Xae4l。
2.2 浮點型(float)
一、浮點數說明
Turbo C中有以下兩種類型的浮點數:
float 單浮點數。字長為4 個位元組共32 位二進制數, 數的范圍是
3.4x10-38E~3.4x10+38E。
double 雙浮點數。字長為 8個位元組共 64 位二進制數, 數的范圍是
1.7x10-308E~1.7x10+308E。
說明:
浮點數均為有符號浮點數, 沒有無符號浮點數。
二、浮點型變數定義
可以用下列語句定義浮點型變數:
float a, f; /*a, f被定義為單浮點型變數*/
double b; /*b被定義為雙浮點型變數*/
三、浮點常數表示
例如: +29.56, -56.33, -6.8e-18, 6.365
說明:
1. 浮點常數只有一種進制(十進制)。
2. 所有浮點常數都被默認為double。
3. 絕對值小於1的浮點數, 其小數點前面的零可以省略。如:0.22可寫為.22,
-0.0015E-3可寫為-.0015E-3。
4. Turbo C默認格式輸出浮點數時, 最多隻保留小數點後六位。
2.3 字元型(char)
加上不同的修飾符, 可以定義有符號和無符號兩種類型的字元型變數, 例如:
char a: /*a被定義為有符號字元變數*/
unsigned char l; /*l被定義為無符號字元變數*/
字元在計算機中以其ASCII碼方式表示, 其長度為1個位元組, 有符號字元型數
取值范圍為-128~127, 無符號字元型數到值范圍是0~255。因此在Turbo C語言中,
字元型數據在操作時將按整型數處理, 如果某個變數定義成char, 則表明該變數
是有符號的, 即它將轉換成有符號的整型數。
Turbo C中規定對ASCII碼值大於0x80的字元將被認為是負數。例如ASCII 值
為0x8c的字元, 定義成char時, 被轉換成十六進制的整數0xff8c 。 這是因當
ASCII碼值大於0x80時, 該位元組的最高位為1, 計算機會認為該數為負數, 對於
0x8c表示的數實際上是-74(8c的各位取反再加1), 而-74 轉換成兩位元組整型數並
在計算機中表示時就是0xff8c( 對0074 各位取反再加1) 。 因此只有定義為
unsigned char 0x8c轉換成整型數時才是8c。這一點在處理大於0x80的ASCII碼
字元時(例如漢字碼)要特別注意。一般漢字均定義為unsigned char(在以後的程
序中會經常碰到)。
另外, 也可以定義一個字元型數組(關於數組後面再作詳細介紹), 此時該數
組表示一個字元串。
例如:
char str[10];
計算機在編譯時, 將留出連續10個字元的空間, 即str[0]到str[9]共10個變
量, 但只有前9個供用戶使用。第10個str[9]用來存放字元串終止符NULL即"\0",
但終止符是編編譯程序自動加上的, 這一點應特別注意。
二、字元常數表示
能用符號表示的字元可直接用單引號括起來表示, 如'a', '9', 'Z', 也可用
該字元的ASCII碼值表示, 例如十進制數85表示大寫字母'U', 十六進制數0x5d表示
']', 八進制數0102表示大寫字母'B'。
一些不能用符號表示的控制符, 只能用ASCII碼值來表示, 如十進制數10 表示
換行, 下六進制數0x0d表示回車, 八進制數033表示Esc。Turbo C2.0中也有另外一
種表示表示方法, 如'\033'表示Esc, 這里'\ 0' 符號後面的數字表示十六進制的
ASCII值當然這種表示方法也適用於可睦接用符號表示的字元。
另外, Turbo C2.0中有些常用的字元用以下特殊規定來表示:
規定符 等價於 含義
'\f' '\X0C' 換頁
'\r' '\X0D' 回車
'\t' '\X09' 製表鍵
'\n' '\X0A' 換行
'\\' '\X5C' \符
'\'' '\X27' '符
'\"' '\X22' "符
對於字元串常量, 一般用雙引號括起來表示, 如"Hello Turbo C2.0"。
2.4 指針型(*)
指針是一種特殊的數據類型, 在其它語言中一般沒有。指針是指向變數的地址,
實質上指針就是存貯單元的地址。 根據所指的變數類型不同, 可以是整型指針
(int *)、浮點型指針(float *)、字元型指針(char *)、結構指針(struct *)和聯
合指針(union *)(結構指針和聯合指針將在第4節中介紹)。
2.5 無值型(void)
無值型位元組長度為0, 主要有兩個用途: 一是明確地表示一個函數不返回任何
值; 一是產生一個同一類型指針(可根據需要動態分配給其內存)。
例如:
void *buffer; /*buffer被定義為無值型指針*/
關鍵字
所謂關鍵字就是已被Turbo C2.0本身使用, 不能作其它用途使用的字。例如關
鍵字不能用作變數名、函數名等。
Turbo C2.0有以下關鍵字:
Turbo C2.0擴展的共11個
asm _cs _ds _es _ss cdecl
far near huge interrupt pascal
由ANSI標準定義的共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
3.2 標識符
所謂標識符是指常量、變數、語句標號以及用戶自定義函數的名稱。 Turbo C
2.0標識符的定義十分靈活。作為標識符必須滿足以下規則:
1. 所有標識符必須由一個字母(a~z, A~Z)或下劃線(_)開頭;
2. 標識符的其它部分可以用字母、下劃線或數字(0~9)組成;
3. 大小寫字母表示不同意義, 即代表不同的標識符;
4. 標識符只有前32個字元有效;
5. 標識符不能使用Turbo C2.0的關鍵字。
下面舉出幾個正確和不正確的標識符:
正確 不正確
smart 5smart
_decision bomb?
key_board key.board
FLOAT float
變數說明
Turbo C2.0規定所有變數在使用前都必須中以說明。一條變數說明語句由數據
類型和其後的一個或多個變數名組成。變數說明的形式如下:
類型 <變數表>;
這里類型是指Turbo C2.0的有效數據類型。變數表是一個或多個標識符名, 每
個標識符之間用","分隔。
例如:
int i, j, k; unsigned char c, str[5], *p;
4.2 變數種類
變數可以在程序中三個地方說明: 函數內部、函數的參數定義中或所有的函數
外部。根據所定義位置的不同, 變數可分為局部變數、形式參數和全程變數。
一、局部變數
局部變數是指在函數內部說明的變數(有時也稱為自動變數)。用關鍵字auto進
行說明, 當auto省略時, 所有的非全程變數都被認為是局部變數, 所以auto實際上
從來不用。
局部變數在函數調用時自動產生, 但不會自動初始化, 隨函數調用的結束, 這
個變數也就自動消失了, 下次調用此函數時再自動產生, 還要再賦值, 退出時又自
動消失。
二、形式參數
形式參數是指在函數名後面的小括弧里定義的變數, 用於接受來自調用函數的
參數。形式參數在函數內部可以象其它局部變數那樣來作用。
例如:
puthz(int x, int y, int color, char *p)
{
int i, j, k; /*定義局部變數*/
<程序體>
}
其中x, y, color, *p為函數的形式參數, 不需要再進行說明就可在該函數內
直使用。
三、全程變數
全程變數是指在所有函數之外說明的變數, 它在整個程序內部者是"可見的",
可以被任何一個函數使用, 並且在整個程序的運行中都保留其值。全程變數只要滿
足在使用它以前和函數以外這兩個條件, 可在程序的任何位置進行說明, 習慣上通
常在程序的主函數前說明。
例如:
#include<stdio.h>
int test; /*定義全程變數*/
void f1(int x, float y); /*子函數說明*/
void f2(void); /*子函數說明*/
main()
{
test=5; /*給全程變數賦值*/
f1(20, 5.5); /*調用有形式參數的子函數f1()*/
/*test的值變成115*/
f2(); /*調用f2(), test的值變為1150*/
}
void f1(int x, float y)
{
float z; /*z定義為局部變數*/
z=x*y; /*計算*/
test=test+z;
}
void f2(void)
{
int count=10; /*定義局部變數並初始化*/
test=test*count;
}
由於全程變數可被整個程序內的任何一個函數使用, 所以可作為函數之間傳遞
參數的手段, 但全程變數太多時, 內存開銷變大。
4.3 變數存儲類型
Turbo C2.0支持四種變數存儲類型。說明符如下:
auto static extern register
下面分別來介紹。
一、auto
auto稱為自動變數, 已在前面作了介紹, 這里不再重復。
二、static
static稱為靜態變數。根據變數的類型可以分為靜態局部變數和靜態全程變數。
1. 靜態局部變數
它與局部變數的區別在於: 在函數退出時, 這個變數始終存在, 但不能被其它
函數使用, 當再次進入該函數時, 將保存上次的結果。其它與局部變數一樣。
2. 靜態全程變數
Turbo C2.0允許將大型程序分成若干獨立模塊文件分別編譯, 然後將所有模塊
的目標文件連接在一起, 從而提高編譯速度, 同時也便於軟體的管理和維護。靜態
全程變數就是指只在定義它的源文件中可見而在其它源文件中不可見的變數。它與
全程變數的區別是: 全程變數可以再說明為外部變數(extern), 被其它源文件使用,
而靜態全程變數卻不能再被說明為外部的, 即只能被所在的源文件使用。
三、extern
extern稱為外部變數。為了使變數除了在定義它的源文件中可以使用外, 還要
被其它文件使用。因此, 必須將全程變數通知每一個程序模塊文件, 此時可用
extern來說明。
例如:
文件1為file1.c 文件2為file2.c
int i, j;/*定義全程變數*/ extern int i, j;/*說明將i, j從
文件1中復制過來*/
char c; extern char c; /*將c復制過來*/
void func1(int k); func2() /*用戶定義函數*/
{
main() static float k;/*定義靜態變數*/
{ i=j*5/100;
func1(20);/*調用函數*/ k=i/1.5;
func2(); .
. .
. .
. }
}
func1(int k) /*用戶定義函數*/
{
j=k*100;
}
對於以上兩個文件file1.c和file2.c, 用Turbo C2.0的集成開發環境進行編譯
連接時, 首先應建立一個.prj的文件。例如file.prj, 該文件內容如下:
file1.c
file2.c
然後將file.prj的文件名寫入主菜單Project中的Project Name項中。 再用F9
編譯連接, 就可產生一個文件名為fioe.exe的可執行文件。
外部變數和FORTRAN語言中的COMMOM定義的公共變數一樣。
四、register
register稱為寄存器變數。它只能用於整型和字元型變數。定義符register說
明的變數被Turbo C2.0存儲在CPU的寄存器中, 而不是象普通的變數那樣存儲在內
存中, 這樣可以提高運算速度。但是Turbo C2.0隻允許同時定義兩個寄存器變數,
一旦超過兩個, 編譯程序會自動地將超過限制數目的寄存器變數當作非寄存器變數
來處理。因此, 寄存器變數常用在同一變數名頻繁出現的地方。
另外, 寄存器變數只適用於局部變數和函數的形式參數, 它屬於auto型變數,
因此, 不能用作全程變數。定義一個整型寄存器變數可寫成:
register int a;
對於以上所介紹的變數類型和變數存儲類型將會在以後的學習中, 通過例行程
序中的定義、使用來逐漸加深理解。
4.4 數組變數
所謂數組就是指具有相同數據類型的變數集, 並擁有共同的名字。數組中的每
個特定元素都使用下標來訪問。數組由一段連續的存貯地址構成, 最低的地址對應
於第一個數組元素, 最高的地址對應最後一個數組元素。數組可以是一維的、也可
以是多維的。Turbo C2.0象它高級語方一樣也使用數組變數。
一、一維數組
一維數組的說明格式是:
類型 變數名[長度];
類型是指數據類型, 即每一個數組元素的數據類型, 包括整數型、浮點型、字
符型、指針型以及結構和聯合。
例如:
int a[10];
unsigned long a[20];
char *s[5];
char *f[];
一個學計算機的就這么牛?我是軟體工程師,弟弟!
㈡ 這個C語言是什麼意思,我是初學者
誇自己的編譯器比borland好,丫做廣告呢
㈢ 我是一個C語言的初學者,誰能告訴我C語言有什麼用,能幹嘛
首先:C語言入門相對比較簡單,但如果想成為一個優秀的C程序員,需要很艱苦的訓練,多讀代碼,多練習,多上機操作,多思考,學習是一件辛苦的事情,要放棄很多東西,要堅持下來才可以,可以說C語言是基礎,將來想學其他的C++,JAVA等,如果有C的基礎,還是比較好入門的.
C語言的用處比較廣泛,可以說任何精通計算機的人都掌握C語言了,我是本科計算機專業的,C被作為許多課程的先行課,沒有了C語言基礎,就不能學習數據結構,操作系統,編譯原理,計算機網路等核心課程,所以說,想學習計算機的話無論想在哪個方向發展(軟體,硬體,網路,應用,開發,設計等方向)都必須掌握C語言.
關於C語言的教材:我向你推薦幾本:
最經典的:《C程序設計語言》第2版,機械工業出版社
這個是C語言的設計者和UNIX系統的設計者合作編寫的最經典的C語言教材,原書名叫《The C Programming Language》當然,這本書不太適合0起點的人,看這本書之前最好把《C程序設計》(譚浩強,清華大學)看了,老譚的書銷量突破700萬冊了,雖然比較舊了,也不太符合新標准(現在出第3版了,也還是)但是,入門還是不錯的選擇。
另外還有必看的是《C Primer Plus》這個是一個美國人寫的,人民郵電出版社出了中文版了,第5版,比較厚,磚頭書,60元。但是非常適合初學的人,非常詳細。
還有《從問題到程序——程序設計與C語言引論》機械工業出版社,這本書也很不錯。
看完這些,就可以看演算法的書了,比如數據結構什麼的,這方面的書很多。如果想在程序界發展,那麼有部重量級的著作不得不看《The Art of computer programming》一共三卷,有翻譯版《計算機程序設計的藝術》這三卷書非常深,比較難,蓋茨說,誰如果把這上面的習題都做對了,直接可以到微軟上班了。
另外學習C語言要養成良好的程序風格,這點一定要注意練習!
㈣ 我是C語言新手
#include<studio.h>
int main()
{
float temp;
int ,fen,miao;
float a;
printf("請輸入弧度值\n");
scanf("%f",&temp);
a=180*temp/3.14;
=(int)a;
fen=(int)((a-)*60);
miao=(int)(((a-)*60-fen)*60);
prinft("%d度%d分%d秒\n",,fen,miao);
return 0;
}
㈤ 推薦個好用的c語言編譯器我是C語言初學者
我不同意上面兩人的說法。Tc可以說是較老的了,而且它出現時寫C是用C90標準的,並且允許不加部分頭文件,而且用起來也很不方便。winTC用的是tc的內核,雖然有了界面,支持復制粘貼等操作,但它的允許不加部分頭文件不是方便,卻可能成為影響你的原因。你第一次打開時它也說寫代碼要注意標準的寫法。但不加頭文件表明你寫的代碼在這個編譯器可以編譯,但轉到別的編譯器就不行了。而你如果習慣了的話,以後寫一些軟體,用到其它的編譯器時,它提示錯誤你還不知道哪裡錯。事實上,以前譚浩強的書第二版就使很多人都犯了這樣的錯誤,許多人都按書上的代碼,在TC2.0可以運行,但到其它的如VC++等,那些代碼都不能用了。而且winTc都沒有調試的功能。當你寫上百行的代碼時,像指針的一引動錯誤或數組越界,或數值溢出,沒有調試功能查看變數的話,想找出錯誤是很難的,而這些錯誤,編譯器是不報的。推薦的軟體有dev-C++用的是linux的Gcc內核, http://u.115.com/file/f69e189f52
devcpp-4.9.9.2.rar http://u.115.com/file/f6dcf25d9ecodeblocks-8.02mingw-setup.exe 還有VC++,不過它很大塊。當然c-Free的調試功能也很好用的。
㈥ 我要學C語言
我現在是大三,我大一學的C,學得還不錯,二級C一次考過,班裡要考專二級C的有不會做的問屬題都來問我,可以跟你交流下學習的經驗,書不用太權威,畢竟你現在只是起步,找本《C程序設計》就可以,第一章差不多不用看,那都是說歷史的,重點看第二章,演算法,能去聽課當然更好,我也看過下面朋友的回答,有人說到聽理論課容易,但是就是上機不知道從哪入手,但是我從來就沒這問題,也許是我學習方法的關系吧,你在聽第一節理論課的時候回來你就把書上的今天講到的例子全部打到電腦上去(我就是這樣的,瘋狂的打,同寢室的同學說我們班終於有一個人買電腦回來是搞學習的了),就是算知道他是那個結果也要打上去,這是個練手的訓練,也許你現在打上去你並不知道每一句是什麼意思,但是你打得多了就會發現很多語句在不同的例子裡面重復出現,而且每一個例子都有,帶著這些問題,你去問老師,再把每一句表示什麼意思,如果想表示另一個意思應該怎麼去寫也自己思考一下,有不懂的問老師或上來問也行,現在就先說這么多,估計打多了你也沒耐心看下去,呵呵
㈦ 我是個學生,在c語言中的問題
int輸入是整形,格式是%d不是%if,%if一般用於double數據變數
㈧ 我是C語言新手 這個程序報錯
鏈接時,編譯器會尋找主函數,Win32應用的主函數是WinMain,但是Console應用程序的主函數是main,經過預處理後是_main。報這個錯,很可能是項目的類型設置不對。
如果你的編譯環境是vc6.0,方法大致如下:
project-> settings->link
最下面的框(project options),往下拉
有個/subsystem:console
改成/subsystem:windows
㈨ 我是c語言菜鳥,請問c++和c=c+1有什麼區別啊
單獨的c++;和c=c+1;在效果上沒有區別。二者的區別有以下幾點:
1.在表達式中,c++;有兩個值,而c=c+1;只有一個值。比如c=3時,c++;在原值3參與表達式運算,運算結束後才使c+1=4,而c=c+1;若在運算前出現,則以c=4參與運算。
2.在機器碼實現上,c++;效率比c=c+1;高;c++;只讀一次內存直接對其中的操作數增1,c=c+1;兩讀兩次c,編譯器並不認為等號兩邊的變數c是同一個變數……