c語言程序語言
10個C語言新手編程時常犯的錯誤及解決方式
C語言的最大特點是:功能強、使用方便靈活。C編譯的程序對語法檢查並不象其它高級語言那麼嚴格,這就給編程人員留下「靈活的餘地」,但還是由於這個靈活給程序的調試帶來了許多不便,尤其對初學C語言的人來說,經常會出一些連自己都不知道錯在哪裡的錯誤。看著有錯的程序,不知該如何改起,小編通過對C的學習,積累了一些C編程時常犯的錯誤,寫給各位學員以供參考。
1、將字元常量與字元串常量混淆。
char c;
c="a";
在這里就混淆了字元常量與字元串常量,字元常量是由一對單引號括起來的單個字元,字元串常量是一對雙引號括起來的字元序列。C規定以「\」作字元串結束標志,它是由系統自動加上的,所以字元串「a」實際上包含兩個字元:『a'和『\0',而把它賦給一個字元變數是不行的。
2、輸入數據時,企圖規定精度。
scanf("%7.2f",&a);
這樣做是不合法的,輸入數據時不能規定精度。
3、輸入字元的格式與要求不一致。
在用「%c」格式輸入字元時,「空格字元」和「轉義字元」都作為有效字元輸入。
scanf("%c%c%c",&c1,&c2,&c3);
如輸入a b c
字元「a」送給c1,字元「 」送給c2,字元「b」送給c3,因為%c只要求讀入一個字元,後面不需要用空格作為兩個字元的間隔。
4、輸入輸出的數據類型與所用格式說明符不一致。
例如,a已定義為整型,b定義為實型
a=3;b=4.5;
printf("%f%d\n",a,b);
編譯時不給出出錯信息,但運行結果將與原意不符。這種錯誤尤其需要注意。
5.switch語句中漏寫break語句。
例如:根據考試成績的等級列印出百分制數段。
switch(grade)
{
case 'A':printf("85~100\n");
case 'B':printf("70~84\n");
case 'C':printf("60~69\n");
case 'D':printf("<60\n");
default:printf("error\n");
}
由於漏寫了break語句,case只起標號的作用,而不起判斷作用。因此,當grade值為A時,printf函數在執行完第一個語句後接著執行第二、三、四、五個printf函數語句。正確寫法應在每個分支後再加上「break;」。例如
case 'A':printf("85~100\n");break;
6、定義數組時誤用變數。
int n;
scanf("%d",&n);
int a[n];
數組名後用方括弧括起來的是常量表達式,可以包括常量和符號常量。即C不允許對數組的大小作動態定義。7、在不應加地址運算符&的位置加了地址運算符。
scanf("%s",&str);
C語言編譯系統對數組名的處理是:數組名代表該數組的起始地址,且scanf函數中的輸入項是字元數組名,不必要再加地址符&。應改為:
『貳』 c語言編程什麼意思
C語言是Combined
Language(組合語言)的中英混合簡稱。是一種計算機程序設計語言。它既具有高級語言的特點,又具有匯編語言的特點。它可以作為工作系統設計語言,編寫系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬體的應用程序。因此,它的應用范圍廣泛,不僅僅是在軟體開發上,而且各類科研都需要用到C語言,具體應用比如單片機以及嵌入式系統開發。
C語言編程就是用C語言編寫程序
C語言較常用編譯軟體有Microsoft的Visual
Studio,Win-TC……
『叄』 求簡單C語言程序代碼!
輸入2個正整數m和n,求其最大公約數和最小公倍數
#include
#include
int main()
int m,n,p,q,s,r;
printf("請輸入兩個正整數;m,n ");
scanf("%d,%d",&m,&n);
#include<stdio.h>
main()
int a,b,t=0;
scanf("%d %d",&a,&b);
if (a<b)
printf("%d %d %d %d %d",(a+b),(a-b),(a/b),(a*b),(a%b));
}
主要特點
C語言是一種結構化語言,它有著清晰的層次,可按照模塊的方式對程序進行編寫,十分有利於程序的調試,且c語言的處理和表現能力都非常的強大,依靠非常全面的運算符和多樣的數據類型,可以輕易完成各種數據結構的構建,通過指針類型更可對內存直接定址以及對硬體進行直接操作,因此既能夠用於開發系統程序,也可用於開發應用軟體。
以上內容參考:網路-c語言
『肆』 C語言程序
#include<stdio.h>
#include<math.h>
intmain(){
inti,x,max = -1,a[16],temp;
floatave=0.0;
a[0]=55;
for(i=1;i<16;i++)
a[i]=(15*a[i-1]+97)%256;
for(i=0;i<16;i++){
printf("%d",a[i]);
ave+=(float)a[i];
}
ave/=16.0;
printf(" ave=%.1f",ave);
for(i=0;i<16;i++){
temp= abs(a[i]-ave);
if(temp>max){
max=temp;
x=i;
}
}
printf("差最大的數:%d ",a[x]);
for(i=0,max=0;i<16;i++,max++){
if(i==x)max++;
a[i]=a[max];
}
for(i=0;i<15;i++)
printf("%d",a[i]);
return0;
}
//效果也一樣
『伍』 c語言程序語句
#include
#include是固定格式,意思是」包含「,
中的stdio.h,這是一個庫函數頭,用<>括起來,這句意思是把名為stdio.h的頭(其實是一個文件)包含到當前的程序中。在c語言中,有許多函數可以直接拿來用,比如printf函數(輸出函數),這些函數被稱為庫函數,要想調用這些函數,就要給出相應的庫函數頭,不同的庫函數需要給出不同的頭,庫函數頭的含義是」將這些函數的定義包含到程序中去「,因為你的程序中沒有這些庫函數的定義,所以你想要調用某些庫函數,就要給出相應的頭,將函數的定義包含到程序中是有編譯器完成的
#define
cube(x)
(x*x*x)
這是c語言中的宏定義,宏分為簡單的宏和帶參數的宏,宏有什麼作用?宏的一般格式是」#define
記號
替換列表「其中#
define是「定義」的意思,也算是固定格式吧,記號可以是字母,符號等一切可能出現的東西,比如說#define
cube(x)
(x*x*x)
中的cube,一般用大寫字母(c語言程序員數十年遵循的規范,希望你不要打破哦);"替換列表「可以是表達式,語句等等(比如#define
cube(x)
(x*x*x)
中的(x*x*x),表示計算x的立方)。宏的作用是將程序中出現的所有記號用替換列表代替。比如說#define
cube(x)
(x*x*x)中,只要程序中出現cube(x)
,編譯器(這個工作是有編譯器完成的)就把cube(x)
替換為(x*x*x)。簡單的宏比如#define
n
10,在程序中凡是有n的地方都將被替換為10.帶參數的宏比如說你的程序中的宏#define
cube(x)
(x*x*x),cube是記號,括弧中的x是參數,就像一個函數,在程序中用的時候,比如出現i=cube(10);那麼就將被替換為i=(10*10*10);
i的值將被賦予10的立方。
main()
是c語言中的主函數,c語言是由函數組成的,其中主函數(或稱main函數)是必須有的,程序執行的時候是由主函數開始執行的,主函數內容要用{}括起來
int
n=5;
定義變數n並賦與n值為5.
int表示變數n的類型是整型,n=5是將n的值初始化為5(以後換可以改變),後面的分號是必須有的,c語言規定每條語句後都應該以分號結尾。
int
s=cube(++n);
定義s為整型並賦予s的值為cube(++n),cube(++n)前面已經說過了,它將被替換為(++n*++n*++n),其中++n是一種算數運算符,就像乘除加減法一樣,++n的意義是將n自增1,整個表達式(即++n)不變,這里要分清變數和表達式,比如a+b,變數是a和b,表達式是a+b,。所以這里s就等於125.
printf(「%d」,s);
這是一個輸出函數,%d表示s的類型為整形,輸出s的值。
『陸』 什麼是C語言程序
通用編程語言c
c語言是美國at&t(電報與電話)公司為了實現unix系統的設計思想而發展起來的語言工具。c語言的主要特色是兼顧了高級語言和匯編語言的特點,簡潔、豐富、可移植。相當於其他高級語言子程序的函數是c語言的補充,每一個函數解決一個大問題中的小任務,函數使程序模塊化。c語言提供了結構式編程所需要的各種現代化的控制結構。
c語言是一種通用編程語言,正被越來越多的計算機用戶所推崇。使用c語言編寫程序,既感覺到使用高級語言的自然,也體會到利用計算機硬體指令的直接,而程序員卻無需捲入匯編語言的繁瑣。
c語言可以用來製作病毒,因為病毒也是程序.
『柒』 c語言程序是由什麼構成的
C語言源程序是由:數據類型、常量與變數、數組、指針、字元串、文件輸入/輸出構成。數據類型:C的數據類型包括:整型、字元型、實型或浮點型(單精度和雙精度)、枚舉類型、數組類型、結構體類型、共用體類型、指針類型和空類型。
C語言源程序是由:數據類型、常量與變數、數組、指針、字元串、文件輸入/輸出構成。
具體介紹:
1、數據類型:C的數據類型包括:整型、字元型、實型或浮點型(單精度和雙精度)、枚舉類型、數組類型、結構體類型、共用體類型、指針類型和空類型。
2、常量與變數:常量其值不可改變,符號常量名通常用大寫。變數是以某標識符為名字,其值可以改變的量。
3、數組:如果一個變數名後面跟著一個有數字的中括弧,這個聲明就是數組聲明。字元串也是一種數組。它們以ASCII的NULL作為數組的結束。要特別注意的是,方括內的索引值是從0算起的。
4、指針:指針不僅可以是變數的地址,還可以是數組、數組元素、函數的地址。通過指針作為形式參數可以在函數的調用過程得到一個以上的返回值,不同於return(z)這樣的僅能得到一個返回值。
5、字元串:C語言的字元串其實就是以'