Презентация Общий синтаксис языка Си онлайн

На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Общий синтаксис языка Си абсолютно бесплатно. Урок-презентация на эту тему содержит всего 96 слайдов. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Общий синтаксис языка Си



Оцените!
Оцените презентацию от 1 до 5 баллов!
  • Тип файла:
    ppt / pptx (powerpoint)
  • Всего слайдов:
    96 слайдов
  • Для класса:
    1,2,3,4,5,6,7,8,9,10,11
  • Размер файла:
    562.50 kB
  • Просмотров:
    59
  • Скачиваний:
    0
  • Автор:
    неизвестен



Слайды и текст к этой презентации:

№1 слайд
Общий синтаксис языка Си
Содержание слайда: Общий синтаксис языка Си

№2 слайд
Зарезервированные слова int
Содержание слайда: Зарезервированные слова int – целое for – для long – длинное while – пока short – короткое do – выполнить unsigned – без знака signed – со знаком break – завершить continue – продолжить char – символьное

№3 слайд
Дополнительные
Содержание слайда: Дополнительные зарезервированные слова для С++

№4 слайд
Комментарии Короткий
Содержание слайда: Комментарии 1) /* Короткий комментарий */ 2) /* Очень, очень, очень длинный комментарий */ 3) // Комментарий в языке С++

№5 слайд
Типы величин Числовые Целые
Содержание слайда: Типы величин Числовые Целые (short, int, long, unsigned) С плавающей точкой (float, double) Текстовые Одиночные символы (char) Символьные строки (массив символов) Логические 1-Истина (или все, что не 0) 0-Ложь

№6 слайд
Числовые константы Целые
Содержание слайда: Числовые константы Целые числа: 1 23 –456 89L - для типа long 012 - восьмеричное число (1010=1*81+2*80) 0x34A - шестнадцатеричное число (84210=3*162+4*161+10*160) Десятичные числа с плавающей точкой: 1.2 –3.45 -.67 (то же, что -0.67) 3е2 (т.е.3*102) 7.1e-3 6.34E-2 .21e+5

№7 слайд
Числовой тип Turbo C Тип
Содержание слайда: Числовой тип (Turbo C) Тип Размер в байтах Диапазон значений ---------------------------------------------------------------------------- int 2 -32768 ... 32767 (215-1) unsigned 2 0 … 65535 (216-1) short 2 -32768 ... 32767 long 4 –2147483648 … 2147483647 unsigned long 4 0 … 4294967295 (232-1) ---------------------------------------------------------------------------- float 4 1.5e-45 …3.4e+38 double 8 5e-324 … 1.7e+308 ----------------------------------------------------------------------------

№8 слайд
Числовой тип MSVC Тип Размер
Содержание слайда: Числовой тип (MSVC) Тип Размер в байтах * ----------------------------------------------------------- short, unsigned short 2 int, unsigned int 4 long, unsigned long 4 long long 8 (9223372036854775807 / 19 зн.) ----------------------------------------------------------- float 4 double 8 ------------------------------------------------------------

№9 слайд
Символьные константы
Содержание слайда: Символьные константы Символьная константа – это один символ, заключенный в одинарные кавычки. Например, 'a' '*' 'Э' '>'. Некоторые специальные символы языка Си: \n перевод на новую строку. \t табуляция. \0 код ASCII равный 0 \\ обратная косая черта. \' одинарная кавычка. \" двойная кавычка. \( открывающая скобка. \) закрывающая скобка. \r возврат каретки Символьная восьмеричная константа записывается в виде '\ddd' , где ddd – от одной до трех восьмеричных цифр, например, '\007' ( звонок).

№10 слайд
Примеры символьных строк quot
Содержание слайда: Примеры символьных строк " ИСТАС " что равносильно {’И’,’С’,’Т’,’А’,’С’,’\0’} или {’И’,’С’,’Т’,’А’,’С’,0} "" пустая строка

№11 слайд
Длинные символьные строки
Содержание слайда: Длинные символьные строки 1) “Очень,\ очень,\ очень длинная строка! “ 2) ”Очень, ” “очень, ” “очень длинная строка!”

№12 слайд
Пример описания переменных
Содержание слайда: Пример описания переменных стандартных типов: int i,j,n=3,m=4; int x[10],y[5]={0,1,2,3,4}; int z[]={1,2,3}; int a[2][3]={{1,2,3},{10,20,30}}; int b[2][3]={1,2,3,10,20,30}; float t; double r=1e25; char c,s[80]; char s1[]=”МГСУ”; char s2[]={’М’,’Г’,’С’,’У’,’\0’};

№13 слайд
Операции рангов Слева направо
Содержание слайда: Операции (15 рангов) Слева направо ( ) – вызов функции; [ ] – доступ к элементу массива; . – доступ к элементу структуры или объединения; –> – доступ к элементу структуры или объединения, которые описаны с помощью указателя;

