Лекции Си_ppt_Типы Операции Операторы_2012
.pdfМИНИСТЕСТВО ОБРАЗОВАНИЯ И НАУКИ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ФАКУЛЬТЕТ АВТОМАТИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
КАФЕДРА АВТОМАТИКИ И ТЕЛЕМЕХАНИКИ
А. П. Новосёлов
ЯЗЫК ПРОГРАММИРОВАНИЯ Си
Лекции по презентациям курса
Дисциплина «Информатика»
Направления: 220400 «Управление в технических системах», 230400 «Информационные системы и технологии»
квалификация бакалавр
Киров
2011
Тема: о программировании и языке Си, базовые типы данных, операции и управляющие операторы
(подготовка к тесту 2)
*** Информатика_Л3 ***
Программирование на языке Си
ПО – ядро всех ИТ
Что такое Язык П-я (ЯзП-я),
История языков Си и С++,
Выполнение П в среде ВС++,
Базовые средства языка Си
(С++)
1
ПО – ядро всех ИТ
IBM: “Прогр-е – зеркало разума!”
Сегодня в подготовке специалистов проблема Алгоритм-го мышления.
Мы переживаемнакат ИТ на изучение И-ки: инструментарий ИТ мешает Алг-ой подготовке !
Стержень И-ки – Прог-е – базадля изучения и понимания ИТ.
Темпыразвития средств И-ки (ИТ) очень высоки – этим темпам должна соответствовать и
подготовкапо И-ке.
2
Что такое Язык П-я?
Алгоритм -> Программа.
А– точно определённое описание способа решения Задачи в виде конечной последов-ти действий.
Код П – полное, законченное и детальное описание А на ЯзП-я.
Центральный Процессор (ЦП) К-ра – большая интегральная микросхема.
Все команды и данные ЦП получает в виде электрич-х сигналов – два уровня напряжения – в матем-ке “0” и “1”. Поэтому команды и данные для ЦП – это числа.
П, с которой работает ЦП, - это последов-ть чисел или
машинный код.
3
x = 1.5*sin(a/2);
. . . . .
010010101111010101010001010100101010
110001010101000111101010100101010001
. . . . .
4
Уровни ЯзП-я
Пример, оператор на С (С++):
Z = X + Y;
А-ческий язык |
|
|
|
Ассемблер: |
|
||
высокого уровня |
|
||
|
|
LOAD Y |
|
Машинный |
|
ADD X |
|
ЯзП-я: |
|
STORE Z |
|
+ 1300042774 |
|
|
|
+ 1400593419 |
|
|
|
+ 1200274027 |
|
5 |
Машинный Язык (Яз) закладывается при проектир-и АппСредств К, в Языке учитывается: адресность, коды операций, регистры ЦП и др.
Эти Языки машино-зависимы;
Яз Ассемблера – аббревиатуры на англ-м языке машинных команд, их МНОГО;
Яз высокого уровня – Алгоритмический Яз (АЯз) – использует математическую нотацию и изложен на англ-м языке (для
записи А).
6
А-х Языков – много. Они проблемно ориентир-е: каждый АЯз для эффект-го использования в своей обасти:
-FORTRAN – математ-е Задачи (З);
-Basic – для начинающих, мат-ка и др.;
-COBOL – экономические З;
-Algol – мат-е и др З;
-Pascal – для изученияЯзыков Пр-я;
-C(Си) – Язык системного Пр-я;
-C++ - объектно-ориентированное расширение Си;
7
-Java – начало 90-х годов на основе Си++,
компиляция в платформно-независимый байт-код (команда – один байт) ->
мобильные устр-ва и микроК-ры;
-C# (Cи Шарп) – в конце 90-х годов, идеи
Си, С++, Java -> для быстрой разработки
.NET -приложений
8
-ЯзП-я Баз Данных (БД) –> SQL;
-ЯзП-я для Интернета -> HTML, Perl, PHP,
VRML и др. ;
-ЯзМоделирования - имеют генератор
исходных текстов П на основе созданной
Мод;
- и др. ЯзП-я
История языков Си и С++
1972 г – Деннис Ритчи (Bell Laboratories, USA), конец 70-х гг, книга «Си Кернигана и Ритчи»;
1983 г – ANSI (Амер. Национ. Комитет Стандартов в области ВТ и обработки И) – начало разработки Стандарта Языка Си;
1989 г – Стандарт ANSI Cи;
1990 г – Стандарт ANSI / ISO 9899,
междунар-ый Стандарт, который исп-ся и сейчас;
В 90-е годы и позднее – развитие и
расширение языка С++.
10
Си созд-ся для поддержки разработки ОС UNIX. Быстро получил распространение для создания системного ПО,
Достоинства:
-Яз высокого уровня,
-Сохранил черты Яз-ов низкого уровня,
-Как Асс-р может управлять Памятью К,
-удобен при написании системных П
-и другие.
Недостатки: |
|
в Си труднее разбираться ! |
11 |
Вопросы: Что такое Алгоритм?
В чём разница между А и Программой?
На какие уровни делятся языки программирования?
Что значит проблемная ориентация языков программирования?
История языков Си и С++, их использование сегодня.
Достоинства и недостатки языка Си.
Порядоквыполнения Си-Прогр (Си-П)
|
|
|
Пре- |
|
|
|
|
|
|
|
|
|
|
|
|
|
Текст П |
Компи- |
|
Объект- |
|
Компо- |
|
|
Выпол- |
||||||
|
|
про- |
|
|
|
|
|
||||||||
|
*.срр |
|
цес- |
|
лятор |
|
ный код |
|
новщик |
|
|
нимая П |
|||
|
|
|
сор |
|
|
|
*.obj |
|
linker |
|
|
*.exe |
|||
В среде |
|
|
Библиотека |
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
Загрузчик |
|
|||||||||
|
П-я |
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
||||||
|
ВС++ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
Выполняет |
|
|
|
|
|
|
ЦП |
|
||||||
|
|
|
|
|
|
|
|
|
|
||||||
|
директивы: |
РазмещаетП |
|
|
|
||||||||||
|
#include <math.h> |
в Осн Памяти К |
|
|
|
||||||||||
|
#define N 100 |
|
|
|
|
|
|
|
|
12 |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Пример Си-Программы ( // этокомментарий )
#include <stdio.h> // Заголовочный Файл
// - подключение библиотеки вв/выв
#include <math.h> // библиотека мат-х функций
void main( ) |
// главная функция |
{float x, y, z; // объявление веществ-х перем-х printf(“\n Введите x, y: “); // вывод на экран scanf(“%f %f ”, &x, &y ); // ввод x, y
z = y + sin(x+1); // вычисление y + sin(x+1)
printf(“\n x=%.3f y=%.3f z=%.3f”, x, y, z);
} // вывод рез-ов в формате XX.YYY |
13 |
|
Базовые средства языка Си
Язык Прог-я Операторы
Любой естествен- ный язык
Предложения
Выражения Слово- сочетания
Лексемы Слова
Алфавит Символы языка 14
Алфавит Яз – символы Яз – неделимые знаки для записи текстов П ( A 5 + : , );
Лексема – миним-я неделимая единица Яз, имеющая самостоятельный смысл ( main );
Выражение задает правило вычисления некоторого значения ( x + 0.25 * sqrt( x-2 ));
Оператор задает законченное описание некоторого действия: if ( z - a > 0 ) … ;
Синтаксис Яз – правила записи операторов и выражений: x = x + 1;
Семантика Яз – смысл операторов и
выражений: x = x + 1; x++ ; |
15 |
|
Символы языка Cи
Буквы: A…Z a…z и знак подчеркивания ‘_’
Цифры: 0…9
Знаки: . , ; : ‘ “ ( ) [ ] { } | + - * / %
\? ! ~ < > = & # ^
Пробельные Символы: Симв пробела,
\t – табуляция, \n – переход на след. строку