當前位置:首頁 » 編程語言 » c語言程序大全

c語言程序大全

發布時間: 2022-11-17 16:45:57

1. c語言中所有的代碼及其代表的意思,有誰知道

這個問題問的太。。。。了,給你找了個操作符(operator)用於操作數據。操作符進行計算、檢查等式、進行賦值、操作變數和進行其它更奇怪的工作。C++中有許多操作符,這里不想列出全部,只列出最常用的操作符,如下表所示。表1.2常用C++操作符操作符說明舉例
算術運算符
+ 加 x=y+z;
- 減 x=y-z;
* 乘 x=y*z;
/ 除 x=y/z;
賦值運算符
= 賦值 x=10;
+= 賦值與和 x+=10;(等於x=x+10;)
-= 賦值與減 x-=10;
*= 賦值與乘 x*=10;
\= 賦值與除 x\=10;
&= 賦值位與 x&=0x02;
|= 賦值位或 x|=0x02;
邏輯操作符
&& 邏輯與 if(x && 0xFF) {...}
|| 邏輯或 if(x || 0xFF) {...}
等式操作符
== 等於 if(x == 10) {...}
!= 不等於 if(x != 10) {...}
< 小於 if(x < 10) {...}
> 大於 if(x > 10) {...}
<= 小於或等於 if(x <= 10) {...}
>= 大於或等於 if(x >= 10) {...}
一元操作符
* 間接操作符 int x=*y;
& 地址操作符 int* x=&y;
~ 位非 x &=~0x02;
! 邏輯非 if(!valid) {...}
++ 遞增操作符 x++(等於x=x+1;)
-- 遞減操作符 x--;
類和結構操作符
:: 范圍解析 MyClass :: SomeFunction();
-> 間接成員 MyClass-> SomeFunction();
· 直接成員 MyClass . SomeFunction();
可以看出,這個清單長了些,沒法一下子記住。使用C++時,你會慢慢熟悉這些操作符的。必須指出,遞增操作符既可用作前遞增(++x),也可用作後遞增(x++)。前遞增操作符告訴編譯器先遞增再使用變數,而後遞增操作符則讓編譯器先使用變數值再遞增。例如下列代碼:
int x = 10;
cout << "x = " << x++ << end1;
cout << "x = " << x << end1;
cout << "x = " x << end1;
cout << "x = " << ++x << end1;
輸出結果如下:
x=10
x=11
x=12
x=12
遞減操作符也是這樣,這里不想將這些內容講得太深,但讀者可以耐心閱讀下去,正如彭茲對奧古斯特所說,「奧古,耐心點,羅馬不是一天建成的」。說明 在C++中操作符可以過載(overload)。編程人員可以通過過載標准操作符讓它在特定類中進行特定運行。例如,可以在一個類中過載遞增操作符,讓它將變數遞增10而不是遞增1。操作符過載是個高級C++技術,本書不準備詳細介紹。你也許會發現,有些操作符使用了相同的符號。符號的意義隨情境的不同而不同。例如,星號(*)可以作為乘號、聲明指針或取消指針引用。這初看起來有點亂,事實上,C++編程老手有時也覺得有點亂。多實踐,你會慢慢適應的。本書有許多例子介紹這些操作符。讀者不必死記每個操作符的作用,而可以在學習中通過程序和碼段去理解其作用。 C++中的函數
函數是與主程序分開的碼段。這些碼段在程序中需要進行特定動作時調用(執行)。例如,函數可能取兩個值並對其進行復雜的數學運算。然後返回結果,函數可能取一個字串進行分析,然後返回分析字串的一部分。新術語 函數(function)是與主程序分開的碼段,進行預定的一個服務。函數是各種編程語言的重要部分,C++也不例外。最簡單的函數不帶參數,返回void(表示不返回任何東西),其它函數可能帶一個或幾個參數並可能返回一個值。函數名規則與變數名相同。圖1.5顯示了函數的構成部分。新術語 參數(parameter)是傳遞給函數的值,用於改變操作或指示操作程度。
返回類型 函數名 參數表
↓ ↓ ↓
int SomeFunction(int x, int y){
函數體→int z = (x * y); return z; ↑返回語句
}
圖1.5函數的構成部分使用函數前,要先進行聲明。函數聲明或原型(prototype)告訴編譯器函數所取的參數個數、每個參數的數據類型和函數返回值的數據類型。清單1.4列示了這個概念。新術語 原型(prototype)是函數外觀的聲明或其定義的說明。
清單1.4Muttiply.cpp
1: #include <iostream.h>
2: #include <conio.h>
3: #pragma hdrstop
4:
5: int multiply(int,int)
6: void showResult(int);
7:
8:int main(int argc,char **argv);
9:{
10: int x,y,result;
11: cout << end1 << "Enter the first value:";
12: cin >> x;
13: cout << "Enter the second value: ";
14: cin >> y;
15: result=multiply(x,y);
16: showResult(result);
17: cout << end1 << end1 << "Press any key to continue...";
18: getch();
19: return 0
20: }
21:
22: int multiply(int x,int y)
23: {
24:return x * y;
25: }
26:
27: void showResult(int res)
28: {
29:cout << "The result is: " << res <<end1;
30: }
這個程序的11到14行用標准輸入流cin向用戶取兩個數字,第15行調用multiply()函數將兩個數相乘,第16行調用showResult()函數顯示相乘的結果。注意主程序前面第5和第6行multiply()和showResult()函數的原型聲明。原型中只列出了返回類型、函數名和函數參數的數據類型。這是函數聲明的最基本要求。函數原型中還可以包含用於建檔函數功能的變數名。例如,multiply()函數的函數聲明可以寫成如下:int multiply(int firstNumber,int secondNumber);這里函數multiply()的作用很明顯,但代碼既可通過說明也可通過代碼本身建檔。注意清單1.4中函數multiply()的定義(22到25行)在主函數定義碼段(8到20行)之外。函數定義中包含實際的函數體。這里的函數體是最基本的,因為函數只是將函數的兩個參數相乘並返回結果。清單1.4中函數multiply()可以用多種方法調用,可以傳遞變數、直接數或其它函數調用的結果:
result = multiply(2,5);//passing literal values
result = multiply(x,y); //passing variables
showResult(multiply(x,y));
//return value used as a
//parameter for another function
multiply(x,y);//return value ignored
注意 最後一例中沒有使用返回值。本例中調用函數multiply()而不用返回值沒什麼道理,但C++編程中經常忽略返回值。有許多函數是先進行特定動作再返回一個數值,表示函數調用的狀態。有時返回值與程序無關,可以忽略不計。如果將返回值忽略,則只是放棄這個值,而不會有別的危害。例如,前面的樣本程序中忽略了getch()函數的返回值(返回所按鍵的ASCII值)。函數可以調用其它函數,甚至可以調用自己,這種調用稱為遞歸(recursion)。這在C++編程中是個較復雜的問題,這里先不介紹。新術語 遞歸(recursion)就是函數調用自己的過程。

