




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021-2022年甘肅省嘉峪關(guān)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.以下敘述錯(cuò)誤的是()。
A.算術(shù)運(yùn)算符中不包含“=”運(yùn)算符
B.模運(yùn)算符“%”是c語(yǔ)言基本的算術(shù)運(yùn)算符
C.算術(shù)運(yùn)算符中只有“*”、“/”優(yōu)先級(jí)高于關(guān)系運(yùn)算符
D.自加和自減運(yùn)算符只能用于變量,而不能用于常量或表達(dá)式
2.下列關(guān)于return語(yǔ)句的敘述中正確的是()。
A.—個(gè)自定義函數(shù)中必須有一條return語(yǔ)句
B.—個(gè)自定義函數(shù)中可以根據(jù)不同情況設(shè)置多條return語(yǔ)句
C.定義成void類型的函數(shù)中可以有帶返回值的return語(yǔ)句
D.沒(méi)有return語(yǔ)句的自定義函數(shù)在執(zhí)行結(jié)束時(shí)不能返回到調(diào)用處
3.設(shè)計(jì)軟件結(jié)構(gòu)是在軟件生命周期的()。
A.軟件定義期B.軟件開(kāi)發(fā)期C.軟件維護(hù)期D.以上3個(gè)都不是
4.對(duì)n個(gè)元素的有序表A[1..n]進(jìn)行順序查找,其成功查找的平均查找長(zhǎng)度(即在查找表中找到指定關(guān)鍵碼的元素時(shí),所進(jìn)行比較的表中元素個(gè)數(shù)的期望值)為()
A.nB.(n+1)/2C.log2nD.n^2
5.用二分法查找長(zhǎng)度為10的、排好序的線性表,查找不成功時(shí),最多需要比較多少次?()
A.3B.4C.5D.6
6.下列條件語(yǔ)句中,輸出結(jié)果與其他語(yǔ)句不同的是()。
A.if(a!=0)printf(“%d\n”,x);elseprintf(“%d\n”,y);
B.if(a==0)printf(“%d\n”,y);elseprintf(“%d\n”,x);
C.if(a==0)printf(“%d\n”,x);elseprintf(“%d\n”,y);
D.if(a)printf(“%d\n”,x);elseprintf(“%d\n”,y);
7.在inta=3,int*p=&a;中,*p的值是()
A.變量a的地址值B.無(wú)意義C.變量p的地址值D.3
8.下列描述中正確的是______。
A.軟件工程只是解決軟件項(xiàng)目的管理問(wèn)題
B.軟件工程主要解決軟件新產(chǎn)品的生產(chǎn)率問(wèn)題
C.軟件工程的主要思想是強(qiáng)調(diào)在軟件開(kāi)發(fā)過(guò)程中需要應(yīng)用工程化原則
D.軟件工程只是解決軟件開(kāi)發(fā)中的技術(shù)問(wèn)題
9.設(shè)fun函數(shù)的定義形式為voidfun(charch,floatx){…}則下列對(duì)函數(shù)fun的調(diào)用語(yǔ)句中,正確的是()。
A.fun("abc",3.0);
B.t=fun(D.16.5);
C.fun(65,2.8);
D.fun(32,32);
10.有以下程序
#include<stdio.h>
main()
{inta[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL;
*q=*(p+5);
printf("%d%d\n",*p,*q);
}
程序運(yùn)行后的輸出結(jié)果是A.運(yùn)行后報(bào)錯(cuò)B.66C.611D.510
11.以下有4組用戶標(biāo)識(shí)符,其中合法的一組是()。
A.FOr-subCase
B.4dDOSize
C.f2_G3IFabc
D.WORDvoiddefine
12.若已定義:“inta[9],*p=a;”,并在以后的語(yǔ)句中未改變p的值,不能表示a[1]地址的表達(dá)式是______。
A.p+1B.a+1C.a++D.++p
13.以下程序是用來(lái)計(jì)算兩個(gè)非負(fù)數(shù)之間的最大公約數(shù):我們假設(shè)x,y中最大的那個(gè)數(shù)的長(zhǎng)度為n,基本運(yùn)算時(shí)間復(fù)雜度為O(1),那么該程序的時(shí)間復(fù)雜度為()A.O(1)B.O(logn)C.O(n)D.O(n^2)
14.二維數(shù)組A的元素都是6個(gè)字符組成的串,行下標(biāo)i的范圍從0到8,列下標(biāo)j的范圈從1到10,則存放A至少需要()個(gè)字節(jié)。
A.90B.180C.240D.270
15.有以下程序
A.741B.963C.852D.87542l
16.以下關(guān)于typedef的敘述錯(cuò)誤的是()。A.用tyFedef可以增加新類型
B.typedef只是將已存在的類型用一個(gè)新的名字來(lái)代表
C.用typedef可以為各種類型說(shuō)明一個(gè)新名,但不能用來(lái)為變量說(shuō)明一個(gè)新名
D.用typedef為類型說(shuō)明一個(gè)新名,通常可以增加程序的可讀性
17.下列敘述中正確的是()。
A.順序存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)一定是連續(xù)的,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的存儲(chǔ)空間不一定是連續(xù)的
B.順序存儲(chǔ)結(jié)構(gòu)只針對(duì)線性結(jié)構(gòu),鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)只針對(duì)非線性結(jié)構(gòu)
C.順序存儲(chǔ)結(jié)構(gòu)能存儲(chǔ)有序表,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)不能存儲(chǔ)有序表
D.鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)比順序存儲(chǔ)結(jié)構(gòu)節(jié)省存儲(chǔ)空間
18.設(shè)某無(wú)向圖中有n個(gè)頂點(diǎn)e條邊,則建立該圖鄰接表的時(shí)間復(fù)雜度為()。
A.O(n+e)B.O(n^2)C.O(ne)D.O(n^3)
19.以下說(shuō)法錯(cuò)誤的是()。
A.C語(yǔ)言標(biāo)識(shí)符中可以有多個(gè)字母、數(shù)字和下劃線字符
B.C語(yǔ)言標(biāo)識(shí)符中下劃線字符可以出現(xiàn)在任意位置
C.C語(yǔ)言標(biāo)識(shí)符不能全部由數(shù)字組成
D.C語(yǔ)言標(biāo)識(shí)符必須以字母開(kāi)頭
20.下列敘述中錯(cuò)誤的是()。
A.在C語(yǔ)言中,函數(shù)中的自動(dòng)變量可以賦初值,每調(diào)用一次賦一次初值
B.在C語(yǔ)言中,在調(diào)用函數(shù)時(shí),實(shí)參和對(duì)應(yīng)形參在類型上只需賦值兼容
C.在C語(yǔ)言中,外部變量的隱含類型是自動(dòng)存儲(chǔ)類別
D.在C語(yǔ)言中,函數(shù)形參的存儲(chǔ)類型是自動(dòng)(auto)類型的變量
二、2.填空題(20題)21.算法的復(fù)雜度主要包括【】復(fù)雜度和空間復(fù)雜度。
22.按照邏輯結(jié)構(gòu)分類,結(jié)構(gòu)可以分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),棧屬于______。
23.在關(guān)系運(yùn)算中,【】運(yùn)算是對(duì)兩個(gè)具有公共屬性的關(guān)系所進(jìn)行的運(yùn)算。
24.下列程序的輸出結(jié)果是【】。
#include<stdio.h>
intfun(intx,inty)
{staticintm0,i=2;
i+=m+1;
m=i+x+y;
returnm;
}
main()
{intj=4,m=1,k;
k=fun(j,m);printf("%d,",k);
k=fun(j,m);printf("%d\n",k);
}
25.以下程序的功能是:將輸入的正整數(shù)按逆序輸出。例如:若輸入135則輸出531。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{intn,s;
printf("Enteranumber:");scanf("%d",&n);
printf("Output:");
do
{s=n%10;printf("%d",s);【】;
}while(n!=0);
printf("\n");
}
26.下列程序的運(yùn)行結(jié)果為【】。
main()
{inta,b,c,x,y,z;
a=10;b=2;
c=!(a%b);x=!(a/b);
y=(a<b)&&(b>=0);
z=(a<b)||(b>=0);
printf("c=%d,x=%d,y=%d,z=%d\n",c,x,y,z);
}
27.關(guān)系模型的3類完整性指的是【】、參照完整性、用戶定義的完整性。
28.以下程序段打開(kāi)文件后,先利用fseek函數(shù)將文件位置指針定位在文件末尾,然后調(diào)用ftell函數(shù)返回當(dāng)前文件位置指針的具體位置,從而確定文件長(zhǎng)度。請(qǐng)?zhí)羁铡?/p>
FILE*myf;longf1;
myf=【】("test.t","rb");
fseek(myf,0,SEEKEND);
f1=ftell(myf);
fclose(myf);
printf("%d\n",f1)
29.以下sstrcpy()函數(shù)實(shí)現(xiàn)字符串復(fù)制,即將t所指字符串復(fù)制到s所指內(nèi)存空間中,形成一個(gè)新字符串s。請(qǐng)?zhí)羁铡?/p>
voidsstrcpy(char*s,char*t)
{while(*s++=【】);}
main()
{charstrl[100],str2[]="abcdefgh";
sstrcpy(str1,str2);
printf("%s\n",str1);
}
30.有以下結(jié)構(gòu)體說(shuō)明和變量的定義,且指針p指向變量a,指針q指向變量b,則不能把結(jié)點(diǎn)b連接到結(jié)點(diǎn)a之后的語(yǔ)句是【】。
structnode
{chardata;
structnode*next;}a,b
31.下面程序的輸出結(jié)果是【】。
main()
{inti=3,j=2;
char*a="DCBA";
printf("%c%c\n",a[i],a[j])
}
32.下面程序的功能是將字符串s中所有的字符c刪除,補(bǔ)足所缺語(yǔ)句。
#include<stdio.h>
main()
{chars[80];
inti,j;
gets(s);
for(i=j=0;s[i]!='\0';i++)
if(s[i]!='c')【】;
s[j]='\0';
puts(s);
}
33.某二叉樹(shù)中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹(shù)中有【】個(gè)葉子結(jié)點(diǎn)。
34.問(wèn)題處理方案的正確而完整的描述稱為_(kāi)_____。
35.若fp已正確定義為—‘個(gè)文件指針,d1.dd為二進(jìn)制文件,請(qǐng)?zhí)羁?,以便為“讀”而打開(kāi)此文件:fp=fopen(______);。
36.排序是計(jì)算機(jī)程序設(shè)計(jì)中的一種重要操作,常見(jiàn)的排序方法有插入排序、______和選擇排序。
37.常用的黑箱測(cè)試有等價(jià)類劃分法、【】和錯(cuò)誤推測(cè)法3種。
38.以下程序運(yùn)行后輸入:3,abcde<回車(chē)>,則輸出結(jié)果是______。
#include<string.h>
move(char*str,intn)
{charcemp;inti;
temp=str[n-1];
for(i=n-1;i>0;i--)str[i]=str[i-1);
str[0]=temp;}
main()
{chars[50];intn,i,z;
scanf(“%d,%s”,&n,s);
z=strlen(s);
for(i=1;i<=n;i++)move(s,z);
printf(“%s\n”,s);
}
39.某二叉樹(shù)中度為2的結(jié)點(diǎn)有n個(gè),則該二叉樹(shù)中有【】個(gè)葉子結(jié)點(diǎn)。
40.與結(jié)構(gòu)化需求分析方法相對(duì)應(yīng)的是【】方法。
三、1.選擇題(20題)41.執(zhí)行語(yǔ)句“for(n=10;n>0;)printf("%d",--n+n--);”后,下列說(shuō)法正確的是()
A.循環(huán)體執(zhí)行了5次,最終n的值是-1
B.循環(huán)體執(zhí)行了6次,最終n的值是-1
C.循環(huán)體執(zhí)行了6次,最終n的值是0
D.循環(huán)體執(zhí)行了5次,最終n的值是0
42.以下敘述中正確的是
A.C程序中注釋部分可以出現(xiàn)在程序中任意合適的地方
B.花括號(hào)“{”和“}”只能作為函數(shù)體的定界符
C.構(gòu)成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名
D.分號(hào)是C語(yǔ)句之間的分隔符,不是語(yǔ)句的一部分
43.若執(zhí)行下面程序時(shí)從鍵盤(pán)上輸入5,main(){intx;scanf("%d",&x);if(x++>5)printf("%d\n",x);elseprintf("%d\n",x--);}則輸出是______。
A.7B.6C.5D.4
44.若變量已正確說(shuō)明為float類型,要通過(guò)語(yǔ)句scanf("%f%f%f",&a,&b,&c),給a賦予10.0,b賦予22.0,b賦予33.0,不正確的輸入形式是()
A.10<回車(chē)>22<回車(chē)>33<回車(chē)>
B.10.0,22.0,33.0<回車(chē)>
C.10.0<回車(chē)>22.O33.00<回車(chē)>
D.10.22<回車(chē)>33<回車(chē)>
45.下列說(shuō)法正確的是()。
A.在C語(yǔ)言中,可以使用動(dòng)態(tài)內(nèi)存分配技術(shù),定義元素個(gè)數(shù)可變的數(shù)組
B.在C語(yǔ)言中,數(shù)組元素的個(gè)數(shù)可以不確定,允許隨機(jī)變動(dòng)
C.在C語(yǔ)言中,數(shù)組元素的數(shù)據(jù)類型可以不一致
D.在C語(yǔ)言中,定義了一個(gè)數(shù)組后,就確定了它所容納的元素的個(gè)數(shù)
46.設(shè)a、b、c都是int型變量,且a=3,b=4,c=5,則下面的表達(dá)式中,值為0的表達(dá)式是______。
A.'a'&&'b',
B.a<=b
C.a||b+c&&b-c
D.!((a<<b)&&!c||1)
47.已定義以下函數(shù):fun(char*p2,char*p1){while((*p2=*p1)!='\0'){p1++;p2++;}}
A.將p1所指字符串復(fù)制到p2所指內(nèi)存空間
B.將p1所指字符串的地址賦給指針p2
C.對(duì)p1和p2兩個(gè)指針?biāo)缸址M(jìn)行比較
D.檢查p1和p2兩個(gè)指針?biāo)缸址惺欠裼?\0'
48.下面程序段中c的二進(jìn)制值是______。chara=3,b=6,c;c=ab<<1;
A.1011B.1111C.11110D.11100
49.下列各數(shù)據(jù)類型不屬于構(gòu)造類型的是()。
A.枚舉型B.共用型C.結(jié)構(gòu)型D.數(shù)組型
50.有下列程序:main(){inty=20;do{y--;}while(--y);printf("%d\n",y--);}當(dāng)執(zhí)行程序時(shí),輸出的結(jié)果是()。
A.-1B.1C.4D.0
51.下面是對(duì)宏定義的描述,不正確的是______。
A.宏不存在類型問(wèn)題,宏名無(wú)類型,它的參數(shù)也無(wú)類型
B.宏替換不占用運(yùn)行時(shí)間
C.宏替換時(shí)先求出實(shí)參表達(dá)式的值,然后代入形參運(yùn)算求值
D.宏替換只不過(guò)是字符替代而已
52.fgetc函數(shù)的作用是從指定文件讀入一個(gè)字符,該文件的打開(kāi)方式必須是______。
A.只讀B.追加C.讀或讀寫(xiě)D.以上均正確
53.若有以下的說(shuō)明和語(yǔ)句,則在執(zhí)行for語(yǔ)句后,*(*(pt+1)+2)表示的數(shù)組元素是______。intt[3][3],*pt[3],k;for(k=0;k<3k++)pt[k]=&t[k][0]
A.t[2][0]B.t[2][2]C.t[1][2]D.t[2][1]
54.下列程序執(zhí)行后的輸出結(jié)果是()。#include<stdio.h>voidfunc(int*a,intb[]){b[0]=*a+6;}main(){inta,b[5];a=0;b[0]=3;func(&a,b);printf("%d\n",b[0]);}
A.6B.7C.8D.9
55.表達(dá)式'8'-'2'的值是()。
A.整數(shù)6B.字符6C.表達(dá)式不合法D.字符8
56.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){inta=3,b=2,c=1;if(a<b)if(b<O)c=0;elsec++;printf("%d\n",c);}
A.0B.2C.1D.3
57.當(dāng)下面的程序運(yùn)行后,變量c的值為_(kāi)_____。main(){inta=45,b=27,c=0;c=max(a,b);}intmax(x,y)intx,y;{intz;if(x>y)z=x;elsez=y;return(z);}
A.45B.27C.0D.72
58.若有以下定義和語(yǔ)句,則輸出結(jié)果是______。int**pp,*p,a=10,b=20;pp=&p;p=&a;p=&b;printf("%d\n",*p,**pp);
A.10,20B.10,10C.20,10D.20,20
59.下列關(guān)于隊(duì)列的敘述中正確的是______。A.在隊(duì)列中只能插入數(shù)據(jù)B.在隊(duì)列中只能刪除數(shù)據(jù)C.隊(duì)列是先進(jìn)先出的線性表D.隊(duì)列是先進(jìn)后出的線性表
60.有以下程序
#include<stdlib.h>
gtruetNODE
{intnum;structNODE*next;};
main()
{
structNODE*p,*q,*r;
p=(structNODE*)malloc(sizeof(structNODE));
q=(structNODE*)malloc(sizeof(structNODE));
r=(structNODE*)malloc(sizeef(structNODE));
p->num=10;q->num=20;r->num=30;
p->next=q;q->next-r;
printf("%d\n",p->num+q->next->num);
}
程序運(yùn)行后的輸出結(jié)果是
A.10B.20C.30D.50
四、選擇題(20題)61.設(shè)有以下定義uniondata{intd1;floatd2;)demo;則下面敘述中錯(cuò)誤的是()。A.變量demo與成員d2所占的內(nèi)存字節(jié)數(shù)相同
B.變量demo中各成員的地址相同
C.變量demo和各成員的地址相同
D.若給demo.d1賦99后,demo.d2中的值是99.0
62.有以下程序程序執(zhí)行后的輸出結(jié)果是()。
A.y=-IB.y=oC.y=lD.while構(gòu)成無(wú)限循環(huán).
63.在下列給出的表達(dá)式中,與while(E)中的(E)不等價(jià)的表達(dá)式是()。A.(!E==0)B.(E>0||E<0)C.(E==0)D.(E!=0)
64.
65.
66.
67.有以下程序程序運(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.2,3,1,6,8,7,5,4,10,9,
D.10,9,8,7,6,1,2,3,4,5,
68.
69.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
70.下列鏈表中,其邏輯結(jié)構(gòu)屬于非線性結(jié)構(gòu)的是()0、
A.雙向鏈表
B.帶鏈的棧
C.二叉鏈表
D.循環(huán)鏈表
71.
72.表示關(guān)系M<=N<=P的C語(yǔ)言表達(dá)式為()。
A.(M<=N.AND(N<=P.
B.(M<=N.&&(N<=P.
C.(M<=N<=P.
D.(M<=N.&(N<=P.
73.在結(jié)構(gòu)化程序設(shè)計(jì)中,模塊劃分的原則是()。
A.各模塊應(yīng)包括盡量多的功能
B.各模塊的規(guī)模應(yīng)盡量大
C.各模塊之間的聯(lián)系應(yīng)盡量緊密
D.模塊內(nèi)具有高內(nèi)聚度,模塊間具有低耦合度
74.下述程序執(zhí)行的輸出結(jié)果是()。
#include<stdio.h>
main()
{chara[2][4];,
strcpy(a。"are");strcpy(a[1],"you");
a[o][3]=&;
printf("%s\n",a);
}
A.are&you
B.you
C.are
D.&
75.
76.
77.數(shù)據(jù)庫(kù)管理系統(tǒng)是()。
A.操作系統(tǒng)的一部分B.在操作系統(tǒng)支持下的系統(tǒng)軟件C.一種編譯系統(tǒng)D.一種操作系統(tǒng)
78.
79.設(shè)有定義:intX=2;,以下表達(dá)式中,值不為6的是()。
A.2*x.x+=2B.x++,2*xC.x*=(1+x)D.x*!x+1
80.
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)fIm和funx的功能是:用二分法求方程的一個(gè)根,并要求絕對(duì)誤差不超過(guò)0.001。
.例如,若給m輸入一100,n輸入90,則函數(shù)求得的二個(gè)根為2.000。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:
六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開(kāi)考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,請(qǐng)編寫(xiě)函數(shù)fun(),該函數(shù)的功能是求出二維數(shù)組周邊元素之和,作為函數(shù)值返回。二維數(shù)組中的值在主函數(shù)中賦予。例如,若二維數(shù)組中的值為13579299946999813570則函數(shù)值為61。注意:部分源程序在文件prog1.c中。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:1#include2#include3#include4#defineM45#defineN56intfun(inta[m][n])7{89}10voidmain()11{12FILE*wf;13intaa[M][N]={{1,3,5,7,9},{2,9,9,9,4},{6,9,9,9,8},{1,3,5,7,0}};14inti,j,y;15system("CLS");16printf("Theoriginaldatais:\n");17for(i=0;i<m;i++)18{for(j=0;j<n;j++)19printf("%6d",aa[i][j]);20printf("\n");21}22y=fun(aa);23printf("\nThesum:%d\nM,y);24printf("\n");25/******************/26wf=fopen("out.dat","w");27fprintf(wf,"%d",y);28fclose(wf)29/******************/30}
參考答案
1.C
2.B在函數(shù)中允許有多個(gè)return語(yǔ)句,但每次調(diào)用只能有一個(gè)return語(yǔ)句被執(zhí)行,因此只能返回一個(gè)函數(shù)值,A選項(xiàng)描述錯(cuò)誤。定義成void類型的函數(shù),不允許從該函數(shù)取得返回值,也不允許使用return語(yǔ)句,C選項(xiàng)描述錯(cuò)誤。沒(méi)有return語(yǔ)句的函數(shù)在執(zhí)行到函數(shù)的最后一條語(yǔ)句后會(huì)自動(dòng)返回到調(diào)用處,D選項(xiàng)描述錯(cuò)誤。故本題答案為B選項(xiàng)。
3.BB。【解析】設(shè)計(jì)軟件結(jié)構(gòu),是在軟件概要設(shè)計(jì)階段進(jìn)行的,而概要設(shè)計(jì)屬于軟件開(kāi)發(fā)期。
4.B
5.B
6.CA、B、D選項(xiàng)的含義均為:a的值如果為0,輸出y的值,否則輸出x的值。而C選項(xiàng)的含義是:a的值為0時(shí)輸出x的值,不為0時(shí)輸出y的值,與其他選項(xiàng)正好相反。故本題答案為C選項(xiàng)。
7.D
8.C解析:軟件工程是解決軟件項(xiàng)目的管理、軟件開(kāi)發(fā)過(guò)程中的技術(shù)、軟件產(chǎn)品的生產(chǎn)率等問(wèn)題,它的主要思想是強(qiáng)調(diào)在軟件開(kāi)發(fā)過(guò)程中需要應(yīng)用工程化原則。
9.C由題目的已知條件函數(shù)fun的定義形式voidfun(charch,floatx){…)可知第一個(gè)形參為字符型,所以A不符合,第二個(gè)形參為精度型,所以D不符合,函數(shù)fun定義為void型(無(wú)論返回值型),故其沒(méi)有返回值,所以選項(xiàng)B錯(cuò)誤。選項(xiàng)C的第一個(gè)實(shí)參的類型為字符型,第二個(gè)實(shí)參的類型為單精度型,與函數(shù)fun的形式參數(shù)的類型相符合,所以選項(xiàng)C為正確答案。
10.C解析:本題中第一行代碼對(duì)指針P進(jìn)行了初始化,其指向數(shù)組a的第6個(gè)元素,在其后的操作中p的值也沒(méi)有改變過(guò),所以最后輸出*p=*\u3000\u3000(p+0)\u3000\u3000=a\u3000[5]\u3000=6,而第二行代碼中對(duì)q指向的值進(jìn)行賦值,等價(jià)于*q=a[10]=11,所以輸出結(jié)果*q為11。
11.C解析:選項(xiàng)A中for和case為C語(yǔ)言中的保留字,不能作為用戶標(biāo)志符,故A錯(cuò)誤。選項(xiàng)B中的4d其開(kāi)頭的第一個(gè)為數(shù)字,而在C語(yǔ)言中規(guī)定,第一個(gè)字符必須為字母或者下劃線,故B錯(cuò)誤;選項(xiàng)D中void為C語(yǔ)言中的保留字,不能作為用戶標(biāo)志符,故D錯(cuò)誤。所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。
12.C
13.B
14.A
15.C在for循環(huán)中,當(dāng)y的值為9、6或3時(shí),執(zhí)行輸出語(yǔ)句,輸出表達(dá)式“——y”的值。y先自減1,然后再輸出y的值。
16.A用typedef沒(méi)有增加新類型,所以選擇A)。
17.A解析:順序存儲(chǔ)結(jié)構(gòu)就是用一組地址連續(xù)的存儲(chǔ)單元依次存儲(chǔ)該線性表中的各個(gè)元素,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)序號(hào)是不連續(xù)的,并且各結(jié)點(diǎn)在存儲(chǔ)空間中的位置關(guān)系與邏輯關(guān)系也不一致,所以選項(xiàng)A是正確的。兩者都可以存儲(chǔ)線性的、有序的邏輯結(jié)構(gòu),所以選項(xiàng)B、C不正確。順序結(jié)構(gòu)使用的是連續(xù)物理空間,鏈?zhǔn)浇Y(jié)構(gòu)可以使用零散的物理空間存儲(chǔ),鏈?zhǔn)浇Y(jié)構(gòu)更靈活,不存在誰(shuí)節(jié)約空間的說(shuō)法,所以選項(xiàng)D不正確。
18.A
19.DC語(yǔ)言的合法的標(biāo)識(shí)符的命名規(guī)則是:標(biāo)識(shí)符可以由字母、數(shù)字和下劃線組成,并且第1個(gè)字符必須是字母或下劃線。選項(xiàng)D錯(cuò)誤。本題答案為D選項(xiàng)。
20.C解析:外部變量在編譯時(shí)由系統(tǒng)分配永久的內(nèi)存空間,所以外部變量的類型不是自動(dòng)存儲(chǔ)類別。
21.時(shí)間時(shí)間解析:算法的復(fù)雜度主要指時(shí)間復(fù)雜度和空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量;算法的空間復(fù)雜度,一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。
22.線性結(jié)構(gòu)線性結(jié)構(gòu)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)元素之間的邏輯關(guān)系,分為線性結(jié)構(gòu)和非線性結(jié)構(gòu)。常見(jiàn)的線性結(jié)構(gòu)有線性表、棧和隊(duì)列等,常見(jiàn)的非線性結(jié)構(gòu)有樹(shù)、二叉樹(shù)等。
23.自然連接自然連接解析:在關(guān)系運(yùn)算中,自然連接運(yùn)算是對(duì)兩個(gè)具有公共屬性的關(guān)系所進(jìn)行的運(yùn)算。
24.817
25.n/=10或n=n/10n/=10或n=n/10解析:每次循環(huán)把n除以10所得的商賦給n。
26.c=1x=Oy=Oz=1
27.實(shí)體完整性實(shí)體完整性解析:關(guān)系模型中的完整性是指數(shù)據(jù)庫(kù)中數(shù)據(jù)的正確性和一致性。為了維護(hù)數(shù)據(jù)庫(kù)中數(shù)據(jù)與現(xiàn)實(shí)世界的一致性,關(guān)系數(shù)據(jù)庫(kù)的插入、刪除、修改操作必須遵循3類完整性規(guī)則。關(guān)系模型的3類完整性指的是實(shí)體完整性、參照完整性和用戶定義的完整性。
28.fopenfopen解析:函數(shù)fopen的原型為FILE*fopen(char*filename,char*mode),功能為以mode指定的方式打開(kāi)名為filename的文件;函數(shù)fseek的原型為intfseek(FILE*fp,longoffset,intbase),功能為將fp所指向的文件的位置指針移到以base所指出的位置為基準(zhǔn),offset為位移量的位置;函數(shù)ftell的原型為longftell(FILE*fp),功能為返回fp所指向的文件中當(dāng)前的讀寫(xiě)位置;函數(shù)fclose的原型為intfclose(FILE*fp),功能為關(guān)閉fp所指的文件,釋放文件緩沖區(qū)。
29.*t++*t++解析:要使sstrcpy函數(shù)實(shí)現(xiàn)字符串復(fù)制,必須將t字符串中的每個(gè)字符逐個(gè)復(fù)制到s字符串中,可以使用*s=*t;s++;t++,也可以寫(xiě)成*s++=*t++,因此空格處填*t++。
30.a.next=aba.next=ab解析:選項(xiàng)A)中,指針變量q保存的就是變量b的地址,選項(xiàng)B)中的p是指針變量,應(yīng)該是p->next=&b;在選項(xiàng)D)中,用*運(yùn)算符取出結(jié)構(gòu)體變量,并且保存的就是b的地址。
31.AB
32.s[j++]=s[i]
33.1919解析:根據(jù)二叉樹(shù)的性質(zhì):在任意一棵二叉樹(shù)中,度為。的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。本題中度為2的結(jié)點(diǎn)數(shù)為18,故葉子結(jié)點(diǎn)數(shù)為18+1=19個(gè)。
34.算法或程序或流程圖算法或程序或流程圖解析:算法是問(wèn)題處理方案正確而完整的描述。
35.d1.dat""rb"或"d1.dat""r+b”或"d1.dat""rb+"d1.dat','rb'或'd1.dat','r+b”或'd1.dat','rb+'解析:本題考查的知識(shí)點(diǎn)是二進(jìn)制文件的打開(kāi)方式。打開(kāi)文件的函數(shù)為fopen('文件名''mode'),其中'mode'表示文件的打開(kāi)方式.如果打開(kāi)的是二進(jìn)制文件,其mode字符串可以是:'rb''wb'、'ab'、'rb+'、'wb+'、'ab+'。'r'表示以只讀方式打開(kāi)。'w'表示以寫(xiě)方式打開(kāi),如果已有在該文件名的文件,文件中的內(nèi)容將被清空。若文件名不存在,則將創(chuàng)建該文件.'a'為追加方式打開(kāi)。若文件存在時(shí),將打開(kāi)這個(gè)文件并且在文件的末尾進(jìn)行追加.當(dāng)文件不存在,將創(chuàng)建新文件。'r='打開(kāi)一個(gè)已有在文件用于更新(可讀可寫(xiě))。'w+'創(chuàng)建一個(gè)新文件用于更新,如果文件存在,文件被重寫(xiě)(可讀可寫(xiě))。'a+'打開(kāi)用于追加,當(dāng)文件不存在時(shí),創(chuàng)建新文件,并在文件末尾進(jìn)行追加(可讀可寫(xiě))。根據(jù)題意,應(yīng)該填'd1.dat','rb'或其他等價(jià)的表達(dá)法。
36.交換排序交換排序解析:所謂排序是指將一個(gè)無(wú)序序列整理成按值非遞減順序排列成的有序序列,常用的排序方法有:交換排序、插入排序和選擇排序。其中交換排序包括冒泡排序和快速排序,插入排序包括簡(jiǎn)單插入排序和希爾排序,選擇排序包括直接選擇排序和堆排序。
37.邊界值分析法邊界值分析法解析:黑箱測(cè)試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)程序功能導(dǎo)出測(cè)試用例。常用的黑箱測(cè)試有等價(jià)類劃分、邊界值分析法和錯(cuò)誤推測(cè)法3種。
38.cdeabcdeab解析:本題考核的知識(shí)點(diǎn)是基本算法的應(yīng)用和程序的綜合分析。從分析知道m(xù)ove()函數(shù)的作用,是將形參str所指的數(shù)組依次向后左移一位,即讓該數(shù)組第一個(gè)元素的值等于第二個(gè)元素的值,接著讓第二個(gè)元素的值等于第三個(gè)元素的值,直到該數(shù)組最后第二個(gè)元素的值等于最后一個(gè)元素的值,然后讓第一個(gè)元素等于最后一個(gè)元素的值。主函數(shù)中用了一個(gè)for循環(huán)調(diào)用move()函數(shù),共循環(huán)三次。當(dāng)i=1時(shí),第一次調(diào)用move()函數(shù),使輸入到數(shù)組的s的字符串“abcde”變?yōu)椤癳abcd”,當(dāng)i=2時(shí),第二次調(diào)用move()函數(shù),使字符串“eabcd”變?yōu)椤癲eabc”,當(dāng)i=3時(shí),第三次調(diào)用move()函數(shù),使字符串“deabc”變?yōu)椤癱deab”,故最后輸出的值為“cdeab”,故該空格處應(yīng)該填“cdeab”。
39.n+1n+1解析:在任意一棵二叉樹(shù)中,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為0的結(jié)點(diǎn)多一個(gè)。
40.結(jié)構(gòu)化設(shè)計(jì)結(jié)構(gòu)化設(shè)計(jì)解析:與結(jié)構(gòu)化需求分析方法相對(duì)應(yīng)的是結(jié)構(gòu)化設(shè)計(jì)方法。結(jié)構(gòu)化設(shè)計(jì)就是采用最佳的可能方法設(shè)計(jì)系統(tǒng)的各個(gè)組成部分以及各個(gè)成分之間的內(nèi)部聯(lián)系的技術(shù)。
41.D
42.A解析:“/*”與“*/”之間的信息稱為注釋信息,在C語(yǔ)言中,允許在任何能夠插入空格符的位置插入注釋,但C語(yǔ)言的注釋不能進(jìn)行嵌套,故選項(xiàng)A正確;在C語(yǔ)言中,函數(shù)體是從花括號(hào)“{”開(kāi)始,到花括號(hào)“}”結(jié)束.但沒(méi)有規(guī)定花括號(hào)“{”和“}”只能作為函數(shù)體定界符,故選項(xiàng)B錯(cuò)誤;選項(xiàng)C中前半句是正確的,在C程序中由有一個(gè)或多個(gè)函數(shù)所組成,但不是所有的函數(shù)都由用戶自己命名,有些函數(shù)比如庫(kù)函數(shù),主函數(shù)main()就不能由用戶來(lái)命名,故選C不正確;在C語(yǔ)言中明確規(guī)定每條語(yǔ)句以分號(hào)“;”結(jié)束,分號(hào)是語(yǔ)句不可缺少的一部分,故選項(xiàng)D不正確。所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。
43.B解析:根據(jù)C語(yǔ)言的語(yǔ)法,x++是在使用x之后,再將x的值加1,在if語(yǔ)句中,x的值為5,條件不成立,執(zhí)行else后面的語(yǔ)句,因?yàn)閤的值已經(jīng)加1,為6,所以打印結(jié)果為6。
44.B
45.D解析:本題考查數(shù)組的兩個(gè)知識(shí)點(diǎn):①在C語(yǔ)言中,數(shù)組元素的個(gè)數(shù)是確定的,不允許隨機(jī)變動(dòng),數(shù)組定義好之后,它所能容納的元素的個(gè)數(shù)也就確定了;②同一個(gè)數(shù)組中所有元素的類型是一樣的。
46.D
47.A解析:fun()函數(shù)中聲明了兩個(gè)字符串指針作為形參,在其函數(shù)體中用了一個(gè)while循環(huán),首先while括號(hào)內(nèi)表達(dá)式*p2=*p1是將p1所指的內(nèi)容賦值到p2所指的存儲(chǔ)空間中,然后在判斷是否為'\\0',表達(dá)式的值為真時(shí),執(zhí)行循環(huán)體,指針p1和p2分別下移一位,當(dāng)p1指向字符,'\\0',時(shí),表達(dá)式的值為假,循環(huán)結(jié)束,故此函數(shù)的功能是將p1所指字符串復(fù)制到p2所指內(nèi)存空間中。所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。
48.B解析:C語(yǔ)言提供六種位運(yùn)算符,按優(yōu)先級(jí)由高到低的順序分別為:取反(~)、左移(<<)和右移(>>)、按位與(&)、按位異或(∧)、按位或(|)。所以表達(dá)式c=ab<<1先運(yùn)算b<<1得二進(jìn)制值為00001100,再運(yùn)算a∧00001100,最后得二進(jìn)制值00001111。
49.A本題考查高級(jí)語(yǔ)言的數(shù)據(jù)類型。其中屬于構(gòu)造類型的主要有結(jié)構(gòu)體類型、聯(lián)合體類型,即共用體類型和數(shù)組類型。
50.D解析:本題考查do…while循環(huán)。當(dāng)--y是0(即y是0)時(shí)結(jié)束循環(huán),輸出y--是先輸出y的值再將y的值減1。
51.C解析:宏替換實(shí)質(zhì)上就是字符替代,它不可能進(jìn)行計(jì)算,故C錯(cuò)誤。帶參數(shù)的宏與函數(shù)相比,宏在程序編譯之前已經(jīng)將代碼替換到程序內(nèi),執(zhí)行時(shí)不會(huì)產(chǎn)生類似于函數(shù)調(diào)用的問(wèn)題,可以說(shuō)不占用運(yùn)行時(shí)間。
52.D解析:fgetc函數(shù)是指從指定的文件讀入一個(gè)字符,該文件必須是以讀或讀寫(xiě)方式打開(kāi)的。fgetc函數(shù)的調(diào)用形式為:ch=fgetc(fp);。
53.C解析:本題考查通過(guò)指針引用數(shù)組元素。*(*(pt+1)+2)等價(jià)于*(pt[1]+2),pt[1]+2是t[1][2]的地址,故*(pt[1]+2)是t[1][2]的值。
54.A解析:函數(shù)的實(shí)參分別為變量a的地址和b數(shù)組名,函數(shù)調(diào)用時(shí)將變量a的地址傳給指針變量a,數(shù)組名b作為實(shí)參,形參也為b數(shù)組,當(dāng)數(shù)組中各元素的值發(fā)生變化,實(shí)參數(shù)組元素的值也隨之發(fā)生變化,所以輸出的b[0]應(yīng)為6。
55.A解析:在C語(yǔ)言中,雖然字符都是變?yōu)槠鋵?duì)應(yīng)的ASCII碼值來(lái)參與算術(shù)運(yùn)算的,但字符間的相對(duì)位置關(guān)系還是不變的,字符8和字符2的ASCII碼值相差仍是6。
56.C解析:本題考查if語(yǔ)句。第一個(gè)if語(yǔ)句,先判斷條件,發(fā)現(xiàn)a<b不成立,不再執(zhí)行下列的語(yǔ)句,直接執(zhí)行最后的printf輸出語(yǔ)句,然后結(jié)束程序,整個(gè)過(guò)程c的值沒(méi)有發(fā)生變化。
57.A
58.D
59.C隊(duì)列是指允許在一端進(jìn)行插入、而在另一端進(jìn)行刪除的線性表,選項(xiàng)A和選項(xiàng)B錯(cuò)誤。允許插入的一端稱為隊(duì)尾,允許刪除的一端稱為隊(duì)頭。在隊(duì)列中,最先插入的元素將最先能夠被刪除,反之,最后插入的元素將最后才能被刪除。所以,隊(duì)列又稱為“先進(jìn)先出”或“后進(jìn)后出”的線性表,它體現(xiàn)了“先來(lái)先服務(wù)”的原則,選項(xiàng)C正確,選項(xiàng)D錯(cuò)誤。
60.D解析:本題考查的知識(shí)點(diǎn)是對(duì)結(jié)構(gòu)體指針變量的正確引用與計(jì)算。主函數(shù)中首先定義了三個(gè)結(jié)構(gòu)體指針變量p,q,r。然后調(diào)用內(nèi)存分配函數(shù)分別為其分配地址空間,程序中變量q->num的值為20,指針變量q->next指向指針變量r,r->nnm的值為30,所以變量q->next->nm的值為30,因此,表達(dá)式q->num+q->next->num的值為20+30=50.所以4個(gè)選項(xiàng)中D正確。
61.D共用體變量中的所有成員共享一段公共存儲(chǔ)區(qū),所有成員的首地址相同。在每一個(gè)時(shí)刻所有的成員中只有一個(gè)有效,即只有最后一個(gè)被賦值的成員有效,其余的成員無(wú)效。
62.A當(dāng)y為。時(shí),表達(dá)式y(tǒng)一才為假,循環(huán)結(jié)束,最終y的值為一l,所以答案選擇A)。
63.B在while(E)中,表達(dá)式E可以是C語(yǔ)言中任意合法的條件表達(dá)式,但不能為空,由它來(lái)控制循環(huán)體是否執(zhí)行。在選項(xiàng)8中表達(dá)式E>0||E<0是一個(gè)邏輯表達(dá)式。
64.A
65.C
66.C
67.A本題考查的是結(jié)構(gòu)體成員的引用。在主函數(shù)main中定義了一個(gè)整型變量i和一個(gè)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 棉麻與其他天然纖維的復(fù)合創(chuàng)新
- 流動(dòng)科技館科普服務(wù)規(guī)范編制說(shuō)明
- 海洋產(chǎn)業(yè)集群空間布局
- 2025年四川大道致遠(yuǎn)供應(yīng)鏈管理公司市場(chǎng)管理招聘考試筆試試題(含答案)
- 2025年寧波侖大碶街道招聘考試筆試試題(含答案)
- 鏟車(chē)操作人員安全教育與培訓(xùn)合同
- 餐飲場(chǎng)地租賃及品牌形象設(shè)計(jì)合作協(xié)議
- 老人養(yǎng)老護(hù)理培訓(xùn)課件
- 大學(xué)黨務(wù)面試題庫(kù)及答案
- 大理體彩考試題及答案
- 2025年小學(xué)教師班主任能力提升計(jì)劃
- 鹽堿項(xiàng)目可行性研究報(bào)告
- 哈爾濱體彩考試題及答案
- 探索基于數(shù)字孿生技術(shù)的三峽升船機(jī)智能平臺(tái)的構(gòu)建與應(yīng)用
- 2025年湖北省中考道德與法治真題含答案
- 新生兒腹脹的觀察及護(hù)理
- 2025年全國(guó)統(tǒng)一高考英語(yǔ)試卷(全國(guó)一卷)含答案
- GB/T 2982-2024工業(yè)車(chē)輛充氣輪胎規(guī)格、尺寸、氣壓與負(fù)荷
- 福建省廈門(mén)市2024年高一下學(xué)期期末考試英語(yǔ)試題含解析
- 抖音快閃自我介紹(含背景音樂(lè))
- 阿里巴巴102句土話完整版(共11頁(yè))
評(píng)論
0/150
提交評(píng)論