№14 слайд
Операции ранг из справа
Содержание слайда: Операции (2 ранг из 15) справа налево ++ -- – унарные инкремент и декремент; sizeof – размер; (новый_тип) – явное преобразование типа; ~ – поразрядное (побитовое) логическое отрицание; ! – логическое отрицание; – – унарный минус; & – унарная операция получения адреса переменной; * – унарная операция получения значения по адресу;

№15 слайд
ранг из слева направо ранг из
Содержание слайда: 3 ранг из 15 слева направо 3 ранг из 15 слева направо * / % – операции умножения, деления, нахождения остатка (при делении целых чисел); 4 ранг из 15 слева направо + - – операции сложения и вычитания; 5 ранг из 15 слева направо << >> – сдвиги влево и вправо;

№16 слайд
ранг из слева направо ранг из
Содержание слайда: 6 ранг из 15 слева направо 6 ранг из 15 слева направо < <= > >= – операции сравнения; 7 ранг из 15 слева направо == != – операции проверки равенства и неравенства ;

№17 слайд
ранг из слева направо ранг из
Содержание слайда: 8 ранг из 15 слева направо 8 ранг из 15 слева направо & – побитовая операция И; 9 ранг из 15 слева направо ^ – побитовая операция исключающее ИЛИ; 10 ранг из 15 слева направо | – побитовая операция ИЛИ;

№18 слайд
ранг из слева направо ранг из
Содержание слайда: 11 ранг из 15 слева направо 11 ранг из 15 слева направо && – логическая операция И; 12 ранг из 15 слева направо || – логическая операция ИЛИ; 13 ранг из 15 справа налево ?: – условная операция;

№19 слайд
ранг из справа налево ранг из
Содержание слайда: 14 ранг из 15 справа налево 14 ранг из 15 справа налево = += -= *= /= %= <<= >>= &= ^= |= – присваивание; 15 ранг из 15 слева направо , – операция запятая;

№20 слайд
Содержание слайда:

№21 слайд
Примеры int i,j,x,y i j x i y
Содержание слайда: Примеры: int i,j,x,y; i=1; j=1; x=i++; y=++j; ======== результат ============= i=2 j=2 x=1 y=2

№22 слайд
Примеры int i,j,k,m,n float
Содержание слайда: Примеры: int i,j,k,m,n; float x,y; i=5/2; j=5./2; m=5%2; k=1; x=5/2; y=5/2. k+=2; n=k; n*=5; ======== результат ============= i=2 j=2 x=2.0000000 y=2.5000000 m=1 k=3 n=15

№23 слайд
Примеры int x,y, p, q x p amp
Содержание слайда: Примеры: int x,y,*p,*q; x=5; p=&x, q=&y; y=*p; *p=7; ======== результат ============= Объект Значение Адрес x 7 FF00 y 5 FF02 p FF00 q FF02

№24 слайд
Примеры int a,b,c,d,f ,f ,f
Содержание слайда: Примеры: int a,b,c,d,f1,f2,f3,f3,f4; f1=5; /* пусть f1=00000000000001012 = 510 */ f2=3; /* пусть f2=00000000000000112 = 310 */ f3=f1&f2; /* тогда f3=00000000000000012 = 110 */ f4=f1>>1; /* тогда f4=00000000000000102 = 210 */ f5=f2<<2; /* тогда f5=00000000000011002 = 1210 */ f1=f2^f3; /* тогда f1=00000000000000102 = 210 */ f2=f1|f3; /* тогда f2=00000000000000112 = 310 */ f2=~f2; /* тогда f2=11111111111111002 = 6553210 */ a=2; b=5; c= a & b; d= a && b; ===== результат ============== c=0 d=1

№25 слайд
Пример Пример if x gt y z x
Содержание слайда: Пример 1: Пример 1: if (x>y) z=x; else z=y; Пример 2: z = (x>y) ? x : y; Пример 3: Проверить условие: x  (-1.5 , 1.5)  [5,10) float x; ... if (fabs(x)<1.5 || x>=5 && x<10) ...

№26 слайд
Упражнение . Упражнение . int
Содержание слайда: Упражнение 1. Упражнение 1. int x,y,z,u,v,w; x=1; y=2; z=0; if(x==y) u=1; else u=0; if(x=y) v=1; else v=0; if(x=z) w=1; else w=0; =============================== u=? v=? w=? =============================== Упражнение 2. Верны ли равенства: а) a>>4=a*16 б) a<<2=a/4

№27 слайд
Пример Пример main int i,z
Содержание слайда: Пример Пример main() { int i,z[16]; char c; unsigned u=1; clrscr(); printf("Нажмите клавишу:"); c=getch(); for(i=15;i>=0;i--) { z[i] = u & c ? 1 : 0; u<<=1; } printf("\n%c - %d - \n",c,c); for(i=0;i<16;i++) printf("%d ",z[i]); getch(); }

