Быстрое введение в язык C++

Slides:



Advertisements
Similar presentations
Class 15 - Overhead 11Object Oriented Programming Using C #define t_circle 1 #define t_rectangle 2 struct circle_shape {short type; double x,y; double.
Advertisements

Union, bitfield, typedef, enum union nama_u{ }; union nama_u{ struct nama_s byte; }; enum{ }; Tipedef var BYTE.
1 Lecture13: Other C Topics 12/17/2012. Topics Variable-length argument lists Pointers to functions Command-line arguments Suffixes for integer and floating-point.
More Pointers Write a program that: –Calls a function to input an integer value –The above function calls another function that will double the input value.
Structure of a C program
Pointers Chapters 6+9 in ABC. abp 12 int a = 1, b = 2, *p; & - reference operator (address) * - dereference operator (value) p = &a; // *p is now 1 abp.
PHP как язык программирования. Типы данных логические величины int, integer – целые числа real, double, float – вещественные числа string – строки array.
Fundamental data types
Синтаксис языка Java.
15213 C Primer 17 September Outline Overview comparison of C and Java Good evening Preprocessor Command line arguments Arrays and structures Pointers.
C Tokens Identifiers Keywords Constants Operators Special symbols.
ITEC 320 C++ Examples.
Язык программирования C#
Instructor: Alexander Stoytchev CprE 185: Intro to Problem Solving (using C)
Variables and Data Types.  Variable: Portion of memory for storing a determined value.  Could be numerical, could be character or sequence of characters.
(language, compilation and debugging) David 09/16/2011.
Topics memory alignment and structures typedef for struct names bitwise & for viewing bits malloc and free (dynamic storage in C) new and delete (dynamic.
Statements
What we will cover A crash course in the basics of C “Teach yourself C in 21 days”
Arrays, Strings, and Memory. Command Line Arguments #include int main(int argc, char *argv[]) { int i; printf("Arg# Contents\n"); for (i = 0; i < argc;
Advanced Pointer Topics. Pointers to Pointers u A pointer variable is a variable that takes some memory address as its value. Therefore, you can have.
By Anand George SourceLens.org Copyright. All rights reserved. Content Owner - Meera R (meera at sourcelens.org)
Int fact (int n) { If (n == 0) return 1; else return n * fact (n – 1); } 5 void main () { Int Sum; : Sum = fact (5); : } Factorial Program Using Recursion.
C syntax (simplified) BNF. Program ::= [ ] Directives ::= [ ] ::= | |… ::=#include > ::=#define.
Pseudocode FORTRAN (original) INPUT number
Lecture 10 union, enumeration, bit
C++ Lesson 1.
Ex-1 #include <stdio.h> struct sample { int a=0; char b='A';
Stack and Heap Memory Stack resident variables include:
MT262A Review.
Code -> Build -> Run
C Primer.
Data types Data types Basic types
A bit of C programming Lecture 3 Uli Raich.
LESSON 4 Decision Control Structure
LESSON 3 IO, Variables and Operators
Command Line Arguments
C Short Overview Lembit Jürimägi.
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
A Very Brief Overview of Pascal
مبانی کامپیوتر و برنامه سازی
CMSC 104, Section 4 Richard Chang
Reserved Words.
Data Type.
DATA HANDLING.
جامعة البحر الاحمر كلية العلوم التطبيقية قسم الفيزياء التطبيقية الفصل الداسي الثاني IIالمقرر: حاسوب د. خالد عثمان العالم.
Data Type.
null, true, and false are also reserved.
הרצאה 08 פרמטרים ל- main קרן כליף.
פרטים נוספים בסילבוס של הקורס
Oрганизација програма
פרטים נוספים בסילבוס של הקורס
kbkjlj/m/lkiubljj'pl;
Govt. Polytechnic,Dhangar
Introduction C is a general-purpose, high-level language that was originally developed by Dennis M. Ritchie to develop the UNIX operating system at Bell.
Default Arguments.
Variables in C Declaring , Naming, and Using Variables.
Seoul National University
7. Pointers, Dynamic Memory
Қайталау операторлары
Programming Language C Language.
C By Example The assumption is that you know Java and need to extend that knowledge so you can program in C. 1. Hello world 2. declarations 3. pass.
(PART 2) prepared by Senem Kumova Metin modified by İlker Korkmaz
Data Type.
C Programming - Lecture 5
Building Blocks of C Programming Language
Arrays, Pointers, and Strings
Seoul National University
15213 C Primer 17 September 2002.
6-лекция Турбо Си тілі элементтері.
Presentation transcript:

Быстрое введение в язык C++ C++ Builder – консольное приложение либо Turbo C Гречкина П.В., ПЯВУ-2, С++

Создание консольного приложения Гречкина П.В., ПЯВУ-2, С++

Структура программы //--------------------------------------------------------------------------- #pragma hdrstop #pragma argsused int main(int argc, char* argv[]) { return 0; } int main() { return 0; } void main() { return; } Гречкина П.В., ПЯВУ-2, С++

Структура программы Delphi C++ Builder Program Prog1; {$APPTYPE CONSOLE} //--------------------------------------- function main : integer; begin Result := 0; exit; end; Begin main; End. //--------------------------------------- int main() { return 0; } Program Prog2; {$APPTYPE CONSOLE} //--------------------------------------- procedure main; begin exit; end; Begin main; End. //--------------------------------------- void main() { return; } Program Prog2; {$APPTYPE CONSOLE} Begin End. Гречкина П.В., ПЯВУ-2, С++

Параметры программы Меню Run -> Parameters… //---------------------------------- #include <conio.h> #include <stdio.h> #pragma hdrstop #pragma argsused int main(int argc, char* argv[] ) { int i; for (i = 0; i < argc; i++) { printf("%s\n", argv[i] ); } getch(); return 0; Меню Run -> Parameters… Program Prog1; {$APPTYPE CONSOLE} //------------------------------- Uses SysUtils; function main : integer; var i: integer; begin for i:=0 to ParamCount do writeln( ParamStr(i) ); end; readln; Result := 0; exit; Begin main; End. Гречкина П.В., ПЯВУ-2, С++

Простые типы Const CN=33; DCN =35; Var i: integer = -2000000000; // 4 байта ui: cardinal = 4000000000; sh: Smallint = -32000; // 2 байта ush: Word = 64000; c: ShortInt = -128; // 1 байт uc: Byte = 255; f: Single = 2.3; // float point - 4 байта d: Real = -4.3e-5; // float point 8 = double ch: char = ‘A’; ch2: char = #49; // «1» //------------------------------------------------ #include <conio.h> #include <stdio.h> #pragma hdrstop const CN = 33; // константы #define DCN 35 int main() { int i=-2000000000; unsigned int ui = 4000000000; // 4 байта short sh=-32000; unsigned short ush = 64000; // 2 байта char c=-128; unsigned char uc = 255; // 1 байт float f=2.3; double d = -4.3e-5; // с плавающей точкой unsigned char ch = 'A', ch2 = 49; // символ 1 байт … Гречкина П.В., ПЯВУ-2, С++

Простые типы … printf("int i=-2000000000 -> i=%li i=%d i=%x i=%o \n", i,i,i,i); printf("unsigned int ui = 4000000000 -> ui=%u\n", ui); printf("short sh=-32000 -> sh=%d, ", sh); printf("unsigned short ush = 64000 -> ush=%d \n\n", ush); printf("char c=-128 -> c=%d, ", c); printf("unsigned char uc = 255 -> uc=%d \n\n", uc); printf("float f=2.3 -> f=%3.1f f=%f \n", f, f); printf("double d = -4.3e-5 -> d=%lf d=%3.1lf d=%g\n\n", d, d, d); printf("unsigned char ch='A', ch2=49; -> ch=%c, ch2=%c \n", ch, ch2); printf("const CN = 33; #define DCN 35 -> CN=%d, DCN2=%d \n",CN,DCN); getch(); return 0; } //------------------------------------------------ Гречкина П.В., ПЯВУ-2, С++

