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

c語言扭曲修正

發布時間: 2023-07-29 12:01:07

① C語言的三種循環結構為

三種循環結構:

(1) for:
for (循環控制變數初始化; 循環終止條件; 循環控制變數增量)
{
循環體
}
循環執行步驟:第一,先進行循環控制變數初始化;
第二,執行循環終止條件,如果判斷結果為真,則進入第三步;如果為假則循環終止並退出;
第三,執行循環體;
第四,執行循環控制變數增量,轉入第二步;
註:for循環()中的三部分除了循環終止條件外,其他兩部分都可以省略,但標準的for循環中,應該把循環控制變數的初始化,增量都放在()當中,並且在循環體中絕對不應該更改循環控制變數;


(2) while:
循環控制變數初始化
while(循環終止條件)
{
循環體
循環控制變數增量
}
循環執行步驟:第一,先進行循環控制變數初始化(在while之前);
第二,判斷循環終止條件,如果判斷結果為真,則進入第三步;如果為假則不執行循環體;
第三,執行循環體;
第四,執行循環控制變數增量,轉入第二步;

(3) do while:
循環控制變數初始化
do
{
循環體
循環控制變數增量
}while (循環終止條件);
循環執行步驟:第一,先進行循環控制變數初始化(在do while之前);
第二,執行循環體;
第三,執行循環控制變數增量;
第四,判斷循環終止條件,如果判斷結果為真,則返回第二步;如果為假則直接退出循環;

② 用C語言編寫,兩個按鈕控制蜂鳴器工作。按鈕1按下,蜂鳴器以500Hz的頻率工作。按鈕2按下,蜂鳴器停止工作

#include"reg52.h"

#defineucharunsignedchar

#defineuintunsignedint

sbitBELL=P1^0;//定義蜂鳴器

sbitkey1=P1^1;//定義按鍵

sbitkey2=P1^2;//定義按鍵

uintnum;

/*1ms廷時*/

voiddelay_ms(uintz)

{

uinti,j;

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

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

}

/*定時器初始化*/

voidinit_timer0()

{

TMOD=0x01;

TH0=(65535-2000)/256;

TL0=(65535-2000)%256;

EA=0;

ET0=1;

TR0=1;

}

voidmain()

{

BELL=0;

init_timer0();

while(1)

{

if(key1==0)

{

delay_ms(10);//延時消抖

if(key1==0) //再次判斷按鍵是否真的被按下

{

while(key1==0);//等待釋放按鍵

EA=1; //開啟總中斷

}

}

if(key2==0)

{

delay_ms(10);//延時消抖

if(key2==0) //再次判斷按鍵是否真的被按下

{

while(key2==0); //等待釋放按鍵

EA=0; //關閉總中斷

BELL=0; //關閉蜂鳴器

}

}

}

}

voidtimer0()interrupt1

{

TH0=(65535-2000)/256;

TL0=(65535-2000)%256;//中斷計時2ms(500Hz),之所以用中斷是因為定時比較准確想改延時就把裡面的2000改掉,這個數除以1000得的數就是多少毫秒

num++;

if(num==1) //讓蜂鳴器工以500Hz頻率工作

{

num=0;

BELL=~BELL;

}

}

③ C語言 行編輯程序

/*TC2編譯通過*/
/*以回車符為結束符輸入一行*/
#include <stdio.h>
#define MAXSIZE 128

int main()
{
char base[MAXSIZE];
char *stack,*p;
char c;
stack=base;
while((c=getchar())!='\n')
{
if(c=='@') stack=base;
else if(c=='#'){if(stack!=base) stack--;}
else *(++stack)=c;
}
if(stack==base) printf("√");/*沒有可輸出的字元*/
p=base;
while(p!=stack) printf("%c",*(++p));
getch();
}