⑴ c語言入門代碼
這位同學,你想要什麼樣的程序的代碼?這是要說清楚的,不然的話沒有辦法給出相應的代碼。從網上隨便復制一大堆的代碼,你有什麼用呢?
⑵ c語言基礎代碼,越詳細,解釋越簡單,越好
你並沒有把詳細的 C 語言基礎代碼寫出來,別人怎麼幫助你添加註釋語句啊?因為所說的 C 語言基礎代碼實際上並沒有一定之規。怎麼樣才算是基礎代碼、有幾行代碼就可以、足夠了?這些都是靈活的、並不是一成不變的。例如,最、最簡單的 C 語言基礎代碼就是:很多 C 語言教材上的第一個程序,輸出:"Hello, World !"。該詳細的 C 語言代碼如下:
#include <stdio.h> /* 基本輸入輸出頭文件,包括:printf、scanf等的庫函數原型說明 */
void main( ) /* 任何一個 C 語言源代碼都必須包含主函數 main( ),void 表示該函數不返回任何值 */
{ /* 在 C 語言代碼中,任何一個函數都是以 { 開始,並且以 } 結束 */
printf( "Hello, World !\n" ) ; /* 在電腦屏幕上輸出字元串:Hello, World */
}
⑶ C語言程序代碼
char A = "abc";
char B = "bcd" char C = "cde";
char D;
B=C;C=D;D=B;
或者直接運用位運算。
⑷ C語言基礎
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
int main()
{
char temp;
printf("Please input letter:\n");
scanf("%c",&temp);
printf("the pre letter : %c\n",temp+1);
printf("the next letter : %c\n",temp-1);
return 0;
system("pause");
}
===========================================================
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
int main()
{
char a[100];
int i;
printf("input string:");
scanf("%s",a);
for(i=strlen(a);i>=0;i--)
printf("%c",a[i]);
return 0;
system("pause");
}
剛開始學習都很吃力的
多看看別人的程序 多動動手就好了
⑸ C語言基礎是什麼
一.學好C語言的運算符和運算順序
這是學好《C程序設計》的基礎,C語言的運算非常靈活,功能十分豐富,運算種類遠多於其它程序設計語言。在表達式方面較其它程序語言更為簡潔,如自加、自減、逗號運算和三目運算使表達式更為簡單,但初學者往往會覺的這種表達式難讀,關鍵原因就是對運算符和運算順序理解不透不全。當多種不同運算組成一個運算表達式,即一個運算式中出現多種運算符時,運算的優先順序和結合規則顯得十分重要。在學習中,只要我們對此合理進行分類,找出它們與我們在數學中所學到運算之間的不同點之後,記住這些運算也就不困難了,有些運算符在理解後更會牢記心中,將來用起來得心應手,而有些可暫時放棄不記,等用到時再記不遲。
先要明確運算符按優先順序不同分類,《C程序設計》運算符可分為15種優先順序,從高到低,優先順序為1 ~ 15,除第2、3級和第14級為從右至左結合外,其它都是從左至右結合,它決定同級運算符的運算順序.
二.學好C語言的四種程序結構
(1)順序結構
順序結構的程序設計是最簡單的,只要按照解決問題的順序寫出相應的語句就行,它的執行順序是自上而下,依次執行。
例如;a = 3,b = 5,現交換a,b的值,這個問題就好像交換兩個杯子水,這當然要用到第三個杯子,假如第三個杯子是c,那麼正確的程序為: c = a; a = b; b = c; 執行結果是a = 5,b = c = 3如果改變其順序,寫成:a = b; c = a; b = c; 則執行結果就變成a = b = c = 5,不能達到預期的目的,初學者最容易犯這種錯誤。 順序結構可以獨立使用構成一個簡單的完整程序,常見的輸入、計算,輸出三步曲的程序就是順序結構,例如計算圓的面積,其程序的語句順序就是輸入圓的半徑r,計算s = 3.14159*r*r,輸出圓的面積s。不過大多數情況下順序結構都是作為程序的一部分,與其它結構一起構成一個復雜的程序,例如分支結構中的復合語句、循環結構中的循環體等。
(2) 分支結構
順序結構的程序雖然能解決計算、輸出等問題,但不能做判斷再選擇。對於要先做判斷再選擇的問題就要使用分支結構。分支結構的執行是依據一定的條件選擇執行路徑,而不是嚴格按照語句出現的物理順序。分支結構的程序設計方法的關鍵在於構造合適的分支條件和分析程序流程,根據不同的程序流程選擇適當的分支語句。分支結構適合於帶有邏輯或關系比較等條件判斷的計算,設計這類程序時往往都要先繪制其程序流程圖,然後根據程序流程寫出源程序,這樣做把程序設計分析與語言分開,使得問題簡單化,易於理解。程序流程圖是根據解題分析所繪制的程序執行流程圖。
學習分支結構不要被分支嵌套所迷惑,只要正確繪制出流程圖,弄清各分支所要執行的功能,嵌套結構也就不難了。嵌套只不過是分支中又包括分支語句而已,不是新知識,只要對雙分支的理解清楚,分支嵌套是不難的。下面我介紹幾種基本的分支結構。
①if(條件)
{
分支體
}
這種分支結構中的分支體可以是一條語句,此時「{ }」可以省略,也可以是多條語句即復合語句。它有兩條分支路徑可選,一是當條件為真,執行分支體,否則跳過分支體,這時分支體就不會執行。如:要計算x的絕對值,根據絕對值定義,我們知道,當x>=0時,其絕對值不變,而x<0時其絕對值是為x的反號,因此程序段為:if(x<0) x=-x;
②if(條件)
{分支1}
else
{分支2}
這是典型的分支結構,如果條件成立,執行分支1,否則執行分支2,分支1和分支2都可以是1條或若干條語句構成。如:求ax^2+bx+c=0的根
分析:因為當b^2-4ac>=0時,方程有兩個實根,否則(b^2-4ac<0)有兩個共軛復根。其程序段如下:
d=b*b-4*a*c;
if(d>=0)
{x1=(-b+sqrt(d))/2a;
x1=(-b-sqrt(d))/2a;
printf(「x1=%8.4f,x2=%8.4f\n」,x1,x2);
}
else
{r=-b/(2*a);
i =sqrt(-d)/(2*a);
printf(「x1=%8.4f+%8.4fi\n」r, i);
printf(「x2=%8.4f-%8.4fi\n」r,i)
}
③嵌套分支語句:其語句格式為:
if(條件1) {分支1};
else if(條件2) {分支2}
else if(條件3) {分支3}
……
else if(條件n) {分支n}
else {分支n+1}
嵌套分支語句雖可解決多個入口和出口的問題,但超過3重嵌套後,語句結構變得非常復雜,對於程序的閱讀和理解都極為不便,建議嵌套在3重以內,超過3重可以用下面的語句。
④switch開關語句:該語句也是多分支選擇語句,到底執行哪一塊,取決於開關設置,也就是表達式的值與常量表達式相匹配的那一路,它不同if…else 語句,它的所有分支都是並列的,程序執行時,由第一分支開始查找,如果相匹配,執行其後的塊,接著執行第2分支,第3分支……的塊,直到遇到break語句;如果不匹配,查找下一個分支是否匹配。這個語句在應用時要特別注意開關條件的合理設置以及break語句的合理應用。
(3)循環結構:
循環結構可以減少源程序重復書寫的工作量,用來描述重復執行某段演算法的問題,這是程序設計中最能發揮計算機特長的程序結構,C語言中提供四種循環,即goto循環、while循環、do –while循環和for循環。四種循環可以用來處理同一問題,一般情況下它們可以互相代替換,但一般不提倡用goto循環,因為強制改變程序的順序經常會給程序的運行帶來不可預料的錯誤,在學習中我們主要學習while、do…while、for三種循環。常用的三種循環結構學習的重點在於弄清它們相同與不同之處,以便在不同場合下使用,這就要清楚三種循環的格式和執行順序,將每種循環的流程圖理解透徹後就會明白如何替換使用,如把while循環的例題,用for語句重新編寫一個程序,這樣能更好地理解它們的作用。特別要注意在循環體內應包含趨於結束的語句(即循環變數值的改變),否則就可能成了一個死循環,這是初學者的一個常見錯誤。
在學完這三個循環後,應明確它們的異同點:用while和do…while循環時,循環變數的初始化的操作應在循環體之前,而for循環一般在語句1中進行的;while 循環和for循環都是先判斷表達式,後執行循環體,而do…while循環是先執行循環體後判斷表達式,也就是說do…while的循環體最少被執行一次,而while 循環和for就可能一次都不執行。另外還要注意的是這三種循環都可以用break語句跳出循環,用continue語句結束本次循環,而goto語句與if構成的循環,是不能用break和 continue語句進行控制的。
順序結構、分支結構和循環結構並不彼此孤立的,在循環中可以有分支、順序結構,分支中也可以有循環、順序結構,其實不管哪種結構,我們均可廣義的把它們看成一個語句。在實際編程過程中常將這三種結構相互結合以實現各種演算法,設計出相應程序,但是要編程的問題較大,編寫出的程序就往往很長、結構重復多,造成可讀性差,難以理解,解決這個問題的方法是將C程序設計成模塊化結構。
(4)模塊化程序結構
C語言的模塊化程序結構用函數來實現,即將復雜的C程序分為若干模塊,每個模塊都編寫成一個C函數,然後通過主函數調用函數及函數調用函數來實現一大型問題的C程序編寫,因此常說:C程序=主函數+子函數。 因此,對函數的定義、調用、值的返回等中要尤其注重理解和應用,並通過上機調試加以鞏固。
⑹ C語言基礎知識
顯然不能 因為這是科學計數法 表示1.2*10^0.4 而10的次方數必定要為整數 0.4不行 故不是合法常量
⑺ 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;
}
⑻ 學生c語言基礎代碼
#include<stdio.h>
#include<stdlib.h>
intmain()
{
inta[10];
inti,j,num,n;
inta_s[]={25,-2,8,24,5,76,-27,8,19,10};
intstu[50];
for(i=0;i<10;i++)//1
{
printf("請輸入第%d位值:",i+1);//輸入元素
scanf("%d",&a[i]);
}
for(i=0;i<10;i++)
printf("%d",a[i]);//順序輸出
printf(" ");
for(i=9;i>=0;i--)
printf("%d",a[i]);//逆序輸出
printf(" ");
for(i=0;i<10;i++)//2
{
for(j=0;j<10;j++)
{
if(a_s[i]>a_s[j])//判斷最大元素
{
num=a_s[i];
n=i;
}
}
}
printf("最大元素和下標為:%d%d ",num,n);
for(i=0;i<5;i++)//3
{
printf("請輸入第%d位學生成績:",i+1);
scanf("%d",&stu[i]);
printf("輸入學號:");
scanf("%d",&a[i]);
}
//求最高演算法同上
return0;
}
⑼ C語言鏈表基礎代碼
比較簡單的插入和刪除 特殊情況沒有考慮。
採用的是帶頭結點的尾插法建立鏈表。
這個程序寫的插入是在某個元素之前插入,特殊情況就是在第一個元素之前插入沒有考慮
刪除也有特殊情況沒有考慮,刪除第一個元素沒有考慮
下面是代碼:
#include <stdio.h>
#include <stdlib.h>
struct node
{
int data;
struct node * next;
};
int main ()
{
struct node *head,*p,*tail,*t;
head = (struct node *)malloc (sizeof (struct node));
head -> next = NULL;
tail = head;
int n;
printf("請輸入元素個數: \n");
scanf("%d",&n);
while (n--)
{
p = (struct node *)malloc (sizeof (struct node));
scanf ("%d",&p->data);
p -> next = NULL;
tail -> next = p;
tail = p;
}
printf ("插入一個元素\n請輸入要在哪個元素之前插入:");
scanf ("%d",&n);
p = head -> next;
while (p != NULL)
{
t = p -> next;
if (t -> data == n)
{
struct node *temp;
temp = (struct node *)malloc (sizeof (struct node));
temp -> next = NULL;
printf("請輸入要插入的元素:");
scanf ("%d",&temp->data);
temp -> next = p -> next ;
p -> next = temp;
break;
}
p = p -> next;
}
p = head -> next;
while (p != NULL)
{
printf ("%d ",p->data);
p = p -> next;
}
printf ("刪除一個元素\n請輸入要刪除哪個元素:");
scanf ("%d",&n);
p = head -> next;
while (p != NULL)
{
t = p -> next;
if (t -> data == n)
{
p -> next = t -> next;
t -> next = NULL;
break;
}
p = p -> next;
}
p = head -> next;
while (p != NULL)
{
printf ("%d ",p->data);
p = p -> next;
}
return 0;
}
⑽ C語言基礎,編程
#include<stdio.h>
#include<stdlib.h>//頭文件
#include<time.h> //頭文件
int main()
{
srand((unsigned)time(NULL));//為隨機函數rand提供種子
int a[111],b[111],k=0,sum=0;
float aver=0;
for(int i=0;i<100;i++)
{
a[i]=rand()%101;//0~100
if(a[i]%3==0)
{
k++;//記數
sum+=a[i];//累加
}
}
aver=1.0*sum/k;//平均值
printf("count=%d average=%.2f",k,aver);
return 0;
}
——————————————————————
#include<stdio.h>
void fun(int n)
{
float sum=0;
for(int i=1;i<=n;i++)
{
if(i%2==1)
sum+=1.0/i;
else
sum+=(-1.0/i);
}
printf("%.6f",sum);
}
int main()
{
int n;
scanf("%d",&n);
fun(n);//調用函數
return 0;
}