Основы языка программирования 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++ в общем случае состоит из трех этапов:
- Препроцессор обрабатывает все директивы препроцессора (например, директиву #include )
- Компилятор обрабатывает каждый файл с исходным кодом и создает из него объектный файл , который содержит машинный код. Например, код может разбросан по нескольким файлам с исходным кодом, и для каждого файла создается свой объектный файл
- Компоновщик (он же линкер/линковщик) объединяет все объектные файлы в единую программу. Данный процесс называется компоновкой/линковкой
Например, если у нас исходный код находится в трех файлах .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 accountContinue 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;
>
Результат работы программы:
Теперь попробуем написать текст на русском языке.
#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