№28 слайд
Оператор составной оператор
Содержание слайда: Оператор: { составной_оператор } выражение ; if (выражение) оператор if (выражение) оператор else оператор while (выражение) оператор do оператор while (выражение) ; for (выражение1 ; выражение2 ; выражение3 ) оператор switch(выражение ){ case константное_выражение : оператор … default : оператор } break; continue; return; return выражение ; goto идентификатор ; идентификатор : оператор ; (пустой оператор)

№29 слайд
Пример найти u max x,y , v
Содержание слайда: Пример: найти u=max{x,y}, v=min{x,y) #include <stdio.h> #include <conio.h> main() { int x,y,u,v; clrscr(); printf(”Введите x,y:”); scanf(”%d%d”,&x,&y); if(x>y) { u=x; v=y; } else { u=y; v=x; } printf(”\n u=%d \n v=%d”,u,v); getch(); }

№30 слайд
Пример найти u max x,y,z
Содержание слайда: Пример: найти u=max{x,y,z} #include <stdio.h> #include <conio.h> main() { int x,y,z,u; clrscr(); printf(”Введите x,y,z:”); scanf(”%d%d%d”,&x,&y,&z); if(x>y) if(x>z) u=x; else u=z; else if(y>z) u=y; else u=z; printf(”\n u=%d”,u); getch(); }

№31 слайд
Пример найти сумму
Содержание слайда: Пример: найти сумму положительных, отрицательные распечатать #include <stdio.h> #include <conio.h> main() { int x,y,z,s; clrscr(); printf(”Введите x,y,z:”); scanf(”%d%d%d”,&x,&y,&z); s=0; if(x>=0) s+=x; else printf(”\n x=%d”,x); if(y>=0) s+=y; else printf(”\n y=%d”,y); if(z>=0) s+=z; else printf(”\n z=%d”,z); printf(”\n s=%d”,s); getch(); }

№32 слайд
Форматы
Содержание слайда: Форматы:

№33 слайд
Форматы Общий вид для вывода
Содержание слайда: Форматы Общий вид для вывода: % [-][+] [ширина][.точность] {символ_преобразования} [-] выравнивание влево, [+] печать знака плюс Точность: для f - дробная часть, для e - число значащих цифр для s – число выводимых символов Общий вид для ввода: % [*] [ширина] {символ_преобразования} [*] – пропуск поля во входном потоке

№34 слайд
Примеры main int x double y
Содержание слайда: Примеры: main() { int x; double y; clrscr(); Результат x=15;y=12.345; 1===5===10=========== printf("\n%d",x); 15 printf("\n%5d",x); 15 printf("\n%-5d",x); 15 printf("\n%f",y); 12.345000 printf("\n%10.2f",y); 12.35 printf("\n%1.1f",y); 12.3 printf("\n%10.3e",y); 1.23e+01 getch(); ===================== }

№35 слайд
Пример для switch main int k
Содержание слайда: Пример для switch: main() { int k=1; char c; while(k) { printf("Введите ответ Y/N?"); c=getch(); switch(c) { case 'y': case 'Y': printf("\nYes"); k=0; break; case 'n': case 'N': printf("\nNo"); k=0; break; default: printf("\nОшибка\nПовторите ввод\n"); } getch(); } }

№36 слайд
Содержание слайда:

№37 слайд
Содержание слайда:

№38 слайд
Содержание слайда:

№39 слайд
Примеры int x , , , , int i,s
Содержание слайда: Примеры: int x[5]={1,2,3,4,5}; int i,s; s=0; for(i=0; i<5; i++) s+=x[i]; s=0; i=0; while (i<5) { s+=x[i]; i++; } s=0; i=0; do { s+=x[i]; i++; } while (i<5);

№40 слайд
Примеры include lt alloc.h gt
Содержание слайда: Примеры: #include <alloc.h> /* #include <malloc.h> для c++ */ int i,n,*x; printf(”Введите n:”); scanf(”%d”,&n); x=(int*)malloc(n*sizeof(int)); printf(”\nВведите элементы массива:”); for(i=0;i<n;i++) scanf(”%d”,&x[i]); /* scanf(”%d”,x+i); */ printf(”\nИсходный массив:\n”); for(i=0;i<n;i++) printf(”%d ”,x[i]); . . . free(x);

№41 слайд
Пример среднее значение
Содержание слайда: Пример: среднее значение положительных элементов #include <stdio.h> #include <conio.h> #include <alloc.h> /* #include <malloc.h> для c++ */ main() { int i,n,k,*x; float s; printf(”Введите n:”); scanf(”%d”,&n); x=(int*)malloc(n*sizeof(int)); printf(”\nВведите элементы массива:”); for(i=0;i<n;i++) scanf(”%d”,&x[i]); printf(”\nИсходный массив:\n”); for(i=0;i<n;i++) printf(”%d ”,x[i]);

