Содержание
- 2. Зарезервированные слова int – целое for – для long – длинное while – пока short –
- 3. Дополнительные зарезервированные слова для С++ asm catch class delete friend inline new operator private protected public
- 4. Комментарии 1) /* Короткий комментарий */ 2) /* Очень, очень, очень длинный комментарий */ 3) //
- 5. Типы величин Числовые Целые (short, int, long, unsigned) С плавающей точкой (float, double) Текстовые Одиночные символы
- 6. Числовые константы Целые числа: 1 23 –456 89L - для типа long 012 - восьмеричное число
- 7. Числовой тип (Turbo C) Тип Размер в байтах Диапазон значений ---------------------------------------------------------------------------- int 2 -32768 ... 32767
- 8. Числовой тип (MSVC) Тип Размер в байтах * ----------------------------------------------------------- short, unsigned short 2 int, unsigned int
- 9. Символьные константы Символьная константа – это один символ, заключенный в одинарные кавычки. Например, 'a' '*' 'Э'
- 10. Примеры символьных строк " ИСТАС " что равносильно {’И’,’С’,’Т’,’А’,’С’,’\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
- 13. Операции (15 рангов) Слева направо ( ) – вызов функции; [ ] – доступ к элементу
- 14. Операции (2 ранг из 15) справа налево ++ -- – унарные инкремент и декремент; sizeof –
- 15. 3 ранг из 15 слева направо * / % – операции умножения, деления, нахождения остатка (при
- 16. 6 ранг из 15 слева направо >= – операции сравнения; 7 ранг из 15 слева направо
- 17. 8 ранг из 15 слева направо & – побитовая операция И; 9 ранг из 15 слева
- 18. 11 ранг из 15 слева направо && – логическая операция И; 12 ранг из 15 слева
- 19. 14 ранг из 15 справа налево = += -= *= /= %= >= &= ^= |=
- 21. Примеры: 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 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; ======== результат
- 23. Примеры: int x,y,*p,*q; x=5; p=&x, q=&y; y=*p; *p=7; ======== результат ============= Объект Значение Адрес x 7
- 24. Примеры: int a,b,c,d,f1,f2,f3,f3,f4; f1=5; /* пусть f1=00000000000001012 = 510 */ f2=3; /* пусть f2=00000000000000112 = 310
- 25. Пример 1: if (x>y) z=x; else z=y; Пример 2: z = (x>y) ? x : y;
- 26. Упражнение 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)
- 27. Пример main() { int i,z[16]; char c; unsigned u=1; clrscr(); printf("Нажмите клавишу:"); c=getch(); for(i=15;i>=0;i--) { z[i]
- 28. Оператор: { составной_оператор } выражение ; if (выражение) оператор if (выражение) оператор else оператор while (выражение)
- 29. Пример: найти u=max{x,y}, v=min{x,y) #include #include main() { int x,y,u,v; clrscr(); printf(”Введите x,y:”); scanf(”%d%d”,&x,&y); if(x>y) {
- 30. Пример: найти u=max{x,y,z} #include #include 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;
- 31. Пример: найти сумму положительных, отрицательные распечатать #include #include main() { int x,y,z,s; clrscr(); printf(”Введите x,y,z:”); scanf(”%d%d%d”,&x,&y,&z);
- 32. Форматы:
- 33. Форматы Общий вид для вывода: % [-][+] [ширина][.точность] {символ_преобразования} [-] выравнивание влево, [+] печать знака плюс
- 34. Примеры: 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);
- 35. Пример для switch: main() { int k=1; char c; while(k) { printf("Введите ответ Y/N?"); c=getch(); switch(c)
- 39. Примеры: int x[5]={1,2,3,4,5}; int i,s; s=0; for(i=0; i s=0; i=0; while (i { s+=x[i]; i++; }
- 40. Примеры: #include /* #include для c++ */ int i,n,*x; printf(”Введите n:”); scanf(”%d”,&n); x=(int*)malloc(n*sizeof(int)); printf(”\nВведите элементы массива:”);
- 41. #include #include #include /* #include для c++ */ main() { int i,n,k,*x; float s; printf(”Введите n:”);
- 42. Пример: среднее значение положительных элементов s=0; k=0; for(i=0; i if(x[i]>0){ k++; s+=x[i]; } if(k)s/=k; /* if(k>0)s=s/k;
- 43. Пример: максимальное значение и его индекс k=0; r=x[0]; for(i=1; i if(x[i]>r){ r=x[i]; k=i; } printf(”\nx[%d]=%d”,k,r); getch();
- 44. Пример: минимальное значение среди положительных k=-1; r=MAXINT; /* */ for(i=0; i { if(x[i] if(x[i] r=x[i]; k=i;
- 45. Пример: максимальное значение среди отрицательных k=-1; r=-1e25; for(i=0; i { if(x[i]>=0) continue; if(x[i]>r){ r=x[i]; k=i; }
- 46. Пример: произведение до первого 0 и сумма остальных s=0; p=1; for(i=0; i { if(x[i]==0) break; p*=x[i];
- 47. Пример: переписать массив в обратном порядке printf(”\nИсходный массив:\n”); for(i=0;i printf(”%d ”,x[i]); for(i=0; i { r=x[i]; x[i]=x[n-i-1];
- 48. Пример: сортировка массива по возрастанию k=1; while(k) { k=0; for(i=0; i if(x[i]>x[i+1]) { k=1; r=x[i]; x[i]=x[i+1];
- 49. Примеры: #include /* #include для 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
- 50. РАБОТА С ФАЙЛАМИ Объявление файла производится следующим образом: FILE указатель файла1[,..,указатель файлаN]; Например FILE *in, *out,
- 51. РАБОТА С ФАЙЛАМИ Пример if((in=fopen("myfile.dat","r"))==NULL) { printf("\n Файл myfile.dat не открыт."); exit(1);} Закрытие файла осуществляет функция
- 52. РАБОТА С ФАЙЛАМИ Пример #include #include /* #include для c++ */ main() { int i,n,*x; FILE
- 53. Работа со стандартным файлом: scanf ( управляющая строка, данные ); printf (управляющая строка,данные); gets ( имя_строки
- 54. Работа с произвольным файлом: fscanf(указатель_файла,управляющая_строка, данные); fprintf(указатель файла,управляющая строка, данные); fgets ( имя_строки,колич.симв.,указ._файла ); fputs (
- 55. #include #include main() { int c; FILE *in; clrscr(); in=fopen("str1.dat","r"); while((c=getc(in))!=EOF) if(c!='\n') putchar(c); else putchar(' ');
- 56. Двоичные файлы. Бесформатный ввод-вывод: fread(куда, размер, сколько, указатель_файла); – для чтения из файла, fwrite (откуда, размер,
- 57. Двоичные файлы. Бесформатный ввод-вывод: ПРИМЕР: #include 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);
- 58. Указание позиции при работе с файлом: ftell (указатель файла); fseek( указатель_файла, величина_сдвига, точка_отсчета); SEEK_SET – начало
- 59. #include main() { FILE *out; int i,a[20],b[20]; out=fopen ("fa","w+"); for (i=1;i fputs ("\n ИСТАС-",out); putc ('I',out);
- 60. Применение двоичного файла для хранения исходных данных. А) Чтение данных из текстового файла и запись в
- 61. Применение двоичного файла для хранения исходных данных. Б) Чтение из двоичного файла FILE *in; ... in=fopen("VkladBin.dat","rb");
- 62. Функции Функция задаётся следующим образом: тип_функции имя_функции (формальные аргументы) { текст } имя_функции – это идентификатор;
- 63. Функции void swap(int *x, int *y) { int z; z=*x; *x=*y; *y=z; return; } void noswap(int
- 64. #include #include #include /* #include для c++ */ int xsum(int n, int *x) { int i,s;
- 65. #include #include #include /* #include для c++ */ void xmax( int n, int*x, int*r, int*k) {
- 66. В какой строке максимальная сумма положительных элементов? #include main() { int i,j,n,m,k,r,*x,*s,**a; printf(”Введите n и m:”);
- 67. В какой строке максимальная сумма положительных элементов? Будет ли правильно работать такой вариант? int xsum(int n,
- 68. Работа с объектами символьного типа
- 69. #include #include 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++); или
- 70. #include #include strcopy1( char s[],char t[]) { int i=0; while(s[i]=t[i])i++; return; } strcopy2( char *s,char *t)
- 71. Некоторые функции strlen (char* str); длина строки (без учета 0-символа); strcpy (char* str1,char* str2); strncpy (char*
- 72. Некоторые функции strcat (char* str1,char* str2); strncat (char* str1,char* str2, число_байтов); сцепление строк здесь строки-аргументы соединяются
- 73. Некоторые функции strtok (char* str1, char* str2); поиск лексических единиц. Возвращает указатель (char*) на первое слово,
- 74. Применение функции strtok() #include #include #include main() { char s[]="Иванов(ЭУИС)"; char *Temp=strtok(s,"("); printf("\n%s\n",Temp); Temp=strtok(NULL,")"); printf("%s\n",Temp); getch();
- 75. Преобразование по формату: int year; char s[80]; strcpy(s,”2010”); sscanf(s,"%d",&year); year++; sprintf(s,"%d",year);
- 76. Преобразование строка/число: II способ #include int n-число,d-основание системы счисления char s[80]-строка; /*Преобразование числа в строку*/ itoa(n,s,d);
- 77. #include #include #include int n_of_char(char c, char* s) { int n=0,i; for(i=0;i if(c==s[i])n++; return n; }
- 78. #include #include #include int n_of_char(char c, char* s) { int n=0,i; for(i=0;i if(c==s[i])n++; return n; }
- 79. #include #include int test(char* s) { int n=0,i; n=strlen(s)-1; if(s[0]==s[n]) return 1; return 0; } main()
- 80. #include #include 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++;
- 81. #include #include #include int main() { char s[80],t[80]; int i,j; printf("Введите предложение:"); gets(s); printf("\n Заключаем в
- 82. #include #include #include main() { char s[80]; char Znak[]=" ,.()"; char *Temp; clrscr(); printf("Введите предложение:"); gets(s);
- 83. #include #include #include int main() { char s[80],t[80]=""; char Znak[]=" ,.()"; char *Temp; printf("Введите предложение:"); gets(s);
- 84. #include #include #include main() { FILE *in; char s[80],Fam[80]=""; char *Temp,*Facultet; int Lmax,Len; if((in=fopen("Spisok.dat","r"))==NULL) {printf("Файл не
- 85. #include #include #include main() { FILE *in; char s[80],Fam[80]=""; char *Temp,*Facultet; int Lmax,Len; if((in=fopen("Spisok.dat","r"))==NULL) {printf("Файл не
- 86. 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))
- 87. printf("Введите предложение:"); gets(s); printf("Введите символ"); scanf("%c",&c); Проблема совместного использования scanf и gets printf("Введите символ"); scanf("%c",&c); printf("Введите
- 88. Структуры struct z { char name[20]; char vid[20]; long summa; char data[11]; } x,*a,*b; a=(struct z*)malloc(n*sizeof(struct
- 89. Структуры main() { FILE *in; struct z { char name[20]; char vid[20]; long summa; char data[11];
- 90. Битовые поля в структурах #include #include struct byte { unsigned b1:1; unsigned b2:1; unsigned b3:1; unsigned
- 91. Аргументы функции main main(int ARGC,char **ARGV) { while (ARGC--) printf("\n %s ",ARGV[ARGC]); } Допустим, программа называется
- 92. КЛАССЫ ПАМЯТИ
- 93. Классы памяти #include #include f() { static int i=0; i++; return; } main() { f(); /*
- 94. Классы памяти example.h int a=20; example.с #include #include #include ”example.h” main() { extern int a; /*
- 95. Классы памяти int i=0,j=0; void Print_J() { printf(”\n j=%d”,j); /* j=0 */ } main() { int
- 97. Скачать презентацию