版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2021年內(nèi)蒙古自治區(qū)呼和浩特市全國計算機(jī)等級考試C語言程序設(shè)計測試卷一(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.以下程序的主函數(shù)中調(diào)用了在其面前定義的fun函數(shù)#include<stdio.h>...main(){doublea[15],k;k=fun(a);...}則以下選項(xiàng)中錯誤的fun函數(shù)首部是()。、A.doublefun(doublea[l5])
B.doublefun(double*a)
C.doublefun(doublea[])
D.doublefun(doublea)
2.對于C語言的函數(shù),下列敘述中正確的是()。
A.函數(shù)的定義不能嵌套,但函數(shù)調(diào)用可以嵌套
B.函數(shù)的定義可以嵌套,但函數(shù)調(diào)用不能嵌套
C.函數(shù)的定義和調(diào)用都不能嵌套
D.函數(shù)的定義和調(diào)用都可以嵌套
3.以下敘述中錯誤的是______。A.C程序必須由—個或—個以上的函數(shù)組成
B.函數(shù)調(diào)用可以作為—個獨(dú)立的語句存在
C.若函數(shù)有返回值,必須通過return語句返回
D.函數(shù)形參的值也可以傳回給對應(yīng)的實(shí)參
4.數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一特定的圖符構(gòu)成。下列圖符名標(biāo)識的圖符不屬于數(shù)據(jù)流圖合法圖符的是______。
A.控制流B.加工C.數(shù)據(jù)存儲D.源和潭
5.用鄰接矩陣A表示有向圖G的存儲結(jié)構(gòu),則有向圖G中頂點(diǎn)i的入度為()。
A.第i行非0元素的個數(shù)之和B.第i列非0元素的個數(shù)之和C.第i行0元素的個數(shù)之和D.第i列0元素的個數(shù)之和
6.在一個元素個數(shù)為N的數(shù)組里,找到升序排在N/5位置的元素的最優(yōu)算法時間復(fù)雜度是()A.O(n)B.O(nlogn)C.O(n(logn)2)D.O(n3/2)
7.有以下程序:#include<stdio.h>#include<math.h>main(){ints;floatn,t,pai;t=1,pai=0,n=1.0,s=1;while(fabs(t)>1.0e-6){pai+=t;n+=2;s=-s;t=s/n;}printf(“total=%f\n”,pai);}程序運(yùn)行所計算的是()。
A.1-1/2!+1/3!-1/5!+1/7!-…
B.1+1/3+1/5+1/7+1/9-…
C.1+1/2+1/3+1/4+1/5-…
D.1-1/3+1/5-1/7+1/9-…
8.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.0B.1C.2D.3
9.設(shè)有說明:charw;intx;f1oaty;doublez;則表達(dá)式w*x+z-y值的數(shù)據(jù)類型為()。
A.floatB.charC.intD.double
10.有以下程序:#include<stdio.h>main(){inta=10,b=11;if(++a==b++) printf(“T”);else printf(“F”);printf(“a=%d,b=%d\n”,a,b);}程序運(yùn)行后的輸出結(jié)果是()。
A.Fa=11,b=11B.Fa=10,b=12C.Ta=10,b=11D.Ta=11,b=12
11.在C語言中,char型數(shù)據(jù)在內(nèi)存中的存儲形式是()。
A.補(bǔ)碼B.反碼C.原碼D.ASCII碼
12.有以下程序:#include<stdio.h>main(){charch=‘1’;while(ch<‘9’){printf(“%d”,ch-‘0’);ch++;}}程序運(yùn)行后的輸出結(jié)果是()。
A.12345678B.01234567C.0D.1
13.在線索化樹中,每個結(jié)點(diǎn)必須設(shè)置一個標(biāo)志來說明它的左、右鏈指向的是樹結(jié)構(gòu)信息,還是線索化信息,若0標(biāo)識樹結(jié)構(gòu)信息,1標(biāo)識線索,對應(yīng)葉結(jié)點(diǎn)的左右鏈域,應(yīng)標(biāo)識為()。
A.00B.01C.10D.11
14.如下程序的時間復(fù)雜度為(其中m>1,e>0)A.logmB.m的平方C.m的1/2方D.m的1/3方
15.
16.以下不正確的定義語句是A.A.doublex[5]={2.0,4.0,6.0,8.0,10.0};
B.inty[5.3]={0,1,3,5,7,9};
C.charc1[]={′1′,′2′,′3′,′4′,′5′};
D.charc2[]={′\x10′,′\xa′,′\x8′};
17.若有以下的說明和語句,則在執(zhí)行for語句后,’(*(pt+1)+2)表示的數(shù)組元素是()。intt[3][3],*pt[3],k;for(k=0;k<3;k++)pt[k]=&t[k][0];
A.t[2][0]B.t[2][2]C.t[1][2]D.t[2][1]
18.結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括()。
A.順序結(jié)構(gòu)B.GOT0跳轉(zhuǎn)C.選擇(分支)結(jié)構(gòu)D.重復(fù)(循環(huán))結(jié)構(gòu)
19.軟件設(shè)計包括軟件的結(jié)構(gòu)、數(shù)據(jù)接口和過程設(shè)計,其中軟件的過程設(shè)計是指()
A.模塊間的關(guān)系B.系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述C.軟件層次結(jié)構(gòu)D.軟件開發(fā)過程
20.有以下語句:intb;charc[10];,則正確的輸入語句是______。
A.scanf("%d%s",&b,&c);
B.scanf("%d%s",&b,c);
C.scanf("%d%s",b,c);
D.scanf("%d%s",b,&c);
二、2.填空題(20題)21.若輸入字符串:abcde↓,則以下while循環(huán)體將執(zhí)行【】次。
while((ch=getchar())=='e')printf("*");
22.寫出下列程序的輸出結(jié)果______。
main()
{intn=0;
while(n++<=1);
printf("%d,",n);
printf("%d",n++);
}
23.下面程序的功能是:計算1~10之間的奇數(shù)之和與偶數(shù)之和,請?zhí)羁铡?/p>
#include<stdio.h>
main()
{inta,b,c,i;
a=c=0;
for(i=0;i<=10;i+=2)
{a+=i;
【】;
c+=b;}
printf("偶數(shù)之和=%d\n",a);
printf("奇數(shù)之和=%d\n",c-11);}
24.下列程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
main()
{inta,b,c,n;
a=2;b=0;c=1;n=1;
while(n<=3)
{c=c*a;b=b+c;++n;}
printf("b=%d",B);
}
25.以下程序的輸出結(jié)果是______。
#include<stdio.h>
voidswap(int*a,int*b)
{int*t;
}
{inti=3,j=5,*p=&i,*q=&j;
swap(p,q);printf("%d%d\n",*p,*q);
26.以下程序的功能是:刪去一維數(shù)組中所有相同的數(shù),使相同的數(shù)只剩一個。數(shù)組中的數(shù)已按由小到大的順序排列,函數(shù)fun返回刪除后數(shù)組中數(shù)據(jù)的個數(shù)。
例如,若一維數(shù)組中的數(shù)據(jù)是:
2223445666677899101010
刪除后,數(shù)組中的內(nèi)容應(yīng)該是:2345678910。請?zhí)羁铡?/p>
#include<stdio.h>
#defineN80
intfun(inta[],intn)
{inti,j=1;
for(i=1;i<n;i++)
if(a[j-1]【】a[i])a[j++]=a[i];
【】;
}
main()
{inta[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10},i,n=19;
printf("Theoriginaldata:\n");
for(i=0;i<n;i++)printf("%3d",a[i]);
n=fun(a,n);
printf("\nThedataafterdeleted:\n");
for(i=0;i<n;i++)printf("%3d",a[i]);printf("\n\n");
}
27.棧中允許進(jìn)行插入和刪除的一端叫做______。
28.下列程序中的函數(shù)stropy2()實(shí)現(xiàn)字符串兩次復(fù)制,即將t所指字符串復(fù)制兩次到s所指內(nèi)存空間中,合并形成一個新字符串。例如,若t所指字符串為:efgh,調(diào)用strcpy2后,s所指字符串為:efghefgh。請?zhí)羁铡?/p>
#include<stdio.h>
#include<string.h>
voidstrcpy2(char*s,char*t)
{char*p=t;
while(*s++=*t++);
s=【】;
while(【】=*p++);
}
main()
{charstr1[100]="abed",str2[]="efgh";
strcpy2(str1,str2);printf("%s\n",str1);
}
29.下面程序有兩個printf語句,如果第一個printf語句輸出的是194,則第二個printf語句的輸出結(jié)果是【】。
main()
{inta[10]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%x\n",p);
printf("%x\",p+9);
}
30.下列程序段的輸出結(jié)果是______。
intn='c':
switch(n++)
{default:printf("error");break;
case'a':printf("good");break;
case'c':printf("moming");
case'd':printf("class");
}
31.以下程序的定義語句中,x[1]的初值是[9],程序運(yùn)行后輸出的內(nèi)容是[10]。
#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");
}
32.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
voidfun()
{staticinta=0;
a+=2;printf("%d",a);
}
main()
{intcc;
for(cc=1;cc<4;cc++)fun();
printf("\n");
}
33.下面程序用來輸出結(jié)構(gòu)體變量a所占存儲單元的字節(jié)數(shù),請?zhí)羁铡?/p>
main()
{structstu
{charx[20];floaty;}a;
printf("asize:%d\n",sizeof(【】));
}
34.下列程序執(zhí)行后輸出的結(jié)果是【】。
main()
{intarr[10],i,k=0;
for(i=0;i<10;i++)arr[i]=i;
for(i=1;i<4;i++)k+=arr[i]+i;
printf("%d\n",k);
35.診斷和改正程序中錯誤的工作通常稱為【】。
36.以下程序的輸出結(jié)果是【】。
fun(intx,inty,intz)
{z=x*x+y*y;}
main()
{inta=31;
fun(6,3,a)
printf("%d,a)
}
37.以下程序的功能是從名為filea.dat的文本文件中逐個讀入字符并顯示在屏幕上。請?zhí)羁铡?/p>
#include<stdio.h>
main()
{FILE*fp;charch;
fp=fopen(【】);
ch=fgetc(fp);
while(!feof(fp)){putchar(ch);ch=fgetc(fp);}
putchar('\n');fclose(fp);
}
38.以下程序運(yùn)行后的輸出結(jié)果是()。
main()
{charc;intn=100;
loatf=10;doublex;
x=f*=n/=(c=50);
printf("%d%f\n",n,x);
}
39.若從鍵盤輸入24,則以下程序輸出的結(jié)果是()。
#include<stdio.h>
main()
{inta;
scanf("%d",&A);
if(a>20)printf("%d",A);
if(a>10)printf("%d",A);
if(a>5)printf("%d",A);
}
40.以下程序的輸出是【】。
main()
{
charstr1[]="Howdoyoudo",*pl=str1;
strcpy(str1+strlen(str1)/2,"esshe");
intf("%s\n",p1);
三、1.選擇題(20題)41.有以下程序:#include<stdio,h>main(){intm=0256,n=256;printf("%o%o\n",m,n);程序運(yùn)行后的輸出結(jié)果是()。
A.02560400B.0256256C.256400D.400400
42.下列有關(guān)數(shù)據(jù)庫的描述,正確的是______。
A.數(shù)據(jù)庫是一個DBF文件B.數(shù)據(jù)庫是一個關(guān)系C.數(shù)據(jù)庫是一個結(jié)構(gòu)化的數(shù)據(jù)集合D.數(shù)據(jù)庫是一組文件
43.下列關(guān)于標(biāo)識符的說法中錯誤的是
A.合法的標(biāo)識符是由字母、數(shù)字和下劃線組成
B.C語言的標(biāo)識符中,大寫字母和小寫字母被認(rèn)為是兩個不同的字符
C.C語言的標(biāo)識符可以分為三類,即關(guān)鍵字、預(yù)定義標(biāo)識符和用戶標(biāo)識符
D.用戶標(biāo)識符與關(guān)鍵字不同時,程序在執(zhí)行時將給出出錯信息
44.以下選項(xiàng)中非法的字符串常量是()
B.\X0\011
C.\\\t"
D.\n\007\n
45.某二叉樹中有n個度為2的結(jié)點(diǎn),則該二叉樹中的葉子結(jié)點(diǎn)數(shù)為()
A.n+1B.n-1C.2nD.n/2
46.以下程序的輸出結(jié)果是()main(){charw[][10]={"ABCD","EFGH","IJKL","MNOP"},k;for(k=1,k<3;k++)printf("%s\n",w[k]);}
A.ABCDFGHKL
B.ABCEFGIJM
C.EFGJKO
D.EFGHIJKL
47.某一個漢字的區(qū)位碼為(2113H),則其內(nèi)碼為()
A.(2199)10B.(C1B3H)C.(C1B3)10D.(B1B3H)
48.下列程序執(zhí)行后的輸出結(jié)果是voidfunc(int*a,intb[]){b[0]=*a+6;}main(){inta,b[5];a=0;b[0]=3;func(&a,b);printf("%d\n",b[0]);}
A.6B.7C.8D.9
49.設(shè)有如下關(guān)系表:
則下列操作中,正確的是()。
A.T=R∩SB.T=R∪SC.T=R×SD.T=R/S
50.有下列程序:fun(intx){intp;if(x==0‖x==1)return(3);p=x-fun(x-2);returnp;}main(){printf("%d\n",fun(7));}執(zhí)行后輸出的結(jié)果是()。
A.7B.3C.2D.0
51.運(yùn)行以下程序后,如果從鍵盤上輸入china#<回車>,則輸了結(jié)果為______。#include<stdio.h>main(){intv1=0,v2=0;charch;while((ch=getchar())!='#')switch(ch){case'a':case'h':default:vi++;case'0':v2++;}printf("%d,%d\n",v1,v2);}
A.2,0B.5,0C.5,5D.2,5
52.關(guān)系模型允許定義三類數(shù)據(jù)約束,下列不屬于數(shù)據(jù)約束的是()。A.A.實(shí)體完整性約束B.參照完整性約束C.域完整性約束D.用戶自定義的完整性約束
53.下列描述中,正確的一條是______。
A.關(guān)系表達(dá)式的值是一個邏輯值,即“真”或“假”,可以賦給一個邏輯變量
B.在C語言中,判斷一個量是否為:真”時,以0代表“假”,以1代表“真”.
C.設(shè)a=3、b=4、c=5,則表達(dá)式!(x=a)&&(y=b)&&0的值為0
D.一個數(shù)組的各個數(shù)組元素可屬于不同的數(shù)據(jù)類型
54.下面四個選項(xiàng)中,均是合法整型常量的選項(xiàng)是A.160-0xffff011
B.-0xcdf0la0xe
C.-01986,0120668
D.-0x48a2e50x
55.有如下說明和定義語句:structstudent{intage;charnum{8};};structstudentstu[3]={{20,"200401"},{21,"200402"),{19,"200403"}};structstudent*p=stu;以下選項(xiàng)中引用結(jié)構(gòu)體變量成員的表達(dá)式錯誤的是()。
A.(p++)->numB.p->numC.(*p).numD.stu[3].age
56.下列敘述中正確的是()。
A.程序執(zhí)行的效率與數(shù)據(jù)的存儲結(jié)構(gòu)密切相關(guān)
B.程序執(zhí)行的效率只取決于程序的控制結(jié)構(gòu)
C.程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量
D.以上三種說法都不對
57.利用fseek函數(shù)可以實(shí)現(xiàn)的操作是
A.改變文件的位置指針B.文件的順序讀寫C.文件的隨機(jī)讀寫D.以上答案均正確
58.在設(shè)計程序時,應(yīng)采納的原則之—是______。
A.程序結(jié)構(gòu)應(yīng)有助于讀者理解B.不限制goto語句的使用C.減少或者取消注解行D.程序越短越好
59.若有說明chars1[30]="Thecity",s2[]="isbeautiful";,則在使用函數(shù)strcat(s1,s2)后,結(jié)果是()。
A.s1的內(nèi)容更新為Thecityisbeautiful\0
B.s1的內(nèi)容更新為isbeaut\0
C.s1的內(nèi)容更新為Thecity\0isbeautiful\0
D.s1的內(nèi)容更新為Thecityisbeautiful\0
60.IEEE802.3的物理層協(xié)議10BASE-T規(guī)定從網(wǎng)卡到集線器的最大距離為()
A.100mB.185mC.360mD.500m
四、選擇題(20題)61.有以下程序
62.以下選項(xiàng)中非法的字符常量是()。
A.\101B.\65C.\xffD.\019
63.
64.
65.有以下程序程序運(yùn)行后的輸出結(jié)果是()。A.a+b=0B.a+b=30C.a+b=lOD.出錯
66.下列選項(xiàng)中非法的字符常量是()。
A.'\t'B.'\039'C.','D.'\n'
67.
68.下列語句組中,正確的是()。
A.char*s;s=”O(jiān)lympic”;
B.chars[7];s=”O(jiān)lympic”;
C.char*s;s={¨Olympic”};
D.chars[7];s={"Olympic”};
69.
70.結(jié)構(gòu)化程序設(shè)計的三種結(jié)構(gòu)是()。
A.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu)
B.分支結(jié)構(gòu)、等價結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
C.多分支結(jié)構(gòu)、賦值結(jié)構(gòu)、等價結(jié)構(gòu)
D.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
71.(38)索引屬于()
A.模式
B.內(nèi)模式
C.外模式
D.概念模式
72.
73.有以下程序:
程序的運(yùn)行結(jié)果是()。
A.*7
B.*3*5
C.*5
D.*2*6
74.一個工作人員可以使用多臺計算機(jī),而一臺計算機(jī)可被多個人使用,則實(shí)體工作人員與實(shí)體計算機(jī)之間的聯(lián)系是()。
A.一對一B.一對多C.多對多D.多對一
75.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.12
B.15
C.16
D.20
76.(37)下面不屬于軟件設(shè)計原則的是()
A.抽象
B.模塊化
C.自底向上
D.信息隱蔽
77.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.16B.1C.32D.0
78.面下程序段的運(yùn)行結(jié)果是
charstr[]="ABC",*p=str;
printf("%d\n",*(p+3));
A.67B.0C.字符’C’的地址D.字符’C’
79.若有說明語句:double*p,a;則通過scanf語句正確給輸入項(xiàng)讀入數(shù)據(jù)的程序段是()。A.A.*p=&a;scanf("%1f”,p);
B.*p=&a;scanf("%f",p);
C.p=&a;scanf("%",*p);
D.p=&a;scanf("%1f",p);
80.
五、程序改錯題(1題)81.下列給定程序的功能是:讀入一個整數(shù)n(2<;=n<;=5000),打印它的所有為素數(shù)的因子。例如,若輸入整數(shù)1234,則應(yīng)輸出2,617。請修改程序中的錯誤,使程序能得出正確的結(jié)果。注意:不要改動main()函數(shù),不能增選或刪行,也不能更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個源程序文件prog1.c。此程序定義了N×N的二維數(shù)組,并在主函數(shù)中自動賦值。請編寫函數(shù)fun(),該函數(shù)的功能是將數(shù)組下三角元素中的值全部置成0。如a數(shù)組中的值為注意:部分源程序給出如下。請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:#include<conio.h>#include<stdio.h>#include<stdlib.h>#defineN5voidfun(inta[][N]){}voidmain(){ inta[N][N],i,j; system(“CLS”); printf(“****Thearray****\n”); for(i=0;i<n;i++)<p=""></n;i++)<>/*產(chǎn)生一個隨機(jī)的5×5矩陣*/ { for(j=0;j<=""p=""> { a[i][j]=rand()%10; printf(“%4d”,a[i][j]); } printf(“\n”); } fun(a); printf(“TheResult\n”); for(i=0;i<n;i++)<p=""></n;i++)<> { for(j=0;j<=""p=""> printf(“%4d”,a[i][j]); printf(“\n”); }}
參考答案
1.A由題可知fun的參數(shù)為變量,而a[15]為常量,所以答案為A。
2.A
3.D解析:在調(diào)用函數(shù)時,給形參分配存儲單元,并將實(shí)參對應(yīng)的值傳遞紿形參,調(diào)用結(jié)束后,形參單元彼釋放,實(shí)參單元仍保留并維持原值。因此,在執(zhí)行—個被調(diào)用函數(shù)時,形參的值如果發(fā)生改變,并不會改變主調(diào)函數(shù)的實(shí)參的值,也就是說形參的值是不傳回紿對應(yīng)的實(shí)參的。
4.A解析:數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動變換過程。數(shù)據(jù)流圖中的主要圖形元素有:加工(轉(zhuǎn)換)、數(shù)據(jù)流、存儲文件(數(shù)據(jù)源)、源和潭。
5.B
6.A
7.Dmain函數(shù)首先定義整型變量S,初值為1;定義float類型的n、t、Pai,其中n初值為1.0,t初值為1,pai初值為0。while循環(huán)判斷t的絕對值(fabs為求float類型值的絕對值的函數(shù))是否大于1.0×10-6,若t的絕對值大于1.0×10-6,那么,執(zhí)行語句“pai+=t;n+=2;s=-s;t=s/n;”,所以每輪循環(huán)pai累加“s/n”(其中s是上一輪s的相反數(shù),n是上一輪n累加2的值)。第1輪循環(huán)時,pai被賦值為1,s是正數(shù),所以最終pai的計算結(jié)果是:1-1/3+1/5-1/7+1/9-…。故本題答案為D選項(xiàng)。
8.B第一次執(zhí)行外循環(huán)i的值為1,滿足條件,判斷第一次內(nèi)循環(huán),j的值為3,不滿足條件,跳出內(nèi)循環(huán)。第二次執(zhí)行外循環(huán)i的值為2,同理也不滿足內(nèi)循環(huán)條件,跳出內(nèi)循環(huán)。第三次執(zhí)行外循環(huán)i的值為3,此時進(jìn)入內(nèi)循環(huán)判斷條件時,條件成立,執(zhí)行m=m%j,m的值為1,跳出內(nèi)循環(huán),跳出外循環(huán)打印m的值。
9.D
10.D自增運(yùn)算符是將運(yùn)算對象的值增1,它有前綴形式“++a”和后綴形式“b++”。其中“++a”表示首先將a的值自增1,然后表達(dá)式“++a”的值就是自增后a的值;而“b++”表示首先將b的值作為表達(dá)式的值,然后再將b的值自增1。本題中,a的初值為10,b的初值為11,則表達(dá)式“++a==b++”,等價于“11==11”,條件為真,所以輸出“T”。if語句執(zhí)行完后,a的值為11,b的值為12,輸出“a=11,b=12”。故本題答案為D選項(xiàng)。
11.D解析:在C語言中,將一個字符常量放到一個字符變量中,實(shí)際并不是把該字符本身放到內(nèi)存單元中,而是將與該字符相對應(yīng)的ASCII碼放到存儲單元中。
12.A表達(dá)式“ch-‘0’’將數(shù)字字符轉(zhuǎn)為數(shù)字。輸出的格式為%d。while循環(huán)從‘1’~‘8’,因此輸出的結(jié)果是12345678。故本題答案為A選項(xiàng)。
13.D
14.A
15.D
16.B
17.C從for循環(huán)可知pt是指向行的首地址的指針變量,因此由指針的表示方法可知:*(*(pt+1)+2)=pt[1][2]=t[1][2]。
18.B1966年Boehm和Jacopini證明了程序設(shè)計語言僅僅使用順序、選擇和重復(fù)三種基本控制結(jié)構(gòu)就足以表達(dá)出各種其他形式結(jié)構(gòu)的程序設(shè)計方法。
19.B軟件設(shè)計包括軟件的結(jié)構(gòu)設(shè)計、數(shù)據(jù)接口設(shè)計和過程設(shè)計。其中軟件結(jié)構(gòu)設(shè)計主要包括系統(tǒng)由哪些子系統(tǒng)構(gòu)成,以及這些子系統(tǒng)之間的關(guān)系是怎樣的,并將這些內(nèi)容編寫成文檔;數(shù)據(jù)接口設(shè)計的任務(wù)是為每個子系統(tǒng)設(shè)計其與其他子系統(tǒng)間的接口,并編寫成文檔,這個接口要是一個無二義的接口,不需要子系統(tǒng)的操作知識就可以使用;過程設(shè)計是指系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述。
20.B解析:b是整型數(shù),在輸人語句中要加取地址符,而c是數(shù)組名,本身就是數(shù)組的首地址,因此不用加取地址符。
21.00解析:函數(shù)getchar()是從鍵盤得到用戶輸入的一個字符。用戶輸入的第1個字符是a,不管后面輸入的是什么ch的值都是'a',因此條件(ch=getchar())=='e'為假,這個循環(huán)不會被執(zhí)行。
22.333,3解析:本題在while(n++<=1)語句后,直接加了分號,說明如果while()的條件為真時,該循環(huán)什么都不做:n++是先取n的當(dāng)前值和1做比較,然后再將n加1。第一次循環(huán),n=0時,循環(huán)條件n++=<1成立,執(zhí)行循環(huán),然后得到n=1。第二次循環(huán),n=1時,循環(huán)條件n++=1<=1成立,執(zhí)行循環(huán),然后得到n=2。第三次循環(huán),n=2時,循環(huán)條件n++=2<=1不成立,不執(zhí)行循環(huán),但在判斷循環(huán)條件時仍將n加1,得到n=3.退出循環(huán)后執(zhí)行printf語句,第二個printf語句輸出n++,是先輸出n的當(dāng)前值3,然后再將n加l,即程序結(jié)束后得到n=4,但輸出的是3。
23.b=i+1b=i+1解析:本題考查了for循環(huán)語句的執(zhí)行過程。i+=2是修正表達(dá)式,執(zhí)行一次循環(huán)體后i的值就增加2,i的初始值為0,每次加2之后和累加至a,所以a的值就是1~10之間的偶數(shù)之后;b的值是1~11之間的奇數(shù)和,但在輸出b值時c去掉多加的11,即為1~10之間的奇數(shù)之和。
24.b=14b=14解析:分析程序可知,n的初始值為1,因此,while(n<=3)循環(huán)3次。第1次:c=c*a=2:b=b+c=2;n=2。第2次:c=c*a=4;b=-b+c=6;n=3。第3次;c=c*a=8:b=b+c=14。當(dāng)n=4時,判斷條件不滿足,退出循環(huán)。
25.
26.!=returnj!=returnj解析:函數(shù)fun中,變量j用于控制刪除后剩下的數(shù)中的下標(biāo),i用于搜索原數(shù)組中的元素。j始終是新數(shù)組已有元素中最后一個元素的下一個元素的下標(biāo),所以訂語句中的條件是a[j-1]!=a[i],其中a[j-1]就是新數(shù)組中的最后一個元素,若條件成立則表示出現(xiàn)了不同的值,a[i]要添加到新數(shù)組中。該算法只能用于數(shù)組已排序的題目中。
27.棧頂棧頂解析:棧是限定在表的一端進(jìn)行插入和刪除操作的線性表。在表中,允許插入和刪除的一端叫做“棧頂”,不允許插入和刪除的一端叫做“棧底”。
28.s-1或--s或s--*s++s-1或--s或s--\r\n*s++解析:在函數(shù)。strcpy2()中,首先將指針t保存到指針p中,然后進(jìn)入第1個while()循環(huán),其循環(huán)條件為*s++=*t++,其中“*”和“++”運(yùn)算符的優(yōu)先級相同,但他們的結(jié)合性為從右至左,而“=”運(yùn)算符優(yōu)先級比較低,所以原表達(dá)式等價于(*s++)=(*(t++)),即將t當(dāng)前所指內(nèi)容復(fù)制到s當(dāng)前所指地址中,然后讓s和t同時往后移動一位,整個表達(dá)式返回的是復(fù)制給s的值。所以,當(dāng)t所指內(nèi)容是字符串結(jié)束符'\\0',時,while循環(huán)結(jié)束,原先t所指的整個字符串也就復(fù)制到s所指的地址中去了。但是,while循環(huán)最后一次判斷也會讓s和t往后移動一位,即此時s指向了字符串結(jié)束符'\\0'的后一位。所以第2次復(fù)制字符串之前,應(yīng)先將s指針往回移動一位,故前一空應(yīng)該填入s-1或其他等價形式。接下來的while循環(huán)實(shí)現(xiàn)第二次復(fù)制,照抄第1次的while循環(huán)就行,故后一空應(yīng)填入*s++。
29.1a61a6解析:對于指針變量的運(yùn)算,就是對地址的運(yùn)算。本題中由于指針指向的是整型變量,所以,使指針變量移動9個位置也就是移動18個字節(jié)。注意,本題是以十六進(jìn)制輸出的。
30.morningclassmorningclass解析:本題考查了兩個知識點(diǎn):①“++、--”運(yùn)算后綴形式是先使用變量原來的值,使用完后再使其增1或減1;②在switch語句中,當(dāng)n=\'c\'時,執(zhí)行“case\'c\':”,輸出morning;因?yàn)榇司渲袥]有break語句,因此接著執(zhí)行'case\'d\':”,輸出class,最終輸出結(jié)果為morningclass。
31.在主函數(shù)中根據(jù)整型數(shù)組x[]的定義可知,x[1]的初值等于2。在for循環(huán)語句中;當(dāng)i=0時,p[0]=&x[1],p[0][0]=2;當(dāng)i=1時,P[1];&x[3],p[1][0]=4;當(dāng)i=2時,p[2]=及x[5],p[2][0]=6;當(dāng)i=3時,p[3]=&x[7],p[3][0]=8,所以程序輸出的結(jié)果為2、4、6、8。\r\n\r\n
32.246246解析:本題考查靜態(tài)(static)局部變量的使用。fun函數(shù)中的靜態(tài)局部變量a所占用的存儲單元在程序運(yùn)行過程中始終不釋放,即當(dāng)下一次調(diào)用該函數(shù)時,該變量仍然保留上一次函數(shù)調(diào)用結(jié)束時已有的值,3次調(diào)用fun函數(shù)分別得到2,4,6。
33.dd解析:d被定義為一個結(jié)構(gòu)體類型變量,求結(jié)構(gòu)體變量a所占存儲單元的字節(jié)數(shù)即sizeof(d)。
34.1212解析:本題的第一個for循環(huán)用于給數(shù)組arr賦初值,第二個for循環(huán)用于求和運(yùn)算。由于第二個for循環(huán)初始值為1,而循環(huán)條件為i<4,所以求的是arr[1]到arr[3]及i的和,所以輸出結(jié)果為12。
35.程序調(diào)試程序調(diào)試解析:程序調(diào)試的任務(wù)是診斷和改正程序中的錯誤。程序調(diào)試與軟件測試不同,軟件測試是盡可能多地發(fā)現(xiàn)軟件中的錯誤。先要發(fā)現(xiàn)軟件的錯誤,然后借助于調(diào)試工具找出軟件錯誤的具體位置。軟件測試貫穿整個軟件生命期,而調(diào)試主要在開發(fā)階段。
36.3131解析:在函數(shù)調(diào)用時,形參值和改變,不會改變實(shí)參的值。
37.“filea.dat”“r”“filea.dat”,“r”解析:考查對文件的操作。fopen函數(shù)的調(diào)用方式通常為fopen(文件名,使用文件方式)。本題中要求程序可以打開filea.dat文件,并且是要讀取文件中的內(nèi)容,所以空白處應(yīng)當(dāng)填入'filea.dat','r'。
38.0
39.242424
40.HowdoessheHowdoesshe解析:strcpy(str1,s1):字符串拷貝函數(shù),作用是將字符串s1拷貝到字符數(shù)組str1中去。strlen(str):測試字符串str的長度,函數(shù)的值為字符串中實(shí)際長度,不包括‘\\0’在內(nèi)。本題中strlen(strl)的值為13,則strcpy(strl+strlen(strl)/2,'esshe');相當(dāng)于strqoy(strl+6,'esshe');因此可得答案為Howdoesshe。
41.C解析:o格式符是以八進(jìn)制形式輸出整數(shù)。此題m已是八進(jìn)制數(shù)(256前面的0表示此數(shù)是八進(jìn)制數(shù)),n是十進(jìn)制數(shù),所以輸出時,直接輸出m的值,n的值需要轉(zhuǎn)換成八進(jìn)制數(shù)400后再輸出。
42.C解析:數(shù)據(jù)庫(Database,簡稱DB)是數(shù)據(jù)的集合,它具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲介質(zhì)內(nèi),是多種應(yīng)用數(shù)據(jù)的集成,并可被各個應(yīng)用程序所共享。數(shù)據(jù)庫中的數(shù)據(jù)具有“集成”、“共事”之特點(diǎn)。
43.D解析:用戶標(biāo)識符與關(guān)鍵字相同時,程序在編譯過程中將給出出錯信息。注意:選項(xiàng)D)應(yīng)該改為用戶標(biāo)識符與關(guān)鍵字相同,程序在編譯時將給出出錯信息。注意:合法的標(biāo)識符第一個字符必須為字母或下劃線。
44.4
45.A解析:本題考查數(shù)據(jù)結(jié)構(gòu)中二叉樹的性質(zhì)。二叉樹滿足如下一條性質(zhì),即:對任意一棵二叉樹,若終端結(jié)點(diǎn)(即葉子結(jié)點(diǎn))數(shù)為n0,而其度數(shù)為2的結(jié)點(diǎn)數(shù)為n2,則n0=n2+1。根據(jù)這條性質(zhì)可知,若二叉樹中有n個度為2的結(jié)點(diǎn),則該二叉樹中的葉子結(jié)點(diǎn)數(shù)為n+1。因此,本題的正確答案是選項(xiàng)A。
46.D
47.B
48.A解析:函數(shù)的參數(shù)不僅可以是整型、實(shí)型、字符型等數(shù)據(jù),還可以是指針型。它的作用是將一個變量的地址傳遞到另一個函數(shù)中。當(dāng)數(shù)組名作參數(shù)時,如果形參數(shù)組中的各元素的值發(fā)生變化,實(shí)參數(shù)組元素的值也將隨之發(fā)生變化。
49.B解析:T是R∪S的結(jié)果,關(guān)系T由屬于關(guān)系R的或者屬于關(guān)系S的元組組成。
50.C解析:因?yàn)樵诤瘮?shù)fun(intx)中,如果參數(shù)x等于0或1時,返回值3。否則p=x-fun(x-2)這是一個遞歸函數(shù),所以在主函數(shù)調(diào)用fun(7)時,其過程為:'fun(7)=7-fun(5)=7-(5-fun(3))=7-(5-(3-fun(1)))=7-(5-(3-3))=7-5=2',所以最后的輸出結(jié)果為2。
51.C
52.C數(shù)據(jù)約束是用來確保數(shù)據(jù)的準(zhǔn)確性和一致性的。常見的四種數(shù)據(jù)約束如下:
(1)實(shí)體完整性約束:規(guī)定表的每一行在表中是唯一的實(shí)體。
(2)域完整性約束:是指表中的列必須滿足某種特定的數(shù)據(jù)類型約束,其中約束又包括取值范圍、精度等規(guī)定。
(3)參照完整性約束:是指兩個表的主關(guān)鍵字和外關(guān)鍵字的數(shù)據(jù)應(yīng)一致,保證了表之間數(shù)據(jù)的一致性,防止了數(shù)據(jù)丟失或無意義的數(shù)據(jù)在數(shù)據(jù)庫中擴(kuò)散。
(4)用戶定義的完整性約束:不同的關(guān)系數(shù)據(jù)庫系統(tǒng)根據(jù)其應(yīng)用環(huán)境的不同,往往還需要一些特殊的約束條件。用戶定義的完整性即是針對某個特定關(guān)系數(shù)據(jù)庫的約束條件,它反映某一具體應(yīng)用必須滿足的語義要求。
在上述四種數(shù)據(jù)約束中,不屬于關(guān)系模型定義的三種數(shù)據(jù)約束的是域完整性約束。
53.D
54.A解析:解答本題時,我們必須要明白“進(jìn)制”數(shù)的表示方法。按不同的進(jìn)制區(qū)分,整型常數(shù)有3種表示方法:
+進(jìn)制數(shù):
如:220,-560,45900
八進(jìn)制數(shù):以0開始的數(shù)數(shù)字范圍0~7.
如:06,0106,05757
+六進(jìn)制數(shù):以O(shè)X或0x開始的數(shù)數(shù)字范圍0~9,a~f或A~F
如:0X0D,0XFF,0x4e,-0x48a
另外,可在整型常數(shù)后添加一個“L”或“l(fā)”字母表示該數(shù)為長整型數(shù),如22L,0773L,0Xae4l。
55.D解析:結(jié)構(gòu)體變量也有地址,因此可以把它的地址賦值給一個指針變量,然后通過該指針變量來引用結(jié)構(gòu)體的成員,選項(xiàng)A和選項(xiàng)B就是通過指針變量來引用結(jié)構(gòu)體的成員,故選項(xiàng)A和選項(xiàng)B都正確,也可以通過結(jié)構(gòu)體數(shù)組元素的成員引用,選項(xiàng)C和選項(xiàng)D屬于這種情況,而在選項(xiàng)D中stu[3].age不正確,因?yàn)榻Y(jié)構(gòu)體數(shù)組stu共有3個元素,其下標(biāo)應(yīng)該為0,1,2。所以,4個選項(xiàng)中選項(xiàng)D符合題意。
56.A本題考查程序效率。程序效率是指程序運(yùn)行速度和程序占用的存儲空間。影響程序效率的因素是多方面的,包括程序的設(shè)計、使用的算法、數(shù)據(jù)的存儲結(jié)構(gòu)等。在確定數(shù)據(jù)邏輯結(jié)構(gòu)的基礎(chǔ)上,選擇一種合適的存儲結(jié)構(gòu),可以使得數(shù)據(jù)操作所花費(fèi)的時間少,占用的存儲空間少,即提高程序的效率。因此,本題選項(xiàng)A的說法是正確的。
57.D解析:用fseek函數(shù)可以實(shí)現(xiàn)改變文件的位置指針,從而實(shí)現(xiàn)對文件的順序和隨機(jī)讀寫。
58.A解析:濫用goto語句將使程序流程無規(guī)律,可讀性差;添加的注解行有利于對程序的理解,不應(yīng)減少或取消;程序的長短要依照
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度民營醫(yī)院員工安全生產(chǎn)教育與責(zé)任合同4篇
- 二零二五年度嬰幼兒奶粉進(jìn)口清關(guān)及倉儲物流服務(wù)合同
- 二零二五年度民法典物權(quán)編在遺產(chǎn)繼承中的法律咨詢合同4篇
- 2025年度個人農(nóng)業(yè)生產(chǎn)經(jīng)營質(zhì)押擔(dān)保貸款合同3篇
- 課題申報參考:面向國家重大戰(zhàn)略需求的博士生項(xiàng)目制培養(yǎng)模式研究
- 課題申報參考:馬來西亞華人音樂之存續(xù)與中華文化認(rèn)同建構(gòu)
- 二零二五年度木工行業(yè)安全生產(chǎn)責(zé)任保險合同
- 2025年度個人與公司租賃合同稅費(fèi)承擔(dān)協(xié)議4篇
- 2025版門禁控制系統(tǒng)研發(fā)與定制服務(wù)合同4篇
- 2025年度個人股權(quán)贈與與受贈合同范本4篇
- JBT 14588-2023 激光加工鏡頭 (正式版)
- 2024年四川省成都市樹德實(shí)驗(yàn)中學(xué)物理八年級下冊期末質(zhì)量檢測試題含解析
- 九型人格與領(lǐng)導(dǎo)力講義
- 廉潔應(yīng)征承諾書
- 2023年四川省成都市中考物理試卷真題(含答案)
- 泵車述職報告
- 2024年山西文旅集團(tuán)招聘筆試參考題庫含答案解析
- 恢復(fù)中華人民共和國國籍申請表
- 管理期貨的趨勢跟蹤策略 尋找危機(jī)阿爾法
- 瀝青化學(xué)分析試驗(yàn)作業(yè)指導(dǎo)書
- 腦出血的護(hù)理課件腦出血護(hù)理查房PPT
評論
0/150
提交評論