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