Операторы С++: int i=j=0; // не путать с i=j==0 if (i==j) // не путать с if (i=j) Гречкина П.В., ПЯВУ-2, С++

Операторы y=1/3*x; // будет 0 y=1.0/3*x; Int x=1, z=3; y= x / z; // будет 0 y=x / (double)z; Гречкина П.В., ПЯВУ-2, С++

Операторы 5 & 6 => 4 0101 0110 0100 5 I 6 => 7 0101 0110 0111 5 ^ 6 => 3 0101 0110 0011 += -= *= /= %= &= |= ^= <<= >>= Гречкина П.В., ПЯВУ-2, С++

Операторы int sum (int k1, int k2) { return k1+k2; } Delphi (фрагмент) Var k: integer; pk: ^integer; Begin K:=10; Inc( k ); // k := integer(Ord(k)+1); Dec( k ); // -1 Inc( k, 2); //+2 Dec( k, 3); //-3 AllocMem( pk, 2* SizeOf(integer)); Inc( pk ); // + SizeOf(integer); Dec( pk ); FreeMem(pk, 2* SizeOf(integer)); C++ (фрагмент) int k=10, *Pk; k++; --k; k= k + ++k; printf("%d\n", k); //22 k=10; k= sum (k, ++k); printf("%d", k); //22 k=10; k= sum (k, k++); printf("%d", k); //21 k=10; k= sum (++k, ++k); printf("%d", k); //23 k= sum (k++, k++); printf("%d", k); //21 Pk = (int*) calloc(2, sizeof(int)) ; Pk++; Pk--; free (Pk); Гречкина П.В., ПЯВУ-2, С++

