Code Blocks IDE - настройка и използване. Code Blocks IDE - настройка и използване на кодови блокове как да се напише програма в c

В този урок ще намерите лесни инструкции със скрийншотове за инсталиране на компилатора (MINGW компилатор), инструмент, който ще ви позволи да конвертирате кода, който пишете, в програма и Code :: Blocks, безплатна среда за разработка на C и C ++. Този урок обяснява как да инсталирате Code :: Blocks на Windows 2000, XP, Vista или Windows 7. Забележка: Ако сте на Linux, следвайте връзката, за да научите как да използвате GCC, ако използвате OS X, щракнете тук, за да настройте го с Apple Xcode.

Стъпка 1: Изтеглете кода :: Блокове

  • Отидете на този сайт
  • Отидете на Изтеглете двоичната версия (директна връзка)
  • Отидете на Windows 2000 / XP / Vista / 7
  • Намерете файла, който има mingw в името си. (Заглавието по време на писането беше codeblocks-10.05 mingw-setup.exe; версии 10.05 могат да варират).
  • Запазете файла на вашия работен плот. Това е приблизително 74 мегабайта.

Стъпка 2: Инсталирайте Code :: Blocks

  • Щракнете двукратно върху инсталатора.
  • Щракнете върху следващия няколко пъти. Други ръководства за инсталиране предполагат, че инсталирате в C: \\ Program Files \\ CodeBlocks (местоположението по подразбиране за инсталиране), но можете да инсталирате навсякъде другаде, ако искате
  • Извършете пълно инсталиране
  • Код за изпълнение :: Блокове

Стъпка 3: Изпълнение в Code :: Blocks

Прозорецът за автоматично откриване на Compilers ще се отвори пред вас:

Когато се появи прозорецът за автоматично откриване на компилатора, просто щракнете върху OK. Код :: Блоковете може да попитат дали искате да го свържете със стандартния изглед C / C ++ - съветвам ви да го направите.

Щракнете върху менюто File и в секцията New изберете Project ... Ще се появи следният прозорец:

Кликнете върху Приложение на конзолата и след това отидете. Щракнете върху следващия докато стигнете до:

Ще бъдете подканени да изберете между C или C ++. Ако не сте сигурни, използвайте C ++. В противен случай изберете езика, който изучавате. (Можете да намерите уроци за C и C ++.)

След като щракнете върху Напред, Code :: Blocks ще попита къде искате да съхраните конзолното приложение:

След като щракнете отново Напред, ще бъдете подканени да конфигурирате компилатора:

Не е нужно да правите нищо, просто щракнете върху Finish и използвайте настройките по подразбиране.

Сега вляво можете да отворите файла main.cpp:

(Може да се наложи да разширите съдържанието на папката "Източници", ако не виждате main.cpp).

Вече имате файла main.cpp, който можете да модифицирате, ако искате. В този момент той просто казва: Hello World! за да можем да го пуснем такъв, какъвто е. Натиснете F9, за да компилирате първо и след това да го стартирате.

Вече имате работна програма! Можете просто да редактирате main.cpp и след това да натиснете F9, за да го компилирате и стартирате отново.

След като приключихте с инсталирането на компилатора, е време да научите как да програмирате в C ++ (или, ако изучавате C, програмиране в C).

Отстраняване на неизправности

Ако нещо не работи, най-често се появява съобщение:

CB01 - Debug "използва невалиден компилатор. Вероятно пътят на инструментариума в опциите на компилатора не е настроен правилно?! Пропуска се ...

Първо се уверете, че сте изтеглили правилната версия на Code :: Blocks, тази, която съдържа MinGW. Ако това не реши проблема, най-вероятно има проблем с автоматичното откриване на компилатора. Можете да проверите текущото състояние на „автоматично откриване“ по този начин. Отидете в Настройки | Компилатор и Debugger .... След това вляво изберете Global Compiler Settings (има икона на зъбно колело), \u200b\u200bа вдясно изберете раздела изпълними инструменти Toolchain. Този раздел има Auto-Detect, който може да се използва. Това може да реши проблема - ако не, можете да го направите ръчно. Екранната снимка показва как изглежда всичко в моята система. Променете пътя с етикет на инсталационната директория на Compiler, ако сте инсталирали другаде, и се уверете, че всичко останало е попълнено, както е показано.

След като направите това, опитайте да натиснете F9 отново, за да видите дали можете да стартирате програмата.

Code :: Blocks е безплатна интегрирана среда за разработка с отворен код (IDE), която поддържа използването на различни компилатори. По подразбиране Code :: Blocks използва компилатора MinGW, който е включен в комплекта (можете да изтеглите дистрибуционния комплект без вграден компилатор). MinGW е вариантът на Windows на компилатора GNU C / C ++. MinGW означава Minimalist GNU за Windows. Пакетът MinGW включва инструменти за програмиране с отворен код, които не зависят от платени библиотеки на трети страни. Той се използва от много среди за разработка (Visual Studio използва собствен компилатор). MinGW включва GNU Compiler Collection (GCC), включително C, C ++, ADA и Fortran компилатори. Code :: Blocks има отворена архитектура, която му позволява да се мащабира поради добавящи модули (можете да пишете програми както за windows, linux, така и за различни микропроцесори като avr и stm32). Кодът за отстраняване на грешки в Code :: Blocks поддържа точки на прекъсване в изходния код или в данните, които програмата обработва.

Code :: Blocks е достъпен за Windows, Linux и Mac OS X. Сайтът на проекта е codeblocks.org.

Инсталиране на компилатора MinGW

Инсталирането на Code :: Blocks само по себе си е лесно. Препоръчително е само да го инсталирате в папка без интервали или кирилица в пътя. Помислете за инсталиране на компилатора MinGW. Като правило разпределението Code :: Blocks съдържа стара версия на компилатора MinGW, така че е препоръчително да изтеглите Code :: Blocks без компилатора MinGW и да инсталирате компилатора отделно. Първо изтеглете инсталатора от сайта на проекта mingw.org. След стартиране ще се появи следният прозорец.


Щракнете Инсталирай и получаваме следващия прозорец.


Тук на полето Инсталационна директория посочете местоположението на файловете на компилатора. По подразбиране е C: \\ MinGW, и го оставете. Натиснете продължи и започва да изтегля и инсталира мениджъра за инсталиране на MinGW.


Натиснете продължи и получаваме следващия прозорец.


За програмиране на C ++ изберете пакети за инсталиране mingw32-base-bin (Основна инсталация на MinGW) и mingw32-gcc-g ++ - bin (Компилаторът на GNU C ++)и след това щракнете върху менюто Инсталация -\u003e Прилагане на промените... Ще се появи прозорец, показващ изтеглянето на избраните пакети.