№42 слайд
Пример среднее значение
Содержание слайда: Пример: среднее значение положительных элементов s=0; k=0; for(i=0; i<n; i++) if(x[i]>0){ k++; s+=x[i]; } if(k)s/=k; /* if(k>0)s=s/k; */ printf(”\ns=%f”,s); getch();

№43 слайд
Пример максимальное значение
Содержание слайда: Пример: максимальное значение и его индекс k=0; r=x[0]; for(i=1; i<n; i++) if(x[i]>r){ r=x[i]; k=i; } printf(”\nx[%d]=%d”,k,r); getch();

№44 слайд
Пример минимальное значение
Содержание слайда: Пример: минимальное значение среди положительных k=-1; r=MAXINT; /* <values.h> */ for(i=0; i<n; i++) { if(x[i]<=0) continue; if(x[i]<r){ r=x[i]; k=i; } } if(k==-1) printf(”\nПоложительных элементов нет”); else printf(”\nx[%d]=%d”,k,r); getch();

№45 слайд
Пример максимальное значение
Содержание слайда: Пример: максимальное значение среди отрицательных k=-1; r=-1e25; for(i=0; i<n; i++) { if(x[i]>=0) continue; if(x[i]>r){ r=x[i]; k=i; } } if(k==-1) printf(”\nОтрицательных элементов нет”); else printf(”\nx[%d]=%f”,k,r); getch();

№46 слайд
Пример произведение до
Содержание слайда: Пример: произведение до первого 0 и сумма остальных s=0; p=1; for(i=0; i<n; i++) { if(x[i]==0) break; p*=x[i]; } for(j=i+1; j<n; j++) s+=x[j]; printf(”\ns=%f”,s); printf(”\np=%f”,p); getch();

№47 слайд
Пример переписать массив в
Содержание слайда: Пример: переписать массив в обратном порядке printf(”\nИсходный массив:\n”); for(i=0;i<n;i++) printf(”%d ”,x[i]); for(i=0; i<n/2; i++) { r=x[i]; x[i]=x[n-i-1]; x[n-i-1]=r; } printf(”\nПреобразованный массив:\n”); for(i=0;i<n;i++) printf(”%d ”,x[i]); getch();

№48 слайд
Пример сортировка массива по
Содержание слайда: Пример: сортировка массива по возрастанию k=1; while(k) { k=0; for(i=0; i<n-1; i++) if(x[i]>x[i+1]) { k=1; r=x[i]; x[i]=x[i+1]; x[i+1]=r; } }

№49 слайд
Примеры include lt alloc.h gt
Содержание слайда: Примеры: #include <alloc.h> /* #include <malloc.h> для c++ */ int i,j,n,m,**a; printf(”Введите n и m:”); scanf(”%d%d”,&n,&m); a=(int**)malloc(n*sizeof(int*)); for(i=0;i<n;i++) a[i]=(int*)malloc(m*sizeof(int)); printf(”\nВведите элементы массива:”); for(i=0;i<n;i++) for(j=0;j<m;j++) scanf(”%d”,&a[i][j]); printf(”\nМатрица A:\n”); for(i=0;i<n;i++) { for(j=0;j<m;j++) printf(”%5d”,a[i][j]); printf(”\n”); }

№50 слайд
РАБОТА С ФАЙЛАМИ Объявление
Содержание слайда: РАБОТА С ФАЙЛАМИ Объявление файла производится следующим образом: FILE указатель файла1[,..,указатель файлаN]; Например FILE *in, *out, *f1; Открытие файла: указатель_файла=fopen(имя_файла, режим_работы); Возможны следующие режимы работы: r – открытие файла на чтение (при этом открываемый файл должен существовать); w – открытие файла на запись (если открываемого файла нет, то он будет создан; если этот файл уже есть, то его содержимое стирается); a – открытие файла на дозапись (при этом, если файла нет, то он создается); r+ – открытие файла на чтение и запись (при этом открываемый файл должен существовать); w+ – открытие файла на чтение и запись (при этом содержимое открываемого файла стирается); a+ – открытие файла на чтение и дозапись (при этом, если файла нет, то он создается).

№51 слайд
РАБОТА С ФАЙЛАМИ Пример if in
Содержание слайда: РАБОТА С ФАЙЛАМИ Пример if((in=fopen("myfile.dat","r"))==NULL) { printf("\n Файл myfile.dat не открыт."); exit(1);} Закрытие файла осуществляет функция fclose(указатель_файла);

№52 слайд
РАБОТА С ФАЙЛАМИ Пример
Содержание слайда: РАБОТА С ФАЙЛАМИ Пример #include <stdio.h> #include <alloc.h> /* #include <malloc.h> для c++ */ main() { int i,n,*x; FILE *in,*out; in=fopen(”mas.dat","r"); out=fopen(”mas.res","w"); scanf(”%d”,&n); x=(int*)malloc(n*sizeof(int)); for(i=0;i<n;i++) fscanf(in,”%d”,&x[i]); fprintf(out,”Массив X\n”); for(i=0;i<n;i++) fprintf(out,”%d ”,x[i]); fclose(in); fclose(out); . . . }

