版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2022-2023年甘肅省武威市全國計算機等級考試C語言程序設計真題二卷(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.語句int(*ptr)()的含義是()。
A.ptr是一個返回值是int的函數
B.ptr是指向int型數據的指針變量
C.ptr是指向函數的指針,該函數返回一個int型數據
D.ptr是一個函數名,該函數的返回值是指向血型數據的指針
2.若有定義“inta,b;”,通過語句“scanf(“%d;%d,”&a,&b)能把整數3賦給變量a、5賦給變量b的輸入數據是()。
A.35B.3,5C.3;5D.35
3.有以下程序:#include<stdio.h>main(){inti,j=0;chara[]=“ab123c4d56ef7gh89”;for(i=0;a[i];i++)if(a[i]>=‘0’&&a[i]<=‘9’)a[j++]=a[i];a[j]=‘\0’;printf(“%s”,a);}程序運行后的輸出結果是()。
A.123456789abcdefgh
B.abcdefgh
C.123456789
D.1234567896ef7gh89
4.以下敘述中錯誤的是()。
A.改變函數形參的值,不會改變對應實參的值
B.函數可以返回地址值
C.可以給指針變量賦一個整數作為地址值
D.當在程序的開頭包含文件stdi0.h時,可以給指針變量賦NULL
5.數據表A中有10000個元素,如果僅要求求出其中最大的10個元素,則采用()最節(jié)省時間。
A.堆排序B.希爾排序C.快速排序D.希爾排序
6.有以下程序段intj;floaty;charname[50];scanf("%2d%f%s",&i,&y,name);當執(zhí)行上述程序段,從鍵盤上輸入555667777abc后,y的值為()。A.55566.0B.566.0C.7777.0D.566777.0
7.函數filecopy的功能是,將fin所指文件中的內容輸出到fout所指文件中,但函數不完整:voidfilecopy(FILE*fin,FILE*fout){charch;ch=getc(fin);while(_______){putc(ch,fout);ch=getc(fin);}}其中下劃線處應填入的是()。A.!feof(fin)B.!feof(fout)C.feof(fin)==1D.feof(fout)==1
8.求2n個數中的最大值和最小值,最少的比較次數是()
A.4n/3B.2n-2C.3n-2D.3n/2
9.設有如下函數定義:intfun(intk){if(k<1)return0;elseif(k==l)returnl;elsereturnfun(k-1)+1:}若執(zhí)行調用語句:“n=fun(3);”,則函數fun總共被訶用的次數是()。A.2B.3C.4D.5
10.
11.可以作為Windows外殼程序的是()
A.程序管理器B.文件管理C.程序管理器和文件管理器D.主群組
12.有以下程序:#include<stdio.b>voidfun(charc){if(c>X)fun(c-1):printf("%C",c);}traia(){fun(z);}程序運行后的輸出結果是()A.xyzB.wxyzC.xzyD.zvx
13.
有以下程序
#include<stdio.h>
main
{inta=1,b=2,c=3,x;
x=(a^b)&C;printf("%d",x);
}
程序的運行結果是()。
A.0B.1C.2D.3
14.下列敘述中錯誤的是()。A.在數據庫系統中,數據的物理結構必須與邏輯結構一致,
B.數據庫技術的根本目標是要解決數據的共享問題
C.數據庫設計是指在已有數據庫管理系統的基礎上建立數據庫
D.數據庫系統需要操作系統的支持
15.若在以下定義和賦值語句,則才s數組的第i行第j列(假設i,j已正確說明并賦值)元素地址的合法引用為ints[2][3]={0},(*p)[3];p=s;
A.*(*(p+i)+j)B.*(p[i]+j)C.(p+i)+jD.(*(p+i))[j]
16.C語言的基本單位是()。
A.函數B.過程C.子程序D.子函數
17.定義int*swap()指的是______。
A.—個返回整型值的函數swap()
B.一個返回指向整型值指針的函swap()
C.一個指向函數swap()的指針,函數返回一個整型值
D.以上說法均錯
18.若要用函數fopen打開一個新的二進制文件,該文件要既能讀也能寫,則應以哪種方式打開文件()。
A.wbB.wb+C.rb+D.rb
19.下列敘述中正確的是()。
A.break語句只能用于switch語句體中
B.continue語句的作用是使程序的執(zhí)行流程跳出包含它的所有循環(huán)
C.break語句只能用在循環(huán)體內和switch語句體內
D.在循環(huán)體內使用break語句和continue語句的作用相同
20.在關系中凡能惟一標識元組的最小屬性集稱為該表的鍵或碼。二維表中可能有若干個鍵,它們稱為該表的()
A.連接碼B.關系碼C.外碼D.候選碼
二、2.填空題(20題)21.E-mail地址由用戶名和域名兩部分組成,這兩部分的分隔符為【】。
22.在面向對象方法中,屬性與操作相似的一組對象稱為【】。
23.設在主函數中有以下定義和函數調用語句,且fun函數為void類型;請寫出fun函數的首部【】(要求形參名為b)。main(){doubles[10][22];intn;……fun(s);……}
24.以下程序運行后的輸出結果是______。
main()
{chara[]="Language",b[]="Programe";
char*p1,*p2;
intk;
p1=a;p2=b;
for(k=0;k<=7;k++)
if(*(p1+k)==*(p2+k))printf("%c,*(p1+k));
}
25.數據字典是各類數據描述的集合,它通常包括五個部分,即數據項、數據結構、數據流、【】和處理過程。
26.執(zhí)行下面程序段后,k值是【】。
k=1;n=263;
do
{k*=n%10;n/=10;
}while(n);
27.以下isprime函數的功能是判斷形參a是否為素數,是素數,函數返回1,
否則返回0。請?zhí)羁铡?/p>
intisprime(inta)
{inti;
for(i=2;i<=a/2;i++)
if(a%i==0)【】;
【】;
}
28.下面程序的運行結果是()。##include<stdio.h>main(){inta,s,n,m;a=2;s=0;n=1;m=1;while(m<=4){n=n*a;s=s+n;++m;}printf("s=%d",s);}
29.下面程序的運行結果是:【】。
#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);
}
30.以下函數用來求出兩整數之和,并通過形參將結果傳回,請?zhí)畛渫暾?/p>
voidfunc(intx,inty,【】z)
{*z=x+y;
}
31.若給fun函數的形參s傳送字符串:"abc-6354abc",則函數的返回值是()。(字符串中包括空格)
longfun(charS[])
{longn;intsign;
for(;isspace(*s)||islower(*s);s++);
sign=(*s=='-')?-1:1;
if(*s=='+'||*s=='-')s++;
for(n=0;isdigit(*s);s++)
n=10*n+(*S-'0');
returnsign*n;
}
32.若有語句doublex=17;inty;,當執(zhí)行y=(int)(x/5)%2;之后y的值為()。
33.函數delete(s,i,n)是作用是從字符串s中刪除從第i個字符開始的n個字符,請?zhí)羁铡?/p>
voiddelete(chars[],inti,intn)
{intj,k,length=0;
while(s[length])
【】;
-i;
j=i
}
if(【】)
{k=i+n;
if(i+n<=length)
while(k<length)
s[j++]=s[k++];
s[j]='\0';
}
34.以下程序運行后的輸出結果是______。
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);
}
35.二分法查找僅限于這樣的表:表中的數據元素必須有序,其存儲結構必須是______。
36.當運行以下程序時,輸入abcd,程序的輸出結果是【】。
insert(charstr[])
{inti;
i=stolen(str);
while(i>0)
{str[2*i]=str[i];str[2*i-1]='*';i--;}
printf("%s\n",sir);
}
main()
{charstr[40];
seanf("%s",str);insert(str);
}
37.將以下程序段寫成三目運算表達式:【】。
if(a>b)max=a;
elsemax=b;
38.定義inta=5,b;,則執(zhí)行表達式b=++a*--a之后,變量b的值為【】。
39.下面程序的運行結果是()。#definePOW(r)r*rmain(){intx=2,y=3,t;t=POW(x+y);printf("%d\n",t);}
40.下列程序的運行結果是______。
#include<stdio.h>
main()
{inta,b,c;
a=3;b=4;c=5;
if(a>b)
if(a>c)
printf("%d",a);
elseprintf("%d",b);
printf("%d\n",c);
}
三、1.選擇題(20題)41.以下敘述正確的是
A.continue語句的作用是結束整個循環(huán)的執(zhí)行
B.只能在循環(huán)體內和swish語句體內使用break語句
C.在循環(huán)體內使用break語句或continue語句的作用相同
D.從多層循環(huán)嵌套中退出時,只能使用goto語句
42.以下程序的輸出結果是#include<stdio.h>inta[3][3]={1,2,3,4,5,6,7,8,9,},*p;main(){p=(int*)malloc(sizeof(int));f(p,a);printf("%d\n”,*p);free(p);}f(int*s,intp[][3]){*s=p[1][1];}
A.1B.4C.7D.5
43.有以下程序main(){inta[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,j,k,t;for(i=0;i<4;i++)for(j=0;j<3;j++)for(k=j+1;k<4;k++)if(a[j][i]>a[k][i]){t=a[j][i];a[j][i]=a[k][i];a[k][i]=t;}/*按列排序*/for(i=0;i<4;i++)printf("%d,",a[i][i]);
A.1,6,5,7,B.8,7,3,1,C.4,7,5,2,D.1,6,2,1,
44.有以下程序段
intj;floaty;charname[50];
scanf("%2d%f%s",&j,&y,name);
當執(zhí)行上述程序段,從鍵盤上輸入555667777abc后,y的值為
A.55566.0B.566.0C.7777.0D.566777.0
45.下列選項中不符合良好程序設計風格的是A.源程序要文檔化B.數據說明的次序要規(guī)范化C.避免濫用goto語句D.模塊設計要保證高耦合、高內聚
46.有定義語句:intx,y;若要通過scanf("%d,%do,&x,&y);語句使變量x得到數值11,變量y得到數值12,下面四組輸入形式中,錯誤的是
A.1112<回車>B.11,12<回車>C.11,12<回車>D.11,<回車>12<回車>
47.下列能正確進行字符串賦值的是()。
A.chars[5]={"ABCDE"};
B.chars[5]+{'A','B','C','D','E'),
C.char*s;s="ABCDE";
D.char*s;printf("%S''S);
48.以下程序段的輸出結果是______。main(){chars1[10],s2[10],s3[10];scanf("%s",s1);gets(s2);gets(s3);puts(s1);puts(s2);puts(s3);}輸入數據如下:(此處<CR>代表回車符)aaa<CR>bbb<CR>
A.aaabbbB.aaabbbC.aaa\0bbb\0D.aaabbb
49.設p1和p2是指向一個血型一維數組的指針變量,k為int型變量,則不能正確執(zhí)行的語句是
A.k=*p1+*p2B.p2=k;C.p1=p2;D.k=*p1*(*p2);
50.若函數調用時的實參為變量,以下關于函數形參和實參的敘述中正確的是()。
A.函數的實參和其對應的形參共占同一存儲單元
B.形參只是形式上的存在,不占用具體存儲單元
C.同名的實參和形參占同一存儲單元
D.函數的彤參和實參分別占用不同的存儲單元
51.有下列二叉樹,對此二叉樹前序遍歷的結果為()。
A.XZCYABB.XYZABCC.XYABCZD.XYAZBC
52.以下選項中不能作為合法常量的是_____。A.1.234e04B.1.234e0.4C.1.234e+4D.1.234e0
53.多媒體計算機系統的兩大組成部分是()
A.多媒體功能卡和多媒體主機
B.多媒體通信羅件和多媒體開發(fā)工具
C.多媒體輸入設備和多媒體輸出設備
D.多媒體計算機硬件系統和多媒體計算機軟件系統
54.表示關系x≥y≥z應使用C語言表達式()
A.(x>=y)&&(y>=z)
B.(x>y)AND(y>z)
C.x>=y>=z
D.(x>=y)&(y>=2)
55.在C語言中,函數的隱含存儲類別是______。
A.autoB.staticC.externD.無存儲類別
56.算法的時間復雜度是指______。
A.執(zhí)行算法程序所需要的時間B.算法程序的長度C.算法執(zhí)行過程中所需要的基本運算次數D.算法程序中的指令條數
57.用C語言編寫的代碼程序A.可立即執(zhí)行B.是一個源程序C.經過編譯即可執(zhí)行D.經過編譯解釋才能執(zhí)行
58.設R是一個二元關系,S是一個三元關系,則下列運算中正確的是()。
A.R-SB.R×SC.RNSD.RUS
59.下列敘述中正確的是()。
A.線性鏈表是線性表的鏈式存儲結構B.棧與隊列是非線性結構C.雙向鏈表是非線性結構D.只有根節(jié)點的二叉樹是線性結構
60.有如下程序:#include<stdio.h>main(){FILE*fpl;fp1=fopen("ftxt","w");fpfinff(fp1,"abc");fclose(fp1);若文本文件f1.txt中原有內容為:good,則運行以上程序后文件f1.txt中的內容為()。
A.goodabcB.abcdC.abcD.abegood
四、選擇題(20題)61.
62.以下函數實現按每行8個輸出w所指數組中的數據
63.下面程序的輸出結果是()。
#inclde<stdio.h>
#defineSUB(X,Y)(X)*Y
main()
{inta=3,b=4;
printf("%d\n",SUB(a++,b++));
}
A.12B.15C.16D.20
64.以下可用作C語言用戶標識符的是()
A.void,define,WORD
B.a3_b3,_123,IF
C.FOR,--abc,Case
D.2a,Do,Sizeof
65.下面敘述正確的是______。A.算法的執(zhí)行效率與數據的存儲結構無關
B.算法的空間復雜度是指算法程序中指令(或語句)的條數
C.算法的有窮性是指算法必須能在執(zhí)行有限個步驟之后終止
D.以上三種描述都不對
66.設有定義
67.下列選項中,能夠滿足“若字符串sl等于字符串s2,則執(zhí)行sT”要求的是()。
A.
B.
C.
68.在下列語句中,其含義為“q是一個函數指針,該指針指向整型數據”的定義語句是()。
A.int**q;B.int(*q);C.int*q;D.int*q;
69.表達式a+=a-=a=9的值是()。
A.0B.-9C.18D.9
70.
有以下計算公式
若程序前面已在命令中包含math.h文件,不能夠正確
計算上述公式的程序段是()。
A.if(x>=0)y=sqrt(x);elsey=sqrt(-x);
B.y=sqrt(x)if(x<0)y=sqrt(0x);
C.if(x>=O)y=sqrt(x);If(x<O)y=sqrt(0x);
D.y=sqrt(x>=0?x:0x);
71.下列有關數據庫的描述,正確的是A.數據處理是將信息轉化為數據的過程
B.數據的物理獨立性是指當數據的邏輯結構改變時,數據的存儲結構不變
C.關系中的每一列稱為元組,一個元組就是一個字段
D.如果一個關系中的屬性或屬性組并非該關系的關鍵字,但它是另一個關系的關鍵字,則稱其為本關系的外關鍵字
72.下列描述中不正確的是()。
A.字符型數組中可能存放字符串。
B.可以對字符型數組進行整體輸入、輸出。
C.可以對整型數組進行整體輸入、輸出。
D.不能在賦值語句中通過賦值運算符“=”對字符型數組進行整體賦值。
73.一名工作人員可以使用多臺計算機,而一臺計算機可被多名工作人員使用,則實體工作人員與實體計算機之間的聯系是()。
A.—對一B.—對多C.多對多D.多對一
74.下列數據結構中,屬于非線性結構的是A.循環(huán)隊列B.帶鏈隊列C.二叉樹D.帶鏈棧
75.下列程序的運行結果是()。#include<stdio.h>#defineADD(x)x+xmain{intm=1,n=2,k=3;intS=ADD(m+n)*k;printf("s=%d",s);}A.sum=18B.sum=10C.sum=9D.sum=25
76.
77.
有以下程序
#include<stdi0.h>
main
{FILE*fp;inta[0]一{1,2,3,0,0},i;
fp=fopen("d2.dat,"wb");
fwrite(a,sizeof(int),5,fp);
fwrite(a,sizeof(int),5,fp);
fclose(fp);
fp=fopen("d2.dat","rb");
fread(a.sizeof(int),10,fp);
fclose(fp);
for(i=0;i<10;i++)printft("%d",a[i]);
}
程序的運行結果是()。
A.1,2,3,0,0,o,0,0,0,0,
B.1,2,3,1,2,3,0,0,0,0,
C.123,0,0,0,0,123,0,0,0,0,
D.1,2,3,0,0,1,2,3,0,0,
78.
79.
80.下列關于隊列的敘述中正確的是()。A.在隊列中只能插人數據B.在隊列中只能刪除數據C.隊列是先進先出的線性表D.隊列是先進后出的線性表
五、程序改錯題(1題)81.下列給定程序中,函數fun的功能是:求兩個非零正整數的最大公約數,并作為函數值返回。例如,若nmnl和num2分別為49和21,則輸出的最大公約數為7;若num1和num2分別為27和81,則輸也的最大公約數為27。請改正程序中的錯誤,使它能得出正確結果。注意:不要改動main函數,不得增行或硼行,也不得更改程序的結構!試題程序:
六、程序設計題(1題)82.假定輸入的字符串中只包含字母和*號。請編寫函數proc(),它的功能是:將字符串尾部的*號全部刪除,前面和中間的*號不刪除。例如,若字符串中的內容為****a*bc*def*g。***,刪除后,字符串中的內容則應當是****a*bc*def*g。注意:部分源程序給出如下。請勿改動主函數main和其他函數中的任何內容,僅在函數proc的花括號中填入所編寫的若干語句。試題程序:
參考答案
1.C解析:本題考查的是指向函數的指針.函數指針定義的基本格式為:類型標識符(*指針變量名)()?!邦愋蜆俗R符”為函數返回值的類型。
2.C輸入數據的格式必須與scanf的格式控制字符串完全匹配。函數中非格式字符需要原樣輸入,所以輸入時必須在3和5之間輸入“;”。故本題答案為C選項。
3.C題干中定義了字符數組a,它包含數字字符和字母字符。通過for循環(huán),將a中所有的數字字符前移,舍去其他字符,并在數字字符后添加字符串結束符‘\\0’,for循環(huán)結束后,字符串a的值為:123456789。故本題答案為C選項。
4.C指針變量的值只能是存儲單元地址,而不能是一個整數,故選項C錯誤。
5.B
6.B變量J只接收輸入數據的前兩位,從第三位開始直到空格之間的輸入整數都會被保存到浮點型變量Y中。
7.Afilecopy函數每次從fin文件指針調用getc函數讀取一個字符存放到ch中,再通過while循環(huán)調用putc函數將ch寫入fout,直到fin指向文件尾部為止。所以while的循環(huán)條件是判斷fin是否到文件尾部。這里使用feof函數判斷:feof返回值為真時,表示fin指向了文件尾部,否則表示fin未到文件尾部。所以while循環(huán)條件為!feof(fin)。故本題答案為A選項。
8.A
9.B此題考查簡單的循環(huán),當執(zhí)行n=fun(3),則函數fun執(zhí)行3次。
10.C
11.C
12.A本題考查簡單的遞歸函數,當c>X則會產生遞歸,依次類推,答案選擇A.
13.D
\n首先計算1與2的或運算,再將其結果與3進行“與”運算,結果為00000011,即十進制數3。
\n
14.A解析:本題考查數據庫系統的基本概念和知識。數據的邏輯結構,是數據間關系的描述,它只抽象地反映數據元素之間的邏輯關系,而不管其在計算機中的存儲方式。數據的存儲結構,又叫物理結構,是邏輯結構在計算機存儲器里的實現。這兩者之間沒有必然的聯系。因此,選項A的說法是錯誤的。
數據庫可以看成是長期存儲在計算機內的、大量的、有結構的和可共享的數據集合。因此,數據庫具有為各種用戶所共享的特點。不同的用戶可以使用同一個數據庫,可以取出它們所需要的子集,而且容許子集任意重疊。數據庫的根本目標是要解決數據的共享問題。因此,選項B的說法是正確的。
數據庫設計是在數據庫管理系統的支持下,按照應用的要求,設計一個結構合理、使用方便、效率較高的數據庫及其應用系統。數據庫設計包含兩方面的內容:一是結構設計,也就是設計數據庫框架或數據庫結構;二是行為設計,即設計基于數據庫的各類應用程序、事務等。因此,選項C的說法是錯誤的。
數據庫系統除了數據庫管理軟件之外,還必須有其他相關軟件的支持。這些軟件包括操作系統、編譯系統、應用軟件開發(fā)工具等。對于大型的多用戶數據庫系統和網絡數據庫系統,還需要多用戶系統軟件和網絡系統軟件的支持。因此,選項D的說法是正確的。因此,本題的正確答案是選項A。
15.A解析:p+i是數組s的第i+1行的首地址,而*(p+i)則是數組第i+1行第1列的元素的地址,*(p+i)+j則是第i+1行的第j+1列的地址,*(*(p+i)+j)引用的是數組元素s[i][j]的值。注意:通過建立一個指針數組來引用二維數組元素。
16.AA。【解析】C語言是函數式的語言。它的基本組成單位是函數,在C語言中任何程序都是由一個或者多個函數組成的。
17.B解析:—個函數可以帶回—個整型值、字符值、實型值等,但也可以帶回指針型數據,即地址。本題的定義中,包括括號和*號,由于()優(yōu)先級高于*。故它是—個返回整型指針的函數。
18.B解析:本題考查文件使用方式標識符。方式“wb”為輸出打開一個二進制文件;方式“wb+”為讀寫建立一個新的二進制文件;方式“rb+”為讀寫打開一個二進制文件:方式“rb”為輸入打開一個二進制文件。
19.C解析:只能在循環(huán)體內和switch語句體內使用break語句。當break出現在循環(huán)體的switch語句體內時,其作用只是跳出該switch語句體,并不能中止循環(huán)體的執(zhí)行。若想強行中止循環(huán)體的執(zhí)行,可以在循環(huán)體中,但并不在switch語句中設置break語句,滿足某種條件,則跳出本層循環(huán)體。
20.DD)【解析】在關系中凡能惟一標識元組的最小屬性集稱為該表的鍵或碼。二維表中可能有若干個鍵,它們稱為該表的候選碼或候選鍵。從二維表的所有候選鍵中選取一個作為用戶使用的鍵稱為主鍵或主碼。
21.@
22.類類解析:在面向對象方法中,類描述的是具有相似性質的一組對象。所以,屬性與操作相似的一組對象稱為類。
23.
24.gae
25.數據存儲數據存儲
26.3636解析:本題循環(huán)體共執(zhí)行了3次。第一次:k=3,n=26:第二次:k=18,n=2;第三次:k=36,n=0。
27.return0return1return0,return1解析:如果a能被i整除,則a是素數,返回值為0。如果a不能被i整除,則a不是素數,返回值為1。
28.s=30s=30解析:分析循環(huán)條件“m=1,m<=4”,所以循環(huán)4次。第1次:n=n*a=2,s=s+n=2;m=2。第2次:n=n*a=4,s=s+n=6;m=3。第3次:n=n*a=8,s=s+n=14;m=4。第4次:n=n*a=16,s=s+n=30。
29.100010100010解析:首先將程序中的宏替換掉,兩處的宏替換后分別為i1=1000/10*10和i2=1000/(10*10),即i1=1000,i2=10,所以最后輸出的i1和i2的值分別為1000和10。
30.int*int*解析:從函數體中可看出,2是一個指向整型的指針,該函數的形參z是傳地址調用。
31.-6354-6354解析:本題的考查點是函數的返回值。這個函數的目的是提取出由函數的形參傳送來的字符串中的數字字符,并通過相應字符位置計算出它們數值形式的冪,最后返回字符串中的數字字符的數值形式,所以函數的返回值應當是“-6354”。
32.11解析:(int)(x/5)=3,3%2=1。
33.length++i<lengthlength++\r\ni<length解析:第一個循環(huán)極有可能是計算串的長度,在i<=length時字符才被刪除,被刪除的是從第i個到第i+n或最后一個間的所有字符。刪除前,應判斷i<=length。由于已經進行了-i運算,故實際應填入i<length。
34.因為在條件表達式(a<b)?a:b中,比較表達式a<b為真,所以x的值等于a的值等于1,后面兩個條件表達式中的比較表達式都為真,所以最終x的值等于1。\r\n\r\n
35.順序存儲(順序方式存儲)順序存儲(順序方式存儲)解析:二分法查找對表的要求是有序的順序表,即第一要求是數據元素有序,第二要求是按順序方式存儲。
36.a*b*c*d*a*b*c*d*解析:程序中的變量i用于存放字符串str的長度,執(zhí)行while語句,通過分析可知,字符串第2*i項的值可由第i項的值得到;第2*i-1項直接賦值為。號,i減1,如此反復直到不滿足i>0的條件時,輸出運行后的字符串。
37.max=(a>b)?a:bmax=(a>b)?a:b解析:本題考查三目運算符的用法,條件表達式的一般形式為:
表達式1?表達式2:表達式3
所以,本題可以寫成(a>b)?a:b,它是一個條件表達式,執(zhí)行順序是:如果條件(a>b)為真,則條件表達式取值a,否則取值b。
38.2525解析:#NAME?
39.11
40.55解析:分析程序,當a=3;b=4;c=5時,判斷語句a>b不成立,所以不執(zhí)行后面的語句,直接執(zhí)行“printf('%d\\n',c);”語句,輸出c的值,輸出結果為5。
41.B
42.D解析:本題考查了二維數組元素引用的方法。題中用動態(tài)存儲分配函數malloc分配了一個int型數據長度大小的內存,然后指針p指向了這段內存,函數f()中對p所指向的數據進行了賦值,p[1][1]為二維數組第二行第二列的元素,對應于實參a的元素5,所以輸出結果為5。
43.A解析:本題利用多重for循環(huán)的嵌套來實現對二維數組元素的按列排序。利用最外層循環(huán)來實現對列的控制。內部循環(huán)利用選擇法對數組元素按照從小到大的順序進行排列,最后輸出對角線上的元素值。
44.B解析:本題考查通過scanf函數輸入數據時的格式控制問題。變量j的格式控制為“%2d”,即只接收輸入數據的前兩位,從第三位開始直到空格之間的輸入都會被保存到變量y中,因為y為浮點型數據,所以輸出結果為選項B)。
45.D解析:編程風格是在不影響性能的前提下,有效地編排和組織程序,以提高可讀性和可維護性。更直接地說,風格就是意味著要按照規(guī)則進行編程。這些規(guī)則包括:(1)程序文檔化。就是程序文檔包含恰當的標識符、適當的注解和程序的視覺組織等。(2)數據說明。出于閱讀理解和維護的需要,最好使模塊前的說明語句次序規(guī)范化。此外,為方便查找,在每個說明語句的說明符后,數據名應按照字典順序排列。(3)功能模塊化。即把源程序代碼按照功能劃分為低耦合、高內聚的模塊。(4)注意goto語句的使用。合理使用goto語句可以提高代碼的運行效率,但goto語句的使用會破壞程序的結構特性。因此,除非確實需要,否則最好不使用goto語句。因此,本題的正確答案是D。
46.A解析:scanf()函數有兩個參數,第一個參數為輸入格式字符申;第二個參數為輸入變量地址列表,在scanf()語句中非格式字符可以作為輸入時數據的間隔,輸入時必須原樣輸入,在本題中輸入格式串為%d,%d其中“,”為非格式字符,所以輸入時必須原樣輸入。
47.C解析:字符串存儲要有結束符“\\0”且要占用一個空間,選項A)、B)的空間不夠;printf用來輸出字符,不能輸入字符串。
48.B解析:scanf是標準輸入函數,在輸入字符串aaa時,實際的內容為“aaa\\0”,“\\0”是由系統自動加入的:gets的功能是從終端讀入一行字符,即一直讀到換行符為止,并由系統自動以“/0”代替換行符。
49.B解析:本題主要考查了一維數組指針的賦值和用指針引用數組元素進行運算。選項B)中p2為指向int型變量的指針,而k為int型變量,不能將int型變量直接賦值給指向int型變量的指針,所以選項B)錯誤。
50.D
51.D解析:對二叉樹的前序遍歷是指先訪問根結點,然后訪問左于樹,最后訪問右子樹,并且在訪問左、右子樹時,先訪問根結點,再依次訪問其左、右于樹。
52.B解析:本題考查的是C語言中實型常量的指數表示法。實型常量的指數表示法是用字母e(或E)將一個實數的小數部分和指數部分分隔開。字母e(或E)之前是小數部分,之后是指數部分,這兩部分都不能省略,且指數部分必須為整數。故選項B不正確。所以,4個選項中選項B符合題意。
53.D
54.A
55.C解析:C語言規(guī)定,只要在定義函數時不進行存儲類型的顯式說明,函數的存儲類型就隱含為外部類型,即extern型,外部類型允許其他文件中的函數調用。
56.C解析:算法的時間復雜度實際上就是執(zhí)行算法程序所需要的計算工作量。為了客觀地反映算法性能,在度量算法的時間復雜度時,應該與編寫算法程序所使用的程序設計語言、執(zhí)行算法程序時所使用的計算的工具以及程序員的水平無關。選項A錯誤,因為同一算法程序在運行速度不同的計算機上運行時,其計算時間是不同的。選項B錯誤,因為算法所編寫的程序長度往往與程序設計語言以及程序員的水平有關,同一個算法,用不同的程序設計語言或者不同的程序員所編寫出的程序其長度可能會大不相同。選項D錯誤,因為根據一個算法所編制出的程序之中,其指令條數往往與程序設計語言以及程序員的水平有關,不能用算法程序中的指令條數來度量算法的時間復雜度。所以,本題正確答案為C。
57.B解析:C語言是一種高級語言,C語言源程序經過C語言編譯程序編譯之后,生成一個后綴為.OBJ的二進制文件(稱為目標文件),最后還要由稱為“連接程序”(Link)的軟件,把此.OBJ文件與c語言提供的各種庫函數連接在一起,生成一個后綴.EXE的可執(zhí)行文件。顯然C語言不能立即執(zhí)行。
58.B解析:關系的交(∩)、并(∪)和差(-)運算要求兩個關系是同元的,顯然作為二元的R和三元S只能做笛卡兒積運算。
59.A解析:線性表是一種線性結構,數據元素性表中的位置只取決于它們自己的序號,即數據元素之間的相對位置是線性的;棧、隊列、線性鏈表實際上也是線性表,故也是線性結構。線性鏈表:線性表的鏈式存儲結構稱為線性鏈表,是一種物理存儲單元上非連續(xù)、非順序的存儲結構,數據元素的邏輯順序是通過鏈表中的指針鏈接來實現的。
60.C執(zhí)行語句fp1=fopen("f1.txt","w");以“只寫”方式打開了一個名為f1.txt的文件,執(zhí)行語句fPrintf(fp1,"abc",);向該
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國油泵電動機行業(yè)投資前景及策略咨詢研究報告
- 2024至2030年中國液壓彈簧壓縮機數據監(jiān)測研究報告
- 安全月總結會流程
- 廣州華夏職業(yè)學院《企業(yè)與項目管理》2023-2024學年第一學期期末試卷
- 復工復產培訓
- 2024年保密基本知識考試試題及答案
- 山東省標準化培訓課件
- 線下實體店加盟連鎖協議
- 財務成本控制與審計制度詳解
- 多模式融合的農業(yè)現代化智能種植發(fā)展策略
- 【講座】2020年福建省高職分類考試招生指導講座
- 性格決定命運課件
- 球磨機安全檢查表分析(SCL)+評價記錄
- 學習會計基礎工作規(guī)范課件
- 口腔醫(yī)學生職業(yè)生涯規(guī)劃課件
- 雙面埋弧焊螺旋鋼管公稱外公壁厚和每米理論重量
- 富士施樂VC2265打印機使用說明SPO
- 幼兒園繪本故事:《小年獸》 課件
- 簡易呼吸氣囊操作最全課件
- 小班數學《香香的餅干》
- 醫(yī)院工會經費使用與管理辦法、制度規(guī)則
評論
0/150
提交評論