• Компютри и Електроника
  • Програмиране

Как да забави изпълнението на програмата в C

Искали ли сте някога да се създаде програма в C, което чака известно време? Можете да зададете как да се даде време "да лети", например, когато показва изскачащ страница (съобщение или на върха) за играта. , OK, ето няколко начина за създаване на типа програма стойка все още (да стои на едно място), четете нататък ...

Стъпки

  1. Нека вашия процесор ще работи за известно време, без да причиняват значително събитие.

  2. Не изпълнява всяка друга операция, по време на този срок, за да създадете закъснение.

Метод 1 от 2: Ика цикъл за обратна връзка

  1. Използвайте типичен цикъл за, последвано от една празна декларация за закъснения по прилагането.

  2. Как да забави изпълнението на програмата в C
  3. Напиши следва, например:
    • за (I = 1; ILT; 100; I ++);


    LT; / 100gt; # * Оператор, че следва; кара компютъра да изпълни цикъл 100 пъти без сериозна авария. Тя създава само едно временно забавяне.

    Метод 2 от 2: Ика сън ()

    1. Как да забави изпълнението на програмата в C
    2. Използвайте за сън (). Функцията се нарича сън (INT MS), декларирани в която прави чакането програма за определено време в милисекунди.


    3. Как да забави изпълнението на програмата в C
    4. 2Включете следния ред във вашата програма, преди INT главната ():

      • #include


      • Как да забави изпълнението на програмата в C
      • 3Поставете където е приложимо, вашата програма е направила закъснението:

        • сън (1000);


        • Промяна 1,000 няколко милисекунди, които искате да се изчака (например, ако искате да направите 2-секундно закъснение, да го замени през 2000.


        • Съвет: В някои системи, стойността може да се задава в секунди, вместо на милисекунди. Следователно, понякога 1000 - не 1 S, но в действителност, 1000 секунди.



        Примерен код

        Програма, която очаква определен брой секунди:

        #include LT; stdio.hgt; #include LT; dos.hgt; INT главната () {INT дел; // ФОРМАТ Закъснението период (Въведете времето за закъснение (в секунди) :); scanf (% I, дел); дел * = 1,000; // Го умножете по 1000 да се превърнат в милисекунди Delay (дел); // Delay. ФОРМАТ (Готово.); връщането на 0; }


        A програма, която извършва обратно броене 10-0:

        #include LT; STDIO.Hgt; #include LT; TIME.Hgt; INT главната () {INT I; за (I = 10; I GT; = 0; i--) {ФОРМАТ (% I \ Н, I); // Напиши сегашната "обратно броене" Броят Delay (1000); // Чакай малко} върнете 0; }

        Съвет

        • Милисекунди - това е 1/1000 сек.

        • Алгоритъмът е посочено по-горе могат да бъдат осъществени с използване на циклична структура, последвано от нула operatorom-; с помощта на линия, докато и направи-а.

        Предупреждение

        • Този метод обикновено е безполезна в нищо, освен тривиалните приложения. Като цяло, използвайте таймери или подход, възникнали от събития, за да го направя. В противен случай програмата няма да се срещне по време на времето на закъснение не винаги е добро. В допълнение, изборът на N в цикъла, ако зависи от изпълнението на отборите може да доведе до неочаквани резултати. Очевидно е, че първоначалният автор никога не е чувал за оптимизиране компилатор ... тя може да оптимизира целия цикъл, ако той наистина не прави нищо!

        • Имайте предвид, че при използване на «за обратна връзка» (серия «за»), може да се наложи много голям интервал аз, като празна декларация се прави много бързо. Такива големи количества не могат да се поберат в тип цяло число.

        • Ако използвате «за цикъл», компилаторът може да оптимизира кода, и защото цикълът не прави нищо, за да го премахнете. Това не се случва, когато се използва за забавяне ().