為大家收集整理了《2014計(jì)算機(jī)二級(jí)考試C語言考前預(yù)測選擇題》供大家參考,希望對(duì)大家有所幫助?。。?BR> 1.結(jié)構(gòu)化分析方法是面向( )的自頂向下、逐步求精進(jìn)行需求分析的方法
A.對(duì)象
B.數(shù)據(jù)結(jié)構(gòu)
C.數(shù)據(jù)流
D.目標(biāo)
2.對(duì)線性表進(jìn)行二分法檢索,其前提條件是( )。
A.線性表以順序方式存儲(chǔ),并按關(guān)鍵碼值排好序
B.線性表以順序方式存儲(chǔ),并按關(guān)鍵碼的檢索頻率排好序
C.線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼值排好序
D.線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼的檢索頻率排好序
3.結(jié)構(gòu)化程序設(shè)計(jì)的3種結(jié)構(gòu)是( )。
A.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu)
B.分支結(jié)構(gòu)、等價(jià)結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
C.多分支結(jié)構(gòu)、賦值結(jié)構(gòu)、等價(jià)結(jié)構(gòu)
D.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
4.已知數(shù)據(jù)表A中每個(gè)元素距其最終位置不遠(yuǎn),為了節(jié)省時(shí)間,應(yīng)采用的算法是( )。
A.堆排序
B.直接插入排序
C.快速排序
D.直接選擇排序
5.在數(shù)據(jù)管理技術(shù)的發(fā)展過程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中數(shù)據(jù)獨(dú)立性的階段是( )。
A.數(shù)據(jù)庫系統(tǒng)
B.文件系統(tǒng)
C.人工管理
D.數(shù)據(jù)項(xiàng)管理
6.設(shè)有如圖所示二叉樹,對(duì)此二叉樹后序遍歷的結(jié)果為( )。
A.ZBTYCPXA
B.ATBZXCYP
C.TZBACYXP
D.ATBZXCPY
7.鏈表不具有的特點(diǎn)是( )。
A.不必事先估計(jì)存儲(chǔ)空間
B.可隨機(jī)訪問任意元素
C.插入、刪除不需要移動(dòng)元素
D.所需空間與線性表長度成正比
8.在數(shù)據(jù)庫設(shè)計(jì)中,將E—R圖轉(zhuǎn)換為關(guān)系模式的過程屬于( )。
A.需求分析階段
B.邏輯設(shè)計(jì)階段
C.概念設(shè)計(jì)階段
D.物理設(shè)計(jì)階段
9.C語言可執(zhí)行程序的開始執(zhí)行點(diǎn)是( )。
A.包含文件中的第一個(gè)函數(shù)
B.程序中第一個(gè)函數(shù)
C.程序中的main()函數(shù)
D.程序中第一條語句
10.在C語言程序中可用做用戶標(biāo)識(shí)符的是( )。
A.void
123
BBN
B.aa
_abc
cas
C.as+b3
-123
If
D.6f
Do
SIG
11.以下所列的C語言常量中,錯(cuò)誤的是( )。
A.0xFF
B.1.2e0.5
C.2L
D.‘72’
12.若變量a、i已正確定義,且i已正確賦值,合法的語句是( )。
A.a==l
B.++i
C.a=a++=5
D.a=int(i)
13.若a為int類型,且其值為3,則執(zhí)行完表達(dá)式a+= a-=a*a后,a的值是( )。
A.一3
B.9
C.一12
D.6
14.若有定義“int a=5,b=7;”,則表達(dá)式a%一(b%2) 運(yùn)算后,a的值為( )。
A.0
B.1
C.11
D.3
15.若執(zhí)行以下程序時(shí)從鍵盤上輸入9,則輸出結(jié)果是( )。
main()
{ int n;
scanf(”%d”,&n);
if(n++<10)printf(”/%d\n”,n);
else printf(”%d\n”,n--);
}
A.11
B.10
C.9
D.8
16.設(shè)a、b、c、d、m、n均為int型變量,且a=5、b=6、c= 7、d=8、m=2、n=2,則邏輯表達(dá)式(m=a>b)&&(n—c> d)運(yùn)算后,n的值是( )n
A.0
B.1
C.2
D.3
17.有如下程序:
main()
{ int x=23;
do
{printf(”%d”,x--);}
while(!x);
}
該程序的執(zhí)行結(jié)果是( )。
A.321
B.23
C.不輸出任何內(nèi)容
D.陷入死循環(huán)
18.下列程序的輸出結(jié)果是( )。
#include
main()
{ int a=2,b=3,P;
p=f(a,b);
printf(”%d”,p);
}
int f(a,b)
{ int c;
if(a>b)c=1;
else if(a==b)c=0;
else c=-l;
return(c);
}
A.-l
B.0
C.1
D.2
19.有下列程序:
fun(int x,int y)
{ static int m=0,i=2;
i+=m+1;m=i+x+y;return m;
}
main()
{ int j=1,m=1,k;
k=fun(j,m);print S(”%d,”,k);
k=fun(j,m);printf(”%d\n”,k);
)
執(zhí)行后的輸出結(jié)果是( )。
A.5,5
B.5,11
C.11,11
D.11,5
20.下列字符數(shù)組初始化語句中,不正確的是( )。
A.char c[]=’900dmornin9’;
B.char c[20]="900dmorning";
C.char c[]={’a’,’b ’,’c ’,’d’);
D.char c[]={"ffgoodmorning"};
21.下列程序的輸出結(jié)果是( )。
#include
void p(int*x)
{ printf("%d¨,++*x);
}
void main()
{ int y=3;
p(&y);
}
A.3
B.4
C.2
D.5
22.若變量e為char類型,能正確判斷出C為小寫字母的表達(dá)式是( )。
A.’a’<=c<=’2’
B.(c>=’a’)||(c<=’2’)
C.(’a’<=c)and(’z’>c)
D.(c>=’a’)&&(c<=’2’)
23.以下程序的輸出結(jié)果是( )。
main()
{ int Rum=0;
while(num<=2)
{ num++;
printf(”%d\n”,num);
}
}
A.1
B.1
C.1
2
3
4
D.1
2 2
3
24.以下函數(shù)返回a所指數(shù)組中最小的值所在的下標(biāo)值:
fun(int*a,int n)
{ int i,j=0,P;
p=j;
for(i=j;i if(a[i] }
在下劃線處應(yīng)填入的是( )。
A.i=P
B.a[p]=a[i]
C.p=j
D.p=i
25.有如下程序段:
int a=14,b=15,x;
char c=’A’;
x=(a&&b)&&(c<’B’):
執(zhí)行該程序后,x的值為( )。
A.true
B.false
C.0
D.1
26.以下程序的輸出結(jié)果是( )。
main()
{ int i,a[4] [4]一{{1,3,5),{2,4,6},{3,5,7}};
printf("%(1%d%d%d\n".a[O][3],a[1][2],a[2]
[1],a[3][0];
}
A.0650
B.1470
C.5430
D.輸出值不定
27.下列程序中函數(shù)sort()的功能是對(duì)數(shù)組a中的數(shù)據(jù)進(jìn)行由大到小的排序。
#include
void sort(int a[],int ll)
{ int i,j,t;
for(i=0;i for(j=j+1+1;j if(a[i] {t=a[i];a[i]=a[j];a[j]=t;
}
}
main()
{ int a[10]一{1,2,3,4,5,6,7,8,9,10},i;
sort(&a[1],7);
for(i=0;i<10;i++)printf("%d,",a[i]);
}
程序運(yùn)行后的輸出結(jié)果是( )。
A.1,2,3,4,5,6,7,8,9,10,
B.10,9,8,7,6,5,4,3,2,1,
C.1,8,7,6,5,4,3,2,9,10,
D.1,2,10,9,8,7,6,5,4,3,
28.下列判斷正確的是( )。
A.char a="ABCD":等價(jià)于char*a;*a="ABCD":
B.char str[10]={"ABCD"}:等價(jià)于char str[10];str []={"ABCD"};
C.char*s="ABCD":等價(jià)于char s;*s="ABCD";
D.char c[5]="ABCD",d[5]="ABCD":等價(jià)于char c [5]-d[5]="ABCD";
29.有如下程序:
main()
{ int n[5]={0,0,0},i,k=2;
for(i=0;i&printf("%d\n",n[k]););
}
該程序的輸出結(jié)果是( )。
A.不確定的值
B.2
C.1
D.0
30.當(dāng)執(zhí)行下面的程序時(shí),如果輸入ABC,則輸出結(jié)罘是( )。
#include
#include
main()
{ char ss[10]="1,2,3,4,5":
gets(ss);strcat(ss,"6789");printf("%s\n",ss);
}
A.ABC6789
B.ABC67
C.12345ABC6
D.ABC456789
31.以下程序的輸出結(jié)果是( )。
#define M(x,y,z)x*y+z
main()
{ int a=l,b=2,c=3;
printf("%d\n",m(a+b.b+c,c+a));
}
A.19
B.1 7
C.15
D.12
32.有以下程序:
main()
{ int k=5,n=0;
do
{ switch(k)
{ case 1:
case 3:n+=l;k--;break;
defalut:n=0;k--;
case 2:
case 4:n+=2;k--;break:
}
printf("%d",n);
}while(k>0&&n<5);
}
程序運(yùn)行后的輸出結(jié)果是( )。
A.235
B.0235
C.02356
D.2356
33.下面for語句的循環(huán)次數(shù)為( )。
for(x=1,y=0;(y!=19)&&(x<6);x++);
A.是無限循環(huán)
B.循環(huán)次數(shù)小定
C.最多執(zhí)行6次
D.最多執(zhí)行5次
34.對(duì)下述程序的判斷中,正確的是( )。
#include
main()
{ char*p,s[256];
p=s ;
while(strcmp(s,"the end"))
{ printf("Input the strin9:");
gets(s);
while(*p)
putchar(*p++);
}}
A.此程序循環(huán)接收字符串并輸出,直到接收到字符串“the end”為止
B.此程序循環(huán)接收字符串,接收到字符串“the end”則輸出,否則程序終止
C.此程序循環(huán)接收字符串并輸出,直到接收字符串“the end”為止,但因?yàn)榇a有錯(cuò)誤,程序不能正常工作
D.此程序循環(huán)接收字符串并將其連接在一起,直到接收字符串“the end”為止,輸出連接在一起的字符串
35.下列程序的輸出結(jié)果是( )。
#include
main()
{ int i,S=0;
for(i=1;i<10;i++)
if(!(i%2)&&!(i%3))s+=i;
printf("%d\n",s);
}
A.4
B.39
C.45
D.6
36.有以下程序:
void fun2(char a,char b) {printf(”%c%c”,a,b); }
char a=’A’,b=’B’;
void funl(){a=’C’;b=’D’;}
main()
{ funl();
printf("%c%c",a,b);
fun2(’E’,’F’);
}
程序的運(yùn)行結(jié)果是( )。
A.CDEF
B.ABEF
C.ABCD
D.CDAB
37.有以下程序:
#include
main()
{ char cl=’1’,c2=’2’;
cl=getchar();c2=getchar();putchar(c1);putcha:
(c2);
}
當(dāng)程序運(yùn)行時(shí)輸入a<回車>后,下列敘述中正確的是( )。
A.變量c1被賦予字符a,c2被賦予回車符
B.程序?qū)⒌却脩糨斎氲?個(gè)字符
c.變量c1被賦予字符a,c2中仍是原有字符2
D.變量c1被賦予字符a,c2中將無確定值
38.下述程序的輸出結(jié)果是( )。
#define N 20
void fun(int a[],int n,int m)
{ int i,j;
for(i=m;i>n;i--)a[i+1]=a[i];
}
main()
{ int i,a[N]={1,2,3,4,5,6,7,8,9,10};
fun(a,2,9);
for(i=0;i<5;i++)printf("%d",a[i]);
}
A.10234
B.12344
C.12334
D.12234
39.若要用函數(shù)fopen打開一個(gè)新的二進(jìn)制文件,該文件要既能讀也能寫,則應(yīng)以( )方式打開文件。
A."wb"
B."wb+"
C."rb+"
D."rb"
40.下列敘述中錯(cuò)誤的是( )。
A.在C語言中,函數(shù)中的自動(dòng)變量可以賦初值,每調(diào)用一次賦一次初值
B.在C語言中,在調(diào)用函數(shù)時(shí),實(shí)參和對(duì)應(yīng)形參在類型上只需賦值兼容
C.在C語言中,外部變量的隱含類型是自動(dòng)存儲(chǔ)類別
D.在C語言中,函數(shù)形參的存儲(chǔ)類型是自動(dòng)(auto)類型的變量
1.C。【解析】結(jié)構(gòu)化分析方法是面向數(shù)據(jù)流進(jìn)行需求分析的方法,采用自頂向下、逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)、流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。
2.A?!窘馕觥繉?duì)線性表進(jìn)行二分法檢索,要求線性表是按順序方式存儲(chǔ)的,并按關(guān)鍵碼值的大小排好序。
3.D?!窘馕觥拷Y(jié)構(gòu)化程序設(shè)計(jì)的主要觀點(diǎn)是采用自頂向下、逐步求精的程序設(shè)計(jì)方法;任何程序都可由順序、選擇和循環(huán)3種基本控制結(jié)構(gòu)構(gòu)造。
4.B?!窘馕觥慨?dāng)數(shù)據(jù)表A中每個(gè)元素距其最終位置不遠(yuǎn),說明數(shù)據(jù)A按關(guān)鍵字值基本有序。在待排序數(shù)據(jù)基本有序的情況下,采用插入排序所用的時(shí)間最少。
5.A。【解析】數(shù)據(jù)庫系統(tǒng)的一個(gè)重要目標(biāo)就是使程序和數(shù)據(jù)真正分離,數(shù)據(jù)蝕立性包括數(shù)據(jù)的物理獨(dú)立性和數(shù)據(jù)的邏輯獨(dú)立性。相對(duì)文件系統(tǒng)人工管理和數(shù)據(jù)項(xiàng)管理,數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)獨(dú)立性大大增加。
6.A?!窘馕觥亢笮虮闅v首先訪問左子樹,然后右子樹,最后根結(jié)點(diǎn),即左右根。故該二叉樹的前序遍歷結(jié)果為“ATBZXCYP”。后序遍歷和中序遍歷的結(jié)果分別為“ZB—TYCPXA”和“TZBACYXP”。
7.B?!窘馕觥挎湵聿捎玫氖擎?zhǔn)酱鎯?chǔ)結(jié)構(gòu),它的結(jié)點(diǎn)空間可以動(dòng)態(tài)申請(qǐng)和釋放;它的數(shù)據(jù)元素的邏輯次序靠結(jié)點(diǎn)的指針來指示,插入、刪除不需要移動(dòng)數(shù)據(jù)元素。但是鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)也有不足之處:每個(gè)結(jié)點(diǎn)中的指針域需額外占用存儲(chǔ)空間,它是一種非隨機(jī)存儲(chǔ)結(jié)構(gòu)。
8.B?!窘馕觥繑?shù)據(jù)唪設(shè)計(jì)階段主要包括需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。邏輯設(shè)計(jì)的主要工作是將E—R圖轉(zhuǎn)換為關(guān)系模式。
9.C?!窘馕觥棵總€(gè)C程序有且只有一個(gè)主函數(shù)main(),且程序必須從main()函數(shù)開始執(zhí)行,并在main()函數(shù)中結(jié)束。
10.B?!窘馕觥縞語言規(guī)定,標(biāo)識(shí)符是由字母、數(shù)字或下劃線組成,并且它的第一個(gè)字符必須是字母或者下劃線,不能使用關(guān)鍵字和數(shù)字,A中void,C中if,D中D0,都屬于關(guān)鍵字。
11.B。【解析】在C語言中,用e來表示科學(xué)計(jì)數(shù)法時(shí),規(guī)定在e后面的數(shù)字必須為整數(shù)。
12.B。【解析】選項(xiàng)A為表達(dá)式,因此不正確,選項(xiàng)C中a++本身就是表達(dá)式,無需再賦值,選項(xiàng)D中,在強(qiáng)制類型轉(zhuǎn)換時(shí),類型名應(yīng)用括號(hào)括起來,故選擇8選項(xiàng)。
13.C?!窘馕觥吭诒磉_(dá)式中,其+=,-=的優(yōu)先級(jí)相同,按從右到左的結(jié)合方向運(yùn)算,而*的優(yōu)先級(jí),表達(dá)式寫成a=a+(a-(a*a)),代入3可得-12。
14.A?!窘馕觥勘绢}考查“%”運(yùn)算符的使用。運(yùn)算符“%”是整數(shù)除法的余數(shù)。本題中表達(dá)式a%=(b%2)等價(jià)于a=a%(b%2)=5%(7%2)=5%1=0。
15.B?!窘馕觥慨?dāng)n為9時(shí),此時(shí)if語句成立,執(zhí)行n+ +后,n為10,因此輸出n的值為10,故選擇B選項(xiàng)。
16.C。【解析】因?yàn)閍>b不成立,故表達(dá)式a>b的值為0,即為0賦給m,因此&&左邊表達(dá)式的值為0,0與任何值&&運(yùn)算都為0,于是不再計(jì)算&&右邊表達(dá)式的值,所以此時(shí)的n仍然為2。
17.B?!窘馕觥勘绢}考查do—while語句,當(dāng)X一23時(shí),執(zhí)行do后的語句,x--的表達(dá)式值為x=x-1,此時(shí)X的值為22,而!X為0,因此while循環(huán)不成立,退出,故選擇B 選項(xiàng)。
18.A?!窘馕觥勘绢}考查if-else語句。if為真則執(zhí)行C =1,if為假則執(zhí)行else中的條件,不符合繼續(xù)執(zhí)行else。
19.B?!窘馕觥孔雍瘮?shù)fun(int x,int y),將變量m和i聲明為局部靜態(tài)變量,因此第l次調(diào)用主函數(shù)后,局部靜態(tài)變量m和i的值為5和3,第l次函數(shù)調(diào)用結(jié)束時(shí),它們的值不釋放保持不變,所以第2次調(diào)用時(shí),局部靜態(tài)變量m和i 的初始值分別為5和3,即在執(zhí)行“i+=m+1”時(shí),i的值為9,因此最終m的值為11。
20.A。【解析】本題考查兩個(gè)概念:①用單引號(hào)括起來的一個(gè)字符常量只能存放一個(gè)字符;②℃語言中沒有字符串變量,只能用字符數(shù)組來存儲(chǔ)字符串。
21.B?!窘馕觥勘绢}考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。在函數(shù)調(diào)用時(shí),形參是指向?qū)崊⒌闹羔樧兞?,則printf的執(zhí)行結(jié)果為++x;x=3,則3+1=4。
22.D。【解析】在判斷小寫字母時(shí),必須判斷在某一范圍內(nèi)成立,因此用與,即&&,即C在a與z之間。
23.B。【解析】當(dāng)num=0時(shí),循環(huán)成立,執(zhí)行num++ 后;num的值為1,因此輸出1,接著返回while中的表達(dá)式;當(dāng)num=1時(shí),循環(huán)成立,執(zhí)行nHm++后,num的值為2,輸出2,再返回while中的表達(dá)式;當(dāng)num=2時(shí),循環(huán)成立,執(zhí)行num++后.nHm的值為3,輸出3,最后返回while中的表達(dá)式,當(dāng)num=3,循環(huán)不成立,退出。
24.D?!窘馕觥縫是存放最小下標(biāo)的變量,而if后的表達(dá)就是實(shí)現(xiàn)這個(gè)}j的的,當(dāng)if成立時(shí),就把小的下標(biāo)放到p 中,故選擇D選項(xiàng)。
25.D。【解析】在C語言中,當(dāng)表達(dá)式成立時(shí)用l表示,不成立時(shí)用0表示,即x=(a&&b)&&(c<’B ’)= (14&&15)&&(’A ’<’B’ )=1&&1=1,故選擇D選項(xiàng)。
26.A?!窘馕觥慨?dāng)所賦的值不夠其列的寬度時(shí),系統(tǒng)在其后自動(dòng)補(bǔ)0,因此a[0][3]=0,a[1][2]=6,a[2][1]=5,a[3][0]=0,故選擇A選項(xiàng)。
27.C?!窘馕觥勘境绦蛑械暮瘮?shù)sort(int a[],int n)實(shí)現(xiàn)的功能是將數(shù)組a中的前n個(gè)數(shù)進(jìn)行從大到小排序。sort (&a[1],7)是將數(shù)組中從a[1]~a[7]這7個(gè)數(shù)進(jìn)行從大到小排序,其他數(shù)不變。
28.D?!窘馕觥縜=“ABCD”書寫錯(cuò)誤,因?yàn)椤?”左邊不能出現(xiàn)常量;數(shù)組名S是代表S數(shù)組首地址常量,而不是變量;字符串只有在定義時(shí)維數(shù)可以省略。
29.D?!窘馕觥勘绢}for循環(huán)中,當(dāng)i=0時(shí),判斷條件i&printf("%d\n",n[k]),此時(shí)i的值是0,輸出n[k]的值也為0,0 &0結(jié)果還是0,條件不成立,退出循環(huán)。所以最后輸出結(jié)果為0。
30.A?!窘馕鰈當(dāng)執(zhí)行g(shù)ets(ss)后,ss數(shù)組中的元素為ABC,再執(zhí)行strcat(ss,"6789"),strcat的作用,是把6789連接到了ss數(shù)組后面,執(zhí)行完后SS數(shù)組為ABC6789,故選擇A選項(xiàng)。
31.D?!窘馕鯥M(a+b,b+C,c+a)=a+b*b+c+c+ a=1+2*2+3+3+1=12,注意x*y+z而不是(x)*(y)+z。
32.B。【解析】本題考查分支語句用法加個(gè)句號(hào)因?yàn)樽兞康某跏贾捣謩e為 k一5、n一0,所以程序第1次進(jìn)入循環(huán)時(shí),執(zhí)行default語句,輸出0,k減1;這時(shí)n=0、k=4,程序進(jìn)行第2次循環(huán),執(zhí)行case 4:這個(gè)分支,結(jié)果是n=2、k=3,打印出2;這時(shí)n =2、k=3,break跳出,程序進(jìn)行第3次循環(huán),執(zhí)行case 3:這個(gè)分支,結(jié)果是n=3、k=2,打印出3;這時(shí)n一3、k 2,b¨ak跳出,程序然后進(jìn)行第4次循環(huán),執(zhí)行case 2:case 4:這個(gè)分支,結(jié)果是n=5、k=1,打印出5,break 跳出,這時(shí)因?yàn)閚=5不滿足n<5的循環(huán)條件,因此循環(huán)結(jié)束。
33.D?!窘馕觥勘绢}考查for循環(huán)的使用。根據(jù)條件考慮x的取值變化,x從1取到5,可以循環(huán)5次,但并不知道y是如何變化的,有可能出現(xiàn)y=19提前跳出循環(huán)的情況,所以是最多執(zhí)行5次。
34.C?!窘馕觥客獠孔兞吭诰幾g時(shí)由系統(tǒng)分配永久的內(nèi)存空間,所以外部變量的類型不是自動(dòng)存儲(chǔ)類別。
35.D。【解析】if語句的條件是當(dāng)i既是3的倍數(shù)又是2的倍數(shù)時(shí)成立,所以此程序?qū)崿F(xiàn)的功能是將10以內(nèi)既是3 的倍數(shù)又是2的倍數(shù)的數(shù)相加。
36.A。【解析】在函數(shù)funl()之前定義了全局字符變量a和b。這兩個(gè)變量的作用域是從其定義處開始到整個(gè)程序末結(jié)束。在函數(shù)funl()之內(nèi)定義了兩個(gè)變量a和b,并且分別初始化為字符’C ’和’D ’。
37.A?!窘馕觥勘绢}考查getchar()函數(shù),從終端讀入一個(gè)字符作為函數(shù)值。在輸入時(shí),空格、回車符都將作為字符讀入,而且只有在用戶敲入回車鍵時(shí),讀入才開始執(zhí)行。所以當(dāng)輸入a<回車>后,變量c1被賦予字符a,而變量c2被賦予回車符。
38.B?!窘馕觥亢瘮?shù)fun()的功能是從數(shù)組a中依次將當(dāng)前值賦給一個(gè)元素,所以當(dāng)函數(shù)fun(a,2,9)執(zhí)行后,數(shù)組a[]={1,2,3,4,4,5,6,7,8,9,10)。
39.B?!窘馕觥勘绢}考查文件使用方式標(biāo)識(shí)符。方式“wb”為輸出打開一個(gè)二進(jìn)制文件;方式“wb+”為讀寫建立一個(gè)新的二進(jìn)制文件;方式“rb+”為讀寫打開一個(gè)二進(jìn)制文件;方式“rb”為輸入打開一個(gè)二進(jìn)制文件。
40.A。【解析】如果是static修飾的靜態(tài)變量,不是每次調(diào)用賦初值。
A.對(duì)象
B.數(shù)據(jù)結(jié)構(gòu)
C.數(shù)據(jù)流
D.目標(biāo)
2.對(duì)線性表進(jìn)行二分法檢索,其前提條件是( )。
A.線性表以順序方式存儲(chǔ),并按關(guān)鍵碼值排好序
B.線性表以順序方式存儲(chǔ),并按關(guān)鍵碼的檢索頻率排好序
C.線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼值排好序
D.線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼的檢索頻率排好序
3.結(jié)構(gòu)化程序設(shè)計(jì)的3種結(jié)構(gòu)是( )。
A.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu)
B.分支結(jié)構(gòu)、等價(jià)結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
C.多分支結(jié)構(gòu)、賦值結(jié)構(gòu)、等價(jià)結(jié)構(gòu)
D.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
4.已知數(shù)據(jù)表A中每個(gè)元素距其最終位置不遠(yuǎn),為了節(jié)省時(shí)間,應(yīng)采用的算法是( )。
A.堆排序
B.直接插入排序
C.快速排序
D.直接選擇排序
5.在數(shù)據(jù)管理技術(shù)的發(fā)展過程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中數(shù)據(jù)獨(dú)立性的階段是( )。
A.數(shù)據(jù)庫系統(tǒng)
B.文件系統(tǒng)
C.人工管理
D.數(shù)據(jù)項(xiàng)管理
6.設(shè)有如圖所示二叉樹,對(duì)此二叉樹后序遍歷的結(jié)果為( )。
A.ZBTYCPXA
B.ATBZXCYP
C.TZBACYXP
D.ATBZXCPY
7.鏈表不具有的特點(diǎn)是( )。
A.不必事先估計(jì)存儲(chǔ)空間
B.可隨機(jī)訪問任意元素
C.插入、刪除不需要移動(dòng)元素
D.所需空間與線性表長度成正比
8.在數(shù)據(jù)庫設(shè)計(jì)中,將E—R圖轉(zhuǎn)換為關(guān)系模式的過程屬于( )。
A.需求分析階段
B.邏輯設(shè)計(jì)階段
C.概念設(shè)計(jì)階段
D.物理設(shè)計(jì)階段
9.C語言可執(zhí)行程序的開始執(zhí)行點(diǎn)是( )。
A.包含文件中的第一個(gè)函數(shù)
B.程序中第一個(gè)函數(shù)
C.程序中的main()函數(shù)
D.程序中第一條語句
10.在C語言程序中可用做用戶標(biāo)識(shí)符的是( )。
A.void
123
BBN
B.aa
_abc
cas
C.as+b3
-123
If
D.6f
Do
SIG
11.以下所列的C語言常量中,錯(cuò)誤的是( )。
A.0xFF
B.1.2e0.5
C.2L
D.‘72’
12.若變量a、i已正確定義,且i已正確賦值,合法的語句是( )。
A.a==l
B.++i
C.a=a++=5
D.a=int(i)
13.若a為int類型,且其值為3,則執(zhí)行完表達(dá)式a+= a-=a*a后,a的值是( )。
A.一3
B.9
C.一12
D.6
14.若有定義“int a=5,b=7;”,則表達(dá)式a%一(b%2) 運(yùn)算后,a的值為( )。
A.0
B.1
C.11
D.3
15.若執(zhí)行以下程序時(shí)從鍵盤上輸入9,則輸出結(jié)果是( )。
main()
{ int n;
scanf(”%d”,&n);
if(n++<10)printf(”/%d\n”,n);
else printf(”%d\n”,n--);
}
A.11
B.10
C.9
D.8
16.設(shè)a、b、c、d、m、n均為int型變量,且a=5、b=6、c= 7、d=8、m=2、n=2,則邏輯表達(dá)式(m=a>b)&&(n—c> d)運(yùn)算后,n的值是( )n
A.0
B.1
C.2
D.3
17.有如下程序:
main()
{ int x=23;
do
{printf(”%d”,x--);}
while(!x);
}
該程序的執(zhí)行結(jié)果是( )。
A.321
B.23
C.不輸出任何內(nèi)容
D.陷入死循環(huán)
18.下列程序的輸出結(jié)果是( )。
#include
main()
{ int a=2,b=3,P;
p=f(a,b);
printf(”%d”,p);
}
int f(a,b)
{ int c;
if(a>b)c=1;
else if(a==b)c=0;
else c=-l;
return(c);
}
A.-l
B.0
C.1
D.2
19.有下列程序:
fun(int x,int y)
{ static int m=0,i=2;
i+=m+1;m=i+x+y;return m;
}
main()
{ int j=1,m=1,k;
k=fun(j,m);print S(”%d,”,k);
k=fun(j,m);printf(”%d\n”,k);
)
執(zhí)行后的輸出結(jié)果是( )。
A.5,5
B.5,11
C.11,11
D.11,5
20.下列字符數(shù)組初始化語句中,不正確的是( )。
A.char c[]=’900dmornin9’;
B.char c[20]="900dmorning";
C.char c[]={’a’,’b ’,’c ’,’d’);
D.char c[]={"ffgoodmorning"};
21.下列程序的輸出結(jié)果是( )。
#include
void p(int*x)
{ printf("%d¨,++*x);
}
void main()
{ int y=3;
p(&y);
}
A.3
B.4
C.2
D.5
22.若變量e為char類型,能正確判斷出C為小寫字母的表達(dá)式是( )。
A.’a’<=c<=’2’
B.(c>=’a’)||(c<=’2’)
C.(’a’<=c)and(’z’>c)
D.(c>=’a’)&&(c<=’2’)
23.以下程序的輸出結(jié)果是( )。
main()
{ int Rum=0;
while(num<=2)
{ num++;
printf(”%d\n”,num);
}
}
A.1
B.1
C.1
2
3
4
D.1
2 2
3
24.以下函數(shù)返回a所指數(shù)組中最小的值所在的下標(biāo)值:
fun(int*a,int n)
{ int i,j=0,P;
p=j;
for(i=j;i if(a[i] }
在下劃線處應(yīng)填入的是( )。
A.i=P
B.a[p]=a[i]
C.p=j
D.p=i
25.有如下程序段:
int a=14,b=15,x;
char c=’A’;
x=(a&&b)&&(c<’B’):
執(zhí)行該程序后,x的值為( )。
A.true
B.false
C.0
D.1
26.以下程序的輸出結(jié)果是( )。
main()
{ int i,a[4] [4]一{{1,3,5),{2,4,6},{3,5,7}};
printf("%(1%d%d%d\n".a[O][3],a[1][2],a[2]
[1],a[3][0];
}
A.0650
B.1470
C.5430
D.輸出值不定
27.下列程序中函數(shù)sort()的功能是對(duì)數(shù)組a中的數(shù)據(jù)進(jìn)行由大到小的排序。
#include
void sort(int a[],int ll)
{ int i,j,t;
for(i=0;i for(j=j+1+1;j if(a[i] {t=a[i];a[i]=a[j];a[j]=t;
}
}
main()
{ int a[10]一{1,2,3,4,5,6,7,8,9,10},i;
sort(&a[1],7);
for(i=0;i<10;i++)printf("%d,",a[i]);
}
程序運(yùn)行后的輸出結(jié)果是( )。
A.1,2,3,4,5,6,7,8,9,10,
B.10,9,8,7,6,5,4,3,2,1,
C.1,8,7,6,5,4,3,2,9,10,
D.1,2,10,9,8,7,6,5,4,3,
28.下列判斷正確的是( )。
A.char a="ABCD":等價(jià)于char*a;*a="ABCD":
B.char str[10]={"ABCD"}:等價(jià)于char str[10];str []={"ABCD"};
C.char*s="ABCD":等價(jià)于char s;*s="ABCD";
D.char c[5]="ABCD",d[5]="ABCD":等價(jià)于char c [5]-d[5]="ABCD";
29.有如下程序:
main()
{ int n[5]={0,0,0},i,k=2;
for(i=0;i&printf("%d\n",n[k]););
}
該程序的輸出結(jié)果是( )。
A.不確定的值
B.2
C.1
D.0
30.當(dāng)執(zhí)行下面的程序時(shí),如果輸入ABC,則輸出結(jié)罘是( )。
#include
#include
main()
{ char ss[10]="1,2,3,4,5":
gets(ss);strcat(ss,"6789");printf("%s\n",ss);
}
A.ABC6789
B.ABC67
C.12345ABC6
D.ABC456789
31.以下程序的輸出結(jié)果是( )。
#define M(x,y,z)x*y+z
main()
{ int a=l,b=2,c=3;
printf("%d\n",m(a+b.b+c,c+a));
}
A.19
B.1 7
C.15
D.12
32.有以下程序:
main()
{ int k=5,n=0;
do
{ switch(k)
{ case 1:
case 3:n+=l;k--;break;
defalut:n=0;k--;
case 2:
case 4:n+=2;k--;break:
}
printf("%d",n);
}while(k>0&&n<5);
}
程序運(yùn)行后的輸出結(jié)果是( )。
A.235
B.0235
C.02356
D.2356
33.下面for語句的循環(huán)次數(shù)為( )。
for(x=1,y=0;(y!=19)&&(x<6);x++);
A.是無限循環(huán)
B.循環(huán)次數(shù)小定
C.最多執(zhí)行6次
D.最多執(zhí)行5次
34.對(duì)下述程序的判斷中,正確的是( )。
#include
main()
{ char*p,s[256];
p=s ;
while(strcmp(s,"the end"))
{ printf("Input the strin9:");
gets(s);
while(*p)
putchar(*p++);
}}
A.此程序循環(huán)接收字符串并輸出,直到接收到字符串“the end”為止
B.此程序循環(huán)接收字符串,接收到字符串“the end”則輸出,否則程序終止
C.此程序循環(huán)接收字符串并輸出,直到接收字符串“the end”為止,但因?yàn)榇a有錯(cuò)誤,程序不能正常工作
D.此程序循環(huán)接收字符串并將其連接在一起,直到接收字符串“the end”為止,輸出連接在一起的字符串
35.下列程序的輸出結(jié)果是( )。
#include
main()
{ int i,S=0;
for(i=1;i<10;i++)
if(!(i%2)&&!(i%3))s+=i;
printf("%d\n",s);
}
A.4
B.39
C.45
D.6
36.有以下程序:
void fun2(char a,char b) {printf(”%c%c”,a,b); }
char a=’A’,b=’B’;
void funl(){a=’C’;b=’D’;}
main()
{ funl();
printf("%c%c",a,b);
fun2(’E’,’F’);
}
程序的運(yùn)行結(jié)果是( )。
A.CDEF
B.ABEF
C.ABCD
D.CDAB
37.有以下程序:
#include
main()
{ char cl=’1’,c2=’2’;
cl=getchar();c2=getchar();putchar(c1);putcha:
(c2);
}
當(dāng)程序運(yùn)行時(shí)輸入a<回車>后,下列敘述中正確的是( )。
A.變量c1被賦予字符a,c2被賦予回車符
B.程序?qū)⒌却脩糨斎氲?個(gè)字符
c.變量c1被賦予字符a,c2中仍是原有字符2
D.變量c1被賦予字符a,c2中將無確定值
38.下述程序的輸出結(jié)果是( )。
#define N 20
void fun(int a[],int n,int m)
{ int i,j;
for(i=m;i>n;i--)a[i+1]=a[i];
}
main()
{ int i,a[N]={1,2,3,4,5,6,7,8,9,10};
fun(a,2,9);
for(i=0;i<5;i++)printf("%d",a[i]);
}
A.10234
B.12344
C.12334
D.12234
39.若要用函數(shù)fopen打開一個(gè)新的二進(jìn)制文件,該文件要既能讀也能寫,則應(yīng)以( )方式打開文件。
A."wb"
B."wb+"
C."rb+"
D."rb"
40.下列敘述中錯(cuò)誤的是( )。
A.在C語言中,函數(shù)中的自動(dòng)變量可以賦初值,每調(diào)用一次賦一次初值
B.在C語言中,在調(diào)用函數(shù)時(shí),實(shí)參和對(duì)應(yīng)形參在類型上只需賦值兼容
C.在C語言中,外部變量的隱含類型是自動(dòng)存儲(chǔ)類別
D.在C語言中,函數(shù)形參的存儲(chǔ)類型是自動(dòng)(auto)類型的變量
1.C。【解析】結(jié)構(gòu)化分析方法是面向數(shù)據(jù)流進(jìn)行需求分析的方法,采用自頂向下、逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)、流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。
2.A?!窘馕觥繉?duì)線性表進(jìn)行二分法檢索,要求線性表是按順序方式存儲(chǔ)的,并按關(guān)鍵碼值的大小排好序。
3.D?!窘馕觥拷Y(jié)構(gòu)化程序設(shè)計(jì)的主要觀點(diǎn)是采用自頂向下、逐步求精的程序設(shè)計(jì)方法;任何程序都可由順序、選擇和循環(huán)3種基本控制結(jié)構(gòu)構(gòu)造。
4.B?!窘馕觥慨?dāng)數(shù)據(jù)表A中每個(gè)元素距其最終位置不遠(yuǎn),說明數(shù)據(jù)A按關(guān)鍵字值基本有序。在待排序數(shù)據(jù)基本有序的情況下,采用插入排序所用的時(shí)間最少。
5.A。【解析】數(shù)據(jù)庫系統(tǒng)的一個(gè)重要目標(biāo)就是使程序和數(shù)據(jù)真正分離,數(shù)據(jù)蝕立性包括數(shù)據(jù)的物理獨(dú)立性和數(shù)據(jù)的邏輯獨(dú)立性。相對(duì)文件系統(tǒng)人工管理和數(shù)據(jù)項(xiàng)管理,數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)獨(dú)立性大大增加。
6.A?!窘馕觥亢笮虮闅v首先訪問左子樹,然后右子樹,最后根結(jié)點(diǎn),即左右根。故該二叉樹的前序遍歷結(jié)果為“ATBZXCYP”。后序遍歷和中序遍歷的結(jié)果分別為“ZB—TYCPXA”和“TZBACYXP”。
7.B?!窘馕觥挎湵聿捎玫氖擎?zhǔn)酱鎯?chǔ)結(jié)構(gòu),它的結(jié)點(diǎn)空間可以動(dòng)態(tài)申請(qǐng)和釋放;它的數(shù)據(jù)元素的邏輯次序靠結(jié)點(diǎn)的指針來指示,插入、刪除不需要移動(dòng)數(shù)據(jù)元素。但是鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)也有不足之處:每個(gè)結(jié)點(diǎn)中的指針域需額外占用存儲(chǔ)空間,它是一種非隨機(jī)存儲(chǔ)結(jié)構(gòu)。
8.B?!窘馕觥繑?shù)據(jù)唪設(shè)計(jì)階段主要包括需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。邏輯設(shè)計(jì)的主要工作是將E—R圖轉(zhuǎn)換為關(guān)系模式。
9.C?!窘馕觥棵總€(gè)C程序有且只有一個(gè)主函數(shù)main(),且程序必須從main()函數(shù)開始執(zhí)行,并在main()函數(shù)中結(jié)束。
10.B?!窘馕觥縞語言規(guī)定,標(biāo)識(shí)符是由字母、數(shù)字或下劃線組成,并且它的第一個(gè)字符必須是字母或者下劃線,不能使用關(guān)鍵字和數(shù)字,A中void,C中if,D中D0,都屬于關(guān)鍵字。
11.B。【解析】在C語言中,用e來表示科學(xué)計(jì)數(shù)法時(shí),規(guī)定在e后面的數(shù)字必須為整數(shù)。
12.B。【解析】選項(xiàng)A為表達(dá)式,因此不正確,選項(xiàng)C中a++本身就是表達(dá)式,無需再賦值,選項(xiàng)D中,在強(qiáng)制類型轉(zhuǎn)換時(shí),類型名應(yīng)用括號(hào)括起來,故選擇8選項(xiàng)。
13.C?!窘馕觥吭诒磉_(dá)式中,其+=,-=的優(yōu)先級(jí)相同,按從右到左的結(jié)合方向運(yùn)算,而*的優(yōu)先級(jí),表達(dá)式寫成a=a+(a-(a*a)),代入3可得-12。
14.A?!窘馕觥勘绢}考查“%”運(yùn)算符的使用。運(yùn)算符“%”是整數(shù)除法的余數(shù)。本題中表達(dá)式a%=(b%2)等價(jià)于a=a%(b%2)=5%(7%2)=5%1=0。
15.B?!窘馕觥慨?dāng)n為9時(shí),此時(shí)if語句成立,執(zhí)行n+ +后,n為10,因此輸出n的值為10,故選擇B選項(xiàng)。
16.C。【解析】因?yàn)閍>b不成立,故表達(dá)式a>b的值為0,即為0賦給m,因此&&左邊表達(dá)式的值為0,0與任何值&&運(yùn)算都為0,于是不再計(jì)算&&右邊表達(dá)式的值,所以此時(shí)的n仍然為2。
17.B?!窘馕觥勘绢}考查do—while語句,當(dāng)X一23時(shí),執(zhí)行do后的語句,x--的表達(dá)式值為x=x-1,此時(shí)X的值為22,而!X為0,因此while循環(huán)不成立,退出,故選擇B 選項(xiàng)。
18.A?!窘馕觥勘绢}考查if-else語句。if為真則執(zhí)行C =1,if為假則執(zhí)行else中的條件,不符合繼續(xù)執(zhí)行else。
19.B?!窘馕觥孔雍瘮?shù)fun(int x,int y),將變量m和i聲明為局部靜態(tài)變量,因此第l次調(diào)用主函數(shù)后,局部靜態(tài)變量m和i的值為5和3,第l次函數(shù)調(diào)用結(jié)束時(shí),它們的值不釋放保持不變,所以第2次調(diào)用時(shí),局部靜態(tài)變量m和i 的初始值分別為5和3,即在執(zhí)行“i+=m+1”時(shí),i的值為9,因此最終m的值為11。
20.A。【解析】本題考查兩個(gè)概念:①用單引號(hào)括起來的一個(gè)字符常量只能存放一個(gè)字符;②℃語言中沒有字符串變量,只能用字符數(shù)組來存儲(chǔ)字符串。
21.B?!窘馕觥勘绢}考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。在函數(shù)調(diào)用時(shí),形參是指向?qū)崊⒌闹羔樧兞?,則printf的執(zhí)行結(jié)果為++x;x=3,則3+1=4。
22.D。【解析】在判斷小寫字母時(shí),必須判斷在某一范圍內(nèi)成立,因此用與,即&&,即C在a與z之間。
23.B。【解析】當(dāng)num=0時(shí),循環(huán)成立,執(zhí)行num++ 后;num的值為1,因此輸出1,接著返回while中的表達(dá)式;當(dāng)num=1時(shí),循環(huán)成立,執(zhí)行nHm++后,num的值為2,輸出2,再返回while中的表達(dá)式;當(dāng)num=2時(shí),循環(huán)成立,執(zhí)行num++后.nHm的值為3,輸出3,最后返回while中的表達(dá)式,當(dāng)num=3,循環(huán)不成立,退出。
24.D?!窘馕觥縫是存放最小下標(biāo)的變量,而if后的表達(dá)就是實(shí)現(xiàn)這個(gè)}j的的,當(dāng)if成立時(shí),就把小的下標(biāo)放到p 中,故選擇D選項(xiàng)。
25.D。【解析】在C語言中,當(dāng)表達(dá)式成立時(shí)用l表示,不成立時(shí)用0表示,即x=(a&&b)&&(c<’B ’)= (14&&15)&&(’A ’<’B’ )=1&&1=1,故選擇D選項(xiàng)。
26.A?!窘馕觥慨?dāng)所賦的值不夠其列的寬度時(shí),系統(tǒng)在其后自動(dòng)補(bǔ)0,因此a[0][3]=0,a[1][2]=6,a[2][1]=5,a[3][0]=0,故選擇A選項(xiàng)。
27.C?!窘馕觥勘境绦蛑械暮瘮?shù)sort(int a[],int n)實(shí)現(xiàn)的功能是將數(shù)組a中的前n個(gè)數(shù)進(jìn)行從大到小排序。sort (&a[1],7)是將數(shù)組中從a[1]~a[7]這7個(gè)數(shù)進(jìn)行從大到小排序,其他數(shù)不變。
28.D?!窘馕觥縜=“ABCD”書寫錯(cuò)誤,因?yàn)椤?”左邊不能出現(xiàn)常量;數(shù)組名S是代表S數(shù)組首地址常量,而不是變量;字符串只有在定義時(shí)維數(shù)可以省略。
29.D?!窘馕觥勘绢}for循環(huán)中,當(dāng)i=0時(shí),判斷條件i&printf("%d\n",n[k]),此時(shí)i的值是0,輸出n[k]的值也為0,0 &0結(jié)果還是0,條件不成立,退出循環(huán)。所以最后輸出結(jié)果為0。
30.A?!窘馕鰈當(dāng)執(zhí)行g(shù)ets(ss)后,ss數(shù)組中的元素為ABC,再執(zhí)行strcat(ss,"6789"),strcat的作用,是把6789連接到了ss數(shù)組后面,執(zhí)行完后SS數(shù)組為ABC6789,故選擇A選項(xiàng)。
31.D?!窘馕鯥M(a+b,b+C,c+a)=a+b*b+c+c+ a=1+2*2+3+3+1=12,注意x*y+z而不是(x)*(y)+z。
32.B。【解析】本題考查分支語句用法加個(gè)句號(hào)因?yàn)樽兞康某跏贾捣謩e為 k一5、n一0,所以程序第1次進(jìn)入循環(huán)時(shí),執(zhí)行default語句,輸出0,k減1;這時(shí)n=0、k=4,程序進(jìn)行第2次循環(huán),執(zhí)行case 4:這個(gè)分支,結(jié)果是n=2、k=3,打印出2;這時(shí)n =2、k=3,break跳出,程序進(jìn)行第3次循環(huán),執(zhí)行case 3:這個(gè)分支,結(jié)果是n=3、k=2,打印出3;這時(shí)n一3、k 2,b¨ak跳出,程序然后進(jìn)行第4次循環(huán),執(zhí)行case 2:case 4:這個(gè)分支,結(jié)果是n=5、k=1,打印出5,break 跳出,這時(shí)因?yàn)閚=5不滿足n<5的循環(huán)條件,因此循環(huán)結(jié)束。
33.D?!窘馕觥勘绢}考查for循環(huán)的使用。根據(jù)條件考慮x的取值變化,x從1取到5,可以循環(huán)5次,但并不知道y是如何變化的,有可能出現(xiàn)y=19提前跳出循環(huán)的情況,所以是最多執(zhí)行5次。
34.C?!窘馕觥客獠孔兞吭诰幾g時(shí)由系統(tǒng)分配永久的內(nèi)存空間,所以外部變量的類型不是自動(dòng)存儲(chǔ)類別。
35.D。【解析】if語句的條件是當(dāng)i既是3的倍數(shù)又是2的倍數(shù)時(shí)成立,所以此程序?qū)崿F(xiàn)的功能是將10以內(nèi)既是3 的倍數(shù)又是2的倍數(shù)的數(shù)相加。
36.A。【解析】在函數(shù)funl()之前定義了全局字符變量a和b。這兩個(gè)變量的作用域是從其定義處開始到整個(gè)程序末結(jié)束。在函數(shù)funl()之內(nèi)定義了兩個(gè)變量a和b,并且分別初始化為字符’C ’和’D ’。
37.A?!窘馕觥勘绢}考查getchar()函數(shù),從終端讀入一個(gè)字符作為函數(shù)值。在輸入時(shí),空格、回車符都將作為字符讀入,而且只有在用戶敲入回車鍵時(shí),讀入才開始執(zhí)行。所以當(dāng)輸入a<回車>后,變量c1被賦予字符a,而變量c2被賦予回車符。
38.B?!窘馕觥亢瘮?shù)fun()的功能是從數(shù)組a中依次將當(dāng)前值賦給一個(gè)元素,所以當(dāng)函數(shù)fun(a,2,9)執(zhí)行后,數(shù)組a[]={1,2,3,4,4,5,6,7,8,9,10)。
39.B?!窘馕觥勘绢}考查文件使用方式標(biāo)識(shí)符。方式“wb”為輸出打開一個(gè)二進(jìn)制文件;方式“wb+”為讀寫建立一個(gè)新的二進(jìn)制文件;方式“rb+”為讀寫打開一個(gè)二進(jìn)制文件;方式“rb”為輸入打開一個(gè)二進(jìn)制文件。
40.A。【解析】如果是static修飾的靜態(tài)變量,不是每次調(diào)用賦初值。