全國(guó)自學(xué)考試高級(jí)語(yǔ)言程序設(shè)計(jì)(一)真題
課程代碼:00342
一、單項(xiàng)選擇題(本大題共15小題,每小題2分,共30分)
在每小題列出的四個(gè)備選項(xiàng)中只有一個(gè)是符合題目要求的,請(qǐng)將其代碼填寫在題后的括號(hào)內(nèi).錯(cuò)選、多選或未選均無(wú)分.
1. 下列不屬于保留字的是( )
A. default
B. register
C. sruct
D. unsign
2. 下列不能作為常量的是( )
A. 0582
B. 0xa5
C. ’\n’
D. 2.5e-2
3. 設(shè)typedeflong class;,則class是( )
A. 整型變量
B. 長(zhǎng)整型變量
C. 長(zhǎng)整型數(shù)據(jù)類型的新標(biāo)識(shí)符
D. 新的而非長(zhǎng)整型數(shù)據(jù)類型的標(biāo)識(shí)符
4. 設(shè)char c=’A’;int i=l, j;,執(zhí)行j=!c&&i++;后,i和j的值分別是( )
A. 1和0
B. 1和1
C. 2和0
D. 2和l
5. 設(shè)int a;,執(zhí)行表達(dá)式(a=1,2,3),a+1后,a和表達(dá)式的值分別是( )
A. 1和2
B. 2和3
C. 3和4
D. 4和5
6. 下列關(guān)于函數(shù)定義正確的是( )
A. fun(int x,y){int z;return z;}
B. void fun(int x,int y){return x+y;}
C. fun(x,y){int x,y;double z;z=x+y;return z;}
D. double fun(int x,int y) {double z;z=x+y;return z;)
7. 下列用戶自定義標(biāo)識(shí)符正確的是( )
A. 4a
B. b_1
C. -&
D. *p
8. 下列程序段中循環(huán)體執(zhí)行的次數(shù)是( )
int x=-1;
do
{
x=x*x;
}while(! x);
A. 0
B. 1
C. 2
D. 無(wú)限
9. 實(shí)現(xiàn)字符串連接的系統(tǒng)函數(shù)名是( )
A. strcat
B. strcmp
C. strcpy
D. strlen
10. 若實(shí)參是一個(gè)數(shù)組名,在調(diào)用函數(shù)時(shí),實(shí)參向形參傳遞的是( )
A. 數(shù)組的長(zhǎng)度
B. 數(shù)組的首地址
C. 數(shù)組每個(gè)元素的值
D. 數(shù)組每個(gè)元素的地址
11. 設(shè)int a[ ][4]={l,2,3,4,5,6,7};,則a[1][3]的值是( )
A. 0
B. 3
C. 4
D. 7
12. 若定義一個(gè)只限本源文件使用的全局變量,則該變量的存儲(chǔ)類別是( )
A. extern
B. register
C. static
D. auto
13. 設(shè)chark=’a’;float j=2.0;,執(zhí)行k+=5/j;printf("%c", k);后,輸出結(jié)果是( )
A. a
B. b
C. c
D. d
14. 下列程序段正確的是( )
A. char s[ ]={‘xyz’};
scanf(‘‘%s",s);
B. float*p,i;
p=*p+i;
C. char s[5]=‘word’;
puts(s);
D. int a[5]={0},*p=a;
*p=*(p+1);
15. 關(guān)于編譯預(yù)處理命令,敘述正確的是( )
A. 預(yù)處理命令都以"#"開頭
B. 預(yù)處理命令必須位于程序的首部
C. 預(yù)處理命令只能實(shí)現(xiàn)宏定義和條件編譯的功能
D. 每個(gè)程序必須在開頭使用預(yù)處理命令#include<stdio. h>
二、填空題(本大題共10小題,每小題2分,共20分)
請(qǐng)?jiān)诿啃☆}的空格中填上正確答案.錯(cuò)填、不填均無(wú)分.
16. 設(shè)float a,b,c;,若a、b和c分別為三角形的三條邊長(zhǎng),它們"能構(gòu)成等邊三角形"的邏輯表達(dá)式是____________.
17. 設(shè)int i;float f=3.14;,執(zhí)行i=(int)f;后,變量f的值是____________.
l 8. 設(shè)char s[]="\t\’Name\\Address\n";,s的長(zhǎng)度是____________.
19. 執(zhí)行printf("%d\n",3&&2&5);后的結(jié)果是____________.
20. 算術(shù)運(yùn)算符的優(yōu)先級(jí)比關(guān)系運(yùn)算符的優(yōu)先級(jí)____________.
21. 單目運(yùn)算符的結(jié)合性是____________.
22. 設(shè)int x=1,y=3,z;,執(zhí)行z=x>y?++x:y++;后,z的值是____________.
23. 設(shè)int m=3;float n=12.6;char ch=’a’;,若用輸入語(yǔ)句實(shí)現(xiàn)上述三個(gè)變量的初始化結(jié)果且鍵入數(shù)據(jù)形式為:3,12.6a<回車換行>,則scanf語(yǔ)句應(yīng)是____________.
24. 若定義函數(shù)時(shí)類型缺省,則該函數(shù)默認(rèn)的類型是____________.
25. 設(shè)int a[5]={l,3,5,7,9},*p=&a[2];,則++(*p)的值是____________.
三、程序分析題(本大題共4小題,每小題4分,共16分)
閱讀下列程序,將輸出結(jié)果寫到各題右側(cè)的空白處.
26.
void main()
{
int color=2;
switch(color)
{
case l:printf("red\n");break;
case 2:printf("yellow\n");
case 3:printf("blue\n");
}
}
27.
void main()
{
int m,n;
for(m=1;m<=3;m++)
{
for(n=1;n<=2*m-l;n++)printf "*");
printf("\n");
}
}
28.
void main()
{
float x=3.6;
int i;
i=x;
printf(‘x=%5.3f, i=%d\n",x,i);
}
29.
void main()
{
int a[2][3]={{1,2,3},{4,5,6}};
int b[3][2],i,j;
for(i=0;i<=1;i++)
{
for (j=0;j<=2;j++)
{ printf("%5d",a[i][j]);
b[j][i]=a[i][j];
}
printf(‘‘\n");
}
printf("array b:\n");
for (i=0;i<=2;i++)
for (j=0;j<=1;j++)
printf("%5d",b[i][j]);
}
四、程序填充題(本大題共3小題,每小題6分,共18分)
請(qǐng)將下列程序橫線處缺少的部分補(bǔ)上,使其能正確運(yùn)行.
30. 從鍵盤輸入10個(gè)學(xué)生的姓名、性別和成績(jī),計(jì)算并輸出這些學(xué)生的平均成績(jī).
#define N 10
struct student
{
char name [20];
char sex;
int score;
} stu[N];
void main( )
{
int i;
float aver,sum=0;
for(i=0;i<N;i++)
{ scanf("%d,%c%s",_________);/*第一空*/
sum=sum+_________; /*第二空*/
}
aver=___________; /*第三空*/
printf("aver=%6. 2f\n",aver);
}
31. 從鍵盤輸入一串字符(以"?"作為結(jié)束標(biāo)志),保存到文本文件text. txt中.
#include "stdio.h"
void main()
{
FILE _______; /*第一空*/
char ch;
if( (fp=fopen ("text. txt’’,_______) )==NULL) exit(0); /*第二空*/
while( (ch=getchar( ))!=’?’) fpute (ch,_________); /*第三空*/
fclose(fp);
}
32. 用遞歸方法計(jì)算學(xué)生年齡,已知第一位學(xué)生年齡為10歲,其余學(xué)生一個(gè)比一個(gè)大2歲,求第5位學(xué)生的年齡.
遞歸公式如下:
age(n)=
int age(int n)
{
if (n==1) return (________); /*第一空*/
else return(_________); /*第二空*/
}
void main()
{
printf(‘‘%d\n",_________); /*第三空*/
}
五、程序設(shè)計(jì)題(本大題共2小題,每小題8分,共16分)
33. 從鍵盤輸入三個(gè)整數(shù)a、b和c,按照由小到大的順序輸出.
34. (1)編寫一函數(shù),將指針變量pl和p2所指向的整數(shù)值交換.
其中:函數(shù)頭是void swap (int *pl,int *p2)
(2)編寫一個(gè)主程序,從鍵盤輸入兩個(gè)整數(shù),調(diào)用上述函數(shù)實(shí)現(xiàn)兩個(gè)數(shù)據(jù)的交換并輸出.

發(fā)布時(shí)間:2022-11-16 16:41
關(guān)注次數(shù):