2. C語言基本代碼,求詳細解釋,越詳細越好。

解釋如下:

#include"stdio.h"//頭文件

#include"math.h"//數學庫函數

double pcos(double a);//聲明子函數

main()//主函數

{

double x,y;//定義x,y這兩個雙精度數據

printf("please input one number:");

//輸出please input one number:

scanf("%lf",&x);//出入一個數據並賦值給x

y=pcos(x);//把x傳入pcos函數,返回值賦值給y

printf("cos of %lf is %lf ",x,y);//輸出cos of x is y

}

double pcos(double a)//定義子函數名,形式參數

{

double b;//定義雙精度數據b

b=cos(a);//計算cos(a),並賦值給b

return b;//返回b的值

}

(2)c語言程序大全擴展閱讀:

注釋就是對代碼的解釋和說明,其目的是讓人們能夠更加輕松地了解代碼。注釋是編寫程序時,寫程序的人給一個語句、程序段、函數等的解釋或提示,能提高程序代碼的可讀性。

注釋就是對代碼的解釋和說明。目的是為了讓別人和自己很容易看懂。為了讓別人一看就知道這段代碼是做什麼用的。

正確的程序注釋一般包括序言性注釋和功能性注釋。序言性注釋的主要內容包括模塊的介面、數據的描述和模塊的功能。模塊的功能性注釋的主要內容包括程序段的功能、語句的功能和數據的狀態。

