版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021年內(nèi)蒙古自治區(qū)鄂爾多斯市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.有以下程序:#includedstdi0.h>#definef(x)X*x*xmain(){inta=3,S,t;s=f(a+1);t=f((a+1));printf("%d,%d\n",S,t);}程序運(yùn)行后的輸出結(jié)果是()。A.10,64B.10,10C.64,10D.64,64
2.有以下程序
voidss(char*s,chart)
{while(*s)
{if(*s==t)*s=t-′a′+′A′;
s++;}}
main()
{charstr1[100]="abcddfefdbd",c=′d′;
ss(str1,c);printf("%s\n",str1);}
程序運(yùn)行后的輸出結(jié)果是
A.ABCDDEFEDBDB.abcDDfefDbDC.abcAAfefAbAD.Abcddfefdbd
3.
4.數(shù)據(jù)結(jié)構(gòu)主要研究的是數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的運(yùn)算和()。A.數(shù)據(jù)的方法B.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)C.數(shù)據(jù)的對(duì)象D.數(shù)據(jù)的邏輯存儲(chǔ)
5.下列選項(xiàng)不符合良好程序設(shè)計(jì)風(fēng)格的是()。
A.源程序要文檔化B.數(shù)據(jù)說(shuō)明的次序要規(guī)范化C.避免濫用goto語(yǔ)句D.模塊設(shè)計(jì)原則是高耦合、高內(nèi)聚
6.有以下語(yǔ)句,則對(duì)a數(shù)組元素的引用不正確的是(0≤i≤9)inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;A.A.a[p-a]
B.*(&a[i])
C.p[i]
D.*(*(a+i))
7.s1和s2已正確定義并分別指向兩個(gè)字符串。若要求:當(dāng)s1所指串大于s2所指串時(shí),執(zhí)行語(yǔ)句s;則以下選項(xiàng)中正確的是()。
A.if(s1>s2)S;
B.if(strcmp(s1,s2))S;
C.if(strcmp(s2,sl)>O)S;
D.if(stremp(s1,s2)>O)S;
8.以下選項(xiàng)中表示空函數(shù)的是()。
A.intfun(){return0;}
B.intfun();
C.intfun(){}
D.intfun(inta,intB){return1;}
9.若在線性表中采用折半查找法查找元素,該線性表應(yīng)該()A.元素按值有序B.構(gòu)采用順序存儲(chǔ)結(jié)C.元素按值有序且采用順序存儲(chǔ)結(jié)構(gòu)D.元素按值有序且采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
10.
11.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指()。
A.數(shù)據(jù)所占的存儲(chǔ)空間
B.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的存放形式
C.數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式
D.存儲(chǔ)在計(jì)算機(jī)外存中的數(shù)據(jù)
12.
13.
14.有以下程序:#include<stdio.h>#defineS(x)4*(x)*x+1main(){intk=5,j=2;printf("%d\n",S(k+j));}程序運(yùn)行后的輸出結(jié)果是()。A.197B.143C.33D.28
15.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
16.下列運(yùn)算符中優(yōu)先級(jí)最高的是()。
A.!B.%C.-=D.&&
17.指針可以用來(lái)表示數(shù)組元素,若已知語(yǔ)句:inta[3][7];則下列表示中正確的是()。
A.*(a+1)[5]B.*(*a+3)C.*(*(a+1))D.*(&a[0][0]+2)
18.若x和y都是int型變量,x=100,y=200,且有程序片段:printf("%d",(x,y));上面程序片段的輸出結(jié)果()
A.200B.100C.100200D.輸出格式符不夠,輸出不確定的值
19.下列描述中正確的是()。
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)題
20.計(jì)算機(jī)算法指的是()。
A.計(jì)算方法B.排序方法C.解決問(wèn)題的有限運(yùn)算序列D.調(diào)度方法
二、2.填空題(20題)21.以下程序運(yùn)行后的輸出結(jié)果是【】。
#include<string.h>
char*ss(char*s)
{char*p;t;
p=s+1;t=*s;
while(*p){*(p-1)=*p;p++;}
*(p-1)=t;
returns;
}
main()
{char*p,str[10]="abcdergh";
p=ss(str);
printf("%s\n",p);
}
22.若輸入3、4、5,程序的輸出結(jié)果為【】。
#include"math.h"
main()
{floata,b,c,s,area;
scanf("%f,%f,%f",&a,&b,&c);
s=1.0/2*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f",a,b,c,s);
printf("area=%7.2f\n",area);
}
23.x和y都是double型變量,x的初值為4.0,y的初值為2.0,則表達(dá)式pow(y,fabs(x))的值為_(kāi)_____。
24.若定義#definePI3.14159,則執(zhí)行完下列程序后輸出結(jié)果是______。
#definePI3.14159;printf("PI=%f",PI);
25.常用的軟件結(jié)構(gòu)設(shè)計(jì)工具是結(jié)構(gòu)圖(SC),也稱程序結(jié)構(gòu)圖。其中,用矩形表示______,用帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。
26.下列程序的功能是將字符串s中所有的字符c刪除。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{chars[80];
inti,j;
gets(S);
for(i=j(luò)0;s[i]!'\0';i++)
if(s[i]!='c')______;
s[j]='\0;
puts(S);
}
27.數(shù)據(jù)庫(kù)系統(tǒng)中實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件是______。
28.以下程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
main()
{FILE*fp;inta[10]={1,2,3,0,0},i;
fp=fopen("d2.dat","wb");
fwtite(a,sizeof(int),5,fp);
fwrite(a,sizeof(int),5,fp);
fclose(fp);
fp=fopen("d2.dat","rb");
fread(a,sizeof(int),10,fp);
fclose(fp);
for(i=0;i<10;i++)printf("%d",a[i]);
}
29.已有定義:charc='';inta=1,b;(此處c的初值為空格字符),執(zhí)行b=!c&Ra;后b的值為_(kāi)_____。
30.在關(guān)系數(shù)據(jù)庫(kù)中把數(shù)據(jù)表示成二維表,每一個(gè)二維表稱為【】。
31.【】(黑箱或白箱)測(cè)試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征。
32.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{
intx=0210;
printf("%X\n",x);
}
33.在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和操作的機(jī)制稱為_(kāi)_____。
34.當(dāng)先后輸入1、3、4、12、23時(shí),屏幕上出現(xiàn)【】;再輸入12時(shí),則屏幕上出現(xiàn)【】。
#include<stdio.h>
#defineN5
main()
{inti,j,number,top,bott,min,loca,a[N],flag;
charc;
printf("Pleaseinput5numbers(a[i]>a[i-1])\n");
scanf("%d",&a[0]);
i=1;
while(i<N)
{scanf("%d",&a[i]);
if(a[i]>=a[i-1))i++;
}
printf("\n");
for(i=0;i<N;i++)printf("%d",a[i]);
printf("\n");
flag=1;
while(flag)
{scanf("%d",&number);
loca=0;
top=0;
bott=N-1;
if((number<a[0])||(number>a[N-1]))loca=-1;
while((loca==0)&&(top<=bott))
{min=(bott+top)/2;
if(number==a[min])
{loca=min;
printf("%disthe%dthnumber\n",number,loca+1);
}
elseif(number<a[min])bott=min-1;
elsetop=min+1;
}
if(loca==0||loca==-1)printf("%disnotinthelist.\n",number);
c=getchar();
if(c=='N'||c=='n')flag=0;
}
}
35.用以下語(yǔ)句調(diào)用庫(kù)函數(shù)malloc,使字符指針st指向具有11個(gè)字節(jié)的動(dòng)態(tài)存儲(chǔ)空間,請(qǐng)?zhí)羁?。st=(char*)【】;
36.以下程序運(yùn)行時(shí),若從鍵盤(pán)輸入:102030<回車>,輸出的結(jié)果是【】。
#include<stdio.h>
main()
{inti=0,j=0,k=0;
scanf("%d%*d%d",&i,&j,&k);
printf("%d%d%d\n",i,j,k);
}
37.以下程序運(yùn)行后的輸出結(jié)果是()。#definePower2(x)x*xmain(){inti=6,j=8;printf("%d\n",Power2(i+j));}
38.下列程序段中循環(huán)體的執(zhí)行次數(shù)是______。
a=15;
b=0;
do{b+=2;a-=2+b;}while(a>=0);
39.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{intx==15;
while(x>10&&x<50)
{x++;
if(x/3){x++;break;}
elsecontinue;
}
printf("%d\n",x);
}
40.設(shè)有下列的程序段:
charstr[]="Hello";
char*ptr;
ptr=-str;
執(zhí)行上面的程序段后,*(ptr+5)的值為_(kāi)_____。
三、1.選擇題(20題)41.對(duì)下述程序的判斷中,正確的是#include<stdio.h>voidmain(){char*p,s[128];p=S;while(strcmp(s,"End")){printf("Inputastring:");gets(s);while(*p)putchar(*p++);}}
A.此程序循環(huán)接收字符串并輸出,直到接收字符串"End"為止
B.此程序循環(huán)接收字符串,接收到字符串"End"則輸出,否則程序終止
C.此程序循環(huán)接收字符串并輸出,直到接收字符串"End"為止,但因?yàn)榇a有錯(cuò)誤,程序不能正常工作
D.此程序循環(huán)接收字符串并將其連接在一起,直到接收字符串"End"為止,輸出連接在一起的字符串
42.有如下的程序:intf(char*s){char*p=s;while(*p!='\0')p++;return(p-s);}如果在主程序中用下述語(yǔ)句調(diào)用上述函數(shù),則輸出結(jié)果為_(kāi)_____。printf("%d\n",f("bestone!"));
A.3B.6C.8D.9
43.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){structst{inty,x,z;};union{longi;intj;chark;}un;printf("%d,%d\n",sizeof(structst),sizeof(un));}
A.6,2B.6,4C.8,4D.8,6
44.下列寫(xiě)法正確的是()。
A.main(){inti=3,j;j=5}
B.main(){inti=3;
C.main()
D.main(){;}
45.下列有關(guān)數(shù)據(jù)庫(kù)的描述,正確的是______。
A.數(shù)據(jù)庫(kù)是一個(gè)DBF文件B.數(shù)據(jù)庫(kù)是一個(gè)關(guān)系C.數(shù)據(jù)庫(kù)是一個(gè)結(jié)構(gòu)化的數(shù)據(jù)集合D.數(shù)據(jù)庫(kù)是一組文件
46.數(shù)據(jù)庫(kù)DB、數(shù)據(jù)庫(kù)系統(tǒng)DBS、數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS之間的關(guān)系是()。
A.DB包括DBS和DBMSB.DBMS包括DB和DBSC.DBS包括DB和DBMSD.沒(méi)有任何關(guān)系
47.若x和y代表整型數(shù),以下表達(dá)式中不能正確表示數(shù)學(xué)關(guān)系|x-y|<10的是()。
A.abs(x-y)<10
B.x-y>-10&&x-y<10
C.!(x-y)<-10||!(y-x)>10
D.(x-y)*(x-y)<100
48.在設(shè)計(jì)程序時(shí),應(yīng)采納的原則之一是()。
A.不限制goto語(yǔ)句的使用B.減少或取消注解行C.程序越短越好D.程序結(jié)構(gòu)應(yīng)有助于讀者理解
49.不能把字符串"Hello!"賦給數(shù)組b的語(yǔ)句是______。
A.charb[10]={'H','e','l','l','o','!'};
B.charb[10]={'h','e','l','l','o','!'};
C.charb[10];strcpy(b,"Hello!");
D.charb[10]="Hello!";
50.計(jì)算機(jī)的內(nèi)存儲(chǔ)器比外存器()
A.價(jià)格便宜B.存儲(chǔ)容量大C.讀寫(xiě)速度快D.讀寫(xiě)速度慢
51.以下程序運(yùn)行后,輸出結(jié)果是()。main(){inty=18,i=0,j,a[8];do{a[i]’y%2;i++;y=y/2;}while(y>=1);for(j=i-1;j>=0;j--)printf("%d",a[j]);printf("\n");}
A.1000B.10010C.110D.10100
52.有以下程序:#include<stdio.h>main(){charc1,c2,c3,c4,c5,c6;scanf(%c%c%c%c,&c1,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(c1);putchar(c2);printf(%c%c\n,c5,c6);}程序運(yùn)行后,若從鍵盤(pán)輸入(從第1列開(kāi)始)123<回車>45678<回車>則輸出結(jié)果是()。
A.1267B.1256C.1278D.1245
53.以下程序的輸出結(jié)果是______。fun(int*s,int*p){staticintt=3;*p=s[t];t--;}main(){intstr[]={1,2,3,4},i,m=0;for(i=0;i<4;i++){fun(str,&m);printf("%d",m);}printf("\n");}
A.0B.444412C.1234D.4321
54.若x=3,y=z=4,則下列表達(dá)式的值分別為()(1)(z>=y(tǒng)>=x)?1:0(2)y+=z,x*=y(tǒng)
A.024B.18C.08D.112
55.軟件工程的理論和技術(shù)性研究的內(nèi)容主要包括軟件開(kāi)發(fā)技術(shù)和()。
A.消除軟件危機(jī)B.軟件工程管C.程序設(shè)計(jì)自動(dòng)化D.實(shí)現(xiàn)軟件可重用
56.下列程序的輸出結(jié)果是______。main(){inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=1;i<3;i++)for(j=0;i<=i;j++)s+=a[i][j];printf("%d\n",s);}
A.18B.19C.20D.21
57.以下程序的輸出結(jié)果是______。#include<stdio.h>#include<string.h>fun(char*w,intn){chart,*s1,*s2;s1=w;s2=w+n-1;while(s1<s2){t=*s1++;*s1=*s2-;*s2=t;}}main(){char*p;p="1234567";fun(p,strlen(p));puts(p);}
A.1234567B.7654321C.1711717D.7177171
58.有以下程序:main(){chars[]="\n123\\";printf(%d,%d\n",strlen(s),sizeof(s));}執(zhí)行后的輸出結(jié)果是______。
A.賦初值的字符串有錯(cuò)B.6,7C.5,6D.6,6
59.閱讀下列程序段,則程序的輸出結(jié)果為#include"stdio.h"#defineM(X,Y)(X)*(Y)#defineN(X,Y)(X)/(Y)main(){finta=5,b=6,c=8,k;k=N(M(a,b),c);printf("%d\n",k);}
A.3B.5C.6D.8
60.下列選項(xiàng)中,不屬于數(shù)據(jù)庫(kù)管理的是()
A.數(shù)據(jù)庫(kù)的建立B.數(shù)據(jù)庫(kù)的調(diào)整C.數(shù)據(jù)庫(kù)的監(jiān)控D.數(shù)據(jù)庫(kù)的校對(duì)
四、選擇題(20題)61.兩個(gè)或兩個(gè)以上模塊之間關(guān)聯(lián)的緊密程度稱為()。
A.耦合度B.內(nèi)聚度C.復(fù)雜度D.數(shù)據(jù)傳輸特性
62.
63.n個(gè)頂點(diǎn)的連通圖中邊的條數(shù)至少為_(kāi)_____。A.A.0B.1C.n-1D.n
64.程序段:intx=12;doubley=3.141593;printf(”%d%8.6f”,x,y.;的輸出結(jié)果是()。
A.123.141593
B.123.141593
C.12,3.141593
D.123.1415930
65.若有定義:floatx=1.5;inta=1,b=3,c=2;則正確的switch語(yǔ)句是()。
66.數(shù)據(jù)庫(kù)DB、數(shù)據(jù)庫(kù)系統(tǒng)DBS、數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS之間的關(guān)系是()。
A.DB包含DBS和DBMSB.DBMS包含DB和DBSC.DBS包含DB和DBMSD.沒(méi)有任何關(guān)系
67.以下選項(xiàng)中不能作為c語(yǔ)言合法常量的是()。
68.若有定義:則以下不能正確表示該數(shù)組元素的表達(dá)式是()。
69.
70.
71.
當(dāng)執(zhí)行下面的程序時(shí),如果輸入ABC,則輸出結(jié)罘是()。
#include<stdio.h>
#include<string.h>
main()
{charss[10]="1,2,3,4,5":
gets(ss);strcat(ss,"6789");printf("%s\n",ss);
}
A.ABC6789B.ABC67C.12345ABC6D.ABC456789
72.
下列程序的輸出結(jié)果是()。
char*point(char*pt):
main
{charb[4]={a,c,s,f),*pt=b;
pt=point(pt);
printf("%c\n",*pt);
}
point(char*p)
{p+=3;
returnp;
}
A.sB.cC.fD.a
73.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.b,B"b,AB.b,B,B,AC.a,B,B,aD.a,B,a,B
74.以下選項(xiàng)中,合法的一組c語(yǔ)言數(shù)值常量是()。
A.12.0Xa234.5e0
B.028.5e…30xf
C.1774el.50abe
D.0x8A10,0003.e5
75.
以下程序的輸出結(jié)果是()。
main()
{inti,a[4][4]一{{1,3,5),{2,4,6},{3,5,7}};
printf("%(1%d%d%d\n".a(chǎn)[O][3],a[1][2],a[2]
[1],a[3][0];
}
A.0650B.1470C.5430D.輸出值不定
76.(62)棧底至棧頂依次存放元素A、B、C、D,在第五個(gè)元素E入棧前,棧中元素可以出棧,則出棧序列可能是()
A.ABCED
B.DBCEA
C.CDABE
D.DCBEA
77.有以下程序:
#include<stdio.h>
main()
{inta,b,k,m,*pl,*p2;
k=1,m=8;
p1=&k,p2=&m;
a=/*pl-m;b=*p1+*p2+6;
printf("%d",a);printf("%d\n",b);
}
編譯時(shí)編譯器提示錯(cuò)誤信息,你認(rèn)為出錯(cuò)的語(yǔ)句是()。
A.a=/*pl-m;
B.b=*p1+*p2+6;
C.k=1,m=8;
D.pl=&k,p2-&m;
78.以下程序的輸出結(jié)果是()。
main()
{charst[20]="hell0\O\t\\\”;
printf("%d%d\n",strlen(st),sizeof(st));
}
A.99
B.520
C.1320
D.2020
79.if語(yǔ)句基本形式是:if(表達(dá)式)語(yǔ)句,以下關(guān)于“表達(dá)式”值的敘述中正確的是()。
A.必須是邏輯值B.必須是整數(shù)值C.必須是正數(shù)D.可以是任意合法的數(shù)值
80.
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:用遞歸算法計(jì)算斐波拉契級(jí)數(shù)列中第n項(xiàng)的值。從第一項(xiàng)起,斐波拉契級(jí)數(shù)序列為1,1,2,3,5,8,13,21,…例如,若給n輸入8,該項(xiàng)的斐波拉契級(jí)數(shù)值為21。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)函數(shù)voidproc(intx,intpp[],int*n),它的功能是:求出能整除x且不是偶數(shù)、不為1的各整數(shù),并按從大到小的順序放在PP所指的數(shù)組中,這些除數(shù)的個(gè)數(shù)通過(guò)形參n返回。
例如,若x的值為30,則有3個(gè)數(shù)符合要求,它們是15,5,3。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。
試題程序:
參考答案
1.A本題考查帶參數(shù)的宏定義。第一次函數(shù)調(diào)用求S的值,x=a+1,所以X*X*X應(yīng)寫(xiě)成a+1*a+1*a+1,沒(méi)有括號(hào)優(yōu)先級(jí),結(jié)果為l0,第二次函數(shù)調(diào)用x*X*X可寫(xiě)成(a+1)*(a+1)*(a+1),所以結(jié)果為43=64。
2.B解析:在內(nèi)存中,字符數(shù)據(jù)以ASCII碼存儲(chǔ),它的存儲(chǔ)形式與整數(shù)的存儲(chǔ)形式類似。C語(yǔ)言中,字符型數(shù)據(jù)和整型數(shù)據(jù)之間可以通用,也可以對(duì)字符型數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算,此時(shí)相當(dāng)于對(duì)它們的ASCII碼進(jìn)行算術(shù)運(yùn)算,在本題中,s++相當(dāng)于s=s+1,即讓s指向數(shù)組中的下一個(gè)元素。
3.B
4.B詳細(xì)解答:
數(shù)據(jù)結(jié)構(gòu)是研究數(shù)據(jù)元素及其之間的相互關(guān)系和數(shù)據(jù)運(yùn)算的一門(mén)學(xué)科,它包含3個(gè)方面的內(nèi)容,即數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)和數(shù)據(jù)的運(yùn)算。
5.D在程序設(shè)計(jì)中,對(duì)于軟件設(shè)計(jì)中的模塊設(shè)計(jì)要保證高內(nèi)聚和低耦合,源程序要有文檔說(shuō)明,同時(shí)對(duì)程序中數(shù)據(jù)的說(shuō)明要規(guī)范化。而goto語(yǔ)句破壞程序的結(jié)構(gòu),要盡量避免使用。所以選項(xiàng)D不正確。
6.D
7.D在C語(yǔ)言中,不能直接比較兩個(gè)字符串的大小,必須用特定的函數(shù)來(lái)完成,選項(xiàng)A錯(cuò)誤;選項(xiàng)B不管大于還是小于都執(zhí)行S,不符合題意;選項(xiàng)C正好相反,當(dāng)s2大于s1時(shí),執(zhí)行語(yǔ)句S,可知選項(xiàng)D正確。
8.C空函數(shù)是函數(shù)體沒(méi)有執(zhí)行語(yǔ)句的函數(shù)。選項(xiàng)A、D不是空函數(shù);選項(xiàng)B是函數(shù)的聲明;只有選項(xiàng)C是空函數(shù)。故本題答案為C選項(xiàng)。
9.C
10.A
11.B解析:數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),又稱為數(shù)據(jù)的物理結(jié)構(gòu),是數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的存放形式,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)有順序結(jié)構(gòu)、鏈?zhǔn)浇Y(jié)構(gòu)、散列結(jié)構(gòu)和索引結(jié)構(gòu)等。
12.C
13.D
14.B此程序考查帶參數(shù)的宏定義,S(k+j)展開(kāi)后即4*(k+j)*k+j+1,所以結(jié)果為l43,答案為B。
15.A本題考查按位與運(yùn)算,按位與就是相同為1,不同為0,把x=011050化成二進(jìn)制為0001001000101000,把01252化成二進(jìn)制為0000001010101010,兩者相與得0000001000101000。
16.A
17.D
18.A
19.C\r\n軟件工程是試圖用工程、科學(xué)和數(shù)學(xué)的原理與方法研制、維護(hù)計(jì)算機(jī)軟件的有關(guān)技術(shù)及管理方法。軟件工程的主要思想是強(qiáng)調(diào)在軟件開(kāi)發(fā)工程中需要應(yīng)用工程化的原則。軟件工程用來(lái)解決以下問(wèn)題:軟件需求的增長(zhǎng)得不到滿足、軟件開(kāi)發(fā)成本和進(jìn)度無(wú)法控制、軟件質(zhì)量難以保證、軟件不可維護(hù)或維護(hù)程度低、軟件得成本不斷提高、軟件開(kāi)發(fā)生產(chǎn)率的提高趕不上硬件的發(fā)展和應(yīng)用需求的增長(zhǎng)。軟件項(xiàng)目的管理、軟件產(chǎn)品的生產(chǎn)率、軟件開(kāi)發(fā)中的技術(shù)都是軟件工程需要解決的部分問(wèn)題。因此選項(xiàng)C正確。
20.C
21.bcdefghabcdefgha解析:在本題定義的ss()函數(shù)中首先定義了一個(gè)指針p和一個(gè)字符變量t,然后讓p指向參數(shù)指針s的下一個(gè)位置s+1,并讓t保存s位置的字符。然后使用一個(gè)while循環(huán)將p指向的內(nèi)容賦給它前面一個(gè)位置,即將參數(shù)s所指的字符串從第2個(gè)字符開(kāi)始整體往前移動(dòng)一位。循環(huán)結(jié)束時(shí),p指向原s串的結(jié)束標(biāo)志處,所以讓*(p-1)=t;即是將原s串的第1個(gè)字符復(fù)制到s串的最后一個(gè)位置。整個(gè)函數(shù)實(shí)現(xiàn)的是讓一個(gè)字符串循環(huán)左移一位。故主函數(shù)中最后輸出的字符串是'bcdefgha'。
22.a=3.00b=4.00c=5.00s=6.00area=6.00
23.1616解析:函數(shù)運(yùn)算不改變數(shù)據(jù)類型,所以結(jié)果也是double型,fabs(x)是對(duì)x取絕對(duì)值,pow(y,fabs(x))是y的labs(x)次冪,即2.04。0=16.000000(注意;結(jié)果為double型)。
24.PI=3.14159PI=3.14159解析:本題先定義了一個(gè)宏名PI,以后在程序中出現(xiàn)PI都用3.14159替代,但是C語(yǔ)言規(guī)定:雙引號(hào)中的宏名是不進(jìn)行替換的。
25.模塊模塊解析:矩形表示的是模塊,箭頭表示的是模塊間的調(diào)用關(guān)系。用帶實(shí)心圓的箭頭表示傳遞的是控制信息,用帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。
26.s[j++]=s[i]s[j++]=s[i]解析:循環(huán)開(kāi)始后如果數(shù)組s中儲(chǔ)存值與字符c相同,則i++直接跳過(guò)當(dāng)前值;如果不相同,則將當(dāng)前值賦予數(shù)組指定位置,并通過(guò).j++將下標(biāo)加1,指向下一元素要存儲(chǔ)的位置。
27.數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)解析:數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)的管理機(jī)構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫(kù)中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等。
28.12300123001,2,3,0,0,1,2,3,0,0,解析:本題考查文件讀寫(xiě)函數(shù)fread和fwrite的用法。fwrite函數(shù)將數(shù)組a的前5個(gè)元素輸出到文件fp中兩次,共10個(gè)字節(jié),再調(diào)用fread函數(shù)從文件fp中讀取這10個(gè)字節(jié)的數(shù)據(jù)到數(shù)組a中,此時(shí)數(shù)組a的內(nèi)容就變?yōu)閧1,2,3,0,0,1,2,3,0,0},最后的輸出結(jié)果為'1,2,3,0,0,1,2,3,0,0,'。
29.11解析:字符空格的ASCII碼不為0,所以本題中表達(dá)式!c的值為0,b=0&&1的結(jié)果顯然為0。
30.關(guān)系或一個(gè)關(guān)系關(guān)系或一個(gè)關(guān)系解析:在關(guān)系數(shù)據(jù)庫(kù)中,把數(shù)據(jù)表示成二維表,而一個(gè)二維表就是一個(gè)關(guān)系。
31.黑箱黑箱解析:本題考查了軟件測(cè)試中的黑箱測(cè)試。黑箱測(cè)試是根據(jù)程序規(guī)格說(shuō)明所規(guī)定的功能來(lái)設(shè)計(jì)測(cè)試用例,它不考慮程序的內(nèi)部結(jié)構(gòu)和處理過(guò)程。常用的黑箱測(cè)試技術(shù)分為等價(jià)類劃分、邊界分析、錯(cuò)誤猜測(cè)以及因果圖等。
32.8888解析:C語(yǔ)言規(guī)定,以0開(kāi)頭的整型常量為八進(jìn)制。另外,在primf()函數(shù)中,%X表示以十六進(jìn)制無(wú)符號(hào)形式輸出一個(gè)整數(shù),且十六進(jìn)制中的ABCDEF為大寫(xiě)字母。本題的輸出應(yīng)該是八進(jìn)制210的十六進(jìn)制形式。將八進(jìn)制轉(zhuǎn)換為十六進(jìn)制,可以先將其轉(zhuǎn)換為二進(jìn)制。因?yàn)?位八進(jìn)制表示3位二進(jìn)制,4位二進(jìn)制表示1位十六進(jìn)制。(210)8=(10001000)2=(88)16,故本題輸出為880
33.繼承繼承
34.134122312isthe4thnumber.
35.malloc(11)malloc函數(shù)的格式是void*(或char*)malloc(size),size表示應(yīng)分配的存儲(chǔ)區(qū),此題要分配11字節(jié)的單元,把11代入即可。
36.1030010300解析:輸入語(yǔ)句使i=10,j=30,k沒(méi)有被重新賦值,仍為初值0。
37.6262解析:本題考查的是宏定義。帶參數(shù)的宏定義是按#indefine命令行中指定的字符串從左到右進(jìn)行轉(zhuǎn)換。本題中替換的式子為:6+8*6+8,代入i,j的值得到62。
38.33解析:本題考查do…while語(yǔ)句形式:
do循環(huán)體
while表達(dá)式
首先執(zhí)行循環(huán)體語(yǔ)句,然后檢測(cè)循環(huán)控制條件表達(dá)式的值,若為真,則重復(fù)執(zhí)行循環(huán)體語(yǔ)句,否則退出循環(huán)。第1次循環(huán):b+=2,b=2,a-=2+b,a=11;第2次循環(huán):b=4,a=5;第3次循環(huán):b=6,a=-3,此時(shí)再判斷循環(huán)條件不滿足,退出循環(huán)。
39.1717解析:本題中首先定義了一個(gè)變量x并賦初值15,然后判斷循環(huán)條件“x>5&&x<50”,為真,執(zhí)行循環(huán)體。語(yǔ)句x++;執(zhí)行后,x的值變?yōu)?6,x/3的值為5為真,執(zhí)行其后的語(yǔ)句x++;,x的值變?yōu)?7,執(zhí)行語(yǔ)句break,退出循環(huán),輸出x的值為17。
40.'\0''\\0'解析:本題涉及字符數(shù)組和指針的兩個(gè)知識(shí)點(diǎn):①在c語(yǔ)言中,字符型數(shù)組在存放字符串時(shí)會(huì)自動(dòng)在末尾加上字符串結(jié)束標(biāo)識(shí)符'\\0',所以題中數(shù)組str有6個(gè)元素。②ptr指向數(shù)組s仕的首地址,ptr+5是指向str[5],*(ptr+5)是引用str[5]的值,即'\\0'。
41.B解析:此題考查了字符串輸入函數(shù)gets和字符串比較函數(shù)strcmp,另外還有字符輸出函數(shù)putchar。gets從標(biāo)準(zhǔn)輸入設(shè)備中讀入全部字符,包括空格,直到遇到回車符為止。strcmp是字符串比較函數(shù),即strcmp(字符串1,字符串2),如果字符串1=字符串2,則函數(shù)值為0;如果宇符串1,字符串2,則函數(shù)值為一正整數(shù);如果字符串1<字符串2,則函數(shù)值為一負(fù)整數(shù)。putchar(c)函數(shù)將字符c輸出到標(biāo)準(zhǔn)輸出設(shè)備上。
42.D解析:函數(shù)f的功能實(shí)際上是統(tǒng)計(jì)字符串s的字符數(shù),“bestone!”共9個(gè)字符,所以選D。
43.B解析:本題主要考查結(jié)構(gòu)體和聯(lián)合內(nèi)存使用的區(qū)別:結(jié)構(gòu)中不同的成員分別使用不同的內(nèi)存空間,一個(gè)結(jié)構(gòu)所占內(nèi)存空間的大小是結(jié)構(gòu)中每個(gè)成員所占內(nèi)存空間大小的總和,結(jié)構(gòu)中每個(gè)成員相互獨(dú)立;聯(lián)合所占用的內(nèi)存空間為最長(zhǎng)的成員所占用的空間。
44.D解析:本題考查語(yǔ)句的基本構(gòu)成。選項(xiàng)A)中j=5后面少了一個(gè)分號(hào):選項(xiàng)B)中少了“}”;選項(xiàng)C)不是一個(gè)完整的函數(shù)定義格式,一個(gè)完整的函數(shù)定義格式還包括一對(duì)花括號(hào):選項(xiàng)D)正確,是一個(gè)空語(yǔ)句。
45.C解析:數(shù)據(jù)庫(kù)(Database,簡(jiǎn)稱DB)是數(shù)據(jù)的集合,它具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲(chǔ)介質(zhì)內(nèi),是多種應(yīng)用數(shù)據(jù)的集成,并可被各個(gè)應(yīng)用程序所共享。數(shù)據(jù)庫(kù)中的數(shù)據(jù)具有“集成”、“共事”之特點(diǎn)。
46.CC。【解析】數(shù)據(jù)庫(kù)系統(tǒng)(DBS)由數(shù)據(jù)庫(kù)(DBS)、數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)、數(shù)據(jù)庫(kù)管理員、硬件平臺(tái)和軟件平臺(tái)五個(gè)部分組成,可見(jiàn)DB和DBMS都是DBS的組成部分。
47.C解析:選項(xiàng)A用了一個(gè)絕對(duì)值函數(shù)abs(),故選項(xiàng)A正確;選項(xiàng)B中用了一個(gè)“&&”邏輯與,故選項(xiàng)B正確;選項(xiàng)C中,“||”左邊的式子如為真,將不再判斷其后的表達(dá)式的值,故選項(xiàng)C不正確;選項(xiàng)D為本題中數(shù)學(xué)關(guān)系式的一個(gè)等價(jià)命題,故選項(xiàng)D正確。所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。
48.D解析:濫用goto語(yǔ)句將使程序流程無(wú)規(guī)律,可讀性差,因此選項(xiàng)A)不選;注解行有利于對(duì)程序的理解,不應(yīng)減少或取消,選項(xiàng)B)也不選;程序的長(zhǎng)短要依照實(shí)際情況而論,而不是越短越好,選項(xiàng)C)也不選。
49.B解析:在C語(yǔ)言中,大寫(xiě)字母和小寫(xiě)字母被認(rèn)為是兩個(gè)不同的字符,因此,“hello!”和“Hello!”是兩個(gè)不同的字符串。
50.C
51.B解析:do-while循環(huán)的功能是對(duì)數(shù)組a中的元素賦值,值為0、1、0、0、1。for循環(huán)的功能是將數(shù)組a中元素按下標(biāo)從大到小的順序輸出,所以選項(xiàng)B符合題意。
52.D解析:在題目中,程序執(zhí)行到scanf()函數(shù)時(shí),會(huì)暫停等待用戶輸入4個(gè)字符,按題意輸入123<回車>后,字符1~3被分別輸入到c1~c3中,而c4會(huì)得到一個(gè)換行符'\\n'。然后執(zhí)行第1個(gè)getchar()函數(shù),由于前面的scanf()函數(shù)讀完了緩沖區(qū)中的所有字符,所以此時(shí)程序會(huì)又暫停等待用戶輸入,按題意輸入45678<回車>后,緩沖區(qū)第1個(gè)字符'4'被讀入并賦給c5,第2個(gè)getchar()函數(shù)會(huì)讀入緩沖區(qū)第2個(gè)字符'5'。所以最后依次輸出c1、c2、c5、c6的值后,屏幕上的結(jié)果是1245。故應(yīng)該選擇D。
53.D解析:程序的功能是將字符數(shù)組str中的內(nèi)容以反序輸出。函數(shù)fun中t為靜態(tài)變量,每一次調(diào)用函數(shù)fun時(shí),t的值為上一次調(diào)用函數(shù)結(jié)束時(shí)的值。
54.A
55.B解析:軟件工程的目標(biāo)是,在給定的成本、進(jìn)度的前提下,開(kāi)發(fā)出具有有效性、可靠性、可理解性、可維護(hù)性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品?;谶@一目標(biāo),軟件工程的理論和技術(shù)性研究的內(nèi)容主要包括:軟件開(kāi)發(fā)技術(shù)和軟件工程管理。
56.A
57.C解析:在子函數(shù)fun中,s1為字符串w的起始地址,s2為字符串的結(jié)束地址(字符\'\\0\'除外),當(dāng)執(zhí)行循環(huán)結(jié)束循環(huán),w='1711717'。
58.C解析:本題中定義字符數(shù)組s時(shí)沒(méi)有指定數(shù)組長(zhǎng)度,s初始化后存放的內(nèi)容為'\\n123\\\\\\0',其中\(zhòng)'\\n\'和\'\\\\\'是轉(zhuǎn)義字符,所以strlen(s)=5,sizeof(s)=6。
59.A解析:帶參數(shù)的宏定義命令行形式如下:#de-fine宏名(形參表)替換文本。首先進(jìn)行M的宏替換,之后再進(jìn)行N的宏替換,替換后的表達(dá)式為(a)*(b)/(c)。
60.DD)【解析】數(shù)據(jù)庫(kù)管理一般包括:數(shù)據(jù)庫(kù)的建立、數(shù)據(jù)庫(kù)的調(diào)整、數(shù)據(jù)庫(kù)的重組、數(shù)據(jù)庫(kù)的安全性控制與完整性控制、數(shù)據(jù)庫(kù)的故障恢復(fù)和數(shù)據(jù)庫(kù)的監(jiān)控。
61.A解析:本題考核模塊獨(dú)立性的評(píng)價(jià)。評(píng)價(jià)模塊獨(dú)立性的主要標(biāo)準(zhǔn)有兩個(gè);一是模塊之間的耦合,它表明兩個(gè)模塊之間互相獨(dú)立的程度,也可以說(shuō)是兩個(gè)或兩個(gè)以上模塊之間關(guān)聯(lián)的緊密程度(所以,本題的正確答案為選項(xiàng)A);二是模塊內(nèi)部之間的關(guān)系是否緊密,稱為內(nèi)聚。一般來(lái)說(shuō),要求模塊之間的耦合盡可能地弱,即模塊盡可能獨(dú)立,而要求模塊的內(nèi)聚程度盡量地高。
62.B
63.C解析:在無(wú)向圖(邊沒(méi)有方向性的圖)中,若從頂點(diǎn)vi到vj有路徑,則稱vi和vj是連通的,若該圖中仟意兩個(gè)頂點(diǎn)都是連通的,則稱該圖為連通圖。
64.A本題考查prinff函數(shù)的輸出格式控制符,%m.nf表示指定輸出的實(shí)型數(shù)據(jù)的寬度為m(包含小數(shù)點(diǎn)),并保留n位小數(shù)。當(dāng)輸出數(shù)據(jù)的小數(shù)位大于n時(shí),截去右邊多余的小數(shù),并對(duì)截去的部分的第一位做四舍五入的處理;當(dāng)輸出數(shù)據(jù)小數(shù)位小于n時(shí),在小數(shù)的最右邊補(bǔ)0,輸出數(shù)據(jù)的小數(shù)部分寬度為n。若給出的總寬度m小于ll加上整數(shù)位數(shù)和小數(shù)點(diǎn),則自動(dòng)突破m的限制;反之,數(shù)字右對(duì)齊,左邊補(bǔ)空格。本題中3.141593數(shù)值長(zhǎng)度為8,小數(shù)位數(shù)是6,因此左端沒(méi)有空格,故正確答案為A。
65.AB選項(xiàng)中switch((int)x);語(yǔ)句中不應(yīng)該有最后的分號(hào)。switch(exprl),中的exprl不能用浮點(diǎn)類型或10n9類型,也不能為一個(gè)字符串,所以c錯(cuò)誤。ca”后面常量表達(dá)式的類型必須與switch后面表達(dá)式的類型一致,所以D錯(cuò)誤。
66.C(10)C)解析:DB即數(shù)據(jù)庫(kù)(Database),是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合;DBMS即數(shù)據(jù)庫(kù)管理系統(tǒng)(DatabaseManagementSystem),是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應(yīng)用程序提供訪問(wèn)DB的方法;DBS即數(shù)據(jù)庫(kù)系統(tǒng)(DatabaseSystem)由如下5部分組成,數(shù)據(jù)庫(kù)(數(shù)據(jù))、數(shù)據(jù)庫(kù)管理系統(tǒng)(軟件)、數(shù)據(jù)庫(kù)管理員(人員)、系統(tǒng)平臺(tái)之一——硬件平臺(tái)(硬件)、系統(tǒng)平臺(tái)之二——軟件平臺(tái)(軟件)。
67.A本題考查的是c語(yǔ)言的常量
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45060-2024黑斑側(cè)褶蛙
- 二零二五年抖音短視頻內(nèi)容版權(quán)代理與維權(quán)合同3篇
- 二零二五版影視作品制作定金合同附屬協(xié)議書(shū)3篇
- 2025年度設(shè)計(jì)公司技術(shù)秘密保護(hù)合同3篇
- 二零二五版反擔(dān)保證券交易合同3篇
- 2024年通信基站租賃協(xié)議標(biāo)準(zhǔn)格式版
- 2024版醫(yī)院勞動(dòng)聘用合同范本
- 2025年抖音美妝品牌合作協(xié)議2篇
- 2024版竹制品買(mǎi)賣(mài)合同范本
- 二零二五年度白酒企業(yè)供應(yīng)鏈優(yōu)化與風(fēng)險(xiǎn)控制合同3篇
- 冬春季呼吸道傳染病防控
- 中介費(fèi)合同范本(2025年)
- 《kdigo專家共識(shí):補(bǔ)體系統(tǒng)在腎臟疾病的作用》解讀
- 生產(chǎn)調(diào)度員崗位面試題及答案(經(jīng)典版)
- 【物 理】2024-2025學(xué)年八年級(jí)上冊(cè)物理寒假作業(yè)人教版
- 交通運(yùn)輸安全生產(chǎn)管理規(guī)范
- 電力行業(yè) 電力施工組織設(shè)計(jì)(施工方案)
- 《法制宣傳之盜竊罪》課件
- 通信工程單位勞動(dòng)合同
- 查對(duì)制度 課件
- 2024-2030年中國(guó)豬肉市場(chǎng)銷售規(guī)模及競(jìng)爭(zhēng)前景預(yù)測(cè)報(bào)告~
評(píng)論
0/150
提交評(píng)論