Когато пакетите се изтеглят, щракнете върху бутона Близо

Първият път, когато стартирате Code :: Blocks, той автоматично ще открие инсталирания компилатор. Ако имате някакви проблеми, отидете в менюто Настройки -\u003e Компилатор ... и в раздела Изпълними изпълними инструменти проверете правилния път до MinGW, както и имената на компилаторните и свързващите файлове. Сега можете да създадете проект.

Създаване на проект

За да създадете проект, отидете в менюто Файл -\u003e Нов -\u003e Проект ...


В прозореца, който се показва, изберете необходимия тип проект. Тук можем да видим, че Code :: Blocks има голям брой шаблони за проекти. В нашия случай е така Конзолно приложение (конзолно приложение).


В следващия прозорец изберете използвания език за програмиране. Изберете C ++ и кликнете върху бутона Следващия.


По-нататък в полето Заглавие на Проекта въведете името на проекта. В нашия случай е така Тест... Веднага посочваме местоположението на проекта на диска (поле Папка за създаване на проект в). В папката, която посочихме, Codeblcoks автоматично ще създаде папка с предварително посоченото име на проекта. След като посочите името на папката и името на файла, щракнете върху бутона Следващия.


В следващия прозорец изберете компилатора. По подразбиране е GNU GCC Compiler, който ще използваме.


Натискаме завършек и получаваме минимална програма, така наречената Hello World!


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


Поддръжка за кирилица в конзолата

Стандартният код на проекта, генериран от средата Code :: Blocks, не поддържа въвеждане и извеждане на кирилица в конзолата. За да разрешите този проблем, първо трябва да направите малки промени в кода на проекта. Примерен изходен код е показан по-долу.

Източник

#include #include използване на пространство от имена std; int main () (SetConsoleCP (1251); // задаване на кодовата страница win-cp 1251 на входния поток SetConsoleOutputCP (1251); // задаване на кодовата страница на win-cp 1251 на изходния поток на cout

След това трябва да стартирате програмата, щракнете с левия бутон върху заглавието на прозореца (където е показан пътят до файла running.exe) и изберете елемента Имоти... След това в раздела Шрифт инсталиране на шрифт Lucida Console и изберете удобен размер на шрифта. След това съобщенията в конзолните приложения ще поддържат кирилица.

Code :: Blocks е безплатна среда за разработка на различни платформи. Код :: Блокове е написан на C ++ и използва библиотеката wxWidgets. Притежавайки отворена архитектура, тя може да се мащабира поради приставки. Поддържа езици за програмиране C, C ++, D (с ограничения).
Code :: Blocks е разработен за Windows, Linux и Mac OS X. Средата може да бъде изградена от източник за почти всяка Unix-подобна система. [http://ru.wikipedia.org/wiki/Code::Blocks]

За да активирате руския език, трябва да направите следното:

1. Архивът трябва да бъде разопакован в подпапката на програмата (където е инсталиран), например C: \\ Program Files (x86) \\ CodeBlocks \\ share \\ CodeBlocks
2. След като стартирате програмата, изберете Настройки -\u003e Околна среда -\u003e Преглед, поставете отметка на „Интернационализация“ и изберете „Руски“ от списъка.

3. Рестартирайте програмата CodeBlocks и получете русификация.


Руският език е успешно свързан с Code :: Blocks версия 13.12.

Архивът вече съдържа локал на структурата на папките \\ ru_RU (за поставяне в \\ CodeBlocks \\ share \\ CodeBlocks)

Топ състояние:
Съобщения: 2173
Преведено: 2173 (100,0%)
Непреведено: 0 (0.0%)
Споделено между Ubuntu и нагоре по веригата: 2173 (100,0%)
Преведено по различен начин между Ubuntu и нагоре по веригата: 0 (0.0%)
Преведено само от тази страна: 0 (0.0%)

Добър ден скъпи приятели. С тази статия започвам поредица от уроци, посветени на един от най-популярните езици за програмиране - C ++. Уроците са насочени предимно към потребители, които не са запознати с програмирането, така че професионалистите, не бъдете строги, въпреки че подкрепям критиките, особено по мой адрес. В моите уроци ще използвам средата за разработка на Code :: Blocks, която може да бъде изтеглена и използвана безплатно. Нека започнем с класическия Hello, world \u003d)

Надявам се, че вече сте изтеглили и инсталирали Code :: Blocks, ако е така, нека да започнем. Стартиране на средата за разработка

На първо място, създайте нов празен проект File-\u003e New-\u003e Project и изберете Empty project

щракнете върху Go, след това Next


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


В следващия прозорец изтрийте обектната директория от Създаване на конфигурация "Отстраняване на грешки" и Създаване на раздели за конфигуриране "Освобождаване", както е показано на екранната снимка по-горе, и кликнете върху бутона Готово. Вдясно трябва да се появи проект с името "Hello world".

Следващата стъпка, добавете файла File-\u003e New-\u003e FIle ... към проекта и изберете c / c ++ източник в прозореца, който се появява.

Отидете отново, Напред, изберете C ++, Напред и вижте следния прозорец

,

тук трябва да посочим името на файла (аз го нарекох основен) и пътя му, за предпочитане папката с проекта. Поставете отметки в полетата за отстраняване на грешки и освобождаване и щракнете върху Finish.

И получихме празен C ++ файл, в който ще напишем самия програмен код.

Сега започваме да пишем самия програмен код. За да покажем информация на екрана, ни е необходима I / O библиотеката iostream.

#include

използване на пространство от имена std;

След това ще напишем основната функция, която ще бъде изпълнена при стартиране на програмата.

int main ()

трябва да се нарече "main" и да се посочи тип int към него (ще говорим за това в следващите уроци). Кодът на програмата ще бъде разположен между фигурните скоби. Ще напишем проста програма, която отпечатва „Здравей, свят!“ Поздрав към конзолата.

cout<<"Здравей свят!" ;

След всяка команда е необходимо да поставите ";", това казва на компилатора, че командата е завършена и следващата може да бъде обработена. cout - отпечатва стойностите на променливи или низове в командния ред.

Пълен списък на програмата.

#include

използване на пространство от имена std;

int main ()

cout<< "Hello, world!" ;

връщане 0 ;

Стартираме проекта и виждаме резултата.


По-долу прикачвам видео урок към тази статия.

Ако имате някакви въпроси, моля, напишете вашите коментари на Този имейл адрес е защитен от спам ботове. За да го видите, трябва да имате активиран JavaScript. ,">Този имейл адрес е защитен от спам ботове. За да го видите, трябва да имате активиран JavaScript. , Ще прецизирам уроците или просто ще помогна при изучаването на материали.

  • < Назад