3. 求C語言函數大全

數學函數(原型聲明所在頭文件為math.h、stdlib.h、string.h、float.h)

int abs(int i) 返回整型參數i的絕對值

double cabs(struct complex znum) 返回復數znum的絕對值

double fabs(double x) 返回雙精度參數x的絕對值

long labs(long n) 返回長整型參數n的絕對值

double exp(double x) 返回指數函數ex的值

double frexp(double value,int *eptr) 返回value=x*2n中x的值,分配得來的n存貯在eptr中

double ldexp(double value,int exp); 返回value*2exp的值

double log(double x) 返回logex的值

double log10(double x) 返回log10x的值

double pow(double x,double y) 返回xy的值

double pow10(int p) 返回10p的值

double sqrt(double x) 返回x的開方

double acos(double x) 返回x的反餘弦cos-1(x)值,x為弧度

double asin(double x) 返回x的反正弦sin-1(x)值,x為弧度

double atan(double x) 返回x的反正切tan-1(x)值,x為弧度

double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x為弧度

double cos(double x) 返回x的餘弦cos(x)值,x為弧度

double sin(double x) 返回x的正弦sin(x)值,x為弧度

double tan(double x) 返回x的正切tan(x)值,x為弧度

double cosh(double x) 返回x的雙曲餘弦cosh(x)值,x為弧度

double sinh(double x) 返回x的雙曲正弦sinh(x)值,x為弧度

double tanh(double x) 返回x的雙曲正切tanh(x)值,x為弧度

double hypot(double x,double y) 返回直角三角形斜邊的長度(z),

x和y為直角邊的長度,z2=x2+y2

double ceil(double x) 返回不小於x的最小整數

double floor(double x) 返回不大於x的最大整數

void srand(unsigned seed) 初始化隨機數發生器

int rand() 產生一個隨機數並返回這個數

double poly(double x,int n,double c[])從參數產生一個多項式

double modf(double value,double *iptr)將雙精度數value分解成尾數和階,iptr返回整數部分,函數返回小數部分:fraction = modf(number, &integer);

double fmod(double x,double y) 返回x/y的余數

double atof(char *nptr) 將字元串nptr轉換成浮點數並返回這個浮點數

double atoi(char *nptr) 將字元串nptr轉換成整數並返回這個整數

double atol(char *nptr) 將字元串nptr轉換成長整數並返回這個整數

char *ecvt(double value,int ndigit,int *decpt,int *sign)

將浮點數value轉換成字元串並返回該字元串

char *fcvt(double value,int ndigit,int *decpt,int *sign)

將浮點數value轉換成字元串並返回該字元串

char *gcvt(double value,int ndigit,char *buf)

將數value轉換成字元串並存於buf中,並返回buf的指針

char *ultoa(unsigned long value,char *string,int radix)

將無符號整型數value轉換成字元串並返回該字元串,radix為轉換時所用基數

char *ltoa(long value,char *string,int radix)

將長整型數value轉換成字元串並返回該字元串,radix為轉換時所用基數

char *itoa(int value,char *string,int radix)

將整數value轉換成字元串存入string,radix為轉換時所用基數

double atof(char *nptr) 將字元串nptr轉換成雙精度數,並返回這個數,錯誤返回0

int atoi(char *nptr) 將字元串nptr轉換成整型數, 並返回這個數,錯誤返回0

long atol(char *nptr) 將字元串nptr轉換成長整型數,並返回這個數,錯誤返回0

