Академический Документы
Профессиональный Документы
Культура Документы
Основы С
А.М. Задорожный
Содержание
1. Введение. Почему C.
2. Анализ программы “Hello, World!” на C
3. Процесс построения программы на C
4. Понятие переменной
5. Типы данных. Числовые типы
6. Консольный ввод
7. Оператор if и булевские величины
Структура семестра
Изучим 2 языка:
- С
- С++
Именно в такой последовательности…
‘Изучим’ – слишком сильно.
Но будем понимать настолько, чтобы
создавать простые программы и осваивать
программирование в дальнейшем
самостоятельно.
Когда и как возник
Разработан ~1970 г Д. Ритчи для написания ОС Unix
(прототип всех linux).
C – разработан
программистами для программистов!
Распространены:
C#, Python – изучим во втором семестре,
Java, JavaScript, Kotlin, Go … Появляются новые!
- Переносимым, платформонезависимым;
Почему C
Таким и оказался C.
• Простым: самый короткий синтаксис (3
базовых типа, минимальное число
зарезервированных слов) ;
• Эффективным: практически, близок к
ассемблеру;
• Имеет встроенные средства достижения
платформенной независимости.
Как будем изучать?
Удачный синтаксис стал основой многих
языков, в частности С++, C#, с которыми вы
познакомитесь во втором семестре!
#include <stdio.h>
2. printf("Hello, World!\n") // ;
1. Предварительная обработка
(препроцессирование)
2. Компиляция
3. Сборка
Процесс построения
программы на С
Препроцессирование
printf
printf.obj
1. Объединили модули
2. Подставили адрес вызова (стрелка) printf
3. Назначили точкой входа (звездочка) main
Процесс построения
программы на С
Рассмотренные шаги необходимо иметь ввиду
при разработке программы.
Но для double перед кодом нужно ставить латинскую l (от анг. long):
doublle y;
scanf("%lf", &y);
printf("y = %f", y);
Тип данных
числовые типы, итог
И так, в C имеется 3 группы числовых типов данных –
целочисленные и с плавающей точкой.
0 0 0 0 0 1
1 0 1 1 1 1
Булевские величины
сравнения и булевские операции
Применим операции к булевским величинам.
Пример.
Задача. Определить, является ли год Y високосным.
Високосным считается год, который делится на 4, но не делится на
100 или делится на 400.
Будем двигаться постепенно*.
if(Y % 4 == 0)
printf(“%d is a leap year\n”, Y);
else
printf(“%d is not a leap year\n”, Y);
Учтем, что Y не должно делиться на 100:
if(Y % 4 == 0 && Y % 100 != 0) …
Окончательно
if((Y % 4 == 0 && Y % 100 != 0 )|| Y % 400 == 0 ) …
Контрольные вопросы
1. На основании чего происходит ‘управление потоком
вычисления’ в программе? (компьютер ‘принимает решение’)
2. Опишите синтаксис оператора if.
3. Опишите исполнение оператора if.
4. Как в одной из ветвей if выполнить несколько операторов?
5. Что такое булевское выражение?
6. Какое соответствие принято в C между числовыми и
логическими значениями?
7. В результате каких операций возникают булевские значения?
8. Какие булевские операции определены в C?
Упражнение