Предварителна (недовършена) версия

1 Инсталиране и конфигуриране на средата за разработка

1.1 Общи положения

Първо, трябва да инсталирате среда за разработка, която ще се използва като интегрирана среда за програмиране Code :: Blocks. Основните предимства на Code :: Blocks включват:

  • безплатен лиценз GPL v3.0, по-специално, разрешено е безплатно разпространение и използване;
  • средата може да работи в операционни системи от семействата Windows, Linux, OS X (т.е. тя е междуплатформена);
  • възможността за работа с различни компилатори.

Този файл инсталира както самата среда Code :: Blocks, така и средата MinGW, която осигурява GCC семейството на компилаторите. Средата MinGW също е безплатен софтуер.

1.2.1.2 Процес на инсталиране

Трябва да стартирате файла codeblocks-10.05mingw-setup.exe. Ще се появи прозорецът на инсталатора.

Трябва да щракнете върху „Напред“. Ще се появи прозорец с текста на безплатния лиценз GPL v3.0.

Натискането на бутона „Съгласен съм“ означава съгласие с лицензионните условия и ви позволява да продължите да инсталирате програмата, по време на която ще се появи прозорец за избор на компоненти. В този прозорец изберете типа на инсталацията „Пълен: Всички плъгини, всички инструменти, точно всичко“.

След това трябва да щракнете върху бутона "Напред". Ще се появи прозорец с името на инсталационната директория. По-добре е пълното име на директорията да не съдържа интервали или други букви, освен латинските. Следователно, например, името C: \\ Program Files \\ CodeBlocks трябва да бъде заменено с нещо друго, например C: \\ CodeBlocks или C: \\ Programs \\ CodeBlocks.

След това можете да щракнете върху бутона "Инсталиране", който стартира действителния процес на инсталиране.

В края на процеса ще се появи прозорец с въпрос за стартиране на Code :: Blocks. По-добре е да щракнете "Не" тук, за да можете по-късно да проверите стартирането на Code :: Blocks по обичайния начин.

След това ще бъде достатъчно да кликнете върху „Напред“ и след това върху „Готово“, за да завършите процеса на инсталиране.

1.2.1.3 Първо стартиране

Прекият път за стартиране на Code :: Blocks трябва да се появи в лентата за бързо стартиране. Също така подобен пряк път трябва да се появи на работния плот.

Код :: Блоковете могат да се стартират с помощта на тези преки пътища, както и с помощта на стандартното системно меню на програмите.

Кога първо Когато стартирате Code :: Blocks, трябва да се появи прозорец за автоматично откриване на компилатор.

Имайте предвид, че първият ред трябва да съдържа думата „Открит“. Това означава, че компилаторът е намерен. Трябва да щракнете върху "OK". Процесът на първо изпълнение ще продължи и средата за разработка ще бъде стартирана. Това ще отвори прозорец със съветите на деня.

Ако не искате този прозорец да се появява всеки път, когато стартирате Code :: Blocks, премахнете отметката от квадратчето „Показване на съвети при стартиране в този прозорец“. Щракнете върху "Затвори", за да затворите този прозорец.

Тогава може да се появи следният прозорец.

По-добре е да кликнете OK тук, така че свързаните с C / C ++ файлове да са свързани с Code :: Blocks.

Можете също да затворите прозореца „Конзола за скриптове“.

1.2.2 Инсталация за операционни системи Linux

В случай на Linux можете да инсталирате Code :: Blocks, като използвате пакета за желаното разпространение сред изброените на тази страница.

Можете също така да опитате да търсите Code :: Blocks в хранилището на вашата Linux дистрибуция. Например Code :: Blocks (10.05-1) се предлага в хранилището на Ubuntu 11.04.

1.3 Настройка

Като начало можете да подредите лентите с инструменти по-компактно в горната част на прозореца.

След това трябва да направите няколко промени в основните настройки.

Изберете менюто "Настройки \u003d\u003e Компилатор и дебъгер ...". Ще се появи прозорецът за настройки.

В този прозорец имате нужда слагам отметка за "Създаване на символи за отстраняване на грешки". Тази промяна ще позволи режим за отстраняване на грешки, който ще бъде разгледан в следваща глава.

Без да затваряте този прозорец, трябва да щракнете върху раздела "Други опции".

И в полето за редактиране добавете следния ред.

Finput-charset \u003d CP1251 -fexec-charset \u003d CP866

Това ще позволи правилното показване на кирилицата в конзолата в случай на операционна система от семейството на Windows. Когато използвате Code :: Blocks в други операционни системи (например Linux), този ред не трябва да се добавя..

Без да затваряте този прозорец, трябва да щракнете вляво на картината с надпис "Настройки на дебъгер" и след това слагам квадратче за отметка "Оценете израза под курсора".

След това щракнете върху "OK". Всички направени промени трябва да влязат в сила.

2 Първи проект

2.1 Създаване на проект

Сега нека се опитаме да създадем програма на C.

За да направите това, трябва да създадете проект. Като цяло е необходим проект за комбиниране на няколко файла в едно цяло. Но в този случай е по-удобно да създадете проект и за един файл. Освен това в бъдеще тогава ще бъде по-обичайно да се работи с проекта.

Така че, за да създадете проект, изберете менюто "Файл", след това изберете "Ново" в списъка, който се появява, след което изберете "Проект" в списъка, който се появява (накратко, такова действие може да бъде обозначено като "Файл \u003d\u003e Нов \u003d\u003e Проект" и в бъдеще ще има използвайте такива по-кратки обозначения). Накрая трябва да се появи диалогов прозорец.

В него изберете „Приложение на конзолата“ и кликнете върху „Go“. Ще се появи съветникът за нов проект.

Щракнете върху "Напред". Ще се появи следният прозорец.

Тук трябва да изберете C (не C ++) и да кликнете върху „Напред“. Ще се появи следният прозорец.

В реда "Заглавие на проекта" въведете името на проекта, например Project01. Имайте предвид, че в реда "Име на файл на проекта" това име ще бъде копирано. Можете да промените това име на файл (за да се различава от името на проекта), но за удобство е по-добре да ги оставите еднакви. След това в реда на "Папка за създаване на проект в" (папката за създаване на проект в нея) трябва да посочите папката, в която ще се намира папката с проекта. Можете да изберете някоя от наличните папки, като използвате бутона "...", или да въведете ръчно името на папката, например C: \\ Projects.

Тогава именно в избраната папка ще бъде създадена папка с името на проекта, където ще се намира самият проект. Можете да проверите това, като погледнете реда "Резултатно име на файл".


Когато посочвате име на проект и папка за проект, не използвайте имена на папки с интервали или букви, които не са латински (низът "Резултатно име на файл" не трябва да съдържа интервали в имената на папки и не трябва да съдържа букви, различни от латинските).

