پایان ترم برنامه نویسی C،فردوسی مشهد،طارقیان 7/4/1383
به نام خدا
اللهم صل علی محمد و آل محمد
نام آزمون: پایان ترم برنامه سازی پیشرفته
نام استاد: دکتر طارقیان
تاريخ برگزاري: 7/4/1383
دانشگاه: فردوسی مشهد
دانشكده: علوم ریاضی
رشته: ریاضی کاربردی
1. با اجرای قطعه برنامه زیر خروجی آن را مشخص کنید :
char z , n=30 , y=1 , j=1;
static char x;
for( ; j-n ;)
{
z = !(x-y);
x ^= ~j / n;
z = !z * j++;
}
printf("\n\t%#08hx\b%#-3ho\b%hd",x ,z ,z);
2. با توجه به تعاریف مقابل ، موارد خواسته شده ی زیر را پاسخ دهید.
struct A{ charf[20];
charl[20]};
struct B { struct A *n;
int b ;
Struct B *q} w , *p ;
الف: به کمک p و w به کلیه ی اعضای ساختار B مقادیر دلخواه تخصیص دهید.
ب: به کمک p دو عضو ساختار A را با یکدیگر مقایسه کرده و نتیجه را گزارش دهید.
پ: به کمک w وجود کارکتر ذخیره شده در خانه پنجم l را در f بررسی و نتیجه را گزارش کنید.
ت: یک لیست تک پیوندی از ساختار B ایجاد کنید.
3. درستی و قابل اجرا بودن دستورهای زیر را با ذکر دلایل مربوطه بررسی کنید.
short xx[]={-23, 8, 41}; static int k=xx[1] ; char gg[7]; short *tt[4];
char *w1 , *w2="prtxyz"; int dd[2][5]; short *r ; register float v;
v=1; *r=z ; r=xx; xx=r; xx[2]=*(r+2); &r=xx ; *w1="0zyxwu"; w2[6]='y' ; gg="]/[=" ; *r/=5; tt[1]=xx; *(*(int)dd+2*5+3)=xx[2] ; tt[0]=&xx[3];
4. الف : دستوراتی بنویسید تا یک کمیت صحیح در سیستم هشت تایی را خوانده و آن را با کمیت 100 مقایسه کند و نتیجه ( بزرگتر ، مساوییا کوچکتر ) را با اجرای تنها یک نوبت تابع printf() به خروجی ببرد.
ب : اگر به ازای دستور scanf("", &i , &x , &c); ورودی های الف : 4 084.32.2Yd و ب : 4048.32 32n را وارد کنیم ، مقادیر ذخیره شده در متغیر ها جه خواهد بود ؟