Кантип кечигүү керек C: 7 кадам (Сүрөттөр менен)

Мазмуну:

Кантип кечигүү керек C: 7 кадам (Сүрөттөр менен)
Кантип кечигүү керек C: 7 кадам (Сүрөттөр менен)

Video: Кантип кечигүү керек C: 7 кадам (Сүрөттөр менен)

Video: Кантип кечигүү керек C: 7 кадам (Сүрөттөр менен)
Video: WhatsApp Кантип Ноутбука жана Кампьютерге Кочурсо болот 2024, Май
Anonim

Сиз качандыр бир убакта C программасын белгилүү бир убакытка чейин күткүңүз келген беле?

Сиз убакытты белгилөө үчүн техниканы орнотсоңуз болот, мисалы: оюн үчүн чачыроо баракчасын (эскертүү же кыйытма) көрсөтүүдө.

Макул, бул жерде программаны "токтоп калуунун" жолдору бар, окуңуз …

Кадамдар

C кадамынын кечеңдеши 1
C кадамынын кечеңдеши 1

Кадам 1. Кандайдыр бир көрүнүктүү окуяны жаратпай туруп, CPUңузду бир аз убакытка чейин иштетиңиз

C кадамынын кечиктирилиши 2 -кадам
C кадамынын кечиктирилиши 2 -кадам

Кадам 2. Жөнөкөй убакыт кечигүүсүн түзүү үчүн, ошол кечигүү учурунда башка операция жасабаңыз

Метод 1 2: "For-loop" техникасы

3 -кадамдын кечигүүсү
3 -кадамдын кечигүүсү

Кадам 1. Убакытты кечиктирүүнү ишке ашыруу үчүн типтүү "for" укуругун, андан кийин нөл билдирүүсүн колдонуңуз

C кадамынын кечиктирилиши 4 -кадам
C кадамынын кечиктирилиши 4 -кадам

Кадам 2. Мисалга төмөнкүдөй жазыңыз:

  • үчүн (i = 1; i <100; i ++);
  • Билдирүүдөн кийин ";" ЭЭМди эч кандай көрүнбөгөн окуясыз 100 жолу циклди аткарууга мажбур кылат. Бул жөн гана убакыт кечигүүсүн жаратат.

Метод 2 2: "sleep ()" техникасы

C кадамынын кечеңдеши 5
C кадамынын кечеңдеши 5

Кадам 1. Use sleep () функциясы жарыяланган sleep (int ms), анда программа белгиленген миллисекундтарда убакытты күтөт

C кадамынын кечеңдеши 6
C кадамынын кечеңдеши 6

Кадам 2. "int main ()" алдында программаңызга төмөнкү сапты киргизиңиз:

#кошуу

7 -кадамдын кечигүүсү
7 -кадамдын кечигүүсү

Кадам 3. Киргизүү, программаңызды кечиктирүү үчүн сизге керек болгон жерде:

  • уйку (1000);
  • "1000ди" күткүңүз келген миллисекунддардын санына өзгөртүңүз (мисалы, эгер 2 секундага кечиктирүүнү кааласаңыз, аны "2000" менен алмаштырыңыз.
  • Кеңеш: Кээ бир тутумдарда мааниси миллисекунддун ордуна секундага тиешелүү болушу мүмкүн. Ошентип, кээде 1000 бир секунд эмес, чындыгында 1000 секунд.

Кеңештер

  • Жогорудагы логиканы кандайдыр бир циклдык структуранын жардамы менен ишке ашырса болот, андан кийин нөлдүк билдирүү-";", while же do-while циклдерин колдонуу сыяктуу.
  • Милисекунд - 1/1000 секунда.

Эскертүүлөр

  • Бул техника анча чоң эмес программадан башка эч нерсеге жарабайт. Жалпысынан, муну ишке ашыруу үчүн таймерлерди же окуяга негизделген ыкманы колдонуңуз. Болбосо, программа кечигүү учурунда жооп бербей калат жана бул дайыма эле жакшы нерсе эмес. Мындан тышкары, циклден N тандоо, эгерде ал көрсөтмөнүн аткарылышына көз каранды болсо, таң калыштуу натыйжаларга ээ болушу мүмкүн. Кыязы, түпнуска автор оптимизациялоочу компилятор жөнүндө эч качан уккан эмес … эгер ал эч нерсе кылбаса, анда ал бүт циклди оптималдаштырышы мүмкүн!
  • Эгерде сиз for-loop колдонуп жатсаңыз, компилятор кодду оптималдаштырышы мүмкүн жана цикл эч нерсе кылбагандыктан, аны алып салыңыз. Delay () колдонулганда мындай болбойт.
  • For-loop техникасын колдонууда i үчүн абдан чоң аралык керек болушу мүмкүн экенин эске алыңыз, анткени бош билдирүү абдан тез аткарылат. Мындай чоң сандар бүтүн санга туура келбеши мүмкүн.

Сунушталууда: