Какую функцию должны содержать все программы на с
Перейти к содержимому

Какую функцию должны содержать все программы на с

Основы языка программирования C++

Программа на С++ состоит из набора инструкций. Каждая инструкция (statement) выполняет определенное действие. В конце инструкции в языке C++ ставится точка с запятой (;). Данный знак указывает компилятору на завершение инструкции. Например:

std::cout  

Данная строка выводит на консоль строку "Hello world!", является инструкцией и поэтому завершается точкой с запятой.

Набор инструкций может представлять блок кода. Блок кода заключается в фигурные скобки, а инструкции помещаются между открывающей и закрывающей фигурными скобками:

В этом блоке кода две инструкции, которые выводят на консоль определенную строку.

Функция main

Каждая программа на языке С++ должна иметь как минимум одну функцию - функцию main() . Именно с этой функции начинается выполнение приложения. Ее имя main фиксировано и для всех программ на С++ всегда одинаково.

Функция также является блоком кода, поэтому ее тело обрамляется фигурными скобками, между которыми определяется набор инструкций.

В частности, при создании первой программы использовалась следующая функция main:

#include // подключаем заголовочный файл iostream int main() // определяем функцию main < // начало функции std::cout // конец функции

Определение функии main начинается с возвращаемого типа. Функция main в любом случае должна возвращать число. Поэтому ее определение начинается с ключевого слова int .

Далее идет название функции, то есть main . После названия в скобках идет список параметров. В данном случае функция main не принимает никаких параметров, поэтому после названия указаны пустые скобки. Однако есть другие варианты определения функции main, которые подразумевыют использование параметров. В частности, нередко может встречаться следующее определение функции main, использующей параметры:

int main (int argc, char *argv[])

И после списка параметров идет блок кода, который и содержит в виде инструкций собственно те действия, выполняемые функцией main.

В конце функции идет инструкция return :

return 0;

Эта инструкция завершает выполнение функции, передавая управление во вне туда, где была вызвана функция. В случае с функцией main контроль передается операционной системе.

Число 0 после оператора return указывает операционной системе, что выполнение функции завершилось успешно, без ошибок.

Также стоит отметить, что в функции main можно опустить инструкцию return 0; :

#include int main()

Директивы препроцессора

В примере выше на консоль выводится строка, но чтобы использовать вывод на консоль, необходимо в начале файла с исходным кодом подключать библиотеку iostream с помощью директивы include .

#include // подключаем библиотеку iostream

Директива include является директивой препроцессора. Каждая директива препроцессора размещается на одной строке. И в отличие от обычных инструкциий языка C++, которые завершаются точкой с запятой ; , признаком завершения препроцессорной директивы является перевод на новую строку. Кроме того, директива должна начинаться со знака решетки #. Непосредственно директива "include" определяет, какие файлы и библиотеки надо подключить в данном месте в код программы.

Комментарии

Исходный код может содержать комментарии. Комментарии позволяют понять смысл программы, что делают те или иные ее части. При компиляции комментарии игнорируются и не оказывают никакого влияние на работу приложения и на его размер.

В языке C++ есть два типа комментариев: однострочный и многострочный. Однострочный комментарий размещается на одной строке после двойного слеша //:

#include // подключаем библиотеку iostream int main() // определяем функцию main < // начало функции std::cout // конец функции

Многострочный комментарий заключается между символами /* текст комментария */ . Он может размещаться на нескольких строках. Например:

#include /* Определение функции Main Выводит на консоль строку Hello World! */ int main() < std::cout 

Компиляция

