.


:




:

































 

 

 

 


.




, . .

< >( )

declaration. , , . .

:

int fun1(int x, int y, char* c); int fun1(int, int, char*);

 

" " , , , . "" , "-" . , . , .

 

33

- (double, float, int ..). . :

- [ - ];

- [ ];

- .

- . void.

- . - :

- ,

- ,

- , .

, , . - , - .

- , -, - .. , 0.

34

- (char)

:

char ID [N];

ID , N , N .

, char ST[10] 10 , 9 . .

, .

:

char st[10]={'y','e','s','\0'};

6 ;

char st [10]="Yes";

3 '\0'.

char st[]={'y','e','s','\0'};

.

35

, , . - , - .

- , -, - .. , 0.

:

int a[2][3]; /*

a[0][0] a[0][1] a[0][2]

a[1][0] a[1][1] a[1][2] */

double b[10]; /* 10 double */

int w[3][3] = { { 2, 3, 4 },

{ 3, 4, 8 },

{ 1, 0, 9 } };

w[3][3]. , , , .

36

- , .

- , . - , . ().

a[0][0] a[0][1] a[0][2] a[0][3]
a[1][0] a[1][1] a[1][2] a[1][3]
a[2][0] a[2][1] a[2][2] a[2][3]

, , :
= < > * < > * < >
, 1 255, , , 1 , , , 12 (1 * 3 * 4 ) . , : 3 4 12 . . . : a - , - , - .
, : < ;> [1][2]...[N].
: < ;> []. : int a[100]. 100 . . , : a[0], a[2],..., a[99].
: : a[0][0], a[0][1], a[0][2], a[0][3], a[1][0], a[1][1], a[1][2], a[1][3], a[2][0], a[2][1], a[2][2], a[2][3].

36

. , . .

& ,

p = &c;

p c (, p c). & , : . , , .

* . , . , x y int, ip int. , , & *.

int = 1, = 2, z[10];

int *ip; /* ip - int */

 

ip = &x; /* ip x */

y = *ip; /* y 1 */

*ip = 0; /* x 0 */

ip = &z[0]; /* ip z[0] */

x, y z . ip

int *ip;

 

p , p++ p , , p+=i , i - , . - , .

, , . , , . , , , .

int a[10];

a 10, . . 10 a[0], a[1],..., a[9].

a[i] i - . pa int, . .

int *pa;

pa = &a[0];

pa a, , pa a[0].

x = *pa;

a[0] x.

pa , pa+1 , pa+i - i - pa, a pa-i - i - pa. , pa a[0],

*(pa+1)

a[1], a+i - a[i], a *(pa+i) - a[i].

 

37

. main.

:

int a[2][3]; /*

a[0][0] a[0][1] a[0][2]

a[1][0] a[1][1] a[1][2] */

float b[10]; /* 10 double */

int w[3][3] = { { 2, 3, 4 },

{ 3, 4, 8 },

{ 1, 0, 9 } };

 

w[3][3]. , , , .

 

C main: argc argv.

 

:

int main(int argc, char *argv[])

argc integer .

argv char - . . .

argv[0] -

argv[1] -

argv[2] -

argv[argc-1] -

argv[argc] - NULL

38

/ ( printf scanf) stdio .

;
d : int *
i : int *. ( 0 ) ( 0x 0X )
o ( ); int *
u ; unsigned int *
x ( 0x 0X ); int *
c ; char *. ( ) . - ; , -, %1s
s ( ); char *, , '\0',
e, f, g , , ; , , , ; float *
% %,

 

;
d, i int;
o unsigned int; (octal) ( )
x, X unsigned int; ( 0x 0X ), 10...15 abcdef ABCDEF
u unsigned int;
c int;
s char *; , \0, ,
f double; [-]m.dddddd, d ( 6)
e, E double; [-]m.ddddddexx [-]m.ddddddExx, d ( 6)
g, G double; %e %E, , -4, ; %f.
p void *; ( )
% ; %

 

39

, (, , , .) stdio .

fopen :

fp = fopen(name, mode);

- , . . : , . : (read - "r"), (write - "w") (append - "a"), . . . ; "b" (binary - ).

, , - , . , , getc putc. getc ; , .

int getc(FILE *fp);

getc , *fp; EOF.

putc c fp

int putc(int , FILE *fp);

EOF

- . : , ; stdin, stdout stderr; <stdio.h>. stdin , stdout stderr - . getc, putc, stdin stdout getchar putchar :

#define getchar() getc(stdin)

#define putchar(c) putc((c), stdout)

- fscanf fprintf. scanf printf , , -, .

int fscanf(FILE *fp, char *format,...)

int fprintf(FILE *fp, char *format,...)

 

 

40

, string,stdio,stlib .

stdio fgets, getline, .

char *fgets(char *line, int maxline, FILE *fp)

fgets ( ) fp line, MAXLINE-1 . '\0'. fgets line, - NULL. ( getline , , .)

fputs ( ) .

int fputs(char *line, FILE *fp)

EOF, , .

gets puts fgets fputs. , stdin stdout, , gets '\n', a puts .

char *strcpy(s,ct) ct s, '\0'; s
char *strncpy(s,ct,n) n ct s; s. '\0', ct n
char *strcat(s,ct) ct s; s
char *strncat(s,ct,n) n ct s, s '\0'; s
char strcmp(cs,st) cs ct; <0, cs<ct; 0, cs==ct; >0, cs>ct (I.B.: -, int)
char strncmp(cs,ct) n cs ct; <0, cs<ct, 0, cs==ct, >0, cs>ct (I.B.: int )
char *strchr(cs,c) c cs , , NULL
char *strrchr(cs,c) c cs , , NULL
size_t strspn(cs,ct) cs, , ct
size_t strcspn(cs,ct) cs, , ct
char *strpbrk(cs,ct) cs , , ct, , , NULL
char *strstr(cs, ct) ct cs , , NULL
size_t strlen(cs) cs
char * strerror(n) , n
char * strtok(s, ct) strtok s , ct; .

mem... ; - . s t void *; cs ct - const void *; n - size_t; c int, char.

void *memcpy(s,ct, n) n ct s s
void *memmove(s,ct,n) , memcpy, "" .
int memcmp(cs, ct, n) n cs ct; , strcmp
void *memchr(cs, c, n) c cs , n c , NULL
void *memset(s, c, n) c n s s

double strtod(const char *s, char **endp)

strtod s double, -; *endp ( endp NULL), HUGE_VAL , , , , 0; errno ERANGE.

long strtol(const char *s, char **endp, int base)

strtol s long, -; *endp ( endp NULL). base 2 36, , - base. base , 8, 10 16; , 0, , 0x 0X - . 10 base-1 . , 16, 0x 0X. LONG_MAX LONG_MIN ( ), a errno ERANGE.

unsigned long strtoul(const char *s, char **endp, int base)

strtoul , strtol, , unsigned long, - ULONG_MAX.

 

4

 

 





:


: 2017-02-11; !; : 2994 |


:

:

80% - .
==> ...

1770 - | 1622 -


© 2015-2024 lektsii.org - -

: 0.066 .