Upload
demetria-mccray
View
113
Download
5
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
:The sum is 18The prod is 45
: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++
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
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)
: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,
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.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)
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---------------------------
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
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
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