№53 слайд
Работа со стандартным файлом
Содержание слайда: Работа со стандартным файлом: Работа со стандартным файлом: scanf ( управляющая строка, данные ); printf (управляющая строка,данные); gets ( имя_строки ); puts( строка или имя строки ); getchar(); getch(); getche(); putchar( символ или имя_символа )

№54 слайд
Работа с произвольным файлом
Содержание слайда: Работа с произвольным файлом: Работа с произвольным файлом: fscanf(указатель_файла,управляющая_строка, данные); fprintf(указатель файла,управляющая строка, данные); fgets ( имя_строки,колич.симв.,указ._файла ); fputs ( строка или имя_строки,указ._файла ); getc ( указатель_файла) ; putc( символ или имя_символа,указ._файла);

№55 слайд
include lt stdio.h gt include
Содержание слайда: #include <stdio.h> #include <stdio.h> #include <conio.h> main() { int c; FILE *in; clrscr(); in=fopen("str1.dat","r"); while((c=getc(in))!=EOF) putchar(c); getch(); } STR1.DAT ========== Раз Два Три Четыре Пять Все!

№56 слайд
Двоичные файлы. Бесформатный
Содержание слайда: Двоичные файлы. Бесформатный ввод-вывод: Двоичные файлы. Бесформатный ввод-вывод: fread(куда, размер, сколько, указатель_файла); – для чтения из файла, fwrite (откуда, размер, сколько,указатель_файла); – для записи в файл. При этом, в fopen режим дополняется опцией ”b” (двоичный файл), например, "wb+" (по умолчанию действует ”t” — текстовый файл).

№57 слайд
Двоичные файлы. Бесформатный
Содержание слайда: Двоичные файлы. Бесформатный ввод-вывод: Двоичные файлы. Бесформатный ввод-вывод: ПРИМЕР: #include<stdio.h> main( ) { FILE *in; int i,a[10]={1,2,3,4,5,6,7,8,9,10},b[10]; in=fopen("D:\\ISTAS\\myfile.dat","wb+"); fwrite(a,2,10,in); rewind(in); fread (b,2,10,in); puts ("\nМассивB\n"); for (i=0;i<10;i++) printf (" %d",b[i]); }

№58 слайд
Указание позиции при работе с
Содержание слайда: Указание позиции при работе с файлом: Указание позиции при работе с файлом: ftell (указатель файла); fseek( указатель_файла, величина_сдвига, точка_отсчета); SEEK_SET – начало файла, SEEK_CUR – текущая позиция, SEEK_END – конец файла.

№59 слайд
include lt stdio.h gt include
Содержание слайда: #include<stdio.h> #include<stdio.h> main() { FILE *out; int i,a[20],b[20]; out=fopen ("fa","w+"); for (i=1;i<100;i+=5) fprintf (out," %d ",i); fputs ("\n ИСТАС-",out); putc ('I',out); printf ("\n Текущая позиция =%ld\n", ftell(out)); rewind (out); printf ("\n Текущая позиция N =%ld\n", ftell(out)); for (i=0;i<19;i++) fscanf (out,"%d",&a[i]); for (i=0;i<19;i++) printf ("%d ",a[i]); rewind (out); for (i=0;i<9;i++) fscanf (out,"%d",&b[i]); fseek (out, 0, SEEK_CUR); for (i=0;i<9;i++) fprintf (out,"%3d ",b[i]); fseek (out, -36L, SEEK_CUR); for (i=9;i<19;i++) fscanf (out,"%d",&b[i]); for (i=0;i<19;i++) printf ("%d ",b[i]); }

№60 слайд
Применение двоичного файла
Содержание слайда: Применение двоичного файла для хранения исходных данных.

№61 слайд
Применение двоичного файла
Содержание слайда: Применение двоичного файла для хранения исходных данных.

№62 слайд
Функции Функции Функция
Содержание слайда: Функции Функции Функция задаётся следующим образом: тип_функции имя_функции (формальные аргументы) { текст } имя_функции – это идентификатор; формальные_аргументы – это список имен аргументов, которые будут переданы функции. Функция не может быть описана внутри других функций. К заданной функции можно обратиться из любой другой функции, при этом возможны две формы обращения: 1. имя_переменной = имя_функции(фактические аргументы); 2. имя_функции(фактические аргументы); Фактические_аргументы должны соответствовать формальным по количеству, типу и порядку следования.

№63 слайд
Функции void swap int x, int
Содержание слайда: Функции void swap(int *x, int *y) { int z; z=*x; *x=*y; *y=z; return; } void noswap(int x, int y) { int z; z=x; x=y; y=z; return; }

