.


:




:

































 

 

 

 


( ,.);




. , . , . . 31 char, unsigned char, float.

: 1) ; 2) .

. , .

#include <stdio.h>

int sumi(int i,...)//

{int *num=&i; // 1-

int sum=0;

for(;i;i--) sum+=*(++num);// 2-

return sum;}

double sumd(int i,double d...)//

{double *ptr=&d; // 2- double

double sum=0.0;

for(;i;i--) // 1-

sum+=*(ptr++);

return sum;}

Void main()

{int a1=10,a2=20,a3=30,s1,s2;

s1=sumi(3,a1,a2,a3); // 3- a1,a2,a3

s2=sumi(6,1,a1,3,a2,a3,4); // 6-

double d1=5.7, d2=1.3,s3;

s3=sumd(4,d1,1.25,d2,2.5); // 4-

printf("s1=%d s2=%d s3=%.2lf\n",s1,s2,s3);}

:

s1=60 s2=68 s3=10.75

. , , .

#include <stdio.h>

#define term 0.0

double mult(double arg...) //

{double a=1.0, *ptr=&arg;

if(*ptr==0.0) return 0.0;

for(;*ptr!=term;ptr++)

a*=*ptr;

return a;}

Void main()

{double a=2.5,b=2.0,md1,md2;

md1=mult(a,b,0.3,term);

md2=mult(0.5,a,4.0,b,1.1,term);

printf("md1=%.2lf md2=%.2lf\n",md1,md2);}

:

md1=1.50 md2=11.00

, , , stdarg.h:

void va_start (va_list param, ) param .

type va_arg (va_list param,type) param type.

va_end (va_list param) ( return).

1.6 main()

main(), , . main() :

[] main(int argc, char **argv){...}

[] main(int argc, char **argv, char **envp){...}

[] main void int.

int argc .

char **argv ‑ , . , . argc. , argv[0], ( .exe).

char **envp ‑ . , .

main. , FAR, NC, VC, DN .

.

#include <stdio.h>

#include <conio.h>

int main(int argc,char**argv,char**envp)

{clrscr();

for(int i=0;i<argc;i++)

printf("argv[%d]=%s\n",i,argv[i]);

Getch();

puts(" ");

while(*envp) puts(*envp++);

Getch();

return 0;}

prog1.exe C:\. , c:\>prog1.exe my age 19, :

argv[0]=C:\PROG1.EXE

argv[1]=my

argv[2]=age

argv[3]=19

PROMPT=$p$g

COMSPEC=C:\WINDOWS\COMMAND.COM

PATH=C:\BC31\BIN

Proccessor_ArcHitecture=x86

Proccessor_identifier=x86 Family 15 Model 47

Proccessor_Level=15

...

.

.

#include <stdio.h>

#include <conio.h>

#include <string.h>

int main(int argc,char **argv)

{clrscr();

char str[]="Secret";

if(strcmp(argv[1],str)!=0)// 2-

{printf("Error\n"); getch(); return 1;}

printf("Programma ");

printf("%s %c.%c.\n",argv[2],argv[3][0],argv[4][0]);

int x, a=5, b=7,res1;

sscanf(argv[5],"%d",&x); //

res1=(a+b)*x; //(5+7)*100

printf("res1=%d\n",res1);

Getch();

return 0;}

prog2.exe C:\. Secret. :

c:\>prog1.exe Secret Petrov Ivan Ivanovich 100:

:

Programma Petrov I.I.

res1=1200

, Error, .

1.7

, , .. .

, .

.

long fact(int k) //

{if(k<0) return 0;

if (k==0} return 1;

return k* fact(k-1);}

Void main()

{int n=5; long F_n=fact(n);

printf (%d!=%ld,n,F_n);}

: 5!=120

k == 0, (1*fact (1-1)), k*(k-1)*(k-2)*(k-3)*(k-4)*1.

(inline- ) , . inline.

Inline- , .. . , .

 

.

inline float mod(float x,float y)//

{return sgrt(x*x+y*y);}

Void main()

{float f1=4.5, f2=-2.5, f3=-1.5,res1,res2;

res1=mod(f1,f2); // 5.1478

//res1=sgrt(f1*f1+f2*f2);

res2=mod(f1,f3); } // 4.743

//res2=sgrt(f1*f1+f3*f3); }

31 inline - : 1) ; 2) for, while, do, switch, goto. , .

. , q. , inline -.

inline void str() //

{char b; if(cin>>b&&b!='q') str();}

1.8 ,

, .

. , . 1.

#include <stdio.h>

int *func(int,int []); //

Void main()

{const N=5;

int *b,arr[N]={3,0,7,0,9}, n=0;

if((b=func(N,arr))!=NULL) //

{n++; *b=1;

printf("*b=%d b=%p\n",*b,b);}

printf(" %d \n",n);}

int *func(int n,int a[]) //

{for (int i=0;i<n;i++)

if(a[i]==0) return &a[i];

return NULL;}

:

*b=1 b=8ff2:0FF2

*b=1 b=8ff2:0FF8

=2

1.9

. . , , , , . , , .

.

#include <string.h>

#include <stdio.h>

struct STUD{char name[20];int age;};

Void f1(STUD a)

{strcpy(a.name,""); // a.name ""

a.age+=1;

printf("%s %d\n",a.name,a.age); } // 20

STUD f2(STUD b,STUD )

{if(b.age>.age) return b;

// , age

return ;}

void f3(STUD *p)

{strcpy(p->name,"");

p->age=21;

printf("%s %d\n", p->name, p->age);} // 21

STUD *f4(STUD *r1,STUD *r2)

{if(r1->age>r2->age) return r1;

// , age

return r2;}

Void main()

{STUD st1={"",19},st2={"",22},st3;

F1(st1);

printf("%s %d\n",st1.name,st1.age);// 19

st3=f2(st1,st2);

printf("%s %d\n",st3.name,st3.age); // 22

STUD st4={"",18},st5={"",25},*pst;

f3(&st4);

printf("%s %d\n",st4.name,st4.age); // 21

pst=f4(&st4,&st5);

printf("%s %d\n",pst->name,pst->age);} // 25

1.10

, .

, , .

( ). , .

.

#include <stdio.h>

int FF(int x,int y) {return x*x+y*y;}

long FF(long x, long y) {return x*x+y*y;}

float FF(float x, float y) {return x*x+y*y;}

Void main()

{int a1=3,a2=4,a3; long b1=20,b2=400,b3;

float d1=5.5,d2=7.5,d3;

a3=FF(a1,a2);

b3=FF(b1,b2);

d3=FF(d1,d2);

printf("a3=%d b3=%ld d3=%.2f\n", a3,b3,d3);}

:

a3=25 b3=160400 d3=86.50

. .

#include <stdio.h>

double mul(double x){return x*x*x;}

double mul(double x,double y){return x*y*y;}

double mul(double x,double y,double z){return x*y*z;}

Void main()

{double M1=mul(0.2);

double M2=mul(0.2,0.4);

double M3=mul(0.2,0.3,0.4);

printf("M1=%.4lf M2=%.4lf M3=%.4lf\n", M1,M2,M3);}

:

M1=0.0080 M2=0.0322 M3=0.0240

, , , .. . , , :





:


: 2016-11-22; !; : 293 |


:

:

, .
==> ...

1517 - | 1418 -


© 2015-2024 lektsii.org - -

: 0.068 .