版權(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ì)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.按照“先進(jìn)先出”組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是()。
A.隊(duì)列B.棧C.雙向鏈表D.二叉樹(shù)
2.若有定義:inta,h;通過(guò)語(yǔ)句:scanf(”%d;%d”,&a,&B.;,能把整數(shù)3賦給變量a,5賦給變量b的輸入數(shù)據(jù)是()。
A.35B.3,5C.3;5D.35
3.以下關(guān)于C語(yǔ)言的敘述中正確的是()。
A.C語(yǔ)言中的注釋不可以?shī)A在變量名或關(guān)鍵字的中間
B.C語(yǔ)言中的變量可以在使用之前的任何位置進(jìn)行定義
C.在C語(yǔ)言算術(shù)表達(dá)式的書(shū)寫(xiě)中,運(yùn)算符兩側(cè)的運(yùn)算數(shù)類型必須一致
D.C語(yǔ)言的數(shù)值常量中夾帶空格不影響常量值的正確表示
4.以下選項(xiàng)中,當(dāng)x為大于1的奇數(shù)時(shí),值為0的表達(dá)式是A.x%2==1B.x/2C.x%2!=0D.x%2==0
5.算法的空間復(fù)雜度是指()。
A.算法程序的長(zhǎng)度B.算法程序中的指令條數(shù)C.算法程序所占的存儲(chǔ)空間D.執(zhí)行算法所需要的存儲(chǔ)空間
6.若x=10010111,則表達(dá)式(3+(int)(x))&(~3)的運(yùn)算結(jié)果是()。
A.10011000B.10001100C.10101000D.10110000
7.printf函數(shù)中用到格式符%5s,其中數(shù)字5表示輸出的字符串占用5列。如果字符串長(zhǎng)度大于5,則輸出按方式()。
A.從左起輸出該字串,右補(bǔ)空格B.按原字符長(zhǎng)從左向右全部輸出C.右對(duì)齊輸出該字串,左補(bǔ)空格D.輸出錯(cuò)誤信息
8.
9.若要求在if后一對(duì)圓括號(hào)中表示a不等于0的關(guān)系,則能正確表示這一關(guān)系的表達(dá)式為()
A.a<>0B.!aC.a=0D.a
10.若某表最常用的操作是在最后一個(gè)結(jié)點(diǎn)之后插入一個(gè)結(jié)點(diǎn)或刪除最后一個(gè)結(jié)點(diǎn),則采用()存儲(chǔ)方式最節(jié)省運(yùn)算時(shí)間。
A.單鏈表B.給出表頭指針的單循環(huán)鏈表C.雙鏈表D.帶頭結(jié)點(diǎn)的雙循環(huán)鏈表
11.下列字符數(shù)組初始化語(yǔ)句中,不正確的是()。
A.charc[]=goodmorning;
B.charc[20]="goodmorning";
C.charc[]={a,b,c,d);
D.charc[]={"ffgoodmorning"};
12.下列敘述中正確的是()。
A.數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)獨(dú)立的系統(tǒng),不需要操作系統(tǒng)的支持
B.數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問(wèn)題
C.數(shù)據(jù)庫(kù)管理系統(tǒng)就是數(shù)據(jù)庫(kù)系統(tǒng)
D.以上三種說(shuō)法都不對(duì)
13.在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開(kāi)發(fā)中的階段是______。
A.詳細(xì)設(shè)計(jì)B.需求分析C.總體設(shè)計(jì)D.編程調(diào)試
14.以下是if語(yǔ)句的基本形式:
if(表達(dá)式.語(yǔ)句
其中“表達(dá)式”()。
A.必須是邏輯表達(dá)式B.必須是關(guān)系表達(dá)式C.必須是邏輯表達(dá)式或關(guān)系表達(dá)式D.可以是任意合法的表達(dá)式
15.有以下程序:#include<stdio.h>#include<stdio.h>main(){charc[6];inti=0;for(;j<6;c[i]=getchar(),i++);for(i=0;i<6;i++)putchar(c[i]);printf("\n");}如果從鍵盤(pán)上輸入:ab<回車>c<回車>def<回車>則輸出結(jié)果為_(kāi)_____。
A.abcdefB.abcdC.abcdD.abcdef
16.軟件生命周期中的活動(dòng)不包括()
A.軟件維護(hù)B.市場(chǎng)調(diào)研C.軟件測(cè)試D.需求分析
17.C語(yǔ)言函數(shù)中未指定存儲(chǔ)類的變量,其隱含類別是()
A.autoB.staticC.registerD.void
18.在KMP算法中,已知模式串為ADABCADADA,請(qǐng)寫(xiě)出模式串的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
19.在以下的敘述中,正確的是()。
A.線性表的順序存儲(chǔ)結(jié)構(gòu)優(yōu)于鏈表存儲(chǔ)結(jié)構(gòu)
B.二維數(shù)組是其數(shù)據(jù)元素為線性表的線性表
C.棧的操作方式是先進(jìn)先出
D.隊(duì)列的操作方式是先進(jìn)后出
20.計(jì)算機(jī)算法指的是()。
A.計(jì)算方法B.排序方法C.解決問(wèn)題的有限運(yùn)算序列D.調(diào)度方法
二、2.填空題(20題)21.已有定義:double*p;,請(qǐng)寫(xiě)出完整的語(yǔ)句,利用malloc函數(shù)使p指向一個(gè)雙精度型的動(dòng)態(tài)存儲(chǔ)單元______。
22.[]的任務(wù)是診斷和改正程序中的錯(cuò)誤。
23.下述函數(shù)用于統(tǒng)計(jì)一行字符中的單詞個(gè)數(shù),單詞之間用空格分隔。
wordnum(str)
charstr[];
{inti,num=0,word=0;
for(i=0;str[i]!=【】;i++)
if(【】==)word=0;
elseif(word==0)
{
word=1;
【】;
}
return(num);
}
24.下列程序段的運(yùn)行結(jié)果是______。
charstr[]="ABCD",*p=str;
printf("%d\n",*(p+3));
25.在先左后右的原則下,根據(jù)訪問(wèn)根結(jié)點(diǎn)的次序,二叉樹(shù)的遍歷可以分為三種;前序遍歷、【】遍歷和后序遍歷。
26.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
main()
{structstru
{inta;
floatb;
chard[4];
};
printf("%d\n",sizeof(structstru));}
27.以下程序的功能是根據(jù)輸入的“y”(“Y”)與“n”(“N”),在屏幕上分別顯示出“ThisisYES.”與“ThisisNO.”??瞻滋幮枰钊氲膬?nèi)容是
#include<stdio.h>
voidYesNo(charch)
{switch(ch)
{case'y':
case'Y':printf("\nThisisYES.\n");
case'n':
case'N':Printf("\nThisisNO.\n");}}
main()
{charch;
printf("\nEnte
28.fun函數(shù)的功能是:首先對(duì)a所指的N行N列的矩陣,找出各行中的最大數(shù),再求這N個(gè)最大值中最小的那個(gè)數(shù)并作為函數(shù)值返回。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
#defineN100
intfun(int(*a)[N])
{introw,col,max,min;
for(row=0;row<N;row++)
{for(max=a[row][0],col=1;col<N;col++)
if(【】)max=a[row][col];
if(row==0)min=max;
elseif(【】)min=max;
}
returnmin;
}
29.按照邏輯結(jié)構(gòu)分類,結(jié)構(gòu)可以分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),棧屬于______。
30.度為10的線性表進(jìn)行冒泡排序,最壞情況下需要比較的次數(shù)為_(kāi)_____。
31.本程序用改進(jìn)冒泡法對(duì)數(shù)組a[n]的元素從小到大排序,請(qǐng)?jiān)诔绦蚩瞻滋幪羁铡?/p>
voidbubble(inta[],intn)
{intj,k,jmax,temp;
jmax=【】;
do{
k=0;
for(j=0;j<jmax;j++)
if(a[j]>a[j+1])
{temp=a[j];a[j]=a[j+1];a[j+1]=temp;k=【】;
jmax=k;
}while(jmax>0);}
32.有以下定義語(yǔ)句,則sizeof(a)的值是【】,而sizeof(a.share)的值是【】。
structdate
{intday;
intmouth;
intyear,
union{intshare1;
floatshare2;
}share;
}a;
33.若有以下程序
intf(intx,inty)
{return(y-x)*x;}
main()
{inta=3,b=4,c=5,d;
d=f(f(3,4),f(3,5));
ptintf("%d\n",D);
執(zhí)行后輸出結(jié)果是______。
34.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu),循環(huán)隊(duì)列屬于______結(jié)構(gòu)。
35.以下程序中給指針p分配3個(gè)double型動(dòng)態(tài)內(nèi)存單元,請(qǐng)?zhí)羁铡?/p>
#include<stdllb.h>
main()
{double*p;
p=(double*)malloc(【】);
p[0]=1.5;p[1]=2.5;p[2]=3.5
printf("%f%f%f\n",p[0],p[1],p[2]);
}
36.設(shè)x和y均為int型變量,且x=1,y=2,則表達(dá)式2.0+y/x的值為【】。
37.下列程序的輸出結(jié)果是【】。
#definePR(a)printf("%d\t",(int)(a))
#definePRINT(a)PR(a);printf("ok!")
main()
{inti,a=1;
for(i=0;i<3;i++)
PRINT(a+i);
printf("\n");}
38.E-mail地址由用戶名和域名兩部分組成,這兩部分的分隔符為【】。
39.以下程序運(yùn)行后輸出結(jié)果是【】。
#include<stdio,h>
main()
{inta,b,c;
a=10;b:20;c=(a%b<1)‖(a/b>1);
printf("%d%d%d\n",a,b,c);
}
40.結(jié)構(gòu)化分析方法是面向______進(jìn)行分析的方法。
三、1.選擇題(20題)41.以下程序的輸出結(jié)果是#include<stdio.h>main(){unionun{inti;longk;charc;};structbyte{inta;longb;unionunc;}r;printf("%d\n",sizeof(r));}
A.10B.13C.7D.8
42.位運(yùn)算071∧052的八進(jìn)制值是()
A.52B.23C.17D.71
43.C語(yǔ)言中while和do-while循環(huán)的主要區(qū)別是
A.do-while的循環(huán)體至少無(wú)條件執(zhí)行一次
B.while的循環(huán)控制條件比do-while的循環(huán)控制條件更嚴(yán)格
C.do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)
D.do-while的循環(huán)體不能是復(fù)合語(yǔ)句
44.下述函數(shù)功能是______。intfun(char*x){char*y=x;while(*y++);returny-x-1;}
A.求字符串的長(zhǎng)度B.求字符串存放的位置C.比較兩個(gè)字符串的大小D.將字符串x連接到字符串y后面
45.下列數(shù)據(jù)結(jié)構(gòu)中能應(yīng)用二分查找的是()。
A.有序線性鏈表B.有序順序表C.順序存儲(chǔ)的棧D.順序存儲(chǔ)的隊(duì)列
46.若變量已正確定義,要求通過(guò)scanf("%c%d%c%d",&c1,&a,&c2,&B)語(yǔ)句給變量a和b分別賦32和45,給變量c1和c2分別賦字符A和B;下列選項(xiàng)中數(shù)據(jù)從第1列開(kāi)始輸入,正確的輸入形式是()。
A.A32<CR>B45<CR>B.A45<CR>B32<CR>C.A32B45<CR>D.A32B45<CR>
47.#define能作簡(jiǎn)單的替代,用宏來(lái)替代計(jì)算多項(xiàng)式5*x*x+5*x+5的值的函數(shù)f,正確的宏定義語(yǔ)句為()。
A.#definef(x)5*x*x+5*x+5
B.#definef5*X*x+5*x+5
C.#definef(a)(5*a*a+5*a+5)
D.#define(5*x*x+5*x+5)f(x)
48.設(shè)inti=10,j=11,k=12,x=0;執(zhí)行語(yǔ)句:if(i>5)if(j>100)if(k>11)X=3;elsex=4;elsex=5;后x的值是()。
A.0B.3C.4D.5
49.有以下程序
#include<stdio.h>
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:a++;break;
case1:b++;break;
}
case2:a++;b++;break;
case3:a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
程序的運(yùn)行結(jié)果是
A.a=1,b=0B.a=2,b=2C.a=1,b=1D.a=2,b=1
50.數(shù)據(jù)結(jié)構(gòu)作為計(jì)算機(jī)的一門學(xué)科,主要研究數(shù)據(jù)的邏輯結(jié)構(gòu)、對(duì)各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算,以及()。A.A.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)B.計(jì)算方法C.數(shù)據(jù)映象D.邏輯存儲(chǔ)
51.有以下程序:#definef(x)x*xmain(){inti;i=f(4+4)/f(2+2);printf("%d\n",i);}執(zhí)行后輸出結(jié)果是
A.28B.22C.16D.4
52.請(qǐng)讀程序:#include<stdio.h>main(){inta=5,b=7,c=9;pintf("%d,%d,"a,b,C);printf("%d,%d",a,D);}上面程序的輸出結(jié)果是_______。
A.5,7,9,5,7B.5,7,5,7C.5,7,不定7,9D.5,7,5,7,不定
53.下面程序輸出的結(jié)果是()。#include<stdio.h>main(){char*a="1234";fun(a);printf("\n");}fun(char*s){chart;if(*s){t=*S++;fun(s);}elsereturn;if(t!='\0')putchar(t);}
A.1234B.4321C.1324D.4231
54.下列敘述中,不屬于軟件需求規(guī)格說(shuō)明書(shū)的作用的是()
A.便于用戶,開(kāi)發(fā)人員進(jìn)行理解和交流
B.反映出用戶問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù)
C.作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)
D.便于開(kāi)發(fā)人員進(jìn)行需求分析
55.若有如下定義:ints[3]則下面表達(dá)式中不能代表數(shù)組元素s[1]的地址的是()
A.&s[1]B.&s[0]+1C.s+1D.s++
56.以下數(shù)組定義中錯(cuò)誤的是()。
A.intx[][3]={0};
B.intx[2][3]={{1,2},{3,4},{5,6}};
C.intx[][3]={{1,2,3},{4,5,6}};
D.intx[2][3]={1,2,3,4,5,6};
57.以下4個(gè)程序中,完全正確的是
A.#include<stdio.h>main();{/*programming*/printf("programming!\n");}
B.#include<stdio.h>main();{/*/programming/*/printf("programming!\n");}
C.#include<stdio.h>main(){/*/*programming*/*/printf("programming!\n");}
D.include<stdio.h>main(){/*programming*/printf("programming!\n");}
58.TurboC將對(duì)以下程序______。main(){intx,y;y=creat(&x):printf("%d\n",y);}creat(inta){returna++;}
A.編譯時(shí)會(huì)給出出錯(cuò)信息
B.順利進(jìn)行編譯、連接、執(zhí)行,不報(bào)任何錯(cuò)誤
C.順利通過(guò)編譯、連接,但不能執(zhí)行
D.順利通過(guò)編譯,但連接出錯(cuò)
59.有以下程序:main(){inti=1,j=1,k=2;if((j++‖k++)&&i++)printf("%d,%d,%d\n",i,j,k);}執(zhí)行后的輸出結(jié)果是______。
A.1,1,2B.2,2,1C.2,2,2D.2,2,3
60.關(guān)于return語(yǔ)句,正確的說(shuō)法是______。
A.在主函數(shù)和其他函數(shù)中均可出現(xiàn)
B.必須在每個(gè)函數(shù)中出現(xiàn)
C.可以在同一個(gè)函數(shù)中出現(xiàn)多次
D.只能在除主函數(shù)之外的函數(shù)中出現(xiàn)一次
四、選擇題(20題)61.有以下程序:
voidfunl(char*p)
{char*q;
q=P;
while(*q!='\O')
{(*q)++;q++;}
}
main
{chara[]={"Program"),*P;
p=&a[3];funl(p);
printf("%s\n",a);
}
程序執(zhí)行后的輸出結(jié)果是()。A.A.ProhsbnB.PrphsbnC.ProgsbnD.Program
62.開(kāi)發(fā)大型軟件時(shí),產(chǎn)生困難的根本原因是()
A.大系統(tǒng)的復(fù)雜性B.人員知識(shí)不足C.客觀世界千變?nèi)f化D.時(shí)間緊、任務(wù)重
63.軟件(程序.調(diào)試的目標(biāo)是()。
A.診斷和改正程序中的錯(cuò)誤
B.盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤
C.發(fā)現(xiàn)并改正程序中的所有錯(cuò)誤
D.確定程序中錯(cuò)誤的性質(zhì)
64.下面不屬于軟件設(shè)計(jì)階段任務(wù)的是()。
A.制訂軟件確認(rèn)測(cè)試計(jì)劃B.數(shù)據(jù)庫(kù)設(shè)計(jì)C.軟件總體設(shè)計(jì)D.算法設(shè)計(jì)
65.
66.耦合性和內(nèi)聚性是對(duì)模塊獨(dú)立性度量的兩個(gè)標(biāo)準(zhǔn)。下列敘述中正確的是()。
A.提高耦合性降低內(nèi)聚性有利于提高模塊的獨(dú)立性
B.降低耦合性提高內(nèi)聚性有利于提高模塊的獨(dú)立性
C.耦合性是指一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度
D.內(nèi)聚性是指模塊間互相連接的緊密程度
67.
68.有下列程序:intfunl(doublea){returna*=a;)intfun2(doublex,doubley){doublea=0,b=0;a=funl(x);b=funl(y);return(int)(a+h);}main{doublew;w=fun2(1.1,2.0),……)程序執(zhí)行后變量w中的值是()。A.5.21B.5C.5.0D.0.0
69.在C程序中有如下語(yǔ)句:char*func(intx,inty);它是()。
A.對(duì)函數(shù)func的定義。B.對(duì)函數(shù)func的調(diào)用。C.對(duì)函數(shù)func的原型說(shuō)明。D.不合法的
70.
71.下列敘述中正確的是()。
A.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行查找,最壞情況下需要的比較次數(shù)為n
B.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為n/2
C.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為log2n
D.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為nlog2n
72.一個(gè)工作人員可以使用多臺(tái)計(jì)算機(jī),而一臺(tái)計(jì)算機(jī)可被多個(gè)人使用,則實(shí)體工作人員與實(shí)體計(jì)算機(jī)之間的聯(lián)系是()。
A.一對(duì)一B.一對(duì)多C.多對(duì)多D.多對(duì)一
73.
74.下列程序的輸出結(jié)果是()。#include<stdio.h>intb=2:intfunc(int*a){b+=*a;returnb;}main{inta=1,t=2;t+=func(&a):printf("%d\n",t);}A.4B.5C.6D.8
75.
76.
77.
78.有以下程序main(){union{charch[2];intd;}s;s.d=0x4321;printf("%x,%x\n",s.ch[0],s.ch[1]);}在16位編譯系統(tǒng)上,程序執(zhí)行后的輸出結(jié)果是______。A.21,43B.43,21C.43,00D.21,00
79.
有以下程序
#include<stdio.h>
inta=1;
intf(intc)
{staticinta=2:
c=c+1:
return(a++)+C;
}
main
(inti,k=0;
for(i=0;i<2;i++){inta=3;k+=f(a);}
k+=a:
printf("%d\n",k);
}
程序運(yùn)行結(jié)果是()。
A.14B.15C.16D.17
80.HTTP協(xié)議的GET請(qǐng)求方法可以獲取()類型的數(shù)據(jù)。
A.HTML文檔B.圖片C.視頻D.以上都可以
五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)proc()的功能是:將長(zhǎng)整型數(shù)中為偶數(shù)的數(shù)依次逆向取出,構(gòu)成一個(gè)新數(shù)放在t中。高位在低位,低位在高位。例如,當(dāng)s中的數(shù)為12345678時(shí),則t中的數(shù)為8642。
請(qǐng)修改函數(shù)proc()中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,M名學(xué)生的數(shù)據(jù)已在主函數(shù)中放人結(jié)構(gòu)體數(shù)組stu中。請(qǐng)編寫(xiě)函數(shù)proc(),它的功能是:函數(shù)返回指定成績(jī)的學(xué)生數(shù)據(jù),指定的成績(jī)?cè)谥骱瘮?shù)中輸入。若沒(méi)找到指定的成績(jī),在結(jié)構(gòu)體變量中給學(xué)號(hào)置空串,給成績(jī)置-1,作為函數(shù)值返回。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填人所編寫(xiě)的若干語(yǔ)句。試題程序:
參考答案
1.A隊(duì)列是一種特殊的線性表,只允許在表的一端插八元素,在表的另一端刪除元素,插入元素的一端叫“隊(duì)尾”,刪除元素的一端叫“隊(duì)頭”。先插入的元素先被刪除,是按“先進(jìn)先出”的原則組織數(shù)據(jù)的。
【知識(shí)拓展】“隊(duì)列”和“棧”都是一種特殊的線性表。之所以稱之為“隊(duì)列”,其形式如“排隊(duì)”。要講究“先來(lái)后到”,先進(jìn)先出,后進(jìn)后出。
2.C輸入數(shù)據(jù)的格式必須與seanf()的格式控制串完全匹配,所以輸入時(shí)必須在3和5之間輸入“;”。
3.B解析:C語(yǔ)言中注釋可以放在任何位置,選項(xiàng)A錯(cuò)誤;C語(yǔ)言中的變量只要在使用之前定義即可,位置可以是使用前的任何位置,故選項(xiàng)B正確;C語(yǔ)言中兩側(cè)數(shù)據(jù)類型可以不一致,系統(tǒng)可進(jìn)行強(qiáng)制類型轉(zhuǎn)換,選項(xiàng)C錯(cuò)誤;C語(yǔ)言數(shù)值常量中不允許存在空格,選項(xiàng)D錯(cuò)誤。
4.D解析:因?yàn)閤的值為大于1的奇數(shù),所以x除以2的余數(shù)等于1,因此,選項(xiàng)A)、C)中表達(dá)式的結(jié)果為真,不為0;對(duì)于選項(xiàng)B)來(lái)說(shuō),x除以2的商不會(huì)等于0;選項(xiàng)D)中表達(dá)式的結(jié)果為假,即等于0。
5.D解析:算法的復(fù)雜度主要包括算法的時(shí)間復(fù)雜度和算法的空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量;算法的空間復(fù)雜度一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。
6.A解析:本題主要考查運(yùn)算表達(dá)式的運(yùn)算。3+(int)(x)的結(jié)果是10011010,~3的結(jié)果是11111100,二者邏輯與得10011000。
7.B
8.D
9.D
10.D
11.A本題考查兩個(gè)概念:①用單引號(hào)括起來(lái)的一個(gè)字符常量只能存放一個(gè)字符;②℃語(yǔ)言中沒(méi)有字符串變量,只能用字符數(shù)組來(lái)存儲(chǔ)字符串。
12.B解析:本題考查數(shù)據(jù)庫(kù)系統(tǒng)的基本概念和知識(shí)。
數(shù)據(jù)庫(kù)系統(tǒng)除了數(shù)據(jù)庫(kù)管理軟件之外,還心須有其他相關(guān)軟件的支持。這些軟件包括操作系統(tǒng)、編譯系統(tǒng)、應(yīng)用軟件開(kāi)發(fā)工具等。對(duì)于大型的多用戶數(shù)據(jù)庫(kù)系統(tǒng)和網(wǎng)絡(luò)數(shù)據(jù)庫(kù)系統(tǒng),還需要多用戶系統(tǒng)軟件和網(wǎng)絡(luò)系統(tǒng)軟件的支持。因此,選項(xiàng)A的說(shuō)法是錯(cuò)誤的。
數(shù)據(jù)庫(kù)可以看成是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、大量的、有結(jié)構(gòu)的和可共享的數(shù)據(jù)集合。因此,數(shù)據(jù)庫(kù)具有為各種用戶所共享的特點(diǎn)。不同的用戶可以使用同一個(gè)數(shù)據(jù)庫(kù),可以取出它們所需要的子集,而且容許子集任意重疊。數(shù)據(jù)庫(kù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問(wèn)題。因此,選項(xiàng)B的說(shuō)法是正確的。
通常將引入數(shù)據(jù)庫(kù)技術(shù)的計(jì)算機(jī)系統(tǒng)稱為數(shù)據(jù)庫(kù)系統(tǒng)。一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)通常由五個(gè)部分組成,包括相關(guān)計(jì)算機(jī)的硬件、數(shù)據(jù)庫(kù)集合、數(shù)據(jù)庫(kù)管理系統(tǒng)、相關(guān)軟件和人員。
因此,選項(xiàng)C的說(shuō)法是錯(cuò)誤的。
因此,本題的正確答案是選項(xiàng)B。
13.C解析:軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計(jì)包括:基于功能層次結(jié)構(gòu)建立系統(tǒng)、按功能劃分成模塊的層次結(jié)構(gòu)、確定每個(gè)模塊的功能、建立與已確定的軟件需求的對(duì)應(yīng)關(guān)系、確定模塊間的調(diào)用關(guān)系和模塊間的接口、評(píng)估模塊劃分的質(zhì)量等方面。詳細(xì)設(shè)計(jì)的任務(wù)是:在使用程序設(shè)計(jì)語(yǔ)言編制程序以前,對(duì)所采用算法的邏輯關(guān)系進(jìn)行分析,設(shè)計(jì)出全部必要的過(guò)程細(xì)節(jié),并給予清晰的表達(dá)。需求分析是指用戶對(duì)目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計(jì)約束等方面的期望。需求分析的任務(wù)是發(fā)現(xiàn)需求、求精、建模和定義需求,通常包括:功能需求、性能需求、環(huán)境需求、可靠性需求、安全保密要求、用戶界面需求、資源使用需求、成本消耗需求、開(kāi)發(fā)進(jìn)度需求等。編程調(diào)試的任務(wù)是診斷和改正程序中潛在的錯(cuò)誤。綜上所述。軟件功能分解只能發(fā)生在總體設(shè)計(jì)階段。
14.D解析:本題主要考查關(guān)于if語(yǔ)句的說(shuō)明,if后面圓括號(hào)中的表達(dá)式,可是任意合法的C語(yǔ)言表達(dá)式(如:邏輯表達(dá)式、關(guān)系表達(dá)式、算術(shù)表達(dá)式、賦值表達(dá)式等),也可以是任意類型的數(shù)據(jù)(如:整型、實(shí)型、字符型、指針型等。)
15.C解析:1.getchar():此函數(shù)的作用是從終端(或系統(tǒng)隱含指定的輸入設(shè)備)輸入一個(gè)字符。
2.putchar():此函數(shù)的作用是向終端輸出一個(gè)字符,也可以輸出控制字符。本題在輸入字符時(shí),ab和c后面的回車符分別賦給了c[2]和c[4],所以,正確答案為C。
16.B【答案】:B
【知識(shí)點(diǎn)】:軟件生命周期
【解析】:一個(gè)軟件產(chǎn)品或軟件系統(tǒng)要經(jīng)歷孕育、誕生、成長(zhǎng)、成熟、衰亡等階段,一般稱為軟件生命周期。它把整個(gè)軟件生存周期劃分為若干階段,使得每個(gè)階段有明確的任務(wù),使規(guī)模大,結(jié)構(gòu)復(fù)雜和管理復(fù)雜的軟件開(kāi)發(fā)變的容易控制和管理。通常,軟件生存周期包括可行性分析與開(kāi)發(fā)項(xiàng)計(jì)劃、需求分析、設(shè)計(jì)(概要設(shè)計(jì)和詳細(xì)設(shè)計(jì))、編碼、測(cè)試、維護(hù)等活動(dòng),可以將這些活動(dòng)以適當(dāng)?shù)姆绞椒峙涞讲煌碾A段去完成。故選B。
17.A
18.A
19.B
20.C
21.p=(double*)malloc(sizeof(double)):或p=(double*)malloc(8);p=(double*)malloc(sizeof(double)):或p=(double*)malloc(8);解析:malloc()函數(shù)只有一個(gè)參數(shù),該參數(shù)指定了需要分配多少字節(jié)的內(nèi)存。然后將分配好的內(nèi)存塊的首地址作為void*(未知類型指針)返回.故標(biāo)準(zhǔn)的調(diào)用形式應(yīng)該寫(xiě)成:
p(double*)malloc(sizeof(double));
22.程序調(diào)試程序調(diào)試解析:程序調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤。它與軟件測(cè)試不同,軟件測(cè)試是盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤。先要發(fā)現(xiàn)軟件的錯(cuò)誤,然后借助于一定的調(diào)試工具去找出軟件錯(cuò)誤的具體位置。軟件測(cè)試貫穿整個(gè)軟件生命期,調(diào)試主要在開(kāi)發(fā)階段。
23.\0'或0或NULLstr[i]num++或num=num+1或num+=1\\0'或0或NULL\r\nstr[i]\r\nnum++或num=num+1或num+=1解析:觀察題目要求,可以知道以下幾點(diǎn):
①for循環(huán)的結(jié)束條件應(yīng)當(dāng)是:str[i]已是字符串的最后一個(gè)字符;
②str[i]代表字符串sb中的第i+1個(gè)字符:
③整型變量num的值是要記錄的單詞的個(gè)數(shù)。
C語(yǔ)言中規(guī)定字符串的最后一個(gè)字符是一個(gè)隱含的字符串結(jié)束符“\\0”,所以在題中第一個(gè)空中應(yīng)填寫(xiě)“\\0”;題中第二個(gè)空應(yīng)填寫(xiě)“str[i]”,以判斷當(dāng)前位置的字符是否為空格;題中第二個(gè)空中應(yīng)當(dāng)填寫(xiě)“num++”,通過(guò)變量num的加1累加得到字符串中的單詞個(gè)數(shù)。
24.6868解析:本題考查如何用指針引用數(shù)組元素。本題先定義了一個(gè)指向字符型數(shù)組str的指針p,指針p指向數(shù)組str的首地址,p+3將指針指向str[3],*(p+3)指的是字符“D”,輸出時(shí)是以“%d”格式輸出的,即輸出其相應(yīng)ASCII碼值68。
25.中序中序解析:在先左后右的原則下,根據(jù)訪問(wèn)根結(jié)點(diǎn)的次序,二叉樹(shù)的遍歷可以分為三種:前序遍歷、中序遍歷和后序遍歷.前序遍歷是指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹(shù)與遍歷右子樹(shù)這三者中,首先訪問(wèn)根結(jié)點(diǎn),然后遍歷左子樹(shù),最后遍歷右子樹(shù);并且遍歷左、右子樹(shù)時(shí),仍然先訪問(wèn)根結(jié)點(diǎn),然后遍歷左子樹(shù),最后遍歷右子樹(shù)。中序遍歷指在訪問(wèn)根結(jié)點(diǎn)、遍歷左了樹(shù)與遍歷右子樹(shù)這三者中,首先遍歷左子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹(shù):并且遍歷左、右子樹(shù)時(shí),仍然先遍歷左子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹(shù)。后序遍歷指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹(shù)與遍歷右子樹(shù)這三者中,首先遍歷右子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷左子樹(shù);并且遍歷左、右子樹(shù)時(shí),仍然光遍歷右子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷左子樹(shù)。
26.14
27.
28.a[row][c01]>max或max<a[row][co1]max<min或min>maxa[row][c01]>max或max<a[row][co1]\r\nmax<min或min>max解析:本題有兩層for循環(huán),函數(shù)首先定義了整型變量row、col、max和min,其中row用于外循環(huán)的循環(huán)變量,col用于內(nèi)循環(huán)的循環(huán)變量,max記錄每行中的最人值,min記錄所有行最大值中的最小值。在內(nèi)循環(huán)中,首先給max賦初值為每行的第0個(gè)元素值,然后從第一個(gè)開(kāi)始依次與max進(jìn)行比較。如果大于max則將其值賦給max,當(dāng)每一行循環(huán)結(jié)束,max記錄了每一行的最大值。所以第一個(gè)空應(yīng)該填a[row][co1]>max或max<a[row][co1)。退出內(nèi)循環(huán),在第一次退出內(nèi)循環(huán)時(shí),將min賦初值為第0行的max,然后在每次退出內(nèi)循環(huán)時(shí),將min和每行的max比較,如果大于max,則將max值賦min,所以第二個(gè)空應(yīng)該填max<min或min>max,當(dāng)退出外循環(huán)時(shí),rain為所有行中的最大值的最小值。
29.線性結(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ù)等。
30.4545解析:對(duì)于長(zhǎng)度為N的線性表,在最壞情況下(即線性表中元素現(xiàn)在的順序與目標(biāo)順序正好相反),冒泡排序需要經(jīng)過(guò)N/2遍的從前往后的掃描和N/2遍的從后往前的掃描,需要的比較次數(shù)為N(N-1)/2。
31.n-1jn-1\r\nj解析:此題采用了do…while循環(huán)內(nèi)嵌for循環(huán)的雙層循環(huán)結(jié)構(gòu)來(lái)實(shí)現(xiàn)了數(shù)組元素的排序。數(shù)組元素通過(guò)首地址和數(shù)組下標(biāo)的方式來(lái)引用的。
32.10410\r\n4解析:結(jié)構(gòu)體變量所占內(nèi)存長(zhǎng)度是各成員占的內(nèi)存長(zhǎng)度之和。每個(gè)成員分別占有其自己的內(nèi)存單元。int占2個(gè)字節(jié),float占4個(gè)字節(jié),共用體變量所占的內(nèi)存長(zhǎng)度等于最長(zhǎng)的成員的長(zhǎng)度。所以,sizeof(a.share)的值是4,sizeof(a)的值是2+2+2+4-10。
33.99解析:在主函數(shù)中函數(shù)f(f(3,4),f(3,5))的返回值賦給d。函數(shù)的第一個(gè)參數(shù)為f(3,4)的返回值,函數(shù)f(9,4)返回值為(4-3)*3=3,f(3,5)返回值為(5-3)*3=6,那么函數(shù)f(f(3,4),f(3,5))等價(jià)于函數(shù)f(3,6)其返回值為(6-3)*3=9。因此d被賦值為9;所以輸出9。
34.存儲(chǔ)或物理或存儲(chǔ)結(jié)構(gòu)或物理結(jié)構(gòu)存儲(chǔ)或物理或存儲(chǔ)結(jié)構(gòu)或物理結(jié)構(gòu)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)(也稱數(shù)據(jù)的物理結(jié)構(gòu))。所謂循環(huán)隊(duì)列,就是將隊(duì)列存儲(chǔ)空間的最后一個(gè)位置繞到第一個(gè)位置,形成邏輯上的環(huán)狀空間。供隊(duì)列循環(huán)使用??芍?,循環(huán)隊(duì)列應(yīng)當(dāng)是物理結(jié)構(gòu)。
35.3*sizeof(double)3*sizeof(double)解析:malloc(size)函數(shù)用于申請(qǐng)動(dòng)態(tài)存儲(chǔ)空間,故應(yīng)填3個(gè)double型變量在內(nèi)存中所占的字節(jié)數(shù)。while循環(huán)的功能把字符從第二個(gè)元素開(kāi)始左移一位,并將原第一個(gè)元素賦給最后一個(gè)元素。
36.4.0或44.0或4
37.123ok!123ok!解析:本題主要考查了printf函數(shù)用在了宏替換中。宏替換不是函數(shù)調(diào)用,只是一種簡(jiǎn)單的字符替代。所以本題中PRINT(a+i)展開(kāi)為:printf(“%d\\t”,(int)(a+i)),當(dāng)i=0時(shí),輸出1;當(dāng)i=1時(shí),輸出2;當(dāng)i=2時(shí);輸出3;for循環(huán)結(jié)束后輸出ok!。
38.@
39.1020010200解析:程序中(a%b<1)||(a/b>1)的運(yùn)算順序?yàn)橄人憷ㄌ?hào)→算術(shù)運(yùn)算符→關(guān)系運(yùn)算符→邏輯運(yùn)算符。首先計(jì)算a%b=10,a/b=0,因?yàn)閍%b<1為假(0),a/b>1也為假(0),所以整個(gè)表達(dá)式的結(jié)果為假(0),最后輸出a,b,c的值為10200。
40.數(shù)據(jù)流數(shù)據(jù)流解析:結(jié)構(gòu)化分析方法的實(shí)質(zhì)是著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。
41.A解析:本題主要考查了結(jié)構(gòu)體和共用體數(shù)據(jù)的存儲(chǔ)形式。共用體的一個(gè)特點(diǎn)是所有數(shù)據(jù)成員共用一段存儲(chǔ)單元,而結(jié)構(gòu)體每個(gè)數(shù)據(jù)成員都單獨(dú)占據(jù)一段存儲(chǔ)單元。共用體所占存儲(chǔ)單元的大小由長(zhǎng)度最長(zhǎng)的數(shù)據(jù)成員的長(zhǎng)度決定。題中共用體變量c占據(jù)4個(gè)字節(jié)的長(zhǎng)度,結(jié)構(gòu)體r所占存儲(chǔ)空間的大小為int(2個(gè)字節(jié))+long(4個(gè)字節(jié))+共用體c(4個(gè)字節(jié))=10個(gè)字節(jié),所以答案為A)。
42.C
43.A解析:while是先判斷條件再執(zhí)行語(yǔ)句;do-while則是先執(zhí)行依次語(yǔ)句再判斷條件從而決定是否繼續(xù)再執(zhí)行循環(huán)體中的語(yǔ)句,這正是二者主要區(qū)別。注意:3種循環(huán)結(jié)構(gòu)的比較。
44.A解析:在函數(shù)體內(nèi)定義一字符型指針并指向形參,然后遍歷其中各字符直到NULL,最后返回字符串首尾地址的差值,即字符串的長(zhǎng)度。
45.B解析:二分查找的具體過(guò)程為:將x與線性表的中間項(xiàng)進(jìn)行比較,若中間項(xiàng)的值等于x,則說(shuō)明查到,查找結(jié)束:若x小于中間項(xiàng)的值,則性表的前半部分(即中間項(xiàng)以前的部分)以相同的方法進(jìn)行查找:若x大于中間項(xiàng)的值,則性表的后半部分(即中間項(xiàng)以后的部分)以相同的方法進(jìn)行查找。這個(gè)過(guò)程一直進(jìn)行到查找成功或子表長(zhǎng)度為0(說(shuō)明線性表中沒(méi)有這個(gè)元素)為止。由此可知,有序線性表/頃序存儲(chǔ)時(shí)才能采用二分查找。所以,本題的正確答案為B。
46.D解析:本題考查scanf函數(shù)的基本格式。當(dāng)需要從鍵盤(pán)上輸入數(shù)據(jù)時(shí),輸入的數(shù)值之間需要有間隔符(空格符號(hào)、制表符號(hào)、回車符號(hào)),間隔符號(hào)的使用數(shù)量不限。直到按下回車鍵,scanf函數(shù)才會(huì)接受從鍵盤(pán)輸入的數(shù)據(jù)。
47.C解析:帶參數(shù)宏的格式為:#define標(biāo)識(shí)符(形參表)形參表達(dá)式。其功能是:在預(yù)處理程序中將程序中出現(xiàn)的所有帶實(shí)參的宏名,展開(kāi)成由實(shí)參組成的表達(dá)式。
48.D解析:首先判斷i>5,表達(dá)式的值為真,再判斷j>100,表達(dá)式的值為假,執(zhí)行x=5。因此只有選項(xiàng)D正確。
49.D解析:本題考查switch語(yǔ)句,首先,x=1符合條件case1,執(zhí)行switch(y)語(yǔ)句,y=0符合case0語(yǔ)句,執(zhí)行a++并跳出switch(y)語(yǔ)句,此時(shí)a=1。因?yàn)閏ase1語(yǔ)句后面沒(méi)有break語(yǔ)句,所以向后執(zhí)行case2語(yǔ)句,執(zhí)行a++,b++,然后跳出switch(x),得a=2,b=1。
50.A解析:數(shù)據(jù)結(jié)構(gòu)作為計(jì)算機(jī)的一門學(xué)科,主要研究和討論以下三個(gè)方面的問(wèn)題:①數(shù)據(jù)集合中各數(shù)據(jù)元素之間所固有的邏輯關(guān)系,即數(shù)據(jù)的邏輯結(jié)構(gòu);②在對(duì)數(shù)據(jù)進(jìn)行處理時(shí),各數(shù)據(jù)元素在計(jì)算機(jī)中的存儲(chǔ)關(guān)系,即數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu);③對(duì)各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算。
51.A解析:本題考核的知識(shí)點(diǎn)是宏定義的簡(jiǎn)單應(yīng)用。本題中首先將所有的宏替換掉,則表達(dá)式為i=4+4*4+4/2+2*2+2,故最后輸出的i的值為28。所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。
52.D解析:printf函數(shù)按格式控制符的個(gè)數(shù)輸出表列中對(duì)應(yīng)的數(shù)據(jù),若輸出表列的個(gè)數(shù)大于格式控制符個(gè)數(shù),則輸出與格式控制符對(duì)應(yīng)的輸出表列的數(shù)據(jù),輸出表列中多的則省略;若格式控制符個(gè)數(shù)大于輸出表列的個(gè)數(shù),則輸出與格式控制符對(duì)應(yīng)的輸出表列的數(shù)據(jù),格式控制符多的部分輸出的數(shù)據(jù)是隨機(jī)的。
53.B解析:本題的fun()函數(shù)是用遞歸法實(shí)現(xiàn)逆序輸出一個(gè)字符串。函數(shù)中首先定義一個(gè)局部變量t,然后s所指的內(nèi)容是否為字符串結(jié)束符,不是的話將s所指的內(nèi)容賦給t,同時(shí)使s后移一位,然后遞歸調(diào)用fun(s)。到這條語(yǔ)句為止是遞歸過(guò)程,即接下來(lái)連續(xù)遞歸調(diào)用fun(s)都只會(huì)執(zhí)行到這一半,直到回朔條件(s所指內(nèi)容是字符串結(jié)束符)出現(xiàn),fun()函數(shù)連續(xù)返回,判斷t不等于0的話,就輸出t,所以輸入的字符串被逆序輸出,故本題的正確答案應(yīng)該是B。
54.D解析:軟件需求規(guī)格說(shuō)明書(shū)SRS,SoftwareRequirementSpecification)是需求分析階段的最后成果,是軟件開(kāi)發(fā)中的重要文檔之一。它有以下幾個(gè)方面的作用,①便于用戶、開(kāi)發(fā)人員進(jìn)行理解和交流;②反映出用戶問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù);③作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)。
55.D
56.B解析:二維數(shù)組的初始化有以下幾種形式:①分行進(jìn)行初始化;②不分行進(jìn)行初始化;③部分?jǐn)?shù)組元素進(jìn)行初始化;④省略第一維的定義,不省略第二維的定義。選頃B)等號(hào)右邊分了3行,大于等號(hào)左邊數(shù)組的行數(shù)2。
57.B解析:選項(xiàng)A)main();的分號(hào)是錯(cuò)誤的,不能有分號(hào);選項(xiàng)C)的注釋語(yǔ)句多了兩個(gè)*號(hào);選項(xiàng)D)include前面沒(méi)有#。
58.B解析:本題傳送的實(shí)參是變量x的存儲(chǔ)地址,但程序會(huì)把它當(dāng)做實(shí)際傳遞的值來(lái)處理,不會(huì)報(bào)錯(cuò)。
59.C解析:本題考查“邏輯或”運(yùn)算的特例。本題中if語(yǔ)句的條件表達(dá)式為(j++||k++)&&i++,首先計(jì)算表達(dá)式(j++||k++)的值,++運(yùn)算符位于右側(cè),因此先取j、k當(dāng)前值進(jìn)行運(yùn)算,因j=1,所以表達(dá)式(j++||k++)的值為真,k++表達(dá)式不再執(zhí)行,故執(zhí)行完表達(dá)式(j++||k++)&&i++后,j=2、k=2、i=2。
60.C
61.A本題中使用了函數(shù)的調(diào)用,由{unl函數(shù)中的while循環(huán)可知,循環(huán)的作用是為了把q所指向的內(nèi)容增加l,而從主函數(shù)傳到函數(shù)時(shí)是從下標(biāo)為3開(kāi)始傳,因此當(dāng)調(diào)用函數(shù)執(zhí)行完后,傳過(guò)去的字符串為'hsbn',前面不變。
62.A開(kāi)發(fā)大型軟件時(shí),產(chǎn)生困難的原因有很多,如需求難以捕捉、員工水平有限、工作安排不太合理、進(jìn)度控制難以把握、系統(tǒng)開(kāi)發(fā)時(shí)間有限等元素,但這些都不是根本的原因,根本的原因是大系統(tǒng)的復(fù)雜性。
63.A\n軟件測(cè)試與軟件調(diào)試是兩個(gè)不同的概念:軟件測(cè)試的目的是發(fā)現(xiàn)錯(cuò)誤,而軟件調(diào)試的目的是發(fā)現(xiàn)錯(cuò)誤或?qū)е鲁绦蚴У脑?,并修改程序以修正錯(cuò)誤,調(diào)試是測(cè)試之后的活動(dòng)。
\n
64.A軟件設(shè)計(jì)階段的主要任務(wù)包括丙個(gè):一是進(jìn)行軟件系統(tǒng)的可行性分析,確定軟件系統(tǒng)的建設(shè)是否值得,能否建成。二是進(jìn)行軟件的系統(tǒng)分析,了解用戶的需求,定義應(yīng)用功能,詳細(xì)估算開(kāi)發(fā)成本和開(kāi)發(fā)周期。
65.B
66.B模塊獨(dú)立性是指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡(jiǎn)單。一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性,所以A錯(cuò)誤,B正確。耦合性是模塊間互相連接的緊密程度的度量而內(nèi)聚性是指一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度,所以C與D錯(cuò)誤。故答案為B選項(xiàng)。
67.C
68.C子函數(shù)fun1(doublea)的功能是返回a的平方值的整數(shù)部分。子函數(shù)fun2(doublex,doubley)的功能是返回X的平方值的整數(shù)部分與Y的平方值的整數(shù)部分的和。又因?yàn)轭}中變量w的定義為double型,函數(shù)fun(2)的定義為int型,按照各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算,整型數(shù)據(jù)被轉(zhuǎn)換為實(shí)型數(shù)據(jù)。所以雙精度型變量w的值為5.0。
69.C
70.A
71.C\n\tC?!窘馕觥慷址ú檎抑贿m用于順序存儲(chǔ)的有序表,對(duì)于長(zhǎng)度為n的有序線性表,最壞情況只需比較log2n次。
72.C因?yàn)橐粋€(gè)人可以操作多個(gè)計(jì)算機(jī),而一臺(tái)計(jì)算機(jī)又可以被多個(gè)人使用,所以兩個(gè)實(shí)體之間是多對(duì)多的關(guān)系。
73.C
74.B本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。在執(zhí)行函數(shù)func時(shí),由于全局定義了一個(gè)變量b,所以在函數(shù)體中執(zhí)行b=2+1=3,最終t=2+3=5。
75.B
76.D
77.A
78.A結(jié)構(gòu)體和共用體;在“聯(lián)合”中,各成員共享一段內(nèi)存空間,一個(gè)聯(lián)合變量的長(zhǎng)度等于各成員中最長(zhǎng)的長(zhǎng)度。應(yīng)該說(shuō)明的是,這里所謂的共享不是指把多個(gè)成員同時(shí)裝入一個(gè)聯(lián)合變量?jī)?nèi),而是指該聯(lián)合變量可被賦予任一成員值,但每次只能賦一種值,賦入新值則沖去舊值
79.A
\n在主函數(shù)中,k的初值為0,首先調(diào)用函數(shù)f(3),返回值為6,k的值變?yōu)?,而函數(shù)intfun(intc)中的局部靜態(tài)變量a等于3。第二次調(diào)用函數(shù)f(3)時(shí),返回值為7,所以k=6+7=13。退出循環(huán)語(yǔ)句,k再加上全局變量a的值l,其最終的值為14。
\n
80.D81.(1)錯(cuò)誤:if(d%2!=0)
正確:if(d%2==0)
(2)錯(cuò)誤:t=d*s1+t;
正確:*t=d*s1+*t;
【解析】題目要求長(zhǎng)整型數(shù)中每一位上為偶數(shù)的數(shù)依次逆向取出,構(gòu)成一個(gè)新數(shù)放在t中。首先要判斷每一位上的數(shù)是否為偶數(shù),因此“if(d%2!=0)”應(yīng)改為“if(d%2==0)”;變量t是一個(gè)指針變量,其是直接運(yùn)算操作的內(nèi)存地址,因此“t=d*sl+t;”應(yīng)改為“*t=d*s1+*t;”。
82.
【解析】要返回指定成績(jī)的學(xué)生數(shù)據(jù),首先應(yīng)該將所有學(xué)生的成績(jī)與指定成績(jī)相比較。如果有學(xué)生的成績(jī)與指定成績(jī)相等,則將該學(xué)生的記錄返回給主函數(shù),否則將學(xué)號(hào)置成空串,成績(jī)置一l返回給主函數(shù)。
2021-2022年甘肅省嘉峪關(guān)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.按照“先進(jìn)先出”組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是()。
A.隊(duì)列B.棧C.雙向鏈表D.二叉樹(shù)
2.若有定義:inta,h;通過(guò)語(yǔ)句:scanf(”%d;%d”,&a,&B.;,能把整數(shù)3賦給變量a,5賦給變量b的輸入數(shù)據(jù)是()。
A.35B.3,5C.3;5D.35
3.以下關(guān)于C語(yǔ)言的敘述中正確的是()。
A.C語(yǔ)言中的注釋不可以?shī)A在變量名或關(guān)鍵字的中間
B.C語(yǔ)言中的變量可以在使用之前的任何位置進(jìn)行定義
C.在C語(yǔ)言算術(shù)表達(dá)式的書(shū)寫(xiě)中,運(yùn)算符兩側(cè)的運(yùn)算數(shù)類型必須一致
D.C語(yǔ)言的數(shù)值常量中夾帶空格不影響常量值的正確表示
4.以下選項(xiàng)中,當(dāng)x為大于1的奇數(shù)時(shí),值為0的表達(dá)式是A.x%2==1B.x/2C.x%2!=0D.x%2==0
5.算法的空間復(fù)雜度是指()。
A.算法程序的長(zhǎng)度B.算法程序中的指令條數(shù)C.算法程序所占的存儲(chǔ)空間D.執(zhí)行算法所需要的存儲(chǔ)空間
6.若x=10010111,則表達(dá)式(3+(int)(x))&(~3)的運(yùn)算結(jié)果是()。
A.10011000B.10001100C.10101000D.10110000
7.printf函數(shù)中用到格式符%5s,其中數(shù)字5表示輸出的字符串占用5列。如果字符串長(zhǎng)度大于5,則輸出按方式()。
A.從左起輸出該字串,右補(bǔ)空格B.按原字符長(zhǎng)從左向右全部輸出C.右對(duì)齊輸出該字串,左補(bǔ)空格D.輸出錯(cuò)誤信息
8.
9.若要求在if后一對(duì)圓括號(hào)中表示a不等于0的關(guān)系,則能正確表示這一關(guān)系的表達(dá)式為()
A.a<>0B.!aC.a=0D.a
10.若某表最常用的操作是在最后一個(gè)結(jié)點(diǎn)之后插入一個(gè)結(jié)點(diǎn)或刪除最后一個(gè)結(jié)點(diǎn),則采用()存儲(chǔ)方式最節(jié)省運(yùn)算時(shí)間。
A.單鏈表B.給出表頭指針的單循環(huán)鏈表C.雙鏈表D.帶頭結(jié)點(diǎn)的雙循環(huán)鏈表
11.下列字符數(shù)組初始化語(yǔ)句中,不正確的是()。
A.charc[]=goodmorning;
B.charc[20]="goodmorning";
C.charc[]={a,b,c,d);
D.charc[]={"ffgoodmorning"};
12.下列敘述中正確的是()。
A.數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)獨(dú)立的系統(tǒng),不需要操作系統(tǒng)的支持
B.數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問(wèn)題
C.數(shù)據(jù)庫(kù)管理系統(tǒng)就是數(shù)據(jù)庫(kù)系統(tǒng)
D.以上三種說(shuō)法都不對(duì)
13.在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開(kāi)發(fā)中的階段是______。
A.詳細(xì)設(shè)計(jì)B.需求分析C.總體設(shè)計(jì)D.編程調(diào)試
14.以下是if語(yǔ)句的基本形式:
if(表達(dá)式.語(yǔ)句
其中“表達(dá)式”()。
A.必須是邏輯表達(dá)式B.必須是關(guān)系表達(dá)式C.必須是邏輯表達(dá)式或關(guān)系表達(dá)式D.可以是任意合法的表達(dá)式
15.有以下程序:#include<stdio.h>#include<stdio.h>main(){charc[6];inti=0;for(;j<6;c[i]=getchar(),i++);for(i=0;i<6;i++)putchar(c[i]);printf("\n");}如果從鍵盤(pán)上輸入:ab<回車>c<回車>def<回車>則輸出結(jié)果為_(kāi)_____。
A.abcdefB.abcdC.abcdD.abcdef
16.軟件生命周期中的活動(dòng)不包括()
A.軟件維護(hù)B.市場(chǎng)調(diào)研C.軟件測(cè)試D.需求分析
17.C語(yǔ)言函數(shù)中未指定存儲(chǔ)類的變量,其隱含類別是()
A.autoB.staticC.registerD.void
18.在KMP算法中,已知模式串為ADABCADADA,請(qǐng)寫(xiě)出模式串的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
19.在以下的敘述中,正確的是()。
A.線性表的順序存儲(chǔ)結(jié)構(gòu)優(yōu)于鏈表存儲(chǔ)結(jié)構(gòu)
B.二維數(shù)組是其數(shù)據(jù)元素為線性表的線性表
C.棧的操作方式是先進(jìn)先出
D.隊(duì)列的操作方式是先進(jìn)后出
20.計(jì)算機(jī)算法指的是()。
A.計(jì)算方法B.排序方法C.解決問(wèn)題的有限運(yùn)算序列D.調(diào)度方法
二、2.填空題(20題)21.已有定義:double*p;,請(qǐng)寫(xiě)出完整的語(yǔ)句,利用malloc函數(shù)使p指向一個(gè)雙精度型的動(dòng)態(tài)存儲(chǔ)單元______。
22.[]的任務(wù)是診斷和改正程序中的錯(cuò)誤。
23.下述函數(shù)用于統(tǒng)計(jì)一行字符中的單詞個(gè)數(shù),單詞之間用空格分隔。
wordnum(str)
charstr[];
{inti,num=0,word=0;
for(i=0;str[i]!=【】;i++)
if(【】==)word=0;
elseif(word==0)
{
word=1;
【】;
}
return(num);
}
24.下列程序段的運(yùn)行結(jié)果是______。
charstr[]="ABCD",*p=str;
printf("%d\n",*(p+3));
25.在先左后右的原則下,根據(jù)訪問(wèn)根結(jié)點(diǎn)的次序,二叉樹(shù)的遍歷可以分為三種;前序遍歷、【】遍歷和后序遍歷。
26.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
main()
{structstru
{inta;
floatb;
chard[4];
};
printf("%d\n",sizeof(structstru));}
27.以下程序的功能是根據(jù)輸入的“y”(“Y”)與“n”(“N”),在屏幕上分別顯示出“ThisisYES.”與“ThisisNO.”??瞻滋幮枰钊氲膬?nèi)容是
#include<stdio.h>
voidYesNo(charch)
{switch(ch)
{case'y':
case'Y':printf("\nThisisYES.\n");
case'n':
case'N':Printf("\nThisisNO.\n");}}
main()
{charch;
printf("\nEnte
28.fun函數(shù)的功能是:首先對(duì)a所指的N行N列的矩陣,找出各行中的最大數(shù),再求這N個(gè)最大值中最小的那個(gè)數(shù)并作為函數(shù)值返回。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
#defineN100
intfun(int(*a)[N])
{introw,col,max,min;
for(row=0;row<N;row++)
{for(max=a[row][0],col=1;col<N;col++)
if(【】)max=a[row][col];
if(row==0)min=max;
elseif(【】)min=max;
}
returnmin;
}
29.按照邏輯結(jié)構(gòu)分類,結(jié)構(gòu)可以分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),棧屬于______。
30.度為10的線性表進(jìn)行冒泡排序,最壞情況下需要比較的次數(shù)為_(kāi)_____。
31.本程序用改進(jìn)冒泡法對(duì)數(shù)組a[n]的元素從小到大排序,請(qǐng)?jiān)诔绦蚩瞻滋幪羁铡?/p>
voidbubble(inta[],intn)
{intj,k,jmax,temp;
jmax=【】;
do{
k=0;
for(j=0;j<jmax;j++)
if(a[j]>a[j+1])
{temp=a[j];a[j]=a[j+1];a[j+1]=temp;k=【】;
jmax=k;
}while(jmax>0);}
32.有以下定義語(yǔ)句,則sizeof(a)的值是【】,而sizeof(a.share)的值是【】。
structdate
{intday;
intmouth;
intyear,
union{intshare1;
floatshare2;
}share;
}a;
33.若有以下程序
intf(intx,inty)
{return(y-x)*x;}
main()
{inta=3,b=4,c=5,d;
d=f(f(3,4),f(3,5));
ptintf("%d\n",D);
執(zhí)行后輸出結(jié)果是______。
34.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu),循環(huán)隊(duì)列屬于______結(jié)構(gòu)。
35.以下程序中給指針p分配3個(gè)double型動(dòng)態(tài)內(nèi)存單元,請(qǐng)?zhí)羁铡?/p>
#include<stdllb.h>
main()
{double*p;
p=(double*)malloc(【】);
p[0]=1.5;p[1]=2.5;p[2]=3.5
printf("%f%f%f\n",p[0],p[1],p[2]);
}
36.設(shè)x和y均為int型變量,且x=1,y=2,則表達(dá)式2.0+y/x的值為【】。
37.下列程序的輸出結(jié)果是【】。
#definePR(a)printf("%d\t",(int)(a))
#definePRINT(a)PR(a);printf("ok!")
main()
{inti,a=1;
for(i=0;i<3;i++)
PRINT(a+i);
printf("\n");}
38.E-mail地址由用戶名和域名兩部分組成,這兩部分的分隔符為【】。
39.以下程序運(yùn)行后輸出結(jié)果是【】。
#include<stdio,h>
main()
{inta,b,c;
a=10;b:20;c=(a%b<1)‖(a/b>1);
printf("%d%d%d\n",a,b,c);
}
40.結(jié)構(gòu)化分析方法是面向______進(jìn)行分析的方法。
三、1.選擇題(20題)41.以下程序的輸出結(jié)果是#include<stdio.h>main(){unionun{inti;longk;charc;};structbyte{inta;longb;unionunc;}r;printf("%d\n",sizeof(r));}
A.10B.13C.7D.8
42.位運(yùn)算071∧052的八進(jìn)制值是()
A.52B.23C.17D.71
43.C語(yǔ)言中while和do-while循環(huán)的主要區(qū)別是
A.do-while的循環(huán)體至少無(wú)條件執(zhí)行一次
B.while的循環(huán)控制條件比do-while的循環(huán)控制條件更嚴(yán)格
C.do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)
D.do-while的循環(huán)體不能是復(fù)合語(yǔ)句
44.下述函數(shù)功能是______。intfun(char*x){char*y=x;while(*y++);returny-x-1;}
A.求字符串的長(zhǎng)度B.求字符串存放的位置C.比較兩個(gè)字符串的大小D.將字符串x連接到字符串y后面
45.下列數(shù)據(jù)結(jié)構(gòu)中能應(yīng)用二分查找的是()。
A.有序線性鏈表B.有序順序表C.順序存儲(chǔ)的棧D.順序存儲(chǔ)的隊(duì)列
46.若變量已正確定義,要求通過(guò)scanf("%c%d%c%d",&c1,&a,&c2,&B)語(yǔ)句給變量a和b分別賦32和45,給變量c1和c2分別賦字符A和B;下列選項(xiàng)中數(shù)據(jù)從第1列開(kāi)始輸入,正確的輸入形式是()。
A.A32<CR>B45<CR>B.A45<CR>B32<CR>C.A32B45<CR>D.A32B45<CR>
47.#define能作簡(jiǎn)單的替代,用宏來(lái)替代計(jì)算多項(xiàng)式5*x*x+5*x+5的值的函數(shù)f,正確的宏定義語(yǔ)句為()。
A.#definef(x)5*x*x+5*x+5
B.#definef5*X*x+5*x+5
C.#definef(a)(5*a*a+5*a+5)
D.#define(5*x*x+5*x+5)f(x)
48.設(shè)inti=10,j=11,k=12,x=0;執(zhí)行語(yǔ)句:if(i>5)if(j>100)if(k>11)X=3;elsex=4;elsex=5;后x的值是()。
A.0B.3C.4D.5
49.有以下程序
#include<stdio.h>
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:a++;break;
case1:b++;break;
}
case2:a++;b++;break;
case3:a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
程序的運(yùn)行結(jié)果是
A.a=1,b=0B.a=2,b=2C.a=1,b=1D.a=2,b=1
50.數(shù)據(jù)結(jié)構(gòu)作為計(jì)算機(jī)的一門學(xué)科,主要研究數(shù)據(jù)的邏輯結(jié)構(gòu)、對(duì)各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算,以及()。A.A.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)B.計(jì)算方法C.數(shù)據(jù)映象D.邏輯存儲(chǔ)
51.有以下程序:#definef(x)x*xmain(){inti;i=f(4+4)/f(2+2);printf("%d\n",i);}執(zhí)行后輸出結(jié)果是
A.28B.22C.16D.4
52.請(qǐng)讀程序:#include<stdio.h>main(){inta=5,b=7,c=9;pintf("%d,%d,"a,b,C);printf("%d,%d",a,D);}上面程序的輸出結(jié)果是_______。
A.5,7,9,5,7B.5,7,5,7C.5,7,不定7,9D.5,7,5,7,不定
53.下面程序輸出的結(jié)果是()。#include<stdio.h>main(){char*a="1234";fun(a);printf("\n");}fun(char*s){chart;if(*s){t=*S++;fun(s);}elsereturn;if(t!='\0')putchar(t);}
A.1234B.4321C.1324D.4231
54.下列敘述中,不屬于軟件需求規(guī)格說(shuō)明書(shū)的作用的是()
A.便于用戶,開(kāi)發(fā)人員進(jìn)行理解和交流
B.反映出用戶問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù)
C.作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)
D.便于開(kāi)發(fā)人員進(jìn)行需求分析
55.若有如下定義:ints[3]則下面表達(dá)式中不能代表數(shù)組元素s[1]的地址的是()
A.&s[1]B.&s[0]+1C.s+1D.s++
56.以下數(shù)組定義中錯(cuò)誤的是()。
A.intx[][3]={0};
B.intx[2][3]={{1,2},{3,4},{5,6}};
C.intx[][3]={{1,2,3},{4,5,6}};
D.intx[2][3]={1,2,3,4,5,6};
57.以下4個(gè)程序中,完全正確的是
A.#include<stdio.h>main();{/*programming*/printf("programming!\n");}
B.#include<stdio.h>main();{/*/programming/*/printf("programming!\n");}
C.#include<stdio.h>main(){/*/*programming*/*/printf("programming!\n");}
D.include<stdio.h>main(){/*programming*/printf("programming!\n");}
58.TurboC將對(duì)以下程序______。main(){intx,y;y=creat(&x):printf("%d\n",y);}creat(inta){returna++;}
A.編譯時(shí)會(huì)給出出錯(cuò)信息
B.順利進(jìn)行編譯、連接、執(zhí)行,不報(bào)任何錯(cuò)誤
C.順利通過(guò)編譯、連接,但不能執(zhí)行
D.順利通過(guò)編譯,但連接出錯(cuò)
59.有以下程序:main(){inti=1,j=1,k=2;if((j++‖k++)&&i++)printf("%d,%d,%d\n",i,j,k);}執(zhí)行后的輸出結(jié)果是______。
A.1,1,2B.2,2,1C.2,2,2D.2,2,3
60.關(guān)于return語(yǔ)句,正確的說(shuō)法是______。
A.在主函數(shù)和其他函數(shù)中均可出現(xiàn)
B.必須在每個(gè)函數(shù)中出現(xiàn)
C.可以在同一個(gè)函數(shù)中出現(xiàn)多次
D.只能在除主函數(shù)之外的函數(shù)中出現(xiàn)一次
四、選擇題(20題)61.有以下程序:
voidfunl(char*p)
{char*q;
q=P;
while(*q!='\O')
{(*q)++;q++;}
}
main
{chara[]={"Program"),*P;
p=&a[3];funl(p);
printf("%s\n",a);
}
程序執(zhí)行后的輸出結(jié)果是()。A.A.ProhsbnB.PrphsbnC.ProgsbnD.Program
62.開(kāi)發(fā)大型軟件時(shí),產(chǎn)生困難的根本原因是()
A.大系統(tǒng)的復(fù)雜性B.人員知識(shí)不足C.客觀世界千變?nèi)f化D.時(shí)間緊、任務(wù)重
63.軟件(程序.調(diào)試的目標(biāo)是()。
A.診斷和改正程序中的錯(cuò)誤
B.盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤
C.發(fā)現(xiàn)并改正程序中的所有錯(cuò)誤
D.確定程序中錯(cuò)誤的性質(zhì)
64.下面不屬于軟件設(shè)計(jì)階段任務(wù)的是()。
A.制訂軟件確認(rèn)測(cè)試計(jì)劃B.數(shù)據(jù)庫(kù)設(shè)計(jì)C.軟件總體設(shè)計(jì)D.算法設(shè)計(jì)
65.
66.耦合性和內(nèi)聚性是對(duì)模塊獨(dú)立性度量的兩個(gè)標(biāo)準(zhǔn)。下列敘述中正確的是()。
A.提高耦合性降低內(nèi)聚性有利于提高模塊的獨(dú)立性
B.降低耦合性提高內(nèi)聚性有利于提高模塊的獨(dú)立性
C.耦合性是指一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度
D.內(nèi)聚性是指模塊間互相連接的緊密程度
67.
68.有下列程序:intfunl(doublea){returna*=a;)intfun2(doublex,doubley){doublea=0,b=0;a=funl(x);b=funl(y);return(int)(a+h);}main{doublew;w=fun2(1.1,2.0),……)程序執(zhí)行后變量w中的值是()。A.5.21B.5C.5.0D.0.0
69.在C程序中有如下語(yǔ)句:char*func(intx,inty);它是()。
A.對(duì)函數(shù)func的定義。B.對(duì)函數(shù)func的調(diào)用。C.對(duì)函數(shù)func的原型說(shuō)明。D.不合法的
70.
71.下列敘述中正確的是()。
A.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行查找,最壞情況下需要的比較次數(shù)為n
B.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為n/2
C.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為log2n
D.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為nlog2n
72.一個(gè)工作人員可以使用多臺(tái)計(jì)算機(jī),而一臺(tái)計(jì)算機(jī)可被多個(gè)人使用,則實(shí)體工作人員與實(shí)體計(jì)算機(jī)之間的聯(lián)系是()。
A.一對(duì)一B.一對(duì)多C.多對(duì)多D.多對(duì)一
73.
74.下列程序的輸出結(jié)果是()。#include<stdio.h>intb=2:intfunc(int*a){b+=*a;returnb;}main{inta=1,t=2;t+=func(&a):printf("%d\n",t);}A.4B.5C.6D.8
75.
76.
77.
78.有以下程序main(){union{charch[2];intd;}s;s.d=0x4321;printf("%x,%x\n",s.ch[0],s.ch[1]);}在16位編譯系統(tǒng)上,程序執(zhí)行后的輸出結(jié)果是______。A.21,43B.43,21C.43,00D.21,00
79.
有以下程序
#include<stdio.h>
inta=1;
intf(intc)
{staticinta=2:
c=c+1:
return(a++)+C;
}
main
(inti,k=0;
for(i=0;i<2;i++){inta=3;k+=f(a);}
k+=a:
printf("%d\n",k);
}
程序運(yùn)行結(jié)果是()。
A.14B.15C.16D.17
80.HTTP協(xié)議的GET請(qǐng)求方法可以獲取()類型的數(shù)據(jù)。
A.HTML文檔B.圖片C.視頻D.以上都可以
五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)proc()的功能是:將長(zhǎng)整型數(shù)中為偶數(shù)的數(shù)依次逆向取出,構(gòu)成一個(gè)新數(shù)放在t中。高位在低位,低位在高位。例如,當(dāng)s中的數(shù)為12345678時(shí),則t中的數(shù)為8642。
請(qǐng)修改函數(shù)proc()中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,M名學(xué)生的數(shù)據(jù)已在主函數(shù)中放人結(jié)構(gòu)體數(shù)組stu中。請(qǐng)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 城市綜合體二手房合同模板
- 2024年度全國(guó)青年志愿者項(xiàng)目合作協(xié)議書(shū)3篇
- 2024年消防設(shè)施檢測(cè)與維修服務(wù)合同2篇
- 2024年牧草加工設(shè)備租賃及售后服務(wù)合同3篇
- 2024年度電子產(chǎn)品專業(yè)市場(chǎng)委托代銷售協(xié)議3篇
- 2024年版的:離異家庭子女撫養(yǎng)權(quán)變更合同
- 2024年甲方乙雙方關(guān)于虛擬現(xiàn)實(shí)技術(shù)研發(fā)與應(yīng)用合同
- 2024年電梯緊急使用協(xié)議版B版
- 智慧能源系統(tǒng)課程設(shè)計(jì)
- 2024版應(yīng)急客運(yùn)車輛合伙經(jīng)營(yíng)服務(wù)協(xié)議3篇
- 《地質(zhì)災(zāi)害監(jiān)測(cè)技術(shù)規(guī)范》
- 2024-2030年中國(guó)云母制品制造市場(chǎng)發(fā)展?fàn)顩r及投資前景規(guī)劃研究報(bào)告
- 2025年上半年內(nèi)蒙古鄂爾多斯伊金霍洛監(jiān)獄招聘17名(第三批)易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- QC080000培訓(xùn)講義課件
- 24秋國(guó)家開(kāi)放大學(xué)《農(nóng)產(chǎn)品質(zhì)量管理》形考任務(wù)1-2+形考實(shí)習(xí)1-3參考答案
- 科技興國(guó)未來(lái)有我主題班會(huì)教學(xué)設(shè)計(jì)
- 房子管護(hù)合同范例
- 光伏施工安全措施
- 2024-2025華為ICT大賽(網(wǎng)絡(luò)賽道)高頻備考試題庫(kù)500題(含詳解)
- 汽車智能制造技術(shù)課件
- 江蘇省揚(yáng)州市邗江中學(xué)2025屆物理高一第一學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測(cè)試題含解析
評(píng)論
0/150
提交評(píng)論