
- •Основы программирования язык “с” Минск – 2005
- •§1 Введение в программирование
- •Void main()
- •Void main()
- •Void main()
- •2 Распечатать свою фамилию следующим образом
- •3. Распечатать прямоугольник следующим образом
- •1.1 Простые программы: печать стоки текста Понятие переменной.
- •Volatile while
- •1.2 Целый тип данных
- •1.3 Числа с плавающей точкой
- •Void main({
- •1.4 Символьный тип
- •Void main()
- •§2 Управляющий структуры
- •2.1 Структура выбора if (если) и if/else(если - иначе)
- •Void main()
- •Void main()
- •2.2 Структуры повторенийfor(цикл)
- •Void main()
- •Void main()
- •2.3 Структура повторения while (пока)
- •Void main()
- •Void main()
- •Void main(){
- •Void main()
- •Void main()
- •2.4 Структура многомерного выбора switch
- •Void main()
- •Void main()
- •2.5 Операторы continue и break
- •Void main()
- •Void main()
- •2.6 Контрольные вопросы:
- •§3 Функция
- •Int printf(“const char * string”,…); %[флаг][ширина][точность][модификатор типа] тип_формата
- •Int scanf(const char * format, ……); возвращаемое значение – число считанных полей
- •3.1 Определение функции:
- •3.2 Классы памяти.
- •3.3 Указатели
- •Void main()
- •Void fff(int,int,int*,int*,int*,double*);
- •Void main()
- •Void fff(int a,int b,int*p1,int*p2,int*p3,double*p4)
- •Генерация случайных чисел.
- •Void main()
- •Void main()
- •Void main()
- •Void main(){
- •Void main()
- •3.6 Переменные перечисляемого типа
- •Int rollDice();
- •Void main()
- •Int sum,myPoint;
- •Int rollDice(){
- •Int die1,die2,workSum;
- •Void main()
- •§4 Массивы
- •4.1 Одномерные массивы
- •Int array[10];
- •4.2 Примеры использования массивов
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •4.3 Сортировки массивов
- •Void main()
- •Void main()
- •Void main()
- •Void main(){
- •Int arr1[maxsize],arr2[maxsize],buf;
- •Void main()
- •4.4 Передача массивов функции
- •4.5 Двумерные массивы
- •Void main()
- •Int I,j,temp;
- •Void main()
- •4.6 Контрольные вопросы:
- •§5 Символьная строка
- •5.1 Объявление символьной строки
- •Void main()
- •Void main()
- •Int srav(char *,char *);
- •Void main()
- •Int srav(char *X,char *y)
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •5.3 Массив строк
- •Void main()
- •Void main()
- •Void main()
- •§6 Динамическое распределение памяти
- •6.1 Функция malloc()
- •Void * malloc(unsigned size)
- •Void free(free *ptr)
- •Void main(){
- •Void main(){
- •Void vvod_mas(int*,int);
- •Void sort_vozr(int*,int);
- •Void main()
- •Vvod_mas(ptr1,n1);
- •Vvod_mas(ptr2,n2);
- •Void sort_vozr(int*X,int n)
- •Void vvod_mas(int*X,int n)
- •6.2 Функция сalloc()
- •Void * сalloc(unsigned num ,unsigned size)
- •6.3 Функция realloc()
- •Void * realloc(void *ptr ,unsigned size)
- •§7 Структура
- •7.1 Объявление структуры
- •Void main()
- •7.2 Объединения
- •§8 Файлы и потоки
- •8.1 Объявления файла
- •Int feof(file *);
- •8.2 Работа с текстовым файлом
- •Int fprintf(file *, const char format, …);
- •Void main()
- •Int account;
- •Int fputs(const char *, file *);
- •Int fscanf( file *, const char *format, …..);
- •Void main()
- •Void main()
- •Int account;
- •Void main()
- •Int fseek(file *,long ,int );
- •Void main()
- •Void main()
- •Void main()
- •Void show_file(file *k1)
- •Void dobav_file(file *k1)
- •Void fill_file(file *k1)
- •Создание файла произвольного доступа.
- •8.3 Работа с бинарным файлом
- •Void main()
- •Void main()
- •Void print_file(file *);
- •Void main(){
- •If(feof(k1)){
- •If(feof(k2)){
- •Void print_file(file *k){
- •8.4 Kонтрольные вопросы
- •Какие операции определены со строками?
Int rollDice();
Void main()
{
enum Status {CONTINUE, WON, LOST};
Int sum,myPoint;
Status gameStatus;
srand(time(NULL));
sum=rollDice();
switch(sum)
{
case 7: case 11:
gameStatus = WON;
break;
case 2: case 3: case 12:
gameStatus= LOST;
break;
default:
gameStatus= CONTINUE;
myPoint=sum;
printf(“Ochki: %d\n”,myPoint);
break;
}
while(gameStatus== CONTINUE)
{
sum=rollDice();
if(sum==myPoint)
gameStatus=WON;
else
if(sum==7)
gameStatus=LOST;
}
if(gameStatus==WON)
printf(“You are WON!!!!\n”);
else
printf(“You are LOST!!!!\n”);
}
Int rollDice(){
Int die1,die2,workSum;
die1=1+rand()%6;
die2=1+rand()%6;
workSum=die1+die2;
printf(“Brosok igroka %d + %d = %d\n”,die1,die2,workSum);
return workSum;
}
Преобразовать программу 1, так чтобы мы сами вводили интервал, т.е. [a,b], причем программа должна определять: 1) если a или b отрицательны или больше, чем 32767, то требовала нового ввода чисел; 2) в какой поочередности бы мы не вводили числа программа должна правильно выводить интервал; 3) если при выполнении программы интервал, например [10,45] и ввели число 5, то интервал был [10,45] и, если ввели 60, то интервал, так же не менялся; 4) определяла длительность выполнения программы
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
Void main()
{
time_t t0,t1;
t0=time(NULL);
int n,x,a,b,k=1,min,max;
printf(“a=”);
scanf(“%d”,&min);
while(min<0 || min>32767)
{
printf(“a=”);
scanf(“%d”,&min);
}
printf(“b=”);
scanf(“%d”,&max);
while(max<0 || max>32767)
{
printf(“b=”);
scanf(“%d”,&max);
}
a=b=min;
if(a>max)
a=max;
else
b=max;
srand(time(NULL));
n=a+rand()%(b-a+1);
printf(“Vvedite chislo [%d,%d] “,a,b);
scanf(“%d”,&x);
while(x!=n)
{
k++;
if(x<n && x>a)
a=x;
if(x>n && x<b)
b=x;
printf(“Vvedite chislo [%d,%d] “,a,b);
scanf(“%d”,&x);
}
t1=time(NULL);
printf(“Vi ugadali s %d popitki!!!\n%lf”,k,difftime(t1,t0));
}
3.7 Некоторые функции библиотеки <math.h>
Функция |
Описание |
Примеры |
sqrt(x) |
корень квадратный из х |
sqrt(900)=30 sqrt(9)=3 |
exp(x) |
экспоненциальная функция ex |
exp(1)=2.718282 exp(2)=7.389056 |
log(x) |
логарифм натуральный x (по основанию e) |
log(2.718282)=1 log(7.389056)=2 |
log10(x) |
логарифм десятичный x (по основанию 10) |
log10(1)=0 log10(10)=1 |
fabs(x) |
абсолютное значение x |
если x>0, то fabs(x)=x если x=0, то fabs(x)=0 если x<0, то fabs(x)=-x |
ceil(x) |
округление x до наименьшего целого не меньше х |
ceil(9.2)=10 ceil(-9.8)=-9 |
floor(x) |
округление x до наибольшего целого не больше х |
floor(9.2)=9 floor(-9.8)=-10 |
pow(x,y) |
x в степени y |
pow(2,7)=128 pow(9, 0.5)=3 |
fmod(x,y) |
остаток от деления x/y, как число с плавающей точкой |
fmod(13.657,2.333)=1.992 |
sin(x) |
синус х (х в радианах) |
sin(0)=0 |
cos(x) |
косинус х (х в радианах) |
cos(0)=1 |
tan(x) |
тангенс х (х в радианах) |
tan(0)=0 |