版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021-2022年河北省邢臺(tái)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.以下正確的字符常量是()。A.'\089'B.'\012'C.'\0XAB'D.'\0xab'
2.在存儲(chǔ)數(shù)據(jù)時(shí),通常不僅要存儲(chǔ)各數(shù)據(jù)元素的值,而且還要存儲(chǔ)()。
A.數(shù)據(jù)的處理方法B.數(shù)據(jù)元素的類型C.數(shù)據(jù)元素之間的關(guān)系D.數(shù)據(jù)的存儲(chǔ)方法
3.下述程序向文件輸出的結(jié)果是______。#include<stdio.h>voidmain(){FILE*fp=fopen("TESY","wb");fprintf(fp,"%d%5.0f%c%d",58,76273.0,'-',2278);fclose(fp);}
A.5876273-2278
B.5876273.000000-2278
C.5876273-2278
D.因文件為二進(jìn)制文件而不可讀
4.以下敘述中正確的是()。
A.宏替換不占用程序的運(yùn)行時(shí)間
B.預(yù)處理命令行必須位于源文件的開(kāi)頭
C.在源文件的一行上可以有多條預(yù)處理命令
D.宏名必須用大寫(xiě)字母表示
5.若串S=,software,其子串的數(shù)目是()。
A.8B.37C.36D.9
6.若有以下程序段
intm=0xabc,n=0xabc;
m-=n;
printf("%x\n",m);
執(zhí)行后的輸出結(jié)果是A.A.0X0
B.0x0
C.0
D.0xABC
7.以下程序的輸出結(jié)果是()。main{inta=3:printf("%d\n",(a+a-=a*a));}A.-6B.12C.0D.-12
8.
9.有以下程序:#include<stdio.h>main(){inti,j,m=1;for(i=1;i<3;i++){for(j=3;j>0;j--){if(i*j>3)break;m*=i*j;}}printf(“m=%d\n”,m);}程序運(yùn)行后的輸出結(jié)果是()A.m=4B.m=2C.m=6D.m=5
10.有以下程序:#include<stdio.h>main(){chara=H;a=(a>=Aa<=2)?(a-A+a):a;printf("%c\n",a);}程序運(yùn)行后的輸出結(jié)果是()。A.AB.aC.HD.h
11.對(duì)n個(gè)數(shù)進(jìn)行排序,哪種算法,其時(shí)間復(fù)雜度在最壞和最好都是O(nlogn)()
A.快速排序B.希爾排序C.堆排序D.選擇排序
12.同一個(gè)關(guān)系模型的任意兩個(gè)元組值()。
A.可以全相同B.不能全相同C.必須全相同D.以上都不對(duì)
13.有以下程序:main{inti,j;for(j=10;j<11;j++){for(i=9;i<j;i++)if(!(j%i))break;if(i==j-1)printf("%d",j);}}輸出結(jié)果是()。A.11B.10C.9D.1011
14.有以下程序:main(){intX,i;for(i=1;i<=50;i++){x=i;if(X%2=O)if(x%3=O)if(X%7=0)printf("%d,i)";}}輸出結(jié)果是()。A.28B.27C.42D.41
15.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。A.1B.11C.7D.9
16.若要求從鍵盤(pán)讀入含有空格字符的字符串,應(yīng)使用函數(shù)
A.getc()B.gets()C.getehar()D.scanf()
17.對(duì)于C語(yǔ)言的函數(shù),下列敘述中正確的是()。
A.函數(shù)的定義不能嵌套,但函數(shù)調(diào)用可以嵌套
B.函數(shù)的定義可以嵌套,但函數(shù)調(diào)用不能嵌套
C.函數(shù)的定義和調(diào)用都不能嵌套
D.函數(shù)的定義和調(diào)用都可以嵌套
18.
19.下列關(guān)于軟件測(cè)試的目的和準(zhǔn)則的敘述中,正確的是()
A.軟件測(cè)試是證明軟件沒(méi)有錯(cuò)誤
B.主要目的是發(fā)現(xiàn)程序中的錯(cuò)誤
C.主要目的是確定程序中錯(cuò)誤的位置
D.測(cè)試最好由程序員自己來(lái)檢查自己的程序
20.下列關(guān)于棧的描述中錯(cuò)誤的是()。A.棧是先進(jìn)后出的線性表B.棧只能順序存儲(chǔ)C.棧具有記憶作用D.對(duì)棧的插入與刪除操作中,不需要改變棧底指針
二、2.填空題(20題)21.下面程序的運(yùn)行結(jié)果是:【】。
#defineN10
#defines(x)x*x
#definef(x)(x*x)
main()
{inti1,i2;
i1=1000/s(N);i2=1000/f(N);
printf(“%d%d\n”,i1,i2);
}
22.設(shè)有以下定義和語(yǔ)句,sizeof(a)的值是【】,sizeof(b)的值是【】。
struct{intday;Charmonth;intyear;}a,*b;
b=&a;
23.以下程序的功能是:刪去一維數(shù)組中所有相同的數(shù),使相同的數(shù)只剩一個(gè)。數(shù)組中的數(shù)已按由小到大的順序排列,函數(shù)fun返回刪除后數(shù)組中數(shù)據(jù)的個(gè)數(shù)。
例如,若一維數(shù)組中的數(shù)據(jù)是:
2223445666677899101010
刪除后,數(shù)組中的內(nèi)容應(yīng)該是:2345678910。請(qǐng)?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");
}
24.下列程序的功能是對(duì)輸入的一行字符中的數(shù)字字符的字面值累加,輸出此累加和,請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
#include<ctype.h>
main()
{charc;
inta,s=0;
while(______)
if(isdigit(C))
{a=c-'0';s+=a;}
printf("s=%d",s);
}
25.以下函數(shù)的功能是計(jì)算s=1+1/2!+1/3!+…+1/n!,請(qǐng)?zhí)羁铡?/p>
doublefun(intn)
{doubles=0.0,fac=1.0;
inti,k=1;
for(i=1;i<=n;i++);
{【】;
fac=fac/k
s=s+fac;
}
}
26.設(shè)有定義“struct{inta;floatb;charc;}abc,*p_abc=&abc;”,則對(duì)結(jié)構(gòu)體成員a的引用方法可以是abc.a和p_abc【】a。
27.下面的程序可對(duì)指定字符串中的字符串進(jìn)行從大到小排序,請(qǐng)將程序填完整。(注:程序采用了冒泡排序法)
#include<stdio.h>
#include<string.h>
main()
{char*str="ABCDabcd",temp;
intn,i;
n=strlen(str);
while(n-->1)
for(i=0;i<n;i++)
if(str[i]<str[i+l])
{temp=【】;
str[i]=str[i+l];
【】=temp;
}
printf(【】);
}
28.若有如下結(jié)構(gòu)體說(shuō)明:
structSIRU
{inta,b;charc:doubled;
structSTRU*p1,*p2;
};
請(qǐng)?zhí)羁?,以完成?duì)t數(shù)組的定義,t數(shù)組的每個(gè)元素為該結(jié)構(gòu)體類型。
【】t[20]
29.二叉樹(shù)按某順序線索化后,其結(jié)點(diǎn)均有指向其前趨和后繼的線索,該說(shuō)法是【】的。
30.設(shè)有下列的程序段:
charstr[]="Hello";
char*ptr;
ptr=-str;
執(zhí)行上面的程序段后,*(ptr+5)的值為_(kāi)_____。
31.當(dāng)循環(huán)隊(duì)列非空且隊(duì)尾指針等于隊(duì)頭指針時(shí),說(shuō)明循環(huán)隊(duì)列已滿,不能進(jìn)行入隊(duì)運(yùn)算。這種情況稱為【】。
32.以下函數(shù)creat用來(lái)建立一個(gè)帶頭結(jié)點(diǎn)的單向鏈表,新產(chǎn)生的結(jié)點(diǎn)是插在鏈表頭的
末尾。單向鏈表的頭指針作為函數(shù)值返回。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
structlist
{chardata;
structlist*next;
};
structlist*creat;
{structlist*h,*p,*q;
charch;
h=(【】)malloc(sizeof(structlist));
p=q=h;
ch=getchar();
while(ch!='?')
{p=(【】)mallco(sizeof(structlist));
p->data=ch;
q->next=p;
q=p;
ch=getchar();
}
p->next='\0';
【】;
}
33.下列語(yǔ)句能循環(huán)______次。
ints=12;
while(s);
--s;
34.在計(jì)算機(jī)中,字符的比較是對(duì)它們的【】進(jìn)行比較。
35.表示條件;10<x<100或x<0的C語(yǔ)言表達(dá)式是【】。
36.當(dāng)線性表采用順序存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn)存儲(chǔ)時(shí),其主要特點(diǎn)是______。
37.二分法查找僅限于這樣的表:表中的數(shù)據(jù)元素必須有序,其存儲(chǔ)結(jié)構(gòu)必須是______。
38.設(shè)有下列的程序段;
charstr[]="Hello";
char*ptr;
ptr=str;
執(zhí)行上面的程序段后,*(ptr+5)的值為_(kāi)_____。
39.閱讀程序:
#include<string.h>
#include<strdio.h>
strle(chara[],charb[])
{intnum=0,n=0;
while(*(a+num)!='0')num++;
while(b[n])
{*(a+num)=b[n];num++;n++;}
return(num);
}
main()
{charstrl[81],str2[81],*p1=strl,*p2=str2;
gets(p1);gets(p2);
prinf("%d\n",strle(p1,p2));
}
運(yùn)行上面的程序,如果從鍵盤(pán)上輸入字符串qwerty和字符串a(chǎn)bcd,則程序的輸出結(jié)果是【】。
40.以下程序由終端鍵盤(pán)輸入一個(gè)文件名,然后把從終端鍵盤(pán)輸入的字符依次放到該文
件中,用井作為結(jié)束輸入的標(biāo)志。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{FILE*fp;
charch,fname[10];
printf("Inputthenameoffile\n");
gets(fname);
if((fp=【】)==NULL)
{printf("Cannotope\n");exit(O);}
printf("Enterdata\n");
while((ch=getchar())!='#')
fputc(【】,fp);
fclose(fp);
}
三、1.選擇題(20題)41.下列敘述中正確的是()。
A.線性鏈表的各元素在存儲(chǔ)空間中的位置必須是連續(xù)的
B.線性鏈表的頭元素一定存儲(chǔ)在其他元素的前面
C.線性鏈表中的各元素在存儲(chǔ)空間中的位置不一定是連續(xù)的,但表頭元素一定存儲(chǔ)在其他元素的前面
D.線性鏈表中的各元素在存儲(chǔ)空間中的位置不一定是連續(xù)的,且各元素的存儲(chǔ)順序也是任意的
42.下面程序的輸出結(jié)果是______。main(){enumteam{my,your=4,his,her=his+10};printf("%d%d%d%d\n",my,your,his,her);}
A.0123B.04010C.04515D.14515
43.微型計(jì)算機(jī)中運(yùn)算器主要的功能是進(jìn)行()
A.算術(shù)運(yùn)算B.邏輯運(yùn)算C.算術(shù)和邏輯運(yùn)算D.初等函數(shù)運(yùn)算
44.下列不是合法的C語(yǔ)言語(yǔ)句是()。
A.a=5B.{inti;i++;}C.;D.{;}
45.有以下程序:main(){inti,s=0;for(i=1;i<10;i+=2)s+=i+1;printf("%d\n",s);}程序執(zhí)行后的輸出結(jié)果是()。
A.自然數(shù)1~9的累加和B.自然數(shù)1~10的累加和C.自然數(shù)1~9中奇數(shù)之和D.自然數(shù)1~10中偶數(shù)之和
46.在下列定義中的共用體所占內(nèi)存字節(jié)數(shù)是()。union{chark[6];struct{intm;floarf;}a;doubled;}b;
A.8B.14C.18D.10
47.若變量已正確定義,有以下程序段:i=0;doprinntf("%d,i");while(i++);printf("%d\n",i);其輸出結(jié)果是()。
A.0,0B.0,1C.1,1D.程序進(jìn)入無(wú)限循環(huán)
48.有以下程序,其中函數(shù)的功能是將多個(gè)字符串按字典順序排序:#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++)if(strcmp(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]));}程序運(yùn)行后的輸出結(jié)果是______。
A.2B.3C.6D.4
49.以下不屬于面向?qū)ο蟮幕咎攸c(diǎn)的是()。
A.分類性B.多態(tài)性C.繼承性D.封裝性
50.下列程序的輸出結(jié)果是______。#include<string.h>main(){char*str1="abcde",*str2="abcd";strl++;str2++;printf("%d\n",strcmp(str1,str2));}
A.正數(shù)B.負(fù)數(shù)C.零D.不確定的值
51.有以下程序并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(){charp[]="1234567";fun(p,strlen(p));puts(p);}程序運(yùn)行后的輸出結(jié)果是()
A.1234567B.7654321C.1711717D.7177171
52.以下程序的輸出結(jié)果是______。main(){inta=3;printf("%\n",(a+=a-=a*a));}
A.{B.1C.2D.-12
53.在C語(yǔ)言中,要求運(yùn)算數(shù)必須是整型的運(yùn)算符是()
A.%B./C.<D.!
54.在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E-R圖轉(zhuǎn)換為關(guān)系模式的過(guò)程屬于()。
A.需求分析階段B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段D.物理設(shè)計(jì)階段
55.有以下程序A:intf1(intx,inty){returnx>y?x:y;}intf2(intx,inty){returnx>y?y:x;)main(){inta=4,b=3,c=5,d=2,e,f,g;e=f2(f1(a,B),f1(c,D));f=f1(f2(a,B),f2(c,D));g=a+b+c+d-e-f;printf("%d,%d,%d\n",e,f,g);}程序運(yùn)行后的輸出結(jié)果是()。
A.4,3,7B.3,4,7C.5,2,7D.2,5,7
56.C語(yǔ)言中,組成數(shù)據(jù)文件的成分是()。A.A.記錄
B.數(shù)據(jù)行
C.數(shù)據(jù)塊
D.字符(字節(jié))序列
57.有以下程序:voidfun(char*c,intd){*c=*c+1;d=d+1;printf("%c,%c,",*c,d);}main(){chara='A',b='a';fun(&b,a);printf("%c,%c\n",a,b);}程序運(yùn)行后的輸出結(jié)果是()。
A.B,a,B,aB.a,B,a,BC.A,b,A,bD.b,B,A,b
58.以下敘述中正確的是()。
A.構(gòu)成C程序的基本單位是函數(shù)
B.可以在一個(gè)函數(shù)中定義另一個(gè)函數(shù)
C.main函數(shù)必須放在其他函數(shù)之前
D.C函數(shù)定義的格式是K&R格式
59.若有以下定義,則正確的switch語(yǔ)句是______。floatx;inta,b;
A.switch(x){case1.0:printf("*\n");csse2.0:printf("**\n");}
B.switch(x){case1,2:printf("*\n");case3:printf("**\n");}
C.switch(a+b){case1:printf("\n");case1+2:printf("**\n");}
D.switch(a+b);{case1:printf("*\n");case2:printf("**\n");}
60.若x=10010111,則表達(dá)式(3+(int)(x))&(~3)的運(yùn)算結(jié)果是()。
A.10011000B.10001100C.10101000D.10110000
四、選擇題(20題)61.用樹(shù)形結(jié)構(gòu)來(lái)表示實(shí)體之間聯(lián)系的模型稱為()。
A.關(guān)系模型B.層次模型C.網(wǎng)狀模型D.數(shù)據(jù)模型
62.以下選項(xiàng)中,能用作數(shù)據(jù)常量的是______。A.o115B.0118C.1.5e1.5D.115L
63.
64.(70)需求分析階段的任務(wù)是確定()
A.軟件開(kāi)發(fā)方法
B.軟件開(kāi)發(fā)工具
C.軟件開(kāi)發(fā)費(fèi)用
D.軟件系統(tǒng)功能
65.
66.有以下程序
#include"stdio.h"
voidfun(int*a,int*b)
{intc=20,d=20;
*a=c/3;
b=d/5;}
main()
{inta=3,b=5;
fun(&a,&b);
printf("%d,%d\n",a,b);
}
程序的運(yùn)行結(jié)果是
A.6,5B.5,6
C.20,25D.3,5
67.
68.
69.若有定義語(yǔ)句:“intyear=2009,*p=&year;”,以下不能使變量year中的值增至2010的語(yǔ)句是()。
A.*p+=1;
B.(*p)++;
C.++(*p);
D.*++P
70.用黑盒技術(shù)測(cè)試用例的方法之一為
A.因果圖B.邏輯覆蓋C.循環(huán)覆蓋D.基本路徑測(cè)試
71.作為信息處理熱點(diǎn)技術(shù)之一的“多媒體技術(shù)”中的媒體,強(qiáng)調(diào)的是()。
A.存儲(chǔ)媒體B.表現(xiàn)媒體C.傳輸媒體D.感覺(jué)媒體
72.有以下程序
voidfunc(int*a,intb[])
{b[0]=*a+6;}
main()
{inta,b[5]={0};
a=0;b[0]=3;
func(&a,b);
rintf("%d\n",b[0]);
}
程序的運(yùn)行結(jié)果是
A.6B.7
C.8D.9
73.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.let=4B.m=2C.m=6D.m=5
74.
75.當(dāng)c的值不為0時(shí),在下列選項(xiàng)中不能正確將c的值賦給變量a、b的是()。A.A.a=b=c;B.(a=c)C.(a=c)&&(b=c);D.(b=c);
76.以下不正確的定義語(yǔ)句是
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’};
77.
78.設(shè)有以下語(yǔ)句
79.在c語(yǔ)言中,只有在使用時(shí)才占用內(nèi)存單元的變量,其存儲(chǔ)類型是()。A.aut0和Iegister
B.extern和register
C.aut0和static
D.static和register
80.有以下程序:
程序執(zhí)行后的輸出結(jié)果是()。
A.357B.753C.369D.751
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:用下面的公式求π的近似值,直到最后一項(xiàng)的絕對(duì)值小于指定的數(shù)(參數(shù)num)為止。π/4≈1-1/3+1/5-1/7+…例如,程序運(yùn)行后,輸入0.0001,則程序輸出3.1414。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫(xiě)函數(shù)proc(),它的功能是:將字符串中的前導(dǎo)*號(hào)全部刪除,中間和后面的*號(hào)不刪除。例如,若字符串中的內(nèi)容為****a*bc*def*g****,刪除后,字符串中的內(nèi)容則應(yīng)當(dāng)是a*bc*def*g****。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:
參考答案
1.B題目中的選項(xiàng)都以轉(zhuǎn)義字符“\\”開(kāi)頭,“\\ddd”表示3位八進(jìn)制數(shù)代表的一個(gè)ASCII字符,“\\xhh”表示2位十六進(jìn)制數(shù)代表的一個(gè)ASCII字符。選項(xiàng)A中“089”是不合法的八進(jìn)制數(shù),錯(cuò)誤;選項(xiàng)C、D中“\\0X”或“\\0x”不合法,錯(cuò)誤;選項(xiàng)B表示八進(jìn)制數(shù)012代表的ASCII字符,正確。本題答案為B選項(xiàng)。
2.C
3.C解析:fprintf函數(shù)工作時(shí),多個(gè)數(shù)據(jù)間不會(huì)自珈口分隔符,選項(xiàng)A錯(cuò)誤;浮點(diǎn)數(shù)的輸出格式是“%5.0f”表明其小數(shù)部分輸出0位,即沒(méi)有輸出,所以選項(xiàng)B也是錯(cuò)誤的。
4.A宏替換是在編譯階段前的預(yù)處理階段,對(duì)程序中的宏完成文本替換,因此宏替換不占用運(yùn)行時(shí)間,選項(xiàng)A正確;預(yù)處理命令行無(wú)須在源文件的開(kāi)頭,它可以出現(xiàn)在程序的任何一行的開(kāi)始部位,其作用一直持續(xù)到源文件的末尾,選項(xiàng)B錯(cuò)誤;在源文件的一行上至多只能有一條預(yù)處理命令,選項(xiàng)C錯(cuò)誤;宏名通常使用大寫(xiě)字母表示,這并不是語(yǔ)法規(guī)定,只是一種習(xí)慣,選項(xiàng)D錯(cuò)誤。本題答案為A選項(xiàng)。
5.B
6.C本題考查C語(yǔ)言中的數(shù)據(jù)輸出格式。
題目中定義了兩個(gè)整型變量m、n,對(duì)這兩個(gè)變量賦值,輸入的數(shù)值為十六進(jìn)制整數(shù),并且有m=n。進(jìn)行m-n運(yùn)算后,將減法所得到的值賦給m,并將m值輸出。其中printf的格式字符選用的格式字符為x,即以十六進(jìn)制形式輸出整數(shù)。注意,0x是表示該數(shù)為十六進(jìn)制的標(biāo)志,輸出數(shù)據(jù)時(shí),數(shù)據(jù)前面不會(huì)自動(dòng)加上進(jìn)制的標(biāo)志。
7.D本題可以寫(xiě)成:a+a+(a-(a*a)),所以*的優(yōu)先級(jí)最高,其次是-=的,+的優(yōu)先級(jí)最低,因此先求a-=a*a=9,表達(dá)式變?yōu)閍+a+-=9,a即a=a-9=-6,再次變?yōu)閍+(-6)=-12,故選擇D選項(xiàng)。
8.A
9.C第一次外循環(huán)的值為1,第一次內(nèi)循環(huán)j的值為3,不滿足條件執(zhí)行m*=i*j即m的值為3;第二次j的值為2。不滿足條件執(zhí)行m*=i*j,即的值為6;第三次j的值為1,不滿足條件執(zhí)行m*=i*j,即m的值仍為6。第二次外循環(huán)的值2,j的值為3,滿足條件執(zhí)行break語(yǔ)句跳出循環(huán)。
10.D多元運(yùn)算符問(wèn)號(hào)前面表達(dá)式為真,所以(a-A+a)賦值給a,括號(hào)里的運(yùn)算是把大寫(xiě)字母變成小寫(xiě)字母,所以答案應(yīng)為選項(xiàng)D。
11.C
12.B關(guān)系具有以下7個(gè)性質(zhì)。①元組個(gè)數(shù)有限性:二維表中元組的個(gè)數(shù)是有限的。②元組的唯一性:二維表中任意兩個(gè)元組不能完全相同。③元組的次序無(wú)關(guān)性:二維表中元組的次序,即行的次序可以任意交換。④元組分量的原子性:二維表中元組的分量是不可分割的基本數(shù)據(jù)項(xiàng)。⑤屬性名唯一性:二維表中不同的屬性要有不同的屬性名。⑥屬性的次序無(wú)關(guān)性.二維表中屬性的次序可以任意交換。⑦分量值域的同一性:二維表屬性的分量具有與該屬性相同的值域,或者說(shuō)列是同質(zhì)的。滿足以上7個(gè)性質(zhì)的二維表稱為關(guān)系,以二維表為基本結(jié)構(gòu)所建立的模型稱為關(guān)系模型。本題答案為B選項(xiàng)。
13.B本題考多循環(huán)的使用,當(dāng)j=10,i=9時(shí),循環(huán)成立,第一個(gè)if條件為假,第二個(gè)if條件i==j-1成立,則輸出j的值為10,接者執(zhí)行i++后,i為10;當(dāng)i為10,for循環(huán)不成立,退出內(nèi)層循環(huán),此時(shí)執(zhí)行j++后,j為11,循環(huán)不成立,退出循環(huán)。
14.C只有當(dāng)3個(gè)if條件同時(shí)成立,即能夠同時(shí)被2、3、7整除時(shí),才輸出i的值,而從0到50能夠同時(shí)被2、3、7整除的數(shù)只有42,故選擇c選鞏。
15.D題干中,函數(shù)fun的功能是將二維數(shù)組p的行下標(biāo)為1、列下標(biāo)為1的元素(p[1][1])的值賦給二維地址s指向的*s所指向的存儲(chǔ)單元。main函數(shù)中定義了整型指針p,動(dòng)態(tài)分配了整型長(zhǎng)度的內(nèi)存空間,調(diào)用函數(shù)fun將數(shù)組元素a[1][1],即9賦給p所指向的空間。本題答案為D選項(xiàng)。
16.B解析:scanf()語(yǔ)句用“空格”區(qū)別不同的字符串;getc()與getchar()語(yǔ)句不能用于字符串的讀入。
17.A
18.A
19.BB)【解析】軟件側(cè)試的目的:
\n①軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程;
\n②一個(gè)好的測(cè)試用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯(cuò)誤;
\n⑧一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯(cuò)誤。
\n軟件側(cè)試的準(zhǔn)則:
\n①所有測(cè)試都應(yīng)追溯到需求;
\n②嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性;
\n③充分注意測(cè)試中的群集現(xiàn)象:
\n④程序員應(yīng)避免檢查自己的程序;
\n⑤窮舉測(cè)試不可能;
\n⑥妥善保存測(cè)試計(jì)劃、測(cè)試用例、出錯(cuò)統(tǒng)計(jì)和最終分析報(bào)告,為維護(hù)提供方便。
20.B棧是限定只能在表的一端進(jìn)行插入和刪除操作的線性表,入棧和出棧都是在棧頂進(jìn)行,它們的操作特點(diǎn)是先進(jìn)后出,因此具有記憶作用。??梢圆捎庙樞虼鎯?chǔ),也可以采用鏈?zhǔn)酱鎯?chǔ)。
21.100010100010解析:首先將程序中的宏替換掉,兩處的宏替換后分別為i1=1000/10*10和i2=1000/(10*10),即i1=1000,i2=10,所以最后輸出的i1和i2的值分別為1000和10。
22.52
23.!=returnj!=returnj解析:函數(shù)fun中,變量j用于控制刪除后剩下的數(shù)中的下標(biāo),i用于搜索原數(shù)組中的元素。j始終是新數(shù)組已有元素中最后一個(gè)元素的下一個(gè)元素的下標(biāo),所以訂語(yǔ)句中的條件是a[j-1]!=a[i],其中a[j-1]就是新數(shù)組中的最后一個(gè)元素,若條件成立則表示出現(xiàn)了不同的值,a[i]要添加到新數(shù)組中。該算法只能用于數(shù)組已排序的題目中。
24.(c=getchar())!='\n'(c=getchar())!='\\n'解析:分析題目可知,程序中運(yùn)用函數(shù)c=getchar()從標(biāo)準(zhǔn)輸入設(shè)備讀取下一個(gè)字符,而且是一行的字符(即沒(méi)有換行),所以條件為(c=getchar())!='\\n'。
25.k=k*ik=k*i解析:本題中通過(guò)for循環(huán)求s表達(dá)式中每一項(xiàng)的和,表達(dá)式“fac=fac/k;”求的是每一項(xiàng)的值,所以k的值應(yīng)為n!,在求n!的時(shí)候,可以用上次循環(huán)階乘的值乘i,就可以直接得此次n!,故本題填k=k*i。
26.->->解析:若結(jié)構(gòu)體變量abc有成員a,并有指針p_abc指向結(jié)構(gòu)變量abc,則引用變量abc成員a的標(biāo)記形式有abc.a和p_abc->a。
27.str[i]str[i+1]"%s"strstr[i]\r\nstr[i+1]\r\n'%s',str解析:本題要求將字符串str中的字符用冒泡排序算法從大到小排列,其實(shí)過(guò)程是將相鄰兩個(gè)字符進(jìn)行比較,如果當(dāng)前字符小于下一個(gè)字符,則通過(guò)中間變量temp將字符兩兩交換,所以第—空應(yīng)填:str[i],第二空應(yīng)填str[i+1]最終打印輸出得到的字符串str,所以第三空應(yīng)填'%s',str。
28.structSTRUstructSTRU解析:結(jié)構(gòu)體類型是構(gòu)造數(shù)據(jù)類型,是用戶自己定義的一種類型。
結(jié)構(gòu)體類型的定義:
struct結(jié)構(gòu)體類型名
{
成員項(xiàng)表;
定義結(jié)構(gòu)休變量的的形式為:
struct結(jié)構(gòu)體類型名變量1,變量2,....
其中變量包括:一般變量、指針變量、數(shù)組變量等。
29.錯(cuò)誤錯(cuò)誤解析:線索二叉樹(shù)是利用二叉鏈表存儲(chǔ)結(jié)構(gòu)中的空鏈域來(lái)存放其前趨或后繼。由于二叉樹(shù)度為2的非終端結(jié)點(diǎn)無(wú)空鏈域,因此它沒(méi)有空鏈域用來(lái)存放前趨和后繼。
30.'\0''\\0'解析:本題涉及字符數(shù)組和指針的兩個(gè)知識(shí)點(diǎn):①在c語(yǔ)言中,字符型數(shù)組在存放字符串時(shí)會(huì)自動(dòng)在末尾加上字符串結(jié)束標(biāo)識(shí)符'\\0',所以題中數(shù)組str有6個(gè)元素。②ptr指向數(shù)組s仕的首地址,ptr+5是指向str[5],*(ptr+5)是引用str[5]的值,即'\\0'。
31.上溢上溢解析:入隊(duì)運(yùn)算是指在循環(huán)隊(duì)列的隊(duì)尾加入一個(gè)新元素。這個(gè)運(yùn)算有兩個(gè)基本操作:首先將隊(duì)尾指針進(jìn)一(即rear=rear+1),并當(dāng)rear=m+1時(shí)置rear=1;然后將新元素插入隊(duì)尾指針指向的位置。當(dāng)循環(huán)隊(duì)列非空(s=1)時(shí)且隊(duì)尾指針等于隊(duì)頭指針時(shí),說(shuō)明循環(huán)隊(duì)列已滿,不能進(jìn)行入隊(duì)運(yùn)算,這種情況稱為“上溢”。
32.strcurlist*strucrlist*return(h)
33.無(wú)限無(wú)限解析:分析程序“while(s)”語(yǔ)句后面有一個(gè)“;”不能執(zhí)行后面的語(yǔ)句,只是執(zhí)行空語(yǔ)句,所以s=12保持不變,因此,沒(méi)有條件限制的能循環(huán)無(wú)限次(即死循環(huán))。
34.ASCII碼ASCII碼解析:C語(yǔ)言中,字符也可以進(jìn)行比較運(yùn)算,并且是按照其ASCII碼值進(jìn)行的。
35.(x>10&&x<100)||x<0
36.邏輯結(jié)構(gòu)中相鄰的結(jié)點(diǎn)在存儲(chǔ)結(jié)構(gòu)中仍相鄰。邏輯結(jié)構(gòu)中相鄰的結(jié)點(diǎn)在存儲(chǔ)結(jié)構(gòu)中仍相鄰。解析:順序存儲(chǔ)結(jié)構(gòu)的主要特點(diǎn)是數(shù)據(jù)元素按線性表的邏輯次序,依次存放在一組地址連續(xù)的存儲(chǔ)單元中。在存儲(chǔ)單元中,各元素的物理位置和邏輯結(jié)構(gòu)中各結(jié)點(diǎn)間的相鄰關(guān)系是一致的。
37.順序存儲(chǔ)(順序方式存儲(chǔ))順序存儲(chǔ)(順序方式存儲(chǔ))解析:二分法查找對(duì)表的要求是有序的順序表,即第一要求是數(shù)據(jù)元素有序,第二要求是按順序方式存儲(chǔ)。
38.'\0''\\0'解析:本題涉及字符數(shù)組和指針的兩個(gè)知識(shí)點(diǎn):①在C語(yǔ)言中,字符型數(shù)組在存放字符串時(shí)會(huì)自動(dòng)在末尾加上字符串結(jié)束標(biāo)識(shí)符'\\0'所以題中數(shù)組str有6個(gè)元素。②ptr指向數(shù)組str的首地址,ptr+5是指向str[5],*(ptr+5)是引用str[5]的值,即'\\0'。
39.10
40.fopen(fname:"w")
41.DD.【解析】在線性鏈表中,各元素在存儲(chǔ)空間中的位置是任意的,各元素的順序也是任意的,依靠指針來(lái)實(shí)現(xiàn)數(shù)據(jù)元素的前后件關(guān)系。
42.C解析:本題考查枚舉型變量的定義及其賦初值。第一個(gè)變量默認(rèn)為1,中間可任意賦值,賦值后其后面的變量依次加1。
43.C
44.A解析:選項(xiàng)A)是一個(gè)表達(dá)式,它后面沒(méi)有分號(hào)結(jié)尾(C語(yǔ)言中規(guī)定語(yǔ)句必須以分號(hào)結(jié)束),所以它不是語(yǔ)句;選項(xiàng)B)用一個(gè)花括號(hào)把幾條語(yǔ)句括起來(lái)了,這是一個(gè)復(fù)合語(yǔ)句;選項(xiàng)C)中只有一個(gè)分號(hào),是一個(gè)空語(yǔ)句;選項(xiàng)D)是個(gè)復(fù)合語(yǔ)句,也是一個(gè)空語(yǔ)句。
45.D解析:本題考核的知識(shí)點(diǎn)是for循環(huán)語(yǔ)句和復(fù)合賦值+=運(yùn)算符的應(yīng)用。本題中,i賦初值為1,并對(duì)其每次進(jìn)行加2操作,即i每次均為1~10之間的奇數(shù),s+=i+1,即s=s+i+1,相當(dāng)于s等于原來(lái)的s每次加上1~10之間的偶數(shù),直到i<10不成立.當(dāng)i=1時(shí),s=0+1+1=2;當(dāng)i=3時(shí),s=2+3+1=2+4;當(dāng)i=5時(shí),s=2+4+5+1=2+4+6;當(dāng)i=7時(shí),s=2+4+6+7+1=2+4+6+8;當(dāng)i=9時(shí),s=2+4+6+8+9+1=2+4+6+8+10;當(dāng)i=11時(shí),i<10不成立,結(jié)束循環(huán)。所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。
46.A解析:結(jié)構(gòu)體變量所占的存儲(chǔ)空間是各個(gè)分量所占空間的總和。共用體變量中的所有成員占有同一個(gè)存儲(chǔ)空間,其字節(jié)數(shù)與成員中占字節(jié)數(shù)最多的那個(gè)成員相等。m占2個(gè)字節(jié),f占4個(gè)字節(jié),因此結(jié)構(gòu)體變量a所占的存儲(chǔ)空間為6字節(jié)。k[6]占6個(gè)字節(jié),d占8個(gè)字節(jié)。共用體變量b所占的存儲(chǔ)空間與占存儲(chǔ)空間最多的d所占存儲(chǔ)空間的字節(jié)數(shù)相同。所以,A選項(xiàng)為所選。
47.B解析:本題考查的重點(diǎn)是do-while用法。do-while循環(huán)先執(zhí)行循環(huán)體中的語(yǔ)句,然后再判斷while中的條件是否為真,如果為真(非零)則繼續(xù)循環(huán);如果為假,則終止循環(huán)。因此,do-while循環(huán)至少要執(zhí)行一次循環(huán)語(yǔ)句。
48.D解析:strcmp(s1,s2)是比較兩個(gè)字符串的大小,s1>s2時(shí)值為正數(shù),s1<s2時(shí)值為負(fù)數(shù),s1=s2時(shí)值為0。調(diào)用f(p,5)函數(shù)的功能是將存儲(chǔ)字符串的數(shù)組p中的字符串從小到大進(jìn)行排列。最后的排列結(jié)果為:p[5]={'aabdfg','abbd','abc','cd','dcdbe'},最后要求輸出的是'abbd'的長(zhǎng)度。
49.A解析:封裝性、繼承性、多態(tài)性是面向?qū)ο蟮娜筇攸c(diǎn)。
50.A解析:當(dāng)兩個(gè)字符串比較到第5個(gè)字符時(shí),str1指向的字符是'e',str2指向的字符是'\\0',字符串比較函數(shù)strcmp的返回值是這兩個(gè)字符ASCII碼值的差(101),是正數(shù)。
51.C
52.D解析:賦值運(yùn)算符的結(jié)合方向是自右至左,所以表達(dá)式a+a-=a*a先運(yùn)算最右邊的a*a得9,再運(yùn)算a=a-9,即a=3-9,所以此時(shí)a的值由3變成了-6,最后運(yùn)算a=a+(-6),即a-(-6)+(-6)=-12。
53.A解析:題目的四個(gè)選項(xiàng)中,B、C、D都不要求運(yùn)算數(shù)必須為整數(shù),參與模運(yùn)算(%)的運(yùn)算數(shù)必須是整型數(shù)據(jù)。
54.BB。【解析】數(shù)據(jù)庫(kù)設(shè)計(jì)階段主要包括需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。其中邏輯設(shè)計(jì)的主要工作是將E-R圖轉(zhuǎn)換為關(guān)系模式。
55.A
56.D解析:C語(yǔ)言中的文件是流式文件。流式文件是一種無(wú)結(jié)構(gòu)文件,即整個(gè)文件是一串字符流或二進(jìn)制流。文件的存取以字符或字節(jié)為單位。
57.D解析:程序中定義了兩個(gè)字符型變量'a'和'b',并分別賦初值為'A'和'a',然后調(diào)用函數(shù)fun(),將b的地址和a值作為實(shí)參。在函數(shù)fun()中第一個(gè)參數(shù)是傳遞地址,故在調(diào)用函數(shù)fun()中對(duì)參數(shù)做的修改(即將b值加一)將影響字符型變量的值(變?yōu)閎),函數(shù)fun()第二個(gè)參數(shù)是傳值的,故在調(diào)用函數(shù)fun()對(duì)第二個(gè)參數(shù)做的修改不影響字符型變量a(即'a'的值仍為'A'),所以在fun()函數(shù)中輸出的d為b,B,接著在主函數(shù)中,輸出a,b,然后退出fun()函數(shù),接著執(zhí)行后面的語(yǔ)句,輸出A,b。所以最后輸出為b,B,A,b。4個(gè)選項(xiàng)中D正確。
58.A解析:本題考查C語(yǔ)言的綜合基礎(chǔ)知識(shí)。構(gòu)成C程序的基本單位是函數(shù),一個(gè)C程序總是從main函數(shù)開(kāi)始執(zhí)行,而不論main函數(shù)在整個(gè)程序中的位置如何。C語(yǔ)言的函數(shù)定義都是互相平行、獨(dú)立的,在定義函數(shù)時(shí),一個(gè)函數(shù)內(nèi)不能定義另一個(gè)函數(shù)。C函數(shù)定義的一般格式有兩種:傳統(tǒng)格式和現(xiàn)代格式。傳統(tǒng)格式也稱K&R格式,是早期編譯系統(tǒng)使用的格式;現(xiàn)代格式又稱ANSI格式,是現(xiàn)代編譯系統(tǒng)使用的格式。
59.C
60.A解析:本題主要考查運(yùn)算表達(dá)式的運(yùn)算。3+(int)(x)的結(jié)果是10011010,~3的結(jié)果是11111100,二者邏輯與得10011000。
61.B解析:在數(shù)據(jù)庫(kù)系統(tǒng)中,由于采用的數(shù)據(jù)模型不同,相應(yīng)的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)也不同。目前常用的數(shù)據(jù)模型有3種:層次模型、網(wǎng)狀模型和關(guān)系模型。在層次模型中,實(shí)體之間的聯(lián)系是用樹(shù)結(jié)構(gòu)來(lái)表示的,其中實(shí)體集(記錄型)是樹(shù)中的結(jié)點(diǎn),而樹(shù)中各結(jié)點(diǎn)之間的連線表示它們之間的關(guān)系。所以,本題的正確答案是B。
62.D在C語(yǔ)言中,有整型常量、實(shí)型常量、字符常量和字符串常量等類型。整型常量和實(shí)型常量又稱數(shù)值型常量?;菊统A恐荒苡脭?shù)字表示,不帶小數(shù)點(diǎn),例如12、-1和0等,在VC6.0中可以在整型常量的后面加—個(gè)字母l(L的小寫(xiě))或L;實(shí)型常量必須用帶小數(shù)點(diǎn)的數(shù)表示,例如3.14159、-2.71828、0.0等;選項(xiàng)A中字母o不符合要求,選頂B中超出八進(jìn)制的范圍,選項(xiàng)C中e后面的不為整數(shù),因此選頂D是正確的。
63.A
64.D
65.B
66.A在本題中,首先定義了一個(gè)fun函數(shù),函數(shù)中用兩個(gè)指針變量作為形參,在函數(shù)體中,定義了兩個(gè)整型變量,然后做除法運(yùn)算,并試圖將結(jié)果保存到形參中,語(yǔ)句“*a=c/3;”中由于變量c與3都是整型,其運(yùn)算結(jié)果也應(yīng)該為整型,運(yùn)算過(guò)程中舍去小數(shù)部分,得到計(jì)算結(jié)果為6,并保存到指針變量a指向的存儲(chǔ)單元中;語(yǔ)句“b=d/5;”同樣是整數(shù)運(yùn)算,其運(yùn)算結(jié)果為4,但很明顯,賦值的方法不正確,不能改變指針變量b指向單元
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025合同協(xié)議合作辦學(xué)協(xié)議
- 高中化學(xué)選修五有機(jī)化學(xué)專題復(fù)習(xí)
- 中央空調(diào)清洗安裝合同范例
- 入倉(cāng)協(xié)議合同范例
- 客房長(zhǎng)期租賃合同范例
- 保溫承包勞務(wù)合同范例
- 房屋購(gòu)銷合同范例封面
- 學(xué)校食品采購(gòu)合同范例
- 品牌顧問(wèn) 合同范例
- 學(xué)習(xí)小吃技術(shù)合同范例
- 獨(dú)領(lǐng)風(fēng)騷的古代技術(shù)創(chuàng)造
- 國(guó)開(kāi)2023春計(jì)算機(jī)組網(wǎng)技術(shù)實(shí)訓(xùn)-咖啡店無(wú)線上網(wǎng)參考答案
- 實(shí)用俄語(yǔ)會(huì)話知到章節(jié)答案智慧樹(shù)2023年山東交通學(xué)院
- 廣西南寧市2022-2023學(xué)年四年級(jí)數(shù)學(xué)第一學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測(cè)模擬試題含解析
- 米諾環(huán)素治療痤瘡進(jìn)展課件
- 管理英語(yǔ)4寫(xiě)作
- 國(guó)家電網(wǎng)招聘(計(jì)算機(jī)類)專業(yè)知識(shí)筆試歷年考試真題匯總(附答案)
- 義務(wù)教育物理課程標(biāo)準(zhǔn)(2022年版)測(cè)試卷(含答案)
- 父愛(ài)深深 閱讀附答案
- 2023-2024學(xué)年安徽省宣城市小學(xué)數(shù)學(xué)五年級(jí)上冊(cè)期末自測(cè)模擬試題
- 燃?xì)忮仩t安全檢查表分析(SCL)+評(píng)價(jià)記錄
評(píng)論
0/150
提交評(píng)論