版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2021-2022年河南省三門峽市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.連通圖G中有n個頂點,G的生成樹是()連通子圖。
A.包含G的所有頂點B.包含G的所有邊C.不包含G的所有頂點D.包含G的所有頂點和所有邊
2.有以下程序段:
以下選項中表達式的值為11的是()。
A.
B.
C.
D.
3.以下選項中與“(!a==0)”的邏輯值不等價的表達式是()。
A.(a==!0)B.aC.(a>0||a<0)D.(a!=0)
4.廣義表(a,b,c,d)的表頭是()。
A.aB.(a)C.(b,c,d)D.((b,c,c))
5.若有定義“a[]={1,2,3,4,5,6,7,8,9,10};”,則“a[a[5]-a[7]/a[1]]”的值是()。
A.2B.4C.3D.10
6.
7.有以下程序段:structst{intx;int*y;}*pt;inta[]={1,2},b[]={3,4};structstc[2]={10,a,20,b};pt=c;以下選項中表達式的值為11的是()。
A.*pt->yB.pt->xC.++pt->xD.(pt++)->x
8.可以作為Windows外殼程序的是()
A.程序管理器B.文件管理C.程序管理器和文件管理器D.主群組
9.有以下結(jié)構(gòu)體說明、變量定義和賦值語句:structSTD{charname[10];intage;charsex;}s[5],*ps;ps=&s[0];則下列scanf函數(shù)調(diào)用語句有錯誤的是()。
A.scanf(“%s”,s[0].name);
B.scanf(“%d”,&s[0].age);
C.scanf(“%c”,&(ps->sex));
D.scanf(“%d”,ps->age);
10.圖的BFS生成樹的樹高比DFS生成樹的樹高()
A.小或相等B.小C.大或相等D.大
11.以下不能作為合法常量的是()。
A.'cd'B.1.234e04C.”\a”D.'\011'
12.函數(shù)調(diào)用:strcat(strcpy(str1,str2),str3)的功能是______。
A.將串str1復制到串str2中后再連接到串str3之后
B.將串str1連接到串str2之后再復制到串str3之后
C.將串str2復制到串str1中后再將串sir3連接到串str1之后
D.將串str2連接到串str1之后再將串str1復制到串str3中
13.有下列程序:程序執(zhí)行后的輸出結(jié)果是()。A.2,3,1,2B.9,9,2,9C.8,10,2,8D.9,9,1,9
14.下面說法正確的是()。A.A.一個C程序可以有多個主函數(shù)
B.一個C語言的函數(shù)中只允許有一對花括號
C.C程序的書寫格式是自由的,一個語句可以寫在一行上,也可以寫在多行內(nèi)
D.在對C程序進行編譯時,可以發(fā)現(xiàn)注釋行中的拼寫錯誤
15.串是一種特殊的線性表,其特殊性體現(xiàn)在()。
A.可以順序存儲B.數(shù)據(jù)元素是一個字符C.可以鏈式存儲D.數(shù)據(jù)元素可以是多個字符
16.
17.有以下程序程序執(zhí)行后的輸出結(jié)果是()
A.60B.50C.45D.55
18.若執(zhí)行以下程序時從鍵盤上輸入9,則輸出結(jié)果是()。main(){intn;scanf(”%d”,&n);if(n++<10)printf(”/%d\n”,n);elseprintf(”%d\n”,n--);}A.11B.10C.9D.8
19.下列哪個算法是對一個list排序的最快方法()
A.快速排序B.冒泡排序C.二分插入排序D.線性排序
20.以下敘述中錯誤的是______。A.C程序中的#include和#define行均不是C語句
B.除逗號運算符外,賦值運算符的優(yōu)先級最低
C.C程序中,j++;是賦值語句
D.C程序中,+、-、*、/、%號是算術(shù)運算符,司用于整型和實型數(shù)的運算
二、2.填空題(20題)21.下面程序執(zhí)行后輸出的結(jié)果是【】。
intm=13;
intfun(intx,inty)
{intm+3;
return(x*y-m);
}
main()
{inta=7,b,5;
prntf("%d\n",fun(a,B)/m);
}
22.在E-R圖中,矩形表示【】。
23.數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的【】以及對數(shù)據(jù)的操作運算。
24.以下程序的功能是將字符串s中的數(shù)字字符放入d數(shù)組中,最后輸出d中的字符串。
例如,輸入字符串:abc123edf456gh,執(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);
}
25.以下函數(shù)的功能是刪除字符串s中的所有數(shù)字字符。請?zhí)羁铡?/p>
voiddele(char*s)
{
intn=0,i;
for(i=0,s[i];i++)
if(【】)
s[n++]=s[i];
s[n]=【】;
}
26.下面程序的輸出是【】。
main()
{inta[]={2,4,6},*ptr=&a[0],x=8,y,z;
for(y=0;y<3;y++)z=(*(ptr+y)<x)?*(prt+y):x;
printf("%d\n",z);
}
27.下列程序?qū)⒍S數(shù)組a的行和列元素互換后存放到另一個二維數(shù)組b中。請?zhí)羁铡?/p>
main()
{inta[2][3]={{1,2,3},{4,5}},b[3][2],i,j;
for(i=0;i<2;i++)
{for(j=0;j<3;j++)
}
}
28.以下程序運行后的輸出結(jié)果是【】。
intf(inta[],intn)
{if(n>=1)returnf(a,n-1)+a[n-1];
elsereturn0;
}
main()
{intaa[5]=(1,2,3,4,5),s;
s=f(aa,5);printf("%d\n",s);
}
29.以下程序的功能是調(diào)用函數(shù)fun計算:m=1-2+3-4+…+9-10,并輸出結(jié)果。請?zhí)羁铡?/p>
intfun(intn)
{intm=0,f=1,i;
for(i=1;i<=n;i++)
{m+=i*f;
f=______;
}
returnm;
}
main()
{printf("%d\n",【】);}
30.分析下列程序:
main()
{intx=1,y=0,a=0,b=0;
switch(a)
{case1:switch(b)
{case0:x++;
case1:y++;break;
}
case2:x++;y++;break;
}
printf("x=%d,y=%d\n",x,y);
}
運行程序的輸出結(jié)果是______。
31.下面程序的運行結(jié)果是【】。
#include<stdio.h>
fun(intt[],intn)
{inti,m;
if(n==1)returnt[0];
else
if(n>=2)|m:fun(t,n-1);returnm;}
}
main()
{inta[]={11,4,6,3,8,2,3,5,9,2};
printf("%d\n",fun(a,10));
32.面向?qū)ο蟮哪P椭?,最基本的概念是對象和______。
33.數(shù)據(jù)管理技術(shù)發(fā)展過程經(jīng)過人工管理、文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)三個階段,其中數(shù)據(jù)獨立性最高的階段是______。
34.結(jié)構(gòu)化程序設(shè)計的3種基本結(jié)構(gòu)分別是順序、選擇和______。
35.設(shè)有下列程序:
#include<stdio.h>
#include<string.h>
main()
{inti;
chars[10],t[10];
gets(t);
for(i=0;i<2;i++)
{gets(s);
if(strcmp(t,s)<0)strcpy(t,s);
}
printf("%s\n",t);
}
程序運行后,從鍵盤上輸入(<CR>代表回車符):CDEF<CR>BADEF<CR>QTHRG<CR>,則程序的輸出結(jié)果是______。
36.在面向?qū)ο蠓椒ㄖ?,類的實例稱為______。
37.關(guān)系模型的3類完整性指的是【】、參照完整性、用戶定義的完整性。
38.若輸入2、2,則下列程序的運行結(jié)果為【】。
main()
{inti,j,(*p)[4],
a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
p=a;
scanf("%d%d",&i,&j);
printf("a[%d,%d]=%d\n",i,j,*(*(p+i)+j));
}
39."print("%d\n",strlen("\t\"\023\xABC\n"));”語句的輸出結(jié)果是______。
40.以下程序中用戶由鍵盤輸入一個文件名,然后輸入一串字符(用#結(jié)束輸入)存放到此文件中,形成文本文件,并將字符的個數(shù)寫到文件的尾部。請?zhí)羁铡?/p>
#include<stdio.h>
main()
{FILE*fp;
charch,fname[32];intcount=0;
printf(”Inputthefilename:");
scanf("%s",fname);
if((fp=fopen(【】,"w+"))==NULL)
{printf("Can'topenfile:%s\n",fname);exit(0);}
printf("Enterdata:\n");
while((ch=getchar())!='#')
{fputc(ch,fp);count++;}
fprintf(【】,"\n%d\n",count);
fclose(fp);
}
三、1.選擇題(20題)41.以下程序段中與語句k=a>b?(b>c?1:0):0;功能等價的是()。
A.if((a>B)&&(b:>C))k=l;elsek=0;
B.if(a>B)‖(b>C)k=1;elsek=0;
C.if(a<=B)k=0;elseif(b<=e)k=1;
D.if(a>B)k=1;elseif(b>C)k=1;elsek=0;
42.以下程序運行后,輸出結(jié)果是______。#include<stdio.h>#definePT5.5#difineS(x)PT*x*xmain(){inta=1,b=2;printf("%4.1f/n",S(a+b));}
A.49.5B.9.5C.22D.45
43.下列程序段中,不能正確賦值的是
A.char*p,ch;p=&ch;scanf("%c,&p")
B.char*p;p=(char*)malloc(1)scanf("%c",p);
C.char*p*p=getchar();
D.char*p,ch;p=&ch;*p=getchar();
44.設(shè)x=011050,則x=x&01252的值是()。
A.1000101000
B.1111110100011000
C.1011100010
D.1100000000101000
45.若有定義和語句:()int**pp,*p,a=10,b=20pp=&p;p=&a;p=&b;printf("%d,%d”n",*p,**pp);則輸出結(jié)果是
A.10,10B.10,20C.20,10D.20,20
46.以下各選項企圖說明一種新的類型名,其中正確的是______。
A.typedefvlint;
B.typedefv2=int
C.typedefintv3;
D.typedefv4:int
47.請閱讀以下程序:#include<stdio.h>#include<string.h>voidfun(intb[]){staticinti=0;do{b[i]+=b[i+1];}while(++i<2);}main(){intk,a[5]={1,3,5,4,9};fun(A);for(k=0;k<5;k++)printf("%d",a[k]);}上面程序的輸出是()。
A.13579B.48579C.48549D.48999
48.有以下程序:#include<stdio.h>structtt{intx;structtt*y;}*p;structtta[4]={20,a+1,15,a+2,30,a+3,17,a};main(){inti;p=a;for(i=1;i<=2;i++){printf("%d,",p->x);p=p->y;}}程序的運行結(jié)果是()。
A.20,30,B.30,17C.15,30,D.20,15,
49.下面語句的輸出結(jié)果是()pritnf("%d\n",strlen("\t\"\065"xff\n"));
A.5B.14C.8D.輸出項不合法,無法正常輸出
50.下列所述中,是軟件調(diào)試技術(shù)的是()。
A.錯誤推斷B.集成測試C.回溯法D.邊界值分析
51.若某二叉樹的前序遍歷訪問順序是abdgcefh,中序遍歷訪問順序是dgbaechf,則其后序遍歷的結(jié)點訪問順序是()。
A.bdgcefhaB.gdbecfhaC.bdgaechfD.gdbehfca
52.以下程序的輸出結(jié)果是______。main(){chara[10]={'1','2','3','4','5','6','7','8','9'},*p;inti;i=8;p=a+i;printf("%s\n",p-2);}
A.6B.789C.'6'D.6789
53.設(shè)有如下的函數(shù)funct(x)floatx;{x*=x;printf("\n%d",x);return(x);}則函數(shù)的類型()
A.與參數(shù)x的類型相同B.voidC.intD.無法確定
54.閱讀下列程序,則運行結(jié)果為
#include"stdio.h"
fun()
{staticintx=5;
x++;
returnx;}
main()
{inti,x;
for(i=0;i<3;i++)
x=fun();
printf("%d\n",x);}
A.5B.6C.7D.8
55.設(shè)變量n為float類型,m為int類型,則以下能實現(xiàn)將n中的數(shù)值保留小數(shù)點后兩位,第三位進行四舍五入運算的表達式是()。
A.n=(n*100+0.5)/100.0
B.m=n*100+0.5,n=m/100.0
C.n=n*100+0.5/100.0
D.n=(n/100+0.5)*100.0
56.有以下程序:main(){charnn[4][3]={"12","34","56","78"),*pn[4];intk,s=0;for(k=0;k<4;k++)pn[k)=nn[k];for(k=1;k<4;k+=2)s=s*10+pn[k][1]-'0';printf("%d\n",s);}程序的輸出結(jié)果是()
A.48B.26C.3478D.576
57.當說明一個結(jié)構(gòu)體變量時系統(tǒng)分配給它的內(nèi)存是()。
A.各成員所需要內(nèi)存量的總和
B.結(jié)構(gòu)中第一個成員所需的內(nèi)存量
C.成員中占內(nèi)存最大者所需的容量
D.結(jié)構(gòu)中最后一個成員所需要的內(nèi)存量
58.以下選項中不屬于字符常量的是
A.'C'B.CC.'\xCC'D.'\072'
59.以下能正確定義一維數(shù)組的選項是A.intnum[];
B.#defineN100intnum[N];
C.intnum[0..100];
D.intN=100;intnum[N];
60.排序方法中,將整個無序序列分割成若干小的子序列并分別進行插入排序的力法,稱為______。
A.希爾排序B.冒泡排序C.插入排序D.選擇排序
四、選擇題(20題)61.有以下程序:viodfun(inta,intb,intc){a=456;b=567;c=678;}main{intx=10,y=20,z=30;fun(x,y,z);printf("%d,%d,%d\n",x,y,z);}輸出的結(jié)果是()。A.30,20,10B.10,20,30C.456,567,678D.678,567,456
62.
下列程序的輸出結(jié)果是()。
#include<stdio.h>
main()
{inti,S=0;
for(i=1;i<10;i++)
if(!(i%2)&&!(i%3))s+=i;
printf("%d\n",s);
}
A.4B.39C.45D.6
63.
64.(54)在下列幾種排序方法中,要求內(nèi)存量最大的是______。
A.插入排序
B.選擇排序
C.快速排序
D.歸并排序
65.
66.
67.URI的全稱是()。A.標準資源描述符B.標準資源標識符C.通用資源描述符D.統(tǒng)一資源標識符
68.若有以下定義和語句:
chars[10]="abcd!",*s2="\nl23\\";
Drintf("%d%d\n",strlen(sl),strlen(s2));
則輸出結(jié)果是()。
A.55B.105C.107D.58
69.
70.
71.軟件測試的目的是()。
A.評估軟件可靠性B.發(fā)現(xiàn)并改正程序中的錯誤C.改正程序中的錯誤D.發(fā)現(xiàn)程序中的錯誤
72.
73.設(shè)fp為指向某二進制文件的指針,且已讀到此文件末尾,則函數(shù)feof(fp),的返回值為()。
A.0B.\0C.非0值D.NULL
74.有以下程序
75.設(shè)有定義:
doublea[10],*s=a;
以下能夠代表數(shù)組元素a[3]的是()。
A.($s)[3]B.}(s+3)C.*s[3]D.}s+3
76.
77.有以下程序:#include<stdio.h>main(){charc1,c2;c1=’A’+’8’-’4’;c2=’A’+’8’-’5’;printf(“c,%d\n”,c1,c2);}已知字母A的ASCⅡ碼為65,程序運行后的輸出結(jié)果是()。A.E,68B.B,69C.E,DD.輸出無定值
78.
79.有以下程序:
voidfunl(char*p)
{char*q;
q=P;
while(*q!='\O')
{(*q)++;q++;}
}
main
{chara[]={"Program"),*P;
p=&a[3];funl(p);
printf("%s\n",a);
}
程序執(zhí)行后的輸出結(jié)果是()。A.A.ProhsbnB.PrphsbnC.ProgsbnD.Program
80.以下不正確的定義語句是
A.inty[5.3]={0,1,3,5,7,9};B.doublex[5]={2.0,4.0,6.0,8.0,10.0};
C.charc1[]={’1’,’2’,’3’,’4’,’5’};D.charc2[]={’\x10’,’\xa’,’\x8’};
五、程序改錯題(1題)81.已知一個數(shù)列,從0項開始的前3項為0、0、1,以后的各項都是其相鄰的前3項之和。下列給定的程序中,函數(shù)proc()的功能是:計算并輸出該數(shù)列前n項的平方根之和sum。n的值通過形參傳入。例如,當n=11時,程序的輸出結(jié)果應(yīng)為32.197745。請修改程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,編寫函數(shù)fun(),其功能是將s所指字符串中ASCII值為奇數(shù)的字符刪除,將剩余字符形成的新字符串放在t所指數(shù)組中。例如,若s所指字符串中的內(nèi)容為“ABCDEFG12345”,其中字符A的ASCII值為奇數(shù),字符1的ASCII值也為奇數(shù),都應(yīng)當刪除,其他依此類推。最后t所指的數(shù)組中的內(nèi)容應(yīng)是“BDF24”。注意:部分源程序給出如下。請勿改動主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:#include<conio.h>#include<stdio.h>#include<string.h>voidfun(char*s,chart[]){}main(){ chars[100],t[100],Msg[]=“Pleaseenterstrings:”; printf(Msg); scanf(“%s”,s); fun(s,t); printf(“\nTheresuitis:%s\n”,t);}
參考答案
1.A
2.C→的運算優(yōu)先級比++高,此時,pt→x=10,執(zhí)行自加運算后為11。
3.A運算符邏輯非“!”和“==”,邏輯非“!”的優(yōu)先級高于“==”,選項A等價于“(!a)==0”。如果a不等于0,則表達式為真,否則表達式為假。故本題答案為A選項。
4.A
5.C題干中,數(shù)組a包含10個元素。其中a[5]為6,a[7]為8,a[1]為2,所以表達式“a[a[5]-a[7]/a[1]]”等價于“a[6-8/2]”,等價于a[2],即3。故本題答案為C選項。
6.B
7.C解析:要計算一個復雜的表達式時,首先要弄明白表達式中所有運算符的優(yōu)先級與結(jié)合性,本題中所涉及的運算符中,->的優(yōu)先級最高,*和++的優(yōu)先級相同,但其結(jié)合性為從右至左。所以選項A等價于*pt->y)也就是pt所指向的結(jié)構(gòu)體的成員指針變量y所指向的內(nèi)容。從前面的程序段不難看出,pt指向結(jié)構(gòu)體數(shù)組c的首地址,也就是指向它的第1個元素,在它的第1個元素中,指針變量y又被初始化為指向控型數(shù)組a的首地址,即指向數(shù)組a的第1個元素。故選項A中的表達式的值為a[0],也就是1。選項B中表達式的值就是c[0].x,即10。根據(jù)優(yōu)先級和結(jié)合性,選項C中的表達式等價于++(pt->x),由于是前綴++,所以整個表達式的值為pt->x的值加1,故為11。而選項D中,++是后綴形式,所以(pt++)的值還是pt的原值,即等于pt->x的值10。故應(yīng)該選擇C。
8.C
9.D題目中需要輸入一個變量,scanf要求輸入?yún)?shù)為指針,而D選項中“ps->age”為變量,不是指針。故本題答案為D選項。
10.A
11.A字符常量是使用單引號標注的單個字符,選項A錯誤;選項B屬于浮點數(shù)常量,正確;選項C屬于轉(zhuǎn)義字符常量,正確;選項D屬于轉(zhuǎn)義字符,代表八進制數(shù)011的ASCII值的字符,正確。本題答案為A選項。
12.C解析:題目中所給函數(shù)的功能是;先用函數(shù)strcpy把參數(shù)串str2復制到參數(shù)串str1中去,然后用函數(shù)strcat把參數(shù)串str3連接到經(jīng)過修改后的參數(shù)串str1后,因此選項C正確。
13.D程序定義了一個整型數(shù)組a,它包含5個整型元素,分別是1,2,3,4,5。數(shù)組名a代表數(shù)組的首地址,另外還定義整型指針P,將a傳給函數(shù)f。在函數(shù)f中,首先將指針s向右移動一個整型變量的長度,此時s指向元素2(a[1])。S[1](a[2]);表示元素3,自增6后s[1](a[2])的值為9。表達式“+=7”;表示將*(s--)指向的元素自增7,即S[0](a[1])的值為9,s向左移動一個整型變量的長度,此時s指向元素1(a[0]),最后將s返回并賦給p。經(jīng)過函數(shù)f的調(diào)用可知:P指向數(shù)組a的第1個元素,a[1]和a[2]值為9。綜上,輸出結(jié)果為:9,9,1,9。本題答案為D選項。
14.C解析:本題涉及C語言基本的3個知識點:①C語言規(guī)定一個程序只允許有一個主函數(shù),一個函數(shù)內(nèi)可以允許有多個花括號;②C程序的注釋部分僅僅是方便程序員閱讀,提高程序的可讀性和可移植性,它并不參與程序的編譯,所以編譯器也就不會發(fā)現(xiàn)注釋中的錯誤。
15.B
16.C
17.A函數(shù)fun的功能是求數(shù)組的n個元素之和。fun(a,5)=15。由于s岫是靜態(tài)局部變量,所以保持l5不變,fun(b,4)=45,所以s=fun(a,5)+fun(b,4)=60。
18.B當n為9時,此時if語句成立,執(zhí)行n++后,n為10,因此輸出n的值為10,故選擇B選項。
19.A
20.D解析:“%”是求余運算符,其兩側(cè)的數(shù)值只能為整型,所以它不能用于實型的運算,故選項D錯誤。
21.22解析:本題變量m既是外部變量(值是13),又是fun函數(shù)的局部變量(值為3)。函數(shù)fun(x*y-m)的值為7*5-3=32,在main函數(shù)中,fun(a,b)/m中的m應(yīng)取外部變量的值13,因此輸出2。
22.實體實體解析:E-R模型中,有3個基本的抽象概念:實體、聯(lián)系和屬性。在E-R圖中,用矩形框表示實體,菱形框表示聯(lián)系,橢圓形框表示屬性。
23.存儲結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)包括3個方面,即數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的存儲結(jié)構(gòu)及對數(shù)據(jù)的操作運算。
24.s[i]>='0'&&s[i]<='9'或isdigit(s[i])s[i]>='0'&&s[i]<='9'或isdigit(s[i])解析:根據(jù)題意和程序可知要填空的內(nèi)容是:將字符申s中的數(shù)字字符放入d數(shù)組的條件。
25.s[i]<'0'||s[i]>'9'或!(s[i]>='0'&&s[i]<='9')或!(isdigit(s[i]))或isdigit(s[i])==0或s[i]>'9'||s[i>'0'或!(s[i]<='9'&&s[i]>='0')或*(s+i)<'0'||*(s+i)>'9'或!(*(s+i)>='0'&&*(s+i)<=9或!(isdigit(*(s+i)))或*(s+i)>='9'&&*(s+i)<='0'或!(*(s+i)<='9'&&*(s+i)>='0'或isdigis[i]<'0'||s[i]>'9'或!(s[i]>='0'&&s[i]<='9')或!(isdigit(s[i]))或isdigit(s[i])==0或s[i]>'9'||s[i>'0'或!(s[i]<='9'&&s[i]>='0')或*(s+i)<'0'||*(s+i)>'9'或!(*(s+i)>='0'&&*(s+i)<=9或!(isdigit(*(s+i)))或*(s+i)>='9'&&*(s+i)<='0'或!(*(s+i)<='9'&&*(s+i)>='0'或isdigi解析:從一個字符串中刪除某字符的力‘法是從字符串的第一個字符開始一一判斷該字符是否是要被刪除,若不是則把它放到結(jié)果字符串中,若是則不放入結(jié)果字符串中。本題的第一個空應(yīng)判斷s[i]是否為數(shù)字字符,只有在不是數(shù)字字符的情況下才存入結(jié)果字符串,所以應(yīng)填入s[i]<'0'||s[i]>'9'。最后應(yīng)在結(jié)果字符串的末尾填上字符串結(jié)束標志\\0。
26.66解析:本題變量z的值應(yīng)為最后一次給它賦的值,且最后一次for循環(huán)使prt指向a[2]
27.b[j][i]=a[i][j]b[j][i]=a[i][j]解析:本題考查二維數(shù)組的基本知識。它是要將一個二維數(shù)組,的行和列元素互換后存放到另一個二維數(shù)組b中,只要將數(shù)組a的行標和列標互換,然后賦給數(shù)組b即可。
28.1515解析:s=f(aa,5)=f(aa,4)+a[4]=f(aa,3)+a[3]+a[4]=f(aa,2)+a[2]+a[3]+a[4]
=f(aa,1)+a[1]+a[2]+a[3]|a[4]=0+a[0]+a[1]+a[2]+a[3]+a[4]=15。
29.fun中的答案為-fmain函數(shù)中的答案為fun(10)fun中的答案為-f,main函數(shù)中的答案為fun(10)解析:根據(jù)題意可知函數(shù)fun的功能是計算12+3-4+…+n的和,所以空格處應(yīng)填入-f,main函數(shù)中輸出1-2+3-4+…+9-10的結(jié)果,所以函數(shù)的實參為10,函數(shù)調(diào)用為fun(10)。
30.x=1y=0。x=1,y=0。解析:本題程序的主體部分是switch語句的嵌套結(jié)構(gòu),當變量a的值為0時,在第一層switch-case語句中,沒有匹配的case分支。因此,x和y的值沒有變化,仍然是1和0。
31.1111解析:main函數(shù)調(diào)用fun函數(shù)時,將10賦給n,形參數(shù)組t與實參數(shù)組a共用一段內(nèi)存空間。執(zhí)行if-else語句時,n=10,所以執(zhí)行else子句。由于n>=2成立,執(zhí)行m=fun(t[0],9),遞歸調(diào)用fun函數(shù),m=fun(t[0],8),m=fun(t[0],7),…,m=fun(t[0],2),m=fun(t[0],1),當n=1時滿足if(n=1)的條件,執(zhí)行return語句,返回數(shù)組首地址指向的值t[0],所以答案為11。
32.類類
33.數(shù)據(jù)庫系統(tǒng)或數(shù)據(jù)庫系統(tǒng)階段或數(shù)據(jù)庫或數(shù)據(jù)庫階段或數(shù)據(jù)庫管理技術(shù)階段數(shù)據(jù)庫系統(tǒng)或數(shù)據(jù)庫系統(tǒng)階段或數(shù)據(jù)庫或數(shù)據(jù)庫階段或數(shù)據(jù)庫管理技術(shù)階段解析:在數(shù)據(jù)庫系統(tǒng)管理階段,數(shù)據(jù)是結(jié)構(gòu)化的,是面向系統(tǒng)的,數(shù)據(jù)的冗余度小,從而節(jié)省了數(shù)據(jù)的存儲空間,也減少了對數(shù)據(jù)的存取時間,提高了訪問效率,避免了數(shù)據(jù)的不一致性,同時提高了數(shù)據(jù)的可擴充性和數(shù)據(jù)應(yīng)用的靈活性;數(shù)據(jù)具有獨立性,通過系統(tǒng)提供的映象功能,使數(shù)據(jù)具有兩方面的獨立性:一是物理獨立性,二是邏輯獨立性;保證了數(shù)據(jù)的完整性、安全性和并發(fā)性-綜上所述,數(shù)據(jù)獨立性最高的階段是數(shù)據(jù)庫系統(tǒng)管理階段。
34.重復(循環(huán))重復(循環(huán))解析:結(jié)構(gòu)化程序設(shè)計包括3種基本的結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和重復結(jié)構(gòu)(循環(huán)結(jié)構(gòu)),利用這3種結(jié)構(gòu)就足以表達出各種其他形式結(jié)構(gòu)的程序設(shè)計方法。其中利用循環(huán)結(jié)構(gòu),可以簡化大量的程序執(zhí)行。
35.QTHRGQTHRG解析:strcmp(t,s)函數(shù)用來比較t和s所指字符串的大小,若t>s,則函數(shù)值大于0;若t=s,則函數(shù)值等于0:若t<s,則函數(shù)值小于0。strcpy(t,s)函數(shù)的功能是把字符數(shù)組s所指字符串的內(nèi)容復制到字符數(shù)組t所指的存儲空間中。本題中,t[10]='CDEF'。第一次循環(huán),s[10]='BADEF',if語句的控制條件strcmp(t,s)<0不成立,接著執(zhí)行第二次循環(huán).s='QTHRG',if語句的控制條件strcmp(t,s)<0成立,執(zhí)行下列的語句,將字符數(shù)組s所指字符串的內(nèi)容復制到字符數(shù)組t所指的存儲空間中,然后輸出字符數(shù)組t。
36.對象對象解析:類描述的是具有相似性質(zhì)的一組對象。例如,每本具體的書是一個對象,而這些具體的書都有共同的性質(zhì),它們都屬于更一般的概念“書”這一類對象。一個具體對象稱為類的實例。
37.實體完整性實體完整性解析:關(guān)系模型中的完整性是指數(shù)據(jù)庫中數(shù)據(jù)的正確性和一致性。為了維護數(shù)據(jù)庫中數(shù)據(jù)與現(xiàn)實世界的一致性,關(guān)系數(shù)據(jù)庫的插入、刪除、修改操作必須遵循3類完整性規(guī)則。關(guān)系模型的3類完整性指的是實體完整性、參照完整性和用戶定義的完整性。
38.a[22]=11
39.66解析:strlen()函數(shù)的作用是計算字符串的長度并作為函數(shù)的返回值,這里的長度不包括串尾的結(jié)束標志,\'\\0\'。
\'\\t\',是轉(zhuǎn)義字符,代表橫向跳若干格;\'\\\''是轉(zhuǎn)義字符,代表雙引號;\'\\023\'只代表一個字符,而不管轉(zhuǎn)義字符后面有幾個字符:\'\\xAB\'是以兩位十六進制數(shù)AB表示的ASCII碼字符,只代表一個字符:\'\\n\'是轉(zhuǎn)義字符,代表回車換行。’
5個子符常量各代表一個字符,再加上字母C,所以返回的長度是6。
40.fnamefpfname\r\nfp解析:fopen()函數(shù)實現(xiàn)打開文件的功能,通常的調(diào)用方式為:FILE*fp;fp=fopen(文件名,使用文件方式),因此,第一個橫線處要求填寫要打開文件的名字fname。fprintf()函數(shù)的—般調(diào)用方式為:fprintf(文件指針,格式字符串,輸出表列),所以第二個橫線處應(yīng)填寫fp。
41.A解析:分析題目中給出的表達式可知,如果a>b和b>c同時成立,k=1,否則k=0。所以,4個選項中選項A符合題意。
42.B解析:C語言中宏替換只是字符替換,因此:S(a+b)=PT*a+b*a+b=5.5*1+2*1+2=9.5。
43.C解析:本題考查了字符的輸入函數(shù)getchar和利用scanf函數(shù)輸入一個字符。用scanf輸入字符時,格式說明字符應(yīng)該為%c。本題選項C)因為指針p沒有賦初值,所以是一個不定值,不能直接將getchar讀入的字符賦給指針p所指向的字符,所以選項C錯誤。
44.A解析:本題主要考查按位與運算,x=011050的二進制形式為000100100010t000,01252的二進制形式為0000001010101010,兩者相與得0000001000101000。
45.D
46.C解析:C語言中可以使用typedef來重新定義已有的數(shù)據(jù)類型,相當于為數(shù)據(jù)類型取個別名。
47.C
48.D解析:本題考查的是指針和結(jié)構(gòu)的應(yīng)用。首先定義的數(shù)組tt中有兩個成員,一個整型變量,一個結(jié)構(gòu)指針。當i=1時,P指針指向結(jié)構(gòu)數(shù)組的第一個元素,并輸出此元素的第一個成員x,即20;當i=2時,P指針指向結(jié)構(gòu)數(shù)組的第二個元素的第一個成員,所以輸出15。
49.A
50.C解析:軟件調(diào)試技術(shù)包括強行排錯法、回溯法和原因排除法。邊界值分析、錯誤推斷都是黑盒測試的方法。
51.D解析:中序遍歷的遞歸算法定義:①遍歷左子樹;②訪問根結(jié)點;③遍歷右子樹。前序遍歷的遞歸算法定義:①訪問根結(jié)點;②遍歷左子樹;③遍歷右子樹。后序遍歷的遞歸算法定義:①遍歷左子樹;②遍歷右子樹;③訪問根結(jié)點。根據(jù)前序遍歷的結(jié)果可知,a是根結(jié)點。由中序遍歷的結(jié)果dgbaechf可知,d、g、b是左子樹的結(jié)點,e、c、h、f是右子樹的結(jié)點。再由前序遍歷的結(jié)果bdg可知,b是a左邊子樹的根,由cefh可知,c是a右邊子樹的根。再由中序遍歷的結(jié)果dgb可知,d、g是b左邊子樹的結(jié)點,b右邊子樹無結(jié)點。再由前序遍歷結(jié)果dg可知,d為b左子樹的根,g是以d為根的子樹的右結(jié)點。至此,a的左子樹已完全弄清楚了。同樣的道理,可以弄清楚以c為根的子樹的結(jié)點位置。所以可知后序遍歷的結(jié)果是D。
52.B解析:p-2=a+8-2=a+5,則p指向a[6],則p指向7,所以輸出如B所示結(jié)果。
53.C
54.D解析:在整個程序運行期間,靜態(tài)局部變量在內(nèi)存的靜態(tài)存儲區(qū)中占據(jù)著永久的存儲單元,即使退出函數(shù)以后,下次再進入該函數(shù)時,靜態(tài)局部變量仍使用原來的存儲單元,靜態(tài)局部變量的初值是在編譯的時候賦予的,在程序執(zhí)行期間不再賦予初值。本題由于連續(xù)三次調(diào)用函數(shù)fun(),三次對靜態(tài)變量x進行操作,x的值應(yīng)依次為6,7,8。
55.B本題要求選項中的表達式能實現(xiàn)將n中的數(shù)值保留小數(shù)點后兩位,第三位進行四舍五入運算。
在選項A中,n=(n*100+0.5)/100.0表示先將n后的前兩位小數(shù)變成整數(shù),然后對其第三位小數(shù)進行加0.5操作,這個操作其實是第三位小數(shù)在進行四舍五入運算時只有入,而沒有舍運算。因此,本選項不能實現(xiàn)題目的要求。
在選項B中,m=n*100+0.5,n=m/100.0表示先將n后的前兩位小數(shù)變成整數(shù),然后對第三位小數(shù)進行加0.5操作,并將最后的運算結(jié)果賦值給一個整型變量m,這是數(shù)據(jù)的強制轉(zhuǎn)換,它對小數(shù)部分的處理是直接舍棄,而在對第三位小數(shù)進行加0.5操作時,其實就是對第三位進行四舍五入運算。因此選項能實現(xiàn)題目的要求,是正確的答案。
在選項C中,根據(jù)運算符的優(yōu)先級我們知道,先運算n*100,再運算0.5/100.0,最后將結(jié)果相加,與題目要求相差比較遠。
在選項D中,n=(n/100+0.5)*100.0表示先除100,這不是對小數(shù)部分進行四舍五入運算,而是對整數(shù)部分進行四舍五入運算,與題目要求不一致。
56.A
57.A解析:本題主要考查結(jié)構(gòu)體的內(nèi)存使用:對結(jié)構(gòu)體而言,結(jié)構(gòu)中不同的成員分別使用不同的內(nèi)存空間,一個結(jié)構(gòu)所占內(nèi)存空間的大小是結(jié)構(gòu)中每個成員所占內(nèi)存空間大小的總和,結(jié)構(gòu)中每個成員相互獨立。
58.B解析:在C語言程序中,用單引號把一個字符或反斜線后跟一個特定的字符括起來表示一個字符常量。選項A)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 杭州旗桿施工方案(3篇)
- 碎石砂施工方案(3篇)
- 窯頭施工方案(3篇)
- 糧倉砌體施工方案(3篇)
- 綠化手工施工方案(3篇)
- 職工活動應(yīng)急預案(3篇)
- 花束搶購活動策劃方案(3篇)
- 街道臺風應(yīng)急預案(3篇)
- 誦讀配音活動策劃方案(3篇)
- 跌倒應(yīng)急預案報道(3篇)
- 全國計算機等級考試一級WPS Office真題題庫及答案
- 義警法律知識培訓總結(jié)課件
- 實施指南(2025)《DZT 0462.5-2023 礦產(chǎn)資源“三率”指標要求 第 5 部分:金、銀、鈮、鉭、鋰、鋯、鍶、稀土、鍺》解讀
- 棉塵安全培訓課件
- 梯子作業(yè)安全培訓效果課件
- 吸附解析塔拆除施工方案
- 留置場所人員管理辦法
- 碳知識培訓課件
- 插胃管課件教學課件
- 三菱勁炫說明書
- 新生兒抗生素使用原則
評論
0/150
提交評論