




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021年內(nèi)蒙古自治區(qū)通遼市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.合法的數(shù)組初始化語(yǔ)句是()。
A.chara="string";
B.inta[5]={0,1,2,3,4,5};
C.inta[]="string"
D.chara[]={0,1,2,3,4,5};
2.以下敘述中錯(cuò)誤的是()。
A.C語(yǔ)句必須以分號(hào)結(jié)束
B.復(fù)合語(yǔ)句在語(yǔ)法上被看作一條語(yǔ)句
C.空語(yǔ)句出現(xiàn)在任何位置都不會(huì)影響程序運(yùn)行
D.賦值表達(dá)式末尾加分號(hào)就構(gòu)成賦值語(yǔ)句
3.下列有關(guān)圖的遍歷說(shuō)法中,不正確的是()
A.圖的遍歷必須用遞歸實(shí)現(xiàn)
B.基本遍歷算法兩種:深度遍歷和廣度遍歷
C.有向圖和無(wú)向圖都可以進(jìn)行遍歷操作
D.圖的遍歷算法可以執(zhí)行在有回路的圖上
4.下面程序輸出的結(jié)果是main(){intx;x=-3+4*5-6;printf("%d",x);x=3+4%5-6;printf("%d",x);x=-3+4%6/5;printf("%d",x);x=(7+6)%5/2;printf("%d",x);}
A.111-31B.11-321C.12-321D.11121
5.若有定義"int(*pt)[3];",則下列說(shuō)法正確的是()。
A.定義了基類(lèi)型為int的三個(gè)指針變量
B.定義了基類(lèi)型為int的具有三個(gè)元素的指針數(shù)組pt
C.定義了一個(gè)名為*pt、具有三個(gè)元素的整型數(shù)組
D.定義了一個(gè)名為pt的指針變量,它可以指向每行有三個(gè)整數(shù)元素的二維數(shù)組
6.有以下程序:#include<stdio.h>intfun(intx,inty){if(x!=y)return((x+y)/2);elsereturn(x);}main(){inta=4,b=5,c=6;printf(“%d\n”,fun(2*a,fun(b,c)));}程序的運(yùn)行結(jié)果是()。
A.6B.3C.8D.12
7.以下關(guān)于鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)說(shuō)法錯(cuò)誤的是()
A.比順序存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)密度小
B.每個(gè)節(jié)點(diǎn)是由數(shù)據(jù)域和指針域組成
C.查找結(jié)點(diǎn)時(shí)鏈?zhǔn)酱鎯?chǔ)比順序存儲(chǔ)快
D.邏輯上不相鄰的節(jié)點(diǎn)物理上可能相鄰
8.有以下程序#definef(x)x*xmain(){inti;i=f(4+4)/f(2+2);printf(“%d\n”,i);}執(zhí)行后輸出結(jié)果是()A.28B.22C.16D.4
9.
10.有以下程序:#include<stdio.h>intf(intx,inty){return((y-x)*x);}main(){inta=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf(“%d\n”,d);}程序的運(yùn)行結(jié)果是()。
A.7B.10C.8D.9
11.有三個(gè)關(guān)系R、s和T如下:
由關(guān)系R和s通過(guò)運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為()。
A.并B.自然連接C.笛卡爾積D.交
12.快速排序在_____情況下最易發(fā)揮其長(zhǎng)處。
A.被排序數(shù)據(jù)中含有多個(gè)相同排序碼
B.被排序數(shù)據(jù)已基本有序
C.被排序數(shù)據(jù)完全無(wú)序
D.被排序數(shù)據(jù)中最大值和最小值相差懸殊
13.若程序中有宏定義行“#defineN100”,則下列敘述中正確的是()。
A.宏定義行中定義了標(biāo)識(shí)符N的值為整數(shù)100
B.在編譯程序?qū)語(yǔ)言源程序進(jìn)行預(yù)處理時(shí)用100替換標(biāo)識(shí)符N
C.上述宏定義行實(shí)現(xiàn)將100賦給標(biāo)識(shí)符N
D.在運(yùn)行時(shí)用100替換標(biāo)識(shí)符N
14.
15.下面是有關(guān)C語(yǔ)言字符數(shù)組的描述,其中錯(cuò)誤的是()。
A.不可以用賦值語(yǔ)句給字符數(shù)組名賦字符串
B.可以用輸入語(yǔ)句把字符串整體輸入給字符數(shù)組
C.字符數(shù)組中的內(nèi)容不一定是字符串
D.字符數(shù)組只能存放字符串
16.有以下程序
#include<stdio.h>
voidfun(intx)
{if(x/2>1)fun(x/2);
printf(”%d”,x);
}
main()
{fun(7);printf(”\n”);}
程序運(yùn)行后的輸出結(jié)果是()。A.137B.731C.73D.37
17.定義無(wú)符號(hào)整數(shù)類(lèi)為UInt,下面可以作為類(lèi)UInt實(shí)例化值的是()。
A.-369B.369C.0.369D.整數(shù)集合{1,2,3,4,5}
18.若在線(xiàn)性表中采用折半查找法查找元素,該線(xiàn)性表應(yīng)該()A.元素按值有序B.構(gòu)采用順序存儲(chǔ)結(jié)C.元素按值有序且采用順序存儲(chǔ)結(jié)構(gòu)D.元素按值有序且采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
19.判斷字符串s1是否大于字符串s2,應(yīng)該使用()。
A.if(strcmp(s1,s2)<0)
B.if(s1>s2)
C.if(strcmp(s2,s1)<0)
D.if(strcmp(s1,s2))
20.有以下程序:#include<stdio.h>main(){inty=9;for(;y>0;y--)if(y%3==0)printf(“%d”,--y);}程序的運(yùn)行結(jié)果是()。
A.852B.963C.741D.875421
二、2.填空題(20題)21.下列程序的輸出結(jié)果是______。
main()
{inta+,b=2,C=3,t=0;
ifa<B){t=a;a=b;b=t;}
ifa<C){t=a;a=c;c=t;}
printf("%d,%d,%dln",a,b,C);
}
22.以下程序的輸出結(jié)果是______。
voidfun()
{staticinta=0;
a+=2;printf("%d",a);
}
main()
{intcc;
for(cc=1;cc<4;cc++)fun();
printf("\n");
}
23.順序存儲(chǔ)方法是把邏輯上相鄰的結(jié)點(diǎn)存儲(chǔ)在物理位置______的存儲(chǔ)單元中。
24.若有以下程序:
main()
{chara;
a='H'-'A'+'0';
printf("%c\n",a);
}
執(zhí)行后的輸出結(jié)果是【】。
25.若有定義inta=10,b=9,c=8;,接著順序執(zhí)行下列語(yǔ)句,變量b中的值是【】。
c=(a-=(b-5));
c=(a%11)+(b=3);
26.閱讀下面語(yǔ)句,則程序的執(zhí)行結(jié)果是【】。
#include"stdio.h"
main()
{inta=-1,b=1,k;
if((++a<0)&&!(b--<=0))
printf("%d,%d\",a,b);
elseprintf("%d,%d\n",b,a);}
27.數(shù)據(jù)庫(kù)系統(tǒng)其內(nèi)部分為三級(jí)模式,即概念模式、內(nèi)模式和外模式。其中,______是用戶(hù)的數(shù)據(jù)視圖,也就是用戶(hù)所見(jiàn)到的數(shù)據(jù)模式。
28.以下程序段打開(kāi)文件后,先利用fseek函數(shù)將文件位置指針定位在文件末尾,然后調(diào)用ftell函數(shù)返回當(dāng)前文件位置指針的具體位置,從而確定文件長(zhǎng)度。請(qǐng)?zhí)羁铡?/p>
FILE*myf;longf1;
myf=【】("test.t","rb");
fseek(myf,0,SEEKEND);
f1=ftell(myf);
fclose(myf);
printf("%d\n",f1)
29.以下函數(shù)把b字符串連接到a字符串的后面,并返回a中新字符串的長(zhǎng)度。請(qǐng)?zhí)羁铡?/p>
strcen(chara[],charb[])
{intnum=0,n=0;
while(*(a+num)!=【】)num++;
while(b[n]){*(a+num)=b[n];num++;【】;}
return(num);
}
30.在程序設(shè)計(jì)階段應(yīng)該采取______和逐步求精的方法,把一個(gè)模塊的功能逐步分解,細(xì)化為一系列具體的步驟,繼而用某種程序設(shè)計(jì)語(yǔ)言寫(xiě)成程序。
31.下面的程序通過(guò)函數(shù)average計(jì)算數(shù)組中各元素的平均值,請(qǐng)?zhí)羁铡?/p>
floatavetage(int*pa,intn)
{inti;
floatavg=0.0;
for(i=0;i<n;i++);
avg=avg+【】;avg=【】;
returnavg;
}
main()
{inti,a[5]={2,4,6,8,10,};
floatmean;
prinf("%mean=%f\n",mean);
}
32.下列程序?qū)⒍S數(shù)組a的行和列元素互換后存放到另一個(gè)二維數(shù)組b中。請(qǐng)?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++)
}
}
33.分析下列程序:
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);
}
運(yùn)行程序的輸出結(jié)果是______。
34.語(yǔ)句:x++;、++x;、x=x+1;、x=1+x;,執(zhí)行后都使變量x中的值增1,請(qǐng)寫(xiě)出一條同一功能的賦值語(yǔ)句(不得與列舉的相同)【】。
35.已知字符'A'的ASCII碼值為65,以下語(yǔ)句的輸出結(jié)果是【】。
charch='B';
printf("%c%d\n",ch,ch);
36.數(shù)據(jù)的【】結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱(chēng)為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)或物理結(jié)構(gòu)。
37.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。
38.以下程序的功能是建立—個(gè)帶有頭結(jié)點(diǎn)的單向鏈表,鏈表結(jié)點(diǎn)中的數(shù)據(jù)通過(guò)鍵盤(pán)輸入,當(dāng)輸入數(shù)據(jù)為-1時(shí),表示輸入結(jié)束(鏈表頭結(jié)點(diǎn)的data域不放數(shù)據(jù),表空的條件是ph->next==NULL),請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
structlist{intdata;structlist*next;};
structlist*creatlist()
{structlist*p,*q,*ph;inta;ph=(structlist*)malloc(sizeof(struct
39.一個(gè)關(guān)系表的行稱(chēng)為()。
40.算法的復(fù)雜度主要包括【】復(fù)雜度和空間復(fù)雜度。
三、1.選擇題(20題)41.下列敘述中正確的是()。
A.break語(yǔ)句只能用于switch語(yǔ)句體中
B.continue語(yǔ)句的作用是使程序的執(zhí)行流程跳出包含它的所有循環(huán)
C.break語(yǔ)句只能用在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)
D.在循環(huán)體內(nèi)使用break語(yǔ)句和continue語(yǔ)句的作用相同
42.在C語(yǔ)言中,函數(shù)的隱含存儲(chǔ)類(lèi)別是______。
A.autoB.staticC.externD.無(wú)存儲(chǔ)類(lèi)別
43.有以下定義:inta[4][3]={1,2,3,4,5,6,7,8,9.10,11,12};int(*ptr)[3]=a,*p=a[0];則下列能夠正確表示數(shù)組元素a[1][2]的表達(dá)式是()。
A.*((*ptr+1}+2)B.*(*(p+5))C.(*ptr+1)+2D.*(*(a+1)+2)
44.設(shè)有定義:inta=2,b=3,c=4;,則下列選項(xiàng)中值為0的表達(dá)式是()。
A.(!a==1)&&(!b==0)
B.(a<b)&&!c‖1
C.a&&b
D.a‖(b+b)&&(c-a)
45.已知字母A的ASCⅡ代碼值為65,若變量kk為char型,以下不能正確判斷出kk中的值為大寫(xiě)字母的表達(dá)式是______。
A.kk>='A'&&kk<='Z'
B.!(kk>='A'‖kk<='Z')
C.(kk+32)>='a'&&(kk+32)<='z'
D.isalpha(kk)&&(kk<91)
46.請(qǐng)選出以下語(yǔ)句的輸出結(jié)果Printf("%d\n",strlen("\t\"\065\xff\n"));
A.5B.14C.8D.輸出項(xiàng)不合法,無(wú)正常輸出
47.已知函數(shù)的原形如下,其中結(jié)構(gòu)體a為已經(jīng)定義過(guò)的結(jié)構(gòu),且有下列變量定義structa*f(intt1,int*t2,strcutat3,structa*t4)structap,*p1;inti;則正確的函數(shù)調(diào)用語(yǔ)句為
A.&p=f(10,&i,p,p1);
B.p1=f(i++,(int*)p1,p,&p);
C.p=f(i+1,&(i+2),*p,p);
D.f(i+1,&i,p,p);
48.設(shè)下面程序段中調(diào)用fun函數(shù)傳送實(shí)參a和b,main(){chara[10],b[10]┇fun(a,b);┇}則在fun函數(shù)首部中,對(duì)形參錯(cuò)誤的定義是()
A.fun(chara[10],b[10]){…}
B.fun(chara1[],chara2[]){…}
C.fun(charp[10],charq[10]){…}
D.fun(char*s1,char*s2){…}
49.以下scanf函數(shù)調(diào)用語(yǔ)句中對(duì)結(jié)構(gòu)體變量成員的引用不正確的是
structpupil
{charname[20];
intage
intsex;
}pup[5],*p;
p=pup;
A.scanf("%s",pup[0].name);
B.scanf("%d",&pup[0].age);
C.scanf("%dT",&(p->sex));
D.scanf("%d",p->age);
50.下列描述中不正確的是()。
A.字符型數(shù)組中可以存放字符串
B.可以對(duì)字符型數(shù)組進(jìn)行整體輸入、輸出
C.可以對(duì)整型數(shù)組進(jìn)行整體輸入、輸出
D.不能在賦值語(yǔ)句中通過(guò)賦值運(yùn)算符“=”對(duì)字符型數(shù)組進(jìn)行整體賦值
51.有以下程序structSTU{charname[10];intnum;intScore;{main(){structStus[5]={{"YangSan",20041,703},{"LiSiGuo",20042,580},{"WangYin",20043,680},{"SunDan",20044,550},{"Penghua",20045;537}},*p[5],*t;inti,j;for(i=0;i<5;i++)p[i]=&s[i];for(i=0;i<4;i++)for(j=i+1;j<5;j++)if(p[i]->Score>p[j]->Score){t=p[i];p[i]=p[j];p[i]=t;}printf("%d%d\n",s[1].Score,p[1]->Score);}執(zhí)行后輸出結(jié)果是
A.550550B.680680C.580550D.580680
52.下列程序段的輸出結(jié)果為()。#include<stdio.h>main(){staticchara[]="language";char*p;p=a;for(p=a;p<a+8;p+=2)putchar(*p);}
A.languageB.lnugC.有語(yǔ)法錯(cuò)誤D.lang
53.有以下程序:maln(){inti,s=0,t[]={1,2,3,4,5,6,7,8,9};for(i=0;i<9;i+=2)s+=*(t+i);printf("%d\n",s);}程序執(zhí)行后的輸出結(jié)果是()。
A.45B.20C.25D.36
54.請(qǐng)讀程序段:charstr[]="ABCD",*p=str;printf("%d\n",*(p+4));程序段的輸出結(jié)果是______。
A.68B.0C.字符'D'的地址D.不確定的值
55.以下選項(xiàng)中合法的用戶(hù)標(biāo)識(shí)符是A.longB._2TestC.3DmaxD.A.dat
56.用MIPS來(lái)衡量計(jì)算機(jī)性能的指標(biāo)是()
A.存儲(chǔ)容量B.可靠性C.處理能力D.運(yùn)算速度
57.下面程序段的輸出為#nclude"stdio.h"main(){printf("%d\n",12<<2);}
A.0B.47C.48D.24
58.設(shè)有定義:10ngx=-123456L,則以下能夠正確輸出變量x值的語(yǔ)句是()。
A.printf("x=%d\n",x);
B.printf("x=%1d\n",x);
C.peintf("x=%8dL\n",x);
D.printf('x=%LD\n",x);
59.以下程序的運(yùn)行結(jié)果是
intk=0;
voidfun(intm)
{m+=k;k+=m;printf("m=%dk=%d",m,k++);}
main()
{inti=4;
fun(i++);
printf("i=%dk=%d\n",i,k);
}
A.m=4k=5i=5k=5
B.m=4k=4i=5k=5
C.m=4k=4i=4k=5
D.m=4k=5i=4k=5
60.以下正確的程序段是
A.cgarstr[20];scanf("%s",&str);
B.char*p;scanf("%s",p);
C.charstr[20];scanf("%s",&str[2])
D.charstr[20],*p=str;scanf("%s",p[2]);
四、選擇題(20題)61.若有下面說(shuō)明和定義:
structtest
{intm1;charm2;floatm3;
unionuu(charu1[5];intu2[2];)ua;
}myaa;
則sizeof(structtest)的值是()。
A)20B)16
C)14D)9
62.
已知有如下結(jié)構(gòu)體:
structsk
{inta;
floatb;
}data,*p;
若有P=&data,則對(duì)data的成員a引用正確的是()。
A.(*p).data.a(chǎn)B.(*p).a(chǎn);C.p->data.a(chǎn)D.p.data.a(chǎn)
63.下面不屬于軟件設(shè)計(jì)原則的是()。
A.抽象B.模塊化C.自底向上D.信息隱蔽
64.若有定義“intb[8],*p=b;”,則p+6表示()。
A.數(shù)組元素b[6]的值B.數(shù)組元素b[6]的地址C.數(shù)組元素b[7]的地址D.數(shù)組元素b[0]的值加上6
65.
66.
67.
68.以下關(guān)于指針概念不正確的是()。
A.指針變量可以用整數(shù)賦值,但不可以用浮點(diǎn)數(shù)賦值
B.一個(gè)變量的地址稱(chēng)為該變量的指針,一個(gè)指針變量只能指向同一類(lèi)型的變量
C.只有同一類(lèi)型的變量地址才能放到指向該類(lèi)型變量的指針變量之中
D.只能將地址賦給指針變量
69.
70.
有以下結(jié)構(gòu)體說(shuō)明和變量的定義,且指針P指向變量a,指針q指向變量b,則不能把結(jié)點(diǎn)b連接到結(jié)點(diǎn)a之后的語(yǔ)句是()。
structnode
{chardata;
structnode*next:
}a,b,*p=&a,*q=&b;
A.a.next=q;B.P.next=&b;C.p->next=&b;D.(*p).next=q;
71.
72.
73.
74.
下列程序的輸出結(jié)果是()。
#include<stdio.h>
intfun(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
75.
76.
77.有以下程序
78.第
34
題
若有如下語(yǔ)句
intx=3;
do{printf("%d\n",x-=2);}
while(!(--x));
則上面程序段
A.輸出的是1B.輸出的是1和-2C.輸出的是3和0D.是死循環(huán)
79.
80.有以下程序#includemain{inty=9;for(;y>0;y--)if(y%3==0)printf("%d",--y);}程序的運(yùn)行結(jié)果是()。A.741B.963C.852D.875421
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是逐個(gè)比較str1,str2兩個(gè)字符串對(duì)應(yīng)位置中的字符,把比ASCⅡ值大或相等的字符依次存放到str數(shù)組中,形成一個(gè)新的字符串。
例如,str1中的字符串為fshADfg,str2中的字符串為sdAEdi,則str中的字符串應(yīng)為sshEdig。
請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,M名學(xué)生的數(shù)據(jù)已在主函數(shù)中放人結(jié)構(gòu)體數(shù)組stu中,請(qǐng)編寫(xiě)函數(shù)proc(),它的功能是:把指定分?jǐn)?shù)范圍之外的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,分?jǐn)?shù)范圍之外的學(xué)生人數(shù)由函數(shù)值返回。
例如,輸入的分?jǐn)?shù)是70和79,則應(yīng)當(dāng)把分?jǐn)?shù)低于70和高于79的學(xué)生數(shù)據(jù)輸出,不包含70分和79分的學(xué)生數(shù)據(jù)。主函數(shù)中把70放在low中,把79放在heigh中。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填人所編寫(xiě)的若干語(yǔ)句。
試題程序:
參考答案
1.D
2.C解析:C語(yǔ)句必須以分號(hào)結(jié)束,選項(xiàng)A是正確的。復(fù)合語(yǔ)句在語(yǔ)法上被看作一條語(yǔ)句,選項(xiàng)B也是正確的??照Z(yǔ)句也算是一條語(yǔ)句,因此如果空語(yǔ)句出現(xiàn)在條件或者循環(huán)語(yǔ)句中,一樣會(huì)被當(dāng)作條件子句或者循環(huán)體來(lái)看待,所以選項(xiàng)c是錯(cuò)誤的。賦值表達(dá)式末尾加分號(hào)就構(gòu)成賦值語(yǔ)句,選項(xiàng)D正確。故本題應(yīng)該選擇C。
3.A
4.A解析:本題考查的是算術(shù)運(yùn)算符的各種運(yùn)算,x=-3+4*5-6=-3+20-6=11;x=3+4%5-6=3+4-6=1;x=-3+4%6/5=-3+4/5=-3+0=-3;x=(7+6)%5/2=13%5/2=3/2=1。故正確答案為選項(xiàng)A)。
5.D\n數(shù)組指針是指向數(shù)組的一個(gè)指針,int(*pt)[3]表示一個(gè)指向3個(gè)int元素的數(shù)組的一個(gè)指針。
\n
6.A本題中,fun函數(shù)第1次調(diào)用為fun(8,fun(5,6))。因?yàn)閒un(5,6)的返回值為5,所以第2次調(diào)用為fun(8,5),即返回值為6。故本題答案為A選項(xiàng)。
7.C
8.A解析:f(4+4)/f(2+2)=4+4*4+4/2+2*2+2=28。
9.A
10.D在main函數(shù)中,調(diào)用f(a,b)函數(shù)返回3,調(diào)用f(a,c)函數(shù)返回6,所以外層調(diào)用f(f(a,b),f(a,c)),即調(diào)用f(3,6)函數(shù)返回9。故本題答案為D選項(xiàng)。
11.D關(guān)系R與s經(jīng)交運(yùn)算后所得到的關(guān)系是由那些既在R內(nèi)又在S內(nèi)的共有元組組成的,記為RnS。
12.C
13.B宏定義在編譯程序時(shí)做了一個(gè)簡(jiǎn)單的替換,所以B選項(xiàng)正確。故本題答案為B選項(xiàng)。
14.D
15.D\n用來(lái)存放字符量的數(shù)組稱(chēng)為字符數(shù)組。字符數(shù)組也可以是二維或多維數(shù)組,對(duì)一個(gè)字符數(shù)組,如果不作初始化賦值,則必須說(shuō)明數(shù)組長(zhǎng)度,還可用printf函數(shù)和scarlf函數(shù)一次性輸出/輸入一個(gè)字符數(shù)組中的字符串,而不必使用循環(huán)語(yǔ)句逐個(gè)地輸入/輸出每個(gè)字符。通常用一個(gè)字符數(shù)組來(lái)存放一個(gè)字符串。所以D選項(xiàng)不正確。
\n
16.D解析:本程序主要考查遞歸函數(shù)。fun(7),首先將參數(shù)代入函數(shù),因?yàn)?7/2)>1,所以執(zhí)行f(3),以此類(lèi)推直到f(1.5),(1.5/2)<1,所以執(zhí)行打印函數(shù),此時(shí)x值為3,然后退出f(1.5)返回f(3),打印x值即7。所以選D。
17.BB【解析】只有B選項(xiàng)369可以用無(wú)符號(hào)整數(shù)來(lái)表示和存儲(chǔ)。A選項(xiàng)一369有負(fù)號(hào),選項(xiàng)C0.369是小數(shù)都不能用無(wú)符號(hào)整數(shù)類(lèi)存儲(chǔ)。選項(xiàng)D是一個(gè)整數(shù)集合得用數(shù)組來(lái)存儲(chǔ)。
18.C
19.C解析:本題考查字符串比較函數(shù)strcmp()。調(diào)用形式:strcmp(s1,s2),其中s1、s2分別是字符串存儲(chǔ)區(qū)的首地址。函數(shù)功能:比較字符串str1和str2,當(dāng)str1<str2時(shí),返回值為負(fù)數(shù);當(dāng)str1=str2時(shí),返回0;當(dāng)str1>str2,返回值為正數(shù)(注意:不能使用關(guān)系運(yùn)算符比較兩個(gè)字符串的大小)。
20.A第1次for循環(huán),y的值為9,“y%3”的值為0,滿(mǎn)足if條件輸出“--y”,即先自減后輸出,所以輸出8;第2次for循環(huán),y的值為7,“y%3”的值為1,不滿(mǎn)足if條件,不執(zhí)行printf語(yǔ)句;第3次for循環(huán),y的值為6,“y%3”的值為0,滿(mǎn)足if條件輸出“--y”,即先自減后輸出,所以輸出5;第4次for循環(huán),y的值為4,不滿(mǎn)足if條件,不執(zhí)行printf語(yǔ)句;第5次for循環(huán),y的值為3,滿(mǎn)足if條件,輸出2;第6次for循環(huán),y的值為1,不滿(mǎn)足if條件,不執(zhí)行printf語(yǔ)句。故本題答案為A選項(xiàng)。
21.3123,1,2解析:分析程序,第一個(gè)if句,a=1,b=2,控制條件a<b成立,則交換a、b的值,此時(shí)a=2,b=1。第二個(gè)if語(yǔ)句,a=2,c=3,控制條件a<c成立,則交換a、c的值,此時(shí)a=3,c=2。
22.246
23.相鄰相鄰
24.77解析:本題考查英文字母ASCII碼值的概念。字符參與運(yùn)算的值是其對(duì)應(yīng)的ASCII碼,字符H的ASCII碼為72,A的ASCII碼為65,0的ASCII碼為48,所以a=72-65+48=55,ASCII碼值為55的字符是7。
25.33解析:這里:b-5=4,a-=4之后a的值為6,并把它賦給c。此時(shí)b的值并未被改變。在第2個(gè)表達(dá)式中,也只有賦值表達(dá)式b=3改變了b的值。所以?xún)尚姓Z(yǔ)句執(zhí)行完畢,b的值應(yīng)該為3。
26.101,0解析:與運(yùn)算兩邊的語(yǔ)句必須同時(shí)為真時(shí),結(jié)果才為真。當(dāng)執(zhí)行完if((++a<0)&&!(b--<=0))時(shí),a,b的值已經(jīng)發(fā)生了變化。
27.外模式外模式解析:數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式分別是內(nèi)模式、概念模式和外模式。其中,物理模式給出了數(shù)據(jù)庫(kù)的物理存儲(chǔ)結(jié)構(gòu)和存取方法;概念模式是數(shù)據(jù)庫(kù)系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述;外模式是用戶(hù)的數(shù)據(jù)視圖,也就是用戶(hù)所見(jiàn)到的數(shù)據(jù)模式。
28.fopenfopen解析:函數(shù)fopen的原型為FILE*fopen(char*filename,char*mode),功能為以mode指定的方式打開(kāi)名為filename的文件;函數(shù)fseek的原型為intfseek(FILE*fp,longoffset,intbase),功能為將fp所指向的文件的位置指針移到以base所指出的位置為基準(zhǔn),offset為位移量的位置;函數(shù)ftell的原型為longftell(FILE*fp),功能為返回fp所指向的文件中當(dāng)前的讀寫(xiě)位置;函數(shù)fclose的原型為intfclose(FILE*fp),功能為關(guān)閉fp所指的文件,釋放文件緩沖區(qū)。
29.0'或0或NULLn++或++n或n=n+1或n+=10'或0或NULL\r\nn++或++n或n=n+1或n+=1
30.自頂向下自頂向下解析:在程序設(shè)計(jì)時(shí),應(yīng)先考慮總體,后考慮細(xì)節(jié),逐步使問(wèn)題具體化,對(duì)復(fù)雜的問(wèn)題,應(yīng)該設(shè)計(jì)一些子目標(biāo)作為過(guò)渡,上述方法概括為:自頂向下,逐步細(xì)化。
31.pa[i]avg/n
32.b[j][i]=a[i][j]b[j][i]=a[i][j]解析:本題考查二維數(shù)組的基本知識(shí)。它是要將一個(gè)二維數(shù)組,的行和列元素互換后存放到另一個(gè)二維數(shù)組b中,只要將數(shù)組a的行標(biāo)和列標(biāo)互換,然后賦給數(shù)組b即可。
33.x=1y=0。x=1,y=0。解析:本題程序的主體部分是switch語(yǔ)句的嵌套結(jié)構(gòu),當(dāng)變量a的值為0時(shí),在第一層switch-case語(yǔ)句中,沒(méi)有匹配的case分支。因此,x和y的值沒(méi)有變化,仍然是1和0。
34.x+=1;
35.B66B66解析:字符B的ASCII碼值為66,因此,按%c形式輸出B,按%d形式輸出66,輸出結(jié)果為:B66。
36.邏輯邏輯解析:數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱(chēng)為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)或物理結(jié)構(gòu)。
37.軟件開(kāi)發(fā)
38.解析:本題考查的是鏈表這一數(shù)據(jù)結(jié)構(gòu)對(duì)結(jié)構(gòu)體變量中數(shù)據(jù)的引用。鏈表的特點(diǎn)是結(jié)構(gòu)體變量中有兩個(gè)域,一個(gè)是數(shù)據(jù),另一個(gè)是指向該結(jié)構(gòu)體變量類(lèi)型的指針,用以指明鏈表的下一個(gè)結(jié)點(diǎn)。
39.元組元組解析:一個(gè)關(guān)系表中的行稱(chēng)為元組,列稱(chēng)為屬性。
40.時(shí)間時(shí)間解析:算法的復(fù)雜度主要指時(shí)間復(fù)雜度和空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量;算法的空間復(fù)雜度,一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。
41.C解析:只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用break語(yǔ)句。當(dāng)break出現(xiàn)在循環(huán)體的switch語(yǔ)句體內(nèi)時(shí),其作用只是跳出該switch語(yǔ)句體,并不能中止循環(huán)體的執(zhí)行。若想強(qiáng)行中止循環(huán)體的執(zhí)行,可以在循環(huán)體中,但并不在switch語(yǔ)句中設(shè)置break語(yǔ)句,滿(mǎn)足某種條件,則跳出本層循環(huán)體。
42.C解析:C語(yǔ)言規(guī)定,只要在定義函數(shù)時(shí)不進(jìn)行存儲(chǔ)類(lèi)型的顯式說(shuō)明,函數(shù)的存儲(chǔ)類(lèi)型就隱含為外部類(lèi)型,即extern型,外部類(lèi)型允許其他文件中的函數(shù)調(diào)用。
43.C解析:本題定義了一個(gè)二維數(shù)組a,一個(gè)含有3個(gè)元素的指針數(shù)組ptr和一個(gè)指針變量p,并使指針數(shù)組和指針變量p指向數(shù)組a。
44.A解析:在選項(xiàng)A)中,因?yàn)?a=0,所以關(guān)系表達(dá)式!a==1的值為0,又因?yàn)檫壿嬇c運(yùn)算符“&&”兩邊的表達(dá)式只要一個(gè)等于零,則整個(gè)表達(dá)式為零,所以選項(xiàng)A)正確。在選項(xiàng)B)中,關(guān)系表達(dá)式a<b為真,表達(dá)式(a<b)&&!c為假,而表達(dá)式(a<b)&&!c‖1為真,所以整個(gè)表達(dá)式的值為真。選項(xiàng)C)中,a&&b的結(jié)果為真。在選項(xiàng)D)中,a‖(b+b)&&(c-a)的結(jié)果為真。
45.B解析:本題主要考查邏輯運(yùn)算。對(duì)于正確判斷kk為大寫(xiě)字母的表達(dá)式,當(dāng)表達(dá)式為真時(shí)kk為大寫(xiě)字母。大寫(xiě)字母的ASCII代碼值在65~90之間,對(duì)應(yīng)的小寫(xiě)字母的ASCII代碼值在97~122之間,因此選項(xiàng)A、C都是正確的表達(dá)式。選項(xiàng)D中isalpha(kk)用于判斷kk是否是字母,ASCII代碼值小于91的字母為大寫(xiě)字母,因此選項(xiàng)D是正確的表達(dá)式。選項(xiàng)B中的表達(dá)式可以轉(zhuǎn)換為kk<‘A’&&.kk>‘Z’,無(wú)法判斷kk中的值是否為大寫(xiě)字母。
46.A解析:本題考查用strlen函數(shù)計(jì)算字符串長(zhǎng)度的方法。該字符串中包含的字符是:\'\\t\'(跳格符)、\'\\'\'(雙引號(hào))、\'\\065\'(ASCII值為八進(jìn)制065,也即+進(jìn)制為51的字符)、\'\\xff\'(ASCII值為+六進(jìn)制ff,也即+進(jìn)制為255的字符)、\'\\n\'(換行符)。
47.B解析:本題目中函數(shù)f的返回值為結(jié)構(gòu)類(lèi)型的指針,函數(shù)的四個(gè)形參分別為:t1為整型,t2為整型的指針,t3為structa類(lèi)型,t4為structa類(lèi)型的指針。在進(jìn)行函數(shù)調(diào)用的時(shí)候,函數(shù)的實(shí)參必須要與形參說(shuō)明相對(duì)應(yīng),函數(shù)的返回值也要賦給相應(yīng)類(lèi)型的變量。選項(xiàng)A)函數(shù)的返回值不能賦給一個(gè)常量;選項(xiàng)C)&(i+2)沒(méi)有什么意義;選項(xiàng)D)返回值沒(méi)有傳遞給任何變量,向函數(shù)傳遞的應(yīng)該是structa類(lèi)型的指針,可是傳的卻是變量。
48.A
49.D解析:考查結(jié)構(gòu)體成員變量的引用方法??捎媒Y(jié)構(gòu)體變量名.數(shù)據(jù)成員名或者結(jié)構(gòu)體指針->數(shù)據(jù)成員名兩種方法來(lái)引用。結(jié)構(gòu)體類(lèi)型的變量、數(shù)組和指針變量的定義。
50.C解析:本題考查對(duì)數(shù)組的理解。C語(yǔ)言規(guī)定只能逐個(gè)引用數(shù)組元素,而不能一次引用整個(gè)數(shù)組。對(duì)于字符數(shù)組,可以將整個(gè)字符串一次輸入或輸出。所以,選項(xiàng)C)不正確。
51.C解析:本題中首先定義了結(jié)構(gòu)體類(lèi)型STU,該結(jié)構(gòu)體由一個(gè)長(zhǎng)度為10的字符數(shù)組、兩個(gè)整型變量num和Score組成。在主函數(shù)中,定義了一個(gè)長(zhǎng)度為5的結(jié)構(gòu)體數(shù)組s并賦初值,一個(gè)指針數(shù)組p和一個(gè)指針變量t,接著將數(shù)組s中各元素的地址依次賦給指針數(shù)組p中的各成員。然后通過(guò)兩個(gè)for循環(huán)將數(shù)組p按Score的值從小到大的順序排列。因此最后輸出的p[1]->Score的值為550,而數(shù)組s[1].Score的值為580。
52.B解析:本程序首先定義了靜態(tài)字符數(shù)組a,然后將指針p指向數(shù)組a的首地址。
第1次for循環(huán),p=a,p指向數(shù)組的第1個(gè)元素,*p是取指針p所指地址的內(nèi)容,輸出1;第2次for循環(huán),p=p+2,則p指向數(shù)組的第3個(gè)元素,*p是取指針p所指地址的內(nèi)容,輸出n;第3次for循環(huán),p=p+2,則p指向數(shù)組的第5個(gè)元素,*p是取指針p所指地址的內(nèi)容,輸出u;第4次for循環(huán),p=p+2,則p指向數(shù)組的第7個(gè)元素,*p是取指針p所指地址的內(nèi)容,輸出g,結(jié)束循環(huán)。
53.C解析:通過(guò)for循環(huán)語(yǔ)句s=*(t+0)+*(t+2)+*(t+4)+*(t+6)+*(t+8)=1+3+5+7+9=25。
54.B解析:在對(duì)字符數(shù)組賦字符串值時(shí),系統(tǒng)會(huì)自動(dòng)在字符串的末尾加上一個(gè)字符串結(jié)束標(biāo)志“\\0”,故指向字符數(shù)組的指針p的*(p+4)的值為“\\0”。由于“\\0”的編碼值就是0,所以本題輸出為0。
55.B解析:本題考查C語(yǔ)言標(biāo)識(shí)符的命名.在C語(yǔ)言中,合法的標(biāo)識(shí)符由字母,數(shù)字和下劃線(xiàn)組成,并且第一個(gè)字符必須為字母或者下劃線(xiàn),long為C語(yǔ)言的保留字,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 商鋪土方回填施工方案
- 商品房現(xiàn)房買(mǎi)賣(mài)合同
- 貸款申請(qǐng)資料清單表
- 土地股權(quán)轉(zhuǎn)讓合同
- 合同協(xié)議書(shū)意向書(shū)
- 湖州路基換填施工方案
- 鋁格柵幕墻施工方案
- 隨州金屬氟碳漆施工方案
- 外墻干掛鋁塑板施工方案
- 黑龍江省黑河市龍西北高中名校聯(lián)盟2024-2025學(xué)年高一下學(xué)期開(kāi)學(xué)英語(yǔ)試題(原卷版+解析版)
- 術(shù)前肺功能評(píng)估的意義
- 項(xiàng)目精細(xì)化管理檢查整改報(bào)告范文
- 分布式文件系統(tǒng)
- 手槍的基礎(chǔ)射擊演示文稿
- 浮針療法的學(xué)習(xí)課件
- 12K101-1 軸流通風(fēng)機(jī)安裝
- 上海市中小學(xué)生語(yǔ)文學(xué)業(yè)質(zhì)量綠色指標(biāo)測(cè)試
- 消防預(yù)留預(yù)埋施工【優(yōu)質(zhì)方案】
- 兩篇古典英文版成語(yǔ)故事畫(huà)蛇添足
- GB/T 21739-2008家用電梯制造與安裝規(guī)范
- 2023年杭州市余杭區(qū)事業(yè)單位招聘筆試題庫(kù)及答案解析
評(píng)論
0/150
提交評(píng)論