
- •Рецензенты:
- •Лекция 1 Основные понятия языка с
- •Первая программа
- •Переменные языка с
- •Имя переменной
- •Объявление константы
- •Операции языка с
- •Лекция 2 Операторы языка с Условный оператор
- •Оператор безусловного перехода
- •Оператор switch
- •Циклы Цикл for
- •Циклы while и do-while
- •Использование операторов break, continue и goto в циклах
- •Операция условие ?
- •Лекция 3 Массивы
- •Инициализация массивов
- •Массивы символов. Строки
- •Функции для работы со строками
- •Лекция 4 Указатели
- •Объявление указателей
- •Операции над указателями
- •Связь указателей и массивов
- •Массивы указателей
- •Инициализация указателей
- •Лекция 5 Функции языка с
- •Объявление функции
- •Оператор return
- •Прототипы функций
- •Функции c произвольным числом параметров
- •Область действия и область видимости переменной
- •Классы памяти
- •Параметры и аргументы функции
- •Лекция 6 Типы, определяемые пользователями
- •Структура
- •Перечислимый тип
- •Переименование типов-typedef
- •Лекция 7 Модели памяти и препроцессор языка с Модели памяти
- •Препроцессор языка с
- •Директива #define
- •Список рекомендуемой литературы
- •Оглавление
- •Программирование на языках высокого уровня: с
- •428015 Г.Чебоксары, Московский просп., 15
Министерство образования и науки
Российской Федерации
федеральное агентство по образованию
Федеральное государственное образовательное учреждение
высшего профессионального образования
«Чувашский государственный университет имени И. Н. Ульянова»
П.В. Желтов, Л.В. Желтова,
С.С. Покалев, А.П. Димитриев
Программирование на языках
высокого уровня: С
Конспект лекций
Чебоксары 2006
УДК 004.451
Ж 524
Рецензенты:
Кафедра управления и информатики в технических системах Московского государственного открытого университета (канд. физ.-мат. наук, доцент А.В. Серолапкин);
доцент кафедры радиотехники и радиотехнических систем Чувашского государственного университета им. И.Н. Ульянова В.Г. Захаров
Желтов П. В., Желтова Л. В., Покалев С. С., Димитриев А.П.
Ж524 Программирование на языках высокого уровня: С: Конспект лекций / П.В. Желтов и др., Чебоксары: Изд-во Чуваш. ун-та, 2006. 68 с.
ISBN
Составлены в соответствии с государственным образовательным стандартом высшего профессионального образования направления подготовки дипломированного специалиста 230100 - «Информатика и вычислительная техника», специальности 230102 - «Автоматизированные системы обработки информации и управления».
Приводится описание языка программирования С. Даны примеры написания программ.
Для студентов I курса специальности 230102 – Автоматизированные системы обработки информации и управления.
Утверждено Редакционно-издательским советом университета
Отв. редактор: профессор В.П. Желтов
ISBN5-767-3 УДК 004.451
Желтов П.В., Желтова Л.В.,
Покалев С.С., Димитриев А.П., 2006
Лекция 1 Основные понятия языка с
История создания языка программирования С/С++
Язык С назван так потому, что предшественником С был язык В. Его предшественником был язык BCPL (Basic Combined Programming Language), который был написан в 1967 году Мартином Ричардсом. Это был язык, напрямую работающий с машинными словами и адресами. Вдохновленный языком BCPL, Кен Томпсон в 1970 году написал язык системного программирования без типов В. В и другие языки были использованы в развитии первой версии операционной системы UNIX. В 1972 году Денис Ритчи написал язык С, в котором воплотил многие идеи языков предшественников. До 1989 года использовалось название, данное Денисом Ритчи и Брайеном Керниганом.
Так как язык широко использовался и быстро распространялся, многие версии сильно отличались oт оригинала. В 1983 году American National Standards Institute (ANSI) решил определить стандартную версию языка С и в 1989 году такой стандарт был создан и одобрен.
Язык С благодаря своим качествам является одним из самых мощных и универсальных языков программирования и считается языком системного программирования. На его основе в Bell Laboratory крупнейшей телефонной компании AT&T Бьерном Стоуструпом в результате дополнения и расширения языка С был создан новый по сути язык, получивший название “С с классами”. В 1983 году это название было заменено на C++. Язык C++ - это язык объектно-ориентированного программирования.
Первая программа
Начнем изучение этого языка не с рассмотрения алфавита, выражений, констант и переменных, а с рассмотрения первой программы:
№ строки |
Программа 1.1. |
1 |
/* многострочные комментарии*/ |
2 |
#include<stdio.h> |
3 |
void main() |
4 |
{ |
5 |
int i; |
6 |
Printf("input number"); |
7 |
Scanf("%d \n",&i); |
8 |
int b=I+2; |
9 |
Printf(" Значение b= %d при i= %d",b,i); |
10 |
// одна строка комментарий |
11 |
} |
Разберем детально первую программу.
Первая строка /* комментарии*/ обеспечивает печать в тексте программы многострочных комментариев.
Строка #include<stdio.h> – это директива препроцессора. Она сообщает компилятору о необходимости подключить файл stdio.h, который содержит информацию, необходимую для правильного выполнения функций библиотеки стандартного ввода/вывода языка С. Файл stdio.h называется заголовочным файлом.
Следующая строка void main() определяет имя функции и тип возвращаемого ею результата. Любая программа на языке С состоит из одной или нескольких функций. Выполнение программы начинается с вызова функции main(), поэтому каждая программа на языке С должна содержать функцию main(). Ключевое слово void в заголовке функции говорит о том, что функция не возвращает никакого значения.
Строки 4 и 11. Тело каждой функции начинается и заканчивается фигурными скобками.
Строка int i; соответственно объявляет целую переменную i. Каждая строка программы заканчивается точкой с запятой.
Строка printf ("Введите число"); печатает на экране сообщение “Введите число”. А строка scanf("%d\n",&i); считывает число с клавиатуры, присваивая его переменной i. Причем библиотечная функция scanf не позволяет в кавычках печатать сообщение на экране и для чтения величины типа int нужно указывать формат %d. Символы \n вызывают переход каретки на новую строку. Символ & амперсант - это оператор адреса. Например, значение &i — это адрес ячейки, в которой хранится эта переменная. Строка int b=i+2; объявляет целую переменную и инициализирует ее. В языке С возможно объявление переменной в любом месте программы, но до ее использования.
Строка 9 printf("Значение b= %d при i= %d",b,i); выводит на печать обе переменные b и i.
Строка // конец программы - это однострочный комментарий.
Следующая программа - это точная копия первой, за исключением того, что ввод и вывод данных производят функции cout и cin и функция main() возвращает значение с помощью оператора return.
№ строки |
Программа 1.2. |
1 |
/* многострочные комментарии*/ |
2 |
#include<iostream.h> |
3 |
main() |
4 |
{ |
5 |
int i; |
6 |
cout<<”Введите число”; |
7 |
cin>>i; |
8 |
int b=i+2; |
9 |
cout<<”Значение b=”<<b<<”при i=”<<i; |
10 |
// 1 строка комментарий |
11 |
return 1; |
12 |
} |
Использование библиотечных функций печати данных cout и чтения данных с клавиатуры cin требует указания другого заголовочного файла iostream.h. И в этом случае надо использовать форматы для печати и чтения данных.