№64 слайд
Пример сумма элементов
Содержание слайда: Пример: сумма элементов массива #include <stdio.h> #include <conio.h> #include <alloc.h> /* #include <malloc.h> для c++ */ int xsum(int n, int *x) { int i,s; for(s=0,i=0; i<n; i++) s+=x[i]; return s; }

№65 слайд
Пример максимальный элемент и
Содержание слайда: Пример: максимальный элемент и его индекс #include <stdio.h> #include <conio.h> #include <alloc.h> /* #include <malloc.h> для c++ */ void xmax( int n, int*x, int*r, int*k) { int i; *r=x[0]; *k=0; for(i=1;i<n;i++) if (x[i]>*r) { *r=x[i]; *k=i; } return; }

№66 слайд
В какой строке максимальная
Содержание слайда: В какой строке максимальная сумма положительных элементов? #include <...> main() { int i,j,n,m,k,r,*x,*s,**a; printf(”Введите n и m:”); scanf(”%d%d”,&n,&m); x=(int*)malloc(m*sizeof(int)); s=(int*)malloc(n*sizeof(int)); a=(int**)malloc(n*sizeof(int*)); for(i=0;i<n;i++) a[i]=(int*)malloc(m*sizeof(int)); printf(”\nВведите элементы A:”); for(i=0;i<n;i++) for(j=0;j<m;j++) scanf(”%d”,&a[i][j]); printf(”\nМатрица A:\n”); for(i=0;i<n;i++) { for(j=0;j<m;j++) printf(”%5d”,a[i][j]); printf(”\n”); }

№67 слайд
В какой строке максимальная
Содержание слайда: В какой строке максимальная сумма положительных элементов? Будет ли правильно работать такой вариант? int xsum(int n, int *x) { int i,s; for(s=0,i=0; i<n; i++) s+=x[i]; return s; }

№68 слайд
Работа с объектами
Содержание слайда: Работа с объектами символьного типа

№69 слайд
include lt stdio.h gt include
Содержание слайда: #include <stdio.h> #include <stdio.h> #include <conio.h> int strlength1(char s[]) { int i=0; while(s[i]!='\0')i++; /* while(s[i]!=0)i++; или while(s[i])i++; или for(i=0;s[i]!=0;i++); или for(i=0;s[i];i++); */ return i; } int strlength2(char *s) { int i=0; while(*s++)i++; return i; }

№70 слайд
include lt stdio.h gt include
Содержание слайда: #include <stdio.h> #include <stdio.h> #include <conio.h> strcopy1( char s[],char t[]) { int i=0; while(s[i]=t[i])i++; return; } strcopy2( char *s,char *t) { while(*s++=*t++); return; }

№71 слайд
Некоторые функции lt string.h
Содержание слайда: Некоторые функции <string.h> strlen (char* str); длина строки (без учета 0-символа); strcpy (char* str1,char* str2); strncpy (char* str1,char* str2, число_байтов); копирование строк здесь 2-я строка переписывается в первую, размер которой должен быть достаточным для такого копирования; char s[80]; . . . strcpy(s,”ИСТАС”); сравнение строк strcmp (char* str1,char* str2) strncmp (char* str1,char* str2, число_байтов) эта функция возвращает положительное число, если первый аргумент больше второго, отрицательное число, если первый аргумент меньше второго, 0, если эти аргументы равны (сравниваются числовые коды символов, из которых состоят строки); if(strcmp(”ЭТИЛ”,”ЭТАНОЛ”)>0){.........}

№72 слайд
Некоторые функции lt string.h
Содержание слайда: Некоторые функции <string.h> strcat (char* str1,char* str2); strncat (char* str1,char* str2, число_байтов); сцепление строк здесь строки-аргументы соединяются в одну строку strchr (char* str1, int c); strrchr (char* str1, int c); возвращает указатель на первое (strchr) или последнее (strrchr) вхождение символа c в строку str1 strstr (char* str1, char* str2); возвращает указатель на первое вхождение строки str2 в строку str1 При отсутствии вхождения strchr, strrchr и strstr возвращают NULL memset (char* str1, int c, int n); заполняет память, начиная с адреса str1, n - кратной вставкой символа c char s[80]; memset(s,0,80); memset(s,'X',5); /* s=”XXXXX” */

№73 слайд
Некоторые функции lt string.h
Содержание слайда: Некоторые функции <string.h> strtok (char* str1, char* str2); поиск лексических единиц. Возвращает указатель (char*) на первое слово, в конце которого добавляется 0. Для повторного использования вместо первого аргумента используется NULL. В качестве результата выдается указатель на второе слово из входной строки. Процесс можно повторять, пока не будет обработана вся исходная строка str1. Тогда функция вернет нулевой указатель. str2 задает список всех возможных разделителей (пробел, точка, запятая и т.д.) Пример char s[]="Раз два,три(четыре)пять."; char *Temp=strtok(s, " ,.()" ); . . . Temp=strtok(NULL, " ,.()" );