double strtod(char *str,char **endptr)將字元串str轉換成雙精度數,並返回這個數,

long strtol(char *str,char **endptr,int base)將字元串str轉換成長整型數, 並返回這個數。

int matherr(struct exception *e) 用戶修改數學錯誤返回信息函數(沒有必要使用)

double _matherr(_mexcep why,char *fun,double *arg1p, double *arg2p,double retval)

用戶修改數學錯誤返回信息函數(沒有必要使用)

unsigned int _clear87() 清除浮點狀態字並返回原來的浮點狀態

void _fpreset() 重新初使化浮點數學程序包

unsigned int _status87() 返回浮點狀態字

4. C語言所有語句格式

循環結構是程序中一種很重要的結構。其特點是, 在給定條件成立時,反復執行某程序段,直到條件不成立為止。 給定的條件稱為循環條件,反復執行的程序段稱為循環體。 C語言提供了多種循環語句,可以組成各種不同形式的循環結構。

while語句

while語句的一般形式為: while(表達式)語句; 其中表達式是循環條件,語句為循環體。
while語句的語義是:計算表達式的值,當值為真(非0)時, 執行循環體語句。其執行過程可用圖3—4表示。 統計從鍵盤輸入一行字元的個數。
#include <stdio.h>
void main(){
int n=0;
printf("input a string:\n");
while(getchar()!='\n') n++;
printf("%d",n);
}
本常式序中的循環條件為getchar()!='\n',其意義是, 只要從鍵盤輸入的字元不是回車就繼續循環。循環體n++完成對輸入字元個數計數。從而程序實現了對輸入一行字元的字元個數計數。
使用while語句應注意以下幾點:
1.while語句中的表達式一般是關系表達或邏輯表達式,只要表達式的值為真(非0)即可繼續循環。
void main(){
int a=0,n;
printf("\n input n: ");
scanf("%d",&n);
while (n--)
printf("%d ",a++*2);
}
本常式序將執行n次循環,每執行一次,n值減1。循環體輸出表達式a++*2的值。該表達式等效於(a*2;a++)
2.循環體如包括有一個以上的語句,則必須用{}括起來, 組成復合語句。
3.應注意循環條件的選擇以避免死循環。
void main(){
int a,n=0;
while(a=5)
printf("%d ",n++);
}
本例中while語句的循環條件為賦值表達式a=5, 因此該表達式的值永遠為真,而循環體中又沒有其它中止循環的手段, 因此該循環將無休止地進行下去,形成死循環。4.允許while語句的循環體又是while語句,從而形成雙重循環。

do-while語句

do-while語句的一般形式為:
do
語句;
while(表達式);
其中語句是循環體,表達式是循環條件。
do-while語句的語義是:
先執行循環體語句一次, 再判別表達式的值,若為真(非0)則繼續循環,否則終止循環。
do-while語句和while語句的區別在於do-while是先執行後判斷,因此do-while至少要執行一次循環體。而while是先判斷後執行,如果條件不滿足,則一次循環體語句也不執行。
while語句和do-while語句一般都可以相互改寫。
void main(){
int a=0,n;
printf("\n input n: ");
scanf("%d",&n);
do printf("%d ",a++*2);
while (--n);
}

在本例中,循環條件改為--n,否則將多執行一次循環。這是由於先執行後判斷而造成的。
對於do-while語句還應注意以下幾點:
1.在if語句,while語句中, 表達式後面都不能加分號, 而在 do-while語句的表達式後面則必須加分號。
2.do-while語句也可以組成多重循環,而且也可以和while語句相互嵌套。
3.在do和while之間的循環體由多個語句組成時,也必須用{}括起來組成一個復合語句。
4.do-while和while語句相互替換時,要注意修改循環控制條件。

5. 最簡單的C語言代碼

最簡單的C語言代就是輸出「helloWord」,通常是作為初學編程語言時的第一個程序代碼。具體代碼如下:

#include <stdio.h>

int main(){

printf("Hello, World! ");

return 0;

}

