Автор работы: Пользователь скрыл имя, 01 Марта 2010 в 23:39, Не определен
Язык программирования С++
(Лекции)
Введите R= __
Введите U= __
Расчет тока и мощности:
Ток I= __
Мощность P= __
1.6.6.
На основе листинга 1.2 составьте
программу, которая выдает
1.6.7.
Модифицируйте предыдущую
1.6.8.
Напишите программу для ввода
комплексного числа в
Рекомендации при составлении программы. Для использования математических функций (гармонических, показательных, логарифмических и т.д.) в программы на языке Си включается файл <math.h>. Перечень всех математических функций и их описанием можно просмотреть используя контекстную помощь (нажать клавиши Ctrl+F1 на имени включаемого файла <math.h>). Для написания заданной программы необходимо: использовать функцию квадратного корня (функция sqrt). Для ввода вещественных чисел смените тип данных – вместо int установите float, и спецификации формата – вместо %d установите %f).
Любая программа обрабатывает информацию или данные, в программе можно использовать переменные и константы. Как понятно из названия переменные во время исполнения программы могут изменять свои значения. Эти значения могут изменяться в определенном диапазоне в соответствии с заданным типом данных. Термин константа в общем случае относится к данным, которые не могут быть изменены во время исполнения программы.
В языке Си можно использовать различные типы данных для хранения и обработки информации. Данные каждого типа могут принимать значения в некотором заранее известном диапазоне. В памяти они занимают определенное количество байт. Таким образом, тип данных - это способ хранения информации в памяти.
В
зависимости от реализации языка
Си размер и диапазон изменения значений
различных типов может
Основные типы данных языка ТС
Таблица 2.1
Тип данных | Название типа | Размер занимаемой памяти, Байт | Диапазон допустимых значений |
char | символ | 1 | -128... 127 |
unsigned char | беззнаковый символ | 1 | 0...255 |
int | целое | 2 | -32768...32767 |
unsigned int | беззнаковое целое | 2 | 0...65535 |
long | длинное целое | 4 | -2147483648... 2147483647 |
unsigned long | беззнаковое длинное целое | 4 | 0...4294967295 |
float | вещественное | 4 | ±(3,4*10-38…3,4*1038) |
double | вещественное двойной точности | 8 | ±(1,7*10-308…1,7*10308) |
long double | длинное вещественное двойной точности | 10 | ±(3,4*10-4932... 3.4*104932) |
Типы данных char, int u long являются типами для хранения целых чисел. Действительно любой символ связан с целым числом – кодом этого символа по так называемой таблице символов ASCII. Этот символ необходим для идентификации нажатой на клавиатуре клавиши или при выводе на принтер.
Различие между целыми типами данных со знаком и без него (модификатор unsigned) состоит в том, как преобразуется старший бит целого числа. Для знакового числа старший бит определяет знак числа - если си равен нулю - число положительное, если равен единице - число отрицательное-
Типы float, double и long double являются типами данных для представления чисел с плавающей запятой.
Переменная - это область памяти, имеющая имя и предназначенная для хранения меняющихся данных определенного типа,
Прежде чем использовать переменную в программе, необходимо объявить её. Для этого указывается тип данных, а затем имя переменной. В общем виде объявление переменной выполняется таким образом:
<ТипДанных> <ИмяПеременной>;
Например,
int i; /* объявление целой переменной i */
int j,n=5,k1,k2; /* объявление 4 целых переменных,
инициализация одной из них */
long g=10; /* объявление переменной g типа длинное целое и инициализация её начальным значением 10*/
float a, b=3.14, с;/* объявление 3 вещественных переменных а, b, с, инициализация начального значения b */
k1=2*n+1;
k2=3*j;
Как видно из примера, в одной строке можно объявить сразу несколько переменных одного типа. Имена (идентификаторы) переменных перечисляются через запятую. Объявление переменных должно заканчиваться точкой с запятой.
Вместе с объявлением переменной, ей можно присвоить начальное значение - этот процесс называется инициализацией. Переменные, которые объявлены, но не инициализированы, содержат случайные значения. Так, в выше приведенном примере после объявления переменных выполнены расчеты значений переменных k1 и k2. После расчета k1 будет иметь определенное значение и равно 11, значение же переменной k2 произвольное, так как в выражении значение переменной j неопределенно.
Идентификаторы могут содержать буквы верхнего и нижнего регистров латинского алфавита:
A, B, C, ..., Z, a, b, c, ..., z ,
символ подчеркивания:
_
а также цифры:
0, 1, 2 ..., 9.
Нельзя в имени использовать русские буквы, специальные символы, знаки препинания, пробелы. Обязательным также является следующее условие: имя не должно начинаться с цифры.
Максимально допустимая длина имени переменной различается в зависимости от реализации языка. Язык ТС различает первые 32 символа имени переменной, хотя длина может быть и большей. Еще одной особенностью является то, что имена переменных, написанные строчными и прописными буквами, определяются компилятором ТС как различные, например идентификаторы:
NUM Num num
определяют три различные переменные. При написании программ на языке Си стараются придерживаться следующего правила объявления имен переменных - имя записывается с использованием строчных букв (в отличие от констант, записываемых прописными буквами). Это облегчает чтение и понимание программ. Ниже приведены варианты правильно записанных и неверных именах переменных
Правильные имена | Неправильные имена |
first | первый |
massiv1 | 1massiv |
hot_key | hot-key |
you_and_me | you.and.me |
number_5 | number№5 |
printf | |
if |
Два последних примера неправильных имен показывают, что нельзя в именах использовать ключевые слова языка ( if ) и названия функций ( printf ).
Кроме
этого, хорошим стилем написания
программы считается
В языке Си имеет очень важное значение имеет место в программе, в котором происходит объявление переменной. Это определяет область существования переменной (эту область называют областью видимости). Программа не будет компилироваться, если не описать все используемые переменные.
Различают локальные и глобальные переменные. Локальные переменные существуют и в теле функции или оператора управления. Локальные переменные на языке Си (но не С++) объявляются в начале блока – после открывающей фигурной скобки. Только после этого можно использовать их имена в выражениях и операторах. Область видимости локальной переменной – до соответствующей закрывающей фигурной скобки.
Глобальные переменные объявляются вне функций и существуют от точки объявления до конца программы. Соответственно, значение глобальной переменной можно использовать во любом месте программы.
Рассмотрим пример
#include <stdio.h>
int i=1; /* объявление и инициализация глобальной переменной */
float f; /* объявление глобальной переменной */
void fun(void); /* прототип функции пользователя */
void main(void)
{
int k,n; /* объявление локальных переменных */
float g1; /* объявление локальной переменной */
...
}
void fun(void) /* описание функции пользователя */
{
int j=5; /* объявление локальной переменной */
char ch; /* объявление локальной переменной */
...
}
В программе объявлены глобальные и локальные переменные, а также помимо функции main() используется подпрограмма fun(). Глобальные переменные i и f можно использовать в обеих функциях. Значения локальных переменных r, n и g1 можно использовать только в теле функции main(), а переменных j и ch – в теле функции fun().