Создание исполняемого файла из исходного кода на C++ в общем случае состоит из трех этапов:

  1. Препроцессор обрабатывает все директивы препроцессора (например, директиву #include )
  2. Компилятор обрабатывает каждый файл с исходным кодом и создает из него объектный файл , который содержит машинный код. Например, код может разбросан по нескольким файлам с исходным кодом, и для каждого файла создается свой объектный файл
  3. Компоновщик (он же линкер/линковщик) объединяет все объектные файлы в единую программу. Данный процесс называется компоновкой/линковкой

Например, если у нас исходный код находится в трех файлах .cpp

Introducing new Paper mode

Какому зарезервированному слову программа передаёт управление в случае, если значение переменной или выражения оператора switch не совпадает ни с одним константным выражением?

contingency
Multiple Choice
Please save your changes before editing any questions.
30 seconds
Чему будет равна переменная a, после выполнения этого кода int a; for(a = 0; a < 10; a++) <>
Multiple Choice
Please save your changes before editing any questions.
30 seconds
Цикл с постусловием?
Multiple Choice
Please save your changes before editing any questions.
30 seconds
Каков результат работы следующего фрагмента кода? int x = 0; switch(x)
НульПривет мир
Привет мир
Multiple Choice
Please save your changes before editing any questions.
30 seconds
Простые типы данных в С++.
целые – int, вещественные – float или double, символьные – string
целые – int, вещественные – float или double, символьные – char
целые – bool, вещественные – float или double, символьные – string
целые – int, вещественные – float или real, символьные – char
Multiple Choice
Please save your changes before editing any questions.
30 seconds
Какие служебные символы используются для обозначения начала и конца блока кода? (С++)
Multiple Choice
Please save your changes before editing any questions.
30 seconds
Какой из следующих операторов - оператор сравнения двух переменных?(С++)
Explore all questions with a free account

Continue with Google Continue with Microsoft Continue with email Continue with phone

Структура программы на языке Си

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

Язык Си является блочно-структурированным. Каждый блок заключается в фигурные скобки <> .

Основным блоком в программе консольного приложения на языке Си является главная функция, имеющая имя main() .

Каждое действие в языке Си заканчивается символом «точка с запятой» — ; . В качестве действия может выступать вызов функции или осуществление некоторых операций.

Имя функции — это коллективное имя группы описаний и операторов,
заключенных в блок (фигурные скобки). За именем функции в круглых скобках указываются параметры функции.

Комментарии в языке Си

В языке Си для комментариев используются символы

/* — начало комментария;
*/ — конец комментария.

Вся последовательность, заключенная между этими символами, является комментарием.

Это удобно для написания многострочных комментариев:

int a; /* целая
переменная */

Многострочные комментарии также удобно использовать при отладке для сокрытия от выполнения части кода.

В дополнение к этому, для написания коротких комментариев могут использоваться символы // . При этом комментарием является все, что расположено после символов // и до конца строки:

float b; // вещественная переменная

Главная функция

При выполнении консольного приложения, написанного на языке Си, операционная система компьютера передаёт управление функции с именем main() . Функцию main() нельзя вызывать из других функций программы, она является управляющей.

Следующие за именем функции круглые скобки предназначены для указания параметров (аргументов), которые передаются в функцию при обращении к ней. В данном случае операционная система не передаёт в функцию main() никаких аргументов, поэтому список аргументов в круглых скобках пустой.

Главную функцию можно записать по-разному:

  • int main()
  • void main() .

Перед именем функции указывается тип возвращаемого значения. При обращении к главной функции значение возвращается операционной системе. Последняя запись не будет возвращать значения. Однако void main() — не совсем корректная запись, так как сообщает компилятору, что функция main() не возвращает никакого значения.

При этом запись int main() сообщает компилятору о возвращении целочисленного значения, которое необходимо операционной системе и сообщает ей о том, что программа завершилась корректно. Если же это значение не возвращено, то операционная система понимает, что программа завершилась в аварийном режиме.
Для возврата целочисленного значения перед завершением функции добавляется строка

return 0; // вещественная переменная

В фигурные скобки заключены описания и операторы.

В общем случае программа может содержать несколько функций. Каждая функция имеет список передаваемых в нее параметров, указанный в круглых скобках, и набор операций, заключенных в блок, ограниченный фигурными скобками.

Пример: Вывод на экран сообщения "Hello, world!" .

#include // Подключение библиотеки ввода-вывода
int main() // Главная функция
printf( "Hello, world!" ); // Вывод сообщения
getchar(); // Задержка окна консоли
return 0;
>

Результат работы Hello world

Результат работы программы:

Теперь попробуем написать текст на русском языке.

#include
int main()
printf( "Здравствуй, мир!" );
getchar();
return 0;
>

Результат работы Здравствуй, мир!

Результат работы программы:

Проблема русского языка в консольных приложениях заключается в том, что консоль и редактор кода Microsoft Visual Studio поддерживают разные кодовые страницы. Для того, чтобы увидеть русские символы в консоли необходимо поменять кодовую страницу в консоли, чтобы она соответствовала кодовой странице редактора (1251). С этой целью вызывается функция system( "chcp 1251" ) с соответствующей командной строкой. Прототип функции system() содержится в библиотеке .

При этом текст программы будет выглядеть следующим образом:

1
2
3
4
5
6
7
8
9
10

#include
#include
int main()
system( "chcp 1251" ); // Текущая кодовая страница 1251
system( "cls" ); // Очистка консоли
printf( "Здравствуй, мир!" ); // Вывод сообщения
getchar();
return 0;
>

Результат работы Здравствуй, мир!

Результат работы программы:

Комментариев к записи: 28

Александра
Здравствуйте, помогите найти ошибку:
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
#include
#include
#include

void Zadanie1()
char * str = calloc(100 + 1, sizeof ( char ));
printf( "Введите строку:\n" );
getchar();
gets(str);
for ( int i = 0; str[i] != '\0'; i++)
switch (str[i])
case 'a': printf( "" ); break ;
case 'b': printf( "" ); break ;
case 'c': printf( "" ); break ;
case 'd': printf( "" ); break ;
case 'e': printf( "" ); break ;
case 'f': printf( "" ); break ;
case 'g': printf( "" ); break ;
case 'h': printf( "" ); break ;
case 'i': printf( "" ); break ;
case 'j': printf( "" ); break ;
case 'k': printf( "" ); break ;
case 'l': printf( "" ); break ;
case 'm': printf( "" ); break ;
case 'n': printf( "" ); break ;
case 'o': printf( "" ); break ;
case 'p': printf( "" ); break ;
case 'q': printf( "" ); break ;
case 'r': printf( "" ); break ;
case 's': printf( "" ); break ;
case 't': printf( "" ); break ;
case 'u': printf( "" ); break ;
case 'v': printf( "" ); break ;
case 'w': printf( "" ); break ;
case 'x': printf( "" ); break ;
case 'y': printf( "" ); break ;
case 'z': printf( "" ); break ;

case 'A': printf( "" ); break ;
case 'B': printf( "" ); break ;
case 'C': printf( "" ); break ;
case 'D': printf( "" ); break ;
case 'E': printf( "" ); break ;
case 'F': printf( "" ); break ;
case 'G': printf( "" ); break ;
case 'H': printf( "" ); break ;
case 'I': printf( "" ); break ;
case 'J': printf( "" ); break ;
case 'K': printf( "" ); break ;
case 'L': printf( "" ); break ;
case 'M': printf( "" ); break ;
case 'N': printf( "" ); break ;
case 'O': printf( "" ); break ;
case 'P': printf( "" ); break ;
case 'Q': printf( "" ); break ;
case 'R': printf( "" ); break ;
case 'S': printf( "" ); break ;
case 'T': printf( "" ); break ;
case 'U': printf( "" ); break ;
case 'V': printf( "" ); break ;
case 'W': printf( "" ); break ;
case 'X': printf( "" ); break ;
case 'Y': printf( "" ); break ;
case 'Z': printf( "" ); break ;

case 'а': printf( "" ); break ;
case 'б': printf( "" ); break ;
case 'в': printf( "" ); break ;
case 'г': printf( "" ); break ;
case 'д': printf( "" ); break ;
case 'е': printf( "" ); break ;
case 'ё': printf( "" ); break ;
case 'ж': printf( "" ); break ;
case 'з': printf( "" ); break ;
case 'и': printf( "" ); break ;
case 'й': printf( "" ); break ;
case 'к': printf( "" ); break ;
case 'л': printf( "" ); break ;
case 'м': printf( "" ); break ;
case 'н': printf( "" ); break ;
case 'о': printf( "" ); break ;
case 'п': printf( "" ); break ;
case 'р': printf( "" ); break ;
case 'с': printf( "" ); break ;
case 'т': printf( "" ); break ;
case 'у': printf( "" ); break ;
case 'ф': printf( "" ); break ;
case 'х': printf( "" ); break ;
case 'ц': printf( "" ); break ;
case 'ч': printf( "" ); break ;
case 'ш': printf( "" ); break ;
case 'щ': printf( "" ); break ;
case 'ъ': printf( "" ); break ;
case 'ы': printf( "" ); break ;
case 'ь': printf( "" ); break ;
case 'э': printf( "" ); break ;
case 'ю': printf( "" ); break ;
case 'я': printf( "" ); break ;

case 'А': printf( "" ); break ;
case 'Б': printf( "" ); break ;
case 'В': printf( "" ); break ;
case 'Г': printf( "" ); break ;
case 'Д': printf( "" ); break ;
case 'Е': printf( "" ); break ;
case 'Ё': printf( "" ); break ;
case 'Ж': printf( "" ); break ;
case 'З': printf( "" ); break ;
case 'И': printf( "" ); break ;
case 'Й': printf( "" ); break ;
case 'К': printf( "" ); break ;
case 'Л': printf( "" ); break ;
case 'М': printf( "" ); break ;
case 'Н': printf( "" ); break ;
case 'О': printf( "" ); break ;
case 'П': printf( "" ); break ;
case 'Р': printf( "" ); break ;
case 'С': printf( "" ); break ;
case 'Т': printf( "" ); break ;
case 'У': printf( "" ); break ;
case 'Ф': printf( "" ); break ;
case 'Х': printf( "" ); break ;
case 'Ц': printf( "" ); break ;
case 'Ч': printf( "" ); break ;
case 'Ш': printf( "" ); break ;
case 'Щ': printf( "" ); break ;
case 'Ъ': printf( "" ); break ;
case 'Ы': printf( "" ); break ;
case 'Ь': printf( "" ); break ;
case 'Э': printf( "" ); break ;
case 'Ю': printf( "" ); break ;
case 'Я': printf( "" ); break ;
default: printf( "%c" , str[i]); break ;
>
>
>

void Zadanie2()
char * str = calloc(100 + 1, sizeof ( char ));
printf( "Введите строку:\n" );
getchar();
gets(str);
for ( int i = 0; str[i] != '\0'; i++)
switch (str[i])
case 'g': printf( "9" ); break ;
case 'o': printf( "0" ); break ;
default: printf( "%c" , str[i]); break ;
>
>
>

void Zadanie3()
char * str = calloc(100 + 1, sizeof ( char ));
printf( "Введите строку:\n" );
getchar();
gets(str);
for ( int i = 0; str[i] != '\0'; i++)
if (str[i] != ' ')
printf( "%c" , str[i]);
>
>
>

void CreateRandArray( int * massiv, int * len)
srand(clock());
for (size_t i = 0; i < len; i++)
massiv[i] = ((rand() % 200) - 100);
printf( "%3d " , massiv[i]);
>
printf( "\n" );
>
void Zadanie4()
int N;
printf( "Введите размерность массива:\n" );
scanf( "%d" , &N);
int * massiv = calloc(N, sizeof ( int ));
CreateRandArray(massiv, N);
for ( int i = 0; i < N; i++)
if (massiv[i] >= 0)
<
printf( "%5d" , massiv[i] * 2);
>
else if (massiv[i] < 0)
<
printf( "%5d" , massiv[i] * 3);
>
>
>

int RandArrey2( int ** massiv, int M, int N)
srand(clock());
for (size_t i = 0; i < N; i++)
printf( "\n" );
massiv[i] = calloc(M, sizeof ( int ));
for (size_t j = 0; j < M; j++)
massiv[i][j] = ((rand() % 200)-100);
printf( "%3d " , massiv[i][j]);
>
>
>

void Zadanie5()
int N, M, count = 0;
printf_s( "Введите количество строк:\n" );
scanf( "%d" , &N);
printf_s( "Введите количество столбцов:\n" );
scanf( "%d" , &M);
int ** massiv = calloc(N, sizeof ( int *));
RandArrey2(massiv, M, N);
printf( "\n" );
for ( int i = 0; i < N; i++)
printf( "\n" );
for ( int j = 0; j < M; j++)
if ((i + j) % 2 == 0)
printf( "%3d " , massiv[i][j]);
>
>
>
>

int main( void )
system( "chcp 1251>nul" );
int n;
printf( "Контрольная по строкам и массивам.\n" );
printf( "\nВариант 3:\n" );
printf( "1. Написать программу, которая выводит все символы строки, не являющиеся буквами.\n" );
printf( "2. Написать программу, которая заменяет в исходной строке букву “g” на “9”, а “o” на “0”.\n" );
printf( "3. Написать программу, которая убирает все пробелы из исходной строки.\n" );
printf( "4. Написать программу, которая все положительные элементы массива умножить на 2, а отрицательные умножить на 3.\n" );
printf( "5. Написать программу, которая печатает на экран все элементы двумерного массива, сумма индексов которых четная.\n" );
int Zadanie = 0;
while (Zadanie == 0)
printf( "\nВыберите номер задачи (1-5):" );
scanf_s( "%d" , &n);
switch (n)
case 1:
Zadanie1();
break ;
case 2:
Zadanie2();
break ;
case 3:
Zadanie3();
break ;
case 4:
Zadanie4();
break ;
case 5:
Zadanie5();
break ;
default:
printf( "\nТакого задания нет" );
break ;
>
int c = -1;
printf( "\nВыберать другое задание (0(Нет)/1(Да))" );
scanf_s( "%d" , &c);
if (c == 0) Zadanie = 1;
>
return 0;
>

Клуб студентов "Технарь". Уникальный сайт с дипломами и курсовыми для технарей.

Описание:
1. Какой служебный знак ставится после оператора case ?
;
.
:
-
2. Какое значение, по умолчанию, возвращает программа операционной системе в случае успешного завершения?
-1
1
Программа не возвращает значение.
0
3. Цикл с постусловием?
for
while
do while
4. Программа, переводящая входную программу на исходном языке в эквивалентную ей выходную программу на результирующем языке, называется:
компилятор
транслятор
интерпретатор
сканер
5. Какой из перечисленных типов данных не является типом данных в С++?
double
int
real
float
6. Тело любого цикла выполняется до тех пор, пока его условие .
у цикла нет условия
ложно
истинно
7. До каких пор будут выполняться операторы в теле цикла while (x < 100)?
Пока х меньше или равен стам
Пока х больше ста
Пока х строго меньше ста
Пока х равен стам
8. Какой из следующих операторов - оператор сравнения двух переменных?
==
=
equal
:=
9. Общий формат оператора множественного выбора - switch

1
2
3
4
5
6
switch (switch_expression)
case constant1, case constant2: statement1; [break;]
case constantN: statementN; [break;]
[default: statement N+l;]
>

1
2
3
4
5
6
7
switch (switch_expression)
case constant1: statement1; [break;]
case constant2: statement2; [break;]
case constantN: statementN; [break;]
[else: statement N+l;]
>

1
2
3
4
5
6
7
switch (switch_expression)
case constant1: statement1; [break;]
case constant2: statement2; [break;]
case constantN: statementN; [break;]
[default: statement N+l;]
>
10. Какую функцию должны содержать все программы на С++?

1
main()
11. Чтобы подключить заголовочный файл в программу на С++, например iostream необходимо написать:
#include <>; с iostream.h внутри скобок
include (iostreamh)
#include <> с iostream внутри скобок
include #iostream,h;
12. Какими знаками заканчивается большинство строк кода в Си++?
: (двоеточие)
. (точка)
, (запятая)
; (точка с запятой)
13. Название С++ предложил
Дональд Кнут
Рик Масситти
Кэн Томпсон
Бьерн Страуструп
14. Какая из следующих записей - правильный комментарий в С++?
*/ Комментарии */
/* комментарий */
** Комментарий **

15. Простые типы данных в С++.
целые – int, вещественные – float или double, символьные – string
целые – int, вещественные – float или real, символьные – char
целые – bool, вещественные – float или double, символьные – string
целые – int, вещественные – float или double, символьные – char
16. Какие служебные символы используются для обозначения начала и конца блока кода?
begin end
( )
< >
< >
17. В приведённом коде измените или добавьте один символ чтобы код напечатал 20 звёздочек - *.
1
2
3
int i, N = 20;
for(i = 0; i < N; i--)
printf("*");

1
2
3
int i, N = 20;
for(i = 20; i < N; i--)
printf("*");
18. Какой из ниже перечисленных операторов, не является циклом в С++?
for
repeat until
while
do while
19. Выберите правильный вариант объявления константной переменной в С++, где type - тип данных в С++ variable - имя переменной value - константное значение
const type variable = value;
const variable = value;
const type variable := value;
20. Укажите правильное определение функции main в соответствии со спецификацией стандарта ANSI

1
void main(void)
21. Цикл с предусловием?
for
while
do while
22. Укажите правильную форму записи цикла do while

1
2
3
4
5
6
// форма записи оператора цикла do while:
do // начало цикла do while
/*блок операторов*/;
>
while // конец цикла do while

1
2
3
4
5
6
// форма записи оператора цикла do while:
do // начало цикла do while
/*блок операторов*/;
>
while (/*условие выполнения цикла*/) // конец цикла do while

1
2
3
4
5
6
// форма записи оператора цикла do while:
do // начало цикла do while
/*блок операторов*/;
>
while (/*условие выполнения цикла*/); // конец цикла do while
23. Укажите объектно-ориентированный язык программирования
С++
Java
Все варианты ответов
Eiffel
24. Структура объявления переменных в С++
[=], < идент. 2>,…;
[=];< идент. 2>,…;
[==]; < идент. 2>,…;
[:=], < идент. 2>,…;
25. Какие среды программирования (IDE) предназначены для разработки программных средств?
MVS, NetBeans, QT Creator, RAD Studio, Dev-C++
MVS, Code::Blocks, QT Creator, RAD Studio, MathCAD
MVS, Code::Blocks, QT Creator, AutoCAD, Eclipse
26. Каков результат работы следующего франмента кода?
1
2
3
4
5
6
7
8
9
10
11
12
int x = 0;

>
Привет мир
Нуль
НульПривет мир
Один
27. Чему будет равна переменная a, после выполнения этого кода int a; for(a = 0; a < 10; a++) <>?
1
9
10
28. Что будет напечатано?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main()
for (int i = 0; i < 4; ++i)
switch (i)
case 0 : std::cout case 1 : std::cout case 2 : std::cout default : std::cout >
std::cout >
return 0;
>
01.2.D.
0112.D.
011.2.D
0.1.2.
Ошибка компиляции в строке 10
29. Язык программирования C++ разработал
Дональд Кнут
Кен Томпсон
Никлаус Вирт
Бьерн Страуструп
30. Какому зарезервированному слову программа передаёт управление в случае, если значение переменной или выражения оператора switch не совпадает ни с одним константным выражением?
contingency
all
other
default
31. Какой оператор не допускает перехода от одного константного выражения к другому?
Stop;
точка с запятой
break;
end;

Размер файла: 14,7 Кбайт
Фаил: (.xlsx)
-------------------
Обратите внимание , что преподаватели часто переставляют варианты и меняют исходные данные!
Если вы хотите, чтобы работа точно соответствовала, смотрите исходные данные. Если их нет, обратитесь к продавцу или к нам в тех. поддержку.
Имейте ввиду, что согласно гарантии возврата средств, мы не возвращаем деньги если вариант окажется не тот.
-------------------

Скачано: 2 Коментариев: 0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *