рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Основы языка С/C++. Линейные программы

Основы языка С/C++. Линейные программы - раздел Программирование, Лабораторная Работа № 2 ...

Лабораторная работа № 2

Основы языка С/C++. Линейные программы

Цель работы: изучить алфавит языка С, простые типы данных, научиться объявлять переменные и константы; изучить структуру программы на С; освоить функции ввода данных и вывода результата.

 

Основы теории

Элементы языка С

К основным элементам языка С можно отнести:

1.1 символы

1.2 переменные

1.3 константы

1.4 идентификаторы

1.5 ключевые слова

1.6 комментарии

Символы

Множество символов используемых в языке С можно разделить на несколько групп. I группа символов – символы, используемые для образования ключевых слов и… II группа символов – знаки нумерации и специальные символы (табл. 1). Эти символы используются с одной стороны для…

Совет

- для улучшения читаемости программы следует давать объектам осмысленные имена;

- слова, составляющие имя, разделяйте знаками подчеркивания: max_length.

Внимание

- первой в идентификаторе стоит буква или специальный символ; - одинаковые прописные и строчные буквы считаются различными символами, так… - идентификаторы, составленные из строчных и прописных букв различны (например, abc и ABC);

Совет

Для пояснений используйте //-комментарии, а скобки /* … */ применяйте для временного исключения блоков кода при отладке.

Простые типы данных

Для обозначения типа используются ключевые слова, которые определяют диапазон значений и размер области памяти, выделяемой под переменные. Простые базовые типы: - Целочисленные типы – char (символьный), int (числовой)

Пример 1 Формат числа с плавающей точкой

2.437Е+02=2.437*102=243.7

 

Для образования типов, производных от простых, имеются модификаторы типа, которые (для числовых типов) бывают двух видов:

- модификаторы знака – signed (знаковый), usingned (безнаковый);

- модификаторы размера – short (короткий), long (длинный);

Внимание

- если не указан модификатор знаков, то по умолчанию подразумевается signed; - с базовым типом float модификаторы не употребляются; - модификатор short применим только к базовому типу int.

Задание 1

Расположите целые (long, int, char, short) и вещественные (long double, float) типы по старшинству типов по следующему принципу: старший тип включает в себя все значения младшего типа как подмножество.

 

Операции над числовыми данными

Над числовыми данными определены следующие группы операций (рисунок 1).

Рисунок 1 – Операции над числовыми данными

 

3.1 Арифметические операции определены как над данными целочисленных типов, так и вещественных (таблица 4).

Таблица 4 – Арифметические операции

Арифметические операции над данными целочисленных типов Арифметические операции над данными вещественных типов
+ (сумма) - (разность) * (произведение) / (целочисленное деление) % (взятие остатка) ++ (инкремент) -- (декремент) +(сумма) - (разность) *(произведение) / (деление) % (взятие остатка) ++ (инкремент) -- (декремент)

 

Операции ++ и -- применяются только к переменным и, соответственно, увеличивают или уменьшают значение переменной на 1.

Примечание

Наличие в С/С++ операций ++ и -- связано с тем, что в системе команд микропроцессора имеются специальные операции для увеличения и уменьшения значения (обычно в регистре) именно на 1. Поэтому запись а++; предпочтительнее записи а=а+1; поскольку в большинстве случаев операции инкремента выполняются быстрее.

 

Операции ++ и -- могут быть префексными и постфиксными. Постфиксные операции выполняются после того, как значение переменной было использовано в выражении. А префиксные – до того.

Пример 2 Операция ++ в постфиксной и префексной формах

1) int a=3, b=2;

c=a++*b++;

В результате получим с=6, а=4, b=3

2) int a=3, b=2;

c=++a*++b;

В результате получим с=12, а=4, b=3

Задание 2

Определите значение переменной d:

int a=5, b=1, c=4, d;

d=++a*b++-++c;

 

Над данными целочисленных типов определены также битовые (поразрядные) операции, которые применяются только к двоичному представлению числа. Это

>> (сдвиг влево)

<< (сдвиг вправо)

3.2 Операция присваивания = – это операция, вырабатывающая значение, которое может использоваться в выражениях. Например, a=a+b; или a+=b;

Множественное присваивание – присваивание одного и того же значения нескольким переменным. Например, a=b=c=1; или a=1; b=1; c=1;

