全國(guó)2014年4月高等教育自學(xué)考試
高級(jí)語(yǔ)言程序設(shè)計(jì)(一)試題
課程代碼:00342
請(qǐng)考生按規(guī)定用筆將所有試題的答案涂、寫在答題紙上。
選擇題部分
注意事項(xiàng):
1. 答題前,考生務(wù)必將自己的考試課程名稱、姓名、準(zhǔn)考證號(hào)用黑色字跡的簽字筆或鋼筆填寫在答題紙規(guī)定的位置上。
2. 每小題選出答案后,用2B鉛筆把答題紙上對(duì)應(yīng)題目的答案標(biāo)號(hào)涂黑。如需改動(dòng),用橡皮擦干凈后,再選涂其他答案標(biāo)號(hào)。不能答在試題卷上。
一、單項(xiàng)選擇題(本大題共15小題,每小題2分,共30分)
在每小題列出的四個(gè)備選項(xiàng)中只有一個(gè)是符合題目要求的,請(qǐng)將其選出并將“答題紙”的相應(yīng)代碼涂黑。錯(cuò)涂、多涂或未涂均無(wú)分。
1.表達(dá)式9%45+15/6*2的值是
A.4 B.5
C.10 D.13
2.設(shè)int a[10];,則數(shù)組a的下標(biāo)正確的使用范圍是
A.0到9 B.0到10
C.-1到9 D.1到10
3.執(zhí)行語(yǔ)句printf("%c",'A'+3);后輸出結(jié)果是
A.3 B.A
C.D D.68
4.設(shè)int ml=60,m2=80,m3=100;,表達(dá)式m3>m2>ml的值是
A.0 B.1
C.60 D.100
5.下列程序段執(zhí)行后,變量n的值是
Static int n;
do {n=n+1;} while(n<1000);
A.1 B.999
C.1000 D.1001
6.設(shè)int a,b,c;,執(zhí)行語(yǔ)句priritf("%d",(a=1,b=2,c=3));后輸出結(jié)果是
A.6 B.3
C.2 D.1
7.設(shè)int n=2;,執(zhí)行語(yǔ)句n+=n-=n-n;后n的值是
A.0 B.2
C.4 D.6
8.設(shè)int a[2][3]={1,2,3,4,5};,數(shù)組元素a[1][1]的值是
A.1 B.2
C.4 D.5
9.設(shè)int a=10,b=20,c=1,d=2;,執(zhí)行語(yǔ)句if(ad&&(c=10)||c==100)d=200;后,c和d的值分別是
A.1和2 B.1和200
C.10和2 D.100和200
10.下列數(shù)組初始化后,元素值不全為0的是
A.int a[5]={0}; B.int a[5]={'0'};
C.static int a[5]; D.int a[5]={0,0,0,0,0};
11.設(shè)int a[]={11,21,31,41,51,61},*p=a;,表達(dá)式*p++的值是
A.11 B.21
C.31 D.41
12.設(shè)
Struct t
{ int a;
float b;
char c[10];
}x[2]={{1,6.6,"Dollar"},{2,9.8,"Pound"}};
則執(zhí)行語(yǔ)句printf("%d,%s",x[1].a,x[1].c);后輸出結(jié)果是
A.1,Dollar B.2,Dollar
C.1,Pound D.2,Pound
13.設(shè)char sl[10]="Better",s2[10]="Life";,執(zhí)行語(yǔ)句printf("%s",strcat(s1,s2));后輸出結(jié)果是
A.LifeBetter B.BetterLife
C.Better D.Life
14.下列程序段的輸出結(jié)果是
int n=6;
while(n>3)
{ n--;
if(n%2==0) continue;
printf("%nd",n);
}
A.13 B.35
C.53 D.654
15.下列程序的輸出結(jié)果是
int a=l;
int f ()
{ int a=2;return a;}
void main()
{printf("%d,%d",a,f());}
A.1,1 B.1,2
C.2,1 D.2,2
非選擇題部分
注意事項(xiàng):
用黑色字跡的簽字筆或鋼筆將答案寫在答題紙上,不能答在試題卷上。
二、填空題(本大題共10小題,每小題2分,共20分)
16.指針變量中存放的是______。
17.設(shè)int a;,從鍵盤輸入數(shù)據(jù)給變量a的輸入語(yǔ)句是______。
18.break語(yǔ)句除可在循環(huán)語(yǔ)句中使用外,還可以用于______。
19.一個(gè)源程序中允許有多個(gè)函數(shù),但必須有且只能有一個(gè)______。
20.設(shè)int m[10],*p;,使指針變量p指向數(shù)組m首元素的語(yǔ)句是______。
21.運(yùn)算符+=、&&、<和!中,優(yōu)先級(jí)低的是______。
22.設(shè)int x=12;,執(zhí)行語(yǔ)句X>>=2;后X的值是______。
24.設(shè)char s[20]="Computer";,則strlen(s)的值是______。
25.表達(dá)式(int)(3.5+1/2)的值是______。
三、程序分析題(本大題共4小題,每小題4分,共16分)
閱讀下列程序,將輸出結(jié)果寫到答題紙上。
26.void main()
{
int k,m;
for(m=3;m<12;m++)
{ for(k=2;k if(m%k==0) break;
if(k==m) printf("%2d",m);
}
}
27.#define N 5
void main()
{
int k, sl=0,s2=0;
for(k=1;k switch(k%4)
{ case1:
case 2:sl+=1;break;
case3:
case0:s2+=1;break;
}
printf("s1=%d,s2=%dn",s1,s2);
}
28.int f(intt)
{
int b;
static int c=3;
b=c+t;
c++;
return b;
}
void main()
{
int i,k;
for(i=1;i<3;i++)
{ k=f(i);
printf("%2d",k);
}
printf("\n");
}
29.int f(int n)
{
if(n=2)return 0;
else return(n+f(n-2));
}
void main()
{
int a=10;
printf("%d\n",f(a));
}
四、程序填充題(本大題共3小題,每小題6分,共18分)
請(qǐng)將下列程序橫線處缺少的部分在答題紙相應(yīng)位置補(bǔ)上,使其能正確運(yùn)行。
30.求a、b和c的大值并輸出。
#include
int f(int x,______) /*第一空*/
{return(______?y∶x);} /*第二空*/
void main()
{
int a=3,b=4,c=5,d;
______=f(f(a,b),f(a,c)); /*第三空*/
printf("%dn",d);
}
#include
void main()
{
float sum;
float fun(int);
______=fun(10); /*第一空*/
printf("sum=%.4f\n",sum);
}
float fun(______n) /*第二空*/
{
int f=1,i;
float m=0;
for(i=1;i<=n;i++)
{ m+=1.0/i*f;
______=-f; /*第三空*/
}
return m;
}
32.將一維數(shù)組逆序存放后輸出。例如int a[3]={1,2,3},逆序存放后int a[3]={3,2,1}。
include
void move(int*p,int n);
void main()
{
int i,n=6,a[6]={1,2,3,4,5,6};
move(a,5);
for(i=0;i }
void move(int*p,int n)
{
______; /*第二空*/
for(k=0;k<=n/2;k++)
{c=p[k];p[k]=p[n-k];______;} /*第三空*/
}
五、程序設(shè)計(jì)題(本大題共2小題,每小題8分,共16分)
33.計(jì)算1到100的平方根,并將結(jié)果保存至二進(jìn)制文件root.dat。
34.從鍵盤輸入10個(gè)整數(shù),由大到小排序后輸出。
高級(jí)語(yǔ)言程序設(shè)計(jì)(一)試題
課程代碼:00342
請(qǐng)考生按規(guī)定用筆將所有試題的答案涂、寫在答題紙上。
選擇題部分
注意事項(xiàng):
1. 答題前,考生務(wù)必將自己的考試課程名稱、姓名、準(zhǔn)考證號(hào)用黑色字跡的簽字筆或鋼筆填寫在答題紙規(guī)定的位置上。
2. 每小題選出答案后,用2B鉛筆把答題紙上對(duì)應(yīng)題目的答案標(biāo)號(hào)涂黑。如需改動(dòng),用橡皮擦干凈后,再選涂其他答案標(biāo)號(hào)。不能答在試題卷上。
一、單項(xiàng)選擇題(本大題共15小題,每小題2分,共30分)
在每小題列出的四個(gè)備選項(xiàng)中只有一個(gè)是符合題目要求的,請(qǐng)將其選出并將“答題紙”的相應(yīng)代碼涂黑。錯(cuò)涂、多涂或未涂均無(wú)分。
1.表達(dá)式9%45+15/6*2的值是
A.4 B.5
C.10 D.13
2.設(shè)int a[10];,則數(shù)組a的下標(biāo)正確的使用范圍是
A.0到9 B.0到10
C.-1到9 D.1到10
3.執(zhí)行語(yǔ)句printf("%c",'A'+3);后輸出結(jié)果是
A.3 B.A
C.D D.68
4.設(shè)int ml=60,m2=80,m3=100;,表達(dá)式m3>m2>ml的值是
A.0 B.1
C.60 D.100
5.下列程序段執(zhí)行后,變量n的值是
Static int n;
do {n=n+1;} while(n<1000);
A.1 B.999
C.1000 D.1001
6.設(shè)int a,b,c;,執(zhí)行語(yǔ)句priritf("%d",(a=1,b=2,c=3));后輸出結(jié)果是
A.6 B.3
C.2 D.1
7.設(shè)int n=2;,執(zhí)行語(yǔ)句n+=n-=n-n;后n的值是
A.0 B.2
C.4 D.6
8.設(shè)int a[2][3]={1,2,3,4,5};,數(shù)組元素a[1][1]的值是
A.1 B.2
C.4 D.5
9.設(shè)int a=10,b=20,c=1,d=2;,執(zhí)行語(yǔ)句if(ad&&(c=10)||c==100)d=200;后,c和d的值分別是
A.1和2 B.1和200
C.10和2 D.100和200
10.下列數(shù)組初始化后,元素值不全為0的是
A.int a[5]={0}; B.int a[5]={'0'};
C.static int a[5]; D.int a[5]={0,0,0,0,0};
11.設(shè)int a[]={11,21,31,41,51,61},*p=a;,表達(dá)式*p++的值是
A.11 B.21
C.31 D.41
12.設(shè)
Struct t
{ int a;
float b;
char c[10];
}x[2]={{1,6.6,"Dollar"},{2,9.8,"Pound"}};
則執(zhí)行語(yǔ)句printf("%d,%s",x[1].a,x[1].c);后輸出結(jié)果是
A.1,Dollar B.2,Dollar
C.1,Pound D.2,Pound
13.設(shè)char sl[10]="Better",s2[10]="Life";,執(zhí)行語(yǔ)句printf("%s",strcat(s1,s2));后輸出結(jié)果是
A.LifeBetter B.BetterLife
C.Better D.Life
14.下列程序段的輸出結(jié)果是
int n=6;
while(n>3)
{ n--;
if(n%2==0) continue;
printf("%nd",n);
}
A.13 B.35
C.53 D.654
15.下列程序的輸出結(jié)果是
int a=l;
int f ()
{ int a=2;return a;}
void main()
{printf("%d,%d",a,f());}
A.1,1 B.1,2
C.2,1 D.2,2
非選擇題部分
注意事項(xiàng):
用黑色字跡的簽字筆或鋼筆將答案寫在答題紙上,不能答在試題卷上。
二、填空題(本大題共10小題,每小題2分,共20分)
16.指針變量中存放的是______。
17.設(shè)int a;,從鍵盤輸入數(shù)據(jù)給變量a的輸入語(yǔ)句是______。
18.break語(yǔ)句除可在循環(huán)語(yǔ)句中使用外,還可以用于______。
19.一個(gè)源程序中允許有多個(gè)函數(shù),但必須有且只能有一個(gè)______。
20.設(shè)int m[10],*p;,使指針變量p指向數(shù)組m首元素的語(yǔ)句是______。
21.運(yùn)算符+=、&&、<和!中,優(yōu)先級(jí)低的是______。
22.設(shè)int x=12;,執(zhí)行語(yǔ)句X>>=2;后X的值是______。
24.設(shè)char s[20]="Computer";,則strlen(s)的值是______。
25.表達(dá)式(int)(3.5+1/2)的值是______。
三、程序分析題(本大題共4小題,每小題4分,共16分)
閱讀下列程序,將輸出結(jié)果寫到答題紙上。
26.void main()
{
int k,m;
for(m=3;m<12;m++)
{ for(k=2;k
if(k==m) printf("%2d",m);
}
}
27.#define N 5
void main()
{
int k, sl=0,s2=0;
for(k=1;k
{ case1:
case 2:sl+=1;break;
case3:
case0:s2+=1;break;
}
printf("s1=%d,s2=%dn",s1,s2);
}
28.int f(intt)
{
int b;
static int c=3;
b=c+t;
c++;
return b;
}
void main()
{
int i,k;
for(i=1;i<3;i++)
{ k=f(i);
printf("%2d",k);
}
printf("\n");
}
29.int f(int n)
{
if(n=2)return 0;
else return(n+f(n-2));
}
void main()
{
int a=10;
printf("%d\n",f(a));
}
四、程序填充題(本大題共3小題,每小題6分,共18分)
請(qǐng)將下列程序橫線處缺少的部分在答題紙相應(yīng)位置補(bǔ)上,使其能正確運(yùn)行。
30.求a、b和c的大值并輸出。
#include
int f(int x,______) /*第一空*/
{return(______?y∶x);} /*第二空*/
void main()
{
int a=3,b=4,c=5,d;
______=f(f(a,b),f(a,c)); /*第三空*/
printf("%dn",d);
}
#include
void main()
{
float sum;
float fun(int);
______=fun(10); /*第一空*/
printf("sum=%.4f\n",sum);
}
float fun(______n) /*第二空*/
{
int f=1,i;
float m=0;
for(i=1;i<=n;i++)
{ m+=1.0/i*f;
______=-f; /*第三空*/
}
return m;
}
32.將一維數(shù)組逆序存放后輸出。例如int a[3]={1,2,3},逆序存放后int a[3]={3,2,1}。
include
void move(int*p,int n);
void main()
{
int i,n=6,a[6]={1,2,3,4,5,6};
move(a,5);
for(i=0;i
void move(int*p,int n)
{
______; /*第二空*/
for(k=0;k<=n/2;k++)
{c=p[k];p[k]=p[n-k];______;} /*第三空*/
}
五、程序設(shè)計(jì)題(本大題共2小題,每小題8分,共16分)
33.計(jì)算1到100的平方根,并將結(jié)果保存至二進(jìn)制文件root.dat。
34.從鍵盤輸入10個(gè)整數(shù),由大到小排序后輸出。