版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021年江蘇省鎮(zhèn)江市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.設(shè)有定義intn=0,*p=&n,**q=&p;,則下列選項(xiàng)中正確的賦值語(yǔ)句是
A.p=1;B.*q=2;C.q=p;D.*p=5;
2.串的長(zhǎng)度是______。A.A.串中不同字符的個(gè)數(shù)
B.串中不同字母的個(gè)數(shù)
C.串中所含字符的個(gè)數(shù)且字符個(gè)數(shù)大于零
D.串中所含字符的個(gè)數(shù)
3.以下程序擬實(shí)現(xiàn)計(jì)算s=1+2*2+3*3+…+n*n+…,直到s>1000為止。#include<stdio.h>main(){ints,n;s=1;n=1;do{n=n+1;s=s+n*n;}while(s>1000);printf(“s=%d\n”,s);}程序運(yùn)行后,不能得到正確結(jié)果,以下修改方案正確的是()。
A.把“while(s>1000);”改為“while(s<=1000);”
B.把“s=1”改為“s=0”
C.把“n=1;”改為“n=0;”
D.把“n=n+1”改為“n=n*n”
4.計(jì)算機(jī)高級(jí)語(yǔ)言程序的運(yùn)行方法有編譯執(zhí)行和解釋執(zhí)行兩種,以下敘述中正確的事()。
A.C語(yǔ)言程序僅可以編譯執(zhí)行B.C語(yǔ)言程序僅可以解釋執(zhí)行C.C語(yǔ)言程序既可以編譯執(zhí)行又可以解釋執(zhí)行D.以上說(shuō)法都不對(duì)
5.數(shù)據(jù)表A中有10000個(gè)元素,如果僅要求求出其中最大的10個(gè)元素,則采用()最節(jié)省時(shí)間。
A.堆排序B.希爾排序C.快速排序D.希爾排序
6.若有定義語(yǔ)句:“intx=12,y=8,z;”,在其后執(zhí)行語(yǔ)句“z=0.9+x/y;”,則z的值為()。A.1.9B.1C.2D.2.4
7.有以下程序:#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
8.假定已建立以下鏈表結(jié)構(gòu),且指針p和q已指向如圖所示的節(jié)點(diǎn)。則下列選項(xiàng)中可將q所指節(jié)點(diǎn)從鏈表中刪除并釋放該節(jié)點(diǎn)的語(yǔ)句組是()。
A.p->next=q->next;free(q);
B.p=q->next;free(q);
C.p=q;free(q);
D.(*p).next=(*q).next;free(p);
9.設(shè)棧S的初始狀態(tài)為空,6個(gè)元素入棧的順序?yàn)閑1,e2,e3,e4,e5和e6。若出棧的順序是e2,e4,e3,e6,e5,el,則棧s的容量至少應(yīng)該是()。
A.6B.4C.3D.2
10.表達(dá)式a+=a-=a=9的值是()。
A.9B.-9C.18D.0
11.有以下程序:#include<stdio,h>#include<string,h>struetSTU{intnam;floatTotalSeore;};voidf(strnctSTUp){structSTUs[2]={{20044,550},{20045,537}};p.num=s[1].num;p.TotalScore=s[1].TotalScore;main(){structSTUs[2]={{20041,703},{20042,580}};f(s[0]);printf("%d%3.Of\n",s[0].num,s[0].TotalSeore);}程序運(yùn)行后的輸出結(jié)果是()。
A.20045537B.20044550C.20042580D.20041703
12.下列選項(xiàng)不符合良好程序設(shè)計(jì)風(fēng)格的是()。
A.源程序要文檔化B.數(shù)據(jù)說(shuō)明的次序要規(guī)范化C.避免濫用goto語(yǔ)句D.模塊設(shè)計(jì)原則是高耦合、高內(nèi)聚
13.對(duì)于C語(yǔ)言的函數(shù),下列敘述中正確的是()。
A.函數(shù)的定義不能嵌套,但函數(shù)調(diào)用可以嵌套
B.函數(shù)的定義可以嵌套,但函數(shù)調(diào)用不能嵌套
C.函數(shù)的定義和調(diào)用都不能嵌套
D.函數(shù)的定義和調(diào)用都可以嵌套
14.有以下程序:
#include<stdio.h>
voidfun(char*t,char*s)
{while(*t!=0)t++;
while((*t++=*s++)!=0);
}
main()
{charss[10]="acc",aa[10]="bbxxyy";
fun(ss,aa);
printf("%s,%s\n",ss,aa);
}
程序運(yùn)行結(jié)果是A.A.accxyy,bbxxyy
B.acc,bbxxyy
C.accxxyy,bbxxyy
D.accbbxxyy,bbxxyy
15.一個(gè)C語(yǔ)言程序總是從()開(kāi)始執(zhí)行。
A.書寫順序的第一函數(shù)B.書寫順序的第一條執(zhí)行語(yǔ)句C.主函數(shù)main()D.不確定
16.
17.有下列函數(shù)定義:fun(floath){printf("%f,%f\n",h,h*h);)該函數(shù)的類型是()。A.int類型B.float類型C.void類型D.函數(shù)無(wú)類型說(shuō)明,定義有錯(cuò)
18.若有序表的關(guān)鍵字序列為(b,c,d,e,f,g,q,r,s,t),則在二分查找關(guān)鍵字b的過(guò)程中,先后進(jìn)行的關(guān)鍵字依次為()
A.f,c,BB.f,d,BC.g,c,BD.g,d,B
19.
有以下結(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;
20.有以下程序:#include<stdio.h>#include<string.h>main(){charstr[][20]={“One*World”,“One*Dream!”},*p=str[1];printf(“%d,”,strlen(p));printf(“%s\n”,p);}程序運(yùn)行后的輸出結(jié)果是()。
A.10,One*Dream!
B.9,One*Dream!
C.9,One*World
D.10,One*World
二、2.填空題(20題)21.閱讀下列程序,則在執(zhí)行后,程序的運(yùn)行結(jié)果為#include"stdio.h"#include"string.h"main(){chara[30]="nicetomeetyou!";strcpy(a+strlen(a)/2,"you");printf("%s\n",a);}
22.下面程序的運(yùn)行結(jié)果是【】。
main()
{unsigneda=0112,x;
x=a>>3;
printf("x=%o",x);
}
23.以下程序中,fun函數(shù)的功能足求3行4列二維數(shù)組每行尢素中的最大值。請(qǐng)?zhí)羁?。voidfun(int,int,int(*)[4],int*);main(){inta[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i;fun(3,4,a,B);for(i=0;j<3;i++)printf("%4d",b[i]);printf("\n");}voidfun(intm,intn,intar[][4],int*br){inti,j,x;for(i=0;i<m;i++){x=ar[i][0];for(j=0;j<n;j++)if(())x=ar[i][j];br[i]=x;}}
24.以下程序的輸出結(jié)果是()。#include<stdio.h>main(){inti=10,j=0;do{j=j+i;i--;}while(i>5);printf("%d\n",j);}
25.下面函數(shù)的功能是將一個(gè)字符串的內(nèi)容顛倒過(guò)來(lái),請(qǐng)?zhí)羁铡?/p>
voidfun(charstr[])
{inti,j,k;
for(i=0,j=【】;i<j;i++,j--)
{k=str[i];
str[i]=str[j];
str[j]=k;}}
26.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。
27.以下函數(shù)的功能是計(jì)算請(qǐng)?zhí)羁铡?/p>
doublefun(intn)
{doubles=0.0,fac=1.0;inti;
for(i=1;i<=n;i++)
{fac=fac【】;
s=s+fac;
}
returns;
}
28.一個(gè)類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個(gè)方法提高了軟件的【】。
29.有以下程序段,且變量已正確定義和賦值
for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k+1));
printf("s=%f\n\n",s);
請(qǐng)?zhí)羁?使下面程序段的功能與之完全相同
s=1.0;k=1;
while(【】){s=s+1.0/(k*(k+1));【】;}
printf("s=%f\n\n",s);
30.下面程序的運(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);
}
31.已有定義:intx;,執(zhí)行以下語(yǔ)句后的輔出結(jié)果是【】。
x=11/3;y=5;
printf("%%d,%%%d\n",x,y);
32.以下程序的功能是從名為filea.dat的文本文件中逐個(gè)讀入字符并顯示在屏幕上。請(qǐng)?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);
}
33.以下程序的作用是:從名為filea.dat的文本文件中逐個(gè)讀入字符并顯示在屏幕上。請(qǐng)?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);
}
34.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,類描述的是具有相似性質(zhì)的一組【】。
35.數(shù)據(jù)結(jié)構(gòu)分為線性數(shù)據(jù)結(jié)構(gòu)和非線性數(shù)據(jù)結(jié)構(gòu),帶鏈的隊(duì)列屬于()。
36.以下程序段的運(yùn)行結(jié)果是()。#include<stdio.h>main(){intx=2,y=1:switch(x){case1:switch(y){case0:printf("x=2,y=1\n");break;case1:printf("y=1\n");break;}case2:printf("x=2\n");}}
37.下列程序的輸出結(jié)果是______。
main()
{inta=2,b=4,c=6;
int*p1=&a,*p2,&b,*p;
*(p=&c)=*p1*(*p2);
printf("%d\n",c);
}
38.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{charm;
m='B'+32;printf("%c\n",m);
}
39.若有以下定義,則不移動(dòng)指針p,且通過(guò)指針p引用值為98的數(shù)組元素的表達(dá)式是______。
intw[10]={23,54,10,33,47,98,72,80,61},*p=w;
40.下列程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
main()
{inta=10,b=3;
printf("%d,",a%b);
printf("%d,",(a-b,a+b));
printf("%d\n",a-b?a-b:a+b);
}
三、1.選擇題(20題)41.以下程序段的輸出結(jié)果是()。inta=1234;printf("%2d\n",a);
A.12B.34C.1234D.提示出錯(cuò),無(wú)結(jié)果
42.下列合法的聲明語(yǔ)句是()。
A.int_abc=50;
B.doubleint=3+5e2.5;
C.longdo=1L:
D.float3_asd=3e-3;
43.數(shù)據(jù)庫(kù)設(shè)計(jì)包括兩個(gè)方面的設(shè)計(jì)內(nèi)容,它們是()
A.概念設(shè)計(jì)和邏輯設(shè)計(jì)B.模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)C.內(nèi)模式設(shè)計(jì)和物理設(shè)計(jì)D.結(jié)構(gòu)特性設(shè)計(jì)和行為特性設(shè)計(jì)
44.以下四個(gè)程序中,完全正確的是()。
A.#include<stdio.h>
B.#include<stdio.h>main();main(){/*programming*/{/*/programming/*/printf("programming!\n");}printf("programming!\n");}
C.#include<stdio.h>
D.include<stdio.h>main()main(){/*/*programming*/*/{/*programming*/printf("programming!\n");}printf("programming!\n");}
45.假設(shè)在turboc2.0采用small模式編譯如下程序main(){chara[4]={'a','b'};char*b="abc";printf("%d,%d",sizeof(a),sizeof(b));}其輸出結(jié)果為_(kāi)_____。
A.4,2B.4,4C.4,3D.2,2
46.若有以下程序段(n所賦的是八進(jìn)制數(shù))intm=32767,n=032767;printf("%d,%O\n",m,n);執(zhí)行后輸出結(jié)果是
A.32767,32767B.32767,032767C.32767,77777D.32767,077777
47.有下列程序:
main()
{inty=20;
do{y--;}while(--y);
phntf("%d\n",y--);
}
當(dāng)執(zhí)行程序時(shí),輸出的結(jié)果是()。
A.-1B.1C.4D.0
48.有以下程序main(){intx,y,z;x=y=1;z=X++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序運(yùn)行后的輸出結(jié)果是
A.2,3,3B.2,3,2C.2,3,1D.2,2,1
49.以下敘述中正確的是()。
A.C語(yǔ)言的源程序不必通過(guò)編譯就可以直接運(yùn)行
B.C語(yǔ)言中的每條可執(zhí)行語(yǔ)句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令
C.C語(yǔ)言程序經(jīng)編譯形成的二進(jìn)制代碼可以直接運(yùn)行
D.C語(yǔ)言中的函數(shù)不可以單獨(dú)進(jìn)行編譯
50.若有說(shuō)明inti,j=2,*p&i;,則能完成i=j賦值功能的語(yǔ)句是______。
A.i=*p;B.*p=*&j;C.i=&j;D.i=**p;
51.若有定義:inta=4,b=5;floatx=3.4,y=2.1;,則下列表達(dá)式的值為()。(float)(a+B)/2+(int)x%(int)y
A.5.5B.55C.5.5D.55
52.下列程序的運(yùn)行結(jié)果為()。
#include<stdio.h>
voidabc(char*str)
{inta,b,i,j;
for(i=j(luò)=0;str[i]!='\0';i++)
if(str[i]!='a')
str[j++]=str[j];
str[j]='\0';
}
voidmain()
{charStr[]="abcdef';
abc(str);
printf("str[]=%s",str);
}
A.str[]=bcdefB.str[]=abcdefC.str[]=aD.str[]=ab
53.有以下程序
#include<string.h>
main()
{charp[]={′a′,′b′,′c′},q[10]={′a′,′b′,′c′};
printf("%d%d\n",strlen(p),strlen(q));}
以下敘述中正確的是
A.在給p和q數(shù)組置初值時(shí),系統(tǒng)會(huì)自動(dòng)添加字符串結(jié)束符,故輸出的長(zhǎng)度都為3
B.由于p數(shù)組中沒(méi)有字符串結(jié)束符,長(zhǎng)度不能確定,但q數(shù)組中字符串長(zhǎng)度為3
C.由于q數(shù)組中沒(méi)有字符串結(jié)束符,長(zhǎng)度不能確定,但p數(shù)組中字符串長(zhǎng)度為3
D.由于p和q數(shù)組中都沒(méi)有字符串結(jié)束符,故長(zhǎng)度都不能確定
54.以下程序的輸出結(jié)果是main(){intc=35;printf("%d\n",c&c);}
A.0B.70C.35D.1
55.下列敘述中錯(cuò)誤的是()。
A.在C語(yǔ)言中,函數(shù)中的自動(dòng)變量可以賦初值,每調(diào)用一次賦一次初值
B.在C語(yǔ)言中,在調(diào)用函數(shù)時(shí),實(shí)參和對(duì)應(yīng)形參在類型上只需賦值兼容
C.在C語(yǔ)言中,外部變量的隱含類型是自動(dòng)存儲(chǔ)類別
D.在C語(yǔ)言中,函數(shù)形參的存儲(chǔ)類型是自動(dòng)(auto)類型的變量
56.以下各選項(xiàng)企圖說(shuō)明—種新的類型名,其中正確的是______。
A.typedefviint;
B.typedefV2=int;
C.typedefintv3;
D.lypedefv4:int
57.執(zhí)行以下的程序段后,m的值是______。inta[2][3]={{1,2,3},{4,5,6}};intm,*p;p=&a[0][0];m=p[4];
A.4B.5C.3D.不確定
58.在面向?qū)ο蠓椒ㄖ?,一個(gè)對(duì)象請(qǐng)求另一個(gè)對(duì)象為其服務(wù)的方式是通過(guò)發(fā)送()。
A.調(diào)用語(yǔ)句B.命令C.口令D.消息
59.下列二維數(shù)組初始化語(yǔ)句中,正確且與語(yǔ)句floata[][3]={0,3,8,0,9};等價(jià)的是
A.floata[2][]={{0,3,8},{0,9}};
B.floata[][3]={0,3,8,0,9,0};
C.floata[][3]={{0,3},{8,0},{9,0}};
D.floata[2][]={{0,3,8},{0,9,0}};
60.設(shè)在C語(yǔ)言中,float類型數(shù)據(jù)占4個(gè)字節(jié),則double類型數(shù)據(jù)占()個(gè)字節(jié)。
A.1B.2C.8D.4
四、選擇題(20題)61.結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括()。
A.順序結(jié)構(gòu)B.選擇(分支)結(jié)構(gòu)C.GOT0跳轉(zhuǎn)D.重復(fù)(循環(huán))結(jié)構(gòu)
62.在數(shù)據(jù)管理技術(shù)發(fā)展的三個(gè)階段中,數(shù)據(jù)共享最好的是()。
A.人工管理階段B.文件系統(tǒng)階段C.數(shù)據(jù)庫(kù)系統(tǒng)階段D.三個(gè)階段相同
63.下列敘述中正確的是()。
A.為了建立一個(gè)關(guān)系,首先要構(gòu)造數(shù)據(jù)的邏輯關(guān)系
B.表示關(guān)系的二維表中各元組的每一個(gè)分量還可以分成若干數(shù)據(jù)項(xiàng)
C.一個(gè)關(guān)系的屬性名表稱為關(guān)系模式
D.一個(gè)關(guān)系可以包括多個(gè)二維表
64.
65.
66.
67.已定義以下函數(shù)
68.設(shè)有如下關(guān)系表:
則下列操作中,正確的是()。
A.T=R∩SB.T=R∪SC.T=R×SD.T=R/S
69.耦合性和內(nèi)聚性是對(duì)模塊獨(dú)立性度量的兩個(gè)標(biāo)準(zhǔn)。下列敘述中正確的是()。
A.提高耦合性降低內(nèi)聚性有利于提高模塊的獨(dú)立性
B.降低耦合性提高內(nèi)聚性有利于提高模塊的獨(dú)立性
C.耦合性是指一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度
D.內(nèi)聚性是指模塊間互相連接的緊密程度
70.
71.
以下程序的輸出結(jié)果是()。
voidfun(int*a,inti,inti)
{intt;
if(i<i)
{t=a[i[;a[i]=a[j];a[j]一t;
i++;j--;fun(a,i,j);
}
}
main
{intK[]={2,6,1,8},i;
fun(x,0,3);
for(i=0;i<1;i++)printf("%2d",x[i]);
printf("\n");
}
A.1,2,6,8B.8,6,2,1C.8,1,6,2D.8,6,1,2
72.
73.
74.計(jì)算機(jī)的內(nèi)存儲(chǔ)器比外存器()
A.價(jià)格便宜B.存儲(chǔ)容量大C.讀寫速度快D.讀寫速度慢
75.
76.
有下列程序:
fun(intX,inty){return(x+y);}
main
{inta=1,b=2,c=3,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d\n",sum);
}
執(zhí)行后的輸出結(jié)果是()。
A.6B.7C.8D.9
77.以下程序的輸出結(jié)果是()。
main()
{char*s="12134211";
intv1=0,v2=0,v3=0,v4=0,k;
for(k=0;s[k];k++)
switch(s[k])
{case’1’:v1++;
case’3’:v3++;
case’2’:v2++;
defaule:v4++;
}
printf("v1=%d,v2=%d,v3=%d,v4=%d\n,v1,v2,v3,v4);
}
A.v1=4,v2=2,v3=1,v4=1
B.v1=4,v2=9,v3=3,v4=1
C.v1=5,v2=8,v3=6,v4=1
D.v1=4,v2=7,v3=5,v4=8
78.
79.以下程序的主函數(shù)中調(diào)用了在其面前定義的fun函數(shù)#include<stdio.h>...main(){doublea[15],k;k=fun(a);...}則以下選項(xiàng)中錯(cuò)誤的fun函數(shù)首部是()。、A.doublefun(doublea[l5])
B.doublefun(double*a)
C.doublefun(doublea[])
D.doublefun(doublea)
80.
五、程序改錯(cuò)題(1題)81.下列給定的程序中,函數(shù)proc()的功能是:為一個(gè)偶數(shù)尋找兩個(gè)素?cái)?shù),這兩個(gè)素?cái)?shù)之和等于該偶數(shù),并將這兩個(gè)素?cái)?shù)通過(guò)形參指針傳回主函數(shù)。
請(qǐng)修改函數(shù)proc()中的錯(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)編寫函數(shù)proc(),該函數(shù)的功能是:把高于等于平均分的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,高于等于平均分的學(xué)生人數(shù)通過(guò)形參n傳回,平均分通過(guò)函數(shù)值返回。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語(yǔ)句。試題程序:
參考答案
1.D解析:選項(xiàng)A),B),C)的指針賦值表達(dá)方式都不正確,*p=5表達(dá)整數(shù)5放到指針p所指向的存儲(chǔ)單元中。注意:通過(guò)指針引用一個(gè)存儲(chǔ)單。
2.D解析:串的長(zhǎng)度指的是串中字符的個(gè)數(shù),且其字符個(gè)數(shù)可以為零。選項(xiàng)D正確。
3.A題目中程序不能實(shí)現(xiàn)預(yù)期功能是因?yàn)閣hile的循環(huán)條件錯(cuò)誤。選項(xiàng)B中把“s=1;”改為s=0;”,最終的結(jié)果“s=4”,與題目原意不同。選項(xiàng)C中把“n=1;”,改為“n=0;”最終的結(jié)果“s=2”,與題目原意不同。選項(xiàng)D中把“n=n+1;”改為“n=n*n;”,最終的結(jié)果“s=2”,與題目原意不同。選項(xiàng)A正確地修改了while循環(huán)條件,可以得到正確結(jié)果。故本題答案為A選項(xiàng)。
4.A解釋執(zhí)行是計(jì)算機(jī)語(yǔ)言的一種執(zhí)行方式。由解釋器現(xiàn)場(chǎng)解釋執(zhí)行,不生成目標(biāo)程序。如BASIC便是解釋執(zhí)行。一般解釋執(zhí)行效率較低,低于編譯執(zhí)行。而C程序是經(jīng)過(guò)編譯生成目標(biāo)文件然后執(zhí)行的,所以C程序是編譯執(zhí)行。
5.B
6.B此題考查除法運(yùn)算,根據(jù)先乘除后加減,有括號(hào)先算括號(hào)的原則,先計(jì)算x/y,即l2/8=1,所以z=0.9+1=1.9。但是Z是整型的,轉(zhuǎn)化一下取整除部分,結(jié)果Z=1
7.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)。
8.A其方法是將要?jiǎng)h除節(jié)點(diǎn)的上一個(gè)節(jié)點(diǎn)的next指向要?jiǎng)h除節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn),然后釋放將要?jiǎng)h除的節(jié)點(diǎn),所以選項(xiàng)A正確。故本題答案為A選項(xiàng)。
9.C
10.D解析:+=、-=、=等符號(hào)優(yōu)先級(jí)相同結(jié)合性是由右至左,所以選D。
11.D解析:函數(shù)f中定義了結(jié)構(gòu)體類型的變量P作為形參,在main函數(shù)中,將結(jié)構(gòu)體變量s[0]中的值傳給了形參變量P,在函數(shù)f中,雖然改變了p中的內(nèi)容,但其改變對(duì)main函數(shù)中s[0]的值不產(chǎn)生影響,所以main函數(shù)中輸出s[0]的數(shù)據(jù)仍然是main函數(shù)中初始化時(shí)的數(shù)據(jù)。
12.D在程序設(shè)計(jì)中,對(duì)于軟件設(shè)計(jì)中的模塊設(shè)計(jì)要保證高內(nèi)聚和低耦合,源程序要有文檔說(shuō)明,同時(shí)對(duì)程序中數(shù)據(jù)的說(shuō)明要規(guī)范化。而goto語(yǔ)句破壞程序的結(jié)構(gòu),要盡量避免使用。所以選項(xiàng)D不正確。
13.A
14.D
15.C
16.A
17.A本題考查函數(shù)值的類型,在函數(shù)定義時(shí),由于函數(shù)沒(méi)有說(shuō)明其類型,系統(tǒng)默認(rèn)一律自動(dòng)按整型(int)處理。
18.A
19.B
\n本題考查結(jié)構(gòu)體指針變量的賦值方法,要把結(jié)點(diǎn)b連接到結(jié)點(diǎn);l的后面,必須把b的地址給a的next指針。故8正確。
\n
20.A函數(shù)“strlen(char*s)”;計(jì)算字符串s的長(zhǎng)度,不包括‘\\0’在內(nèi)。p指向數(shù)組的第2個(gè)元素,因此“Strien(P)=10”,并輸出“one*Dream!”。故本題答案為A選項(xiàng)。
21.D
22.x=11x=11解析:在對(duì)無(wú)符號(hào)數(shù)的右移是高位補(bǔ)0。
23.x<ar[i][j]x<ar[i][j]解析:本題考查的是循環(huán)的嵌套。本題定義了二維數(shù)組a,存放3行4列的數(shù)組元素,定義了,一維數(shù)組b用于存放每行的最大數(shù)。存函數(shù)fun中,通過(guò)二重for循環(huán)求每行的最大數(shù),外層for循環(huán)用于控制行數(shù),內(nèi)層for循環(huán)用于控制列數(shù)。當(dāng)外層循環(huán)執(zhí)行一次時(shí),內(nèi)層循環(huán)則執(zhí)行4次,并求出了這一行的最大值x,最后將每一行求出最大值x賦值給存放最大值的數(shù)組br,故本題答案為x<ar[i][j]。
24.4040解析:分析程序,初始時(shí)i=10,j=0,這時(shí)do循環(huán)中的“i=j+i”
25.strlen(str)-1strlen(str)-1解析:程序中的for循環(huán)就是用來(lái)完成串反序的,所以應(yīng)該對(duì)循環(huán)的條件進(jìn)行初始化,所以在[18]應(yīng)該填入strlen(str)-1。注意,在串反序的時(shí)候,不應(yīng)該把串結(jié)束符‘\\0’也反序。
26.軟件開(kāi)發(fā)
27./i或*(1.O/i)或/(double)i/i或*(1.O/i)或/(double)i解析:主函數(shù)中首先定義了兩個(gè)double型的變量s和fac,并給它們賦初值為0.0和1.0,在函數(shù)中s和fac的作用是存放和以及要加到的那一項(xiàng)的值。通過(guò)分析可知,第i項(xiàng)的值可以由第i-1項(xiàng)的值得到,即第i項(xiàng)是第i-1項(xiàng)的值除以i。可見(jiàn)橫線處應(yīng)添“/i”或與它等價(jià)的表達(dá)式。
28.可重用性繼承的優(yōu)點(diǎn):相似的對(duì)象可以共享程序代碼和數(shù)據(jù)結(jié)構(gòu),從而大大減少了程序中的冗余,提高軟件的可重用性。
29.k<=nk++k<=n,k++解析:本題要求將一個(gè)for循環(huán)改成while循環(huán)。首先要保證循環(huán)條件相同,在for循環(huán)中,每次執(zhí)行循環(huán)之后,循環(huán)控制變量k都會(huì)加1,而while循環(huán)則沒(méi)有,故需在循環(huán)體中增加改變k數(shù)值的語(yǔ)句'k++;'\ue009。
30.66解析:經(jīng)過(guò)分析將遞歸函數(shù)寫成其數(shù)學(xué)表達(dá)式如下:
f(&a,n)=a[0]+f(&a[1],n-1)n>1
f(&a,n)=a[0]n=1
本題中定義了一個(gè)長(zhǎng)度為3的數(shù)組aa并初始化。接著調(diào)用遞歸函數(shù)f(),由上面的數(shù)學(xué)表達(dá)式以計(jì)算其返回值s=1+2+3=6,所以空白處應(yīng)該填6。
31.%d%3
32.“filea.dat”“r”“filea.dat”,“r”解析:考查對(duì)文件的操作。fopen函數(shù)的調(diào)用方式通常為fopen(文件名,使用文件方式)。本題中要求程序可以打開(kāi)filea.dat文件,并且是要讀取文件中的內(nèi)容,所以空白處應(yīng)當(dāng)填入'filea.dat','r'。
33.“filea.dat”“r”“filea.dat”,“r”解析:fopen函數(shù)的調(diào)用方式通常為fopen(文件名,使用文件方式)。本題中要求程序可以打開(kāi)filea.dat文件,并且是要讀取文件中的內(nèi)容,所以空白處應(yīng)當(dāng)填入'filea.dat','r'。
34.對(duì)象對(duì)象解析:將屬性、操作相似的對(duì)象歸為類,也就是說(shuō),類是具有共同屬性、共同方法的對(duì)象的集合。
35.線性數(shù)據(jù)結(jié)構(gòu)線性數(shù)據(jù)結(jié)構(gòu)解析:隊(duì)列的鏈?zhǔn)酱鎯?chǔ)稱為鏈隊(duì)列,它屬于線性數(shù)據(jù)結(jié)構(gòu)。
36.x=2
37.本程序定義了3個(gè)指針變量p1、p2、p,并且將a、b的地址分別賦給p1、p2,則*p1=a=2,*p2=b=4,所以表達(dá)式*p1*(*p2)的值是8。在賦值語(yǔ)句的左邊是*(p=&c),即使指針p指向了變量c,因而*(p)代表了c的存儲(chǔ)單元,賦值語(yǔ)句“*(p=&c)=*p1*(*p2);”是把整數(shù)8賦給了變量c。\r\n\r\n
38.BB解析:字符類型的數(shù)據(jù)在內(nèi)存中以相應(yīng)的ASCII碼存放,另外,字符數(shù)據(jù)還可以作為整數(shù)參加運(yùn)算。格式控制參數(shù)中的格式字符用以指定輸出項(xiàng)的數(shù)據(jù)類型和輸出格式,輸出字符與其對(duì)應(yīng)的輸出項(xiàng)的類型要一致。本題中,“b”的ASCII碼為98,字符類型m的ASCII碼為98+32=130,所以最后輸出為b。
39.*(p+5)或p[5]*(p+5)或p[5]
40.11371,13,7解析:本題考查3個(gè)知識(shí)點(diǎn):①余數(shù)的計(jì)算,題中的a=10,b=3,a%b=1;②(表達(dá)式1,表達(dá)式2)形式的結(jié)果為最后一個(gè)表達(dá)式的值,題中的a=10,b=3,(a-b,a+b)=a+b=13;③條件運(yùn)算符的使用,題中的a-b?a-b:a+b,判斷語(yǔ)句a-b=7不為0,所以執(zhí)行a-b,結(jié)果為7。
41.C解析:在C語(yǔ)言中,對(duì)于不同類型的數(shù)據(jù)用不同的格式字符,其中,“%d”是按整型數(shù)據(jù)的實(shí)際長(zhǎng)度輸出,“%md”中,m為指定的輸出字段的寬度,如果數(shù)據(jù)的位數(shù)小于m,則左端補(bǔ)以空格,若大于m,則按實(shí)際位數(shù)輸出。注意:格式輸入函數(shù)scanf的使用。
42.A解析:C語(yǔ)言規(guī)定,標(biāo)識(shí)符是由字母、數(shù)字或下劃線組成,并且它的第一個(gè)字符必須是字母或者下劃線。另外C語(yǔ)言規(guī)定了一些專用的標(biāo)識(shí)符,它們有著固定的含義,不能更改。int就是表達(dá)變量類型的標(biāo)識(shí)符,它不能再用做變量名和函數(shù)名,所以選項(xiàng)B)不正確。do是C語(yǔ)言的一個(gè)關(guān)鍵字,也不能再用做變量名和函數(shù)名,所以選項(xiàng)C)不正確。
43.A解析:模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)是概念設(shè)計(jì)的兩種方法。物理設(shè)計(jì)是根據(jù)特定的計(jì)算機(jī)系統(tǒng),對(duì)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)和存取方法進(jìn)行設(shè)計(jì),從而實(shí)現(xiàn)從邏輯結(jié)構(gòu)到物理結(jié)構(gòu)的轉(zhuǎn)換。從系統(tǒng)開(kāi)發(fā)的角度來(lái)看,結(jié)構(gòu)特性設(shè)計(jì)和行為特性-設(shè)計(jì)是數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)所具有的兩個(gè)特性。結(jié)構(gòu)特性的設(shè)計(jì),設(shè)計(jì)各級(jí)數(shù)據(jù)庫(kù)模式(靜態(tài)特性):行為特性的設(shè)計(jì),改變實(shí)體及其特性,決定數(shù)據(jù)庫(kù)系統(tǒng)的功能(動(dòng)態(tài)特性)。
44.B解析:選項(xiàng)A中的main()后面不能直接用分號(hào)。選項(xiàng)C中的注釋符使用不正確,編譯器會(huì)把從第一個(gè)“/*到第一個(gè)*/”之間的當(dāng)作注釋,最后一個(gè)“*/”會(huì)被作為程序代碼去編譯。選項(xiàng)D中的include前要加上#表示是預(yù)定義語(yǔ)句。
45.A解析:用small模式編譯,指針變量占2個(gè)字節(jié)。sizeof(array):數(shù)組名array代表數(shù)組本身,sizeof函數(shù)測(cè)出的是整個(gè)數(shù)組的大小。a數(shù)組的大小為4,b指針變量的大小為2。
46.A解析:本題考核的知識(shí)點(diǎn)是scanf()函數(shù)及printf()函數(shù)的輸出格式。程序在定義時(shí),以十進(jìn)制形式為m賦初值,以八進(jìn)制的形式為n賦初值.輸出的時(shí)候m以十進(jìn)制形式輸出,n以八進(jìn)制形式輸出,因此輸出的結(jié)果為32767和32767。所以,A選項(xiàng)為所選。
47.D解析:本題考查do…while循環(huán)。當(dāng)--寸是0(即y是0)時(shí)結(jié)束循環(huán),輸出y--是先輸出y的值再將y的值減1。
48.C解析:整型變量x、y的初值都為1,“x++,y++,++y”是一個(gè)逗號(hào)表達(dá)式,程序執(zhí)行“z=x++,y++,++y”后,x的值為2,y的值為3,z取豆號(hào)表達(dá)式中第二個(gè)表達(dá)式的值,為1。
49.B
50.B解析:指針是一種用來(lái)存放變量地址的特殊變量。本題中指針變量P用于存放整型變量i的地址,改變*P的值即為改變i的值。又因?yàn)椤?”和“*”兩個(gè)運(yùn)算符的優(yōu)先級(jí)別相同,按自右而左的方向結(jié)合,所以*&j先進(jìn)行&j運(yùn)算,得j的地址,再進(jìn)行*運(yùn)算,取所得地址里面的值,故*&j與j等價(jià)。
51.C解析:在計(jì)算(float)(a+b)/2時(shí),由于通過(guò)強(qiáng)制類型轉(zhuǎn)換將(a+b)轉(zhuǎn)換成了float型,所以應(yīng)先將2轉(zhuǎn)換成float型,再進(jìn)行計(jì)算,得4.500000。
在計(jì)算(int)x%(int)y時(shí),先將x和y通過(guò)強(qiáng)制類型轉(zhuǎn)換成int型,再進(jìn)行求余運(yùn)算,得1。
又因?yàn)?.500000是float型,所以將1和它相加時(shí),先將1換成float型,再計(jì)算,得到5.500000。
注意:類型轉(zhuǎn)換的一般規(guī)則是:低級(jí)類型服從高級(jí)類型,并進(jìn)行相應(yīng)的轉(zhuǎn)換。數(shù)據(jù)類型的級(jí)別由低到高的排序表示為:char→int→unsigned→long→float→double。
52.A解析:本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。通過(guò)函數(shù)abc的執(zhí)行,將字符串中的字母a去掉,保留剩下的。由于是通過(guò)指針調(diào)用,所以改變字符串的結(jié)果。
53.A解析:在給p和q數(shù)組賦初值時(shí),系統(tǒng)會(huì)自動(dòng)添加字符串結(jié)束符,從題目中可以看出數(shù)組p和q都有3個(gè)字符,所以長(zhǎng)度均為3。
54.C解析:本題考查按位與“&”。因?yàn)?&1=1,0&0=0,所以任何數(shù)與自身按位與,結(jié)果仍為此數(shù),不發(fā)生變化。
55.C解析:外部變量在編譯時(shí)由系統(tǒng)分配永久的內(nèi)存空間,所以外部變量的類型不是自動(dòng)存儲(chǔ)類別。
56.C解析:C語(yǔ)言中可以使用typedef來(lái)重新定義已有的數(shù)據(jù)類型,相當(dāng)于數(shù)據(jù)類型取個(gè)別名。
57.B解析:程序中定義了一個(gè)指向整型變量的指針變量,并對(duì)其賦值為二維整型數(shù)組a的首元素的地址。p[4]等階于*(p-4),即二維數(shù)組a中第四個(gè)元素的值,而a是一個(gè)2*3的二維數(shù)組,其第四個(gè)元素為a[1][1],即5。
58.D解析:面向?qū)ο蟮氖澜缡峭ㄟ^(guò)對(duì)象與對(duì)象間彼此的相互合作來(lái)推動(dòng)的,對(duì)象間的這種相互合作需要一個(gè)機(jī)制協(xié)助進(jìn)行,這樣的機(jī)制稱為消息。消息是一個(gè)實(shí)例與另一個(gè)實(shí)例之間傳遞的信息,它請(qǐng)求對(duì)象執(zhí)行某一處理或回答某一要求的信息,它統(tǒng)一了數(shù)據(jù)流和控制流。
59.B解析:在選項(xiàng)B)中,因?yàn)閿?shù)組的第一維的數(shù)目不明確,所以理解會(huì)有歧義,可以理解為1
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版養(yǎng)老保險(xiǎn)待遇領(lǐng)取資格終止?fàn)幾h處理合同3篇
- 二零二五年度個(gè)人金融衍生品交易合同范本2篇
- 二零二五年度個(gè)人商鋪?zhàn)赓U合同涉及租賃保證金退還細(xì)則2篇
- 近年來(lái)我國(guó)藥事管理工作的重大事件
- 二零二五年度互聯(lián)網(wǎng)公司股份收購(gòu)與市場(chǎng)拓展合同2篇
- 二零二五年度鋼構(gòu)廠房項(xiàng)目施工監(jiān)理合同
- 二零二五年度個(gè)人商鋪?zhàn)赓U合同能源管理協(xié)議4篇
- 二零二五版交通基礎(chǔ)設(shè)施建設(shè)投標(biāo)前會(huì)議紀(jì)要與安全管理協(xié)議3篇
- 二零二五年度綠色低碳土建工程承包合同(節(jié)能減排)3篇
- 二零二五年度國(guó)際文化交流文藝演出合同3篇
- 2024年泰州職業(yè)技術(shù)學(xué)院高職單招數(shù)學(xué)歷年參考題庫(kù)含答案解析
- 培訓(xùn)機(jī)構(gòu)2025年度工作計(jì)劃
- 樓梯 欄桿 欄板(一)22J403-1
- 【MOOC】數(shù)字?jǐn)z影技術(shù)與藝術(shù)-西南石油大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 礦石包銷合同范本
- B區(qū)地下室碳纖維加固施工方案
- 期中測(cè)試卷-2024-2025學(xué)年統(tǒng)編版語(yǔ)文五年級(jí)上冊(cè)
- 醫(yī)院三基考核試題(康復(fù)理療科)
- 新教材人教版高中物理選擇性必修第三冊(cè)全冊(cè)各章節(jié)知識(shí)點(diǎn)考點(diǎn)
- CJT 354-2010 城市軌道交通車輛空調(diào)、采暖及通風(fēng)裝置技術(shù)條件
- 2024-2030年中國(guó)招標(biāo)代理行業(yè)深度分析及發(fā)展前景與發(fā)展戰(zhàn)略研究報(bào)告
評(píng)論
0/150
提交評(píng)論