№74 слайд
Применение функции strtok
Содержание слайда: Применение функции strtok() #include <stdio.h> #include <conio.h> #include <string.h> main() { char s[]="Иванов(ЭУИС)"; char *Temp=strtok(s,"("); printf("\n%s\n",Temp); Temp=strtok(NULL,")"); printf("%s\n",Temp); getch(); }

№75 слайд
Преобразование по формату int
Содержание слайда: Преобразование по формату: int year; char s[80]; strcpy(s,”2010”); sscanf(s,"%d",&year); year++; sprintf(s,"%d",year);

№76 слайд
Преобразование строка число
Содержание слайда: Преобразование строка/число: II способ #include <stdlib.h> int n-число,d-основание системы счисления char s[80]-строка; /*Преобразование числа в строку*/ itoa(n,s,d); /*Для типа long*/ ltoa(n,s,d); /*Преобразование строки в число*/ n=atoi(s); /*Для типа long*/ n=atol(s); /*Для типа double*/ x=atof(s);

№77 слайд
include lt stdio.h gt include
Содержание слайда: #include <stdio.h> #include <stdio.h> #include <conio.h> #include <string.h> int n_of_char(char c, char* s) { int n=0,i; for(i=0;i<strlen(s);i++) if(c==s[i])n++; return n; } main() { char c,s[80]; clrscr(); printf("\Введите символ\n"); scanf("%c",&c); printf("\Введите строку\n"); scanf("%s",s); printf("\n N=%d",n_of_char(c,s)); getch(); }

№78 слайд
include lt stdio.h gt include
Содержание слайда: #include <stdio.h> #include <stdio.h> #include <conio.h> #include <string.h> int n_of_char(char c, char* s) { int n=0,i; for(i=0;i<strlen(s);i++) if(c==s[i])n++; return n; } main() { FILE *in; char c,s[80]; clrscr(); printf("\Введите символ\n"); scanf("%c",&c); in=fopen("str.dat","r"); while(fscanf(in,"%s",s)!=EOF) printf("\n %s=%d",s,n_of_char(c,s)); getch(); fclose(in); }

№79 слайд
include lt stdio.h gt include
Содержание слайда: #include <stdio.h> #include <stdio.h> #include <string.h> int test(char* s) { int n=0,i; n=strlen(s)-1; if(s[0]==s[n]) return 1; return 0; } main() { FILE *in; char s[80]; int k=0; clrscr(); in=fopen("str.dat","r"); while(fscanf(in,"%s",s)!=EOF) if(test(s)) { printf(s); printf("\n"); k++; } printf("\n k=%d",k); getch(); }

№80 слайд
include lt stdio.h gt include
Содержание слайда: #include <stdio.h> #include <stdio.h> #include <conio.h> main() { FILE *in; int c,k; clrscr(); in=fopen("str5.dat","r"); k=0; while((c=getc(in))!=EOF) { putchar(c); if(c=='\n') k++; } printf("Всего строк: %d",k); getch(); fclose(in); }

№81 слайд
include lt stdio.h gt include
Содержание слайда: #include <stdio.h> #include <stdio.h> #include <conio.h> #include <string.h> int main() { char s[80],t[80]; int i,j; printf("Введите предложение:"); gets(s); printf("\n Заключаем в скобки:\n"); t[0]='('; j=1; i=0;

№82 слайд
include lt stdio.h gt include
Содержание слайда: #include <stdio.h> #include <stdio.h> #include <conio.h> #include <string.h> main() { char s[80]; char Znak[]=" ,.()"; char *Temp; clrscr(); printf("Введите предложение:"); gets(s); Temp=strtok(s,Znak); do { /* printf("%s\n",Temp);*/ puts(Temp); Temp=strtok(NULL,Znak); } while(Temp); getch(); }

№83 слайд
include lt stdio.h gt include
Содержание слайда: #include <stdio.h> #include <stdio.h> #include <conio.h> #include <string.h> int main() { char s[80],t[80]=""; char Znak[]=" ,.()"; char *Temp; printf("Введите предложение:"); gets(s); printf("\n Заключаем в скобки:\n");

№84 слайд
include lt stdio.h gt include
Содержание слайда: #include <stdio.h> #include <stdio.h> #include <conio.h> #include <string.h> main() { FILE *in; char s[80],Fam[80]=""; char *Temp,*Facultet; int Lmax,Len; if((in=fopen("Spisok.dat","r"))==NULL) {printf("Файл не открыт!");exit(1);} Lmax=0; while(fgets(s,80,in)) { Temp=strtok(s,"("); Facultet=strtok(NULL,")"); if(strcmp(Facultet,"ЭУИС")) continue; if((Len=strlen(Temp))>Lmax) { Lmax=Len; strcpy(Fam,Temp); } } fclose(in); printf("%s-%d ", Fam,strlen(Fam)); getch(); }

