test_st(новый) / Test_2
.docДонецкий национальный технический университет
Тест №2 Вариант №1
Учебная дисциплина - системное программирование.
Записать результаты работы программ, которые выводятся оператором printf.
Задание 1 (3 балла).
signed *p1;сhar *p2; int x[]={15,-3,7,8};
long y[]={8,21},*p3; char *s="ABC DEF";
p1=(signed *)y;p1+=1;*(p1-1)*=4;
printf("*p1=%d *(p1-1)=%x *(p1+1)=%d\n",*p1,*(p1-1),*(p1+1));
Задание 2 (2 балла).
float z[3][2]={{1,2},{3,4},{5,6}},*p1; int i,j;
p1=(float *)z;p1+=2;*p1=7;p1+=2;*p1=8;
for(i=0;i<3;i++) for(j=0;j<2;j++) printf("%5.1f ",z[i][j]);
Донецкий национальный технический университет
Тест №2 Вариант №2
Учебная дисциплина - системное программирование.
Записать результаты работы программ, которые выводятся оператором printf.
Задание 1 (3 балла).
signed *p1;сhar *p2; int x[]={15,-15,7,8};
long y[]={8,21},*p3; char *s="ABC DEF";
p2=(char*)x;p2+=2;*p2*=-4;
printf("*(p2-2)=%d *p2+5=%c *(p2-1)=%x\n",*(p2-2),*p2+5,*(p2-1));
Задание 2 (2 балла).
float z[3][2]={{1,2},{3,4},{5,6}},*p1; int i,j;
p1=(float *)*(z+2);*p1=8;p1-=2;*p1=9;
for(i=0;i<3;i++) for(j=0;j<2;j++) printf("%5.1f ",z[i][j]);
Донецкий национальный технический университет
Тест №2 Вариант №3
Учебная дисциплина - системное программирование.
Записать результаты работы программ, которые выводятся оператором printf.
Задание 1 (3 балла).
signed *p1;сhar *p2; int x[]={15,-3,7,8};
long y[]={8,21},*p3; char *s="ABC DEF";
p2=(char*)y;*p2+=45;p2+=4;*p2+=32;
printf("*(p2-4)=%c *p2=%c *p2=%d\n",*(p2-4),*p2,*p2);
Задание 2 (2 балла).
float z[3][2]={{1,2},{3,4},{5,6}},*p1; int i,j;
p1=(float *)(*(z+0)+1);*p1=8;p1-=1;*p1=9;
for(i=0;i<3;i++) for(j=0;j<2;j++) printf("%5.1f ",z[i][j]);
Донецкий национальный технический университет
Тест №2 Вариант №4
Учебная дисциплина - системное программирование.
Записать результаты работы программ, которые выводятся оператором printf.
Задание 1 (3 балла).
signed *p1;сhar *p2; int x[]={15,-3,7,8};
long y[]={8,21},*p3; char *s="ABC DEF";
p1=(signed *)(s+1);p1+=1;*p1=48;
printf("*p1=%c *(p1-1)=%x *(p1+1)=%x\n",*p1,*(p1-1),*(p1+1));
Задание 2 (2 балла).
float z[3][2]={{1,2},{3,4},{5,6}},*p1; int i,j;
p1=(float *)(*(z+2)+1);*p1=8;p1-=2;*p1=9;
for(i=0;i<3;i++) for(j=0;j<2;j++) printf("%5.1f ",z[i][j]);