![2021年福建省廈門市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)真題(含答案)_第1頁](http://file4.renrendoc.com/view/941eb34c0eaa9cd0101c73fcab74824b/941eb34c0eaa9cd0101c73fcab74824b1.gif)
![2021年福建省廈門市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)真題(含答案)_第2頁](http://file4.renrendoc.com/view/941eb34c0eaa9cd0101c73fcab74824b/941eb34c0eaa9cd0101c73fcab74824b2.gif)
![2021年福建省廈門市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)真題(含答案)_第3頁](http://file4.renrendoc.com/view/941eb34c0eaa9cd0101c73fcab74824b/941eb34c0eaa9cd0101c73fcab74824b3.gif)
![2021年福建省廈門市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)真題(含答案)_第4頁](http://file4.renrendoc.com/view/941eb34c0eaa9cd0101c73fcab74824b/941eb34c0eaa9cd0101c73fcab74824b4.gif)
![2021年福建省廈門市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)真題(含答案)_第5頁](http://file4.renrendoc.com/view/941eb34c0eaa9cd0101c73fcab74824b/941eb34c0eaa9cd0101c73fcab74824b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2021年福建省廈門市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)真題(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.若進(jìn)棧序列為1,2,3,4,進(jìn)棧過程中可以出棧,則下列不可能的一個出棧序列是______。
A.1,4,3,2B.2,3,4,1C.3,1,4,2D.3,4,2,1
2.c源程序中不能表示的數(shù)制是()。
A.二進(jìn)制B.八進(jìn)制C.十進(jìn)制D.十六進(jìn)制
3.以下非法的賦值語句是
A.n=(i=2,++i);B.j++;C.++(i+1);D.x=j>0;
4.下列敘述中正確的是()。
A.可以用關(guān)系運(yùn)算符比較字符串的大小
B.空字符串不占用內(nèi)存,其內(nèi)存空間大小是0
C.兩個連續(xù)的單引號是合法的字符常量
D.兩個連續(xù)的雙引號是合法的字符串常量
5.以下敘述中錯誤的是()。
A.c語言是一種結(jié)構(gòu)化程序設(shè)計(jì)語言
B.使用三種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡單問題
C.結(jié)構(gòu)化程序設(shè)計(jì)提倡模塊化的設(shè)計(jì)方法
D.結(jié)構(gòu)化程序由順序、分支、循環(huán)三種基本結(jié)構(gòu)組成
6.有以下程序
include<stdio.h>
main()
{chara[30],b[30];
scanf(“%s”,a);
gets(b);
printf(“%s\n%s\n”,a,b);
}
程序運(yùn)行時若輸入:
howareyou?Iamfine<回車>
則輸出結(jié)果是A.howareyou?Iamfine
B.howareyou?1amfine
C.howareyou?Iamfine
D.howareyou?
7.
8.在KMP算法中,已知模式串為ADABCADADA,請寫出模式串的next數(shù)組值()
A.0,1,1,2,1,1,2,3,4,3
B.1,2,3,2,1,1,2,4,4,3
C.0,1,1,1,2,1,2,3,4,3
D.2,1,1,2,1,1,2,3,3,4
9.有下列程序:程序執(zhí)行后的輸出結(jié)果是()。A.2,14,3,18,4,18
B.1,14,2,18,3,18
C.2,14,3,18,4,22
D.1,14,2,18,3,18,4,18
10.下列關(guān)于效率的說法不正確的是()
A.效率是一個性能要求,其目標(biāo)應(yīng)該在需求分析時給出
B.提高程序效率的根本途徑在于選擇良好的設(shè)計(jì)方法,數(shù)據(jù)結(jié)構(gòu)與算法
C.效率主要指處理機(jī)時間和存儲器容量兩個方面
D.程序的效率與程序的簡單性無關(guān)
11.下列存儲器中,存取速度最快的是()。
A.軟盤B.硬盤C.光盤D.內(nèi)存
12.已知有double型變量x=2.5,y=4.7,整型變量a=7,則表達(dá)式x+a%3*(int)(x+y)%2/4的值是()。
A.2.4B.2.5C.2.75D.0
13.以下選項(xiàng)中敘述錯誤的是()。
A.C程序函數(shù)中定義的賦有初值的靜態(tài)變量,每調(diào)用一次函數(shù),賦一次初值
B.在同一函數(shù)中,各復(fù)合語句內(nèi)可以定義變量,其作用域僅限本復(fù)合語句內(nèi)
C.C程序函數(shù)中定義的自動變量,系統(tǒng)不自動賦確定的初值
D.C程序函數(shù)的性能不可以說明為static型變量
14.以下程序的輸出結(jié)果是()。main{intx=0.5;charz=‘a(chǎn)’;printf(“d\n”,(x&1)&&(z<‘z’));}A.0B.1C.2D.3
15.以下是if語句的基本形式:
if(表達(dá)式.語句
其中“表達(dá)式”()。
A.必須是邏輯表達(dá)式B.必須是關(guān)系表達(dá)式C.必須是邏輯表達(dá)式或關(guān)系表達(dá)式D.可以是任意合法的表達(dá)式
16.以下敘述中正確的是()。
A.C語言函數(shù)可以嵌套調(diào)用,例如:fim(fun(X))
B.C語言程序是由過程和函數(shù)組成的
C.C語言函數(shù)不可以單獨(dú)編譯
D.C語言中除了main函數(shù)外,其他函數(shù)不可作為單獨(dú)文件形式存在
17.有以下程序,程序中庫函數(shù)islower(ch)用以判斷ch中的字母是否為小寫字母:
程序運(yùn)行后的輸出結(jié)果是()。
A.abcdEFg!B.AbCdEFg!C.abcdEFG!D.aBcDEFG!
18.使用數(shù)組名作為函數(shù)的實(shí)參時,傳遞給形參的是()。
A.數(shù)組中第1個元素的值B.數(shù)組的首地址C.數(shù)組中全部元素的值D.數(shù)組元素的個數(shù)
19.為了使模塊盡可能獨(dú)立,要求()。
A.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)
B.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱
C.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱
D.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)
20.若有定義:inta,b;,通過語句scanf("%d;%d",&a,&b);,能把整數(shù)3賦給變量a,5賦給變量b的輸入數(shù)據(jù)是A.A.35B.3,5C.3;5D.35
二、2.填空題(20題)21.在C語言中,while和do…while循環(huán)的主要區(qū)別是______的循環(huán)至少被執(zhí)行一次。
22.性表的順序存儲中,元素之間的邏輯關(guān)系是通過【】決定的;性表的鏈接存儲中,元素之間的邏輯關(guān)系是通過【】決定的。
23.下列程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
longfunc(intx)
{longp;
if(x==0‖x==1)
return(1);
p=x*func(x-1);
return(p);
}
main()
{printf("%d\n",func(4));
}
24.下面的程序?qū)崿F(xiàn)的是從指針p所指向的地址的n個數(shù)中,找出最大的和最小的數(shù)據(jù),請?zhí)羁铡?/p>
fun(int*p,intn)
{int*q;
intmax,min;
max=min=*p;
for(q=p;______;q++)
if(*q>max)max=*q;
elseif(*q<min)min=*q;}
25.關(guān)系模型的完整性規(guī)則是對關(guān)系的某種約束條件,包括實(shí)體完整性、______和自定義完整性。
26.數(shù)據(jù)流圖的類型有【】和事務(wù)型。
27.常用的軟件結(jié)構(gòu)設(shè)計(jì)工具是結(jié)構(gòu)圖(SC),也稱程序結(jié)構(gòu)圖。其中,用矩形表示______,用帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。
28.若有以下定義,則不移動指針p,且通過指針p引用值為98的數(shù)組元素的表達(dá)式是______。
intw[10]={23,54,10,33,47,98,72,80,61},*p=w;
29.下列程序的運(yùn)行結(jié)果是______。
main()
{inta=1,b=10;
do
{b-=a;a++;}while(b--<0);
printf("%d,%d\n",a,b);
}
30.常用的黑箱測試有等價類劃分法、【】和錯誤推測法3種。
31.下面程序的功能是輸出數(shù)組s中最大元素的下標(biāo),請?zhí)羁铡?/p>
main()
{intk,p,s[]={1,-9,7,2,-10,3};
for(p=0,k=p;p<6;p++)
if(s[p]>s[k])【】
printf("%d\n",k);}
32.下面rotate函數(shù)的功能是:將n行n列的矩陣A轉(zhuǎn)置未AT,例如:
請?zhí)羁?/p>
#defineN4
voidrotate(inta[][])
{inti,j,t;
for(i=0;i<N;i++)
for(j=0;【】;j++)
{t=a[i][j];【】;a[j][i]=t;}
}
33.在關(guān)系運(yùn)算中,【】運(yùn)算是對兩個具有公共屬性的關(guān)系所進(jìn)行的運(yùn)算。
34.以下程序的輸出結(jié)果是【】。
main()
{intx=0;
sub(&x,8,1);
printf("%d\n",x);
}
sub(int*a,intn,intk)
{if(k<=n)sub(a,n/2,2*k);
*a+=k;
}
35.診斷和改正程序中錯誤的工作通常稱為【】。
36.數(shù)據(jù)庫管理系統(tǒng)常見的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和【】3種。
37.若有如下結(jié)構(gòu)體說明:
structSTRU
{inta,b;charc:doubled;
structSTRU*p1,*p2;
};
請?zhí)羁?,以完成對t數(shù)組的定義,t數(shù)組的每個元素為該結(jié)構(gòu)體類型。
【】t[20]
38.設(shè)有下列的程序段;
charstr[]="Hello";
char*ptr;
ptr=str;
執(zhí)行上面的程序段后,*(ptr+5)的值為______。
39.在面向?qū)ο蠓椒ㄖ?,【】描述的是具有相似屬性與操作的一組對象。
40.設(shè)有如下程序main(){intn1,n2;scanf(“%d”,&n2);while(n2!=0){n1=n2%10;n2=n2/10;printf(“%d”,n1);}}程序運(yùn)行后,如果從鍵盤上輸入1298,則輸出結(jié)果為
三、1.選擇題(20題)41.下列敘述中,正確的一條是______。
A.C語言以函數(shù)為程序的基本單位,便于實(shí)現(xiàn)程序的模塊化
B.C程序的執(zhí)行總是從程序的第一句開始
C.C程序中可以不使用函數(shù)
D.C語言提供了一個輸入語句scanf和一個輸出語句printf
42.以下敘述中正確的是______。
A.C語言比其他語言高級
B.C語言可以不用編譯就能被計(jì)算機(jī)識別執(zhí)行
C.C語言以接近英語國家的自然語言和數(shù)學(xué)語言作為語言的表達(dá)形式
D.C語言出現(xiàn)的最晚,具有其他語言的一切優(yōu)點(diǎn)
43.以下選項(xiàng)中,正確的if-else語句是()
A.if(x!=0)printf("%d",x)elseprintf("%d",-x);
B.if(x!=0){x=x+y;printf("%d",x);}elseprintf("%d",-x);
C.if(x!=0)x=x+y;printf("%d",x);elseprintf("%d",-x);
D.if(x!=0){x=x+y;printf("%d",x)};elseprintf("%d",-x);
44.以下程序的輸出結(jié)果是______。main(){inti,a[10];for(i=9;i>=0;i-)a[i]=10-i;printf("%d%d%d",a[2],a[5],a[8]);}
A.258B.741C.852D.369
45.有以下程序
#include
main()
{intc;
while((c=getchar())!='\n')
{switch(c-'2')
{case0:
case1:putchar(c+4);
case2:putchar(c+4);break;
case3:putchar(c+3);
case4:putchar(c+3);break;}}
printf("\n")}
從第一列開始輸入以下數(shù)據(jù)代表一個回車符。
2743
程序的輸出結(jié)果是
A.66877B.668966C.6677877D.6688766
46.當(dāng)用戶要求輸入的字符串中含有空格時,應(yīng)使用的輸入函數(shù)是()。
A.scanfB.getcharC.getsD.getc
47.請閱讀以下程序:main(){inta=5,b=0,c=0;if(a=b+c)printf(”"***\n");elseprintf("$$$\n");}以上程序
A.有語法錯不能通過編譯B.可以通過編譯但不能通過連接C.輸出***D.輸出$$$
48.數(shù)據(jù)庫系統(tǒng)的核心是()
A.數(shù)據(jù)庫B.數(shù)據(jù)庫管理系統(tǒng)C.模擬模型D.軟件工程
49.函數(shù)rewind的作用是
A.使文件位置指針重新返回文件的開始位置
B.將文件位置指針指向文件中所要求的特定位置
C.使文件位置指針指向文件的末尾
D.使文件位置指針自動移至下一個字符位置
50.以下有4組用戶標(biāo)識符,其中合法的一組是()。
A.FOr-subCase
B.4dDOSize
C.f2_G3IFabc
D.WORDvoiddefine
51.有以下程序:#include<stdio.h>main(){inti=0,a=0;while(i<20){for(;;){if((i%5)==0)break;elsei--;}i+=13,a+=i;}pfintf("%d\n",A);}程序的輸出結(jié)果是()。
A.62B.63C.23D.36
52.定義如下變量:intn=10;則下列循環(huán)的輸出結(jié)果是()。while(n>7){-n;printf("%d\n",n);}
A.1098B.987C.10987D.9876
53.下列敘述中錯誤的是()。
A.在C語言中,對二進(jìn)制文件的訪問速度比文本文件快
B.在C語言中,隨機(jī)文件以二進(jìn)制代碼形式存儲數(shù)據(jù)
C.語句FILEfp;定義了一個名為fp的文件指針
D.C語言中的文本文件以ASCII碼形式存儲數(shù)據(jù)
54.若變量已正確定義,要求程序段完成求5!的計(jì)算,不能完成此操作的程序段是()。
A.for(i=1,p=1;i<=5;i++)p*=i;
B.for(i=1;i<=5;i++){p=1;p*=i;}
C.i=1;p=1;while(i<=5){p*=i;i++;}
D.i=1;p=1;do{p*=i;i++;}while(i<=5);
55.請讀程序:#include<stdio.h>#include<string.h>main(){char*s1="AbCdEf",*s2="aB";s1++;s2++;printf("%d\n",strcmp(s1,s2));}上面程序的輸出結(jié)果是______。
A.正數(shù)B.負(fù)數(shù)C.零D.不確定的值
56.有以下程序:main(intargc,char*argv[]){intn=0,i;for(i=1;i<argc;i++)n=n*10+*argv[i]-'0';printf("%d\n",n);}編譯連接后生成可執(zhí)行文件tt.exe。若運(yùn)行時輸入以下命令行tt12345678程序運(yùn)行后的輸出結(jié)果是()。
A.12B.12345C.12345678D.136
57.以下描述中正確的是()。
A.由于do-while循環(huán)中循環(huán)體語句只能是一條可執(zhí)行語句,所以循環(huán)體內(nèi)不能使用復(fù)合語句
B.do-while循環(huán)由do開始,用while結(jié)束,在while(表達(dá)式.后面不能寫分號
C.在do-while循環(huán)體中,是先執(zhí)行一次循環(huán),再進(jìn)行判斷
D.do-while循環(huán)中,根據(jù)情況可以省略while
58.有以下程序:#include<stdio.h>main(){intc;while((c=getchar())!='\n'){switch(c-'2'){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);case4:putchar(c+3);break;}}printf("\n")}從第一列開始輸入以下數(shù)據(jù)<CR>代表一個回車符。2743<CR>程序的輸出結(jié)果是
A.66877B.668966C.6677877D.6688766
59.下列軟件中,屬于應(yīng)用軟件的是()
A.UNIXB.人事管理系統(tǒng)C.數(shù)據(jù)庫管理系統(tǒng)D.SYSTEM
60.若程序中已包含頭文件stdio.h,以下選項(xiàng)中,正確運(yùn)用指針變量的程序段是
A.int*i=NULL;scanf("%d",i);
B.float*f=NULL;*f=10.5;
C.chart='m',*c=&t;*c=&t;
D.long*L;L='\0';
四、選擇題(20題)61.數(shù)據(jù)的存儲結(jié)構(gòu)是指()。
A.存儲在外存中的數(shù)據(jù)
B.數(shù)據(jù)所占的存儲空間
C.數(shù)據(jù)在計(jì)算機(jī)中的順序存儲方式
D.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示
62.下列敘述中不正確的是。
A.算法的效率不僅與問題的規(guī)模有關(guān),還與數(shù)據(jù)的存儲結(jié)構(gòu)有關(guān)
B.算法的時間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量
C.?dāng)?shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)是一一對應(yīng)的
D.算法的時間復(fù)雜度與空間復(fù)雜度不一定相關(guān)
63.軟件是指()。A.程序B.程序和文檔C.算法加數(shù)據(jù)結(jié)構(gòu)D.程序、數(shù)據(jù)與相關(guān)文檔的完整集合
64.若有語句int*point,a=4;和point=&a;下面均代表地址的一組選項(xiàng)是()。
A.a,point,*&a
B.&*a,&a,*point
C.*&point,*point,&a
D.&a,&*point,point
65.(33)有以下程序段
inti,n;
for(i=0;i<8;i++)
{n=rand()%5;
switch(n)
{case1:
case3:printf("%d\n",n);break;
case2:
case4:printf("%d\n",n);continue;
case0:exit(0);
}
printf("%d\n",n);
}
以下關(guān)于程序段執(zhí)行情況的敘述,正確的是
A)for循環(huán)語句固定執(zhí)行8次
B)當(dāng)產(chǎn)生的隨機(jī)數(shù)n為4時結(jié)束循環(huán)操作
C)當(dāng)產(chǎn)生的隨機(jī)數(shù)n為1和2時不做任何操作
D)當(dāng)產(chǎn)生的隨機(jī)數(shù)n為0時結(jié)束程序運(yùn)行
66.(56)下列不屬于軟件調(diào)試技術(shù)的是()
A.強(qiáng)行排錯法
B.集成測試法
C.回溯法
D.原因排除法
67.
有下列程序:
main
{char*p[]={"3697","2584"};
inti,j;longnum=0;
for(i=0;i<2:i++)
{j=0;
while(p[i][j]!=\0)
{if((p[i][j]-\0)%2)num=1O*num+p
[j][j]-0;
j+=2;
}
}
printf("%d\n",num);
}
程序執(zhí)行后的輸m結(jié)果是()。
A.35B.37C.39D.3975
68.軟件(程序.調(diào)試的目標(biāo)是()。
A.診斷和改正程序中的錯誤
B.盡可能多地發(fā)現(xiàn)程序中的錯誤
C.發(fā)現(xiàn)并改正程序中的所有錯誤
D.確定程序中錯誤的性質(zhì)
69.(15)在軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是()
A.概要設(shè)計(jì)
B.詳細(xì)設(shè)計(jì)
C.可行性分析
D.需求分析
70.關(guān)系數(shù)據(jù)庫管理系統(tǒng)能實(shí)現(xiàn)的專門關(guān)系運(yùn)算包括()。
A.排序、索引、統(tǒng)計(jì)B.選擇、投影、連接C.關(guān)聯(lián)、更新、排序D.顯示、打印、制表
71.以下選項(xiàng)中不能作為C語言合法常量的是
A.’Fab’B.0.7e+9C."\b"D.’\01211’
72.
73.以下程序的輸出結(jié)果是()。main{inta=3:printf("%d\n",(a+a-=a*a));}A.-6B.12C.0D.-12
74.以下敘述中錯誤的是()。A.使用三種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡單問題
B.結(jié)構(gòu)化程序由順序、分支、循環(huán)三種基本結(jié)構(gòu)組成
C.c語言是一種結(jié)構(gòu)化程序設(shè)計(jì)語言
D.結(jié)構(gòu)化程序設(shè)計(jì)提倡模塊化的設(shè)計(jì)方法
75.
76.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.4,5,6,4,5,6,
B.1,2,3,4,5,6,
C.4,5,6,1,2,3,
D.6,5,4,3,2,1,
77.
78.
79.結(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é)構(gòu)、循環(huán)結(jié)構(gòu)
C.多分支結(jié)構(gòu)、賦值結(jié)構(gòu)、等價結(jié)構(gòu)
D.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
80.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.3B.1C.2D.0
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是:依次取出字符串中所有的數(shù)字字符,形成新的字符串,并取代原字符串。例如原始字符串是“ab45c6djfd789”,則輸出后的字符是“456789”。請修改函數(shù)proc()中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.學(xué)生記錄由學(xué)號和成績組成,N名學(xué)生的數(shù)據(jù)已放入主函數(shù)中的結(jié)構(gòu)體數(shù)組中,請編寫函數(shù)fun,其功能是:把分?jǐn)?shù)最低的學(xué)生數(shù)據(jù)放入b所指的數(shù)組中,注意:分?jǐn)?shù)最低的學(xué)生可能不止一個,函數(shù)返回分?jǐn)?shù)最低的學(xué)生人數(shù):
注意:部分源程序在文件PROGl.C中。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)flm的花括號中填入你編寫的若干語句。
參考答案
1.C解析:棧是一種后進(jìn)先出表,選項(xiàng)C中,先出棧的是3,說明此時棧內(nèi)必然有1,2,由于1先于2進(jìn)淺,所以1不可能在2之前出棧,故選項(xiàng)C這種出棧序列是不可能的。
2.AA?!窘馕觥緾語言源程序不能表示八進(jìn)制,在C語言中,所有的數(shù)值型常量都帶有符號,所以整型數(shù)量只區(qū)別整型和長整型兩種形式,整型常量和長整型常量均可用十進(jìn)制、二進(jìn)制、十六進(jìn)制3種形式表示,故A不正確。
3.C解析:本題考查的知識點(diǎn)是賦值語句的基本知識。在表達(dá)式的運(yùn)算中,雙目賦值運(yùn)算符的格式為“變量二表達(dá)式”,單目運(yùn)算符一般形式為“運(yùn)算符表達(dá)式”或“表達(dá)式運(yùn)算符”。常量和表達(dá)式是不能被賦值的。選項(xiàng)A為復(fù)合表達(dá)式,首先計(jì)算(i=2,++i)的值,然后賦值給n,故選項(xiàng)A正確;選項(xiàng)B為簡單自加運(yùn)算,故選項(xiàng)B正確;選項(xiàng)C在表達(dá)式++(i+1);中,(i+1)不是變量,該表達(dá)式的值為常量,而在++運(yùn)算中,其運(yùn)算對象必須為變量,故選項(xiàng)C錯誤;選項(xiàng)D中為復(fù)合賦值表達(dá)式,正確.所以應(yīng)當(dāng)選擇C。
4.D比較兩個字符串大小用函數(shù)strcomp(S,t),空字符串有結(jié)束符,所以也要占用字節(jié),兩個雙引號表示的是空字符串。
5.BC語言是一種結(jié)構(gòu)化程序設(shè)計(jì)語言。結(jié)構(gòu)化程序設(shè)計(jì)是以模塊化設(shè)計(jì)為中心的,有三種基本結(jié)構(gòu):順序、選擇和循環(huán)結(jié)構(gòu)。各模塊相互獨(dú)立,因而可將原來較為復(fù)雜的問題化簡為一系列簡單模塊并充分利用現(xiàn)有模塊搭建新系統(tǒng),提高程序的重用性和可維護(hù)性。
6.B
7.A
8.A
9.A程序定義整型變量a和i,其中a的初值為7。for循環(huán)中,循環(huán)變量i的取值為1,2,3。循環(huán)體中判斷a的取值,當(dāng)a>14時,執(zhí)行break跳出循環(huán);當(dāng)a取值為奇數(shù)時,a%2==1,a自增3,執(zhí)行continue繼續(xù)執(zhí)行循環(huán)體;當(dāng)a取值為偶數(shù)時,a%2==0,a自增4,輸出i和a的值。i取值為1時,a取值為7,自增3后a的值為10,執(zhí)行下一個循環(huán)。i取值為2時,a取值為10,自增4后a的值為14,輸出2,14。i取值為3時,a取值為14,自增4后a的值為18,輸出3,18。i取值為4時,a取值為18,循環(huán)終止,輸出4,18。綜上,程序輸出:2,14,3,18,4,18。本題答案為A選項(xiàng)。
10.D
11.D\nD【解析】存儲器中.存取速度最快的是內(nèi)存。
\n
12.B
13.A靜態(tài)變量不是每調(diào)用一次就賦一次初值,而是將需要定義許多相同的具有相同屬性的值時,使用靜態(tài)變量來節(jié)省空間,所以A選項(xiàng)錯誤。
14.B(x&1)&&(z<‘z’)=(0.5&1)&&(‘a(chǎn)’<‘z’)=1&&1=1,故選擇B選項(xiàng)。
15.D解析:本題主要考查關(guān)于if語句的說明,if后面圓括號中的表達(dá)式,可是任意合法的C語言表達(dá)式(如:邏輯表達(dá)式、關(guān)系表達(dá)式、算術(shù)表達(dá)式、賦值表達(dá)式等),也可以是任意類型的數(shù)據(jù)(如:整型、實(shí)型、字符型、指針型等。)
16.AC語言程序是由函數(shù)組成的,所以B選項(xiàng)錯誤。C語言函數(shù)可以單獨(dú)進(jìn)行編譯,所以C選項(xiàng)錯誤。每個C語言程序必須包含一個main函數(shù),但不是每個C語言程序文件都必須有一個main函數(shù),用戶單獨(dú)編寫的某個函數(shù)也可以存儲為一個C語言程序文件,所以D選項(xiàng)錯誤。故本題答案為A選項(xiàng)。
17.D調(diào)用缸函數(shù)后,實(shí)參數(shù)組名sl傳給形參指針P,P也指向數(shù)組sl。m函數(shù)的功能是遍歷字符數(shù)組中的所有字符,如果某一個字符是空格并且前一個字符是小寫字母的話,就把前一個字符轉(zhuǎn)換為大寫。程序中語句P[i一1]=P[i—1]一ga’+-A‘;即P[i一1]=P[i一1]一32,意思是將P[i一1]中的字符轉(zhuǎn)換為大寫。因此D選項(xiàng)正確。
18.B用數(shù)組名作為函數(shù)參數(shù)時,數(shù)組名退化為指針,傳遞給形參的是數(shù)組的首地址。故本題答案為B選項(xiàng)。
19.B解析:模塊獨(dú)立性是指每個模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單。耦合性與內(nèi)聚性是模塊獨(dú)立性的兩個定性標(biāo)準(zhǔn),耦合與內(nèi)聚是相互關(guān)聯(lián)的。在程序結(jié)構(gòu)中,各模塊的內(nèi)聚性越強(qiáng),則耦合性越弱。一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性。本題答案為B。
20.C解析:在C語言中scanf函數(shù)中輸入數(shù)據(jù)時要嚴(yán)格按照所規(guī)定的樣式輸入。
21.do…whiledo…while解析:考查while和do…while循環(huán)的主要區(qū)別。while循環(huán)的控制出現(xiàn)在循環(huán)體之前,只有當(dāng)while后面的表達(dá)式的值為非零時,才可能執(zhí)行循環(huán)體;在do…while構(gòu)成的循環(huán)體中,總是先執(zhí)行一次循環(huán)體,然后再求表達(dá)式的值,因此無論表達(dá)式的值是否為零,循環(huán)體至少要被執(zhí)行一次。
22.相鄰位置鄰接指針相鄰位置\r\n鄰接指針
23.2424解析:本題考查函數(shù)的循環(huán)調(diào)用。p=x*func(x-1),當(dāng)x=4時,不滿足if語句的條件,p=4*func(3),x=3也不滿足條件,則func(3)=3*func(2),func(2)=2*func(1),x=1滿足條件return(1),則輸出結(jié)果為4*3*2*1-24。
24.
25.參照完整性參照完整性
26.變換型典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型。變換型是指信息沿輸入通路進(jìn)入系統(tǒng),同時由外部形式變換成內(nèi)部形式,進(jìn)入系統(tǒng)的信息通過變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng);在很多軟件應(yīng)用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個或多個處理,這些處理能夠完成該作業(yè)要求的功能,這種數(shù)據(jù)流就叫做事務(wù)。
27.模塊模塊解析:矩形表示的是模塊,箭頭表示的是模塊間的調(diào)用關(guān)系。用帶實(shí)心圓的箭頭表示傳遞的是控制信息,用帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。
28.*(p+5)或p[5]*(p+5)或p[5]
29.282,8解析:do…while語句的功能是:首先執(zhí)行循環(huán)體語句,然后檢測循環(huán)控制條件表達(dá)式的值,若為真,則重復(fù)執(zhí)行循環(huán)體語句,否則退出循環(huán)。這里程序初始時a=1,b=10,經(jīng)過操作b-=a;a++后b=9,a=2,判斷條件b--<O不成立,退出循環(huán),但b的值被減1,因此結(jié)果為:a=2,b=8。
30.邊界值分析法邊界值分析法解析:黑箱測試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)程序功能導(dǎo)出測試用例。常用的黑箱測試有等價類劃分、邊界值分析法和錯誤推測法3種。
31.k=p;k=p;解析:為要尋找數(shù)組中的最大元素的下標(biāo),需先預(yù)設(shè)1個臨時最大元素的下標(biāo),并順序逐一考查數(shù)組的元素,當(dāng)發(fā)現(xiàn)當(dāng)前元素比臨時最大元素更大時,就用當(dāng)前元素的下標(biāo)更新臨時最大元素下標(biāo)。直至考查了數(shù)組的全部元素后,這臨時最大元素下標(biāo)就是數(shù)組的最大元素下標(biāo)。通常預(yù)設(shè)的最大元素下標(biāo)是數(shù)組的首元素下標(biāo),考查是從首元素開始順序向后繼元素考查。程序中,存儲臨時最大元素下標(biāo)的變量是k,變量p控制順序考查的循環(huán)控制變量。當(dāng)發(fā)現(xiàn)當(dāng)前元素s[p]比臨時最大元素s[k)更大時,應(yīng)該用p更新k。所以在空框處應(yīng)填入代碼“k=p;”。
32.j<=ia[i][j]=a[j][i]j<=i\r\na[i][j]=a[j][i]解析:將矩陣轉(zhuǎn)置就是將行列互換,所以第一處應(yīng)填j<=i,第二處應(yīng)填a[i][j]=a[j][i]。
33.自然連接自然連接解析:在關(guān)系運(yùn)算中,自然連接運(yùn)算是對兩個具有公共屬性的關(guān)系所進(jìn)行的運(yùn)算。
34.77解析:在主函數(shù)中定義了一個變量x并賦初值0,然后執(zhí)行函數(shù)調(diào)用語句,該語句的執(zhí)行過程為sub(&x,8,1)調(diào)用sub(&a,4,2),sub(&a,4,2)調(diào)用sub(&a,2,4),sub(&a,2,4)中由于2<4,所以if后面括號里的判斷為假,遞歸結(jié)束,執(zhí)行其后的*a+=k;語句此時x=x+k=0+4=4,回推到上一層調(diào)用函數(shù)sub(&x,4,2)中,執(zhí)行后面的語句,x=x+k=4+2=6,在回推到最上一層調(diào)用函數(shù)sub(&x,8,1)執(zhí)行后面的語句,x=x+k=6+1=7,所以最后輸出7。
35.程序調(diào)試程序調(diào)試解析:程序調(diào)試的任務(wù)是診斷和改正程序中的錯誤。程序調(diào)試與軟件測試不同,軟件測試是盡可能多地發(fā)現(xiàn)軟件中的錯誤。先要發(fā)現(xiàn)軟件的錯誤,然后借助于調(diào)試工具找出軟件錯誤的具體位置。軟件測試貫穿整個軟件生命期,而調(diào)試主要在開發(fā)階段。
36.關(guān)系模型關(guān)系模型解析:數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層系統(tǒng)管理軟件,是一種系統(tǒng)軟件,是用戶與數(shù)據(jù)庫之間的一個標(biāo)準(zhǔn)接口。其總是基于某種數(shù)據(jù)模型,可以分為層次模型、網(wǎng)狀模型和關(guān)系模型。
37.strudctSTRUstrudctSTRU解析:結(jié)構(gòu)件類型是構(gòu)造數(shù)據(jù)類型,是用戶自己定義的一種類型。
結(jié)構(gòu)體類型的定義:
struct結(jié)構(gòu)體類型名
{
成員項(xiàng)表;
};
定義結(jié)構(gòu)體變量的的形式為:
struct結(jié)構(gòu)體類型名變量1,變量2,...?
其中變量包括;一般變量、指針變量、數(shù)組變量等。
38.'\0''\\0'解析:本題涉及字符數(shù)組和指針的兩個知識點(diǎn):①在C語言中,字符型數(shù)組在存放字符串時會自動在末尾加上字符串結(jié)束標(biāo)識符'\\0'所以題中數(shù)組str有6個元素。②ptr指向數(shù)組str的首地址,ptr+5是指向str[5],*(ptr+5)是引用str[5]的值,即'\\0'。
39.類類解析:在面向?qū)ο蠓椒ㄖ?,類描述的是具有相似屬性與操作的一組對象。
40.89218921
41.A
42.C解析:計(jì)算機(jī)語言分為低級語言、匯編語言和高級語言,C語言屬于高級語言,但并不是說C語言比其他語言高級,所以選項(xiàng)A錯誤;除了低級語言外,其他各種語言都必須編譯成能被計(jì)算機(jī)識別的二進(jìn)制數(shù)才能執(zhí)行,選項(xiàng)B錯誤;C語言出現(xiàn)在1972年到1973年間,并不是出現(xiàn)最晚的語言,所以選項(xiàng)D也是錯誤的。
43.B
44.C解析:在本題運(yùn)行時主要注意的是當(dāng)i=9時,a[i]=10-9=1;i=8時,a[i]=10-8=2;i=7時,a[i]=10-7=3;……依此類推,直到i=0時,a[i]=10-0=10;此時,i的值已變?yōu)?1,判斷for的循環(huán)條件,不成立,然后輸出a[2],a[5],a[8],分別為8,5,2。
45.A解析:本題主要考查了字符輸入輸出函數(shù)getchar和putchar的使用。getchar函數(shù)用來從標(biāo)準(zhǔn)輸入設(shè)備上讀入一個字符,putchar(c)函數(shù)是將字符變量c中的字符輸出到標(biāo)準(zhǔn)輸出設(shè)備上,并且字符可以看作整數(shù)參與運(yùn)算。
46.C解析:C語言提供了許多輸入函數(shù),其中有:getchar(輸入字符)、scanf(格式輸入)和gets\u3000(輸入字符串)等。題目要求輸入的是字符串,所以可以排除getchar,而且要求輸入的字符串中包含空格,而scanf函數(shù)默認(rèn)將輸入的空格字符作為分割符,所以空格不會被輸入,故可排除scanf。getc的作用是從文件中輸入一個字符,故也不可取。gets函數(shù)可以輸入一整行作為一個字符串,其中也包括空格字符,故應(yīng)該選擇C。
47.D解析:解答本題時,先判斷if語句,因?yàn)閍=b+c不成立,則執(zhí)行else語句。
48.B解析:數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,簡稱DBMS)是數(shù)據(jù)庫的機(jī)構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等,數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心。
49.A解析:函數(shù)rewind的功能是將文件指針重新指向一個流的開頭。用法如下:
intrewind(FILE*stream);并且無返值。
50.C解析:選項(xiàng)A中for和case為C語言中的保留字,不能作為用戶標(biāo)志符,故A錯誤。選項(xiàng)B中的4d其開頭的第一個為數(shù)字,而在C語言中規(guī)定,第一個字符必須為字母或者下劃線,故B錯誤;選項(xiàng)D中void為C語言中的保留字,不能作為用戶標(biāo)志符,故D錯誤。所以,4個選項(xiàng)中選項(xiàng)C符合題意。
51.D
52.B解析:第1次循環(huán),10>7,--n=9,輸出9。第2次循環(huán),9>7,--n=8,輸出8。第3次循環(huán),8>7,--n=7,輸出7。
53.C在C語言中,文件指針實(shí)際上是指向一個結(jié)構(gòu)體類型的指針,一般稱這個結(jié)構(gòu)體類型名為FILE,可以用此類型名來定義文件指針。定義文件類型指針變量的一般形式為:FILE*指針變量名:選項(xiàng)c)中少了“*”,所以選項(xiàng)C)錯誤。
54.B解析:選項(xiàng)B中for循環(huán)了5次,而每次循環(huán)的時候,都將p的值重新賦值為1后,再乘以當(dāng)前數(shù)字i,所以最后的結(jié)果為5,顯然不是5!的值,同樣的分析可知選項(xiàng)A、選項(xiàng)C和選項(xiàng)D計(jì)算的都是5!。所以,4個選項(xiàng)中選項(xiàng)B符合題意。
55.A解析:本題考查字符串比較函數(shù)strcmp()的應(yīng)用。strcmp(s1,s2)是中比較函數(shù),當(dāng)s1>s2時返回值為正數(shù),當(dāng)s1<s2時返回值為負(fù)數(shù),當(dāng)s1=s2時返回值為零。本題中s1,s2分別表示兩個串中第一個字符的地址,s1++和s2++是將指針指向串的第二個字符,指針變量s1指向的是串“bCdEf”的首地址,即字符b的地址,而指針變量s2指向的是字符'B'的地址。而在字符串比較中,寧符串大小的確定是各個字符串相應(yīng)位置字符的ASCII碼值的大小決定的,字符'B'的ASCII碼值為66,字符“b”的ASCII碼值為98,所以s1>s2,返回值為正數(shù)。
56.D解析:因?yàn)轭}目給出的命令行為tt12345678,所以main函數(shù)的兩個參數(shù)分別為4和{'tt','12','345','678')。程序中,通過一個for循環(huán),遍歷了后面的三個參數(shù)字符串,每次將n自乘10,然后累加*argv[i]-\'0\',即第i個參數(shù)字符串的首字符減去\'0\'。一個數(shù)寧字符減去,O字符,即可得到這個數(shù)字字符的實(shí)際數(shù)值,因此三次循環(huán)的結(jié)果是讓n的值變?yōu)?36,故本題應(yīng)該選擇D。
57.C解析:do-while語句的一般形式為:do循環(huán)體語句while(表達(dá)式);,其中循環(huán)體語句可以是復(fù)合型語句,但必須用花括號括起來。while后必須要有分號作為語句的結(jié)束,在do-while循環(huán)中,不可以省略while。
58.A解析:本題主要考查了字符輸入輸出函數(shù)getchar和putchar的使用。getchar函數(shù)用來從標(biāo)準(zhǔn)輸入設(shè)備上讀入一個字符,putchar(c)函數(shù)是將字符變量c中的字符輸出到標(biāo)準(zhǔn)輸出設(shè)備上。并且字符可以看作整數(shù)參與運(yùn)算。
59.B
60.D解析:選項(xiàng)A定義了一個整型變量i,并且初始化讓它指向NULL,接著通過seanf()函數(shù),改變i指向的存儲空間的值,選項(xiàng)A中首先定義了整型指針變量i并初始化為NULL,即表示指針i不指向任何內(nèi)存,即此時程序還沒有為i在內(nèi)存中開辟存儲單元,而在scanf()函數(shù)中笫;個參數(shù)是地址參數(shù),顯然在這里i不在表示地址,所以下面的scanf('%d',i)語句是不正確的,故選項(xiàng)A不正確;選項(xiàng)B定義了一個浮點(diǎn)型變量f并初始化讓它指向NULL,而當(dāng)一個指針變量指向NULL以后不能在給它賦值,而按下來的程序中為其賦了一值,故選項(xiàng)B錯誤;選項(xiàng)C中首先定義了一個字符變量t并給它賦初值\'m\',然后定義一個字符型指針c并讓它指向了變量t,這一部分正確,然后接著用了一個語句“c=&t;”應(yīng)該特該語句中c前的“*”去掉,故選項(xiàng)c運(yùn)用指針變量不正確。所以,4個選項(xiàng)中選項(xiàng)D符合題意。
61.D數(shù)據(jù)的存儲結(jié)構(gòu)也稱為數(shù)據(jù)的物理結(jié)構(gòu),是數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲空間中的具體存放形式。
62.C本題主要考查與算法有關(guān)的基本知識。算法是對一個問題求解步驟的描述,是求解問題的方法,它是指令的有限序列,其中的每條指令表示一個或多個操作。算法的效率不僅與問題的規(guī)模有關(guān),還與數(shù)據(jù)的存儲結(jié)構(gòu)有關(guān)。
算法的時間復(fù)雜度和空間復(fù)雜度是衡量一個算法好壞的度量,其中時間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量;空間復(fù)雜度是指算法在執(zhí)行過程中所需要的計(jì)算機(jī)存儲空間。算法的空間復(fù)雜度與時間復(fù)雜度不一定相關(guān)。
數(shù)據(jù)的邏輯結(jié)構(gòu)反映的是數(shù)據(jù)的邏輯關(guān)系,與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān),是獨(dú)立于計(jì)算機(jī)的。因此,題目中說數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)一一對應(yīng)的說法不正確。本題答案選C。
63.D軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。其中,程序是軟件開發(fā)人員根據(jù)用戶需求開發(fā)的、用程序設(shè)計(jì)語言描述的、適合計(jì)算機(jī)執(zhí)行的指令(語句)序列;數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu);文檔是與程序開發(fā)、維護(hù)和使用有關(guān)的圖文資料。因此本題的正確答案是D。
64.D本題主要考查指針變量對數(shù)值的引用。在題目中,首先定義了整型指針變量point和一個整型變量a,變量a的初值為4,然后是指針變量指向a
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度國際貿(mào)易實(shí)務(wù)進(jìn)出口合同履行中的信用管理及風(fēng)險控制
- 2025年度健康養(yǎng)老產(chǎn)業(yè)項(xiàng)目合同履約擔(dān)保協(xié)議
- 2025年度回遷房買賣合同電子版樣本
- 2025年度醫(yī)療設(shè)備制造與銷售合作合同范本
- 2025年度信息技術(shù)服務(wù)合同回款期限保障協(xié)議
- 2025年度數(shù)據(jù)中心冷卻系統(tǒng)工裝合同樣本
- 2025年度新型科技研發(fā)項(xiàng)目合作返點(diǎn)合同范本
- 2025年度國際貨物貿(mào)易代理服務(wù)合同
- 2025年度智能音響設(shè)備銷售與售后服務(wù)合同
- 2025年度教育培訓(xùn)居間合同標(biāo)的交付與物權(quán)轉(zhuǎn)移規(guī)范
- 病歷書寫規(guī)范細(xì)則(2024年版)
- 2024-2025學(xué)年人教版八年級上冊地理期末測試卷(二)(含答案)
- 雙方共同買車合同范例
- 醫(yī)務(wù)從業(yè)人員行為規(guī)范培訓(xùn)
- 中小學(xué)校食品安全管理現(xiàn)狀與膳食經(jīng)費(fèi)優(yōu)化方案
- 中醫(yī)外治法課件
- 第15屆-17屆全國中學(xué)生物理競賽預(yù)賽試卷含答案
- 道路運(yùn)輸企業(yè)主要負(fù)責(zé)人和安全生產(chǎn)管理人員安全考核題(公共部分題+專業(yè)部分題)及答案
- 外研版小學(xué)英語(三起點(diǎn))六年級上冊期末測試題及答案(共3套)
- 月結(jié)合同模板
- 上海市黃浦區(qū)2024年數(shù)學(xué)六年級第一學(xué)期期末監(jiān)測試題含解析
評論
0/150
提交評論