Динамический массив (свой II) Type PReal = ^Real; Var DynAr: PReal; Cur: PReal;//текущий эл-т … GetMem( DynAr, N*SizeOf( real )); Cur:= DynAr; // на начало For i:=0 to N-1 do begin ReadLn(Cur^ ); Inc(Cur); end; Nil Nil КУЧА (Heap) real … Гречкина П.В., ПЯВУ-2, С++

Массивы Var mas: array of Integer; Begin SetLength( mas, 8 ); for i := 0 to 7 do begin mas[i] = (i-2)*sqr(i-2); write(i-2,’^3=’,mas[i],’ ’); end; mas:=nil; End; int *mas; mas = new int[8]; for (i = 0; i < 8; i++) { mas[i] = pow(i-2,3); // math.h printf("%d^3=%d ", i-2, mas[i]); } delete [] mas; Гречкина П.В., ПЯВУ-2, С++

Записи - Структуры Гречкина П.В., ПЯВУ-2, С++

Записи с вариантами Var h: TVariantRecord; Begin h.IntFielf := 6; typedef struct { char* StrField; int IntFielf; union { double d; int I; char c; }; } TVariantRecord; TVariantRecord h; h.IntFielf = 6; h.c = ‘T’; Var h: TVariantRecord; Begin h.IntFielf := 6; h.c := ‘T’; Гречкина П.В., ПЯВУ-2, С++

Операторы условного перехода y= (x==4 ? x : y) Гречкина П.В., ПЯВУ-2, С++

Условный переход if (4==x) y=x; else y=fabs(x); If (4==x) { y=x;} else { y=fabs(x); x=-x; } if (4==x) { y=x; } else { y=fabs(x); x=-x; y= ( 4==x ? x : fabs(x) ); // math.h y= ( 4==x ? x : x=-x, fabs(x) ); Следование “,” Гречкина П.В., ПЯВУ-2, С++

Множественный выбор Гречкина П.В., ПЯВУ-2, С++

Множественный выбор в Delphi Case Переменная of Значение1: Оператор1; Значение2: begin Оператор2_1; . . . . . . . . . . . . . Оператор2_K; end; {Значение2} Значение3, Значение4: Оператор3; else begin Оператор_1; Оператор_R; end; {else} End; {Case} Оператор1 Операторы2 Оператор3 Значение1 Значение2 Значение3 или Значение4 Переменная = Оператор(ы) иначе Гречкина П.В., ПЯВУ-2, С++

Множественный выбор в Си switch ( Переменная ) { case Значение1: Оператор1; break; case Значение2: Оператор2_1; . . . . . . . . . . . . . Оператор2_K; break; case Значение3, Значение4: Оператор3; default: Оператор_1; Оператор_R; } Оператор1 Операторы2 Оператор3 Значение1 Значение2 Значение3 или Значение4 Переменная = Оператор(ы) иначе Гречкина П.В., ПЯВУ-2, С++

Множественный выбор в Си switch ( Переменная ) { case Значение1: Оператор1; case Значение2: Оператор2_1; . . . . . . . . . . . . . Оператор2_K; case Значение3, Значение4: Оператор3; default: Оператор_1; Оператор_R; } Оператор1 Операторы2 Оператор3 Значение1 Значение2 Значение3 или Значение4 Переменная = Оператор(ы) иначе Гречкина П.В., ПЯВУ-2, С++

Цикл FOR Var X,I: single; Begin X:=0; I:=1; While I<=2.05 Do X:=X+I; I:=I+0.1 End; float x=0, i; for (i=1.0 ; i<=2.05; i+=0.1){ x+=i; } Гречкина П.В., ПЯВУ-2, С++

Цикл FOR Следование “,” float x=0, i; for (i=1.0 ; i<=2.05; i+=0.1){ x+=i; } float x, i; for (x=0,i=1.0 ; i<=2.05; x+=i, i+=0.1); float x=0, i=1.0; for ( ; i<=2.05; ) x+=i, i+=0.1; float x=0, i=1.0; for ( ; i<=2.05; ) {x+=i; i+=0.1;} float x=0, i=1.0; while (i<=2.05) { x+=i; i+=0.1; } Гречкина П.В., ПЯВУ-2, С++

Циклы while усл do ; repeat until усл; break; continue; for ( ; усл ; ) { } repeat until усл; do { } while (!усл); break; continue; Гречкина П.В., ПЯВУ-2, С++