版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2022年山東省菏澤市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測試卷一(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.設(shè)有定義語句:charc1=92,c2=92;則以下表達(dá)式中值為零的是()。
A.c1∧c2B.c1&c2C.~c2D.c1|c2
2.下列正確的實(shí)型常量是()。
A.E3.4B.-12345C.2.2eO.8D.4
3.標(biāo)準(zhǔn)庫函數(shù)fgets(s,n,file)的功能是()。
A.從文件file中讀取長度為n的字符串存入字符數(shù)組s中
B.從文件file中讀取長度不超過n-1個(gè)字符的字符串放到字符數(shù)組s中
C.從文件file中讀取n個(gè)字符串存入字符數(shù)組s中
D.從文件file中讀取長度為n-1個(gè)字符的字符串存入字符數(shù)組s中
4.視圖設(shè)計(jì)一般有3種設(shè)計(jì)次序,下列不屬于視圖設(shè)計(jì)的是______。
A.自頂向下B.由外向內(nèi)C.由內(nèi)向外D.自底向上
5.設(shè)有定義:“struct{charmarkp[l2];intnuml;doublenum2;}tl,t2;”,若變量均已正確賦初值,則以下語句中錯(cuò)誤的是()。
A.t1=t2;
B.t2.num1=tl.numl;
C.t2.mark=tl.mark;
D.t2.num2=tl.num2;
6.第
27
題
有一堆零件(100到200之間),如果分成4個(gè)零件一組的若干組,則多2個(gè)零件;若分成7個(gè)零件一組,則多3個(gè)零件;若分成9個(gè)零件一組,則多5個(gè)零件。下面程序是求這堆零件總數(shù),請(qǐng)選擇填空。
#include<stdio.h>
main()
{inti;
for(i=100;i<200;i++)
if((i-2)%4==0)
if(!((i-3)%7))
if(_______)
printf("%d",i);
}
A.i%9=5B.i%9!=5C.(i-5)%9!=0D.(i-5)%9==0
7.下列敘述中正確的足
A.軟件交付使用后還需要進(jìn)行維護(hù)
B.軟件一旦交付使用就不需要再進(jìn)行維護(hù)
C.軟件交付使用后其生命周期就結(jié)束
D.軟件維護(hù)是指修復(fù)程序中被破壞的指令
8.以下關(guān)于算法的敘述中錯(cuò)誤的是()。
A.算法可以用偽代碼、流程圖等多種形式來描述
B.一個(gè)正確的算法必須有輸入
C.一個(gè)正確的算法必須有輸出
D.用流程圖描述的算法可以用任何一種計(jì)算機(jī)高級(jí)語言編寫成程序代碼
9.有以下程序:#include<stdio,h>main(){charc1='1',c2='2';c1=getchar();c2=getchar();putchar(c1);putchar(c2);}當(dāng)運(yùn)行時(shí)輸入:a<回車>后,以下敘述正確的是()。
A.變量c1被賦予字符a,c2被賦予回車符
B.程序?qū)⒌却脩糨斎氲诙€(gè)字符
C.變量c1被賦予字符a,c2中仍是原有字符2
D.變量c1被賦予字符a,c2中將無確定值
10.若有語句“typedefstructS{intg;charh;}T;”,則下列敘述中正確的是()。
A.可用S定義結(jié)構(gòu)體變量B.可用T定義結(jié)構(gòu)體變量C.S是struct類型的變量D.T是structS類型的變量
11.深度為5的二叉樹至多有C個(gè)結(jié)點(diǎn)。
A.16B.32C.31D.10
12.下列程序的輸出結(jié)果是()。#include<stdio.h>voidmain(){inta=0,b=1,c=2;if(++a>0‖++b>0)++c;printf("%d,%d,%d",a,b,c);}
A.0,1,2B.1,2,3C.1,1,3D.1,2,2
13.下面的哪個(gè)保留字不能作為函數(shù)的返回類型()。
A.voidB.intC.newD.long
14.已知字母a的ASCII碼為十進(jìn)制數(shù)97,下面程序的輸出結(jié)果是()。#include<stdio.h>main(){charc1,c2;c1='a'+'6'-'0';c2='a'+'3'-'0';printf("%c,%c\n",c1,c2);}
A.輸出無定值B.d,eC.e,fD.g,d
15.以下選項(xiàng)中的表達(dá)式調(diào)用庫函數(shù)依次求-4.5的絕對(duì)值、-4.0的平方根值、30°角的正弦值和2的3次方值。正確的調(diào)用是()
A.abs(-4.5)B.sqrt(-4.0)C.sin(3.1416/6.0)D.paw(2.0,3.0)
16.若有代數(shù)式“”(其中e僅代表自然對(duì)數(shù)的底數(shù),不是變量),則以下能夠正確表示該代數(shù)式的C語言表達(dá)式是()。
A.sqrt(fabs(pow(n,x)+exp(x)))
B.sqrt(fabs(pow(n,x)+pow(x,e)))
C.sqrt(abs(nx+ex))
D.sqrt(fabs(pow(x,n)+exp(x)))
17.以下敘述中正確的是()。
A.預(yù)處理命令行必須位于C源程序的起始位置
B.在C語言中,預(yù)處理命令行都以“#”開頭
C.每個(gè)C程序必須在開頭包含預(yù)處理命令行:#include
D.C語言的預(yù)處理不能實(shí)現(xiàn)宏定義和條件編譯的功能
18.連通圖G中有n個(gè)頂點(diǎn),G的生成樹是()連通子圖。
A.包含G的所有頂點(diǎn)B.包含G的所有邊C.不包含G的所有頂點(diǎn)D.包含G的所有頂點(diǎn)和所有邊
19.若有定義“inta=0,b=1,c=1;”,關(guān)于邏輯表達(dá)式“a++||b++&&c++”中各個(gè)部分的執(zhí)行順序,以下說法正確的是()。
A.先執(zhí)行“b++”,再執(zhí)行“c++”,最后執(zhí)行“a++”
B.先執(zhí)行“a++”,再執(zhí)行“b++”,最后執(zhí)行“c++”
C.先執(zhí)行“c++”,再執(zhí)行“b++”,最后執(zhí)行“a++”
D.先執(zhí)行“b++”,再執(zhí)行“a++”,最后執(zhí)行“c++”
20.
二、2.填空題(20題)21.用以下語句調(diào)用庫函數(shù)malloc,使字符指針st指向具有11個(gè)字節(jié)的動(dòng)態(tài)存儲(chǔ)空間,請(qǐng)?zhí)羁?。st=(char*)【】;
22.有以下程序段:
inta[l0]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;
b=p[5];
b中的值是【】。
23.有以下程序
main()
{intt=1,i=5;
for(;i>=0;i--)t*=i;
printf("%d\n",t);
}
執(zhí)行后輸出結(jié)果是______。
24.若已知a=10,b=20,則表達(dá)式!a<b的值為【】。
25.以下程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
#defineMAX(a,b)(a>b?a:b)+1
main()
{inti=6,j=8,k;
printf("%d\n",MAX(i,j));
}
26.下面程序的運(yùn)行結(jié)果是【】。
intf(inta[],intn)
{if(n>1)returna[0]+f(&a[1],n-1);
elsereturna[0];
}
main()
{intaa[3]={1,2,3},s;
s=f(&aa[0],3);
printf("%d\n",s);
}
27.在宏定義#defineP13.14159中,用宏名PI代替一個(gè)______。
28.函數(shù)delete(s,i,n)的作用是從字符串s中刪除從第i個(gè)字符開始的n個(gè)字符,請(qǐng)?zhí)羁铡?/p>
voiddelete(chars[],inti,intn)
{intj,k,length=0;
whiles(length])
【】;
-i;
j=i;
}
if(【】)
{k=i+n;
if(i+n<=length)
while(k<length)
s[j++]=s[k++];
s[j]='\0';
}
29.下列程序的輸出結(jié)果【】。
#definePR(ar)printf("ar=%d",ar)
main()
{intj,a[]={1,3,5,7,9,1l,13,1},*p=a+5;
for(j=3;j;j--)
switch(j)
{case1:
case2:PR(*p++);break;
case3:PR(*(--p));}}
30.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{inta[4][4]={{1,2,3,4),{5,6,7,8},{11,12,13,14},{15,16,17,18}};
inti=0,j=0,s=0;
while(i++<4)
{
if(i==2||i==4)continue;
j=0;
do{S+=a[i][j];j++;}while(j<4);
}
printf("%d\n",s);
}
31.以下程序運(yùn)行時(shí)若從鍵盤輸入: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);
}
32.若有定義語句:inta=5;,則表達(dá)式:a++的值是【】。
33.在關(guān)系運(yùn)算中,【】運(yùn)算是對(duì)兩個(gè)具有公共屬性的關(guān)系所進(jìn)行的運(yùn)算。
34.設(shè)Y是int型變量,請(qǐng)寫出判斷Y為奇數(shù)的關(guān)系表達(dá)式【】。
35.若有說明chars1[]="Thatgirl",s2[]="isbeautiful";則使用函數(shù)strcmp(s1,s2)g,結(jié)果是______。
36.以下程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
main()
{FILE*fp;inta[10]={1,2,3,0,0},i;
fp=fopen("d2.dat","wbt");
fwtite(a,sizeof(int),5,fp);
fwlite(a,sizeof(int),5,fp);
fclose(fp);
fp=fopen("d2.dat","rb");
fread(a,sizeof(int),10,fp);
fclose(fp);
for(i=0;i
37.以下程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
main()
{intfun();fun();}
fun()
{staticinta[3]={0,1,2};
inti;
for(i=0;i<3;i++)a[i]+=a[i];
for(i=0;i<3;i++)printf("%d,",a[i]);
printf("\n");}
38.以下程序段用以統(tǒng)計(jì)鏈表中元素的個(gè)數(shù)。其中first指向鏈表第一個(gè)結(jié)點(diǎn),count用來統(tǒng)計(jì)結(jié)點(diǎn)個(gè)數(shù)。請(qǐng)?zhí)羁铡?/p>
structlink
{chardata;
structlink*next;
}
structlink*p,*first;
|
intcount=0;
p=first;
while(【】)
{
【】;
p=【】;
}
39.長度為n的順序存儲(chǔ)線性表中,當(dāng)在任何位置上插入一個(gè)元素概率都相等時(shí),插入一個(gè)元素所需移動(dòng)元素的平均個(gè)數(shù)為【】。
40.下面的程序?qū)崿F(xiàn)的是從指針p所指向的地址的n個(gè)數(shù)中,找出最大的和最小的數(shù)據(jù),請(qǐng)?zhí)羁铡?/p>
fun(int*p,intn)
{int*q;
intmax,min;
max=min=*p;
for(q=p;______;q++)
if(*q>max)max=*q;
elseif(*q<min)min=*q;}
三、1.選擇題(20題)41.數(shù)據(jù)庫系統(tǒng)的核心部分是______。
A.數(shù)據(jù)模型B.數(shù)據(jù)庫C.數(shù)據(jù)庫管理系統(tǒng)D.計(jì)算機(jī)硬件
42.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,下列敘述錯(cuò)誤的是()。
A.任何一個(gè)對(duì)象構(gòu)成一個(gè)獨(dú)立的模塊
B.一個(gè)對(duì)象不是獨(dú)立存在的實(shí)體,各個(gè)對(duì)象之間有關(guān)聯(lián),相互依賴
C.下一層次的對(duì)象可以繼承上一層次對(duì)象的某些屬性
D.上述三種說法都正確
43.在C語言中,不正確的int類型的常數(shù)是______。
A.32768B.0C.37D.0xAF
44.若fp是指向某文件的指針,且尚未讀到文件末尾,則函數(shù)feof(fp)的返回值是()。
A.EOFB.-1C.非零值D.0
45.某二叉樹中有n個(gè)度為2的結(jié)點(diǎn),則該二叉樹中的葉子結(jié)點(diǎn)數(shù)為()
A.n+1B.n-1C.2nD.n/2
46.已經(jīng)定義ch為字符型變量,以下賦值語句中錯(cuò)誤的是______。
A.ch='\';B.ch=62+3;C.ch=NULL;D.ch='\xaa';
47.下列程序的輸出結(jié)果是()。#inclUde<stdio.h>main(){inta[2][3]={{1,2,3},{4,5,6}},(*p)[3],i;p=a;for(i=0;i<3;i++){if(i<2)p[1][i]=p[1][i]-1;elsep[1][i]=1;}printf("%d\n",a[0][1]+a[1][1]+a[1][2];}
A.15B.10C.7D.8
48.用MIPS來衡量計(jì)算機(jī)性能的指標(biāo)是()
A.存儲(chǔ)容量B.可靠性C.處理能力D.運(yùn)算速度
49.設(shè)int型占2個(gè)字節(jié),則unsignedint所能表示的數(shù)據(jù)范圍是______。
A.0~65535B.-32769~32767C.1~65536D.0~32767
50.以下選項(xiàng)中合法的用戶標(biāo)識(shí)符是A.longB._2TestC.3DmaxD.A.dat
51.C語言源程序名的后綴是A..exeB..CC..objD..cp
52.在面向?qū)ο笾校粋€(gè)對(duì)象請(qǐng)求另一個(gè)對(duì)象為其服務(wù)的方式是通過發(fā)送
A.調(diào)用語句B.命令C.口令D.消息
53.有以下程序:main(){intm,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p);}若想從鍵盤上輸入數(shù)據(jù),使變量m中的值為123,n中的值為456,p中的值為789,則正確的輸入是______。
A.m=123n=456p=789
B.m=123n=456p=789
C.m=123,n=456,p=789
D.123456789
54.以下不屬于對(duì)象的基本特點(diǎn)的是()
A.分類性B.多態(tài)性C.繼承性D.封裝性
55.有以下程序:#include<stdio.h>main(){intx=3,y=2,z=1;printf("%d\n",x/y&~z);程序運(yùn)行后的輸出結(jié)果是()。
A.3B.2C.1D.0
56.已有定義:charc;,程序前面已在命令行中包含ctype.h文件,不能用于判斷c中的字符是否為大寫字母的表達(dá)式是
A.isupper?
B.′A′<=c<=′Z′
C.′A′<=c&&c<=′Z′
D.c<=(′z′-32)&&(′a′-32)<=c
57.有程序#include<stdio.h>main(){inta,b,c=246;a=c/100%9;b=(-)&&(-1);printf("%d,%d\n%,a,b);}輸出結(jié)果是()
A.2,1B.3,2C.4,3D.2,-1
58.以下與函數(shù)fseek(fp,0L,SEEK_SET)有相同作用的是
A.feof(fp)B.ftell(fp)C.fgetc(fp)D.rewind(fp)
59.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是
A.ZBTYCPXAB.ATBZXCYPC.ZBTACYXPD.ATBZXCPY
60.已知一個(gè)有序線性表為(13,18,24,35,47,50,62,83,90,115,134),當(dāng)用二分法查找值為90的元素時(shí),查找成功的比較次數(shù)為()。
A.1B.2C.3D.9
四、選擇題(20題)61.
62.
63.
64.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.116B.8C.40D.4
65.已知字符'A'的ASCⅡ代碼值是65,字符變量c1的直是'A',c2的值是'D'。執(zhí)行語句printf("%d,%d",c1,c2-2);后,輸出結(jié)果是()。
A.A.A,BB.A,68C.65,66D.65,68
66.算法分析最重要的目的是
A.找出數(shù)據(jù)結(jié)構(gòu)的合理性B.找出算法中輸入和輸出之間的關(guān)系
C.分析算法的易懂性和可靠性D.分析算法的效率以求改進(jìn)
67.有如下程序
#include"stdio.h"
main()
{inta,b,m;
for(a=5;a>=1;a--)
{m=0;
for(b=a;b<=5;b++)
m=m+a*b;
}
printf("%d\n",m);
}
上述程序的運(yùn)行結(jié)果是
A.30B.15
C.20D.10
68.
69.以下程序的輸出結(jié)果是()。
A.1,2,3,4,5,6,7,8,9,10,
B.1,2,3,4,10,12,14,16,9,10,
C.1,2,6,8,10,12,7,8,9,10,
D.1,2,6,8,10,12,14,16,9,10,
70.
71.已定義以下函數(shù)
72.
73.有如下程序:
main
{inta=2,b=-1.c=2;
if(a<b)if(b<0)c=0;
elsec++;
printf("%d\n",c);
}
該程序的輸出結(jié)果是()。A.A.0B.1C.2D.3
74.
75.
76.有以下程序:
#include<stdio.h>
main
{intx=4,y;
do
{y=x;
if(!y)printf("x");
else
printf("y"):
x--;
}while(x);
}
程序的輸出結(jié)果是()。A.A.xyyxB.yyyyC.yyxxD.yxyx77.有下列程序:main{inty=10;do{y--;}while(--y);printf("%d\n",--y);)當(dāng)執(zhí)行程序時(shí),輸出的結(jié)果是()。A.-1B.1C.4D.0
78.設(shè)fp為指向某二進(jìn)制文件的指針,且已讀到此文件末尾,則函數(shù)feof(fp),的返回值為()。
A.0B.\0C.非0值D.NULL
79.
80.若a是數(shù)值類型,則邏輯表達(dá)式(a==1)Il(a!=1)的值是()。
A.1B.0C.2D.不知道a的值,不能確定
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:將str所指字符串中的字母轉(zhuǎn)換為按字母序列的后續(xù)字母(但Z轉(zhuǎn)化為A,z轉(zhuǎn)化為a),其他字符不變。
請(qǐng)修改函數(shù)proc()中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫函數(shù)proc,其功能是:將str所指字符串中除下標(biāo)為偶數(shù)、同時(shí)ASCIl碼值為奇數(shù)的字符外,其余的字符都刪除,串中剩余字符所形成的一個(gè)新串放在t所指的數(shù)組中。例如,若str所指字符串中的內(nèi)容為ABCDEFGl2345,其中字符B的ASCIl碼值為偶數(shù),所在元素的下標(biāo)為奇數(shù),因此必須刪除;而字符A的ASCIl碼值為奇數(shù),所在數(shù)組中的下標(biāo)為偶數(shù),因此不應(yīng)當(dāng)刪除。依此類推,最后t所指的數(shù)組中的內(nèi)容應(yīng)是ACEG。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填人所寫的若干語句。試題程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>#include<string.h>voidproc(char*str,chart[]){}voidmain{charstr[100],t[100];system("CLS");printf("\nPleaseenterstringstr:");scanf("%S",str);proc(str,t);printf("\nTheresultiS:%s\n",t);
參考答案
1.A解析:按位異或“^”運(yùn)算,是當(dāng)對(duì)應(yīng)位上的二進(jìn)制數(shù)值相同時(shí)結(jié)果為0,否則為1。因?yàn)閏1,c2的值相同,所以異或的結(jié)果為0,選項(xiàng)A)正確。按位與“&”運(yùn)算符只有當(dāng)所有對(duì)應(yīng)位上的數(shù)都不相同時(shí)結(jié)果才為0,所以c1&c2的值不可能為0,選項(xiàng)B)錯(cuò)誤。“~”是按位取反,由于十進(jìn)制數(shù)92轉(zhuǎn)化成二進(jìn)制數(shù)并不是全為1,所以即使取反也不能得到全為。的答案,所以錯(cuò)誤?!皘”是按位或運(yùn)算,由于十進(jìn)制數(shù)92轉(zhuǎn)化為二進(jìn)制數(shù)也不是全為0,所以按位或運(yùn)算后也不會(huì)全為0。
2.B解析:實(shí)型常量有兩種書寫形式:①小數(shù)形式,它由符號(hào)、整數(shù)部分、小數(shù)點(diǎn)及小數(shù)部分組成;②指數(shù)形式,由十進(jìn)制小數(shù)形式加上指數(shù)部分組成,其形式為十進(jìn)制小數(shù)e指數(shù)或十進(jìn)制小數(shù)E指數(shù)。注:e或E后面的指數(shù)必須是整數(shù),并且在e或E的前面必須有數(shù)字。本題中,選項(xiàng)A)中E的前面沒有數(shù)字,因此錯(cuò)誤。選項(xiàng)C)中0.8不是整數(shù),因此錯(cuò)誤。選項(xiàng)D)中4是整型常量而不是實(shí)型常量。
3.B解析:字符串輸入函數(shù)fgets()的調(diào)用形式為:fgets(s,n,fp)。fgets函數(shù)參數(shù)說明:“s”可以是一個(gè)字符數(shù)組名,也可以是指向字符串的指針;“n”為要讀取的最多的字符個(gè)數(shù);“fp”是指向該文件的文件型指針。fgets函數(shù)的功能是:從fp所指向的文件中讀取長度不超過n-1個(gè)字符的字符串,并將該字符串放到字符數(shù)組s中;讀入字符串后會(huì)自動(dòng)在字符串末尾加入“'\\0'”結(jié)束符,表示字符串結(jié)束。
4.B解析:視圖設(shè)汁一般有3種設(shè)計(jì)次序,它們分別是自頂向下、自底向上和由內(nèi)
向外,它們又為視圖設(shè)計(jì)提供了具體的操作方法,設(shè)計(jì)者可根據(jù)實(shí)際情況靈活掌握,可以
單獨(dú)使用也可混合使用。
注意:數(shù)據(jù)庫概念設(shè)計(jì)的過程:首先選擇局部應(yīng)用,再進(jìn)行局部視圖設(shè)計(jì),最后
對(duì)局部視圖進(jìn)行集成得到概念模式。
5.C結(jié)構(gòu)體不能通過結(jié)構(gòu)體名字整體賦值,通過結(jié)構(gòu)體名.成員名的方式賦值。所以C選項(xiàng)錯(cuò)誤。
6.D
7.A解析:本題考核軟件維護(hù)的概念.維護(hù)是軟件生命周期的最后一個(gè)階段,也是持續(xù)時(shí)間最長、付出代價(jià)最大的階段,在軟件交付使用后,還需要進(jìn)行維護(hù)。軟件維護(hù)通常有以下四類:為糾正使用中出現(xiàn)的錯(cuò)誤而進(jìn)行的改正性維護(hù);為適應(yīng)環(huán)境變化而進(jìn)行的適應(yīng)性維護(hù);為改進(jìn)原有軟件而進(jìn)行的完善性維護(hù);為將來的可維護(hù)和可靠而進(jìn)行的預(yù)防性維護(hù)。軟件維護(hù)不僅包括程序代碼的維護(hù),還包括文檔的維護(hù)。綜上所述,本題的正確答案是A,其余選項(xiàng)的說法錯(cuò)誤。
8.B【答案】B
【知識(shí)點(diǎn)】算法描述
【解析】一個(gè)算法應(yīng)該有0個(gè)或多個(gè)輸入,但是必須有一個(gè)或多個(gè)輸出。
9.A解析:函數(shù)getchar()的作用是從終端(或系統(tǒng)隱含指定的輸入設(shè)備)輸入一個(gè)字符,且只能接受一個(gè)字符(回車符也是一個(gè)字符)。故本題中變量c1被賦予字符a,c2被賦予回車符。
10.BT為結(jié)構(gòu)體類型名,可以用來定義結(jié)構(gòu)體變量。故本題答案為B選項(xiàng)。
11.C
12.C解析:本題考查if語句。先判斷if語句的條件是否成立,++a=1>0,此條件成立,又因?yàn)槭沁M(jìn)行邏輯或運(yùn)算,在已知其中一個(gè)運(yùn)算對(duì)象為真的情況下,不必判斷另外一個(gè)運(yùn)算符的真假,即不進(jìn)行++b操作,就可以直接得出整個(gè)表達(dá)式的值為邏輯1,執(zhí)行下列的++c。
13.C
14.D解析:C語言規(guī)定,所有字符常量都可以化為整型常量來處理,因而字符常量也可以參與算術(shù)運(yùn)算。注:字符常量參與算術(shù)運(yùn)算時(shí),其實(shí)是使用其對(duì)應(yīng)的ASCII碼值進(jìn)行計(jì)算。本題中,'a'對(duì)應(yīng)的ASCII碼值是97。題中雖然沒有給'6'和'0'的ASCII碼值,但應(yīng)該知道'6'-'0'是將字符'6'轉(zhuǎn)換成整數(shù)6的表達(dá)式,所以c1='a'+'6'-'0'=103,c2='a'+'3'-'0'=100,按照字符型輸出分別是g和d。
15.C
16.AB選項(xiàng)中函數(shù)“pow(x,e)”錯(cuò)誤,應(yīng)該直接使用“exp(x)”函數(shù)。C選項(xiàng)中函數(shù)“abs(nx+ex)”錯(cuò)誤,應(yīng)該使用fabs返回浮點(diǎn)數(shù)的絕對(duì)值。D選項(xiàng)中“pow(x,n)”參數(shù)順序錯(cuò)誤。故本題答案為A選項(xiàng)。
17.B本題是對(duì)基本知識(shí)點(diǎn)的理解,預(yù)處理命令行的位置沒有規(guī)定,只是習(xí)慣寫在起始位置而已,當(dāng)需要時(shí)才用#include<stdio.h>頭文件,預(yù)處理的作用就是實(shí)現(xiàn)宏定義和條件編譯。
18.A
19.BC語言中運(yùn)算符有優(yōu)先級(jí)和結(jié)合性。自增、自減運(yùn)算符的優(yōu)先級(jí)高于邏輯運(yùn)算符,邏輯運(yùn)算符中邏輯與“&&”的優(yōu)先級(jí)比邏輯或“||”高,邏輯運(yùn)算符的結(jié)合性自左向右。所以題干中表達(dá)式等價(jià)于“(a++)||((b++)&&(c++))”。運(yùn)算順序?yàn)椋菏紫葓?zhí)行“a++”,再執(zhí)行“b++”,最后執(zhí)行“C++”。故本題答案為B選項(xiàng)。
20.C
21.malloc(11)malloc函數(shù)的格式是void*(或char*)malloc(size),size表示應(yīng)分配的存儲(chǔ)區(qū),此題要分配11字節(jié)的單元,把11代入即可。
22.99解析:p是一個(gè)指針變量,指向數(shù)組a的元素a[3],所以b=p[5]=a[5+3]=a[8]=9。
23.00解析:本題中的for循環(huán)共執(zhí)行了6次,每執(zhí)行一次將相應(yīng)i的值相乘,最后當(dāng)i=-1時(shí)停止循環(huán).該for循環(huán)執(zhí)行完后t的值為5*4*3*2*1*0=0,故最后輸出I的值為0。
24.11解析:計(jì)算表達(dá)式!a<b,先計(jì)算!a,因a的值為10,!a的值為0,而關(guān)系表達(dá)式0<20為真,所以表達(dá)式!a<b的值為1。
25.99解析:本題考查宏定義與三目運(yùn)算符的綜合應(yīng)用。宏定義是原樣替換,本題中,如果a>b成立,則a+1的值為整個(gè)表達(dá)式的值,否則b+1的值為整個(gè)表達(dá)式的值(應(yīng)注意后面的加1)。
26.66解析:經(jīng)過分析將遞歸函數(shù)寫成其數(shù)學(xué)表達(dá)式如下:
本題中定義了一個(gè)長度為3的數(shù)組aa并初始化。接著調(diào)用遞歸函數(shù)f,由上面的數(shù)學(xué)表達(dá)式以計(jì)算其返回值s=1+2+3=6,所以空格處應(yīng)該填6。
27.本題考查字符替換格式:#define標(biāo)識(shí)符字符串。
28.length++i<lengthlength++\r\ni<length解析:第—個(gè)循環(huán)極有可能是計(jì)算串的長度,在i<=length時(shí)字符才被刪除,被刪除的是從第i個(gè)到笫i+n或最后—個(gè)間的所有字符。刪除前,應(yīng)判斷i<=length。由于已經(jīng)進(jìn)行了-i運(yùn)算,故實(shí)際應(yīng)填入i<length。
29.ar=9ar=9ar=11ar=9ar=9ar=11解析:本題綜合考查了for循環(huán),switch語句及宏替換等幾個(gè)知識(shí)點(diǎn)。j=3時(shí),執(zhí)行PR(*(--p));輸出數(shù)組元素a[4]的值;j=2時(shí),執(zhí)行PR(*p++);取出p所指位置的元素a[4],然后p++;當(dāng)j=1時(shí),執(zhí)行PR(*p++);取得是數(shù)組元素a[6]的值11。
30.9292解析:本題的主函數(shù)中首先定義了一個(gè)4行4列的二維數(shù)組,然后執(zhí)行一個(gè)while循環(huán),該循環(huán)中又嵌套了一個(gè)do-while循環(huán)。先看while循環(huán),該循環(huán)通過i++的值來判斷是否結(jié)束循環(huán),當(dāng)i++的值為4的時(shí)候結(jié)束循環(huán),當(dāng)i=O時(shí),執(zhí)行while的循環(huán)體,顯然if語句條件不滿足不執(zhí)行,接著讓j=0,然后執(zhí)行do-while循環(huán)體,不難看出do-while循環(huán)的功能是將第i+1行的所有元素加起來,所以這時(shí)s的值為s=a[1][0]+a[1][1]+a[1][2]+a[1][3]=26,當(dāng)i=1時(shí),i+1=2,if后面括號(hào)里的表達(dá)式的值為真執(zhí)行后面的continue語句,結(jié)束該次循環(huán);當(dāng)i=2時(shí),i加1變?yōu)?,把第3+1行的所有元素的值加到s上,此時(shí)s=s+a[2][0]+a[2][1]+a[2][2]+a[2][3]=92,當(dāng)i=3時(shí),3+1=4,if后面括號(hào)里的表達(dá)式的值為真執(zhí)行后面的continue語句,結(jié)束該次循環(huán),當(dāng)i=3時(shí),if后面括號(hào)里的表達(dá)式的值為真執(zhí)行后面的continue語句,結(jié)束該次循環(huán)當(dāng)i=4時(shí)while循環(huán)結(jié)束,所以最后輸出的s的值為92。
31.1030010300解析:本題的scanf()函數(shù)要求用戶輸入三個(gè)十進(jìn)制整數(shù),但只接受第一和第三個(gè)到函數(shù)的第二和第三個(gè)參數(shù)所指的內(nèi)存地址中。所以本題的輸出為:10300。
32.55解析:a++的含義是在使用a值以后,使a值加1,所以a++的值為5。
33.自然連接自然連接解析:在關(guān)系運(yùn)算中,自然連接運(yùn)算是對(duì)兩個(gè)具有公共屬性的關(guān)系所進(jìn)行的運(yùn)算。
34.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判斷變量是否為奇數(shù)可以用變量與2取模,判斷結(jié)果是為1或下為0。本題具體做法如下:Y%2=1或Y%2!=0。
35.-1-1解析:strcmp(s1,s2)函數(shù)的作用是:對(duì)字符數(shù)組s2和字符數(shù)組s1進(jìn)行比較。如果s1<s2,則返回負(fù)數(shù);如果s1==s2,則返回0;如果s1>s2,則返回正數(shù)。
36.解析:本題考查文件讀寫函數(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,)},最后的輸出結(jié)果為“1,2,3,0,0,1,2,3,0,0,”。
37.0240480,2,4\r\n0,4,8解析:本題主要考查for循環(huán)語句的使用以及靜態(tài)局部變量的特點(diǎn)。
38.p!=NULLcount++(*p).next
39.n/2性表的任何位置插入一個(gè)元素的概率相等,即概率為p=1/(n+1),則插入一個(gè)元素時(shí)所需移動(dòng)元素的平均次數(shù)為E=1/(n+1)(n-i+1)=n/2。
40.
41.C解析:數(shù)據(jù)庫系統(tǒng)(BBS)是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)構(gòu)成。因此,數(shù)據(jù)庫系統(tǒng)不僅包括數(shù)據(jù)本身,還包括相應(yīng)的硬件、軟件和各類人員。在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)庫管理系統(tǒng)DBMS是在特定操作系統(tǒng)支持下建立、使用、維護(hù)和管理數(shù)據(jù)庫的一種軟件。數(shù)據(jù)庫的一切操作都是通過數(shù)據(jù)庫管理系統(tǒng)來實(shí)現(xiàn)的。數(shù)據(jù)庫管理系統(tǒng)DBMS是數(shù)據(jù)庫系統(tǒng)的核心部分。
42.B解析:在面向?qū)ο蟪绦蛟O(shè)計(jì)中,對(duì)象是可以獨(dú)立存在的實(shí)體。
43.A解析:C語言中int類型的常數(shù)的范圍是:-32768~32767。C整常數(shù)可用三種形式表示:十進(jìn)制整數(shù),八進(jìn)制整數(shù),十六進(jìn)制整數(shù)。選項(xiàng)A超出范圍,不正確。
44.D解析:文件狀態(tài)檢測函數(shù)feof(fp)的功能是:測試所指的文件的位置指針是否已達(dá)到文件尾,如果已到達(dá)文件尾,則函數(shù)返回非。值;否則返回0,表示文件尚未結(jié)束。
45.A解析:本題考查數(shù)據(jù)結(jié)構(gòu)中二叉樹的性質(zhì)。二叉樹滿足如下一條性質(zhì),即:對(duì)任意一棵二叉樹,若終端結(jié)點(diǎn)(即葉子結(jié)點(diǎn))數(shù)為n0,而其度數(shù)為2的結(jié)點(diǎn)數(shù)為n2,則n0=n2+1。根據(jù)這條性質(zhì)可知,若二叉樹中有n個(gè)度為2的結(jié)點(diǎn),則該二叉樹中的葉子結(jié)點(diǎn)數(shù)為n+1。因此,本題的正確答案是選項(xiàng)A。
46.A解析:對(duì)字符變量賦值時(shí),即可以賦一字符常量,也可以賦0~255的整數(shù),該整數(shù)表示字符常量的ASCII值。本題中選項(xiàng)B是將65賦值給ch,表示字符A;選項(xiàng)C中NULL是C語言中的符號(hào)常量,其值為0;選項(xiàng)D是將一個(gè)轉(zhuǎn)義字符賦值給ch,該字符的ASCII值為aa,其中aa是十六進(jìn)制;選項(xiàng)A錯(cuò)誤。
47.B解析:本題涉及字符串最基本的兩個(gè)概念:①字符串的長度是指字符串中字符的個(gè)數(shù),但不包括字符串結(jié)束符;②以反斜杠“\\”開頭的特殊字符序列,意思是把反斜杠后面的字符序列轉(zhuǎn)換成特定的含義,而不是原來的含義,不包含在字符串長度之內(nèi),“\\”連同后面的字符為一個(gè)長度。
48.D
49.A解析:本題int型占2個(gè)字節(jié),即16位,unsignedint所能表示的數(shù)據(jù)范圍是0~(2(上標(biāo))16-1),即0~65535。
50.B解析:本題考查C語言標(biāo)識(shí)符的命名.在C語言中,合法的標(biāo)識(shí)符由字母,數(shù)字和下劃線組成,并且第一個(gè)字符必須為字母或者下劃線,long為C語言的保留字,不能作為用戶標(biāo)識(shí)符,故選頃A錯(cuò)誤.3Draax開頭的第一個(gè)為數(shù)字,而C語言規(guī)定,第一個(gè)字符必須為字母或者下劃線,故選項(xiàng)C錯(cuò)誤;A.dat中的字符“.”不符合C語言中用戶標(biāo)識(shí)符只能由字母、數(shù)字和下劃線組成的規(guī)定,故選項(xiàng)D錯(cuò)誤.只有迭項(xiàng)B正確。
51.B解析:C語言源程序的后綴為.c;經(jīng)過編譯得到的目標(biāo)程序文件的后綴為.obj;再將目標(biāo)程序文件鏈接后得到可執(zhí)行文件的后綴為.exe。故本題應(yīng)該選擇B。
52.D解析:面向?qū)ο蟮氖澜缡峭ㄟ^對(duì)象與對(duì)象間彼此的相互合作來推動(dòng)的,一個(gè)對(duì)象與另一個(gè)對(duì)象通過發(fā)送消息彼此交換信息,請(qǐng)求對(duì)方執(zhí)行某一處理或回答某一要求的信息。
53.A解析:正確輸入各變量的值,輸入的格式應(yīng)該和輸入語句中的“格式控制”字符串的格式對(duì)應(yīng)一致。
54.C解析:對(duì)象的基本特點(diǎn)包括;標(biāo)識(shí)惟一性、分類性、多態(tài)性、封裝性和獨(dú)立性等。繼承性不屬于對(duì)象的基本特點(diǎn)。
55.D解析:&是按位“與”運(yùn)算符,若參加運(yùn)算的兩個(gè)運(yùn)算量的相應(yīng)位都為1,則該位的結(jié)果值為1,否則為0?!恰叭》础边\(yùn)算符,用來對(duì)一個(gè)二進(jìn)制數(shù)按位取反,即將0變1,1變0。對(duì)于x/y&~z,先計(jì)算x/y的值,結(jié)果為1,用十六進(jìn)制表示為0001;z用十六進(jìn)制表示為0001,則~z為FFFE;最后進(jìn)行&運(yùn)算,整個(gè)表達(dá)式的值為0。
56.B解析:在本題中,選項(xiàng)B)實(shí)際是先計(jì)算關(guān)系表達(dá)式'\'A\'<=c'的值是0還是1,再比較該值與字符\'Z\'之間的大小關(guān)系,顯然不能實(shí)現(xiàn)題目所要求的功能,而選項(xiàng)A)、C)、D)都可以。
57.A
58.D解析:本題考查的是文件操作函數(shù).題目中fseek(fp,0L,SEEK_SET)的作用將文件指針定位到文件開始。feof(fp)的作用是判斷文件指針是否已到文件結(jié)尾,因此選項(xiàng)A不對(duì)。ftell(fp)的作用是獲取當(dāng)前文件指針的位置,因此選項(xiàng)B不對(duì)。fgetc(fp)的作用是從文件中讀取一個(gè)字節(jié),因此選項(xiàng)C不對(duì)。rewind(中)的作用是將文件指針重定位到文件開頭,所以應(yīng)該選擇D。
59.B
60.BB?!窘馕觥扛鶕?jù)二分法查找法需要兩次:(1)首先將90與表中間的元素50進(jìn)行比較,由于90大于50,所以性表的后半部分查找。(2)第二次比較的元素是后半部分的中間元素,即90,這時(shí)兩者相等,即查找成功。
61.A
62.C
63.A
64.B本題考查位運(yùn)算,題目中將4向左移一位然后重新賦值給a,4左移一位為8,程序運(yùn)行結(jié)果為8,選項(xiàng)B正確。
65.C在C語言中,用整型格式輸出字符時(shí),輸出的是其ASCII碼值。
66.D算法分析是指對(duì)一個(gè)算法需要多少計(jì)算時(shí)間和存儲(chǔ)空間做定量的分析
。在計(jì)算機(jī)科學(xué)中,算法要用計(jì)算機(jī)算法語言描述,算法代表用計(jì)算機(jī)解一類問題的精確、有效的方法。算法+數(shù)據(jù)結(jié)構(gòu)=程序,求解一個(gè)給定的可計(jì)算或可解的問題,不同的人可以編寫出不同的程序來解決同一個(gè)問題,這里存在兩個(gè)問題:一是與計(jì)算方法密切相關(guān)的算法問題;二是程序設(shè)計(jì)的技術(shù)問題。而算法和程序之間又存在密切的關(guān)系。分析算法可以預(yù)測這一算法適合在什么樣的環(huán)境中有效地運(yùn)行,對(duì)解決同一問題的不同算法的有效性做出比較,更重要的是,分析算法可以找出算法的優(yōu)點(diǎn)和不足,使優(yōu)點(diǎn)得到保持,對(duì)不足進(jìn)行改進(jìn),以獲得效率更高的算法。
67.B在本題中,程序首先定義了三個(gè)整型變量,然后執(zhí)行for循環(huán),從循環(huán)的結(jié)構(gòu)條件我們可以知道,循環(huán)執(zhí)行了5次,循環(huán)變量a的值分別為5,4,3,2,1。
當(dāng)a=5時(shí),m=0,執(zhí)行第二層循環(huán),循環(huán)開始時(shí),是變量a的值賦給循環(huán)變量b,而且只要循環(huán)變量b的值小于等5,循環(huán)繼續(xù),循環(huán)變量b的值每經(jīng)過一次
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 一年級(jí)數(shù)學(xué)(上)計(jì)算題專項(xiàng)練習(xí)匯編
- 貨款抵押貨物合同范本
- 遼寧省朝陽市勞動(dòng)合同范本
- 招商合同范本復(fù)制
- 外貿(mào)合同范本fob
- 2024年細(xì)菌類診斷抗原合作協(xié)議書
- 防止合同倒簽控制措施
- 延安大學(xué)《中國古代史(下)》2021-2022學(xué)年第一學(xué)期期末試卷
- 環(huán)保檢測合同范本
- 2024年度重慶市高校教師資格證之高等教育法規(guī)模擬預(yù)測參考題庫及答案
- 金手指外觀檢驗(yàn)重點(diǎn)標(biāo)準(zhǔn)
- 電機(jī)維護(hù)保養(yǎng)作業(yè)指導(dǎo)書
- 國家開放大學(xué)《實(shí)用心理學(xué)》形考任務(wù)1-4參考答案
- 撤回支付令異議申請(qǐng)書
- 公元紀(jì)年法-完整版PPT
- 小學(xué)語文人教五年級(jí)上冊(cè)(統(tǒng)編2023年更新)第五單元-群文閱讀《說明方法的妙用》教學(xué)設(shè)計(jì)
- 高中英語外研版高中選修7Scopeandsequence-英語長難句教學(xué)反思
- 內(nèi)部控制案例第06章案例18 樂視
- 科技金融項(xiàng)目銀行工作總結(jié)匯報(bào)PPT模板
- 品質(zhì)異常升級(jí)管理規(guī)定
- 實(shí)驗(yàn)室ISO17025認(rèn)證推進(jìn)計(jì)劃表
評(píng)論
0/150
提交評(píng)論