.


:




:

































 

 

 

 


6.




()

, () () , . , , , .

, .

, .

, .

. . , .. . .

, .

.

. , . , .

, {} . , :

int a10[10] = { 1, 2, 3, 4 }; /* 6 */

 

, :

int a3[] = { 1, 2, 3 }; /* a3[3] */

 

, .27.

( () ), , : char, short, int, long. . . , , :

int N = 10;

int M = 20;

 

float A [N] [M]; // NxM 200

int B [N]; // 10

char C {'A','F',6,5} // 4

 

, , , , :

A[2,3]:=3.14;

A[i,j]:=i*i+j2;

A[i,2]:=A[i1,j+2];

B[j]:=3; B[j+i]:=i+j;

- (, , , character), - '\0'. , "". (.. , '\0') . , , 0 -1. , , .. , '\0' . .8 .

8.

() ( )
Char 1 (8) -128 127
Unsigned char 1 (8) 0 255
Signed char 1 (8) -128 127

 

Char. : unsigned, signed.

. , - .

char [10]; 10 . , char. , , , , , , . printf("%s", ), , .. , . - , printf() , , , . (, ): , .

:

char array[7] = "";

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

 

( ).

- . char *b; b, . b . b ="IBM PC";, . -, , - "IBM PC", ('\0'). -, ( 'I') b. printf("%s", b) , , , .

, .. .

scanf() printf() gets() puts() ( stdio.h).

string , :

gets(string);

 

( <Enter>). :

puts(string);

 

, , string.h.

strcpy(), strcat(), strlen() strcmp().

srcpy() .

, \0. s1.

strcpy(s1, s2); // s2 s1

strncpy(s1, s2,n); // n s2 s1

 

, - s1 , - s2, . n , s2, s1 n.

- , , , :

9 strcpy(s1,&s2[k]); // s2 s1

9 strncpy(s1,&s[2],n); // s2 s1

 

char * strcpy_my (char *s1, char *s2) //

{

char *ptrs1 = s1;

while ((*s1++ = *s2++)!= 0);

return ptrs1;

}

 

, .

strlen(). . .

void main() /* */

{

char str[80];

printf(" : ");

gets(str);

printf("%d", strlen(s));

}

 

() strcat():

strcat(s1,s2); // s2 s1

strncat(s1,s2,n); // n s2 s1

 

, . .

char * strcat_my (char *s1, char *s2) /* */

{

char *p1, *p2;

p1 = s1; p2 = s2;

 

while (*p1!= \0) p1++; // 1- .

// while (*p1) p1++;

 

while ((*p1 = *p2)!= 0)// 2,

{

p1++; //

p2++; //

} // while ((*p1++ = *p2++)!= 0);/*.

 

*1 = \0;

return s1;

}

 

:

strstr(s1,s2); // s2 s1

strchr(s1,c); // s1

strrcgr(s1,c); // s1

strpbrk(s1,s2); // s2 s1

strspn(s1,s2); // ,

// s2 s1

 

strcmp() . . . "A" "F", "" "" ..

, , . . ( ) . , .. - . ASCII "" "" , "" "" .

, , . .

strupr(s) strlwr(s) . , , .

, , . , "" () , "" , , "".

strcmp(s1,s2); // s1 s2

strcmpi(s1,s2); // s1 s2

//

stricmp(s1,s2); // strcmpi

strncmp(s1,s2,k); // k s1 s2

strncmpi(s1,s2,k); // k s1 s2

//

//

strnicmp(s1,s2,k); // strncmpi

 

strcmp() , :

/* "", */

password()

{

char s[80];

printf(" : ");

gets(s);

if(strcmp(s, ""))

{

printf(" \n");

return 0;

}

return 1;

}

 

, , strcmp() "", , ! (NOT), :

main()

{

char s[80];

for('')

{

printf(": ");

gets(s);

if(!strmp("quit", s)) break;

}

}

 

, quit. :

main()

{

char s1[80], s2[80];

gets(s1); gets(s2);

printf(": %c %c\n", strlen(s1), strlen(s2));

if(!strcmp(s1, s2)) printf(" \n");

strcat(s1,s2);

printf("%s\n", s1);

}

 

hello hello, :

: 5 5

Hellohello

 

. & . .

, :

/* */

main()

{

char s[80];

char *p;

int i;

printf(" : ");

gets(s);

/* */

for(i=0; s[i] && s[i]!=` `; i++);

p = &s[i];

printf(p);

}

 

p , , , . p , . , , printf() . p , .

s str, sMyString, strName.

()

(, , , ..). , . , .

struct, , :

struct

{

_1 _1;

_n _n;

};

 

. , .

:

sruct date

{

int day;

int month;

int year;

};

 

, , , :

struct date {...} a, b, c;

 

( ). ; . , :

struct date days;

 

days date.

, .

, :

struct man

{

char name[20], fam[20];

struct date bd;

int age;

};

 

data : day, month, year, (int). man name, fam, bd voz. name[20] fam[20] - 20 . bd ( ) data. age (int). , :

struct man man_[100];

 

man _, 100 man.

, , , :

man_[j].age = 19;

man_[j].bd.day = 24;

man_[j].bd.month = 2

man_[j].bd.year = 1987;

 

, . , man _ man, year .. , , . man_[i]=man_[j]; man_[i] man_[j] , . , .

& . , day:

struct date {int d, m, ;} day;

 

day date, : d, m, .

struct date *db;

 

, db - date.

:

db = &day;

 

d, m, :

(*db).d; (*db).m; (*db).y;

 

, db - , *db - . , , , . >. :

db -> d; db -> m; db -> ;

 

13. , . , (Curs).

struct Student

{

char FIO[20];

int YearBirth;

bool sex;

char Group[20];

float Stipendia;

int Curs;

int SchoolNo;

char SchoolCity[7];

int KruzhokNo[5];

char DiplomTema[50];

char MestoPractiki[50];

} Stud1;

 

switch(Stud1.Curs)

{

case 1: Stud1.SchoolNo = 345;

Stud1.SchoolCity = "";

break;

case 2: Stud1.KruzhokNo[1]:=22;

break;

case 5: Stud1.DiplomTema=" ";

Stud1.MestoPractiki="";

break;

}

 

() , . . ( ) :

enum < > ( );

:

enum seasons (spring, summer, autumn, winter);

enum seasons , b, ;

 

seasons . (, b, c) : spring, summer, autumn winter. :

enum seasons (spring, summer, autumn, winter) a, b, ;

 

:

enum days {mon, tues, wed, thur, fri, sat, sun} my_week;

 

, days ( seasons ), . (mon) , , (tues=1, wed=2 ..).

(, , , , , ). :

enum days (man=5, tues=8, wed=10, thur, fri, sat, sun} my_week;

 

mon=5, tues=8,wed=10, thur=11, fri=12, sat=13, sun=14.

enum true=1 false=0, :

enum t_f (false, true) , b;

 

14. , , , . , .

int i;

char z; /* */

printf("\n :\n");

for(i=0;z!='.';i++)

{

scanf("%c",&z);

if(z=='0'||z=='1'||z=='2'||z=='3'||z=='4')continue;

if(z=='5'||z=='6'||z=='7'||z=='8'||z=='9')continue;

printf("%c",z);

}

, ( ) . . union, . :

union r

{

int ir;

float fr;

char cr;

} z;

 

ir 2 , fr - 4 , cr - 1 . z (.. 4 ). z ir, fr cr.

- , ( , , , ). , , , . , , , ( ). :

< > [< > ] * .

, , ( ). - void, , . , void, . , , , . .

const, near, far, huge. const , . , , . .

near, far, huge.

unsigned int * a; /*

unsigned int ( ) */

 

double * x; /*

*/

 

char * fuffer; /* fuffer

char */

 

double nomer;

void *addres;

addres = & nomer;

(double *)addres ++;

/* addres . (& - ). , , , , . , (double *) addres double, . */

 

const * dr;

/* dr , .. , , , . */

 

unsigned char * const w = &obj.

/* w char unsigned. , w . . */

 

. , int array[25], , array, () , .. , array. arrey , , .

, , :

int arrey[25];

int *ptr;

ptr = array;

 

ptr , ptr = arrey ptr = &arrey[0].

. , , array[16] = 3 array[i+2] = 7. , . , - . , . array[16] 16[array] . , , - , . ptr = array ptr ptr[16] 16[ptr].

*(array+16) = 3 *(array+i+2) = 7. *(array+16) *(16+array).

, .. . array[16] 16[array] *(array+16).

(.. ) array ptr.

*array = 2;

array[0] = 2;

*(array+0) = 2;

*ptr = 2;

ptr[0] = 2;

*(ptr+0) = 2;

 

2, *array=2 *ptr=2, .





:


: 2016-10-22; !; : 2592 |


:

:

, .
==> ...

1487 - | 1310 -


© 2015-2024 lektsii.org - -

: 0.193 .