№85 слайд
include lt stdio.h gt include
Содержание слайда: #include <stdio.h> #include <stdio.h> #include <conio.h> #include <string.h> main() { FILE *in; char s[80],Fam[80]=""; char *Temp,*Facultet; int Lmax,Len; if((in=fopen("Spisok.dat","r"))==NULL) {printf("Файл не открыт!");exit(1);} Lmax=0; while(fgets(s,80,in)) { if(!strstr(s,"(ЭУИС)")) continue; Temp=strtok(s,"("); if((Len=strlen(Temp))>Lmax) { Lmax=Len; strcpy(Fam,Temp); } } fclose(in); printf("%s-%d ", Fam,strlen(Fam)); getch(); }

№86 слайд
char s ,F ,Fam quot quot char
Содержание слайда: char s[80],F[80],Fam[80]=""; char s[80],F[80],Fam[80]=""; char *Temp,*Facultet; . . . printf("Введите факультет: "); gets(s); F[0]='('; strcpy(F+1,s); strcat(F,")"); Lmax=0; while(fgets(s,80,in)) { if(!strstr(s,F))continue; Temp=strtok(s,"("); if((Len=strlen(Temp))>Lmax) { Lmax=Len; strcpy(Fam,Temp); } } fclose(in); printf("%s -%d ",Fam,strlen(Fam)); getch(); }

№87 слайд
printf quot Введите
Содержание слайда: printf("Введите предложение:"); printf("Введите предложение:"); gets(s); printf("Введите символ"); scanf("%c",&c);

№88 слайд
Структуры struct z char name
Содержание слайда: Структуры struct z { char name[20]; char vid[20]; long summa; char data[11]; } x,*a,*b; a=(struct z*)malloc(n*sizeof(struct z)); b=&x; x.summa=10000; b->summa=5000; a[i].summa=200; (a+i)->summa=100; strcpy(x.name,”Иванов”); strcpy(b->name,”Петров”); strcpy(a[i].name,”Сидоров”); strcpy((a+i)->name,”Федоров”);

№89 слайд
Структуры main FILE in struct
Содержание слайда: Структуры main() { FILE *in; struct z { char name[20]; char vid[20]; long summa; char data[11]; } *clients; int n,int k,i; clrscr(); in=fopen("struct.dat", "r"); fscanf(in,"%d",&n); clients=(struct z*)malloc(n*sizeof(struct z)); for(i=0;i<n;i++) fscanf(in,"%s%s%ld%s",clients[i].name, clients[i].vid, &clients[i].summa, clients[i].data); for(i=0;i<n;i++) printf("\n%-20s %-20s %7ld %s",clients[i].name, clients[i].vid, clients[i].summa, clients[i].data); . . . }

№90 слайд
Битовые поля в структурах
Содержание слайда: Битовые поля в структурах #include <stdio.h> #include <conio.h> struct byte { unsigned b1:1; unsigned b2:1; unsigned b3:1; unsigned b4:1; unsigned b5:1; unsigned b6:1; unsigned b7:1; unsigned b8:1; }; union bits { unsigned char ch; struct byte b; } u;

№91 слайд
Аргументы функции main main
Содержание слайда: Аргументы функции main main(int ARGC,char **ARGV) { while (ARGC--) printf("\n %s ",ARGV[ARGC]); } Допустим, программа называется obrab_1.exe Тогда, если ее вызвать из подкаталога TC на диске C следующим образом: C:\TC>obrab_1 one two то программа выдаст на экран такую информацию: two one C:\TC\obrab_1.exe

№92 слайд
КЛАССЫ ПАМЯТИ
Содержание слайда: КЛАССЫ ПАМЯТИ

№93 слайд
Классы памяти include lt
Содержание слайда: Классы памяти #include <stdio.h> #include <conio.h> f() { static int i=0; i++; return; } main() { f(); /* i=1 */ f(); /* i=2 */ f(); /* i=3 */ getch(); }

№94 слайд
Классы памяти example.h int a
Содержание слайда: Классы памяти example.h int a=20; example.с #include <stdio.h> #include <conio.h> #include ”example.h” main() { extern int a; /* Здесь инициализировать нельзя */ printf(”a=%d”,a); /* a=20 */ getch(); }

№95 слайд
Классы памяти int i ,j void
Содержание слайда: Классы памяти int i=0,j=0; void Print_J() { printf(”\n j=%d”,j); /* j=0 */ } main() { int j=10; i++; printf(”\n i=%d j=%d”,i,j); /* i=1 j=10 */ if (j==10) { int i=100; i--; printf(”\n i=%d”,i); /* i=99 */ } Print_J(); printf(”\n i=%d”,i); /* i=1 */ }

№96 слайд
Содержание слайда:

Скачать все slide презентации Общий синтаксис языка Си одним архивом: