Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Давыдов В.Г. - Программирование и основы алгоритмизации - 2003

.pdf
Скачиваний:
839
Добавлен:
13.08.2013
Размер:
9.55 Mб
Скачать

;

 

 

 

±nt last (

int

j

)

{

 

 

 

st&tic

int

i

= 6; jretixm {" j = - - i ) ;

}

int naw( int 1 )

{

auto int j = 3; JoetvLTni i = j -= 1 ) ;

}

Вариант 17. Что напечатает следующая программа?

^include <stdlo.h>

//Прототипы функций

int

next

(

int

) ;

int

reset

(

void.

) ;

 

 

 

 

 

 

int

last

(

int

) ; int

naw(

int

) ;

 

 

 

 

 

 

int

 

 

 

 

1

= 4/

 

 

 

 

 

 

 

 

 

 

 

 

int

main

(

void

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{

auto

int

 

J, 1/

1

= reset(

 

) ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

£or(

j

= 2;

j

< 4 ;

j++

)

 

 

 

 

 

 

 

 

 

{

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

prlntf(

 

"\nl

=

%d j

=

%d\n",

reset

(

)

,

j

) ;

 

print

f(

"next(

 

1

)

=

%d\n",

next

( 1

)

)

;

 

 

prlntf(

 

"last(

 

1

)

=

%d\n",

last(

1

)

)

;

 

 

prlntfi

 

"naw(

1+j

)

=

%d\n",

naw(

1+j

)

)

;

 

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

return

 

 

0;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

int

reset

