2004年7月高等教育自學(xué)考試
高級(jí)語(yǔ)言程序設(shè)計(jì)(一)試題
課程代碼:00342
一、單項(xiàng)選擇題(本大題共15小題,每小題2分,共30分)
在每小題列出的四個(gè)備選項(xiàng)中只有一個(gè)是符合題目要求的,請(qǐng)將其代碼填寫(xiě)在題后的括號(hào)內(nèi)。錯(cuò)選、多選或未選均無(wú)分。
1.函數(shù)調(diào)用語(yǔ)句“f((e1,e2),(e3,e4,e5))”中參數(shù)的個(gè)數(shù)是( )
A.1 B.2
C.3 D.5
2.不正確的標(biāo)識(shí)符是( )
A._a2 B.2ai
C.a2_i D.INt
3.若int a[3]={1,2,3},*p;則下列賦值語(yǔ)句中正確的是( )
A.p=&a; B.*p=a;
C.*(a+1)=a; D.p=a+1
4. C程序在作邏輯運(yùn)算時(shí)判斷操作數(shù)真、假的表述中,正確的是( )
A.0為假,非0為真 B.只有1為真
C.-1為假,1為真 D.0為真,非0為假
5.若p1、p2都是指向整型的指針,p1已經(jīng)指向數(shù)量x,要使p2也指向x,正確的是(
A.p2=p1; B.p2=**p1;
C.p2=&p1; D.p2=*p1;
6.定義一個(gè)有4個(gè)元素的一維整型數(shù)組,正確的是( )
A.float a[4]; B.int a[]={1,2,3,4,5};
C.int a[]={1,2,3}; D.int a[4]={1}
7.若變量a,b已經(jīng)正確定義并賦值,符合C語(yǔ)言語(yǔ)法的表達(dá)式是( )
A.a2+b B.a*a+b
C.a×a+b D.a·a+b
8.算術(shù)運(yùn)算符,賦值運(yùn)算符和關(guān)系運(yùn)算符的運(yùn)算優(yōu)先級(jí)按從高到低依次為( )
A.算術(shù)運(yùn)算、賦值運(yùn)算、關(guān)系運(yùn)算
B.算術(shù)運(yùn)算、關(guān)系運(yùn)算、賦值運(yùn)算
C.關(guān)系運(yùn)算、賦值運(yùn)算、算術(shù)運(yùn)算
D.關(guān)系運(yùn)算、算術(shù)運(yùn)算、賦值運(yùn)算
9.表達(dá)式strcmp(“3.14”,“3.278”)的值是一個(gè)( )
A.非零整數(shù) B.浮點(diǎn)數(shù)
C.0 D.字符
10.執(zhí)行下列語(yǔ)句printf(“%d”,’a’= =’A’)后輸出為( )
A.1 B.語(yǔ)法錯(cuò)
C.0 D.97
11.若數(shù)組定義為int a [4][5];則下列哪個(gè)表達(dá)式是錯(cuò)誤的?( )
A.*a B.a[1][1]
C.&a[2][3] D.++a
12.若定義char a[80]=“95”,b[]=“windows”;則語(yǔ)句printf(“%s”,strcry(a,b));的輸出結(jié)果為( )
A.windows95 B.windows
C.95 D.95windows
13.求一個(gè)雙精度實(shí)數(shù)的絕對(duì)值,應(yīng)該調(diào)用函數(shù)( )
A.sqrt B.pow
C.abs D.fabs
14.表達(dá)式10%2值是( )
A.0 B.1
C.5 D.5.0
15.若變量已正確定義,表達(dá)式(j=3,j++)的值是( )
A.3 B.4
C.5 D.0
二、判斷題(判斷下列各題,正確的在題后括號(hào)內(nèi)打“√”,錯(cuò)的打“×”。本大題共5小
題,每小題2分,共10分)
16.主函數(shù)可以分為兩個(gè)部分:主函數(shù)說(shuō)明部分和主函數(shù)體。 ( )
17.函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套。 ( )
18.在C語(yǔ)言中,當(dāng)我們定義了數(shù)組int a[5];則數(shù)組元素的下標(biāo)從1到5。 ( )
19.在C語(yǔ)言中,“A”占兩個(gè)字節(jié),而‘A’占一個(gè)字節(jié)。 ( )
20.程序中定義的整型變量的初值都為0。 ( )
三、程序填空題(本大題共2小題,共6個(gè)空格,每空4分,共24分)
請(qǐng)?jiān)诿啃☆}的空格中填上正確答案。錯(cuò)填、不填均無(wú)分。
21.下面程序調(diào)用swap函數(shù)交換a和b的值,并輸出交換后的a和b的值。程序的輸出結(jié)果是:After Call Function Swap 5,9。
#include
void main(){
int x=9,y=5;
printf(“After Call Function Swap %d, %d”,x,y);
}
int temp;
temp=*x;
;
*y=temp; }
22. 輸入一個(gè)正整數(shù)后,輸出該數(shù)的位數(shù)。例如,若輸入3576,則輸出為4,輸入為31678,
則輸出為5。
#include
void main(){
int n,k=0;
scanf(“%d”,);
){
k++;
;
}
printf(“%d\n”,k);}
四、程序分析題(本大題共2小題,每小題8分,共16分)
23.閱讀下列程序段,簡(jiǎn)述其主要功能。
#include
void main()
{
FILE*fpd1, *fpd2;
char ch;
fpd1=fopen(“d1.dat”,“r”);
fpd2=fopen(“d2.dat”,“w”);
while(fscanf(fpd1,“%c”,&ch)!=EOF)
if (ch>=’A’&& ch <=’Z’‖ch>=’a’&& ch<=’z’)
fprintf(fpd2,“%c”,ch);
fclose(fpd1);
fclose(fpd);
}
24.閱讀下列程序段,簡(jiǎn)述其主要功能。
#include
#include
void main()
{
char a[100],b[100],*p,*q;
int m;
gets(a);
scanf(“%d”,&m);
p=a;q=b;
for(p=p+m-1);*p!=’\0’;p++,q++)
*q=*p;
*q=’\0’;
printf(“%s\n”,b);
}
五、程序設(shè)計(jì)題(本大題共2小題,每小題10分,共20分)
25.寫(xiě)一個(gè)程序,讀入一個(gè)3×3的矩陣,輸出它的轉(zhuǎn)置。(注:轉(zhuǎn)置是將原矩陣的行列互換)
26.求出10到100之間的素?cái)?shù)(只能被1和自身整除的數(shù))并以每行一個(gè)素?cái)?shù)的格式順序?qū)懭胛募u.dat。