Щракнете върху Напред. Ще се появи следният прозорец.

Оставете тези настройки непроменени. Щракнете върху Finish. Проектът ще бъде създаден.

В горната лява част (в прозореца "Управление") се показва проектът с папката "Източници".

Трябва да щракнете върху "+" (или щракнете двукратно върху папката) и тази папка ще се отвори.

Той ще съдържа един файл main.c. Трябва да щракнете двукратно върху него, след това вдясно ще се отвори полето за редактиране, в което ще се покаже съдържанието на този файл (в горната част ще има раздел с името на файла).

Текстът на първата програма ще бъде маркиран в прозореца за редактиране. Имайте предвид, че различните части на текста използват различни цветове, за да улеснят четенето на текста.

Това е първата най-проста програма за отпечатване "Здравей, свят!" ("Здравей свят!"). Традиционно това е такава програма, която се използва като първата програма, когато е запозната с език за програмиране. В случай на Code :: Blocks, тази програма се създава автоматично при създаване на нов проект.

Размерът на шрифта в прозореца за редактиране може да се променя много лесно. За да направите това, завъртете колелото на мишката, докато държите натиснат клавиша Ctrl.

Можете също да използвате менюто „Настройки \u003d\u003e Редактор“ и да кликнете върху бутона „Избор“ в горната дясна част, за да промените не само размера на шрифта, но и самия шрифт. Само имайте предвид, че когато пишете програми, е по-добре да използвате шрифтове, в които всички букви имат еднаква ширина. Такива шрифтове например включват шрифтове: Courier New, Courier, Liberation Mono, Lucida Console, Monospace и др.

Ако се окаже, че прозорецът "Управление" или някакъв друг необходим прозорец липсва на екрана, изберете менюто Преглед и изберете елемента, съответстващ на необходимия прозорец в менюто, което се появява.

Ако внезапно проектът е затворен, например, когато излезете и въведете отново Code :: Blocks, можете да го отворите отново. За да направите това, изберете менюто "Файл \u003d\u003e Последни проекти", където в списъка, който се появява, изберете желания проект. Или можете да използвате менюто „Файл \u003d\u003e Отваряне“ и след това да изберете файла Project01.cbp.

2.2 Изграждане и стартиране на програмата

Тази програма ще бъде разгледана подробно малко по-късно, но сега нека се опитаме да я стартираме.

За да направите това, компилация текста на програмата (Компилиране) и използване оформление (Свързване) трябва да бъде създаден изпълним файл с разширение .exe, който ще бъде стартиран. Извиква се целият този процес на компилиране и свързване монтаж (Сграда).

Трябва да се отбележи, че процесът, обозначен тук с думата Компилиране, също често се нарича процес. излъчвания... В тази област има различни терминологични опции. Например, горният процес на изграждане може да бъде посочен като компилация, която от своя страна се състои от стъпки за превод и свързване. Но сега няма да се задълбочаваме в въпросите на терминологията и просто ще използваме английската версия на термините като основа, разбира се, с превод на руски. Така че ще говорим за монтаж (Сграда), състояща се от етапи компилация (Компилиране) и оформление (Свързване). В този случай тази опция изглежда по-удобна, тъй като съответните имена на английски могат да се наблюдават по време на процеса на сглобяване.

Интегрирана среда за разработка Code :: Blocks ви позволява да автоматизирате изграждането и стартирането (изпълнението) на програмата. За да изградите и стартирате програмата, просто изпълнете командата "Изграждане и стартиране", като натиснете бутона или клавиша F9. Друга възможност е да изберете менюто "Build \u003d\u003e Build and run".

Долният прозорец (съобщения за процеса на изграждане) ще показва думите "Компилиране", "Свързване" и т.н., което отразява напредъка на компилирането и свързването на програмата.


В резултат на това трябва да се появи прозорец на конзолата, където отгоре ще се покаже изречението, посочено в програмата в кавички, а именно изречението „Здравей, свят!“.

По този начин програмата показва посочения низ.

Под тази линия ще има два реда. Първият дава кода за връщане на програмата и времето, необходимо за изпълнението на програмата. Втората показва съобщение, че трябва да натиснете произволен клавиш, за да продължите. Тези два реда се генерират автоматично, ако програмата се стартира от Code :: Blocks.

Шрифтът, използван в прозореца на конзолата, може да бъде променен, ако е необходимо. Например, в случай на операционна система от семейството на Windows, за това можете да опитате следните стъпки.

Кликнете върху нали като щракнете върху иконата в горния ляв ъгъл на прозореца на конзолата. Трябва да се появи изскачащо меню, където трябва да изберете елемента "По подразбиране".

Ще се появи прозорецът за настройки.

В този прозорец изберете желания шрифт (например Lucida Console). След това за този шрифт трябва да изберете желания размер (например 14). След това трябва да щракнете върху "OK", за да запазите настройките.

След това трябва да затворите прозореца на конзолата, като натиснете произволен клавиш.

След това трябва да рестартирате програмата, като натиснете бутона или клавиша F9 (или като изберете менюто "Build \u003d\u003e Build and run").

Прозорецът на конзолата вече трябва да има нов шрифт.

2.3 Обяснение на програмата

След успешно стартиране на програмата и проверка на нейната работа, можете да разгледате по-отблизо съставните части на програмата, които бяха автоматично създадени при създаването на проекта. Нека разгледаме текста на тази програма.

#include #include int main () { printf ("Здравей, свят! \\ n"); връщане 0; }

Думата main е дадена на, от която започва изпълнението на всяка програма. Това означава основната функция, от която всичко започва. Вътре в тази функция може да има извиквания към други функции, но всичко започва с изпълнение на съдържанието на main. Името на тази функция е последвано от скоби без нищо между тях. Това означава, че тази функция няма аргументи. Всяка функция трябва да има скоби, дори ако няма аргументи.

Съдържанието на функцията, в случая съдържанието на цялата програма, е между фигурните скоби. Те съответстват на начало и край, както се прилага за Паскал.

Преди името main е думата int, която указва типа на стойността, върната от функцията. В този случай това е цяло число (в следващото, различните типове данни ще се разглеждат отделно). Основната функция (т.е. всъщност основната програма) връща изходния код на програмата. Обикновено се приема, че програмата трябва да върне 0 при нормално изпълнение.Връщането на тази стойност се извършва с return 0 със затваряща къдрава скоба.

Също така между къдравите скоби е извикване на функция с име printf. Тази функция се използва в този случай за показване на текст на екрана. Аргументите за тази функция са дадени в скоби. Единственият аргумент тук е низ, затворен в двойни кавички. Именно този ред се отпечатва на екрана от функцията printf. Въпреки това, комбинацията от символи \\ n не се показва на екрана. Тази комбинация означава символ на нов ред, който не се отпечатва на екрана, но означава, че в този момент трябва да се изпълни нов ред.