Выражения – это переменные, функции и константы объединенные знаками операций. Переменные, функции и константы в записи выражения называются операндами. Например, в записи y=cos(x)+x выражением является cos(x)+x, где функция cos(x) – первый операнд, переменная x – второй операнд.

3.3 Операции отношения будут рассмотрены в следующей лабораторной работе.

3.4 Логические операции будут рассмотрены в следующей лабораторной работе.

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

 

По количеству операндов, участвующих в операции, операции подразделяются на унарные, бинарные и тернарные.

Унарные операции (один операнд) выполняются справа налево.

Некоторые унарные операции приведены в таблице 5.

Таблица 5 – Унарные операции

Знак операции Операция
- арифметическое отрицание
~ побитовое логическое отрицание
! логическое отрицание
+ Унарный плюс
++ увеличение (инкремент)
-- уменьшение (декремент)

 

В отличие от унарных, бинарные операции (два операнда), список которых приведен в таблице 6, выполняются слева направо.

Таблица 6 – Бинарные операции

Знак операции Операция Группа операций
* Умножение Арифметические мультипликативные
/ Деление
% Остаток от деления
+ Сложение Арифметические аддитивные
- Вычитание
<< Сдвиг влево Операции сдвига
>> Сдвиг вправо
< Меньше Операции отношения
<= Меньше или равно
>= Больше или равно
= = Равно
!= Не равно
& Битовая операция И Битовые (поразрядные) операции
| Поразрядное ИЛИ
^ Поразрядное исключающее ИЛИ
&& Логическое И Логические операции
|| Логическое ИЛИ
, Последовательное вычисление Последовательного вычисления
= Присваивание Операции присваивания
*= Умножение с присваиванием
/= Деление с присваиванием
%= Остаток от деления с присваиванием
-= Вычитание с присваиванием
+= Сложение с присваиванием
<<= Сдвиг влево с присваиванием
>>= Сдвиг вправо присваиванием
&= Поразрядное И с присваиванием
|= Поразрядное ИЛИ с присваиванием
^= Поразрядное исключающее ИЛИ с присваиванием

 

Тернарной операцией (три операнда) является операция «условие ?», которая реализует алгоритмическую структуру ветвления.

Объявление переменных

Объявление переменной имеет следующий формат: Тип_переменной <список переменных через запятую>;  

Пример 3 Объявление и инициализация переменных и констант

int a, b, c;

float f, a, b;

int a=1, b, c=2;

const double A=2.128E-2;

const B=286; //подразумевается const int B=286

Задание 3

Определите идентификаторы и типы всех переменных, констант для вычисления площади окружности. Запишите операцию присваивания.

 

Структура программы на С

Общая структура программы на С следующая:

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

int main()

{

тело программы

}

 

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

Внимание

- после директивы препроцессора точка с запятой не ставится.   Запустим Visual C++ и создадим новое консольное приложение. В результате на экране получим:

Внимание

Для работы с операторами Cin и Cout необходимо подключить библиотеку <iostream> директивой #include<iostream> (таблица 7). Таблица 7 – Функции и операторы ввода/вывода информации   …

Примечание

Угловые скобки в записи <stdio.h> указывают компилятору искать файл stdio.h в каталоге стандартных заголовочных файлов. Если посмотреть содержимое текстового файла stdio.h, то можно увидеть большое количество строк, являющихся объявлениями функций.

