當前位置:首頁 » 編程語言 » c語言各行意思
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言各行意思

發布時間: 2023-02-07 17:43:39

c語言新手,求解釋每行代碼的意思,謝謝了,在線等

#include <stdio.h>
main()
{
int a[3][5],*p[3]; //二維數組a,存儲三個整數序列(每個序列5個整數),三行五列,指針數組p分別指向三個整數序列
int i,j,k,min,code; //都是整型,min為最小值
p[0]=*a; //p[0]指向第一行
p[1]=*(a+1); // p[1]指向第二行
p[2]=*(a+2); // p[2]指向第三行
for (i=0;i<3;i++) //建立循環體,依次輸入每行的5個數字
{
printf("輸入第%d個數序的5個整數:",i+1);//輸入
for (j=0;j<5;j++)
scanf("%d",p[i]+j);//輸出
}
for (i=0;i<3;i++) //i 為行數
{
for (j=0;j<4;j++) //j為列數
{
for (k=j;k<5;k++)
if (k==j || *(p[i]+k)<min)//和min比較
{
min=*(p[i]+k); //將較小的賦予min
code=k; //code為最小值所在列
}
if (code!=j) //k不等於j
{
*(p[i]+code)=*(p[i]+j); //取p的地址是指一個具體的數
*(p[i]+j)=min; //將最小值賦給*(p[i]+j)
}
}
}
printf("輸出結果如下:n"); //輸出提示
for (i=0;i<3;i++) { //外循環3次輸出
printf(" 數序%d:",i+1); // 輸出行數
for (j=0;j<5;j++) //內循環5次輸出
printf("%d ",*(p[i]+j)); //輸出每列的數字

}
}

❷ c語言每行的意思,請解釋的詳細一點

#include"stdio.h"
#definemaxlen100
typedefstruct{
intdata[100];
intlast;
}Seq;//定義一個數據結構
intSqLempty(Seq*L)//判斷數組是否滿
{
if(L->last+1>=maxlen)//如果數組長度等於超過最大長度,表示數組已滿
return1;
else
return0;
}
voidSqLinsert(Seq*L,inti,intx)//插入運算
{
intj;
if(SqLempty(L)==1)//數組滿,無法插入
{printf("overflow");
}
elseif(i<1||(i>L->last+2))//i代表插入位置,不能小於1也不能比數組長度+1大
{
printf("error");
}
else
{
for(j=L->last;j>=i-1;j--)
L->data[j+1]=L->data[j];//插入位置之後的元素往後移一格
L->data[i-1]=x;//插入元素
L->last=L->last+1;//元素總數+1
}
for(i=0;i<L->last+1;i++)//輸出所有元素
printf("%d",L->data[i]);
}
main()
{
intj,k;
Seqx,*L;
L=&x;
L->last=6;
L->data[0]=32;
L->data[1]=51;
L->data[2]=65;
L->data[3]=9;
L->data[4]=23;
L->data[5]=7;
L->data[6]=47;//定義出師序列
printf("請問您想在什麼位置插入數據?");
scanf("%d",&j);
printf("您想要插入什麼數據?");
scanf("%d",&k);
SqLinsert(L,j,k);//調用插入數據函數
}

❸ C語言初學求解釋其中的每行的意思

  1. 包含一個頭文件(頭文件裡面提供有一些可以直接使用的東西,比如函數方法,)。

  2. 把uchar定義為 unsigned char 型變數的簡稱,目的是方便打代碼少寫幾個英文。

  3. 注釋(做一些代碼的註解,不被編譯)

  4. 定義一個叫redLED的常量,它的值為PORTC.0。這方便在寫代碼的時候辨識是哪個燈,這就不用去記憶PORTC.0對應的LED燈是紅燈。

  5. 同上

  6. main函數,就是主函數。這是整個程序的入口點。程序運行的時候,就是從這個函數開始的。

  7. DDRC(應該是寄存器)置位為0xff。

  8. 同上

  9. 同上

  10. 同上

  11. 死循環(不斷反復執行while{}裡面的語句,除非整個程序停止或者用break關鍵字跳出,否則永遠循環執行下去)。

  12. 這是個判斷。PIND&0x01,把PIND跟0x01相與,當PIND=1,這個式子結果就是1,if里的值為真,執行下面花括弧里的語句;而如果PIND為0,這個式子結果就是0,if里的值為假,執行else下面的語句。

  13. redLED 置1,給這個對應的引腳輸出一個高電平,把燈點亮(或者熄滅,我沒學過你們的這個單片機,不知道 置1 會是什麼結果)。

  14. redLED 置1,給這個對應的引腳輸出一個低電平。同上。

  15. 如果PIND&0X01的結果為0時,執行下面{}中的語句。

  16. 同13、14。

  17. 同13、14。

以上內容為大概解析,本人沒有使用過這款單片機,所以有一些具體的內容可能我無法准確描述(比如寄存器與io口的配置)。僅供參考,歡迎糾正。

❹ c語言中實數的輸出和佔位各行代表的意思,朋友們,謝謝大家了。

double是一種類型,表示雙精度浮點數。

%lf是以6位小數、按實際需要的寬度輸出一個雙精度浮點數。

%10.3lf中,10表示右對齊、最小輸出寬度是10個字元,不足10個字元時在左邊補空格直到10個字元。3表示輸出時保留3位小數。lf表示將輸出一個雙精度的浮點數。

%-10.3lf與%10.3lf的意思基本相同,除了是表示左對齊,空格補在右邊。

下面是運行截圖,可以對照著上面的解釋來理解:

❺ C語言函數運行 過程 每行的意思

就是,實參是主函數調用函數的時候傳進去的那個,形參就是在被調用函數中的,代表那個實參的值。#includeint fun(int n){ return n+2;}int main(){ int a; a=1; int b; b=fun(a);}a就是實參,函數中的 int n 就是形參。形參出現在函數定義中,在整個函數體內都可以使用, 離開該函數則不能使用。實參出現在主調函數中,進入被調函數後,實參變數也不能使用。 形參和實參的功能是作數據傳送。發生函數調用時, 主調函數把實參的值傳送給被調函數的形參從而實現主調函數向被調函數的數據傳送。1.形參變數只有在被調用時才分配內存單元,在調用結束時, 即刻釋放所分配的內存單元。因此,形參只有在函數內部有效。 函數調用結束返回主調函數後則不能再使用該形參變數。 2.實參可以是常量、變數、表達式、函數等, 無論實參是何種類型的量,在進行函數調用時,它們都必須具有確定的值, 以便把這些值傳送給形參。 因此應預先用賦值,輸入等辦法使實參獲得確定值。 3.實參和形參在數量上,類型上,順序上應嚴格一致, 否則會發生「類型不匹配」的錯誤。 4.函數調用中發生的數據傳送是單向的。 即只能把實參的值傳送給形參,而不能把形參的值反向地傳送給實參。 因此在函數調用過程中,形參的值發生改變,而實參中的值不會變化。

❻ C語言程序~翻譯下解釋下每行的意思~謝謝了

#include<stdio.h> //由於下面程序會用到scanf和printf語句,所以需要包含這個頭文件
int main() //主函數的返回值為整型,這要求程序有return 0;這樣的返回語句
{ int a[10]; //定義10個單元的數組,數組名為a,10個元素分別是:a[0],a[1],...,a[9]
int i,j,t; //定義工作變數
printf("input 10 numbers:\n");//在屏幕上顯示提示input 10 numbers:並換行,提示輸入10個整數
for ( i=0;i<10;i++ ) //循環語句,讓每次執行循環體時,i的值從0開始每次加1,i=0,1,2,...,9
scanf("%d",&a[i]); //循環體,輸入整型的數據到a[i],由於每次循環i的取值不同,所以10次循環
//會將鍵盤輸入的整數分別放到a[0],a[1],...,a[9]中
printf("\n");//在屏幕上輸出一行空行
for ( j=0;j<9;j++ ) //循環,j在下面循環中分別等於0,1,2,...,8
for ( i=0;i<9-j;i++ ) //循環體,根據每次j的值進行9-j次循環
//i的取值對應j值分別是0~9,0~8,0~7,...,0~1
if ( a[i]>a[i+1] ) //如果發現當前的元素值比後面一個的大執行下面操作
{ t=a[i]; a[i]=a[i+1];a[i+1]=t; } //藉助t交換兩個元素的值
//上面這個嵌套循環實現冒泡排序演算法:每次j循環實現將當前范圍內的最大數交換到
//當前范圍的最後後元素位置上,第0次循環將a[0]~a[9]中最大值放到a[9],
//第1次循環將a[0]~a[8]中最大值放到a[8],依此類推
//i循環實現當前范圍內最大數向後逐一交換移動
printf("the sorted numbers:\n");//在屏幕上輸出提示the sorted numbers:並換行
for ( i=0;i<10;i++ ) printf("%d ",a[i]);//順序輸出排序後的a[0],a[1],...,a[9]的值,每個數據間空1格
printf("\n");//輸出上面數據後換行
return 0;//正常返回值結束程序運行
}