За да разберете значението на символа за нов ред, опитайте да премахнете комбинацията \\ n от реда, стартирайте програмата и вижте резултата. Също така опитайте да поставите комбинацията \\ n няколко пъти подред, стартирайте програмата и вижте резултата. След това върнете оригиналната версия на програмата.

След обаждането до printf има точка и запетая. Това отделя отделните оператори един от друг. По-специално, той разделя повикването към функцията printf от оператора return.

Остава да разберем за какво е предназначена линията в тази програма. Без да навлизаме в подробности, можем да кажем, че редът е необходим, за да може да се използва функцията printf, тъй като този ред предоставя информация за тази функция. Този ред включва файла stdio.h, чието име е посочено в скоби като символи< и > ... Командата #include означава включването на този файл. Тази връзка ви позволява да използвате функциите, декларирани в този файл, по-специално функцията printf. редът в тази програма всъщност не е необходим, но принципът му на действие е същият, само тук е включен друг файл (stdlib.h).

2.4 Промяна на програмата

Сега можете да започнете да редактирате файла main.c.

В полето за редактиране можете да пишете произволен текст, както в обикновен редактор. В бъдеще примерните програми и програмните фрагменти могат просто да бъдат поставени в полето за редактиране, като се използва обичайното копиране на блокове текст. Помислете за подобно действие в следващия пример.

Съдържанието на файла main.c се генерира автоматично. Но такава програма може да бъде написана малко по-кратко и също така леко модифицирана чрез добавяне на удивителни знаци.

#include int main () ( printf ("Здравей, свят !!! \\ n"); връщане 0; )

Сега тази програма трябва да бъде прехвърлена в прозореца за редактиране, като се използва обикновено копиране. За да направите това, изберете текста на програмата и копирайте избрания текст в клипборда, например, като щракнете с десния бутон на мишката и изберете "Копиране" от менюто). След това трябва да преминете към прозореца за редактиране на Code :: Blocks, маркирайте текста тами поставете текст от клипборда, например, като изберете менюто "Редактиране \u003d\u003e Поставяне" или като изберете, след натискане на десния бутон на мишката, менюто "Редактиране \u003d\u003e Поставяне"). Тази версия на програмата трябва да се появи в прозореца за редактиране.

Запазете новата версия на програмата. За да направите това, просто натиснете Ctrl-S (или изберете менюто "File \u003d\u003e Save file"). Обучете се да запазвате файла след всяка, дори малка промяна в текста на програмата. В противен случай част от работата може да бъде загубена, ако увисне.

Опитайте да стартирате тази нова версия на програмите.

Задачи за самоконтрол

  1. Променете текста "Здравей, свят !!!" на някои други, докато използвате руския език. Стартирайте програмата, за да проверите промените.
  2. Променете стойността 0 след връщане към друга цифрова стойност, например 5. Стартирайте програмата и проверете дали новата цифрова стойност се показва в прозореца на конзолата след „Процесът е върнат“.
  3. Направете така, че когато стартирате програмата, преди да покажете низа "Hello world !!!" изместен с един ред надолу на екрана. За да направите това, поставете комбинацията \\ n в самото начало на реда, използван като аргумент на функцията printf. Стартирайте програмата, за да се уверите, че задачата е изпълнена правилно.
  4. Уверете се, че когато стартирате програмата, преди да отпечатате "Hello World!" имаше смяна на няколко реда надолу по екрана. За да направите това, поставете комбинацията \\ n няколко пъти подред в самото начало на реда, използван като аргумент на функцията printf (което означава низ в скобите в кавички). Стартирайте програмата, за да се уверите, че задачата е изпълнена правилно.
  5. Изведете низа "Здравей, свят !!!" три пъти в три последователни реда на екрана (по едно копие на ред), поставяйки комбинацията \\ n на правилните места.
  6. Направете така, че когато стартирате програмата, низът "Hello world !!!" показва точно в центъра на екрана. За да направите това, преместете линията надолу и надясно, като използвате \\ n и интервали.
  7. Отпечатайте три различни думи едновременно на три места на екрана: в горните ъгли и в центъра на екрана. Използвайте две printf повиквания подред с различни низове като аргументи, като използвате \\ n и интервали по специален начин във всеки случай.

2.5 Стартиране на програмата извън средата за разработка в случай на Windows

В папката на проекта, пътят до който е посочен при създаването на проекта (вижте), трябва да има папка bin / Debug. И в тази папка трябва да се намира изпълнимият файл Project01.exe, който се получава в резултат на изграждането на програмата.

Този изпълним файл (приложение) може да бъде стартиран с помощта на стандартни инструменти (например с помощта на "Explorer"), т.е. отвън Код на средата за разработка :: Блокове. Също така, например, можете да направите пряк път към този файл и да го поставите на работния плот, така че по-късно да можете да го стартирате от там.

Но при такова начало прозорецът на конзолата с изходния ред се появява и веднага изчезва, тъй като програмата приключва незабавно, без да чака командата на потребителя. Защо се случва това? Работата е там, че когато се стартира от Code :: Blocks, автоматично се добавя изчакване за всяко натискане на клавиш и самото приложение не предоставя това.

За да приложите изчакване за натиснат клавиш (в случай на Windows), трябва да промените програмата, като добавите няколко реда. Тогава тя ще приеме следната форма.

#include #include int main () (printf ("Hello world !!! \\ n"); getch (); return 0;)

Опитайте да стартирате тази програма от Code :: Blocks. За целта поставете посочената програма в полето за редактиране вместо налични, и стартирайте програмата, като натиснете бутона или клавиша F9 (или като изберете менюто "Build \u003d\u003e Build and run").

Имайте предвид, че след "Здравей, свят !!!" сега не се показва нищо друго, тъй като чака натискане на клавиш. Но след натискане на клавиша се показват вече познатите два реда („Процесът е върнат ...“ и „Натиснете произволен клавиш, за да продължите.“). След тези редове отново се извършва чакането за натискане на клавиш (което се осигурява от средата Code :: Blocks).

Сега, ако стартирате тази програма отвън Код :: Блокира, като стартирате файла Project01.exe, посоченият текст ще се покаже в прозореца и програмата ще изчака натискането на клавиш да завърши.

Тази модификация на програмата изисква два реда: един, съдържащ conio.h и един, съдържащ getch. conio.h е необходим, за да може да се извика функцията getch. Това е аналогично на свързването на stdio.h, за да можете да извикате функцията printf. Функцията getch осигурява изчакване за натискане на клавиш.

