




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2021-2022年湖南省婁底市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)學(xué)校:________班級:________姓名:________考號(hào):________
一、單選題(20題)1.結(jié)構(gòu)化程序設(shè)計(jì)的3種結(jié)構(gòu)是()。
A.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu)
B.分支結(jié)構(gòu)、等價(jià)結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
C.多分支結(jié)構(gòu)、賦值結(jié)構(gòu)、等價(jià)結(jié)構(gòu)
D.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
2.廣義表((a))的表尾是()。
A.aB.(a)C.((a))D.()
3.若以“a+”方式打開一個(gè)已存在的文件,以下敘述正確的是()。
A.文件打開時(shí),原有文件內(nèi)容不被刪除,可以進(jìn)行添加和讀操作
B.文件打開時(shí),原有文件內(nèi)容不被刪除,位置指針移到文件開頭,可以進(jìn)行重寫和讀操作
C.文件打開時(shí),原有文件內(nèi)容不被刪除,位置指針移到文件中間,可以進(jìn)行重寫和讀操作
D.文件打開時(shí),原有文件內(nèi)容被刪除,只可進(jìn)行寫操作
4.下列數(shù)據(jù)結(jié)構(gòu)中,按先進(jìn)后出原則組織數(shù)據(jù)的是()。
A.循環(huán)隊(duì)列B.棧C.順序表D.循環(huán)鏈表
5.下列敘述中正確的是()。
A.算法就是程序B.設(shè)計(jì)算法時(shí)只需要考慮數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)C.設(shè)計(jì)算法時(shí)只需要考慮結(jié)果的可靠性D.以上3種說法都不對
6.當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳送的是______。
A.數(shù)組的長度B.數(shù)組的首地址C.數(shù)組每一個(gè)元素的地址D.數(shù)組每個(gè)元素中的值
7.有以下程序:main{intnum[4][4]={1,2,3,4},{5,6,7,8},{9,10,11,12,},{13,14,15,16}},i,j;for(i=0;i<4;i++){for(j=0;j<i;j++)printf("%4c",);for(j=________;J<4;j++)printf("%4d",num[i][j]);printf("\n");}}若要按以下形式輸出數(shù)組右上半三角1234678111216則在程序下劃線處應(yīng)填入的是()。A.i-1B.iC.i+1D.4一i
8.有以下程序#include<stdio.h>intfun(intx;inty){if(x=y(tǒng))reurn(x);elsereturn((x+y)/2);}main(){inta=4,b=5,c=6;printf("%d\n",fun(2*a,fun(b,c)));}程序運(yùn)行后的輸出結(jié)果是______。A.3B.6C.8D.12
9.有下列程序:main{inti,j,x=0;for(i=0,i<2;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++:}x++:}printf("x=%d\n",x);}程序執(zhí)行后的輸出結(jié)果是()。A.x=4B.x=8C.x=6D.x=12
10.按照C語言規(guī)定的用戶標(biāo)識(shí)符命名規(guī)則,不能出現(xiàn)在用戶標(biāo)識(shí)符中的是()。
A.大寫字母B.下劃線C.數(shù)字D.連接符
11.當(dāng)執(zhí)行以下程序段時(shí),()。x=-l:do{x=x*X;)while(!x);A.循環(huán)體將執(zhí)行一次B.循環(huán)體將執(zhí)行兩次C.循環(huán)體將執(zhí)行無限次D.系統(tǒng)將提示有語法錯(cuò)誤
12.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
13.以下能正確定義且賦初值的語句是______。A.intn1=n2=10;
B.charc=32;
C.floatf=f+1.1;
D.doublex=12.3E2.5;
14.有以下程序:#includeMain(){Intx=1,y=0;if(!x)y++;elseif(x==0)if(x)y+=2;Elsey+=3;print("%d\n",y);}程序運(yùn)行后的輸出結(jié)果是()。A.2B.1C.0D.3
15.棧和隊(duì)列的共同點(diǎn)是()。
A.都是先進(jìn)先出B.都是先進(jìn)后出C.只允許在端點(diǎn)處插入和刪除元素D.沒有共同特點(diǎn)
16.下列程序的運(yùn)行結(jié)果是()。main{intx=1,y=3,a=0;while(x++!=(y-=l)){a+=1;if(y<x)break;}printf("%d,%d,%d\n",x,y,a);}A.2,3,2B.2,3,1C.1,3,3D.3,1,2
17.若有定義floata[15],*p=a;,且數(shù)組a的首地址為300H,則p+13所指向的數(shù)組元素的地址為()。
A.334HB.30DHC.352HD.31AH
18.在下列運(yùn)算符中,優(yōu)先級最低的是()。A.||B.!=C.<D.+
19.有以下程序:#include<stdio.h>main(){FILE*fp;inti,a[6]={1,2,3,4,5,6},k;fp=fopen(“data,dat”,“w+”);for(i=0;i<6;i++)fprintf(fp,“%d\n”,a[5-i]);rewind(fp);for(i=0;i<6;i++){fscanf(fp,“%d”,&k);printf(“%d,”,k);}fclose(fp);}程序運(yùn)行后的輸出結(jié)果是()。
A.6,5,4,3,2,1,B.1,2,3,4,5,6,C.1,1,1,1,1,1,D.6,6,6,6,6,6,
20.以下選項(xiàng)中,合法的一組C語言數(shù)值常量是()。
A.12.0Xa234.5e0
B.028.5e-3-0xf
C..1774e1.50abc
D.0x8A10,0003.e5
二、2.填空題(20題)21.下列程序的運(yùn)行結(jié)果是______。
#defineP(A)printf("%d",A)
main()
{intj,a[]={1,2,3,4,5,6,7},i=5;
for(j=3;j>1;j--)
{switch(j)
{case1:
case2:P(a[i++]);break;
case3:P(a[--i]);
}
}
}
22.以下程序從終端讀入數(shù)據(jù)到數(shù)組中,統(tǒng)計(jì)其中正數(shù)的個(gè)數(shù),并計(jì)算它們之和。請?zhí)羁铡?/p>
main()
{
inti,a[20],sum,count;
sum=count=0;
for(i=0;i<20;i++)
scanf("%d",(______);
for(i=0;i<20;i++)
{
if(a[i]>0)
{
count++;
sum+=(______);
}
}
printf("sum=%d,count-%dkn",sum,count);
}
23.表達(dá)式pow(2.8,sqrt(float(x)))值的數(shù)據(jù)類型為______型。
24.需求分析的最終結(jié)果是產(chǎn)生【】。
25.若x和y都是double型變量,且x的初值為3.0,y的初值為2.0,則表達(dá)式pow(y,fabs(x))的值為【】。
26.如果兩個(gè)8位二進(jìn)制數(shù)00010101與01000111相加,其結(jié)果用十進(jìn)制表示為【】。
27.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{
inta,b,c;
a=25;
b=025;
c=0x25;
printf("%d%d%d\n",a,b,C);
}
28.設(shè)有下列的程序段;
charstr[]="Hello";
char*ptr;
ptr=str;
執(zhí)行上面的程序段后,*(ptr+5)的值為______。
29.耦合和內(nèi)聚是評價(jià)模塊獨(dú)立性的兩個(gè)主要標(biāo)準(zhǔn),其中______反映了模塊內(nèi)各成分之間的聯(lián)系。
30.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{
chara[]="123456789",*p;
inti=0;
p=a;
while(*p)
{
if(i%2==0)
*p='*';
p++;i++;
}
puts(a);
}
31.下述函數(shù)用于統(tǒng)計(jì)一行字符中的單詞個(gè)數(shù),單詞之間用空格分隔。
word_num(str
charstr[];
{inti,num=0,word=0;
for(i=0;str[i]!=【】;i++)
if(【】=")word=0
elseif(word=0)
{
word=1;
【】;
}
return(num);
}
32.閱讀程序:
#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)行上面的程序,如果從鍵盤上輸入字符串qwerty和字符串a(chǎn)bcd,則程序的輸出結(jié)果是【】。
33.自盒測試方法重視【】的度量。
34.以下程序的輸出結(jié)果是______。
voidfun()
{staticinta=0;
a+=2;printf("%d",a);
}
main()
{intcc;
for(cc=1;cc<4;cc++)fun();
printf("\n");
}
35.以下程序運(yùn)行后的輸出結(jié)果是【】。
#include<stdio.h>
msin()
{inti,n[]={0,0,0,0,0};
for(i=1;i<=4;i++)
{n[i]=n[i-1]*2+1;
printf("%d",n[i]);
}
}
36.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu),線性鏈表屬于【】。
37.語句:x++;、++x;、x=x+1;、x=1+x;,執(zhí)行后都使變量x中的值增1,請寫出一條同一功能的賦值語句(不得與列舉的相同)【】。
38.表示條件:10<x<100或x<0的C語言表達(dá)式【】。
39.以下程序的功能是調(diào)用函數(shù)fun計(jì)算:m=1-2+3-4+…+9-10,并輸出結(jié)果。請?zhí)羁铡?/p>
#include<stdio.h>
intfun(intn)
{intm=0,f=1,i;
for(i=1;i<=n;i++)
{m+=i*f;f=【】;}
returnm;
}
main()
{printf("m=%d\n",【】);}
40.設(shè)有以下變量定義,并已賦確定的值,
charw;intx;floaty;doubleZ;
則表達(dá)式:w*x+z-y所求得的數(shù)據(jù)類型為上【】。
三、1.選擇題(20題)41.請選出可用作C語言用戶標(biāo)識(shí)符的是
A.void,define,WORD
B.a3_b3,_123,IF
C.FOR,--abc,Case
D.2a,Do,Sizeof
42.以下正確的函數(shù)聲明語句是______。
A.intfun(inta,B);
B.floatfun(inta,int
C.doublefun();
D.intfun(chara[][]);
43.執(zhí)行以下程序段()x=-1;do{x=x*x;}while(!x);
A.循環(huán)體將執(zhí)行一次B.循環(huán)體將執(zhí)行兩次C.循環(huán)體將執(zhí)行無限次D.系統(tǒng)將提示有語法錯(cuò)誤
44.下列程序的輸出結(jié)果是()。#include<stdio.h>voidmain(){inta=0,b=1,c=2;if(++a>0‖++b>0)++c;printf("%d,%d,%d",a,b,c);}
A.0,1,2B.1,2,3C.1,1,3D.1,2,2
45.如果進(jìn)棧序列為e1,e2,e3,e4,則可能的出棧序列是()
A.e3,e1,e4,e2B.e2,e4,e3,e1C.e3,e4,e1,e2D.任意順序
46.下列關(guān)于線性鏈表的描述中正確的是()。
A.存儲(chǔ)空間不一定連續(xù),且各元素的存儲(chǔ)順序是任意的
B.存儲(chǔ)空間不一定連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面
C.存儲(chǔ)空間必須連續(xù),且各前件元素一定存儲(chǔ)在后件元素的前面
D.存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的
47.設(shè)有定義:floata=2,b=4,h=3;,以下C語言表達(dá)式中與代數(shù)式計(jì)算結(jié)果不相符的是
A.(a+b)*h/2B.(1/2)*(a+b)*hC.(a+b)*h*1/2D.h/2*(a+b)
48.#define能作簡單的替代,用宏來替代計(jì)算多項(xiàng)式5*x*x+5*x+5的值的函數(shù)f,正確的宏定義語句為()。
A.#definef(x)5*x*x+5*x+5
B.#definef5*X*x+5*x+5
C.#definef(a)(5*a*a+5*a+5)
D.#define(5*x*x+5*x+5)f(x)
49.下列關(guān)于C語言的說法不正確的是
A.C語言既具有高級語言的一切功能,也具有低級語言的一些功能
B.C語言中的每一條執(zhí)行語句都必須用分號(hào)結(jié)束,分號(hào)不是C語言的一部分,是語句之間的分隔符號(hào)
C.注釋可以出現(xiàn)在程序中任意合適的地方
D.命令行后面不能加分號(hào),命令行不是C語言的語句
50.已知:intc[3][4];,則對數(shù)組元素引用正確的是()。
A.c[1][4]B.c[1.5][0]C.c[1+0][0]D.以上表達(dá)都錯(cuò)誤
51.以下程序運(yùn)行后,輸出結(jié)果是#definePT5.5#defineS(x)PT*x*x#include<stdio.h>main(){inta=1,b=2;printf("%4.1f\n",S(a+b));}
A.49.5B.9.5C.22D.45
52.下列SQL語句中,用于修改表結(jié)構(gòu)的是()。A.A.ALTERB.CREATEC.UPDATED.INSERT
53.擁有PC機(jī)并以撥號(hào)方式接入網(wǎng)絡(luò)的用戶需要配置()
A.CD-ROMB.ModemC.電話機(jī)D.鼠標(biāo)
54.下列選項(xiàng)可以正確表示字符型常量的是
A.′\r′B.aC.\897D.296
55.下面程序段的運(yùn)行結(jié)果是()。char*p="abcdefgh";p+=3;printf("%d\n",stfien(strcpy(p,"ABCD")));
A.8B.12C.4D.7
56.設(shè)整型數(shù)i=5,則printf("%d",i+++++i);的輸出為______。
A.10B.11C.12D.語法錯(cuò)誤
57.下列敘述中正確的是()。
A.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對象之間具有密切的關(guān)系
B.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對象都是公用的
C.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對象之間相對獨(dú)立,相互依賴性小
D.上述3種說法都不對
58.在函數(shù)調(diào)用過程中,如果函數(shù)funA調(diào)用了函數(shù)funB,函數(shù)funB又調(diào)用了函數(shù)funA,則()。
A.稱為函數(shù)的直接遞歸調(diào)用B.稱為函數(shù)的間接遞歸調(diào)用C.稱為函數(shù)的循環(huán)調(diào)用D.C語言中不允許這樣的遞歸調(diào)用
59.有以下結(jié)構(gòu)體說明和變量定義,如圖所示,指針p、q、r分別指向此鏈表中的3個(gè)連續(xù)結(jié)點(diǎn)。structnode{intdata;structnode*next;}*p,*q,*r;
現(xiàn)要將q所指結(jié)點(diǎn)從鏈表中刪除,同時(shí)要保持鏈表的連續(xù),以下不能完成指定操作的語句是
A.p->next=q->next;
B.p-next=p->next->next;
C.p->next=r;
D.p=q->enxt;
60.下列字符數(shù)組初始化語句中,不正確的是()。
A.charc[]='goodmoming';
B.charc[20]="goodmorning";
C.charc[]={'a','b','c','d'};
D.charc[]={"goodmoming"};
四、選擇題(20題)61.有以下程序程序運(yùn)行后的輸出結(jié)果是()。
A.0B.2C.1D.3
62.
63.在一個(gè)C程序中
A.main函數(shù)必須出現(xiàn)在所有的函數(shù)之前B.main函數(shù)可以在任何地方出現(xiàn)
C.main函數(shù)必須出現(xiàn)在所有的函數(shù)之后D.main函數(shù)必須出現(xiàn)在固定位置
64.有以下程序:
若從鍵盤輸入:ijkxyz<回車>,則輸出結(jié)果是()。
A.ijkk
B.ijkxyz
C.xyzxyz
D.jj
65.有以下程序main(){intc=35;printf("%d\n",c&c);}程序運(yùn)行后的輸出結(jié)果是______。
A.0B.70C.35D.1
66.下列敘述中正確的是()。
A.對長度為n的有序鏈表進(jìn)行查找,最壞情況下需要的比較次數(shù)為n
B.對長度為n的有序鏈表進(jìn)行對分查找,最壞情況下需要的比較次數(shù)為n/2
C.對長度為n的有序鏈表進(jìn)行對分查找,最壞情況下需要的比較次數(shù)為log2n
D.對長度為n的有序鏈表進(jìn)行對分查找,最壞情況下需要的比較次數(shù)為nlog2n
67.有以下程序
68.
執(zhí)行下列程序后,輸出的結(jié)果是()。
#include<stdio.h>
#defineS(X)X*X
voidmain
{inta=9,k=3,m=2;
a/=S(k+m)/S(k+m):
printf("%d",a);
}
A.1B.4C.9D.0
69.
70.
71.
72.
若ch為char型變量,k為int型變量(已知字符a的ASCII碼是97),則執(zhí)行下列語句后輸出的結(jié)果為()。
cb=b;
k=10;
printf("%X,%o,”,ch,ch,k);
printf("k=%%d\n",k);
A.因變量類型與格式描述符的類型不匹配,輸出無定值
B.輸出項(xiàng)與格式描述符個(gè)數(shù)不符,輸出為0值或不定值
C.62,142,k=%d
D.62,142,k=%10
73.
74.下列程序的運(yùn)行結(jié)果是()。main{intx=1,y=3,a=0;while(x++!=(y-=l)){a+=1;if(y<x)break;}printf("%d,%d,%d\n",x,y,a);}A.2,3,2B.2,3,1C.1,3,3D.3,1,2
75.有以下程序:
程序運(yùn)行時(shí),輸入的值在哪個(gè)范圍才會(huì)有輸出結(jié)果()。
A.不等于10的整數(shù)
B.大于3且不等于l0的整數(shù)
C.大于3或等于l0的整數(shù)
D.小于3的整數(shù)
76.已知字母A的ASCII碼為十進(jìn)制的65,下面程序的輸出為()。
voidmain()
{charch1,ch2;
ch1=’A’+’5’-’3’;
ch2=’A’+6-3;
printf("%d,%c\n",ch1,ch2);
}
A.67,DB.B,CC.C,DD.不確定的值
77.若有定義語句:
78.有以下程序:
main
{
unsignedchara=2,b=4,c=5,d;
d=a|b;d&=c;printf("%d\n",d);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.3B.4C.5D.6
79.語句:“printf("%d",(a=)&&(b=-2));”的輸出結(jié)果是()。
A.無輸出B.結(jié)果是不確定C.-1D.1
80.若變量X、y已正確定義并賦值,以下符合c語言語法的表達(dá)式是()。
A.++x,y=x-一B.x+l=yC.x=x+10--x+yD.double(x)/lO
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是逐個(gè)比較str1,str2兩個(gè)字符串對應(yīng)位置中的字符,把比ASCⅡ值大或相等的字符依次存放到str數(shù)組中,形成一個(gè)新的字符串。
例如,str1中的字符串為fshADfg,str2中的字符串為sdAEdi,則str中的字符串應(yīng)為sshEdig。
請修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.假定輸入的字符串只包含字母和“#”號(hào),請編寫函數(shù)fun(),它的功能是:刪除字符串中所有的“#”號(hào)。在編寫函數(shù)時(shí),不得使用C語言提供的字符串函數(shù)。例如,若字符串中的內(nèi)容為“##w#e1##come###”,刪除后,字符串中的內(nèi)容則應(yīng)當(dāng)是“welcome”。請勿改動(dòng)main()函數(shù)與其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入所編寫的若干語句。試題程序:
參考答案
1.D結(jié)構(gòu)化程序設(shè)計(jì)的基本要點(diǎn):①采用自頂向下、逐步求精的程序設(shè)計(jì)方法;②任何程序都可由順序、選擇和循環(huán)3種基本控制結(jié)構(gòu)構(gòu)造。
2.D
3.AC語言中,文件打開方式“a+”表示打開一個(gè)文本文件,從文件開始位置讀,在文件尾部添加數(shù)據(jù),如果指定的文件不存在,系統(tǒng)將使用調(diào)用fopen時(shí)指定的文件名創(chuàng)建一個(gè)新的文件;如果指定的文件存在,那么文件原有內(nèi)容將被保存,新的數(shù)據(jù)追加到原有文件之后。故本題答案為A選項(xiàng)。
4.B解析:循環(huán)隊(duì)列是隊(duì)列的一種順序存儲(chǔ)結(jié)構(gòu),隊(duì)列是以先進(jìn)先出為原則組織數(shù)據(jù)的一種特殊線性表,選項(xiàng)A錯(cuò)誤;棧是以先進(jìn)后出為原則組織數(shù)據(jù)的一種特殊線性表,選項(xiàng)B正確;順序表是線性表的順序存儲(chǔ)結(jié)構(gòu),選項(xiàng)C錯(cuò)誤;循環(huán)鏈表是一般線性表的一種鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),選項(xiàng)D錯(cuò)誤。
5.D程序(program)是為實(shí)現(xiàn)特定目標(biāo)或解決特定問題而用計(jì)算機(jī)語言編寫的命令序列的集合。設(shè)計(jì)算法時(shí)要考慮到數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì),但是不僅僅是要考慮到數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì),還要考慮到其他的程序結(jié)構(gòu)的問題。設(shè)計(jì)算法時(shí)不能只考慮結(jié)果的正確性和可靠性,還需要考慮到程序的時(shí)間冗余度等方面。所以答案選擇D。
6.B解析:當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳送的是數(shù)組的首地址,函數(shù)中的形參可定義成以下三種形式:
①形參定義成數(shù)組;
②形參定義成可變長數(shù)組:
③形參定義為指針變量。
7.B本題中要求輸出右上半角的數(shù),對角線上的數(shù)的下標(biāo)相同,所以j=i。
8.B解析:在主函數(shù)中,第—次調(diào)用fun函數(shù),將變量b,c的值傳給形參x,y,在fun()函數(shù)中執(zhí)行if語句,判斷b和c的值是否相等,由于在主函數(shù)中賦初值b=5,c=6,所以判斷條件不滿足,執(zhí)行else語句,返回表達(dá)式(x+y)/2的值,即:(5+6)/2,因?yàn)閰?shù)的類型都為int型,所以結(jié)果也為整型:5,第二次調(diào)用時(shí)8和5也不相等,所以返回值為6,因此,選項(xiàng)B是正確的。
9.B在第1次外層for循環(huán)中,首先x++得到x=1。進(jìn)入到內(nèi)層for循環(huán),只有循環(huán)j的值為奇數(shù)時(shí),變量x的值才自加1,所以在內(nèi)層for循環(huán)執(zhí)行過程中,變量x的值自加兩次,當(dāng)退出內(nèi)層for循環(huán)時(shí),x=3,然后執(zhí)行x++,得到x=4。在進(jìn)入執(zhí)行第2次外層for循環(huán)中,首先x++得到x=5。進(jìn)入到內(nèi)層for循環(huán),只有循環(huán)變量j的值為奇數(shù)時(shí),變量x的值才自加1,所以在內(nèi)層for循環(huán)執(zhí)行過程中,變量X的值自加1兩次,當(dāng)退出內(nèi)層for循環(huán)時(shí),x=7,然后執(zhí)行x++,得到x=8,所以打印輸出變量x的值為8。
10.DC語言只符由字母、數(shù)字、下劃線組成,且第1個(gè)字符必須是字母或下劃線,所以D選項(xiàng)中的連接符不合法。故本題答案為D選項(xiàng)。
11.Ado-wlfile的功能是先執(zhí)行一次循環(huán)體,再判斷條件是否成立,當(dāng)x=-1時(shí),執(zhí)行do語句,x=x*x=1,接著執(zhí)行while后的表達(dá)式,其值為0,退出循環(huán),因此循環(huán)體只執(zhí)行了一次。
12.A本題考查按位與運(yùn)算,按位與就是相同為1,不同為0,把x=011050化成二進(jìn)制為0001001000101000,把01252化成二進(jìn)制為0000001010101010,兩者相與得0000001000101000。
13.B解析:本題考查的知識(shí)點(diǎn)是變量賦初值.選項(xiàng)A中的語句只能起定義n1的作用,而n2=10是n1的初始值表達(dá)式,但因前面沒有定義過n2,所以編譯會(huì)報(bào)錯(cuò)“n2未定義”,故不正確。選項(xiàng)B使用一個(gè)整數(shù)初始化一個(gè)字符變量是正確的,因?yàn)樽址兞恐斜4娴谋緛砭褪钦麛?shù)(某字符的ASCII碼值)。選項(xiàng)C定義的初始值表達(dá)式中出現(xiàn)了它自身,某些編譯器能通過編譯,但f在初始化之前是一個(gè)未知的值,用未知值來初始化也還是未知值,這是不可取的。選項(xiàng)D的初始值是一個(gè)非法常量,因?yàn)閷?shí)型常量指數(shù)形式的指數(shù)部分必須為整數(shù),這里的2.5非法。
14.C在ifelse語句中else,總是與離它最近的配對。本題目中x勸1所以!x為0,所以執(zhí)行else齬句中的內(nèi)容,判斷(x==0)是否成立,因?yàn)閤為1所以條件不成立,所以else部分的近.else語句不再執(zhí)行,所以y的值還是初始值0。
15.C解析:棧和隊(duì)列都是操作受限制的線性表,只允許在端點(diǎn)插入和刪除。不同點(diǎn)是:棧只允許在表的一端進(jìn)行插入和刪除操作,而隊(duì)列允許在表的一端進(jìn)行插入操作,而在另一端進(jìn)行刪除操作。
16.D本題考查"drhile循環(huán)。第一次循環(huán),y=y-1,y=2,循環(huán)條件成立,x=1,X++后值為1,x自加變成2,進(jìn)入循環(huán),a=a+1=1,判斷if語句條件是否成立,y<x不成立,接著執(zhí)行下一次循環(huán)。第二次循環(huán),x=2,y-1=1,循環(huán)條件成立,進(jìn)入循環(huán),a=a+1=2,判斷if語句的控制條件是否成立,y<X成立,執(zhí)行break語句,退出循環(huán)。結(jié)果為D。
17.C解析:解答本題,首先要明白在對指針進(jìn)行加、減運(yùn)算的時(shí)候,數(shù)字“1”不是十進(jìn)制的數(shù)“1”,而是指'1'個(gè)存儲(chǔ)單元長度,而1個(gè)存儲(chǔ)單元長度占多少存儲(chǔ)空間,應(yīng)該視具體情況而定。如果基本類型是int型,移動(dòng)1個(gè)存儲(chǔ)單元的長度就是位移2個(gè)字節(jié),如果基本類型是float型,移動(dòng)1個(gè)存儲(chǔ)單元的長度就是位移4個(gè)字節(jié)。所以p+13所指向的數(shù)組元素的地址:300H+(13*上標(biāo))4)H=352H。
18.A
19.A函數(shù)fopen(“data.dat”,“w+”)中的“w+”表示打開可讀寫文件,若文件存在則文件長度清為零,即該文件內(nèi)容會(huì)消失;若文件不存在則建立該文件?!皉ewind(fp);”使文件fp的位置指針指向文件開始。函數(shù)“fprintf(fp,“%d\\n”,a[5-i]);”將a[i]輸出到fp指向的文件中。函數(shù)“fscanf(fp,“%d”,&k);”將fp讀入變量k中。第1個(gè)for循環(huán)將數(shù)組中元素倒著輸入fp指向的文件中。rewind則指向文件開始,因此輸出的是數(shù)組a的倒敘:6,5,4,3,2,1,。故本題答案為A選項(xiàng)。
20.AC語言中,八進(jìn)制整型常量以0開頭,十六進(jìn)制整型常量以0x或0X開頭。C語言中的實(shí)型常量有兩種表示形式:小數(shù)形式和指數(shù)形式。小數(shù)形式,表示的實(shí)型常量必須要有小數(shù)點(diǎn);指數(shù)形式,在e或E后加一個(gè)整數(shù)來表示以10為底數(shù)的冪數(shù),且規(guī)定字母e或E之前必須要有數(shù)字,且e或E后面的指數(shù)必須為整數(shù)。B選項(xiàng)中“028”不合法,八進(jìn)制中沒有數(shù)字8。C選項(xiàng)中,e后面的指數(shù)不是整數(shù)。D選項(xiàng)中“10,000”數(shù)字之間不能有逗號(hào)。故本題答案為A選項(xiàng)。
21.5555解析:分析程序執(zhí)行過程,第一次循環(huán)時(shí),i=3,i=5,因?yàn)閟witch(3),所以執(zhí)行case3,調(diào)用P(a[--i])=P(a[4])=P(5),輸出5:第二次循環(huán)時(shí),j=2,i=4,因?yàn)閟witch(2),所以執(zhí)行case2,調(diào)用P(a[i++]):P(a[4])=P(5),輸出5,之后i自加等于5。
22.&a[i]或a+ia[i]或*(a+i)&a[i]或a+ia[i]或*(a+i)解析:主函數(shù)中一開始定義了一個(gè)長度為20得整形數(shù)組,然后通過—個(gè)循環(huán),循環(huán)20次給它的每個(gè)元素賦初值,所以在第一個(gè)空格處應(yīng)填各個(gè)元素的地址,即填&a[1]或a+i,然后在通過一個(gè)循環(huán)執(zhí)行20次,每循環(huán)一次,先判斷該循環(huán)是否大于0,如果大于。將其累加到變量sum中,所以第二個(gè)空格處應(yīng)該填入數(shù)組元素,所以應(yīng)該填a[i]或*(a+i)。
23.floatfloat解析:在此表達(dá)式中x是float類型的變量,經(jīng)過開方所得到的結(jié)果仍是float類型,再和2.8進(jìn)行運(yùn)算時(shí),應(yīng)該先將2.8轉(zhuǎn)換成float類型再運(yùn)算,最后結(jié)果仍是float型。
24.需求規(guī)格說明書需求規(guī)格說明書解析:軟件需求規(guī)格說明書是需求分析階段的最后成果,是軟件開發(fā)中的重要文檔之一。需求規(guī)格說明書包括正確性、無歧義性、完整性、可驗(yàn)證性、一致性、可理解性、可修改性和可追蹤性等。
25.88解析:fabs函數(shù)功能是求x的絕對值,計(jì)算結(jié)果為double型。pow功能是計(jì)算x的y次方的值,計(jì)算結(jié)果同樣為double型。所以本題表達(dá)式相當(dāng)于2.0的3.0次方,結(jié)果為8.000000。
26.92
27.252137252137解析:本題中先定義了整型變量a、b和c,然后分別給賦值a為25,b為八進(jìn)制的025,c為十六進(jìn)制0x25。然后調(diào)用pruntf()函數(shù)將a、b和c分別用十進(jìn)制輸出,且中間用空格隔開,八進(jìn)制025轉(zhuǎn)換為十進(jìn)制的值為21,十六進(jìn)制的0x25轉(zhuǎn)換為十進(jìn)制的值為37,故最后的輸出結(jié)果為252137。
28.'\0''\\0'解析:本題涉及字符數(shù)組和指針的兩個(gè)知識(shí)點(diǎn):①在C語言中,字符型數(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'。
29.內(nèi)聚內(nèi)聚
30.*2*4*6*8**2*4*6*8*解析:程序中定義了一個(gè)字符數(shù)組a,并初始化為123456789,接著定義了一個(gè)指針p并讓它指向數(shù)組a,緊接著執(zhí)行了一個(gè)while循環(huán),此循環(huán)的作用是:當(dāng)i為偶數(shù)時(shí),將“*”賦給a[i],p指向數(shù)組末尾,循環(huán)結(jié)束,此時(shí)數(shù)組中a[0]、a[2]、a[4]、a[6]和a[8]的值都為“*”,所以最后調(diào)用puts()函數(shù)輸出的a的值為*2*4*6*8*
31.\0'或0或NULLstr[i]num++或num=num+1或num+=1\\0'或0或NULL\r\nstr[i]\r\nnum++或num=num+1或num+=1解析:觀察題目要求,可以知道以下幾點(diǎn):
①for循環(huán)的結(jié)束條件應(yīng)當(dāng)是:str[i]已是字符串的最后一個(gè)字符;
②str[i]代表字符串str中的第i+1個(gè)字符;
③整型變量num的值是要記錄的單詞的個(gè)數(shù)。
C語言中規(guī)定字符串的最后一個(gè)字符是一個(gè)隱含的字符串結(jié)束符“\\0”,所以在題中第一個(gè)空中應(yīng)填寫“\\0”;題中第二個(gè)空應(yīng)填寫“str[i]”,以判斷當(dāng)前位置的字符是否為空格;題中第三個(gè)空中應(yīng)當(dāng)填寫“num++”,通過變量num的加1累加得到字符串中的單詞個(gè)數(shù)。
32.10
33.測試覆蓋率測試覆蓋率解析:白盒測試又稱為結(jié)構(gòu)測試。白盒測試作為對結(jié)構(gòu)的測試,要求對被測程序的各種結(jié)構(gòu)特性進(jìn)行測試,這種情況被稱為覆蓋,故白盒測試又稱為“基于覆蓋的測試”。白盒測試方法重視測試覆蓋率的度量,力求提高覆蓋率,從而找出被測程序的錯(cuò)誤。
34.246
35.1371513715解析:程序中n是一個(gè)有5個(gè)元素,且元素值全為0的數(shù)組。在for循環(huán)中,當(dāng)i=1時(shí),n[1]=n[0]*2+1,此時(shí)n[1]=1;i=2時(shí),n[2]=n[1]*2+1,此時(shí)n[2]=3;i=3時(shí),n[3]=n[2]*2+1,此時(shí)n[3]=7;i=4時(shí),n[4]=n[3]*2+1,此時(shí)n[4]=15,循環(huán)結(jié)束。輸出函數(shù)中%d后有空格,因此輸出結(jié)果為13715。
36.存儲(chǔ)結(jié)構(gòu)
37.x+=1;
38.(X>10&&x<100)||x<0或(10<x&&x<100)||x<0或x<0||(x>10&&x<100)或0>x||(10<x&&x<100)或(括號(hào)有無都可以)(X>10&&x<100)||x<0\r\n\u3000\u3000或(10<x&&x<100)||x<0或x<0||(x>10&&x<100)\r\n\u3000\u3000或0>x||(10<x&&x<100)或(括號(hào)有無都可以)
39.(-1)*ffun(10)(-1)*f\r\nfun(10)解析:本題利用一個(gè)fun函數(shù)來完成題目要求的計(jì)算。程序中變量f起的作用是控制i*f的符號(hào),偶數(shù)位都為負(fù)值,第一處填(-1)*f。在main函數(shù)中要輸出fun函數(shù)返回的m值,因此第二處填fun(10),實(shí)參10傳給形參n。
40.double型或雙精度型double型或雙精度型解析:①先進(jìn)行w*x的運(yùn)算,先將字符型w轉(zhuǎn)換成整型,運(yùn)算結(jié)果為整型;②再將w*x的結(jié)果與z相加,要先將第一步的整型轉(zhuǎn)換為double型,運(yùn)算結(jié)果為double型;③最后將w*x+z的結(jié)果與y相減,要先將float型y轉(zhuǎn)換成double型,結(jié)果為double型。
41.B解析:C語言規(guī)定用戶標(biāo)識(shí)符由字母、數(shù)字和下畫線組成,且第一個(gè)字符必須是字母或下畫線,可見選項(xiàng)C),D)是錯(cuò)誤的;此外,C語言不允許用戶將關(guān)鍵字作為標(biāo)識(shí)符,而選項(xiàng)A)中的void正是C語言的關(guān)鍵字。
42.C解析:函數(shù)聲明語句必須以分號(hào)結(jié)束,形參要分別說明,若二維數(shù)組作為函數(shù)的形參,則第二維的大小不能缺省。
43.A
44.C解析:本題考查if語句。先判斷if語句的條件是否成立,++a=1>0,此條件成立,又因?yàn)槭沁M(jìn)行邏輯或運(yùn)算,在已知其中一個(gè)運(yùn)算對象為真的情況下,不必判斷另外一個(gè)運(yùn)算符的真假,即不進(jìn)行++b操作,就可以直接得出整個(gè)表達(dá)式的值為邏輯1,執(zhí)行下列的++c。
45.B解析:由?!昂筮M(jìn)先出”的特點(diǎn)可知:A中e1不可能比e2先出,C中e3不可能比e4先出,且e1不可能比e2先出,D中棧是先進(jìn)后出的,所以不可能是任意順序。所以B是正確的。它執(zhí)行的順序是:e1進(jìn)棧→e2進(jìn)?!鷈2出?!鷈3進(jìn)?!鷈4進(jìn)?!鷈4出?!鷈3出?!鷈1出棧,所以只看出棧序列應(yīng)為e2,e4,e3,e1。
46.A解析:線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的結(jié)點(diǎn)空間是動(dòng)態(tài)生成的,它們在內(nèi)存中的地址可能是連續(xù)的,也可能是不連續(xù)的。
47.B解析:選項(xiàng)B中由于1和2都是整型,其1/2的運(yùn)算結(jié)果為0,故整個(gè)表達(dá)式的值為0,所以它的結(jié)果和題目中要求的代數(shù)式的計(jì)算結(jié)果不相符,所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。
48.C解析:帶參數(shù)宏的格式為:#define標(biāo)識(shí)符(形參表)形參表達(dá)式。其功能是:在預(yù)處理程序中將程序中出現(xiàn)的所有帶實(shí)參的宏名,展開成由實(shí)參組成的表達(dá)式。
49.B解析:分號(hào)是C語言的一部分,不是語句之間的分隔符號(hào)。C語言中的每一條執(zhí)行語句都必須用分號(hào)“;”結(jié)束,分號(hào)是C語言的一部分,不是語句之間的分隔符號(hào)。
50.C
51.A解析:宏替換用“#define宏名宏體”的形式來定義。在進(jìn)行編譯預(yù)處理時(shí),將把程序中宏定義之后的所有宏名用宏體替換。宏雖然可以帶參數(shù),但宏替換過程中不像函數(shù)那樣要進(jìn)行參數(shù)值的計(jì)算、傳遞及結(jié)果返回等操作;宏替換只是簡單的字符替換,不進(jìn)行計(jì)算。因而本題中的S(a+b)進(jìn)行宏替換后為PT*1+2*1+2=5.5*1+2*1+2=9.5。注意:帶參數(shù)的宏定義。
52.A解析:在SQL語句中,凡是創(chuàng)建都用CREATE,刪除都用DROP,改變用ALTER,后面跟類型和名字,附加子句。
53.B
54.A解析:C語言中,一個(gè)字符常量代表ASCII字符集中的一個(gè)字符,在程序中用單引號(hào)括起來作為字符常量,字符常量的的范圍是0~127。由于字符常量用單引號(hào)括起來,所以選項(xiàng)B),C)錯(cuò)誤,選項(xiàng)D)超過了字符常量的表示范圍。
55.C解析:p+=3使指針p指向字符'd',函數(shù)strcpy的功能是把后面的字符串復(fù)制到p指針指向的空間;strlen函數(shù)的功能是求字符串的長度,并返回字符個(gè)數(shù),不計(jì)最后的'\\0'。本題結(jié)果為4,即字符串“ABCD”的長度。
56.D解析:C語言中有基本的算術(shù)運(yùn)算符(+、-、*、/)還包括自增自減運(yùn)算符(++、-),在C語言解析表達(dá)式時(shí),它總是進(jìn)行貪婪咀嚼,這佯,該表達(dá)式就被解析為i+++++i,顯然該表達(dá)式不合C語言語法。
57.C本題考查對面向?qū)ο蟮睦斫?。面向?qū)ο蟮某绦蛟O(shè)計(jì)是對象模擬問題領(lǐng)域中的實(shí)體,各對象之間相對獨(dú)立,相互依賴性小,通過消息來實(shí)現(xiàn)對象之間的相互聯(lián)系。
58.B解析:在C語言中所謂函數(shù)的遞歸是指在調(diào)用一個(gè)函數(shù)的過程中,又出現(xiàn)了直接或間接調(diào)用該函數(shù)本身,直接調(diào)用該函數(shù)本身的稱為函數(shù)遞歸,而間接調(diào)用該函數(shù)稱為函數(shù)的間接遞歸調(diào)用。顯然題目中所說得函數(shù)調(diào)用為函數(shù)的間接遞歸調(diào)用。所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。
59.D解析:本題考查鏈表結(jié)點(diǎn)的刪除。q->next中存放的是r所指結(jié)點(diǎn)的首地址,將r所指結(jié)點(diǎn)的首地址存于p->next中,則實(shí)現(xiàn)刪除q所指結(jié)點(diǎn)的功能,并保持鏈表連續(xù),p所指結(jié)點(diǎn)與r所指結(jié)點(diǎn)相連。
60.A解析:本題考查兩個(gè)概念:①用單引號(hào)括起來的一個(gè)字符常量只能存放一個(gè)字符;②C語言中沒有字符串變量,只能用字符數(shù)組來存儲(chǔ)字符串。
選項(xiàng)A)中一個(gè)單引號(hào)內(nèi)放了若干個(gè)字符是錯(cuò)誤的:選項(xiàng)B)和選項(xiàng)D)選項(xiàng)中將一個(gè)字符串賦值給一個(gè)字符數(shù)組是允許的。
61.A在ifelse語句中else總是與離它最近的if酉己對。本題目中x為1,因此“!x”為0,所以執(zhí)行elseif語句中的內(nèi)容,判斷(x==0)是否成立,因?yàn)閤為1,所以條件不成立,因此elseif內(nèi)部的if.一else語句不再執(zhí)行,所以y的值還是初始值0。
62.A
63.B在C語言中,函數(shù)是C程序的基本組成部分,用來完成子程序的功能。一個(gè)完整的C程序至少應(yīng)該包括一個(gè)main()函數(shù),其他函數(shù)可以沒有,可以有一個(gè),也可以有多個(gè)。C程序的執(zhí)行過程是:從main()函數(shù)開始執(zhí)行,然后在main()函數(shù)中調(diào)用其他函數(shù),當(dāng)main()函數(shù)執(zhí)行完畢時(shí),整個(gè)程序就結(jié)束了。main()函數(shù)出現(xiàn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國埋地管道重防腐靜電噴涂設(shè)備數(shù)據(jù)監(jiān)測研究報(bào)告
- 統(tǒng)編版二年級語文下冊第八單元達(dá)標(biāo)測試卷(含答案)
- 上海市曹楊二中2024-2025學(xué)年高二上學(xué)期期末考試化學(xué)試卷(含答案)
- 遼寧省鞍山市高新區(qū)2024-2025學(xué)年九年級下學(xué)期開學(xué)考試化學(xué)試題(含答案)
- 技校汽車底盤試題及答案
- 3 2025年耳鼻喉科相關(guān)疾病試題
- 色彩生命測試題及答案
- 遺產(chǎn)繼承分配方案合同
- 高等教育自學(xué)考試《00065國民經(jīng)濟(jì)統(tǒng)計(jì)概論》模擬試卷一
- 2025年度主管護(hù)師考試專項(xiàng)復(fù)習(xí)試題庫70題及答案(四)
- 2025年安徽工業(yè)經(jīng)濟(jì)職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及答案參考
- 2025年安慶醫(yī)藥高等專科學(xué)校單招職業(yè)適應(yīng)性考試題庫附答案
- 4.1 人要有自信(課件)-2024-2025學(xué)年道德與法治七年級下冊 (統(tǒng)編版2024)
- 2025春季開學(xué)第一課安全教育班會(huì)課件-
- 生物節(jié)律調(diào)節(jié)課件
- 不分手承諾書(2025版)戀愛忠誠協(xié)議
- 2020-2025年中國國有控股公司行業(yè)發(fā)展趨勢及投資前景預(yù)測報(bào)告
- 病區(qū)8S管理成果匯報(bào)
- 2025年人教版七年級歷史下冊階段測試試卷含答案
- 林下經(jīng)濟(jì)中藥材種植基地建設(shè)項(xiàng)目可行性研究報(bào)告立項(xiàng)新版
- 急診預(yù)檢分診標(biāo)準(zhǔn)
評論
0/150
提交評論