(5)c語言程序大全擴展閱讀:

1、程序的第一行#include <stdio.h>是預處理器指令,告訴 C 編譯器在實際編譯之前要包含 stdio.h 文件。

2、下一行intmain()是主函數,程序從這里開始執行。

3、下一行printf(...)是C中另一個可用的函數,會在屏幕上顯示消息"Hello,World!"。

4、下一行return0;終止main()函數,並返回值0。

6. 有誰能幫我將C語言中所有的函數及其功能一一列舉一下,不勝感激

復制
#include
"stdio.h"
{char
s1[]="abcde",s2[]="scasasa";
strcpy(s1,s2);
如果s2長度大於s1則會覆蓋掉
如果小於的話只是將s2的\0放在s1中\0的前面罷了,而後面處理字元串的函數是遇到\0就收手
函數名:
strncpy

能:
串拷貝

法:
char
*strncpy(char
*destin,
char
*source,
int
maxlen);
程序例:
#include
#include
int
main(void)
{
char
string[10];
char
*str1
=
"abcdefghi";
strncpy(string,
str1,
3);
string[3]
=
'\0';
printf("%s\n",
string);
return
0;
}
函數名:
remove

能:
刪除一個文件

法:
int
remove(char
*filename);
程序例:
#include
int
main(void)
{
char
file[80];
/*
prompt
for
file
name
to
delete
*/
printf("file
to
delete:
");
gets(file);
/*
delete
the
file
*/
if
(remove(file)
==
0)
printf("removed
%s.\n",file);
else
perror("remove");
return
0;
}
函數名:
rename

能:
重命名文件

法:
int
rename(char
*oldname,
char
*newname);
程序例:
#include
int
main(void)
{
char
oldname[80],
newname[80];
/*
prompt
for
file
to
rename
and
new
name
*/
printf("file
to
rename:
");
gets(oldname);
printf("new
name:
");
gets(newname);
/*
rename
the
file
*/
if
(rename(oldname,
newname)
==
0)
printf("renamed
%s
to
%s.\n",
oldname,
newname);
else
perror("rename");
return
0;
}

7. 求簡單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語言

8. c語言編程代碼

兩種方法我寫在一起,可以獨立拆開。

#include <stdio.h>

void finda1(char a[3][10]);

void finda2(char a[3][10]);

void show(char (*p)[10]);

int main()

{

char a[3][10]={{"gehajl"},{"788a987a7"},{"ccabbbabbb"}};

printf("原數組內容: ");

show(a);

printf(" 1、用數組指針的方法(函數finda1): ");

finda1(a);

printf("執行後: ");

show(a);


printf(" --------------------- ");


char b[3][10]={{"gehajl"},{"788a987a7"},{"ccabbbabbb"}};

printf("原數組內容: ");

show(a);

printf(" 2、用指針數組的方法(函數finda2): ");

finda2(b);

printf("執行後: ");

show(b);

return 0;

}

void finda1(char a[3][10])

{

int i,j;

char (*p)[10]=a;

for(i=0;i<3;i++)

for(j=0;j<10;j++)

if(p[i][j]=='a')

printf("發現:第%d行第%d個元素是『a』,已替換 ",i+1,j+1),p[i][j]='1';

}

void finda2(char a[3][10])

{

int i,j;

char *p[3]={&a[0][0],&a[1][0],&a[2][0]};

for(i=0;i<3;i++)

for(j=0;j<10;j++)

if(p[i][j]=='a')

printf("發現:第%d行第%d個元素是『a』,已替換 ",i+1,j+1),p[i][j]='1';


}

void show(char (*p)[10])

{

int i,j;

for(i=0;i<3;i++,printf(" "))

for(j=0;j<10;j++)

printf("%c ",p[i][j]);

}

9. c語言必背代碼有哪些

1、/*輸出9*9口訣。共9行9列,i控制行,j控制列。*/

#include "stdio.h"

main()

{int i,j,result;

for (i=1;i<10;i++)

{ for(j=1;j<10;j++)

{

result=i*j;

printf("%d*%d=%-3d",i,j,result);/*-3d表示左對齊,佔3位*/

}

printf(" ");/*每一行後換行*/

}

}

5、/*下面程序的功能是將一個4×4的數組進行逆時針旋轉90度後輸出,要求原始數組的數據隨機輸入,新數組以4行4列的方式輸出,

請在空白處完善程序。*/

main()

{ int a[4][4],b[4][4],i,j; /*a存放原始數組數據,b存放旋轉後數組數據*/

printf("input 16 numbers: ");

/*輸入一組數據存放到數組a中,然後旋轉存放到b數組中*/

for(i=0;i<4;i++)

for(j=0;j<4;j++)

{ scanf("%d",&a[i][j]);

b[3-j][i]=a[i][j];

}

printf("array b: ");

for(i=0;i<4;i++)

{ for(j=0;j<4;j++)

printf("%6d",b[i][j]);

printf(" ");

}

}

6、/*編程列印直角楊輝三角形*/

main()

{int i,j,a[6][6];

for(i=0;i<=5;i++)

{a[i][i]=1;a[i][0]=1;}

for(i=2;i<=5;i++)

for(j=1;j<=i-1;j++)

a[i][j]=a[i-1][j]+a[i-1][j-1];

for(i=0;i<=5;i++)

{for(j=0;j<=i;j++)

printf("%4d",a[i][j]);

printf(" ");}

}

7、/*通過鍵盤輸入3名學生4門課程的成績,

分別求每個學生的平均成績和每門課程的平均成績。

要求所有成績均放入一個4行5列的數組中,輸入時同一人數據間用空格,不同人用回車

其中最後一列和最後一行分別放每個學生的平均成績、每門課程的平均成績及班級總平均分。*/

#include <stdio.h>

#include <stdlib.h>

main()

{ float a[4][5],sum1,sum2;

int i,j;

for(i=0;i<3;i++)

for(j=0;j<4;j++)

scanf("%f",&a[i][j]);

for(i=0;i<3;i++)

{ sum1=0;

for(j=0;j<4;j++)

sum1+=a[i][j];

a[i][4]=sum1/4;

}

10. 求C語言編寫的表白程序,要代碼

呃,你還不如用vbs,網上也有一堆教程和例子,很簡單,隨便看一下就知道怎麼寫了。

DimmyName,herName,myNameAns,herNameAns
myName="池早早"
herName="歐浩辰"
MsgBox(herName+",我喜歡你!我的腦和心,我全身上下每一個器官都在說著我喜歡你。")
do
herNameAns=InputBox("我喜歡誰?","某人的名字")
loopwhileherNameAns<>herName
do
myNameAns=InputBox("誰喜歡"+herName+"?","某人的名字")
loopwhilemyNameAns<>myName
do
myNameAns=InputBox("大聲點我聽不見!","你的名字")
loopwhilemyNameAns<>myName
MsgBox(herName+",這是我為你准備的葯,你趁熱吃吧!")

.........................保存為xxx.vbs文件就能運行了

熱點內容
pythonnumexpr 發布:2025-01-13 19:34:56 瀏覽:489
linuxpython版本查看 發布:2025-01-13 19:18:37 瀏覽:741
寶馬三系的哪個配置走量 發布:2025-01-13 19:12:14 瀏覽:695
區域網如何訪問伺服器 發布:2025-01-13 18:56:24 瀏覽:189
javaarraylist訪問 發布:2025-01-13 18:56:10 瀏覽:671
如何確定膠體是否配置成功 發布:2025-01-13 18:46:07 瀏覽:73
fgo緩存多大 發布:2025-01-13 18:42:13 瀏覽:972
能緩解壓力的水果 發布:2025-01-13 18:15:36 瀏覽:391
怎麼把文件壓縮成文件 發布:2025-01-13 18:15:33 瀏覽:610
壓縮機配件網 發布:2025-01-13 18:15:00 瀏覽:48