В дальнейшем будем также подключать библиотеку <conio.h> (директивой #include<conio.h>). Библиотека conio.h содержит функции для работы с терминалом в текстовом режиме, в частности getch();которая выполняет задержку выполнения программы до нажатия клавиши и обеспечивает закрытие приложения по нажатию на клавишу.

 

Формат функции вывода:

printf("строка_формата", список_переменных);

 

Формат функции ввода:

scanf("строка_формата", &список_переменных);

Символы в строке формата делятся на три категории:

- обычные символы;

- управляющие символы (см. табл. 2);

- спецификатор формата.

Спецификатор формата – запись, которая начинается со знака % и которая определяет форму внешнего представления выводимой величины.

Спецификаторы:

%d – целое число;

%u – целое число без знака (для типа unsigned);

%c – символ;

%s – строка;

%f – вещественное число c фиксированной точкой;

%e – вещественное число с плавающей точкой (с мантиссой и порядком)

Внимание

  Пример 4 Ввод/вывод данных с использованием функций Напишем программу, запрашивающую длины трех сторон треугольника.

Задание 4

Измените текст программы примера 4 так, чтобы можно было выполнить ввод вещественных значений переменных a,b,c.

Совет

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

 

Примечание

При использовании оператора вывода Cout и оператора ввода Cin в пространстве имен System

using namespace System;

с библиотекой iostream необходимо писать:

std::cout и

std::cin

 

т.к. в iostream все классы объявлены в пространстве std (в iostream.h все классы объявлены в глобальном пространстве имен).

Пример 5 Ввод/вывод данных с использованием операторов

Рассмотрим две программы с пространством имен std и System.

Программа 1 Программа 2
#include "stdafx.h" #include<iostream> #include<conio.h> using namespace std;   int main(array<System::String ^> ^args) { int a,b,c; cout << "введите длины трех сторон треугольникаn"; cin >> a >> b >>c; cout << "ввод выполненn"; getch(); return 0; } #include "stdafx.h" #include<iostream> #include<conio.h> using namespace System;   int main(array<System::String ^> ^args) { int a,b,c; std::cout << "введите длины трех сторон треугольникаn"; std::cin >> a >> b >>c; std::cout << "ввод выполненn"; getch(); return 0; }

 

Задание 5

На основе примера 5 разработайте программу-запрос на ввод (по вариантам):

1) текущего года, номера месяца и дня;

2) возраста, роста и веса пользователя;

3) года поступления пользователя в Вуз, группы и номера по списку;

4) года, номера месяца рождения и числа полных лет пользователя;

5) года, номера месяца и дня рождения пользователя;

6) номера домашнего, рабочего и сотового телефона пользователя и др.

Завершите программу сообщением «Ввод данных закончен».

Составьте две программы – с использованием функций printf(); scanf(); и операторов Cout и Cin.

Примечание

При вводе и выводе информации следует обратить внимание на то, что консольное приложение создается в Windows, а выполняется как программа DOS. В DOS используется кодировка OEM (866), а в Windows — ANSI (1251), буквы русского алфавита в них имеют разные коды. Первые 128 символов совпадают – это ASCII, стандарт английских символов (плюс служебные). Следовательно, для работы с русскими буквами (кириллицей) необходимо в Visual C++ обеспечить преобразование символьной информации между этими двумя кодировками.

7. Директива #define

Если в программе возникает необходимость часто печатать или выводить на экран дисплея значение какой-либо переменной (или выполнять другие действия), то целесообразно ввести сокращенное обозначение с использование директивы #define, например

#define V printf("выполните вводn");

#define Pi 3.14

 

После этих директив в программе можно использовать операторы V и Pi.

Библиотека математических функций

  #include<math.h>  

Задание 6

Написать программу вычисления площади треугольника по формуле Герона:

где a, b, c – длины сторон треугольника, p – полупериметр.

Ввод длин трех сторон треугольника в диалоге. Протестируйте программу при входных значениях сторон треугольника 3, 4 и 5. При любых ли значениях сторон треугольника программа будет выполнена? Протестируйте программу при значениях 1, 2, 4.

Оборудование

ПЭВМ IBM PC, SVGA монитор с разрешением не менее 800*600 пикселей, клавиатура, мышь, среда Visual Studio C++.

 

Задание на работу

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

 

Программа работы

5.1 Составить программы для каждого из заданий, сформулированных в теоретическом материале.

5.2 Отладить программы в среде Visual Studio C++.

5.3 Составить алгоритм для индивидуального задания

5.4 Написать программу для реализации индивидуального задания

5.5 Отладить программу на контрольном примере

5.6. Оформить отчет

 

Контрольные вопросы

6.1 Что можно отнести к основным элементам языка С/С++?

6.2 Что такое управляющие символьные последовательности? Приведите примеры.

6.3 Что такое ключевые слова? Приведите примеры.

6.4 Что такое комментарии?

6.5 Необходимо ли переменную объявлять до ее использования?

6.6 Покажите, как переменной min присвоить значение 0.

6.7 Можно ли в одной инструкции объявить сразу несколько переменных?

