版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
2022-2023年浙江省嘉興市全國計算機等級考試C語言程序設計測試卷一(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.設R是一個二元關系,S是一個三元關系,則下列運算中正確的是()。
A.R-SB.R×SC.R∩SD.R∪S
2.有以下程序:#include<stdio.h>#include<stdlib.h>main{int*a,*b,*C;a=b=c=(int*)malloc(sizeof(int));*a=1;*b=2,*c=3;a=b:printf("%d,%d,%d\n",*a,*b,*c);}程序運行后的輸出結果是()。A.3,3,3B.2,2,3C.1,2,3D.1,1,3
3.
4.順序結構的本質(zhì)特點是()。
A.數(shù)據(jù)元素存儲在地址連續(xù)的內(nèi)存空間
B.數(shù)據(jù)元素緊鄰
C.數(shù)據(jù)元素在內(nèi)存中的相對位置表示數(shù)據(jù)之間的邏輯關系
D.不使用指針
5.
6.下面不正確的字符賦值或賦初值的方式為()。
A.chars[10]=”hello!”
B.chars[10]={‘h’,‘e’,‘l’,‘l’,‘o’,‘!’}
C.chars[10];s=”hello”
D.char[]=”hello!”
7.在執(zhí)行inta[][3]={{1,2},{3,4}};語句后,a[1][2]的值是()
A.2B.4C.3D.0
8.某二叉樹的前序和后序序列正好相反,則該二叉樹一定是_____的二叉樹
A.空或者只有一個結點B.高度等于其結點數(shù)C.任一結點無左孩子D.任一結點無右孩子
9.在一個具有n個結點的有序單鏈表中插入一個新結點并仍然保持有序的時間復雜度是()。
A.O(1)B.O(n)C.O(n2)D.O(nlog2n)
10.若整型變量a、b、c、d中的值依次為2、2、3、4,則條件表達式a<b?a:c<d?c:d的值是()。A.1B.2C.3D.4
11.有以下程序voidsum(inta[]){a[0]-a[-1]+a[1];}main(){inta[10]={1,2,3,4,5,6,7,8,9,10};sum(&a[2]);printf(“%d\n”,a[2]);}程序運行后的輸出結果是A.6B.7C.5D.8
12.以下選項中能表示合法常量的是()。
A.1,200B.1.5E2.0C.‘\’D.“\007”
13.設文件指針fp已定義,執(zhí)行語句“fP=foPen(“file”,“w”);”后,下列針對文本文件file操作敘述的選項中正確的是()。
A.只能寫,不能讀B.寫操作結束后可以從頭開始讀C.可以在原有內(nèi)容后追加寫D.可以隨意讀和寫
14.下列4個關于C語言的結論中錯誤的是()。
A.可以用do…while語句實現(xiàn)的循環(huán)一定可以用while語句實現(xiàn)
B.可以用for語句實現(xiàn)的循環(huán)一定可以用while語句實現(xiàn)
C.可以用while語句實現(xiàn)的循環(huán)一定可以用for語句實現(xiàn)
D.do…while語句與while語句的區(qū)別僅是關鍵字“while”出現(xiàn)的位置不同
15.寫出a*(b-c*d)+e-f/g*(h+i*j-k)的逆波蘭表達式()。
A.a(b-c*d)*+e-(f/g(h+i*j-k)*)
B.a(b-(cd*))*+e-(fg/(h+ij*-k)*)
C.a(bcd*-)*+e-(fg/hij*+k-*)
D.abcd*-*e+fg/hij*+k-*-
16.設a、b和、c都是int型變量,且a=3、b=4、c=5,則下面的表達式中,值為0的表達式為()
A.'a'&&'b'
B.a<=b
C.a‖b+c&&b-c
D.!(a-b)&&(!c‖1)
17.以下敘述中正確的是()。A.A.break語句只能用在循環(huán)體內(nèi)和switch’語句體內(nèi)
B.continue語句的作用是:使程序的執(zhí)行流程跳出包含它的所有循環(huán)
C.在循環(huán)體內(nèi)使用break語句和continue語句的作用相同
D.break語句只能用于switch語句體中
18.有以下程序:
程序執(zhí)行后的輸出結果是()。
A.357B.753C.369D.751
19.一個模塊直接調(diào)用的下層模塊的數(shù)目稱為模塊的()。
A.扇入數(shù)B.扇出數(shù)C.寬度D.作用域
20.若有定義inta=12,n=5,則表達式a%=(n%2)運算后,a的值()。
A.0B.1C.12D.6
二、2.填空題(20題)21.關系操作的特點是______操作。
22.已知字符A的ASCII代碼值為65,以下程序運行時若從鍵盤輸入:B33<回車>。則輸出結果是______。
#include<stdio,h>
main()
{
chara,b;
a=geCchar();scanf("%d“,&b);
a=a-'A'+‘0';b=b*2;
printf('%c%c\n",a,b);
}
23.設有下列宏定義:#defineA2
#defineBA+3
則執(zhí)行賦值語句;t=B*2;t為int型變量后的值是______。
24.面向?qū)ο蟮哪P椭?,最基本的概念是對象和______。
25.在算法的4個特性中,算法必須能在執(zhí)行有限個步驟之后終止指的是算法的______特性。
26.設x、y、z均為int型變量,請寫出描述"x或y中至少有一個小于z"的表達式______。
27.以下程序運行后的輸出結果是______。
main()
{intx,a=1,b=2,c=3,d=4;
x=(a<b)?a:b;x=(x<c)?x:c;x=(d>x)?x:d;
pfintf("%d\n",x);
}
28.以下程序的功能是:刪去一維數(shù)組中所有相同的數(shù),使之只剩一個。數(shù)組中的數(shù)已按由小到大的順序排列,函數(shù)返回刪除后數(shù)組中數(shù)據(jù)的個數(shù)。
例如,若一維數(shù)組中的數(shù)據(jù)是:
2223445666677899101010
刪除后,數(shù)組中的內(nèi)容應該是:
2345678910。
請?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");
}
29.以下函數(shù)用來求出兩整數(shù)之和,并通過形參將結果傳回,請?zhí)羁铡?/p>
voidfunc(intx,inty,【】z)
{*z=x+y;}
30.表示條件;10<x<100或x<0的C語言表達式是【】。
31.Jackson方法是一種面向【】的結構化方法。
32.某二叉樹中度為2的結點有n個,則該二叉樹中有【】個葉子結點。
33.數(shù)據(jù)元素之間______的整體稱為邏輯結構。
34.下面程序的輸出是【】。
main()
{intarr[10],i,k=0;
for(i=0;i<10;i++)
arr[i]=i;
fov(i=1;i<4;i++)
k+=arr[i]+i;
printf("%d\n",k);}
35.有以下程序
main()
{intx=1,y=1,z=1;
y=y+z;x=x+y;
printf("%d",x<y?y:x);
printf("%d",x<y?x++:y++);
printf("%d",x);
printf("%d",y);
}
運行結果是【】
36.有以下程序:
intf(intn)
{if(n=1)return1;
elsereturnf(n-1)+1;}
main()
{inti,j=0;
for(i=1;i<3;i++)j+=f(i);
printf("%d\n",j);
}
程序運行后的輸出結果是【】。
37.性結構中,隊列的操作順序是先進先出,而棧的操作順序是______。
38.【】(黑箱或白箱)測試方法完全不考慮程序的內(nèi)部結構和內(nèi)部特征。
39.在數(shù)據(jù)的存儲結構中,不僅需要存儲各數(shù)據(jù)元素的信息,還要存放各元素之間______的信息。
40.若有以下程序:
main()
{intp,a=5;
if(p=a!=0)
printf("%d\n",p);
else
printf("%d\n",p+2);
執(zhí)行后的輸出結果是【】。
三、1.選擇題(20題)41.下面程序的運行結果是
#include<stdio.h>
voiddelch(char*s)
{inti,j;
char*a;
a=s;
for(i=0,j=0;a[i]!=′\n′;i++)
if(a[i]>=′0′&&a[i]<=′9′)
{s[j]=a[i];j++;}
s[j]=′\0′;}
main()
{char*item="a34bc";
delch(item);
printf("\n%s",item);}
A.abcB.34C.a34D.a34bc
42.整型變量x和Y的值相等,且為非0值,則以下選項中結果為0的表達式是______。
A.X‖YB.X|YC.X&YD.XY
43.下列是合法的用戶自定義標識符的是()。
A._w1B.3_xyC.intD.LINE-3
44.設有如下說明:typedefstruct{intn;charc;doublex;)STD;則以下選項中,能正確定義結構體數(shù)組并賦初值的語句是()。
A.STDtt[2]={{1,'A',62},{2,'B',75}};
B.STDtt[2]={1,"A",62},2,"B",75};
C.stmctt[2]={{1,'A'),{2,'B'}};
D.structt[2]={{1,"A",62.5),{2,"B",75.0}};
45.有以下程序:voidf(inta[],inti,intj){intt;if(i<j){t=a[i];a[i]=a[j];a[j]=t;f(a,i+1,j-1);}}main(){inti,aa[5]={1,2,3,4,5};f(aa,0,4);for(i=0;i<5;i++)printf("%d,",aa[i]);printf("\n");}執(zhí)行后輸出結果是()。
A.5,4,3,2,1,B.5,2,3,4,1,C.1,2,3,4,5,D.1,5,4,3,2,
46.若a、b、c、d都是血型變量且都已經(jīng)正確賦初值,則下列不正確的賦值語句是()。
A.a+d;B.a++;C.a=b=c=d=100;D.a=(b=3)+(d=5);
47.在一棵二叉樹上第8層的結點數(shù)最多是_______。
A.8B.16C.128D.256
48.已定義以下函數(shù)
fun(int*p)
{return*p;}
該函數(shù)的返回值是()
A.不確定的值
B.形參p中存放的值
C.形參p所指存儲單元中的值
D.形參p的地址值
49.有如下定義structperson{charname[9];intage;};structpersonclass[10]={"John",17,"paul",19,"Mary",18,"Adam",16,};根據(jù)上述定義,能輸出字母M的語句是
A.printf("%c\n",class[3].name);
B.printf("%c\n",class[3].name[1]);
C.printf("%c\n",class[2].name[1]);
D.printf("%c\n",class[2].name[0));
50.若有說明:int*p,m=5,n;以下正確的程序段是
A.p=&n;scanf("%d",&p);
B.p=&n;scanf("%d",*p)
C.scanf("%d",&n);*p=n;
D.p=&n;*p=m;
51.下面程序的輸出結果是()。#defineSQR(X)2*X+1main(){inta,b,C;a=3;b=2;C=1;a*=SQR(b+c)/SQR(b+c);printf("%d",a);}
A.3B.18C.21D.24
52.有以下程序main(){chara1='M',a2='m';printf("%c\n",(a1,a2));}以下敘述中正確的是()。
A.程序輸出大寫字母MB.程序輸出小寫字母mC.格式說明符不足,程序出錯D.程序運行時產(chǎn)生出錯信息
53.有以下程序:main(){inta[3][3],*p,i;p=&a[0][0];for(i=0;i<9;i++)p[i]=i+1;printf("%d\n",a[1][2]);}程序運行后的輸出結果是
A.3B.6C.9D.2
54.為了提高測試的效率,應該()。
A.隨機選取測試數(shù)據(jù)
B.取一切可能的輸入數(shù)據(jù)作為測試數(shù)據(jù)
C.在完成編碼以后制定軟件的測試計劃
D.集中對付那些錯誤群集的程序
55.下列可用于C語言用戶標識符的一組是
A.void,define,WORD
B.a3_b3,_123,Car
C.For,-abc,IFCase
D.2a,DO,sizeof
56.以下程序的輸出結果是______。fun(intx,inty,intz){z=x*x+y*y;}main(){inta=31;fun(5,2,a);printf("%d",a);}
A.0B.29C.31D.無定值
57.以下描述中正確的是()。
A.由于do-while循環(huán)中循環(huán)體語句只能是一條可執(zhí)行語句,所以循環(huán)體內(nèi)不能使用復合語句
B.do-while循環(huán)由do開始,用while結束,在while(表達式.后面不能寫分號
C.在do-while循環(huán)體中,是先執(zhí)行一次循環(huán),再進行判斷
D.do-while循環(huán)中,根據(jù)情況可以省略while
58.以下程序中與語句k=a>b?(b>c?1:0):0;功能等價的是
A.if((a>b)&&(b>c))k=1;elsek=0;
B.if((a>b)‖(b>c))k=1;elsek=0;
C.if(a<=b)k=0;elseif(b<=c)k=1;elsek=0;
D.if(a>b)k=1;elseif(b<c)k=1;
59.開發(fā)大型軟件時,產(chǎn)生困難的根本原因是()
A.大系統(tǒng)的復雜性B.人員知識不足C.客觀世界千變?nèi)f化D.時間緊、任務重
60.下列程序的輸出結果是()。#include<stdio.h>main(){inta=4printf("%d\n",(a+=a-=a*A));}
A.-8B.14C.0D.-24
四、選擇題(20題)61.以下不合法的數(shù)值常量是()。
A.8.0E0.5B.lelC.0llD.0xabcd
62.
63.
64.
65.已知:intx,y;doublez;則以下語句中錯誤的函數(shù)調(diào)用是()。A.A.scanf("%d,%1x,%1e",&x,&y,&z);
B.scanf("%1d*%d&1f",&x,&y,&z);
C.scanf("%x%*d%o",&x,&y);
D.scanf("%x%o%6.2f",&x,&y,&z);
66.
67.有以下程序:
執(zhí)行時輸入:aBeDefG##<;回車>;,則輸出結果是()。
A.AbCdEFgB.ABCDEFGC.BCDEFGHD.bedefgh
68.
69.有以下程序
#include<stdio.h>
voidfun(ints[])
{staticintj=0;
do
s[j]+=s[j+1];
while(++j<2);
}
main()
{
intk,a[10]={1,2,3,4,5};
for(k=1;k<3;k++)fun(a);
for(k=0;k<5;k++)
printf("%d",a[k]);
}
程序的運行結果是
A.34756B.23445
C.35745D.12345
70.有以下程序程序的運行結果是()。
A.3B.1C.2D.0
71.一個關系中屬性個數(shù)為1時,稱此關系為()。
A.對應關系B.單一關系C.一元關系D.二元關系
72.
73.
74.
75.以下程序段中,不能正確給字符串賦值(編譯時系統(tǒng)會提示錯誤)的是:()
76.軟件生命周期是指()。A.軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程
B.軟件從需求分析、設計、實現(xiàn)到測試完成的過程
C.軟件的開發(fā)過程
D.軟件的運行維護過程
77.選出下列標識符中不是合法的標識符的是()。
A.hot_doB.cat1C._priD.2ab
78.有以下程序
main()
{inta[3][2]={0},(*ptr)[2],i,j;
for(i=0;i<2;i++)
{ptr=a+i;scanf("%d",ptr);ptr++;}
for(i=0;i<3;i++)
{for(j=0;j<2;j++)printf("%2d",a[i][j]);
printf("\n");
}
}
若運行時輸入123<回車>,則輸出結果為
79.有三個關系R、S和T如下:
則由關系R和s得到關系T的操作是()。
A.自然連接B.并C.交D.差
80.若有以下程序段:
程序運行后的輸出結果是()。
A.16B.8C.4D.2
五、程序改錯題(1題)81.下列給定程序中,函數(shù)fun()的功能是:求兩個非零正整數(shù)的最大公約數(shù),并作為函數(shù)值返回。例如,若num1和num2分別為49和21,則輸出的最大公約數(shù)為7;若num1和num2分別為27和81,則輸出的最大公約數(shù)為27。請改正程序中的錯誤,使它能得出正確結果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結構!試題程序:
六、程序設計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,編寫函數(shù)fun(),其功能是將ss所指字符串中所有下標為奇數(shù)的字母轉(zhuǎn)換為大寫(若該位置上不是字母,則不轉(zhuǎn)換)。例如,若輸入“abc4EFg”,則應輸出“aBc4EFg”。注意:部分源程序給出如下。請勿改動主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:#include<conio.h>#include<stdio.h>#include<string.h>voidfun(char*ss){}voidmain(void){ chartt[51]; printf(“\nPleaseenterancharacterstringwithin50characters:\n”); gets(tt); printf(“\n\nAfterchanging,thestring\n%s”,tt); fun(tt); printf(“\nbecomes\n%s”,tt);}
參考答案
1.BB?!窘馕觥筷P系的交(∩)、并(∪)和差(-)運算要求兩個關系是同元的,顯然作為二元的R和三元的S只能做笛卡兒積運算。
2.A本題中,首先創(chuàng)建一個動態(tài)內(nèi)存,然后將地址分別存入指針a、b、c中,即a、b、c都指向相同.的變量。分別給a、b、c所指的變量賦值,最終a、b、c所指的變量中的值為3,最后打印a、b、c所指的變量
3.B
4.C
5.D
6.C
7.D
8.B
9.B
10.C本題考查三目運算符a<b?a:c<d?c:d也可寫成a<b?a:(c<d?c:d),所以根據(jù)優(yōu)先級,先算括號內(nèi)的,c小于d為真取C的值,再看a小于b為假,所以取C的值。
11.A本題考查的是數(shù)組和函數(shù)。sum()函數(shù)接收一個int型數(shù)組作參數(shù),也可以把它看作是一個int型指針,語句a[0]=a[*1)+a(比的意思就是將參數(shù)指針指向內(nèi)容的前一個元素和后一個元素的值相加放到指針所指的位置.因此,主函數(shù)中調(diào)用sum(&a[2]);的意思就是讓a[2]=a[1]+a[3];,所以最后輸出的結果是6。應該選擇A。
12.DA選項中整型常量應表示為1200,數(shù)字中不能包含逗號。B選項中E后面的指數(shù)必須為整數(shù)。C選項中轉(zhuǎn)義字符以“\\”開始,若要表示字符“\\”,應寫為“\\\\”。故本題答案為D選項。
13.A以“w”方式打開文件時只能寫,不能讀。故本題答案為A選項。
14.D解析:本題考查幾個循環(huán)語句的關系。①do…while語句、while語句、for語句所實現(xiàn)的循環(huán)可以相互替代;②do…while語句和while語句的區(qū)別是do…while語句至少執(zhí)行一次。
15.D
16.D
17.A本題主要考查的知識點是:break和IContinue語句。break語句可以用于swhitCh或循環(huán)體內(nèi),作用是跳/出switCh或循環(huán)體。Continue語句只能用于循環(huán)體內(nèi),作用是結束當前循環(huán),進入下次循環(huán)。故本題中只有選項A)是正確的。
18.A本題考查的是for循環(huán)與二維數(shù)組的定義和引用。當定義二維數(shù)組的初始化列表只使用一重花括號時,其中的每個值依次代表從第l行的第1個元素起,直到第l行滿,接著代表第2行、第3行……的每一個元素。程序中的循環(huán)將循環(huán)3次,循環(huán)變量i的值分別是0、1、2,所以3次循環(huán)中輸出的數(shù)分別是:t[2一O][D]、t[2-1][1]、t[2~2]121,即t[2][0]、t[1][l]、t[0][2],所以最后輸出的結果為357。故應該選擇A)。
19.B扇入數(shù)是指調(diào)用一個給定模塊的模塊個數(shù)。扇出數(shù)是指由一個模塊直接調(diào)用的其他模塊數(shù),即一個模塊直接調(diào)用的下層模塊的數(shù)目。本題答案為B選項。
20.A
21.集合集合
22.1B1B解析:在C語古中,字符型變量可以看作整型變量來對待,與整型所不同的是字符型變量在內(nèi)存中只占1個字節(jié),而整型是2個字節(jié).字符型變量中所有的數(shù)值是它所表示字符的ASCII碼值.ASCII碼中的一些相關字符是順序排列的,如'0',的ASCII碼值為48,'1'為49以此類推一直到'9';'A'的ASCII碼值為65,'B'為66以此類推一直到'Z'。本題程序首先定義了兩個字符型變量a和b,然后分別使用getchar()和scanf()函數(shù)讀取輸入的字符'B'和十進制整數(shù)33到a和b中,因為a-'A'+'0'等于,'B'-'A'+'0'='1'+'0'='1',而b*2等于33*2=66'A'+1='B'。所以最終輸出的結果是:1B。
23.88解析:本題考查帶參數(shù)的宏定義及相關運算.運算過程為:t=B*2=A+3*2=2+3*2=8。
24.類類
25.有窮性有窮性解析:算法的4個基本特性包括:可靠性、確定性、有窮性和擁有足夠的情報,其中,算法的有窮性指的是算法必須在有限的時間內(nèi)完成,即算法必須在執(zhí)行有限個步驟之后終止。
26.X<Z||y<zX<Z||y<z解析:本題考查邏輯運算符和邏輯表達式。x或y中至少有一個小于z,即X<Z或y<z,是“或”的關系。
27.因為在條件表達式(a<b)?a:b中,比較表達式a<b為真,所以x的值等于a的值等于1,后面兩個條件表達式中的比較表達式都為真,所以最終x的值等于1。\r\n\r\n
28.!=returnj!=,returnj解析:本題程序的流程是:讓i,j都從1開始,其中j用于控制刪除后剩下的數(shù)中的下標,i用于搜索原數(shù)組中的元素。j始終是新數(shù)組已有元素中最后一個元素的下一個元素的下標,所以if()中的條件是a[j-1]!=a[i],其中a[j-1]就是新數(shù)組中的最后一個元素,若條件成立則表示出現(xiàn)了不同的值,所以a[i]要留到新數(shù)組中。注本題中i、j的初值都要從1開始,該算法只能用于數(shù)組已排序的題目中。
29.int*int*解析:從題中代碼可知:z應該是一個整型指針,因此應填int*。
30.(x>10&&x<100)||x<0
31.數(shù)據(jù)結構數(shù)據(jù)結構解析:Jackson方法是—‘種面向數(shù)據(jù)結構的結構化方法。
32.n+1n+1解析:在任意一棵二叉樹中,度為0的結點(即葉子結點)總是比度為0的結點多一個。
33.邏輯關系邏輯關系
34.1212解析:本題通過第一個for循環(huán)將數(shù)組arr[0]=arr[9]分別賦值為0-9,通過第二個for循環(huán)的三次循環(huán)累加,求出結果為12,具體分析如下:
i=1:k=0+arr[1]+1即k=2;
i=2:k=2+arr[2]+2即k=6;
i=3:k=6+arr[3]+3即k=12:
35.3233
36.33解析:i=1時,f(1)=1,j=j+f(1)=0+1=1;i=2時,f(2)=f(1)+1=1+1=2,j=j+f(2)=1+3=3;此時循環(huán)結束,程序運行后的輸出結果是3。
37.先進后出先進后出解析:隊列和棧都是線性結構,但是不同之處在于隊列的操作順序是先進先出,而棧的操作順序是先進后出。
38.黑箱黑箱解析:本題考查了軟件測試中的黑箱測試。黑箱測試是根據(jù)程序規(guī)格說明所規(guī)定的功能來設計測試用例,它不考慮程序的內(nèi)部結構和處理過程。常用的黑箱測試技術分為等價類劃分、邊界分析、錯誤猜測以及因果圖等。
39.前后件關系前后件關系解析:在數(shù)據(jù)存儲結構中,除了要存儲數(shù)據(jù),還要存儲數(shù)據(jù)的前后件關系,對于順序存儲的數(shù)據(jù)結構,前后件之間的關系,是通過存儲空間的位置來實現(xiàn)的,而對于鏈式存儲來說,數(shù)據(jù)元素之間的前后件關系是通過指針來實現(xiàn)的。
40.11解析:本題考查C語言中的if-else語句。if語句中的條件表達式p=a!=0是一個賦值語句,將關系表達式a!=0的結果賦值給變量p。因a=5,所以a!=0的結果為1,即p=1,條件為真,所以執(zhí)行if后面的語句printf('%d\\n',p),輸出結果為1。
41.B解析:考查用指針引用字符串元素的方法。指針a通過數(shù)組元素下標來從頭逐個地引用字符串item中的字符,判斷不是0~9之間的數(shù)字時,就去掉這個字符,所以程序結束后,字符串item中就只剩下和兩個字符了。
42.D解析:“‖”為或運算符,當其左右表達式中只要一個為非零則整個表達式的值1。|是按位或,&是按位與,^是按位異或,這三位運算符是按值的二進制位來比較的。
43.A解析:C語言規(guī)定用戶標識符由英文字母、數(shù)字和下劃線組成,且第一個字符必須是字母或下劃線,由此可見選項B),D)是錯的;此外,C語言不允許用戶將關鍵字作為標識符,而選項C)中的int是C語言的關鍵字。
44.A解析:本題定義了一個結構體類型并自定義類型名為STD,用戶自定義類型后,就可以利用它進行變量與數(shù)組的定義。定義的方法,與C語言中其他類型的定義完全一樣,定義結構型數(shù)組并賦初值時,每個元素用一對{和}括起來,字符型元素用,括起來,選項A、B、C、D中只有選項A符合條件。所以,A選項為所選。
45.A解析:在C語言中所謂函數(shù)的遞歸是指在調(diào)用一個函數(shù)的過程中,又出現(xiàn)了直接或間接調(diào)用該函數(shù)本身,直接調(diào)用該函數(shù)本身的稱為函數(shù)遞歸,而間接調(diào)用該函數(shù)稱為函數(shù)的間接遞歸調(diào)用。由程序可以看出函數(shù)f(a,i,j)為一遞歸函數(shù),其功能是當i<j時,將數(shù)組中的元素a[i]和a[j]交換,然后再調(diào)用函數(shù)f(a,i+1,j-1),將數(shù)組中a[i+1]和a[j--]交換,這樣一直遞歸到數(shù)組下標i=j,可見該遞歸函數(shù)的作用是使數(shù)組中首尾元素依次互換。主函數(shù)中定義了一個長度為5的數(shù)組aa并初始化,然后調(diào)用f(a,0,4),將數(shù)組a中的元素依次互換,故最后for循環(huán)輸出的數(shù)組aa中各元素的值為5、4、3、2、1,所以,4個選項中選項A符合題意。
46.A解析:C語言規(guī)定,賦值號的右邊可以是一個賦值表達式,因此選項C)、選項D)正確;在選項B)中,a++是一個自加1的表達式,a被重新賦值,因此它是一個合法的賦值表達式;在選項A)中,a+d是一個算術表達式,雖然最后有一個分號,但這個表達式中沒有賦值操作,因此它不是一條賦值語句。
47.C解析:根據(jù)二叉樹的性質(zhì)1:二叉樹第k(k>1)層上,最多有2k-1個結點。于是第8層的結點數(shù)最多是27=128。
48.C解析:本題考核的知識點是函數(shù)的返回值.函數(shù)的返回值應該為return后面的表達式的值,在本題中的表達式為*p,*p指的是形參p所指存儲單元中的值,所以,4個選項中選項C符合題意。
49.D解析:這是一個給結構體數(shù)組賦初值的問題。它的賦初值過程與上述二維數(shù)組賦初值很相似。只是這里的大括號中的初始值沒有按行給出(也即沒有用大括號分開來),在這種情況下,初始值將按數(shù)組的各個元素在內(nèi)存中的存放次序逐個逐個地賦給各元素?,F(xiàn)在結構體數(shù)組的各個元素在內(nèi)存中的存放次序是這樣的:class[0].name,class[0].a(chǎn)ge,class[1].name,class[1].a(chǎn)ge…,由此可以知道,包含字母‘M’的字符串'Mary'賦值給了元素class[2].name,則與字符‘M’先相對應的表達式是class[2].name[0]。
50.D解析:“&”是求址運算符,“*”是指變量說明符。選項A)、B)應改為scanf('%d',p);選項C)中指針變量p未指向一確定的內(nèi)存單元,不能為其賦值,并且這樣做很危險,建議不使用。
51.C解析:以b+c代替參數(shù)x,a*=a*(2*b+c+1/2*b+c+1)=3*(2*2+1+1/2*2+1+1)=21。
52.B解析:(a1,a2)是一個逗號表達式,它的值為a2的值即m,以字符格式輸出表達式的值即輸出小寫字母m。
53.B解析:主函數(shù)中首先定義了一個3行3列的二維數(shù)組,定義了一個整型變量指向它,直接通過for循環(huán)給數(shù)組的每一個元素賦值,使得a[0][0]=1、a[0][1]=2、a[0][2]=3、a[1][0]=4、a[1][l]=5、a[1][2]=6、a[2]10]=7、a[2][1]=8、a[2][2]=9。所以,4個選項中選項B符合題意。
54.D本題主要考查軟件的測試。軟件測試的主要目的體現(xiàn)在下面幾個方面。
(1)軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。
(2)一個好的測試用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤。
(3)一個成功的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯誤的測試。
軟件測試的效率是指利用更少的成本創(chuàng)造更多的價值,提供軟件測試效率的方法有很多,如制定一個合理的詳細的測試計劃,了解測試項目的業(yè)務需求,集中對付那些錯誤群集的程序等。而選項A所描述的隨機選取測試數(shù)據(jù)是不能保證提高測試效率的,選項B描述的取一切可能的輸入數(shù)據(jù)作為測試數(shù)據(jù)顯然不能提高測試效率,反而使工作量加大,降低測試效率。
55.B解析:C語言規(guī)定標識符只能由字母、數(shù)字和下畫線3種字符組成,且第一個字符必須為字母或下畫線,排除選項C)和D);C語言中還規(guī)定標識符不能為C語言的關鍵字,而選項A)中void為關鍵字,故排除選項A)。
56.C解析:函數(shù)fun的形參是簡單變量,main函數(shù)中調(diào)用fun時只是把實參的值傳遞給形參,形參的改變不影響實參,所以調(diào)用完函數(shù)fun后a的值不發(fā)生變化,即a=31。
57.C解析:do-while語句的一般形式為:do循環(huán)體語句while(表達式);,其中循環(huán)體語句可以是復合型語句,但必須用花括號括起來。while后必須要有分號作為語句的結束,在do-while循環(huán)中,不可以省略while。
58.A解析:三目運算表達式的規(guī)則為如果“?”前面的表達式的值為真,則取“:”前的表達式的值,否則,取“:”后面表達式的值。分析題目中給出的表達式可知,如果a>b和b>c同時成立,k=1,否則k=0。
59.A開發(fā)大型軟件時,產(chǎn)生困難的原因有很多,如需求難以捕捉、員工水平有限、工作安排不太合理、進度控制難以把握、系統(tǒng)開發(fā)時間有限等元素,但這些都不是根本的原因,根本的原因是大系統(tǒng)的復雜性。
60.D解析:表達式a+=a-=a*a看起來復雜,其實將它分成兩個表達式來計算就簡單了:①第一個表達式(a-=a*a)=(a=a-a*a=-12);②第二個表達式(a+=a-=a*a)=(a=a+a=-24)。
61.AA選項中E后面的指數(shù)必須為整型數(shù)據(jù),所以A錯誤。c選項中011表示的是八進制常量,0xabcd表示的是十六進制常量。
62.C
63.D
64.C
65.BB項的格式應該為scanf("%1d*%d%1f",&x,&y,&z);
66.B
67.C循環(huán)的作用是將輸入的字符串轉(zhuǎn)化為大寫,9etchar()每次讀入一個字符,putchar()每次輸出一個字符,當遇到#字符結束。putchar(++C),表示將字符變量C加1后輸出。因此,輸入aBcDefG##,得到的結果是BCDEFGH。故答案為c選項。
68.B
69.C在本題中,首先定義了一個fun函數(shù),函數(shù)中的形參是一個數(shù)組,該函數(shù)中首先定義了一個靜態(tài)整型變量j并賦了初值,注意,靜態(tài)變量的作用域是整個程序,而非該函數(shù)。從該函數(shù)的程序段不難
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人創(chuàng)業(yè)無息貸款支持合同(二零二五版)3篇
- 2025年度個人房屋抵押貸款合同標準范本4篇
- 2025年度勞動合同終止及離職員工離職手續(xù)辦理協(xié)議4篇
- 建筑用木材采購合同(2篇)
- 工廠交叉作業(yè)安全管理協(xié)議書(2篇)
- 2025年消防設施技術改造合作協(xié)議范本3篇
- 2024年咨詢工程師(經(jīng)濟政策)考試題庫(a卷)
- 水管檢修口施工方案
- 二零二五年度門窗行業(yè)市場調(diào)研與分析合同7篇
- 春節(jié)最幸福的描寫作文四篇
- 化學-河南省TOP二十名校2025屆高三調(diào)研考試(三)試題和答案
- 智慧農(nóng)貿(mào)批發(fā)市場平臺規(guī)劃建設方案
- 2023年水利部黃河水利委員會招聘考試真題
- 2022年袋鼠數(shù)學競賽真題一二年級組含答案
- 生物教學數(shù)字化設計方案
- 半導體工藝用膠帶全球市場、份額、市場規(guī)模、趨勢、行業(yè)分析報告2024-2030年
- 建筑施工中常見的安全問題及解決方法
- 乳腺導管原位癌
- 冷庫管道應急預案
- 《學習教育重要論述》考試復習題庫(共250余題)
- 網(wǎng)易云音樂用戶情感畫像研究
評論
0/150
提交評論