C_L1
.docx
1972 г
Денис Ритчи
Брайан
Керниган
язык С
80 – е годы
Бьёрн
Строуструп
язык С++
И.В.Ашарина.
Основы программирования на
С и С++.
Б.И.Березин, С.Б.Березин.
Начальный курс С и С++.
В.В. Подбельский,
С.С. Фомин.
Программирование на языке С
Л.Б.Бузюков, О.Б.Петрова.
Современные методы программирования на языках
С и С++
С.В.Козин, Н.А.Матиясевич.
Практикум по программированию на языке С. ч.1
С.В.Козин, Н.А.Матиясевич.
Программирование на языках высокого уровня. Методические указания к лаб. работам.
СПб, 2010г.
NetBeans
CodeBlocks
www.codeblocks.org
#include <stdio.h> //…….
int main( ) //……
{
int a,b,c;
printf("Введите два
целых числа \n");
scanf("%d",&a);
scanf("%d",&b);
c=a/b;
printf("c=%d \n", c);
return 0;
}
Замечание.1.
scanf("%d%d",&a,&b);
Замечание.2.
int a,b,c;
Если a=5, b=2 и c=a/b,
то с=2
int a,b;
float c;
c=(float)a/b;
Получим с=2.5
Замечание.3.
float d;
d = 3/2; // ответ d=1
d = 3.0/2 // ответ d=1.5
d = 3./2 // ответ d=1.5
Основные типы
данных
название |
обозначение |
специфи- кация |
целые |
int |
%d |
вещест-венные |
float |
%f %E |
символь-ные |
char |
%c |
строка |
char s[10] |
%s |
ФОРМАТ ВЫВОДА
i = 35
printf("i=%d", i);
Результат: i=35
printf("i=%6d", i);
i=˛˛˛˛35
ch = 'z'
printf("ch=%c", ch);
ch=z
printf("ch=%7c", ch);
ch=˛˛˛˛˛˛z
x = 35.741
printf("x=%f", x);
x=35.741000
printf("x=%8.4f", x);
x=˛35.7410
printf("x=%E", x);
x=3.574100E+01
Арифметические операции
+ – *
/ ( a/b )
% ( 11%3 =2 )
++ инкремент
– – декремент
а = a + 1 ;
a++ ;
++a ;
Пример.
#include <stdio.h>
int main()
{
int a = 2, b = 2 ;
int c1, c2 ;
c1 = a++ ;
printf("\n c1=%d a=%d",
c1, a) ;
c2 = ++b ;
printf("\n c2=%d b=%d",
c2, b) ;
return 0;
}
Результат:
c1=2 a=3
c2=3 b=3
1. ++ – –
2. –
3. * / %
4. + –
< , <= , >, >=, = =, !=
a < b , d = = c
"ложь" — 0
"правда" — 1 (не ноль)
Пример.
#include <stdio.h>
int main()
{
int a = 2, b = 5 ;
int c1, c2 ;
с1=a<b ;
printf("\n c1=%d",c1) ;
с2= –b >0 ;
printf("\n c2=%d",c2) ;
return 0;
}
c1=1 (истина)
c2=0 (ложь)
с3=a+b<a–b
c3=0
&& – И
| | – ИЛИ
! – НЕ
Операция присваивания
a = 2 ;
a = b = c = d = 2 ;
+= , – = , *= , /= , %=
s+=5; s=s+5;
k*=2; k=k*2;
Математические
функции
#include<math.h>
sin(x), cos(x), tan(x), sqrt(x),
pow(a,x) – ax
– pow(m,1.0/4)
exp(x),
log(x), log10(x),
abs(i),
fabs(x),
Вычисление
алгебраических выражений
x=0.2 a=7.1 b=9
#include<stdio.h>
#include<math.h>
int main()
{
int b=9;
float a=7.1;
float x, y, z, d;
printf("Введи x=");
scanf("%f",&x);
y=(14*fabs(log10(x))+2)/
(40+x);
d=cos(a)+11*pow(y,1.0/3);
z=d*d/(d+b);
printf("\n y=%8.3f",y);
printf("\n z=%8.3f",z);
return 0;
}
Подготовка к лаб. работе
В тетради
Вариант № ….
Задание: …..
Программа
Понятие алгоритма
аль-Хорезми (Algorithmi)
Разветвляющийся
алгоритм
if switch
if (условие) оператор1 ;
else оператор2 ;
Пример 1.
#include<stdio.h>
// Найти max из x1 и x2
int main()
{
float max, x1, x2;
printf("Введи x1=");
scanf("%f",&x1);
printf("Введи x2=");
scanf("%f",&x2);
if (x1>=x2) max=x1;
else max=x2;
printf("\n max= %f",max);
return 0;
}
Пример 2.
#include<stdio.h>
int main()
{
float max, min, x1, x2; printf("Введи x1=");
scanf("%f",&x1);
printf("Введи x2=");
scanf("%f",&x2);
if (x1>=x2)
{max=x1; min=x2;}
else {max=x2; min=x1;}
printf("\n max= %f",max);
printf("\n min= %f",min);
return 0;
}
Краткая форма if
if (условие) оператор;
Пример 3.
#include<stdio.h>
// Найти max из трёх чисел
int main()
{
float x1, x2, x3, max;
// Ввод чисел x1, x2, x3
// см. Пример 2.
if (x1>=x2) max=x1;
else max=x2;
if (x3>max) max=x3; //…..
printf("\n max= %f",max);
return 0;}