點(diǎn)擊查看:2017自學(xué)考試《C語(yǔ)言程序設(shè)計(jì)》考前練習(xí)題匯總
21.下面程序的輸出結(jié)果是____。
#include "stdio.h"
struct str1
{ char c[5];
char *s;
};
main( )
{ struct str1 s1[2]={ {"ABCD""EFGH"},{"IJK","LMN"} };
struct str2
{ struct str1 sr;
int d;
}s2={"OPQ","RST",32767};
struct str1 *p[2];
p[0]=&s1[0];
p[1]=&s1[1];
printf("%s",++p[1]->s); /* ① */
printf("%c",s2.sr.c[2]); /* ② */
}
、 A) LMN B) MN C) N D) IJK
、 A) O B) P C) Q D) R
22.以下程序的輸出結(jié)果是____。
struct st
{ int x,*y;
}*p;
int s[]={10,20,30,40};
struct st a[]={1,&s[0],2,&s[1],3,&s[2],4,&s[3]};
main()
{ p=a;
printf("%d\n",++(*(++p)->y));
}
A) 10 B) 11 C) 20 D) 21
三、程序填空題
在程序填空題中,已經(jīng)給出了程序的主干,讀者首先要理解程序的思路,再選擇正確的內(nèi)容填入空白處,使程序完成既定的功能。這類習(xí)題的設(shè)計(jì)就是要引導(dǎo)讀者逐步掌握編程的方法。本節(jié)習(xí)題的難度適中,可能有些典型的程序在課堂上已經(jīng)有所接觸,讀者一定要獨(dú)立完成它,這樣就可以逐步提高自己的編程能力。
1.下面程序的功能是不用第三個(gè)變量,實(shí)現(xiàn)兩個(gè)數(shù)的對(duì)調(diào)操作。
#include
main()
{ int a,b;
scanf("%d%d",&a,&b);
printf("a=%d,b=%d\n",a,b);
a= ① ;
b= ② ;
a= ③ ;
printf("a=%d,b=%d\n",a,b);
}
2.下面的程序的功能是求一維數(shù)組中的最小元素。
findmin(int *s,int t,int *k)
{ int p;
for(p=0,*k=p;p if(s[p] 、 ; } main() { int a[10],i,*k=&i; for(i=0;i<10;i++) scanf("%d",&a[i]); findmin(a,10,k); printf("%d,%d\n",*k,a[*k]); } 3.下面程序的功能是計(jì)算1-3+5-7+ …… -99+101的值。 main() { int i,t=1,s=0; for(i=1;i<=101;i+=2) { ① ; s=s+t; ② ; } printf("%d\n",s); } 4.下面程序的功能是將形參x的值轉(zhuǎn)換為二進(jìn)制數(shù),所得的二進(jìn)制數(shù)放在一個(gè)一維數(shù)組中返回,二進(jìn)制數(shù)的最低位放在下標(biāo)為0的元素中。 fun(int x,int b[]) { int k=0,r; do { r=x% ① ; b[k++]=r; x/= ② ; }while(x); } 5.下面程序的功能是輸出1到100之間每位數(shù)的乘積大于每位數(shù)的和的數(shù)。例如數(shù)字26,數(shù)位上數(shù)字的乘積12大于數(shù)字之和8。 main() { int n,k=1,s=0,m; for(n=1;n<=100;n++) { k=1; s=0; 、 ; while( ② ) { k*=m%10; s+=m%10; ③ ; } if(k>s) printf("%d",n); } } 自考萬(wàn)題庫(kù)【手機(jī)題庫(kù)下載】丨微信搜索"考試吧自學(xué)考試" 相關(guān)推薦: 2017年自學(xué)考試《大學(xué)語(yǔ)文》練習(xí)題及答案匯總 2017年自學(xué)考試《英語(yǔ)(一)》練習(xí)題匯總 自考萬(wàn)題庫(kù):2017年自學(xué)考試每日一練大匯總