版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
2021年廣東省惠州市全國計算機等級考試C語言程序設計真題(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.
2.有以下程序,其中函數(shù)f的功能是將多個字符串按字典順序排序:#include<string.h>voidf(char*p[],intn){char*t;inti,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)ifstrcmp(p[i],p[j])>0{t=p[i]p[i]=p[j];p[j]=t;}}main(){char*p[5]=("abc","aabdfg","abbd","dcdbe","cd"};f(p,5);printf("%d\n",strlen(p[1]));}程序運行后的輸出結(jié)果是______。A.2B.3C.6D.4
3.下列選項中與“if(a==1)a=b;elsea++;”語句功能不同的switch語句是()。
A.switch(a==1){ case0:a=b;break; case1:a++;}
B.switch(a){ case1:a=b;break; default:a++;}
C.switch(a){ default:a++;break; case1:a=b;}
D.switch(a==1){ case1:a=b;break; case0:a++;}
4.數(shù)據(jù)庫設計包括兩個方面的設計內(nèi)容,它們是()
A.概念設計和邏輯設計B.模式設計和內(nèi)模式設計C.內(nèi)模式設計和物理設計D.結(jié)構特性設計和行為特性設計
5.設”inta=15,b=26;”,則”printf(“%d,%d”,a,b);”的輸出結(jié)果是()。
A.15B.26,15C.15,26D.26
6.在n個結(jié)點的線性表的數(shù)組實現(xiàn)中,算法的時間復雜度是O(1)的操作是()。
A.訪問第i(1<=i<=n)個結(jié)點和求第i個結(jié)點的直接前驅(qū)(1<i<=n)
B.在第i(1<=i<=n)個結(jié)點后插入一個新結(jié)點
C.刪除第i(1<=i<=n)個結(jié)點
D.以上都不對
7.設q1和q2是指向一個float型一維數(shù)組的指針變量,k為float型變量,則不能正確執(zhí)行的語句是()。
A.k=*q1+*q2;B.q1=k;C.q1=q2;D.k=*q1*(*q2);
8.二維數(shù)組A按行順序存儲,其中每個元素占1個存儲單元。若A[1][1]的存儲地址為420,A[3][3]的存儲地址為446,則A[5][5]的存儲地址為_______
A.470B.471C.472D.473
9.以下選項中合法的C語言常量是()。
A.‘C-STR’B.2014.1C.”\1.0D.2EK
10.設"char**s;",以下正確的表達式是()。
A.s="computer";B.*s="computer";C.**s="computer";D.*s='c';
11.fun函數(shù)的功能是:通過鍵盤輸入給x所指的整型數(shù)組所有元素賦值。在下劃線處應填寫的是()。#include<stdio.h>#defineN5voidfun(intx[N]){intm;for(m=N-t;m>=O;m-)scanf("%d",____);}A.%&X[++m]B.&x[m+1]C.x+(m++)D.x+m
12.針對二分查找算法,假設一個有序數(shù)組有136個元素,那么要查找到第10個元素,需要比較的元素為()
A.68,34,17,9,13,11,10
B.68,34,17,8,12,10
C.69,35,18,10
D.68,34,18,9,13,11,10
13.有以下程序:#include<stdio.h>main(){FILE*pf;char*s1=“China”,*s2=“Beijing”;pf=fopen(“abc.dat”,“wb+”);fwrite(s2,7,1,pf);rewind(pf);/*文件位置指針回到文件開頭*/fwrite(s1,5,1,pf);fclose(pf);}程序執(zhí)行后,abc.dat文件的內(nèi)容是()。
A.ChinaB.ChinangC.ChinaBeijingD.BeijingChina
14.已知各變量的類型說明如下則以下符合C語言語法的表達式是()。A.a+=a-=(b=4)*(a=3)B.a=a*3=2C.x%(-3)D.y=f1oat(i)
15.下列數(shù)據(jù)模型中,具有堅實理論基礎的是()。
A.關系模型B.網(wǎng)狀模型C.層次模型D.以上三個都是
16.對一個關系投影操作以后,新關系的元組個數(shù)______原來關系的元組個數(shù)。
A.小于B.小于或等于C.等于D.大于
17.以下說法錯誤的是:()
A.全局變量就是在函數(shù)外定義的變量,因此又叫做外部變量
B.一個函數(shù)中既可以使用本函數(shù)中的局部變量,也可以使用全局變量
C.局部變量的定義和全局變量的定義的含義不同
D.如果在同一個源文件中,全局變量和局部變量同名,則在局部變量的作用范圍內(nèi),全局變量通常不起作用
18.
19.數(shù)據(jù)庫系統(tǒng)的核心是()。
A.數(shù)據(jù)模型B.數(shù)據(jù)庫管理系統(tǒng)C.數(shù)據(jù)庫D.數(shù)據(jù)庫管理員
20.if語句基本形式是:if(表達式)語句,以下關于“表達式”值的敘述中正確的是()。
A.必須是邏輯值B.必須是整數(shù)值C.必須是正數(shù)D.可以是任意合法的數(shù)值
二、2.填空題(20題)21.由計算機、操作系統(tǒng)、DBMS、數(shù)據(jù)庫、應用程序及用戶組成的一個整體叫做【】。
22.fwrite函數(shù)的一般調(diào)用形式是
23.下列程序運行后的輸出結(jié)果是______。
#include<stdio.h>
main()
{chars[20];
scanf("%s",s);
printf("%s",s);
}
運行程序,輸入HOWAREYOU。
24.執(zhí)行下列語句段后,x的值是______。
int*p,x;
x=100;
p=&x;
x=*p+50;
25.以下程序的運行結(jié)果是【】。
#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);
}
26.以下程序的功能是:求出數(shù)組x中各相鄰兩個元素的和依次存放到a數(shù)組中,然后輸出。請?zhí)羁铡?/p>
main()
{intx[10],a[9],i;
for(i=0;i<10;i++)scanf("%d",&x[i]);
for([11];i<10;i++)
a[i-1]=x[i]+[12];
for(i=0;i<9;i++)printf("%d",a[i]);
printf("");
}
27.【】是數(shù)據(jù)庫設計的核心。
28.已知字母A的ASCII碼為65。以下程序運行后的輸出結(jié)果是______。
main()
{chara,b;
a='A'+'5'-'3';b=a+'6'-'2';
printf("%d%c\n",a,B);
}
29.以下程序的輸出結(jié)果是【】。
fun(intx,inty,intz)
{z=x*x+y*y;}
main()
{inta=31;
fun(6,3,a)
printf("%d,a)
}
30.表達式pow(2.8,sqrt(float(x)))值的數(shù)據(jù)類型為______型。
31.關系模型的完整性規(guī)則是對關系的某種約束條件,包括實體完整性、______和自定義完整性。
32.在數(shù)據(jù)庫理論中,數(shù)據(jù)物理結(jié)構的改變,如存儲設備的更換、物理存儲的更換、存取方式改變等都不影響數(shù)據(jù)庫的邏輯結(jié)構,從而不引起應用程序的變化,稱為______。
33.設有下列的程序段;
charstr[]="Hello";
char*ptr;
ptr=str;
執(zhí)行上面的程序段后,*(ptr+5)的值為______。
34.以下程序的功能是將字符串s中的數(shù)字字符放人d數(shù)組中,最后輸出d中的字符串。例如,輸入字符串a(chǎn)bc123edf456gh,執(zhí)行程序后輸出123456。請?zhí)羁铡?/p>
#include<stdio.h>
#include<ctype.h>
main()
{chars[80],d[80];inti,j;
gets(s);
for(i=j=0;s[i]!='\0';i++)
if(【】){d[j]=s[i];j++;)
d[j]='\0';
puts(D);
}
35.在計算機領域中,通常用英文單詞“Byte'’表示【】。
36.以下程序的輸出結(jié)果是()。
#include<stdio.h>
main()
{intx=27;
while(x>20&&x<30)
{x++;
if(x/3){x++;break;}
else
continue;
}
printf("%d\n",x);
}
37.軟件定義時期主要包括______和需求分析兩個階段。
38.在算法正確的前提下,評價一個算法的兩個標準是【】。
39.以下程序的定義語句中,x[1]的初值是【】,程序運行后輸出的內(nèi)容是【】。
#include<stdio.h>
main()
{intx[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},*p[4],i;
for(i=0;i<4;i++)
{p[i]=&x[2*i+1];
printf("%d",p[i][0]);
}
printf("\n");)
}
40.一個類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個方法提高了軟件的【】。
三、1.選擇題(20題)41.當變量c的值不為2、4、6時,值也為“真”的表達式是
A.(c==2)||(c==4)||(c==6)
B.(c>=2&&c<=6)||(c!=3)||(c!=5)
C.(c>=2&&c<=6)&&!(c%2)
D.(c>=2&&c<二6)&&(c%2!=1)
42.下列程序的輸出結(jié)果是#include"stdio.h"#defineM(x,y)x%ymain(){inta,m=12,n=100;a=M(n,m);printf("%d\n",a--);}
A.2B.3C.4D.5
43.具有3個結(jié)點的二叉樹有
A.2種形態(tài)B.4種形態(tài)C.7種形態(tài)D.5種形態(tài)
44.軟件是指()。A.程序B.程序和文檔C.算法加數(shù)據(jù)結(jié)構D.程序、數(shù)據(jù)與相關文檔的完整集合
45.有以下程序main(){intc=35;printf("%d\n”,c&c);}程序運行后的輸出結(jié)果是______。
A.0B.70C.35D.1
46.下列關于邏輯運算符兩側(cè)運算對象的敘述中正確的是()。
A.只能是整數(shù)0或1B.只能是整數(shù)0或非0整數(shù)C.可以是結(jié)構體類型的數(shù)據(jù)D.可以是任意合法的表達式
47.______是構成C語言程序的基本單位。
A.函數(shù)B.過程C.子程序D.子例程
48.設變量a,b,c,d和y都已正確定義并賦值。若有以下if語句
if(a<b)
if(c==d)y=0;
elsey=1;
A.
B.
C.
D.
49.有如下程序inta[10]={1,2,3,4,5,6,7,8,9,10};int*p=&a[3],b;b=p[5];則b的值是
A.5B.6C.9D.8
50.不是面向?qū)ο蟪绦蛟O計的可維護性的優(yōu)點的是()
A.用面向?qū)ο蟮姆椒ㄩ_發(fā)的軟件穩(wěn)定性比較好B.易于移植C.易于和調(diào)試D.用面向?qū)ο蟮姆椒ㄩ_發(fā)的軟件比較容易理解
51.以下程序運行后,輸出結(jié)果是
#definePT5.5
#defineS(x)PT*x*x
#include<stdio.h>
main()
{inta=1,b=2;
printf("%4.1f\n",S(a+b));}
A.49.5B.9.5C.22D.45
52.下面程序的輸出結(jié)果是main(){charstr[10],c='a';inti=0;for(;i<5;i++)str[i]=c++;printf("%s",str);}
A.abcdeB.aC.不確定D.bcdef
53.C語言結(jié)構體類型變量在程序運行期間
A.TC環(huán)境在內(nèi)存中僅僅開辟一個存放結(jié)構體變量地址的單元
B.所有的成員一直駐留在內(nèi)存中
C.只有最開始的成員駐留在內(nèi)存中
D.部分成員駐留在內(nèi)存中
54.設有以下語句:structSS{intno;charname[10];}PERSON;則下面敘述中錯誤的是()
A.struct是結(jié)構體類型的關鍵字
B.structSS是結(jié)構體類型
C.PERSON是結(jié)構體類型名
D.name是結(jié)構體成員名
55.若有以下的定義和語句:main(){inta[4][3]*p[4],j;for(j=0;j<4;j++)p[j]=a[j];}則能表示數(shù)組元素的表達式是______。
A.*(p[1])B.a[4][3]C.a[1]D.*(p+4)[1]
56.下列關于隊列的敘述中正確的是______。A.在隊列中只能插入數(shù)據(jù)B.在隊列中只能刪除數(shù)據(jù)C.隊列是先進先出的線性表D.隊列是先進后出的線性表
57.若已定義:inta[9],*p=a;并在以后的語句中未改變p的值,下列選項中不能表示a[1]地址的表達式是()。
A.p+1B.a+1C.a++D.#NAME?
58.若輸入60和13,以下程序的輸出結(jié)果為()#defineSURPLUS(a,b)((a)%(b))main(){inta,b;scanf("%d,%d",&a,&b);prind("\n",SURPLUS(a,b));}
A.60B.13C.73D.8
59.下列程序的運行結(jié)果是()。#include<stdio.h>#include<string.h>main(){char*s1="ahDuj";char*s2="ABdUG":intt;t=strcmp(s1,s2);printf("%d",t);}
A.正數(shù)B.負數(shù)C.零D.不確定的值
60.用鏈表表示線性表的優(yōu)點是()。
A.便于隨機存取B.花費的存儲空間較順序存儲少C.便于插入和刪除操作D.數(shù)據(jù)元素的物理順序和邏輯順序相同
四、選擇題(20題)61.有如下程序段
structabc
{inta,b,c,s;};
main()
{structabcs[2]={{1,2,3},{4,5,6}};intt;
t=s[0].a+s[1].b;
printf("%d\n",t);
}
程序運行后輸出的結(jié)果是
A.5B.6
C.7D.8
62.
63.
64.以下可用作C語言用戶標識符的是()
A.void,define,WORD
B.a3_b3,_123,IF
C.FOR,--abc,Case
D.2a,Do,Sizeof
65.在數(shù)據(jù)管理技術發(fā)展的三個階段中,數(shù)據(jù)共享最好的是()。
A.人工管理階段B.文件系統(tǒng)階段C.數(shù)據(jù)庫系統(tǒng)階段D.三個階段相同
66.當變量c的值不為2、4、6時,值也為”真”的表達式是()。
A.(c>=2&&c<=6)&&(c%21=1)
B.(c==2)ll(e==4)II(C==6)
C.(C>=2&&c<=6)&&!(c%2)-
D.(c>=2&&c<=6)Il(c!=3)I|(C!=5)
67.
有下列程序:
main
{intk=5:
while(--k)printf("%d",k=1);
printf("\n");
}
執(zhí)行后的輸出結(jié)果是()。
A.1B.2C.4D.死循環(huán)
68.在結(jié)構化分析方法中,數(shù)據(jù)字典的作用是()。
A.存放所有需要處理的原始數(shù)據(jù)
B.存放所有處理的結(jié)果
C.存放所有程序文件
D.描述系統(tǒng)中所用到的全部數(shù)據(jù)和文件的有關信息
69.若有定義“intb[8],*p=b;”,則p+6表示()。
A.數(shù)組元素b[6]的值B.數(shù)組元素b[6]的地址C.數(shù)組元素b[7]的地址D.數(shù)組元素b[0]的值加上6
70.有以下程序:
程序的運行結(jié)果是()。
A.y=0B.y=1C.y=2D.y=3
71.
72.有以下程序:
#include<stdio.h>
main()
{inta=-2,b=0;
while(a++++b);
printf("%d,%d\n",a,b);
}
程序運行后的輸出結(jié)果是()。
A.1,3B.0,2C.0,3D.1,2
73.下列程序的輸出結(jié)果是()。#includeintfun(inta){intb=0;staticintc=4;a=c++;b++;return(a);}main{inta=2,i,c;for(i=0:i<2;i++)c=f(a+1);printf("%d\n",c);}A.4B.7C.6D.5
74.以下程序中,函數(shù)sort的功能是對a數(shù)組中的數(shù)據(jù)進行由大到小的排序。
voidsort(inta[],intn)
{inti,j,t;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[i]<a[j])
{t=a[i];a[i]=a[j];a[j]=t;}
}
main()
{intaa[10]={1,2,3,4,5,6,7,8,9,10},i;
sort(&aa[3],5);
for(i=0;i<10;i++)printf("%d,",aa[i]);
printf("\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.1,2,3,8,7,6,5,4,9,10
D.1,2,10,9,8,7,6,5,4,3
75.以下有4組用戶標識符,其中合法的一組是()。
A.FOr-subCase
B.4dDOSize
C.f2_G3IFabc
D.WORDvoiddefine
76.(18)下列說法中,不屬于數(shù)據(jù)模型所描述的內(nèi)容的是______。
A.數(shù)據(jù)結(jié)構
B.數(shù)據(jù)操作
C.數(shù)據(jù)查詢
D.數(shù)據(jù)約束
77.有以下程序
fun(int*a,intn)
{inti,j=0,p;
p=j;
for(i=j;i<n;i++)
if(a[i]<a[p])
____;
return(p);
}
在下畫線處應填入的是
A.i=pB.a(chǎn)[p]=a[i]
C.p=jD.p=i
78.
79.設有如下定義
char*s[2]={"abcd","ABCD"};
則下列說法錯誤的是
A.s數(shù)組元素的值分別是″abcd″和″ABCD″兩個字符串的首地址
B.s是指針數(shù)組名,它含有兩個元素,分別指向字符型一維數(shù)組
C.s數(shù)組的兩個元素分別存放的是含有4個字符的一維字符數(shù)組中的元素
D.s數(shù)組的兩個元素中分別存放了字符′a′和′A′的地址
80.
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是:在字符串的最前端加入m個*號,形成新串,并且覆蓋原串。例如,用戶輸入字符串a(chǎn)bcd(以Enter鍵結(jié)束),然后輸入m值為3,則結(jié)果為***abcd。注意:字符串的長度最長允許為79。請修改函數(shù)proc()中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構。試題程序:
六、程序設計題(1題)82.三個整數(shù)a、b、c,由鍵盤輸入,輸出其中最大的數(shù)。
參考答案
1.B
2.D解析:字符串比較函數(shù)“strcmp(char*s1,char*s2)”的比較規(guī)則是對兩個字符串自左至右逐個字符相比(按ASCII碼值大小比較),直到出現(xiàn)不同的字符或遇到到"\\0"為止。如果全部相同,則認為相等:若出現(xiàn)不相同的字符,則以第一個不相同的字符的比較結(jié)果為準。當s1<s2,返回值<0;當s1=s2時,返回值二0:當s1>s2時,返回值>0。故本題經(jīng)過排序后,得到第二個字符串是“abbd”,所以輸出結(jié)果是4。
3.A題干中,if語句的含義是:如果a的值為1,將b的值賦給a,否則將a的值自增1。選項A中,“switch(a==1)”中表達式“a==1”的結(jié)果如果為真,即1,則從case1開始執(zhí)行“a++”;如果“a==1”的結(jié)果為假,即為0,則從case0開始執(zhí)行“a=b”,所以與題干含義執(zhí)行操作相反的是選項A中的語句。故本題答案為A選項。
4.A解析:模式設計和內(nèi)模式設計是概念設計的兩種方法。物理設計是根據(jù)特定的計算機系統(tǒng),對數(shù)據(jù)的存儲結(jié)構和存取方法進行設計,從而實現(xiàn)從邏輯結(jié)構到物理結(jié)構的轉(zhuǎn)換。從系統(tǒng)開發(fā)的角度來看,結(jié)構特性設計和行為特性-設計是數(shù)據(jù)庫應用系統(tǒng)所具有的兩個特性。結(jié)構特性的設計,設計各級數(shù)據(jù)庫模式(靜態(tài)特性):行為特性的設計,改變實體及其特性,決定數(shù)據(jù)庫系統(tǒng)的功能(動態(tài)特性)。
5.C
6.A
7.B解析:選項A)是將指針q1和q2所指向的變量值相加,然后賦給k;選項B)中,float型數(shù)據(jù)和指針型數(shù)據(jù)之間不能進行賦值運算:選項C)中,是兩個指針變量之間的賦值:選項D)中,是兩個指針型變量所指向的兩個float型數(shù)據(jù)相乘。
8.C
9.B所謂常量,是指在程序運行的過程中,其值不能被改變的量。在C語言中,有整型常量、實型常量、字符常量和字符串常量等類型。選項A是字符串,需要使用雙引號;選項C不是合法的常量形式;選項D為實型常量中的指數(shù)形式,但指數(shù)形式e(E)之前必須是數(shù)字,之后必須為整數(shù)。故本題答案為B選項。
10.B
11.DD【知識點】宏定義與數(shù)組地址的考察【解析】數(shù)組名本身就是地址,所以不需要在用&符號。C選項不能對所有元素賦值而是反復再給一個數(shù)值賦值且是死循環(huán)。
12.B
13.B題目中先是將s2字符串寫入adc.dat中,然后執(zhí)行rewind函數(shù)將寫指針放置于文件開頭,寫入s1字符串。s1字符串將前5個字符覆蓋,所以最終結(jié)果為Chinang。故本題答案為B選項。
14.A
15.A解析:在層次模型和網(wǎng)狀模型的系統(tǒng)研究和數(shù)據(jù)庫設計中,其性能和質(zhì)量主要決定于設計者的經(jīng)驗和技術水平,缺乏一定的理論指導。關系模型有堅實的理論基礎,它以數(shù)學理論為基礎,從而避免了層次模型和網(wǎng)狀模型系統(tǒng)中存在的問題。
16.B解析:投影操作是從關系中選擇某些列,投影后消去了某些屬性,就可能出現(xiàn)重復元組,根據(jù)關系的性質(zhì),應消去這些完全相同的元組。這樣使得新關系的元組數(shù)小于或等于原來的元組數(shù)。
17.A
18.B
19.B解析:數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心,是負責數(shù)據(jù)庫的建立、使用和維護的軟件。數(shù)據(jù)庫管理系統(tǒng)建立在操作系統(tǒng)之上,實施對數(shù)據(jù)庫的統(tǒng)一管理和控制。用戶使用的各種數(shù)據(jù)庫命令以及應用程序的執(zhí)行,最終都必須通過數(shù)據(jù)庫管理系統(tǒng)。另外,數(shù)據(jù)庫管理系統(tǒng)還承擔著數(shù)據(jù)庫的安全保護工作,按照數(shù)據(jù)庫管理員所規(guī)定的要求,保證數(shù)據(jù)庫的完整性和安全性。
20.D考查if循環(huán)語句。if(表達式),其中表達式是一個條件,條件中可以是任意的合法的數(shù)值。
21.數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)
22.D
23.HOWHOW解析:在scanf()函數(shù)中,使用空格作為分隔符,如果輸入含有空格的字符中,則不能使用scanf()數(shù),所以本題中輸入空格就返回了'\\0\\,s數(shù)組也就確定了,后面的輸入就不再讀入數(shù)組s中。
24.150150解析:本題先給變量x賦初始值100,然后將指針p指向變量x,*p是取指針p所指地址的內(nèi)容,即100,所以x=100+50=150。
25.a=2b=1a=2,b=1解析:本題考查了switch結(jié)構的內(nèi)容。C語言中,程序執(zhí)行完一個case標號的內(nèi)容后,如果沒有break語句,控制結(jié)構會轉(zhuǎn)移到下一個case繼續(xù)執(zhí)行,因為case常量表達式只是起語句標號作用,并不是在該處進行條件判斷。本題程序在執(zhí)行完內(nèi)部switch結(jié)構后,繼續(xù)執(zhí)行了外部switch結(jié)構的case2分支,最后a和b的值分別為2和1。
26.i=1x[i-1]i=1\r\nx[i-1]解析:對于10個數(shù),相鄰的兩個數(shù)相加取和,總共要進行9次加法運算,所以空11處應填入i=1。相鄰的兩個數(shù)相加取和,放在數(shù)組a中,x[0]與x[1]的和存放在a[0]中,所以空12處應填入x[i-1]。
27.數(shù)據(jù)模型數(shù)據(jù)模型
28.67G67G解析:字符型變量中保存的是某個字符的ASCII碼值,是一個整數(shù),因此字符型變量的算術運算和整型變量并無區(qū)別。所以。a='A'+'5'-'3'='A'+('5'='3')='A'+2=65+2=67:b=a+'6'='2'='C'+('6'-'2')='C'+4='G'。最后分別按十進制整數(shù)和字符形式輸出a和b的值為:67G。
29.3131解析:在函數(shù)調(diào)用時,形參值和改變,不會改變實參的值。
30.floatfloat解析:在此表達式中x是float類型的變量,經(jīng)過開方所得到的結(jié)果仍是float類型,再和2.8進行運算時,應該先將2.8轉(zhuǎn)換成float類型再運算,最后結(jié)果仍是float型。
31.參照完整性參照完整性
32.物理獨立性物理獨立性解析:數(shù)據(jù)的物理結(jié)構改變,不影響數(shù)據(jù)庫的邏輯結(jié)構,從而不引起應用程序的變化,這種性質(zhì)叫做物理獨立性。
33.'\0''\\0'解析:本題涉及字符數(shù)組和指針的兩個知識點:①在C語言中,字符型數(shù)組在存放字符串時會自動在末尾加上字符串結(jié)束標識符'\\0'所以題中數(shù)組str有6個元素。②ptr指向數(shù)組str的首地址,ptr+5是指向str[5],*(ptr+5)是引用str[5]的值,即'\\0'。
34.s[i]>='0'&&s[i]<='9'或s[i]>=48&&s[i]<=57s[i]>='0'&&s[i]<='9'或s[i]>=48&&s[i]<=57解析:根據(jù)題意,if語句的條件應當是判斷數(shù)組元素s[i]是否為數(shù)字,故正確答案為:s[i]>='0'&&s[i]<='9'或s[i]>=48&&s[i]<=57,其中48是字符0的ASCII碼值,57是字符9的ASCII碼值。
35.字節(jié)字節(jié)
36.2929解析:本題考查while循環(huán)和++運算,x=27符合循環(huán)條件,執(zhí)行循環(huán)體中x++后,x=28,if條件也成立,執(zhí)行x++后退出,x的值增1,結(jié)果x=29。
37.可行性研究可行性研究解析:軟件生命周期一般包括可行性研究與需求分析、設計、實現(xiàn)、測試、交付使用及維護等,還可以將軟件生命周期分為三個階段:①軟件定義階段:可行性研究和需求分析;②軟件開發(fā)階段:設計、實現(xiàn)和測試;③軟件運行維護階段:交付使用和維護。
38.時間復雜度和空間復雜度時間復雜度和空間復雜度
39.224682,2468解析:在主函數(shù)中根據(jù)整型數(shù)組x[]的定義可知,x[1]的初值等于2。在for循環(huán)語句中,當i=0時,p[0]=&x[1],p[0][0]=2;當i=1時,p[1]=&x[3],p[1][0]=4;當i=2時,p[2]=&x[5],p[2][0]=6;當i=3時,p[3]=&x[7],\ue008p[3][0]\ue009=8,所以程序輸出的結(jié)果為2、4、6、8。
40.可重用性繼承的優(yōu)點:相似的對象可以共享程序代碼和數(shù)據(jù)結(jié)構,從而大大減少了程序中的冗余,提高軟件的可重用性。
41.B解析:滿足表達式(c>=2&&c<=6)的整型變量c的值是2,3,4,5,6。當變量c的值不為2,4,6時,其值只能為3或5,所以表達式c!=3和c!=5中至少有一個為真,即不論c為何值,選項B中的表達式都為“真”。
42.C解析:帶參數(shù)的宏定義命令行形式如下:
#define宏名(形參表)替換文本
在編譯的時候編譯預處理程序用“替換文本”來替換宏,即M(n,m)被替換為n%m,之后計算,將計算的結(jié)果賦給a。注意,宏替換是在編譯時由預處理程序完成的,宏替換不占用運行的時間,而函數(shù)調(diào)用是在程序運行時進行的,在函數(shù)的調(diào)用過程中需要占用一系列的處理時間。
43.D解析:因為二叉樹有左、右子樹之分,所以有3個結(jié)點的二叉樹具有5種不同的形態(tài)。
44.D軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)及相關文檔的完整集合。其中,程序是軟件開發(fā)人員根據(jù)用戶需求開發(fā)的、用程序設計語言描述的、適合計算機執(zhí)行的指令(語句)序列;數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構;文檔是與程序開發(fā)、維護和使用有關的圖文資料。因此本題的正確答案是D。
45.C解析:本題考查的是對位與運算符&的理解。位與運算是將兩個運算分量看作兩個二進制數(shù),然后對兩個二進制數(shù)的相應位進行與運算,若同時為1則結(jié)果相應位為1,否則結(jié)果相應位為0。因此,當兩個運算分量相同時,它們的相應位肯定也相同,即不同為1就同為0。所以得到的結(jié)果和運算分量也相同。所以,4個選項中選項C)符合題意。
46.D解析:邏輯運算符兩側(cè)的運算對象可以是任意合法的表達式。邏輯表達式的運算結(jié)果或者為1(“真”),或者為0(“假”)。
47.A解析:C程序是由函數(shù)構成的?!獋€C源程序至少包含—個main函數(shù),也可以包含—個main函數(shù)和若干個其他函數(shù),因此,函數(shù)是C程序的基本單位。
48.C解析:本題考查的是if語句的嵌套。解此類題目只需記住else子句總是與前面最近的不帶else的if相結(jié)合,切不可輕信試卷上的縮進格式。另外,花括號括起來部分相當于一條語句,外部else不可與內(nèi)部的if結(jié)合,應把整個花括號部分看成一條普通語句.所以題目中的嵌套訌語句的意思是“在a<b的前提下,如果c==d就讓y=0,如果c!=d就讓y=1?!彼詰撨x擇C。
49.C解析:p=&a[3]將指針指向數(shù)組a的第4個元素,p[5]指向數(shù)組a的第9個元素,而a[8]=9,所以b=9。
50.B
51.A解析:考查宏替換的使用。宏替換用'#define宏名宏體'的形式來定義。在進行編譯預處理時,將把程序中宏定義之后的所有宏名用宏體替換。宏雖然可以帶參數(shù),但宏替換過程中不像函數(shù)那樣要進行參數(shù)值的計算、傳遞及結(jié)果返回等操作;宏替換只是簡單的字符替換,不進行計算,因而本題中的S(a+b)進行宏替換后為PT*1+2*1+2=5.5*1+2*1+2=9.5。
52.C解析:字符串少一個結(jié)束標志,所以輸出的結(jié)果不確定。
53.B解析:結(jié)構體類型的變量在程序運行期間要作為一個整體占用連續(xù)的內(nèi)存單元。
54.C
55.A解析:B項錯在越界,下標最大的元素只到a[3][2];C項錯在a[1]只表示第2行;*(p+4)[1]的錯誤也在于越界,p+4相當于a[4],實際上是不存在的。
56.C隊列是指允許在一端進行插入、而在另一端進行刪除的線性表,選項A和選項B錯誤。允許插入的一端稱為隊尾,允許刪除的一端稱為隊頭。在隊列中,最先插入的元素將最先能夠被刪除,反之,最后插入的元素將最后才能被刪除。所以,隊列又稱為“先進先出”或“后進后出”的線性表,它體現(xiàn)了“先來先服務”的原則,選項C正確,選項D錯誤。
57.C解析:本題考查數(shù)組地址的表示。選項C)中,數(shù)組名所表示的數(shù)組地址不能被重新賦值。
58.D
59.A解析:本題考查字符串比較函數(shù)和兩個字符串比較的原則兩個知識點:①原則是依次比較兩個字符串同—位置的一對字符,若它們的ASCII碼值相同,則繼續(xù)比較下一對字符,若它們的ASCII碼值不同.則ASCII碼值較大的字符所在的串符串較大;若所有字符相同,則兩個字符串相等;若一個字符串全部i個字符與另一個字符串的前i個字符相同,則字符串較長的較大。②strcmp(s1,s2)的返回值,當str1<str2時,返回值<0;當str1=str2時,返回值為0;當str1>str2,返回值>0。
60.C【解析】在鏈表中因為除了存放數(shù)據(jù)元素之外,還要存放指針,所以鏈表花費的存儲空間要比順序表還要多,在插入和刪除數(shù)據(jù)元素時,只需要移動相應的記錄指針即可,在鏈表中,數(shù)據(jù)的物理結(jié)構與邏輯結(jié)構不一定相同,因為是靠指針來實現(xiàn)對數(shù)據(jù)的指定的,所以不能進行隨機存取。
61.B本題中,程序首先定義一個結(jié)構體,該結(jié)構體定義了四個整型變量。在主函數(shù)中,首先定義了一個該結(jié)構體的大小為2的結(jié)構體數(shù)組,并給該數(shù)組進行了初始化,從初始化語句我們可以看出,初始化時缺少了一個結(jié)構體成員的值,在這種情況下,系統(tǒng)會自動為缺省的成員補0,本題中就是給結(jié)構體成員變量b賦初值為0。
然后定義了一個整型變量t,接著運行t=s[0].a+s[1].b;語句,即t=1+5=6。因此,程序的最后輸出結(jié)果為6,本題正確答案選B。
62.C
63.D
64.BC語言規(guī)定用戶標識符由字母、數(shù)字和下劃線組成,且第一個字符必須是字母或下劃線,可見選項C),D)是錯誤的;此外,c語言不允許用戶將關鍵字作為標識符,而選項A)中的void正是C語言的關鍵字。
65.C數(shù)據(jù)管理發(fā)展至今已經(jīng)歷了三個階段:人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中最后一個階段結(jié)構簡單,使用方便邏輯性強物理性少,在各方面的表現(xiàn)都最好,一直占據(jù)數(shù)據(jù)庫領域的主導地位,所以選擇C)。
66.D邏輯或運算符中只要有一個運算量為真結(jié)果就是真,當c>=2&&C<=6條件不成立時c的值肯定不是2、3、4…56所以C!=3,與C!=5均成立。所以D選項的結(jié)果一定為真。
67.A
\n在程序語句中,k的初始值為5,進行第l次while循環(huán)后,k自減1為4,非0,執(zhí)行循環(huán)體里的printf語句,輸出k,此時k的值變?yōu)?。程序執(zhí)行第2次循環(huán)時,k自減1變?yōu)?,為假,退出while循環(huán)語句。所以程序的最后結(jié)果為1。
\n
68.D在c語言中.結(jié)構化分析方法中的數(shù)據(jù)字典的作用是描述系統(tǒng)中所用到的全部數(shù)據(jù)和文件的有關信息。
69.B指針中存放的是變量的地址,指針也可以進行增減運算,這時指針移動的最小單位是一個存儲單元,而不是一個字節(jié)。所以題中“P+6”指的是將指針向后移動了6個存儲單元,即指向uE63,存放的是b[6]的地址。
70.D在程序中指針變量P初始指向a[3],執(zhí)行P減1后,P指向a[2],語句y=*P的作用是把a[2]的值賦給變量y,所以輸出為y=3。
71.A
72.D\n輸出的結(jié)果是:-1,1
\n0,2
\n1,2
\n
73.Dstatic變量是局部度量,函數(shù)無法修改,所以當i=1時,第2次進入f函數(shù)時c=5,所以最終main函數(shù)中C的值為5。
74.C本題題目給出了函數(shù)sort的功能是對a數(shù)組中的數(shù)據(jù)進行由大到小的排序。在函數(shù)sort中,帶有兩個形參,其中一個為要操作的數(shù)組a,在函數(shù)體中,通過雙重循環(huán)對a數(shù)組元素進行排序。
在主函數(shù)中,定義了一個數(shù)字aa,并賦了初值,然后調(diào)用函數(shù)sort,其兩
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 交通事故賠償金協(xié)議書七篇
- 鮑恩病病因介紹
- 勞務派遣書面協(xié)議書七篇
- 《數(shù)據(jù)資產(chǎn)入表合規(guī)規(guī)范指南》(征求意見稿)
- (參考)雕刻工藝品投資項目可行性研究報告
- 2023年天津市南開區(qū)高考語文二模試卷
- 《廉政公署專題》課件
- 電工培訓課件之跌落熔絲的操作
- 《廣告創(chuàng)意文案設計》課件
- 內(nèi)蒙古呼倫貝爾市阿榮旗2023-2024學年七年級上學期期末考試數(shù)學試卷(含答案)
- 2024秋期國家開放大學《公共政策概論》一平臺在線形考(形考任務1至4)試題及答案
- 《2024版 CSCO非小細胞肺癌診療指南》解讀
- GB 44497-2024智能網(wǎng)聯(lián)汽車自動駕駛數(shù)據(jù)記錄系統(tǒng)
- 家具售后合同協(xié)議書
- 空氣動力學數(shù)值方法:有限體積法(FVM):離散化技術與數(shù)值通量
- 下肢靜脈曲張的靜脈內(nèi)射頻消融術
- 北師大版七上冊數(shù)學期末沖刺復習
- 物流管理專業(yè)培養(yǎng)專題方案調(diào)研綜合報告樣本
- 小學語文整本書閱讀《夏洛的網(wǎng)》導讀課公開課一等獎創(chuàng)新教學設計
- 建筑鋼結(jié)構質(zhì)量通病及防治措施
- 骨科中醫(yī)護理方案總結(jié)與優(yōu)化(2篇)
評論
0/150
提交評論