В бъдеще такива промени няма да бъдат посочени, но ако е необходимо, винаги можете да ги направите, за да гарантирате по същия начин, че чакате натискане на клавиш, преди да излезете от програмата.

2.6 Съобщения за предупреждения и грешки в програмата

Когато изграждате програмата (когато се опитвате да я стартирате след промени), може да се покажат предупреждения и грешки. Нека разгледаме пример за това как се случва това. Опитайте да стартирате следната програма.

#include int main () (printf ("Здравей, свят !!! \\ n");)

Тази програма не съдържа връщане, но ще се изпълни. Опитайте се да го стартирате.

По време на компилацията обаче ще бъде издадено предупреждение, че няма декларация за връщане. Когато програмата се стартира, това предупреждение изчезва, тъй като не засяга стартирането на програмата. Но можете да го прочетете, ако само изградите файла (без да стартирате приложението). За да направите това, създайте командата "Build", като натиснете Ctrl-F9, или като щракнете върху бутона, или като изберете менюто "Build \u003d\u003e Build".

Но ако програмата не се е променила от предишната компилация или стартиране, новата компилация няма да бъде изпълнена. И в прозореца отдолу ще видите съобщение, че сглобяването вече е най-новото и за тази команда не трябва да се прави нищо друго („Целта е актуална. Нищо не трябва да се прави.“).

В този случай трябва да сглобите отново. За да направите това, създайте командата "Rebuild", като натиснете Ctrl-F11, или като щракнете върху бутона, или като изберете менюто "Build \u003d\u003e Rebuild". След формирането на тази команда се появява прозорец за потвърждение. За да потвърдите тази команда, щракнете върху "Да" в посочения прозорец.

След това в долния прозорец можете да видите ред с предупреждение (синьо), както и съобщение за наличието на едно предупреждение (1 предупреждение).

По принцип предупреждението позволява на програмата да се изпълни, но сигнализира на програмиста за възможни грешки или неточности.

В бъдеще операторът за връщане за основната функция може да бъде пропуснат за краткост, както е направено в. Но трябва да се има предвид, че поради това се появява предупреждение.

Сега опитайте да стартирате следната програма.

#include int main () (printf ( Здравей, свят !!! \\ n); }

Имайте предвид, че програмата няма да работи. Вместо това в долния прозорец ще се появят редове в червено, за да се посочат грешки.

Редът в програмата, където има грешка, се маркира с червен квадрат.

Трябва да се има предвид, че една валидна грешка може да доведе до няколко съобщения за грешка едновременно. В този пример се генерират 5 грешки, така че 5 реда се показват в червено.

Сравнявайки и програмата, е лесно да се разбере, че грешката възниква, защото кавичките не са посочени. Съответно се показва грешката "" Здравей "недекларирана". Думата "недеклариран" означава "не е деклариран", т.е. компилаторът се опитва да разбере какво представлява Hello и какво да направи по въпроса. Той не може да намери тази дума сред известните думи, така че тя дава грешка. Ако тази дума е в двойни кавички, тогава тя се възприема като някакъв низ, вътре в който може да има всичко. Низът може да се покаже. Следователно, след коригиране на програмата (добавяне на кавички, където е необходимо), всичко трябва да е наред.

Коригирайте програмата и проверете дали тя се изпълнява правилно.

Задачи за самоконтрол

  1. Опитайте да премахнете последната къдрава скоба и да стартирате програмата. Обърнете внимание, че грешката е отбелязана на реда, съдържащ printf, т.е. на предишния ред. Възстановете правилната програма.
  2. Опитайте да премахнете двете скоби след main. Обърнете внимание, че грешката е маркирана на реда, съдържащ къдравата скоба, т.е. на следващия ред. Възстановете правилната програма.
  3. Опитайте да премахнете първата скоба след main. Обърнете внимание, че грешката е отбелязана на реда, съдържащ main, тоест на същия ред. Възстановете правилната програма.

Предвид задачите за самоконтрол е лесно да се забележи, че грешката може да се съдържа до реда, маркиран с червен квадрат. Следователно, ако възникне грешка, също е необходимо да се анализират съседни редове.

3 Основна информация

3.1 Цели числа

За да работите с данни, по-специално с цели числа, се нуждаете от променливи, които се използват за съхраняване на такива числа. Първо, променливата трябва да бъде декларирана, за да започне да работи с нея.

Декларирането на променливи се извършва, както следва.

Тип на променлива име на променлива;

Например целочислена променлива a се декларира, както следва.

int a;

В този случай променливата a е от тип int, което означава цяло число.

Декларацията на променлива указва блок памет за съхранение на данни от посочения тип. Естествено могат да се разграничат няколко такива блока. За да ги различават един от друг, тези блокове се именуват. Например декларацията int a разпределя блок с име a, декларацията int b разпределя блок с име b и т. Н. Можете едновременно да декларирате няколко променливи, т.е. да разпределите няколко блока от един и същи тип с различни имена. За да направите това, имената на тези блокове са изброени разделени със запетаи след обозначението на типа.

int x, y, z;

Тази декларация идентифицира три различни блока от един и същи тип с различни имена.

За да напишете стойност към избрания блок данни, трябва да присвоите тази стойност на съответната променлива, например израза

изпълнява присвояването на a на стойността 10. Можете също да присвоите на една променлива стойността на друга променлива, например израза

извършва присвояване на променлива a на стойността на променлива b. Можете да присвоите една и съща стойност на няколко променливи едновременно. За това например можете да използвате следния израз.

X \u003d y \u003d z \u003d 100;

Не забравяйте, че на променлива може да се присвои стойност само ако променливата е била декларирана (по-специално, нейният тип е определен за нея).

Стойността на променлива може да бъде отпечатана на екрана с помощта на функцията printf. Проверете следната програма като пример.

#include int main () ( int a; / * декларация на променлива a*/ а \u003d 10; printf ( "Стойността на променливата a \u003d% d \\ n", а); }

Забележете, че програмата има коментар "декларация на променлива a". Коментарът е фрагмент, който е необходим за описание на определена част от програмата. Коментарът не засяга окончателната програма, той е просто допълнение към текста, което не се използва по-късно при изпълнението на програмата. Коментарът трябва да започва с комбинация от знаци / * и да завършва с комбинация от знаци * /. В този случай коментарът може да бъде разположен на няколко реда, като за това комбинацията / * ще бъде разположена в началото на първия ред на коментара, а комбинацията * / ще бъде разположена в края на последния ред на коментара.

