Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы C++ / Лабораторная работа1.doc
Скачиваний:
47
Добавлен:
05.06.2015
Размер:
84.48 Кб
Скачать

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

Вид программ на С

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

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

Типичный вид С-программ

глобальные объявления

возвращаемый_тип main(список параметров)

{

последовательность операторов

}

возвращаемый_тип f1(список параметров)

{

последовательность операторов

}

.

.

.

возвращаемый_тип fN(список параметров)

{

последовательность операторов

}

Операторы манипулируют переменными и константами и тем самым образуют выражения. Все они базовые элементы языков С и С++.

Библиотеки и компоновка

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

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

Для пользования какой-либо библиотекой её нужно подключить. Для этого используются команды препроцессора. Например:

#include <stdio.h>

подключает библиотеку ввода-вывода,

#include <math.h>

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

Библиотека функций ввода-вывода включает, в частности функции вывода на консоль printf() и ввода с консоли scanf().

Функция printf( ) имеет следующий прототип

Int printf(const char *форматная строка, …); Таблица 1

Код

%c

%d

%i

%e

%E

%f

%g

%G

%o

%s

%u

%x

%X

%p

%n

%%

Формат

Символ

Знаковое десятичное целое число

Знаковое десятичное целое число

Научная нотация (e – строчная)

Научная нотация (E – прописная)

Десятичное число с плавающей точкой

Использует или %e, или %f, соответствующее более короткому представлению

Использует или %E, или %f, соответствующее более короткому представлению

Беззнаковое восьмеричное число

Строка символов

Беззнаковое десятичное число

Беззнаковое шестнадцатиричное число (строчные буквы)

Беззнаковое шестнадцатиричное число (прописные буквы)

Вывод указателя

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

Выводит знак %

Пример (вывод чисел)

#include <stdio.h>

int main(void)

{

double f;

for(f=1.0; f<1.0e+10; f=f*10)

printf("%g ", f);

getchar();

unsigned int num;

for(num=0; num<255; num++) {

printf("%o ", num);

printf("%x ", num);

printf("%X ", num);

}

getchar();

}

Стандартный ввод с консоли, как правило, осуществляется с помощью scanf(). Она читает все стандартные типы данных и автоматически преобразует числа к правильному внутреннему формату. Стандартный вид scanf() следующий:

int scanf(const char * форматная_строка, …);

форматная_строка определяет способ чтения значений в переменные, на которые указывает список аргументов. Форматная строка состоит из трёх типов символов:

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

  • Специальные символы

  • Стандартные символы

Функция scanf() возвращает число введённых полей. Она возвращает EOF, если обнаруживается преждевременный конец файла.

Спецификаторы формата перечислены в таблице 2.

Таблица 2

Код

%c

%d

%i

%e

%f

%lf

%g

%o

%s

%x

%p

%n

%u

%[]

Значение

Читает одиночные символы

Читает десятичное число

Читает десятичное число

Читает число с плавающей запятой

Читает число с плавающей запятой

Читает число с плавающей запятой двойной точности

Читает число с плавающей запятой

Читает восьмеричное число

Читает строку

Читает шестнадцатеричное число

Читает указатель

Получает целочисленное значение, равное числу прочитанных символов

Читает беззнаковое целое

Сканирует множество символов

В scanf( ) следует передавать адреса. Это означает, что все аргументы должны быть указателями на переменные. Например, для чтения целого в переменную count надо использовать следующий вызов scanf():

scanf(“%d”, &count);

Библиотека математических функций содержит в частности функции sin(), cos(), tan(), pow(). Первые три функции имеют один аргумент и возвращают значения функций синуса, косинуса и тангенса соответственно, четвёртая функция имеет два аргумента – основание a и показатель степени b и возвращает значение функции ab.

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

Имена, использующиеся для переменных, функций, меток и других определяемых пользователем объектов, называются идентификаторами. Идентификаторы могут состоять как из одного, так и из нескольких символов. Тем не менее в С только первые 31 символ являются значимыми. (В С++ - все символы значимые.) Первым символом должна быть буква или знак подчёркивания, а за ним могут стоять буквы, числа или знак подчеркивания.

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

Типы данных в С и С++

Имеется 5 базовых типов данных в С: символьный, целочисленный, вещественный с ординарной точностью, вещественный с двойной точностью и void. Значения типа char используются для хранения ASCII-кодов или любых 8-битных величин. Переменные типа int используются для хранения целых величин. Переменные типа float и double содержат вещественные числа.

Тип void имеет три назначения. Первое – указание о невозвращении значения функцией. Второе – указание о неполучении параметров функцией. Третье – создание нетипизированных указателей.

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

С++ содержит дополнительно типы bool и wchar_t. Тип bool принимает булевы значения true и false. Тип wchar_t – для хранения двухбайтных (широких) символов.

Некоторые производители компиляторов поддерживают дополнительные типы данных - __intn, где n число бит (может принимать значения - 8, 16, 32, 64) которые занимает переменная соответствующего типа.

Соседние файлы в папке Лабы C++