3.1 3.2 3.3 3.4 C 3.5
3.1
3. 2 a=100; b=a+12; : 12 () 3.5 () 123L () 'A' ()
3.2 3.2.1 10123-1230~9200123-01230~730x0X0xffff0x1111-0x12309AFaf
3. int 3276832767int intlong long 2147483648 21474836473276832767l / Llonglong 2147483648 32768 0 32767 2147483647 long int long l Llong
int a, b; a=65538; b=123*456; printf("a=%d, b=%d", a, b); a=2, b=-9448 ()YS
1) a=65538; 65538=(1 0000 0000 0000 0010 )2 a: 162) b=123*456; 123456=56088=( 1101 1011 0001 1000 )2 b: -9448 0000 0000 0000 00201101 1011 0001 1000
long a, b; a=65538; b=123*456; /**/ printf("a=%ld, b=%ld", a, b); a=65538, b=-9448 () long a, b; a=65536; b=123L*456; printf("a=%ld, b=%ld", a, b); a=65536, b=56088 ()
3.2 3.2.2 CC11.240.345.222234.0333.0.02Ee123x1022123E22123e22Eee32.1e3.52.7ee
123.0 0.123 -14.2 0.0 0. .123123123000000012.3108 1230000000.0 () 12.3e+81.23e9123e7 ()
12.3 e+8 e10/ 8(), :
0.9110-300.0000 00910.91e-300.91E-3091e-32 2) 108e+8e8 1.0e81e8
3.2 3.2.3 C()AxD?3X C'\'\
C
\ n\ a\ t\ \\ b\ \ r\
\ ddd8ASCIIddd:13;0 376(254D);\ xhhhh: 12160FE, x/
: A : 'A' '\101' '\x41' 3: '3' '\63' '\x33' : '\'' : '' '\40' '\x20' : '\n' : '\362' '\xf2'ABC123 "ABC""123"
3.2 3.2.4 "string""This is my first program!"CASCII'\0'ASCII0
1) How do you do. 14 123.456 7 a 1 xy x\xf2y 3C:\DOS C:\\DOS 6OK! \OK!\ 5
2) 0010 0000 0000 0000NUL ASCII0 \0
Howdoyoudo.\0
3.2 3.2.5 C#define
3.3 CC MS C8Turbo C32
sumSUMAveragetoalcost_1_1fornum-12a8LABC#1. C SUMsumSum2. MS Cstudent_namestudent_number3. 4. C
1) 2) () int n, m; n=10; m=25;
n 202m 2041025
3) 4) n=10; /**/ n=45; 5) n=10; m=n+2; /**/6)
5101int a=5, b=10, t; t=a; a=b; b=t;
2 a=a+b; /*5+10=15a*/ b=a-b; /*15-10=5 b*/ a=a-b; /*15-5=10a*/10atb55
3.3 3.3.2
intshort int""long int""unsigned intunsigned short""unsigned long ""
Turbo C
int16 bit215 (215 1)32768 32767short int"long intlong32 bit231 (231 1)21474836482147483647unsigned int16 bit 0 (216 1) 0 65535unsigned short"unsigned long 32 bit0 (232 1) 0 4294967295
3.3 3.3.3 Cfloatdouble
float32 bit(10381038)7double64 bit(1030810308)15
float a, b; a=123456.789e5; /**/ b=a+20; /*a*/ printf("%f", b); 12345678848.000000 (7)12345678900.0+20=12345678920.012345678900.037bitdouble a, b;
3.3 3.3.4 char c1, c2c1c2c1='a'c2='b'
char c1, c2 ; c1=A ; c2=c1;:c1:
c1A c1 +65
0 1 0 0 0 0 0 1
3.4.1 1) + / / / / * / % 3.4 C
+-int a, b, c; a=5; b=a-3; /**/ c=-a; /**/2) 5/2 2 -5/3 -1 1/2 0
3) int a, b; a=11%3; /*2 a*/ b=5%a; /*1 b*/: a=11.0%3;
2) C 28+a sin(1.0)*10+y
2) 3) 4)
1++1 ++i 1 i++ 1 i 1 i 1 2
2) ++-- i=3; j= -i++; /* -3j , i: 4 */ 3) /i=3; printf("%d,%d", i, i++); 4, 3 3, 3Turbo CUnix C
3.4 C 5/31double %%7%437%43 + +11
3.4 C 3.4.2
1. = 142. = C
b=20 c=sin(1.0) d=pow(2, b)/2 e=a>b a=(b=5) a=b=c=d=0 c=b=a*2; a=(b=10)/(c=2)
3. int i=10, j; float f; double d; i=i-5; /* 5i */ j=i+3.56; /*8 j */ f=23; /*23.0 f */ d=j+f; /*31.0 d */
main( ) { float x, y ; /*double x, y;*/ x=123.456781234; y=x+0.111111111; printf(X=%f,Y=%f\n, x,y); } X=123.456779, y=123.567894xy x=123.45678123400000,y=123.56789234500000
+ = = * = 14 / = %=
a=a+3 a+=3 x=x%3 x%=3 x=x*(y+8) x*=y+8 a=a*b-3 a*=b-3 a=a*(b-3) a=6; a+=a*=a-1; /*60 a*/
3.4.3 1. () < >= == != 67
2. 12 C 1 0C
if (a10); k=m!=1 c=c+(g>=60) 1) isqrt(c)3) a%2==04) (c=getchar( ))=='#' c=getchar( )=='#'
int a=3, b=2, c=1; char ch1='a';1) b+c!=a 2) ch1b)>(bb>bb==c7) f=a>b>c 0 1 0 1 1 1 0
3.4.4
1. 2 && 11 || 12
2. ! 1 12C 1 00 0
ab!a!ba&&ba||b110011100101011001001100
C1) 1a 8 1 b 10
2) ab (ab)
3) ab00
4) a57(a>=1&&a=1&&b0&&b>0)||(a
Ca&&b&&ca||b||ca=1, b=2, c=3, d=4, m=n=1; (m=a>b) && (n=c>d)
3.4.5 : ? : 13: ? :
e1e2e2e1e3e3
3.4 C 3.4.5
ch=(ch>=A&&ch
23
float x, y; int a=2; scanf(%f, &x); y=x>40 ? a : a*0.9 2.0 1.8
3.4 C 3.4.6 1n12nn
a=3*5, a*4 x=(a=3, 6*3) 18x, a:3 x=a=3, 6*a x:3, 18a=5, b=3, c=a*b forfor(e1; e2; e3) for(i=0, j=10; i
3.4 C 3.4.7 1&2*
3.4 C 3.4.8 sizeof1sizeoftypesizeofint2 sizeofvar_namesizeof var_name
sizeof (int) 2 a=sizeof (double) 8 sizeof (sum) sum sizeof (40+25) 2 sizeof(40.0+25) 8 sizeof(123) 2 sizeof(123L) 4 sizeof(123*456) 2 char c1; int l1, l2; l1=sizeof (c1); l2=sizeof (Hello!) 1;
3.4 C 3.4.9 12 (int)(x+y)x+yint(float)x/yxfloat
3.4 C 3.4.10 C III
3.5 CC
Cmyprg.c
myprg.objobj
myprg.exe() obj I/O
1. putchar putchar( ) / / () # include # include stdio.h
2. getchar getchar( )()ASIIC # include
1 #include stdio.h main( ) { char c; c=getchar( ); putchar(c); putchar(#); putchar(\n); } a a# YS
1) getchar;2#include stdio.h main( ) { printf (15*4=%d\n, 15*4); printf (Press Enter key to continue); getchar( ); /**/ } 15*4=60 Press Enter key to continue YS
2) getchar, 3: #include stdio.h main( ) { char c1, c2, c3; c1=getchar( ); c2=getchar( ); c3=getchar( ); printf (%d,%d,%d, c1, c2, c3); } abcde a 97,98,99 bcd 97,10,98 YS
printf printf ([]) ()
: #include stdio.h main( ) { float f=123.456; int a=25, b=5; printf (\t%d+%d=%d\n, a, b, a+b); printf (\t%d,%f\n, 66, sqrt((float)a) ); } 25+5=30 66,5.000000YS
printf1) 2) 3) 4) 8165) 6) 7) \t\n\b
printf % [] doxucsfeg l m n
816
10816int%d%o%xlong%ld%lo%lx
2)
m < m
int%mdm%mxmlong%mldm
main( )