В самото начало на основната функция, променлива a. Тогава тази променлива е настроена на 10. На следващия ред използвайте функцията printf, за да зададете променливата на екрана. За целта добавете допълнителен аргумент към функцията printf, разделен със запетая след цитирания низ. Този допълнителен аргумент е самата променлива a, чиято стойност трябва да се покаже. За да каже на функцията printf къде да отпечата стойността на променливата, към изходния низ се добавя двусимволна комбинация, а именно% d. Самите тези символи няма да се показват на екрана, а вместо това стойността на променливата, разделена със запетая след реда, ще бъде показана. Стартирайте програмата и проверете нейната работа.

Докато пишете вашата програма, имайте предвид, че големите и малки букви са различни букви от гледна точка на компилатора. Следователно, например въвеждането на Main вместо main ще доведе до грешка.

Задачи за самоконтрол

  1. Променете стойността на променливата a на друга стойност и
  2. Опитайте да добавите коментари към различни части на програмата. Уверете се, че те не пречат на изпълнението на програмата. Проверете използването на коментари, обхващащи няколко реда подред.
  3. Проверете какво се случва, когато промените буквата, т.е., например, когато промените малка буква на главна буква и обратно.

За декларирането на променливата a и нейната инициализация се получават два последователни реда. Но можете да комбинирате декларацията на променлива и нейната инициализация. Вместо тези два реда можете да напишете само един ред от следната форма.

int a \u003d 10;

Проверете дали програмата работи правилно след такава промяна.

Използвайки функцията printf, можете също да отпечатате стойностите на няколко променливи наведнъж. За да тествате тази възможност, декларирайте променливата b и задайте някаква стойност на тази променлива, преди да извикате функцията printf. Важно е да се отбележи, че декларация за променлива може да се появи навсякъде в къдравите скоби на функция, по-специално основната функция. След това преобразувайте низа printf, както следва.

Printf ("a \u003d% d, b \u003d% d \\ n", a, b);

Проверете дали програмата работи правилно.

По този начин, за да се покажат стойностите на няколко променливи наведнъж, е необходимо да се подредят по подходящ начин форматираните изходни знаци% d в изходния ред и също така да се изброят променливите, разделени със запетаи непосредствено след изходния ред в изходния ред. Тогава вместо всяка комбинация от% d, стойността на следващата променлива от списъка на променливите, разделена със запетаи, ще бъде заменена.

В този случай израз може да бъде посочен и като аргумент на функцията printf. Например можете да използвате знака * за умножение, за да квадрат и куб променлива. Добавете следния фрагмент след съществуващото обаждане към printf.

Printf ( "a \u003d% d \\ n (a на квадрат) \u003d% d \\ n (куб) \u003d% d \\ n", a, a * a, a * a * a);

Проверете дали програмата работи правилно.

Имайте предвид, че ако извикването на функция е твърде дълъг низ, тогава е удобно да го разделите на няколко реда със запетаи. Например, както беше направено в този текст, но същият фрагмент може да бъде написан в един ред по искане на програмиста.

3.2 Аритметични изрази

Сега, за да приведете в квадрат или на куб някакво цяло число, е достатъчно да коригирате първоначалното присвояване на променливата a и да рестартирате програмата. Експериментирайте с това. В допълнение към квадратурата и куба можете да използвате различни изрази въз основа на аритметични операции: +, -, *, /.

Задачи за самоконтрол

  1. Приложете изчислението на някаква формула, като използвате всичките 4 аритметични операции. Задайте стойността на променливата в програмата. Проверете дали тази формула е изчислена правилно.
  2. Направете изчисление на формула в две променливи. Задайте стойности на променливи в програмата.

Езикът C също има способността да записва по-кратко някои често използвани конструкции. Така че, за да увеличите променлива с дадена стойност, използвайте операцията + \u003d. Оказва се, че изразът

А + \u003d 10;

е еквивалентно на израз

A \u003d a + 10;

в този случай по подобен начин вместо знака + може да има и знаци -, *, /, както и някои други знаци на операции.

Следващият програмен фрагмент илюстрира примери за използване на посочените възможности, докато коментарите показват стойностите, които променливата приема в резултат на изчисляване на аритметичен израз.

int i \u003d 10; i \u003d (i * 2 + 1) / 3 - 5; / * i \u003d 2 * / i + \u003d 5; / * i \u003d 7 * / int j \u003d 3; i * \u003d j; / * i \u003d 21 * / i / \u003d 7; / * i \u003d 3 * /

Задача за самоконтрол

  1. Приложете изчислението на някаква формула, която използва посочените възможности (по-кратка форма на писане на някои аритметични изрази).

Освен това изразът

означава увеличаване на променливата a с 1, което е еквивалентно на

A \u003d a + 1;

По същия начин изразът

тук означава намаляване с 1.

Важно е да се отбележи, че има и изрази като

A ++; a--;

Те също представляват увеличение с 1 и намаление с 1.

Въпреки това има разлика между префикса (++ a) и постфикс форми (a ++) в по-сложни изрази.

Кога префикс формата (++ a) първо се увеличава (намалява) с 1 и след това изчислява останалата част от израза.

Кога постфикс на форма (++), изразът се оценява първо и след това се извършва нарастването (намаляването) с 1.

Следващият пример илюстрира тази разлика.

Помислете за същия фрагмент, който използва ++ y (префиксна форма).

int x \u003d 10; int y \u003d 2; x \u003d x * (++ y); printf ("x \u003d% d y \u003d% d \\ n", x, y);

X \u003d 30 y \u003d 3

Тук първо y ще получи стойността 3 поради ++ y, а след това 10 ще се умножи по 3.

Помислете за същия фрагмент, който използва y ++ (постфикс форма).

int x \u003d 10; int y \u003d 2; x \u003d x * (y ++); printf ("x \u003d% d y \u003d% d \\ n", x, y);

По време на изпълнението на този фрагмент на екрана ще се покаже следният ред.

X \u003d 20 y \u003d 3

Тук първо 10 ще се умножи по стойността на y, равна на 2, а след това ще се изпълни y ++.

Трябва да се отбележи, че изобщо не е необходимо да се поставят скоби около ++ y и y ++ в тези фрагменти.

Задачи за самоконтрол

  1. Проверете изпълнението на посочените програмни фрагменти. Трябва да се има предвид, че това са само фрагменти от програми. Те трябва да се добавят във фигурните скоби на основната функция.
  2. Опитайте да премахнете скоби около ++ y и y ++ в тези фрагменти. Уверете се, че резултатът не се променя.

3.3 Видове цели числа

Досега разгледахме само int за цели числа. Какви гранични стойности могат да бъдат зададени за променлива от тип int?

Гарантирано можете да зададете стойности в диапазона от -32768 до 32767, тъй като за променлива от типа int не по-малко 16 бита.

Но в днешно време често ще попадате на реализации на компилатор, където 32 бита са разпределени за променлива от тип int, т.е. тази променлива може да приема стойности в диапазона от -2147483648 до 2147483647.