( void

 

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

return

 

1++;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

int

next

(

int

j

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

return

 

(

j

= i-- ) ;

 

 

 

 

 

 

 

 

 

 

 

int

last

(

int

j

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

static

 

int

1

=

5;

return(

 

j

= 1++ ) ;

 

 

 

 

 

int

naw(

int

1

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

auto

int

 

j

=

4;

return(

 

1

= j

+= 1

) ;

 

 

 

 

Вариант 18. Что напечатает следующая программа?

^Include <stdlo.h>

//Прототипы функций

int

next

(

int

)

; int

reset

(

void

) ;

int

last

(

int

)

; int

naw(

int

)

;

int

 

 

 

1

= 10;

 

 

 

370

int

main

( void

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{

auto

 

int

 

jr

i/

i =

reset(

 

)

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

fori

 

j

= 2;

j

< 4;

j+ч-

)

 

 

 

 

 

 

 

 

 

 

 

 

{

printf(

 

"\ni

=

%d j

=

%d\n"r

reset

 

(

) ,

 

j

) ;

 

 

 

 

 

 

 

{

 

static

 

int

 

i =

7/ int

 

j

=

10;

 

 

 

 

 

 

 

 

 

 

 

=

 

 

j

)

;

 

 

 

 

prlntf(

 

"\ni

 

=

%d j

%d\n",

 

i-h+,

 

 

}

 

f

(

"next

(

i

)

=

%d\n",

next

 

(

i

)

)

;

 

 

 

print

 

 

 

 

printf(

 

"last(

 

i

)

=

%d\n",

last

 

(

i

)

)

;

;

 

 

printfC

 

"naw(

i-f-j

)

=

%d\n",

naw(

 

i+j

 

)

)

 

}

 

 

0;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

return

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

int

reset

 

(

void

 

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

return(

 

i

+

5

) ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

int

next

( int

j

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

return(

 

j

=

i~-

)

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

int

last

(

int

j

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

static

 

int

1=^1;

return

(

j

=

i-h+ )

/

 

 

 

 

 

 

int

naw(

 

int

i

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

auto

 

int

 

j

=

3;

return(

 

i

=

j

-=

i

)

;

 

 

 

 

Вариант 19. Что напечатает следующая программа?

^include <stdio.h>

//Прототипы функций

int

next

(

int

)

;

int

 

reset

( void

) ;

 

 

 

 

 

 

 

int

last

(

int

)

;

int

 

naw(

int

)

;

 

 

 

 

 

 

 

int

 

 

void

 

i

=

10;

 

 

 

 

 

 

 

 

 

 

 

 

int

main

(

 

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{

auto

int

 

j ,

i;

 

i

=

reset

(

) ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

for(

1

=

2;

j

<

4

;

j-h+

)

 

 

 

 

 

 

 

 

 

 

{

 

 

f (

"\ni

 

=

%d j

=

%d\n",

r e s e t

f

^ ,

 

j

) ;

 

print

 

)

 

printf(

 

"next

 

(

i

)

=

%d\n",

next

(

i

)

;

 

 

printf(

 

"last(

 

 

i

)

=

%d\n",

last

(

i

)

)

;

;

 

printf(

 

"naw(

i+j

)

=

%d\n"r

naw(

 

i+j

 

)

)

 

}

 

0;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

return

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

}

reset

(

void

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

int

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

371

 

return(

 

i

+

5 )

;

 

 

 

 

 

 

±nt

next

(

±nt

j

)

 

 

 

 

 

 

 

 

return

 

(

j

= i-- ) /

 

 

 

 

 

 

±nt

last

(

±nt

j

)

 

 

 

 

 

 

 

 

static

 

 

±nt

i

=

1;

return

(

j

=

i-h+

) ;

int

naw (

 

int

1

)

 

 

 

 

 

 

 

 

 

auto int

 

j

=

3;

return

(

1

=

j -=

1 ) ;

 

Вариант

20. Что напечатает следующая программа?

^Include

 

<stdio.h>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

//

Прото типы

функций

reset

( int

)

;

 

 

 

 

 

 

int

next

(

int

)

;

int

 

 

 

 

 

 

 

 

int

last

(

int

)

;

int

 

 

navj ( int

)

;

 

 

 

 

 

 

 

int

 

 

 

 

 

 

1=3;

 

 

 

 

 

 

 

 

 

 

 

 

 

int

main

(

void

 

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{

auto

int

 

jr

1

= 5;

1

=

reset

(

1/2

)

;

 

 

 

 

 

 

 

 

 

£or(

j

=

6;

 

j

<

8

;

j++

)

 

 

 

 

 

 

 

 

 

 

{

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

prlntf(

 

 

"\nl

 

 

=

%d j

= %d\n'\

1,

j

)

;

 

 

 

prlntf

(

"next

 

(

1

)

=

%d\n"

r

next

(

1

)

)

;

 

prlntf(

 

 

"last(

 

1

)

=

%d\n",

last(

1

)

)

;

 

prlntf

(

"naw(

1+j

)

=

%d\n'\

naw(

1+j

)

) /

 

I

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

return

 

0;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

int

reset(

 

int

 

1

 

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

retuim.

1;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

int

next

(

int

j

 

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

return(

j

=

-~1

 

)

;

 

 

 

 

 

 

 

 

 

 

 

 

int

last

(

int

j

 

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

static

 

int

 

1

 

=

4;

retum(

 

j

=

l + -h )

;

 

 

 

 

int

naw (

int

1

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

auto

int

 

j

 

=

4;

return

(

1

= j

~=

1 )

;

 

 

 

372

п.1.1.9. Массивы и указатели. Варианты тестов

В ответах на приведенные ниже варианты тестов укажите, как будут выглядеть строки, выведенные на экран в результате выпол­ нения программы, приведенной в соответствующем варианте. В от­ вете укажите также местоположение пробелов.

 

Вариант

7. Что напечатает следующая программа?

^include

 

 

<stdlo.h>

]

= { 0 ,

4

, 5 ,

2 ,

3

}

;

±nt

main

(

void

 

Array[

±nt

 

)

 

 

 

 

 

 

 

 

 

{

int

 

 

 

 

Index^

 

^Pointer;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

£or(

 

Index

 

=

0/

Index

<= 4;

Index+=2

 

)

/

 

printf

pr±ntf(

 

"

%3d"r

"^ (Аггауч-Index—;

 

)

 

 

(

"\n"

 

) ;

+ 1;

 

 

 

 

 

 

 

 

Pointer

 

= Array

 

 

 

 

 

 

 

 

£or(

 

Index

 

=

0;

Index

<= 2;

)

 

 

 

 

 

 

 

printf

(

"

%3d" r

Pointer

[

-h + Index

 

]

) ;

 

printf

 

(

"\n"

 

) ;

 

 

 

 

 

 

 

 

 

x-etuxn

0;

 

 

 

 

 

 

 

 

 

 

 

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вариант

2. Что напечатает следующая программа?

^include

 

 

<stdio.h>

]

= { 1,

2,

-7,

4,

 

3

} ;

int

main

(

void

 

Array[

 

int

 

)

 

 

 

 

 

 

 

 

 

(

int

 

 

 

 

Index,

 

^Pointer;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

fori

 

Index

 

=

0;

Index

<= 4;

Index+=2

 

)

 

 

{

printf(

 

"

%3d".

Array[

Index]

) ;

 

 

 

 

 

 

 

 

 

 

}

printf

 

(

"\n"

) ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Pointer

 

=

 

Array+1;

 

 

 

 

 

 

 

 

fojci

 

Index

 

=

0;

Index

<= 2;

++Index

)

 

 

 

{

printf(

 

"

%3d".

Pointer[

 

++Index

 

]

) ;

 

 

 

 

 

 

 

printf

 

(

" \ л "

; /

 

 

 

 

 

 

 

 

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

jretuzm

0;

 

 

 

 

 

 

 

 

 

 

 

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вариант

3. Что напечатает следующая программа?

^include

 

 

<stdio.h>

]

= { 1 ,

4

, 7 ,

2 ,

3

}

;

int

main

(

void

Array[

int

 

)

 

 

 

 

 

 

 

 

 

{

373

Int

Index ^ "^Pointer;

 

 

£or( Index

= 1; Index

<= 4; Index+=1 )

{

 

" %3d"r Array[

 

 

pr±ntf(

+4-IndexJ );

printf(

"\n" ) ;

 

 

 

}

 

 

 

 

 

Pointer

= Array;

 

 

 

£ox: ( Index

= 0; Index

<= 2;

+ + Index

)

{

 

 

 

 

 

printf(

" %3d'\ Pointer[

Index+-h

] );

printf(

"\n" ) ;

 

 

 

)

 

 

 

 

 

return

0;

 

 

 

 

Вариант 4. Что напечатает следующая программа?

^include <stdio,h>

 

 

 

 

int

 

Array[

]

= { Ir 4r 5, 12, 3 } ;

±nt main ( void )

 

 

 

 

{

 

 

 

 

 

 

int

Index,

^Pointer;

 

 

fox:( Index

= 1;

Index <= 4; Index-h=l )

 

{

 

 

 

 

 

 

printfi

" %3d"r

* (Array-hlndex-h-h)

);

printfC

"\n"

) ;

 

 

 

}

 

 

 

 

 

 

Pointer

= Array + 1;

 

 

 

for ( Index

= 0; Index <= 2;

+ + Index )

 

printfi

" %3d"r Pointer[

++Index ]

);

printf(

"\n" ) ;

 

 

 

 

retxirn

0;

 

 

 

 

 

}

Вариант 5. Что напечатает следующая программа?

^include

<stdio.h>

 

 

 

 

int

 

 

Array[

]

= { 0 ,

4 , 5 , 2 , 3

} ;

int main ( void

)

 

 

 

 

{

 

 

 

 

 

 

 

int

 

Index,

"^Pointer;

 

 

for(

Index

= 0; Index

<= 4; Index+=2 )

 

 

printf(

" %3d", * (Array-hlndex++) );

printf(

"\n" ) ;

 

 

 

 

Pointer

= Array + 1;

 

 

 

for(

Index

= 0; Index

<= 3;

Index++ )

 

 

printfi

" %3d". Pointer[

++Index ]

);

printfi

"\n" ) ;

 

 

 

 

return

0;

 

 

 

 

 

374

Вариант 6. Что напечатает следующая программа?

^Include

<std±o.h>

 

 

 

 

 

±nt

 

 

Array[

]

= { 0 г

4 г 5 г 2 ,

3

} ;

±пЬ main ( void

)

 

 

 

 

 

{

 

 

 

 

 

 

 

 

±nt

 

Index,

^Pointer;

 

 

 

£ог(

Index

= 0;

Index

<= 4;

Index-i-=2 )

 

printf(

" %3d"r * (Array+Index-h+) );

 

print f ( "\n" ) ;

 

 

 

 

 

Pointer

= Array

+ 1;

 

 

 

 

£ою( Index

= 0; Index

<= 3;

Index + + )

 

 

printf(

" %3d"r Pointer[

ч-ч-Index

]

) ;

printf

(

"\n" ) ;

 

 

 

 

 

ire turn

0;

 

 

 

 

 

 

}

 

 

 

 

 

 

 

 

Вариант

7. Что напечатает следующая

программа?

^include

<stdio.h>

 

 

 

 

 

 

±nt

 

 

Array[

]

= { 0

,

4 r 5 r 2 ,

3

) ;

int main ( void

)

 

 

 

 

 

 

 

{

 

 

 

 

 

 

,

 

 

 

Int

 

Index,

* Pointer;

 

 

 

for(

Index

= 0;

Index

<= 2;

Index-h=l )

 

printf(

 

" %3d", *(Array+Index++)

);

printf

(

"\л" ) ;

 

 

 

 

 

 

Pointer

= Array;

 

 

 

 

 

£OJ: ( Index

= 0;

Index <= 3;

Index++ )

 

printf(

 

" %3d". Pointer[

-h+Index ]

);

printf

(

"\л" ; ;

 

 

 

 

 

 

return 0;

 

 

 

 

 

 

 

 

}

 

 

 

 

 

 

 

 

 

 

Вариант

8, Что напечатает следующая программа?

^include

<stdio.h>

 

 

 

 

 

 

Int

 

 

Array[

]

= {

0 ,

4 , 5 , 2 r

3

} ;

±nt main ( void

)

 

 

 

 

 

 

 

{

 

 

 

 

 

 

 

 

 

 

Int

 

Index,

^Pointer;

 

 

 

 

for(

Index

= 0;

Index

<= 2;

Index-h=2 )

 

printf

(

" %3d",

* (Array+Index-h+) );

printf

(

"\n"

) ;

 

 

 

 

 

 

Pointer

-

Array;

 

 

 

Index+ч- )

 

 

£or(

Index

= 1;

Index

<= 2;

 

 

printf(

 

" %3d". Pointer[

++Index ]

);

printf

(

"\n"

);

jreturn 0;

 

 

 

 

}

 

 

 

 

 

 

 

 

 

 

Вариант

9, Что напечатает следующая программа?

375

^include

<stdio.h>

 

 

 

 

Int

 

 

Array[

J

= { 0

, 4 , 5 ,

2 , 3 } /

±nt main ( void, )

 

 

 

 

{

 

 

 

 

 

 

 

±nt

 

Index,

'^'Pointer;

 

 

£or(

Index

= 0;

Index

<= 2;

Index+=2 )

 

prlntf(

" %3d"r * (Array-fIndex)

);

printf(

"\n" ) ;

 

 

 

 

Pointer

=

Array;

 

 

 

for(

Index

= 1;

Index

<= 2;

Index++ )

printf(

" %3d"r Pointer[ Index ] );

printf( "\n"

) ;

iretuim 0/

 

}

 

 

Вариант

10. Что напечатает следующая программа?

 

^include

<stdio,h>

 

 

 

 

 

±nt

main(

void

)

 

 

 

 

 

 

 

{

±nt

a[

]

= { 10,

11,

12, 13, 14, 15, 16

}, i,

*p,

 

 

for( p = a,

i

= 0;p

+ 2*i

<= a -h 6; p++, i + + )

 

 

printfi

 

"

%3d",

*( p

+ 2*i ) );

 

 

 

printf(

"\n"

) ;

 

 

 

 

 

 

fori p = a + 5; p >== a + 1; p -= 2 )

 

 

 

printf

(

"

%3d",

*p ) ;

 

 

 

printf(

"\n"

) /

 

 

 

 

 

}

retuzm 0;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вариант

11. Что напечатает следующая программа?

 

^include

<stdio.h>

 

 

 

 

 

±nt main ( void. )

 

 

 

 

 

 

 

{

±nt

a[

]

= { 10,

11,

12, 13, 14, 15, 16

}, i,

*p;

 

 

for( p = a, i = 0; ++p

+ i

<= a + 5; p++, i-h+ )

 

 

printf

(

"

%3d",

*( -h+p + i ) );

 

 

 

printf

( "\n"

) ;

 

 

 

 

 

 

fori p = a + 5/ p >= a + 1; p -= 2 )

 

 

 

printfi

 

"

%3d", *p++ );

 

 

 

printfi

"\n"

) ;

 

 

 

 

 

}

return

0;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вариант

12. Что напечатает следуьрщая программа?

 

^include

<stdio.h>

 

 

 

 

 

±nt

main i void

)

 

 

 

 

 

 

 

{

int

a[

]

= { 10,

 

11,

12, 13, 14, 15 }, i,

*p;

 

 

 

 

376

 

£ою ( р

= а,

± = О; р

+ i <= а + 5;

р+-/-, ±++ )

 

 

 

 

pr±ntf(

 

"

%3d",

*(

++Р + i

) )

;

 

 

 

 

 

printf(

 

"\n"

 

) ;

 

 

 

 

 

 

 

 

 

 

 

 

 

£o:c ( p

^ a + 5;

p

>= a

+ 1;

p--

)

 

 

 

 

 

 

 

printf(

 

"

%3d",

*p)

;

 

 

 

 

 

 

 

printf(

 

"\n"

 

) ;

 

 

 

 

 

 

 

 

 

 

 

 

 

retvLirn

0;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вариант

13.

Что напечатает следующая программа?

 

^include

 

 

<stdio.h>

 

 

 

 

 

 

 

 

 

 

 

 

xnt

main

(

void.

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{

±nt

 

 

 

a[

]

=

{ 10,

11,

12,

13,

14,

15

} ,

i ,

*p;

 

p

 

 

 

for(

= a+2,

i

=

0;

p

+ i

 

<= a

+ 5; p+ + ,

i + + )

 

 

printf

print

f(

"

%3d",

* ( p

-h 1 )

) /

 

 

 

 

 

 

 

(

"\n"

 

) ;

 

 

 

+ l;

p

;

 

 

 

 

 

 

fox:(

p==a

+ 5;p>=a

 

 

 

 

 

 

 

printf

printf

(

"

%3d",

*p ) ;

 

 

 

 

 

 

 

 

(

"\n"

 

) ;

 

 

 

 

 

 

 

 

 

 

 

 

I

return

0;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вариант

14. Что напечатает следующая программа?

 

^include

 

 

<stdio,h>

 

 

 

 

 

 

 

 

 

 

 

 

±пЬ

main

(

void.

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{

Int

 

 

 

a[

]

=

{ 10,

11,

 

12,

13,

14,

15

} ,

i ,

*p;

 

p

==

 

 

fori

a,

 

i

= 0 ; p - h i < = a - h 5 - i ; p+ + ,

i+-h )

 

printf

printf

 

(

"

%3d",

*(

p

+ i + + ) ) ;

 

 

 

 

 

 

(

"\n"

 

) ;

 

 

 

 

 

 

 

 

 

 

 

 

 

£or ( p = a + 5; p >= a ; p~- )

 

 

 

 

 

 

 

 

printf(

 

"

%3d",

*p

; /

 

 

 

 

 

 

 

printf

 

(

"\n"

 

) ;

 

 

 

 

 

 

 

 

 

 

 

 

 

jretujm

0;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вариант

15. Что напечатает следующая программа?

 

^include

 

 

<stdio.h>

 

 

 

 

 

 

 

 

 

 

 

 

Int

main

( void

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{

int

a[

]

^

{

 

15, 11,

10,

13,

14,

10

} ,

i ,

*p;

 

 

 

 

 

 

 

£or ( p

= a,

i

= 0;p-hi<=a

 

+ 5 ~ i ;

p+ +, i + + )

 

 

printf

 

(

"

%3d",

p[

i

]

) ;

 

 

 

 

 

 

 

printf

 

(

"\n"

) ;

 

 

 

 

 

 

 

 

 

 

 

 

 

tor(

p

= a

+ 5;

p

>= a ; p

-= 2

)

 

 

 

 

 

 

 

printf(

 

"

%3d",

*p ) ;

 

 

 

 

 

 

 

 

 

printf

 

(

"\n"

) ;

 

 

 

 

 

 

 

 

 

 

 

 

 

return

0;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ъ11

Вариант 16, Что напечатает следующая программа?

^include <stdio.h>

±nt main ( void )

{

 

 

a[ 3

J[ 3

J

^

{

{

1,

2,

 

3

} ,

 

 

 

 

 

±nt

 

 

5,

Ь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{

 

4,

 

6

} ;

 

 

 

±nt

 

 

*pa[ 3 ] = { a[

1

(

 

7,

8,

2

9 }

1

]

} /

int

1

J,

a[

],

a[

for(

= 0;

1

< 3

;

i++

)

 

1

][

2-i

 

J,

 

 

 

printf(

"%d

%d

%d\n",

 

a[

 

]

)

) ;

jretujrn

0;

*(*(ач-±)

 

 

 

+ ! ) , * (

 

pa

[ 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вариант

17. Что напечатает следующая программа?

^Include

 

<stdio.h>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

±пЬ main(

void

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{

 

 

a[ 3

][

3

]

= {

{

1,

2,

 

3

} ,

 

 

 

 

 

±nt

 

 

 

Ь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{

4, 5,

 

6

 

 

 

 

int

 

 

*pa[

3

] =

{

a[

2

/

7

Й

0

Я )

} '

2

]

} ;

int

i

]\

a]

],

a[

for(

= 0;

i

< 2

;

i++

)

 

i

][

2-i

 

],

 

 

 

printf(

"%d

 

%d

%d\n",

 

a[

a

i ]

)

) ;

return

 

0;

*(*(a

 

+

 

i )

+

i

) ,

*

( p

[

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вариант 18, Что напечатает следующая программа?

^include

 

<stdio.h>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

int

main

(

void

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{

int

 

 

a[ 3

][

3

]

= {

{

1,

2,

 

3

} ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{ 4 , 5 , 6

Ь

 

 

 

 

int

 

 

*pa[

3

] =

{

a[

2

{

7,

8,

9 }

} ;

1

]

} ;

 

int i

],

a[

0

],

a[

 

for(

= 0;

i

< 2

;

i++

)

i

][

2-i

7,

 

 

 

 

printf(

"%d

 

%d

%d\n",

 

a[

i

] )

) ;

 

return

 

0;

*(*(a

 

+

 

i )

+ i

) ,

^

(

p

a [

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вариант

19, Что напечатает следующая программа?

^include

 

<stdio.h>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

int

main

(

void

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{

378

±nt

 

a[

3

] [

3

 

]

==

{

{

Ir

2,

6

3 } г

 

 

 

 

 

 

 

 

 

 

 

 

{

4,

 

5,

Ь

} ;

 

 

 

±nt

 

*pa[

3

]

-

{

a[

{

7,

8,

9

}

1

]

} ;

int

2

],

 

a[

0

],

a[

fo2:(

i =

0/

i

<

2

;

i++

)

1

][

 

2-i

7,

 

 

 

printf(

"%d

%d

+

%d\n"r

 

a[

(

]

) )

/

return

0;

*(*(a

 

 

 

i )

+ l

) , ^

p a

[ l

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вариант

20. Что напечатает следующая программа?

^Include <std±o.h> int main ( void, )

{

±nt

 

a[

3

] [

3

]

-'

{

{ 1,

2,

3

 

} ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(

4,

5,

6

 

; ,

} ;

 

 

 

 

int

 

*pa[3]

 

=

 

{

a

{

7,

8,

9

l

}

[

2

]

} .

 

 

 

[

0

]

,

a

[

]

,

a

£or( int

i

=

2;

i

> 0

;

i

 

;

 

 

 

 

 

 

 

 

 

 

 

 

printf(

"%d

%d

%d\n'\

 

 

a[

i

 

][

2~i

 

],

 

 

 

 

z-etuxn

0;

*(*(a

 

+

 

i

)

+

i

)

,

*

(

p

a

[

i

]

)

)

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

П. 1.1.10. Операции над линейным списком. Работа с динамической памятью. Варианты тестов

Вариант /. Определен следующий структурный тип:

s t r u c t Node

 

//

NODE: узел

линейного

списка

{

*рЫпк/

//

Pointer

LINK:

 

Node

узел

floatt

Info;

//

указатель

на очередной

//

INFOrmation:

информация

} ;

В текстовом файле операционной системы ''TestSAn'' содер­ жится некоторое количество вещественных чисел, разделенных символами пробельной группы ( ' ', '\/', '\«' ).

Написать прототип, определение и пример вызова функции, кото­ рая должна ввести из файла ^'TestS.in" содержащиеся в нем веществен­ ные числа и запомнить их в узлах линейного списка, в котором каждый узел (динамически размещенная в памяти структура) имеет тип Node. При этом первое прочитанное число должно находиться в последнем от начала узле линейного списка, второе число - в предпоследнем узле и т.д.

Все исходные данные (указатель на **имя. расширение** файла ввода) и все результаты работы функции (указатель на начало линейного списка) должны передаваться через список

379