111
1 2 基本数据类型与基本运算 2.1 简单 C++ 程序 2.2 基本类型及其派生类型 2.3 说明语句 2.4 基本运算符

第 2 章 基本数据类型与基本运算

Embed Size (px)

DESCRIPTION

第 2 章 基本数据类型与基本运算. 2.1 简单 C++ 程序 2.2 基本类型及其派生类型 2.3 说明语句 2.4 基本运算符. 2.1.1 求两个数的和与积. # include void main(){ int a,b,sum,prod; a=3; b=15; sum=a+b; prod=a*b; cout

Citation preview

  • 2 2.1 C++ 2.2 2.3 2.4

  • 2.1.1 #include void main(){int a,b,sum,prod;a=3;b=15;sum=a+b;prod=a*b;cout
  • :The sum is 18The prod is 45

  • 2.1.2 #include void main(){const float pai=3.14; float radius;coutradius;float area=pai*radius*radius; cout
  • :Enter radius:2.5The area of circle is 19.625The circum of circle is 15.7

  • 1. mainC++C++main(){} 2. ('//')()C++ '/*' (), '*/' ()

  • 3. 315const float pai=3.14;pai, C++intfloatcharvoid(int)(float)(char)(void)

  • (n) , ... , ; C++0

  • 4. C++C++(0--9)(A--Za--z) () (+ - * / > < = ! )( { } )

  • 5. C++(intfloatconst) ()(433.14)(+=* )({ }) C++()C++()p332.2C++

  • 6. C++()

    int a,b,sum,prod;()absumprod4int()4sum=a+b;a+bsum

  • 7. ()

    C++cinC++coutC++

  • cout()
  • 8. (), 1()\0A1A2

    cout()

  • 2.2 2.2.1 2.2.2 2.2.3 2.2.4 enum 2.2.5

  • 2.2.1

  • 1 2 3 4

  • 1 2 3

  • 2.2.2 -- C++Boolintfloatdoublecharboolbool ,void

  • ( )

  • 1. int -32768 32767VC6int long int+-*/% ===!=

  • int 1 5980-123032766: 0, 1, ..., 9 (10) 2 00170321-0777: 0, 1, ..., 7 (8) 3 0x(0X)0x30-0xA9f30X777: 0, 1, ..., 9, A, B, C, D, E, F (166)

  • 2. floatdoublefloat()-3.4E383.4E38double() -1.7E3081.7E308()+, -, *, / , =, ==, !=

  • (1) 45.6-1279.230.5(2) Ee-592e1212345.6E-20.123456e3123.456

  • 3. char ASCIIP312.1C++11ASCII()

  • char (1) 'A', 'a', '8', '+', '?', (2) '\' -- p36

  • '\n' -- '\t' -- '\\' -- '\'' -- '\"' -- '\ddd' -- ASCIIddd(d07)

  • '\xhh' -- ASCIIhh(h0F) '\ddd' '\xhh' '\101''\x41' 'A'A "\tNankai University\n"1920

  • charint#include void main() { char c1='A', c2='t', c3='\t', c4='!'; //'\t''t' cout
  • c1=A, int(c1)=65, c1+1=66c2=t, int(c2)=116c3= , int(c3)=9, 'A'+'a'=162c4=!, int(c4)=33, c4+'0'=81

  • 4. bool boolfalsetruefalse0()true1()

  • 5. void voidvoid C++voidvoidvoid * void

  • 2.2.3 void intfloatdouble charsignedunsigned shortlong

  • signedunsignedcharintunsigned char 0255unsigned int 065535long int -21474836482147483647unsigned long int 04294967295

  • int intintlong intlongunsigned intunsignedunsigned long intunsigned long

  • 2.2.4 enum --enum

    enum { } ; =

  • ;: enum ;

  • enum color { RED, YELLOW=3, BLUE } c1=YELLOW, c2; //color//c1c2, c1color a, b=BLUE, c, d=RED;//4color()a,b,c,d, //bd

  • enum: (1) enumint()int (2) n()01..., n-1 (3) i()mm+1 m+2... (4)

  • enum#include void main() {enum color{ RED,YELLOW=3,BLUE }c1=YELLOW,c2; color a, b=BLUE, c, d=RED;cout
  • :0 3 4c1=3 b=4 d=0 color color{ RED, YELLOW=3, BLUE } colorc1c2c1 int

  • 2.2.5 -- boolenumcharintboolenum float double, long double

  • 2.3 --2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6

  • 2.3.1 --C++ 1 2 3 4

  • 2.3.2 C++constantvariable

  • 2.3.2 const =const int N=2000;:#include#define N 2000

  • 2.3.3 int sizehightemp= 37 [=] char ch1 = 'e'ch2

  • 1

  • 2 a a aa C++

  • 3 auto C++register static extern

  • 2.3.5 namespaceC++ namespace {} using namespace

    p64

  • 2.3.6 1 typedef typedef int id_number

    2

    3

  • 2.4 --2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8

  • 2.4.1 C++

  • 2.4.2 -- C++15p7821314*&C++.*->*

  • (1) () [] -> :: . (2) ! ~ + - ++ -- & * sizeof new delete ()(3) * / %(4) + - (5) >(6) < >=(7) == !=(8) &(9) ^(10) |(11) &&(12) ||(13) ? :(14) = *= /= %= += -= = &= ^= |=(15) ,

  • 2.4.3 --1.

    =(==)

    : =

    ();

  • : , (left value, lvalue), x,22x+22,

  • :int i=1, j=10, k;i=j+5; (j+5i, i15)k=i=j+5; (i=j+5i15kk15)

  • (j=33)=55; (j=33,j,,j55)(j=i=66)++; (i66j67, j=i=66j66, j++) , 2=j+5i+1=55,

  • 2. C++10+=-=*=/=%=>>=
  • i=10j=3i*=j-2 i*=(j-2) i=i*(j-2) 103 C++( i*=j-2 i=i*j-2i2810! )

  • ,

  • 3. . . (, k=i=j+5k=(i=j+5) )

  • 2.4.4 --intfloatchar (-)(++)(--)(+)(-)(*)(/)(%)

  • 1. (-) : - : -1-x, -(a+b-2*c), -sqrt(a*a+b+b)

  • 2. (++)(--) (++): ++ ++int(char) (++)1 ++ii++++ii++i1ii1

  • i++; // i=i+1; ++i; // i=i+1;x=i++; //{ x=i; i=i+1; }x=++i; //{ i=i+1; x=i; }

  • (--): -- --

  • 3. (+)(-)(*)(/)(%) (+)(-)(*)(/)(%) x+y, x-y, x*y, x/y, x%y

  • 1int()int()7/327/41

    2x%yxy7%317%43x%yx-y*(x/y)

  • (3) charint""intfloat"" 5/22, 5/2.02.5int5float2.0, int5float5.0, float2.5

  • 4. . ; . */%+-; . , -++i-(++i)-i++-(i++) ; . , 3+2-5(3+2)-5x*y/z(x*y)/z

  • 2.4.5 -- , ,

  • 1. C++, : ===!= : : () , 1(booltrue); , 0(boolfalse)

  • 2. . . = ==!= . = 1
  • 2.4.6 -- ,

  • 1. C++,: !, &&, ||(, , ) !, &&||: ()

  • : (), 1(booltrue), 0(boolfalse) 0 ( 1true )0 ( false )!8!10; 0 || 4 0 || 11084true1

  • !, &&, ||: !0 1; !1 00 && 0 0; 0 && 1 0; 1 && 0 0; 1 && 1 1 0 || 0 0; 0 || 1 1; 1 || 0 1; 1 || 1 1

  • (8>6) && (6>4) 1 && 1 , 1

    xy1y0 !(x1 || y

  • 2. . !&&, &&||; . !, , &&||; . !(-, ++), ; .

  • : !!!8 !(!(!8)), 0; 0 || 0 || 4 (0 || 0 ) || 4, 1; !a&&b||c ((!a)&&b)||c; 8>6 && 6>4 (8>6) && (6>4), 1; !x1 || y(r*r)))||(w!=0)

  • 2.4.7 -- ()(),

  • 1. C++6~(, )&(, )|(, )^(, )(, )

    6unsigned char d1=38, d2=44; d1, 38, 00100110; d2, 44, 00101100

  • d1=>38=>00100110d2=>44=>00101100 d1&d236(0010011000101100, 001001001036); d1|d246(001001100010110000101110); d1^d210(001001100010110000001010);

  • d1=>38=>00100110d2=>44=>00101100 d11 19(0010011000010011); ~d1d3intd3217(0010011011011001)

  • #include void main() { unsigned char d1=38, d2=44; cout
  • cout
  • unsigned char d1=38, d2=44;d1=& d2=,int(d1)=38 int(d2)=44---------------------------d1&d2 => 36d1|d2 => 46d1^d2 => 10d1>1 => 19~d1 => -39---------------------------unsigned char d3=~d1;int(d3) => 217---------------------------

  • 1d1&d236d1d2ASCII384436 2cout
  • cout
  • 3 ~d1391~d1d3intd3217

  • 2. 6, ~()()&()^()|() , ; , ; ,

  • 2.4.8 -- C++sizeof()

  • 1. () , 12, 2, 1, 2

  • 2,5 5ab2 a+b+1a*b*2 a*b*28 C++ a=a+2,c=a*b+2,c+2 (a=a+2,c=a*b+2),c+2 , c+2

  • 2. , ? : , ?: 3123 1, 0(), 2; (10), 3

  • x>0?x:-x xs=(a>b)?a:b; if(a>b) s=a; else s=b; C++3(): , ,

  • 3. sizeof sizeof, ()()()sizeof( ) sizeof

  • char c; float f; sizeof(c) sizeof c sizeof(char) 1 sizeof(f) sizeof f sizeof(float) 4sizeof(double) 8

  • sizeof #include void main(){ cout
  • Number of bytes used:char: 1short: 2int: 4long: 4unsigned int: 4float: 4double: 8

  • 4. () (1) 1 () [] -> :: . () -- ;[] -- ();-> -- ();:: -- ;. -- ()

  • (2) 2 & * new delete () & -- 8&, , &; * -- 3*, , *(); new -- ; delete -- ; () -- ,

  • int i=1, j=2, k=3;char ch='B'; double x=1.1; 20/3.0 + --ii20/3+ j++%3 + '0'jx*=i+19 xk++*j++*i++ijk++k*++j*++iijkk=(i=5,j+=ch--,i+j)ijkch

  • #include void main() {int i=1,j=2,k=3; char ch='B'; double x=1.1;cout
  • i=1,j=2,k=3; ch='B'; x=1.1;cout
  • int i=1,j=2,k=3; char ch='B'; double x=1.1;20/3.0 + --i => 6.66667; i=020/3+ j++%3 + '0' => 56; j=3x*=i+19 => 22; x=22k++*j++*i++ => 6; i=2 j=3 k=4++k*++j*++i => 24; i=2 j=3 k=4k=(i=5,j+=ch--,i+j) => 73; i=5 j=68 k=73 ch=A

  • 1. 20/3 20/3.0 2. --i i1 j++ jj1 3. ASCII'0'ASCII48'B'ASCII66

  • 4. x*=i+19 x=x*(i+19); x=x*i+19; 5. k++*j++*i++ ijkijk1 ++k*++j*++i ijk1 6. i=5,j+=ch--,i+j i+j