Можете обаче да сте сигурни, че диапазонът на валидните стойности за променливата x няма да бъде по-малък от диапазона от -32768 до 32767.

Когато използвате предложената версия на Code :: Blocks и компилатора gcc, доставен с тази среда (или подобен компилатор, инсталиран по-рано), най-вероятно ще се окажете в ситуация, в която променлива int може да приеме стойности в диапазона от -2147483648 до 2147483647

Нека проверим това със следния пример.

#include int main () (int x1 \u003d -2147483648; int x2 \u003d 2147483647; printf ("x1 \u003d% d x2 \u003d% d \\ n", x1, x2);)

X1 \u003d -2147483648 x2 \u003d 2147483647

Ако е така, това показва, че променлива от тип int може да приема такива стойности.

Сега, преди реда printf, можете да направите променливата x2 с 1

#include int main () (int x1 \u003d -2147483648; int x2 \u003d 2147483647; ++ x2; printf ("x1 \u003d% d x2 \u003d% d \\ n", x1, x2);)

Когато тази програма се изпълни, най-вероятно ще се покаже следният ред.

X1 \u003d -2147483648 x2 \u003d -2147483648

Забележете, че стойността на променливата x2 се е превърнала в отрицателна граница. Можем да кажем, че когато се опитваме да добавим 1 към максималната положителна стойност (стойност 2147483647), възникна извън обхват и стойността "в кръг" отиде до крайната отрицателна стойност (стойност -2147483648). Така нареченият препълване.

Ако увеличите x2 не с 1, а с 2, тогава променливата x2 ще приеме стойността -2147483647 (което е 1 различно от отрицателната граница). Провери го.

Ако увеличите x2 не с 1, а с 3, тогава променливата x2 ще приеме стойността -2147483646 (което е 2 различно от отрицателната граница). Провери го.

По този начин може да се разбере принципът на поведение на целочислените променливи в случай на препълване.

Задачи за самоконтрол

  1. По същия начин проверете преливането на променливата x1 към отрицателната граница, т.е. когато извадите някакво число от тази променлива.
  2. Преливането се случва и когато прост опит за присвояване на стойност на променлива, която е извън разрешения диапазон. Провери го.

В допълнение към типа int има и други цели числа за деклариране на променливи.

Например, типът long гарантира, че предоставя -2147483648 до 2147483647 (типът int не предоставя такава гаранция за всички компилатори).

Също така в съвременните C компилатори се появи long long тип (написан с две думи), който разпределя 64 бита за променлива. И това отговаря на диапазона от числа от -9223372036854775808 до 9223372036854775807.

Нека проверим този тип с примера на следната програма.

#include int main () (дълъг дълъг x1 \u003d -9223372036854775808; дълъг дълъг x2 \u003d 9223372036854775807; printf ("x1 \u003d% lld x2 \u003d% lld \\ n", x1, x2); }

X1 \u003d -9223372036854775808 x2 \u003d 9223372036854775807

Имайте предвид, че в този случай, когато извиквате printf, комбинацията от символи е% lld, а не% d. Това е необходимо, за да може printf правилно да показва големи числа, които са от тип long long.

Задачи за самоконтрол

  1. По същия начин проверете преливането на променливи от тип long long в този пример (какъвто беше случаят с променливи от тип int).
  2. За този пример опитайте да използвате% d вместо% lld във функцията printf.

Освен това е възможно да се формират нови интегрални типове, като се добави ключовата дума unsigned преди нейното име, което измества диапазона от възможни стойности към положителния диапазон, т.е. прави типа неподписан. Следният пример на програмата обяснява това.

#include int main () (неподписан int x1 \u003d 0; неподписан int x2 \u003d 4294967295; printf ("x1 \u003d% u x2 \u003d% u \\ n", x1, x2); }

Когато се изпълнява тази програма, трябва да се изведе низ.

X1 \u003d 0 x2 \u003d 4294967295

Имайте предвид, че в този случай, когато извиквате printf, комбинацията от символи е% u, а не% d. Това е необходимо, за да може функцията printf правилно да показва номера, които не са подписани.

Задачи за самоконтрол

  1. По същия начин проверете преливането на неподписани int променливи в този пример (както беше в случая с int променливи).
  2. Опитайте да използвате% d вместо% u във функцията printf за този пример.
  3. Въз основа на този пример се опитайте да покажете максималната стойност, която може да бъде записана в променлива от тип unsigned long long (а именно числото 18446744073709551615). За правилно показване с помощта на функцията printf, комбинацията от символи е% llu (вместо% u).

3.4 Реални числа

За да зададете реални числа, можете да използвате типа float или double. В този случай променлива от тип float заема 4 байта, а променлива от тип double заема 8 байта. Следователно като цяло двойният тип предоставя по-широк диапазон от възможни числа и повече десетични знаци след десетичната запетая, но недостатъкът му е двойно потребление на памет в сравнение с типа float.

Има и дълъг двоен тип и променлива от този тип може да отнеме от 8 до 16 байта, в зависимост от изпълнението на компилатора. Следователно дългите двойни често осигуряват още по-голяма точност в замяна на повече консумация на памет.

Нека проверим изпълнението на следната програма.

#include int main () (двойно x \u003d 10,5; printf ("x \u003d% f \\ n", x);)

Екранът ще покаже:

X \u003d 10 500 000

Имайте предвид, че% f се използва вместо% d, което се дължи на използването на реален тип вместо цяло число. Проверете какво се случва, ако поставите% d вместо% f.

Как да премахна излишните нули при показване на число? За да направите това, можете да посочите броя на цифрите след десетичната запетая, например, както следва.

Печатf ("x \u003d% .1f \\ n", x);

В този случай числото след точката показва броя на цифрите след десетичната запетая. Експериментирайте с това.

Освен това можете да зададете броя символи, използвани за показване на номера, например можете да зададете това число на 10, както следва.

Printf ("x \u003d% 10.1f \\ n", x);

Проверете, за да видите какви промени.

Освен това, вместо буквата f в комбинация с%, можете да използвате буквата e, за да покажете число в експоненциална форма, както и буквата g, за да изберете автоматично изходния формат в зависимост от размера на числото. Освен това могат да се използват и буквите E и G.

Задачи за самоконтрол

  1. Опитайте различни начини да покажете реално число и да видите какво прави (включително използването на буквите e и g вместо f в комбинация с%).
  2. Определете сами как да използвате буквите E и G в сравнение с буквите e и g.
  3. Внедрете квадрата и куба на реално число, като гарантирате, че получените стойности се показват на екрана. Изберете подходящ формат за извеждане на реално число.
Споделя това