6.8 Какие существуют в С/С++ простые базовые типы данных? Почему тип char (символьный) отнесен к целым? Почему нет логического типа данных, как, например тип Boolean в Pascal?

6.9 Что такое модификатор типа? Приведите примеры комбинаций базовых типов данных и модификаторов.

6.10 Расположите целые (long, int, char, shot) и вещественные (long double, float) типы по старшинству типов по следующему принципу: старший тип включает в себя все значения младшего типа как подмножество.

6.11 Как осуществляется объявление переменной?

6.12 Опишите структуру программы на С.

6.13 Что такое директива препроцессора. В чем смысл приставки пре?

6.14 С чего начинается выполнение C-программы?

6.15 Опишите формат функции вывода.

6.16 Что такое спецификатор формата? Приведите примеры.

6.17 Опишите формат функции ввода данных.

6.18 Какие группы операций определены над числовыми данными?

6.19 Объясните смысл операций инкремента и декремента. Приведите примеры. В чем заключается преимущество их использования?

6.20 Объясните смысл операции присваивания.

6.21 В программе объявлена переменная float x=10. Какое значение получит переменная х в результате вычисления следующих выражений?

x+=2

x/=10

x+=x+=1

Напишите соответствующие программы для расчета.

 

Задания к лабораторной работе №2

Вариант Задания
Написать программу вычисления площади круга и длины окружности.
Написать программу вычисления площади боковой поверхности и объема цилиндра.
Написать программу вычисления полной площади поверхности и объема цилиндра.
Написать программу вычисления площади боковой поверхности и объема конуса.
Написать программу вычисления полной площади поверхности и объема конуса.
Написать программу вычисления площади боковой поверхности и объема параллелепипеда.
Написать программу вычисления полной площади и объема параллелепипеда.
Написать программу вычисления площади боковой поверхности и объема правильной пирамиды (в основании – квадрат)
Написать программу вычисления полной площади поверхности и объема правильной пирамиды (в основании – квадрат)
Написать программу вычисления площади поверхности и объема сферы.

 

– Конец работы –

Используемые теги: основы, языка, С/C, ные, программы0.084

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Основы языка С/C++. Линейные программы

Что будем делать с полученным материалом:

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

Еще рефераты, курсовые, дипломные работы на эту тему:

Билет №1 Линейные программы. Структура программ Паскаль
Билет... Способы изображения алгоритмов... Алгоритм заранее заданное точное предписание возможному ис полнителю совершить определ нную последовательность...

Понятие литературный язык. Место литературного языка среди других форм существования языка
Литературный язык это язык государственных и культурных учреждений школьного обучения радио и телевидения науки публицистики художественной... Современный литературный язык многофункционален Он используется в различных... Основные сферы использования литературного языка телевидение и кино наука и образование печать и радио...

Основы планирования. Теоретические основы управления проектами. Основы планирования. Планирование проекта в MS Project 7
Использованная литература В В Богданов Управление проектами в Microsoft Project Учебный курс Санкт Петербург Питер г...

Конспект лекций по курсу Алгоритмические языки и программирование Основы языка С++
Пермский Государственный технический университет... Кафедра информационных технологий и автоматизированных... Викентьева О Л...

Математические основы программирования. Теория схем программ. Семантическая теория программ
Следуя А П Ершову мы употребляем термин теоретическое программирование в качестве названия математической дисциплины изучающей синтаксические... В настоящее время сложились следующие основные направления исследований... Математические основы программирования Основная цель исследований развитие математического аппарата...

Два объекта истории русского языка: живой язык диалектный и литературный язык
Новые общественные функции приобретает русский язык по мере сложения новой исторической общности советского народа он становится межнациональным... Современный период... Горшкова Хабургаев ИГРЯ...

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

Структура программы на языке Си. Этапы выполнения программы
Лексемы... Из символов алфавита формируются лексемы языка минимальные значимые единицы... идентификаторы...

Практическая работа №13 Тема: Основы языка VBA. Создание макросов.
Задание... Выделение ячеек и диапазонов... Прежде чем произвести какие нибудь действия с ячейками их необходимо выделить Можно сделать это вручную а можно с...

Программа курса «Основы политологии»
ФАКУЛЬТЕТ ПОЛИТОЛОГИИ... КАФЕДРА ПОЛИТИЧЕСКОЙ ТЕОРИИ... Программа...

0.04
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам