




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2021年內蒙古自治區鄂爾多斯市全國計算機等級考試C語言程序設計測試卷一(含答案)學校:________班級:________姓名:________考號:________
一、單選題(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);}程序運行后的輸出結果是()。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);}
程序運行后的輸出結果是
A.ABCDDEFEDBDB.abcDDfefDbDC.abcAAfefAbAD.Abcddfefdbd
3.
4.數據結構主要研究的是數據的邏輯結構、數據的運算和()。A.數據的方法B.數據的存儲結構C.數據的對象D.數據的邏輯存儲
5.下列選項不符合良好程序設計風格的是()。
A.源程序要文檔化B.數據說明的次序要規范化C.避免濫用goto語句D.模塊設計原則是高耦合、高內聚
6.有以下語句,則對a數組元素的引用不正確的是(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已正確定義并分別指向兩個字符串。若要求:當s1所指串大于s2所指串時,執行語句s;則以下選項中正確的是()。
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.以下選項中表示空函數的是()。
A.intfun(){return0;}
B.intfun();
C.intfun(){}
D.intfun(inta,intB){return1;}
9.若在線性表中采用折半查找法查找元素,該線性表應該()A.元素按值有序B.構采用順序存儲結C.元素按值有序且采用順序存儲結構D.元素按值有序且采用鏈式存儲結構
10.
11.數據的存儲結構是指()。
A.數據所占的存儲空間
B.數據的邏輯結構在計算機中的存放形式
C.數據在計算機中的順序存儲方式
D.存儲在計算機外存中的數據
12.
13.
14.有以下程序:#include<stdio.h>#defineS(x)4*(x)*x+1main(){intk=5,j=2;printf("%d\n",S(k+j));}程序運行后的輸出結果是()。A.197B.143C.33D.28
15.設x=011050,則x=x&01252的值是()。A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
16.下列運算符中優先級最高的是()。
A.!B.%C.-=D.&&
17.指針可以用來表示數組元素,若已知語句: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));上面程序片段的輸出結果()
A.200B.100C.100200D.輸出格式符不夠,輸出不確定的值
19.下列描述中正確的是()。
A.軟件工程只是解決軟件項目的管理問題
B.軟件工程主要解決軟件產品的生產率問題
C.軟件工程的主要思想是強調在軟件開發過程中需要應用工程化原則
D.軟件工程只是解決軟件開發中的技術問題
20.計算機算法指的是()。
A.計算方法B.排序方法C.解決問題的有限運算序列D.調度方法
二、2.填空題(20題)21.以下程序運行后的輸出結果是【】。
#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,程序的輸出結果為【】。
#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,則表達式pow(y,fabs(x))的值為______。
24.若定義#definePI3.14159,則執行完下列程序后輸出結果是______。
#definePI3.14159;printf("PI=%f",PI);
25.常用的軟件結構設計工具是結構圖(SC),也稱程序結構圖。其中,用矩形表示______,用帶空心圓的箭頭表示傳遞的是數據。
26.下列程序的功能是將字符串s中所有的字符c刪除。請填空。
#include<stdio.h>
main()
{chars[80];
inti,j;
gets(S);
for(i=j0;s[i]!'\0';i++)
if(s[i]!='c')______;
s[j]='\0;
puts(S);
}
27.數據庫系統中實現各種數據管理功能的核心軟件是______。
28.以下程序的運行結果是【】。
#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的初值為空格字符),執行b=!c&Ra;后b的值為______。
30.在關系數據庫中把數據表示成二維表,每一個二維表稱為【】。
31.【】(黑箱或白箱)測試方法完全不考慮程序的內部結構和內部特征。
32.以下程序運行后的輸出結果是【】。
main()
{
intx=0210;
printf("%X\n",x);
}
33.在面向對象方法中,類之間共享屬性和操作的機制稱為______。
34.當先后輸入1、3、4、12、23時,屏幕上出現【】;再輸入12時,則屏幕上出現【】。
#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.用以下語句調用庫函數malloc,使字符指針st指向具有11個字節的動態存儲空間,請填空。st=(char*)【】;
36.以下程序運行時,若從鍵盤輸入:102030<回車>,輸出的結果是【】。
#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.以下程序運行后的輸出結果是()。#definePower2(x)x*xmain(){inti=6,j=8;printf("%d\n",Power2(i+j));}
38.下列程序段中循環體的執行次數是______。
a=15;
b=0;
do{b+=2;a-=2+b;}while(a>=0);
39.以下程序運行后的輸出結果是【】。
main()
{intx==15;
while(x>10&&x<50)
{x++;
if(x/3){x++;break;}
elsecontinue;
}
printf("%d\n",x);
}
40.設有下列的程序段:
charstr[]="Hello";
char*ptr;
ptr=-str;
執行上面的程序段后,*(ptr+5)的值為______。
三、1.選擇題(20題)41.對下述程序的判斷中,正確的是#include<stdio.h>voidmain(){char*p,s[128];p=S;while(strcmp(s,"End")){printf("Inputastring:");gets(s);while(*p)putchar(*p++);}}
A.此程序循環接收字符串并輸出,直到接收字符串"End"為止
B.此程序循環接收字符串,接收到字符串"End"則輸出,否則程序終止
C.此程序循環接收字符串并輸出,直到接收字符串"End"為止,但因為代碼有錯誤,程序不能正常工作
D.此程序循環接收字符串并將其連接在一起,直到接收字符串"End"為止,輸出連接在一起的字符串
42.有如下的程序:intf(char*s){char*p=s;while(*p!='\0')p++;return(p-s);}如果在主程序中用下述語句調用上述函數,則輸出結果為______。printf("%d\n",f("bestone!"));
A.3B.6C.8D.9
43.下列程序的輸出結果是()。#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.下列寫法正確的是()。
A.main(){inti=3,j;j=5}
B.main(){inti=3;
C.main()
D.main(){;}
45.下列有關數據庫的描述,正確的是______。
A.數據庫是一個DBF文件B.數據庫是一個關系C.數據庫是一個結構化的數據集合D.數據庫是一組文件
46.數據庫DB、數據庫系統DBS、數據庫管理系統DBMS之間的關系是()。
A.DB包括DBS和DBMSB.DBMS包括DB和DBSC.DBS包括DB和DBMSD.沒有任何關系
47.若x和y代表整型數,以下表達式中不能正確表示數學關系|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.在設計程序時,應采納的原則之一是()。
A.不限制goto語句的使用B.減少或取消注解行C.程序越短越好D.程序結構應有助于讀者理解
49.不能把字符串"Hello!"賦給數組b的語句是______。
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.計算機的內存儲器比外存器()
A.價格便宜B.存儲容量大C.讀寫速度快D.讀寫速度慢
51.以下程序運行后,輸出結果是()。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);}程序運行后,若從鍵盤輸入(從第1列開始)123<回車>45678<回車>則輸出結果是()。
A.1267B.1256C.1278D.1245
53.以下程序的輸出結果是______。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,則下列表達式的值分別為()(1)(z>=y>=x)?1:0(2)y+=z,x*=y
A.024B.18C.08D.112
55.軟件工程的理論和技術性研究的內容主要包括軟件開發技術和()。
A.消除軟件危機B.軟件工程管C.程序設計自動化D.實現軟件可重用
56.下列程序的輸出結果是______。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.以下程序的輸出結果是______。#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));}執行后的輸出結果是______。
A.賦初值的字符串有錯B.6,7C.5,6D.6,6
59.閱讀下列程序段,則程序的輸出結果為#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.下列選項中,不屬于數據庫管理的是()
A.數據庫的建立B.數據庫的調整C.數據庫的監控D.數據庫的校對
四、選擇題(20題)61.兩個或兩個以上模塊之間關聯的緊密程度稱為()。
A.耦合度B.內聚度C.復雜度D.數據傳輸特性
62.
63.n個頂點的連通圖中邊的條數至少為______。A.A.0B.1C.n-1D.n
64.程序段:intx=12;doubley=3.141593;printf(”%d%8.6f”,x,y.;的輸出結果是()。
A.123.141593
B.123.141593
C.12,3.141593
D.123.1415930
65.若有定義:floatx=1.5;inta=1,b=3,c=2;則正確的switch語句是()。
66.數據庫DB、數據庫系統DBS、數據庫管理系統DBMS之間的關系是()。
A.DB包含DBS和DBMSB.DBMS包含DB和DBSC.DBS包含DB和DBMSD.沒有任何關系
67.以下選項中不能作為c語言合法常量的是()。
68.若有定義:則以下不能正確表示該數組元素的表達式是()。
69.
70.
71.
當執行下面的程序時,如果輸入ABC,則輸出結罘是()。
#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.
下列程序的輸出結果是()。
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.有以下程序:
程序運行后的輸出結果是()。
A.b,B"b,AB.b,B,B,AC.a,B,B,aD.a,B,a,B
74.以下選項中,合法的一組c語言數值常量是()。
A.12.0Xa234.5e0
B.028.5e…30xf
C.1774el.50abe
D.0x8A10,0003.e5
75.
以下程序的輸出結果是()。
main()
{inti,a[4][4]一{{1,3,5),{2,4,6},{3,5,7}};
printf("%(1%d%d%d\n".a[O][3],a[1][2],a[2]
[1],a[3][0];
}
A.0650B.1470C.5430D.輸出值不定
76.(62)棧底至棧頂依次存放元素A、B、C、D,在第五個元素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);
}
編譯時編譯器提示錯誤信息,你認為出錯的語句是()。
A.a=/*pl-m;
B.b=*p1+*p2+6;
C.k=1,m=8;
D.pl=&k,p2-&m;
78.以下程序的輸出結果是()。
main()
{charst[20]="hell0\O\t\\\”;
printf("%d%d\n",strlen(st),sizeof(st));
}
A.99
B.520
C.1320
D.2020
79.if語句基本形式是:if(表達式)語句,以下關于“表達式”值的敘述中正確的是()。
A.必須是邏輯值B.必須是整數值C.必須是正數D.可以是任意合法的數值
80.
五、程序改錯題(1題)81.下列給定程序中,函數proc()的功能是:用遞歸算法計算斐波拉契級數列中第n項的值。從第一項起,斐波拉契級數序列為1,1,2,3,5,8,13,21,…例如,若給n輸入8,該項的斐波拉契級數值為21。請修改程序中的錯誤,使它能得出正確的結果。注意:不要改動main()函數,不得增行或刪行,也不得更改程序的結構。試題程序:
六、程序設計題(1題)82.請編寫函數voidproc(intx,intpp[],int*n),它的功能是:求出能整除x且不是偶數、不為1的各整數,并按從大到小的順序放在PP所指的數組中,這些除數的個數通過形參n返回。
例如,若x的值為30,則有3個數符合要求,它們是15,5,3。
注意:部分源程序給出如下。
請勿改動main()函數和其他函數中的任何內容,僅在函數proc()的花括號中填入所編寫的若干語句。
試題程序:
參考答案
1.A本題考查帶參數的宏定義。第一次函數調用求S的值,x=a+1,所以X*X*X應寫成a+1*a+1*a+1,沒有括號優先級,結果為l0,第二次函數調用x*X*X可寫成(a+1)*(a+1)*(a+1),所以結果為43=64。
2.B解析:在內存中,字符數據以ASCII碼存儲,它的存儲形式與整數的存儲形式類似。C語言中,字符型數據和整型數據之間可以通用,也可以對字符型數據進行算術運算,此時相當于對它們的ASCII碼進行算術運算,在本題中,s++相當于s=s+1,即讓s指向數組中的下一個元素。
3.B
4.B詳細解答:
數據結構是研究數據元素及其之間的相互關系和數據運算的一門學科,它包含3個方面的內容,即數據的邏輯結構、存儲結構和數據的運算。
5.D在程序設計中,對于軟件設計中的模塊設計要保證高內聚和低耦合,源程序要有文檔說明,同時對程序中數據的說明要規范化。而goto語句破壞程序的結構,要盡量避免使用。所以選項D不正確。
6.D
7.D在C語言中,不能直接比較兩個字符串的大小,必須用特定的函數來完成,選項A錯誤;選項B不管大于還是小于都執行S,不符合題意;選項C正好相反,當s2大于s1時,執行語句S,可知選項D正確。
8.C空函數是函數體沒有執行語句的函數。選項A、D不是空函數;選項B是函數的聲明;只有選項C是空函數。故本題答案為C選項。
9.C
10.A
11.B解析:數據的存儲結構,又稱為數據的物理結構,是數據的邏輯結構在計算機中的存放形式,數據的存儲結構有順序結構、鏈式結構、散列結構和索引結構等。
12.C
13.D
14.B此程序考查帶參數的宏定義,S(k+j)展開后即4*(k+j)*k+j+1,所以結果為l43,答案為B。
15.A本題考查按位與運算,按位與就是相同為1,不同為0,把x=011050化成二進制為0001001000101000,把01252化成二進制為0000001010101010,兩者相與得0000001000101000。
16.A
17.D
18.A
19.C\r\n軟件工程是試圖用工程、科學和數學的原理與方法研制、維護計算機軟件的有關技術及管理方法。軟件工程的主要思想是強調在軟件開發工程中需要應用工程化的原則。軟件工程用來解決以下問題:軟件需求的增長得不到滿足、軟件開發成本和進度無法控制、軟件質量難以保證、軟件不可維護或維護程度低、軟件得成本不斷提高、軟件開發生產率的提高趕不上硬件的發展和應用需求的增長。軟件項目的管理、軟件產品的生產率、軟件開發中的技術都是軟件工程需要解決的部分問題。因此選項C正確。
20.C
21.bcdefghabcdefgha解析:在本題定義的ss()函數中首先定義了一個指針p和一個字符變量t,然后讓p指向參數指針s的下一個位置s+1,并讓t保存s位置的字符。然后使用一個while循環將p指向的內容賦給它前面一個位置,即將參數s所指的字符串從第2個字符開始整體往前移動一位。循環結束時,p指向原s串的結束標志處,所以讓*(p-1)=t;即是將原s串的第1個字符復制到s串的最后一個位置。整個函數實現的是讓一個字符串循環左移一位。故主函數中最后輸出的字符串是'bcdefgha'。
22.a=3.00b=4.00c=5.00s=6.00area=6.00
23.1616解析:函數運算不改變數據類型,所以結果也是double型,fabs(x)是對x取絕對值,pow(y,fabs(x))是y的labs(x)次冪,即2.04。0=16.000000(注意;結果為double型)。
24.PI=3.14159PI=3.14159解析:本題先定義了一個宏名PI,以后在程序中出現PI都用3.14159替代,但是C語言規定:雙引號中的宏名是不進行替換的。
25.模塊模塊解析:矩形表示的是模塊,箭頭表示的是模塊間的調用關系。用帶實心圓的箭頭表示傳遞的是控制信息,用帶空心圓的箭頭表示傳遞的是數據。
26.s[j++]=s[i]s[j++]=s[i]解析:循環開始后如果數組s中儲存值與字符c相同,則i++直接跳過當前值;如果不相同,則將當前值賦予數組指定位置,并通過.j++將下標加1,指向下一元素要存儲的位置。
27.數據庫管理系統數據庫管理系統解析:數據庫管理系統是數據庫的管理機構,它是一種系統軟件,負責數據庫中的數據組織、數據操縱、數據維護、控制及保護和數據服務等。
28.12300123001,2,3,0,0,1,2,3,0,0,解析:本題考查文件讀寫函數fread和fwrite的用法。fwrite函數將數組a的前5個元素輸出到文件fp中兩次,共10個字節,再調用fread函數從文件fp中讀取這10個字節的數據到數組a中,此時數組a的內容就變為{1,2,3,0,0,1,2,3,0,0},最后的輸出結果為'1,2,3,0,0,1,2,3,0,0,'。
29.11解析:字符空格的ASCII碼不為0,所以本題中表達式!c的值為0,b=0&&1的結果顯然為0。
30.關系或一個關系關系或一個關系解析:在關系數據庫中,把數據表示成二維表,而一個二維表就是一個關系。
31.黑箱黑箱解析:本題考查了軟件測試中的黑箱測試。黑箱測試是根據程序規格說明所規定的功能來設計測試用例,它不考慮程序的內部結構和處理過程。常用的黑箱測試技術分為等價類劃分、邊界分析、錯誤猜測以及因果圖等。
32.8888解析:C語言規定,以0開頭的整型常量為八進制。另外,在primf()函數中,%X表示以十六進制無符號形式輸出一個整數,且十六進制中的ABCDEF為大寫字母。本題的輸出應該是八進制210的十六進制形式。將八進制轉換為十六進制,可以先將其轉換為二進制。因為1位八進制表示3位二進制,4位二進制表示1位十六進制。(210)8=(10001000)2=(88)16,故本題輸出為880
33.繼承繼承
34.134122312isthe4thnumber.
35.malloc(11)malloc函數的格式是void*(或char*)malloc(size),size表示應分配的存儲區,此題要分配11字節的單元,把11代入即可。
36.1030010300解析:輸入語句使i=10,j=30,k沒有被重新賦值,仍為初值0。
37.6262解析:本題考查的是宏定義。帶參數的宏定義是按#indefine命令行中指定的字符串從左到右進行轉換。本題中替換的式子為:6+8*6+8,代入i,j的值得到62。
38.33解析:本題考查do…while語句形式:
do循環體
while表達式
首先執行循環體語句,然后檢測循環控制條件表達式的值,若為真,則重復執行循環體語句,否則退出循環。第1次循環:b+=2,b=2,a-=2+b,a=11;第2次循環:b=4,a=5;第3次循環:b=6,a=-3,此時再判斷循環條件不滿足,退出循環。
39.1717解析:本題中首先定義了一個變量x并賦初值15,然后判斷循環條件“x>5&&x<50”,為真,執行循環體。語句x++;執行后,x的值變為16,x/3的值為5為真,執行其后的語句x++;,x的值變為17,執行語句break,退出循環,輸出x的值為17。
40.'\0''\\0'解析:本題涉及字符數組和指針的兩個知識點:①在c語言中,字符型數組在存放字符串時會自動在末尾加上字符串結束標識符'\\0',所以題中數組str有6個元素。②ptr指向數組s仕的首地址,ptr+5是指向str[5],*(ptr+5)是引用str[5]的值,即'\\0'。
41.B解析:此題考查了字符串輸入函數gets和字符串比較函數strcmp,另外還有字符輸出函數putchar。gets從標準輸入設備中讀入全部字符,包括空格,直到遇到回車符為止。strcmp是字符串比較函數,即strcmp(字符串1,字符串2),如果字符串1=字符串2,則函數值為0;如果宇符串1,字符串2,則函數值為一正整數;如果字符串1<字符串2,則函數值為一負整數。putchar(c)函數將字符c輸出到標準輸出設備上。
42.D解析:函數f的功能實際上是統計字符串s的字符數,“bestone!”共9個字符,所以選D。
43.B解析:本題主要考查結構體和聯合內存使用的區別:結構中不同的成員分別使用不同的內存空間,一個結構所占內存空間的大小是結構中每個成員所占內存空間大小的總和,結構中每個成員相互獨立;聯合所占用的內存空間為最長的成員所占用的空間。
44.D解析:本題考查語句的基本構成。選項A)中j=5后面少了一個分號:選項B)中少了“}”;選項C)不是一個完整的函數定義格式,一個完整的函數定義格式還包括一對花括號:選項D)正確,是一個空語句。
45.C解析:數據庫(Database,簡稱DB)是數據的集合,它具有統一的結構形式并存放于統一的存儲介質內,是多種應用數據的集成,并可被各個應用程序所共享。數據庫中的數據具有“集成”、“共事”之特點。
46.CC。【解析】數據庫系統(DBS)由數據庫(DBS)、數據庫管理系統(DBMS)、數據庫管理員、硬件平臺和軟件平臺五個部分組成,可見DB和DBMS都是DBS的組成部分。
47.C解析:選項A用了一個絕對值函數abs(),故選項A正確;選項B中用了一個“&&”邏輯與,故選項B正確;選項C中,“||”左邊的式子如為真,將不再判斷其后的表達式的值,故選項C不正確;選項D為本題中數學關系式的一個等價命題,故選項D正確。所以,4個選項中選項C符合題意。
48.D解析:濫用goto語句將使程序流程無規律,可讀性差,因此選項A)不選;注解行有利于對程序的理解,不應減少或取消,選項B)也不選;程序的長短要依照實際情況而論,而不是越短越好,選項C)也不選。
49.B解析:在C語言中,大寫字母和小寫字母被認為是兩個不同的字符,因此,“hello!”和“Hello!”是兩個不同的字符串。
50.C
51.B解析:do-while循環的功能是對數組a中的元素賦值,值為0、1、0、0、1。for循環的功能是將數組a中元素按下標從大到小的順序輸出,所以選項B符合題意。
52.D解析:在題目中,程序執行到scanf()函數時,會暫停等待用戶輸入4個字符,按題意輸入123<回車>后,字符1~3被分別輸入到c1~c3中,而c4會得到一個換行符'\\n'。然后執行第1個getchar()函數,由于前面的scanf()函數讀完了緩沖區中的所有字符,所以此時程序會又暫停等待用戶輸入,按題意輸入45678<回車>后,緩沖區第1個字符'4'被讀入并賦給c5,第2個getchar()函數會讀入緩沖區第2個字符'5'。所以最后依次輸出c1、c2、c5、c6的值后,屏幕上的結果是1245。故應該選擇D。
53.D解析:程序的功能是將字符數組str中的內容以反序輸出。函數fun中t為靜態變量,每一次調用函數fun時,t的值為上一次調用函數結束時的值。
54.A
55.B解析:軟件工程的目標是,在給定的成本、進度的前提下,開發出具有有效性、可靠性、可理解性、可維護性、可重用性、可適應性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產品。基于這一目標,軟件工程的理論和技術性研究的內容主要包括:軟件開發技術和軟件工程管理。
56.A
57.C解析:在子函數fun中,s1為字符串w的起始地址,s2為字符串的結束地址(字符\'\\0\'除外),當執行循環結束循環,w='1711717'。
58.C解析:本題中定義字符數組s時沒有指定數組長度,s初始化后存放的內容為'\\n123\\\\\\0',其中\'\\n\'和\'\\\\\'是轉義字符,所以strlen(s)=5,sizeof(s)=6。
59.A解析:帶參數的宏定義命令行形式如下:#de-fine宏名(形參表)替換文本。首先進行M的宏替換,之后再進行N的宏替換,替換后的表達式為(a)*(b)/(c)。
60.DD)【解析】數據庫管理一般包括:數據庫的建立、數據庫的調整、數據庫的重組、數據庫的安全性控制與完整性控制、數據庫的故障恢復和數據庫的監控。
61.A解析:本題考核模塊獨立性的評價。評價模塊獨立性的主要標準有兩個;一是模塊之間的耦合,它表明兩個模塊之間互相獨立的程度,也可以說是兩個或兩個以上模塊之間關聯的緊密程度(所以,本題的正確答案為選項A);二是模塊內部之間的關系是否緊密,稱為內聚。一般來說,要求模塊之間的耦合盡可能地弱,即模塊盡可能獨立,而要求模塊的內聚程度盡量地高。
62.B
63.C解析:在無向圖(邊沒有方向性的圖)中,若從頂點vi到vj有路徑,則稱vi和vj是連通的,若該圖中仟意兩個頂點都是連通的,則稱該圖為連通圖。
64.A本題考查prinff函數的輸出格式控制符,%m.nf表示指定輸出的實型數據的寬度為m(包含小數點),并保留n位小數。當輸出數據的小數位大于n時,截去右邊多余的小數,并對截去的部分的第一位做四舍五入的處理;當輸出數據小數位小于n時,在小數的最右邊補0,輸出數據的小數部分寬度為n。若給出的總寬度m小于ll加上整數位數和小數點,則自動突破m的限制;反之,數字右對齊,左邊補空格。本題中3.141593數值長度為8,小數位數是6,因此左端沒有空格,故正確答案為A。
65.AB選項中switch((int)x);語句中不應該有最后的分號。switch(exprl),中的exprl不能用浮點類型或10n9類型,也不能為一個字符串,所以c錯誤。ca”后面常量表達式的類型必須與switch后面表達式的類型一致,所以D錯誤。
66.C(10)C)解析:DB即數據庫(Database),是統一管理的相關數據的集合;DBMS即數據庫管理系統(DatabaseManagementSystem),是位于用戶與操作系統之間的一層數據管理軟件,為用戶或應用程序提供訪問DB的方法;DBS即數據庫系統(DatabaseSystem)由如下5部分組成,數據庫(數據)、數據庫管理系統(軟件)、數據庫管理員(人員)、系統平臺之一——硬件平臺(硬件)、系統平臺之二——軟件平臺(軟件)。
67.A本題考查的是c語言的常量
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司自制銷售管理制度
- 2025探討國內服務采購合同
- 2025建筑PC預制構件勞務分包合同
- 2025辦公文檔范本商業店鋪租賃合同
- 2025租房合同解約需要注意哪些事項
- 2025年華南地區勞動合同標準范本
- 河南省鄭州市中牟縣2024~2025學年 高二下冊3月月考數學試卷附解析
- 廣東省汕尾市2024~2025學年 高二下冊第一次(3月)月考數學試卷附解析
- 2024年寧波市寧海縣機關事業單位招聘真題
- 身份驗證漏洞基礎知識點歸納
- 國家開放大學《心理健康教育》形考任務1-9參考答案
- 手術標本不良事件
- MOOC 軟件工程與實踐導論-四川大學 中國大學慕課答案
- 難燃型改性聚乙烯保溫隔聲卷材建筑樓面工程應用技術標準
- 品質標桿工廠規劃方案
- 廈門大學2021年826物理化學考研真題
- 管培生輪崗總結匯報
- 傳統戲曲表演的臺灣音樂伴奏與表演技術
- 《三體》科幻小說
- 康復科護理的患者安全和風險管理
- 2024年A證(安全員)作業模擬考試題庫全套
評論
0/150
提交評論