版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2022-2023年山東省泰安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.有定義語(yǔ)句intb;charc[10];,則正確的輸入語(yǔ)句是______。A.scallf("%d%s",&b,&c);
B.scallf("%d%s",&b,c);
C.scanf("%d%s",b,c)
D.scanf("%d%s",b,&c);
2.
3.數(shù)據(jù)庫(kù)DB、數(shù)據(jù)庫(kù)系統(tǒng)DBS、數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS之間的關(guān)系是()。
A.DB包含DBS和DBMSB.DBMS包含DB和DBSC.DBS包含DB和DBMSD.沒(méi)有任何關(guān)系
4.
有以下程序:
main
{intx=102,y=012;
printf("%2d,%2d\n",x,y);
}
執(zhí)行后輸出結(jié)果是()。
A.10,01B.02,12C.102,10D.02,10
5.若有運(yùn)算符:>、*=、<<、%、sizeof,則它們按優(yōu)先級(jí)(由低至高)的正確排列次序?yàn)?)。
A.*=<<>%sizeof
B.<<*=>%sizeof
C.%=><<sizeof%
D.*=><<%sizeof
6.下列程序段的時(shí)間復(fù)雜度為()。A.O(3n)B.O(n)C.O(n2)D.O(log3n)
7.執(zhí)行完下列語(yǔ)句段后,i值為()。A.A.2B.4C.8D.無(wú)限遞歸
8.
9.以下敘述中錯(cuò)誤的是
A.在程序中凡是以“#”開始的語(yǔ)句行都是預(yù)處理命令行
B.預(yù)處理命令行的最后不能以分號(hào)表示結(jié)束
C.#defineMAX是合法的宏定義命令行
D.C程序?qū)︻A(yù)處理命令行的處理是在程序執(zhí)行的過(guò)程中進(jìn)行的
10.下列敘述中正確的是:()A.C語(yǔ)言程序中,main()函數(shù)必須在其它函數(shù)之前,函數(shù)內(nèi)可以嵌套定義函數(shù)
B.C語(yǔ)言程序中,main()函數(shù)的位置沒(méi)有限制,函數(shù)內(nèi)不可以嵌套定義函數(shù)
C.C語(yǔ)言程序中,main()函數(shù)必須在其它函數(shù)之前,函數(shù)內(nèi)不可以嵌套定義函數(shù)
D.C語(yǔ)言程序中,main()函數(shù)必須在其它函數(shù)之后,函數(shù)內(nèi)可以嵌套定義函數(shù)
11.有以下程序:#include<stdio.h>#include<string.h>main(){printf(“%d\n”,strlen(“0\t\n\0C011\1”));}程序運(yùn)行后的輸出結(jié)果是()。
A.3B.13C.1D.0
12.下列程序的輸出結(jié)果是______。#include<stdio.h>main(){inti,j,k,a=3,b=2;i=(--a==b++)?--a;++b;j=a++;k=b;printf("i=%d,j=%d,k=%d\n",i,j,k);}
A.i=2,j=1,k=3B.i=1,j=1,k=2C.i=4,j=2,k=4D.i=1,j=1,k=3
13.若有"doublea;",則正確的輸入語(yǔ)句是()。
A.scanf("%1f",a);
B.scanf("%f",&a);
C.scanf("%1f",&a)
D.scanf("%1e",&a);
14.以下說(shuō)法正確的是()。
A.C程序總是從第一個(gè)函數(shù)開始執(zhí)行
B.在C程序中,被調(diào)用的函數(shù)必須在main函數(shù)中定義
C.C程序總是從main函數(shù)開始執(zhí)行
D.C程序中的main函數(shù)必須放在程序的開始部分
15.下列程序段的時(shí)間復(fù)雜度為()。A.O(i+j)B.O(n)C.O(n2)D.O(i*j)
16.若有下列說(shuō)明和語(yǔ)句,則對(duì)結(jié)構(gòu)體變量st中成員i的引用方式不正確的是()。Structstu{inti;intname;}st,*p;p=&st;
A.st.iB.*p.iC.(*p).iD.p->i
17.
18.給定數(shù)列(541,132,984,746,518,181,946,314,205,827)按照從小到大的順序排列,采用快速排序(以中間元素518為基準(zhǔn))的第一趟掃描結(jié)果是()
A.(541,132,827,746,518,181,946,314,205,984)
B.(205,132,314,181,518,746,946,984,541,827)
C.(132,541,746,984,181,518,314,946,205,827)
D.(132,541,746,518,181,946,314,205,827,984)
19.設(shè)q1和q2是指向一個(gè)float型一維數(shù)組的指針變量,k為float型變量,則不能正確執(zhí)行的語(yǔ)句是()。
A.k=*q1+*q2;B.q1=k;C.q1=q2;D.k=*q1*(*q2);
20.
二、2.填空題(20題)21.以下程序從終端讀入數(shù)據(jù)到數(shù)組中,統(tǒng)計(jì)其中正數(shù)的個(gè)數(shù),并計(jì)算它們之和。請(qǐng)?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);
}
22.表示“整數(shù)x的絕對(duì)值大于5”時(shí)值為“假”的C語(yǔ)言表達(dá)式是______。
23.若有以下程序:
main()
{intp,a=5;
if(p=a!=0)
printf("%d\n",p);
else
printf("%d\n",p+2);
執(zhí)行后的輸出結(jié)果是【】。
24.若輸入12、3、2、5、7,則以下程序的運(yùn)行結(jié)果為【】。
intmax,min;
voidmax_min_value();
main()
{inti,number[5];
printf("輸入5個(gè)整數(shù);\n");
for(i=0;i<5;i++)scanf("%d",&number[i]);
maxminvalue(number,5);
printf("max=%d,min=%d\n",max,min);
getch();
}
voidmax_min_value(array,n)
intarray[],n;
{int*p;
max=min=*array;
for(p=array+1;p<array+n;p++)
if(*p>max)max=*p;
elseif(*p<min)min=*p;
}
25.一個(gè)算法的空間復(fù)雜度是指該算法所耗費(fèi)的【】。
26.下列程序的運(yùn)行結(jié)果為【】。
main()
{inta[3]C4}={{1,3,5,7},{2,4,6,8},{15,17,34,12}};
printf("maxvalueis%d\n",maxvalue(3,4,a));
}
maxvalue(m,n,array)
intm,n,array[][4];
{inti,j,max;
max=array[0][0];
for(i=0;i<m;i++)
for(i=0;i<n;j++)
if(max<array[i][j])max=array[i][j];
return(max);
}
27.Jackson方法是一種面向【】的結(jié)構(gòu)化方法。
28.在算法正確的前提下,評(píng)價(jià)一個(gè)算法的兩個(gè)標(biāo)準(zhǔn)是空間復(fù)雜度和()。
29.語(yǔ)句:x++;++x;x=1+x;執(zhí)行后都使變量x中的值增1,請(qǐng)寫出一條同一功能的賦值語(yǔ)句______。
30.為了便于對(duì)照檢查,測(cè)試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的【】?jī)刹糠纸M成。
31.算法的復(fù)雜度主要包括【】復(fù)雜度和空間復(fù)雜度。
32.設(shè)有下列的程序段:
charstr[]="Hello";
char*ptr;
ptr=-str;
執(zhí)行上面的程序段后,*(ptr+5)的值為______。
33.設(shè)有如下程序段:
inti=0,sum=1;
do
{sum+=i++;}
while(i<6);
printf("%d\n",sum);
上述程序段的輸出結(jié)果是【】。
34.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
main()
{inta=1234;
floatb=123.456;
doublec=12345.54321;
printf("\n%2d,%2.1f,%2.11f",a,b,C);
}
35.設(shè)y為血型變量,請(qǐng)寫出描述“y是偶數(shù)”的表達(dá)式______。
36.以下isprime函數(shù)的功能是判斷形參a是否為素?cái)?shù),是素?cái)?shù),函數(shù)返回1,
否則返回0。請(qǐng)?zhí)羁铡?/p>
intisprime(inta)
{inti;
for(i=2;i<=a/2;i++)
if(a%i==0)【】;
【】;
}
37.某二叉樹中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹中有【】個(gè)葉子結(jié)點(diǎn)。
38.沒(méi)有chara,b;,若要通過(guò)a&b運(yùn)算屏蔽掉a中的其他位,只保留第2位和笫8位(右起為第1位),則b的二進(jìn)制是【】。
39.現(xiàn)有如下定義:structaa{inta;floatb;charc;}*p;現(xiàn)需用malloc函數(shù)動(dòng)態(tài)的申請(qǐng)一個(gè)structaa類型大小的空間(由p指向),則定義的語(yǔ)句為:【】。
40.下面程序的運(yùn)行結(jié)果是______。
#defineDOUBLE(x,y)x/y
main()
{intx=4,y=2,t;
t=DOUBLE(x+y,x-y);
printf("%d",t);
}
三、1.選擇題(20題)41.以下程序段的輸出結(jié)果是()。inta=1234;printf("%2d\n",a);
A.12B.34C.1234D.提示出錯(cuò),無(wú)結(jié)果
42.表示關(guān)系a≤b≤c的C語(yǔ)言表達(dá)式為()。
A.(a<=B)&&(b<=C)
B.(a<=B)and(b<=C)
C.(a<=b<=C)
D.(a<=B)&(b<=C)
43.下列二維數(shù)組初始化語(yǔ)句中,不正確的是()。
A.intb[][2]={1,2,3,4,5,6,7};
B.intb[3][5]={0,0,0};
C.intb[][4]={{1,2},{3,4,5},{6}};
D.intb[3][2]={(1,2),(3,4),(5,6)};
44.設(shè)有以下說(shuō)明語(yǔ)句:structstu{inta;floatb;}stutype;則下面敘述不正確的是()。
A.struct是結(jié)構(gòu)體類型的關(guān)鍵字
B.structstu是用戶定義的結(jié)構(gòu)體類型
C.stutype是用戶定義的結(jié)構(gòu)體類型名
D.a和b都是結(jié)構(gòu)體成員名
45.以下程序中函數(shù)f的功能是將n個(gè)字符串按由大到小的順序進(jìn)行排序:#include<string.h>voidf(charp[][10],intn){chart[20];inti,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++if(strcmp(p[i],p[j])<0){strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);}}main(){charp[][10]:{"abc","aabdfg","abbd","dcdbe","cd",);inti;f(p,5);printf("%d\n",strlen(p[0]));}程序運(yùn)行后的輸出結(jié)果是()。
A.6B.4C.5D.3
46.設(shè)有以下語(yǔ)句:chara=3,b=6,c;c=ab<<2;則c的二進(jìn)制值是()。
A.11011B.10100C.11100D.11000
47.以下程序的輸出結(jié)果是______。main(){intnum=0;while(num<=2){num++;printf("%d\n",num);}}
D.1111222334
48.下列關(guān)鍵字中,不屬于C語(yǔ)言變量存儲(chǔ)類別的是______。
A.registerB.autoC.externD.public
49.請(qǐng)選出正確的程序段
A.int*p;scanf("%d",p);…
B.int*s,k;*s=100;…
C.int*s,k;char*p,c;s=&k;p=&c;*p=′a′;…
D.int*s,k;char*p,e;s=&k;p=&c;s=p;*s=1;…
50.下列程序main(){chararr[2][4];strcpy(arr,"you");strcpy(arr[1],"me");arr[0][3]='&';printf("%s\n",arr);}執(zhí)行后的輸出結(jié)果是()
A.you&meB.youC.meD.err
51.下列敘述中正確的是()
A.指令由操作數(shù)和操作碼兩部分組成
B.常用參數(shù)xxMB表示計(jì)算機(jī)的速度
C.計(jì)算機(jī)的一個(gè)字長(zhǎng)總是等于兩個(gè)字節(jié)
D.計(jì)算機(jī)語(yǔ)言是完成某一任務(wù)的指令集
52.下列敘述中錯(cuò)誤的是()。
A.線性表是由n個(gè)元素組成的一個(gè)有限序列
B.線性表是一種線性結(jié)構(gòu)
C.線性表的所有結(jié)點(diǎn)有且僅有一個(gè)前件和后件
D.線性表可以是空表
53.以下程序的輸出結(jié)果是()。#include<stdio.h>main(){inti;for(i=1;i<5;i++){if(i%2)printf("*");elsecontinue;printf("#");}printf("$\n");
A.*#*#*#$B.#*#*#*$C.*#*#$D.#*#*$
54.有以下程序:main(){intx[8]={8,7,6,5,O,0},*s;s=x+3;printf("%d\n",s[2]);}執(zhí)行后輸出結(jié)果是()。
A.隨機(jī)值B.0C.5D.6
55.若w、x、y、z、m均為int型變量,則執(zhí)行下列的語(yǔ)句后m的值是()。w=2,x=3,y=4,z=5;m=(w<x)?w:x;m=(m<z)?m:z;m=(m<y)?m:y;
A.2B.3C.5D.4
56.下列敘述中正確的是()。
A.算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無(wú)關(guān)
B.算法的空間復(fù)雜度是指算法程序中指令(或語(yǔ)句)的條數(shù)
C.算法的有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止
D.以上3種描述都不對(duì)
57.若有下列定義(設(shè)int類型變量占2個(gè)字節(jié)):
inti=8,j=9;
則下列語(yǔ)句:
printf("i=%u,j=%x\n".i,j);
輸出的結(jié)果是()。
A.i=8,j=9B.8.9C.89D.i=8,i=8
58.在數(shù)據(jù)庫(kù)設(shè)計(jì)的4個(gè)階段;為關(guān)系模式選擇存取方法應(yīng)該在
A.需求分析階段B.概念設(shè)計(jì)階段C.邏輯設(shè)計(jì)階段D.物理設(shè)計(jì)階段
59.以下程序的輸出結(jié)果是______。#include<stdio.h>#defineSQR(x)x*xmain(){inta,k=3;a=++SQR(k+1);printf((“%d\n”,a);}A.8B.9C.17D.20
60.已經(jīng)定義ch為字符型變量,以下賦值表達(dá)式中錯(cuò)誤的是______。
A.ch='\'B.ch=62+3C.ch=NULLD.ch='\xaa'
四、選擇題(20題)61.
62.設(shè)有以下函數(shù):
voidfun(intn,char}s){……}
則下面對(duì)函數(shù)指針的定義和賦值均正確的是()。
A.void(*pf)(int,char);pf=&fun;
B.void+pf();pf=fun;
C.void*pf();*pf=fun;
D.void(*pf)(int,char*);pf=fun;
63.
64.如果在C程序中要用到庫(kù)函數(shù)中的字符串比較函數(shù)strcmp(),那么在程序前面應(yīng)該添加的頭文件是()。
A.stdio.hB.string,hC.a(chǎn)lloc.hD.math.H
65.按照“先進(jìn)后出”原則組織數(shù)據(jù)的結(jié)構(gòu)是()。
A.隊(duì)列B.棧C.雙向鏈表D.二叉樹
66.若整型變量a、b、c、d中的值依次為2、2、3、4,則條件表達(dá)式a<b?a:c<d?c:d的值是()。A.1B.2C.3D.4
67.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。
A.軟件需求規(guī)格說(shuō)明書B.數(shù)據(jù)庫(kù)說(shuō)明書C.集成測(cè)試計(jì)劃D.概要設(shè)計(jì)說(shuō)明書
68.合法的數(shù)組定義是()。
A.
B.
C.
D.
69.
70.設(shè)有如下定義:int(*ptr);則以下敘述中正確的是()。
A.ptr是指向一維組數(shù)的指針變量
B.ptr是指向int型數(shù)據(jù)的指針變量
C.ptr是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)
D.ptr是一個(gè)函數(shù)名,該函數(shù)的返回值是指int型數(shù)據(jù)的指針
71.若有定義語(yǔ)句:
char}sl=‘’0K”,:Its2=”ok”;
以下選項(xiàng)中,能夠輸出“OK”的語(yǔ)句是()。
A.if(strcmp(sl,s2)!=0)puts(s2);
B.if(strcmp(sl,s2)!=0)puts(s1);
C.if(strcmp(sl,s2)==1)puts(s1);
D.if(strcmp(sl,s2)==0)puts(s1);
72.有以下程序
voidsort(inta[],intn)
{
inti,j,t;
for(i=0;i<n-1;i+=2)
for(j=i+2;j<n;j+=2)
if(a[i]<a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
main()
{
intaa[10]={1,2,3,4,5,6,7,8,9,10},i;
sort(aa,10);
for(i=0;i<10;i++)
printf("%d,",aa[i]);
printf("\n");
}
執(zhí)行后的輸出結(jié)果是
A.1,2,3,4,5,6,7,8,9,10,B.10,9,8,7,6,5,4,3,2,1,
C.9,2,7,4,5,6,3,8,1,10D.1,10,3,8,5,6,7,4,9,2,
73.
74.
75.有定義語(yǔ)句:intm=1,n=2,P=5,x;,則以下選項(xiàng)中各程序段執(zhí)行后,x的值不等于5的是()。
A.
B.
C.
D.
76.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.1.1.3B.2,2,3C.1,2,3D.3,3,3
77.設(shè)有intx=11;則表達(dá)式(x++*1/3)的值是()。
A.3B.4C.11D.12
78.
79.若有定義:“inta[2][3];”,則對(duì)a數(shù)組的第i行第j列元素的正確引用為()。
A.*(*(a+i)+j)B.(a+i)[j]C.*(a+i+j)D.*(a+i)+j
80.在單鏈表中,增加頭結(jié)點(diǎn)的目的是()。
A.方便運(yùn)算的實(shí)現(xiàn)B.使單鏈表至少有一個(gè)結(jié)點(diǎn)C.標(biāo)識(shí)表結(jié)點(diǎn)中首結(jié)點(diǎn)的位置D.說(shuō)明單鏈表是線性的鏈?zhǔn)酱鎯?chǔ)實(shí)現(xiàn)
五、程序改錯(cuò)題(1題)81.下列給定的程序中,函數(shù)proc()的功能是:將str所指字符串中出現(xiàn)的t1所指字符串全部替換成t2所指字符串,所形成的新的字符串放在w所指的數(shù)組中。在此處,要求t1和t2所指字符串的長(zhǎng)度相同。例如,當(dāng)str所指字符串中所指的內(nèi)容為abcdabcdef9,t1所指字符串中的內(nèi)容為bc,t2所指字符串中的內(nèi)容為11時(shí),結(jié)果在w所指的數(shù)組中的內(nèi)容應(yīng)為alldalldefg。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.規(guī)定輸入的字符串中只包含字母和*號(hào)。編寫函數(shù)fun(),其功能是:刪除字符串中所有的*號(hào)。編寫函數(shù)時(shí),不得使用C語(yǔ)言提供的字符串函數(shù)。例如,字符串中的內(nèi)容為“****A*BC*DEF*G****”,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是“ABCDEFG”。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入編寫的若干語(yǔ)句。試題程序:
參考答案
1.B解析:scanf函數(shù)中的“格式控制”后面應(yīng)當(dāng)是地址,而不是變量名。對(duì)于變量,通過(guò)地址運(yùn)算符“&”求出內(nèi)存中的地址;對(duì)于數(shù)組c[10],數(shù)組名c即為數(shù)組在內(nèi)存中的地址。
2.B
3.C(10)C)解析:DB即數(shù)據(jù)庫(kù)(Database),是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合;DBMS即數(shù)據(jù)庫(kù)管理系統(tǒng)(DatabaseManagementSystem),是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應(yīng)用程序提供訪問(wèn)DB的方法;DBS即數(shù)據(jù)庫(kù)系統(tǒng)(DatabaseSystem)由如下5部分組成,數(shù)據(jù)庫(kù)(數(shù)據(jù))、數(shù)據(jù)庫(kù)管理系統(tǒng)(軟件)、數(shù)據(jù)庫(kù)管理員(人員)、系統(tǒng)平臺(tái)之一——硬件平臺(tái)(硬件)、系統(tǒng)平臺(tái)之二——軟件平臺(tái)(軟件)。
4.C解析:本題中,“printf('%2d,%2d\\n',x,y)”表示以逗號(hào)隔開輸出兩個(gè)十進(jìn)制整數(shù),每個(gè)整數(shù)域?qū)捠?。而在C語(yǔ)言中規(guī)定:當(dāng)域?qū)捫∮趯?shí)際寬度時(shí)域?qū)挷黄鹱饔?,按?shí)際寬度輸出,因此最后的輸出值為102和10(y的初值012表示八進(jìn)制整數(shù)12,等于十進(jìn)制的10)。所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。
5.D解析:本題主要考查算術(shù)運(yùn)算的優(yōu)先級(jí)。順序如下:
[*]
注:*=、>、<<、%、sizeof的優(yōu)先級(jí)依次遞增。
6.D
7.B
8.C
9.D解析:在C語(yǔ)言中,凡是以“#”開頭的行都稱為編譯預(yù)處理命令行,如#include、#define、#if等,每行的末尾不得用“;”結(jié)束,以區(qū)別于C語(yǔ)句、定義和說(shuō)明語(yǔ)句。選項(xiàng)C中的宏定義為不帶參數(shù)的宏命令行,宏名之后可以有替換文本,也可以沒(méi)有。編譯預(yù)處理是在編譯程序?qū)源程序進(jìn)行編譯前執(zhí)行的.當(dāng)然也在程序執(zhí)行之前執(zhí)行,因此選項(xiàng)D是錯(cuò)誤的。
10.B每個(gè)C程序有且只有一個(gè)主函數(shù)main,C程序總是從main函數(shù)開始執(zhí)行,main函數(shù)后面的一對(duì)圓括號(hào)不能省略,main函數(shù)可以位于程序的任意位置。函數(shù)不可以嵌套定義,但函數(shù)可以嵌套調(diào)用。
11.AC語(yǔ)言中的轉(zhuǎn)義字符也是一個(gè)字符。字符串“0\\t\\n\\0C011\\1”,共有字符‘0’、‘\\t’、‘\\n’3個(gè)字符。strlen遇到‘\\0’字符計(jì)數(shù)結(jié)束,因此計(jì)數(shù)為3。故本題答案為A選項(xiàng)。
12.D
13.D解析:函數(shù)scanf()的調(diào)用形式是:scanf(格式字符串,輸入項(xiàng)地址表)。其中,“格式字符串”是要輸入的變量的格式符;“輸入項(xiàng)地址表”是要輸入的變量的地址。本題中定義變量a為雙精度型變量,雙精度變量的格式符為“1e”;變量的地址用取地址符“&”加變量名表示,如變量a的地址為“&a”。
14.C解析:C程序是由main函數(shù)開始運(yùn)行,通過(guò)main函數(shù)調(diào)用其他函數(shù),所以,選項(xiàng)A)錯(cuò)誤;在C程序中,函數(shù)不能嵌套定義,即不能在一個(gè)函數(shù)中定義另一個(gè)函數(shù),選項(xiàng)B)錯(cuò);C程序總是從main函數(shù)開始執(zhí)行,但main函數(shù)不必放在最前面,故選項(xiàng)D)錯(cuò)。
15.C
16.B解析:本題主要考查結(jié)構(gòu)指針:p=&st,訪問(wèn)結(jié)構(gòu)體的成員,可以通過(guò)結(jié)構(gòu)變量訪問(wèn),即st.i,也可以用等價(jià)的指針形式,即(*p).i和p->i。
17.C
18.B
19.B解析:選項(xiàng)A)是將指針q1和q2所指向的變量值相加,然后賦給k;選項(xiàng)B)中,float型數(shù)據(jù)和指針型數(shù)據(jù)之間不能進(jìn)行賦值運(yùn)算:選項(xiàng)C)中,是兩個(gè)指針變量之間的賦值:選項(xiàng)D)中,是兩個(gè)指針型變量所指向的兩個(gè)float型數(shù)據(jù)相乘。
20.C
21.&a[i]或a+ia[i]或*(a+i)&a[i]或a+ia[i]或*(a+i)解析:主函數(shù)中一開始定義了一個(gè)長(zhǎng)度為20得整形數(shù)組,然后通過(guò)—個(gè)循環(huán),循環(huán)20次給它的每個(gè)元素賦初值,所以在第一個(gè)空格處應(yīng)填各個(gè)元素的地址,即填&a[1]或a+i,然后在通過(guò)一個(gè)循環(huán)執(zhí)行20次,每循環(huán)一次,先判斷該循環(huán)是否大于0,如果大于。將其累加到變量sum中,所以第二個(gè)空格處應(yīng)該填入數(shù)組元素,所以應(yīng)該填a[i]或*(a+i)。
22.(x>-5)&&(x<5)(x>-5)&&(x<5)解析:本題考查基本邏輯表達(dá),“整數(shù)x的絕對(duì)值大于5”時(shí)值為“假”,即整數(shù)x的絕對(duì)值小于等于5,也就是整數(shù)x要大于等于-5且要小于等于5。這里“且”用“與(&&)”表示,所以C語(yǔ)言表達(dá)式為:(x>-5)&&(x<5)。
23.11解析:本題考查C語(yǔ)言中的if-else語(yǔ)句。if語(yǔ)句中的條件表達(dá)式p=a!=0是一個(gè)賦值語(yǔ)句,將關(guān)系表達(dá)式a!=0的結(jié)果賦值給變量p。因a=5,所以a!=0的結(jié)果為1,即p=1,條件為真,所以執(zhí)行if后面的語(yǔ)句printf('%d\\n',p),輸出結(jié)果為1。
24.max=12min=2
25.存儲(chǔ)空間存儲(chǔ)空間解析:空間復(fù)雜度是指算法在執(zhí)行過(guò)程中臨時(shí)占用的存儲(chǔ)空間大小,包括:①算法本身所占用的存儲(chǔ)空間;②算法的輸入輸出數(shù)據(jù)所占用的存儲(chǔ)空間;③算法在運(yùn)行過(guò)程中臨時(shí)占用的存儲(chǔ)空間。
26.maxvalueis34
27.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)解析:Jackson方法是—‘種面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化方法。
28.時(shí)間復(fù)雜度時(shí)間復(fù)雜度解析:在算法正確的前提下,評(píng)價(jià)一個(gè)算法的兩個(gè)標(biāo)準(zhǔn)是空間復(fù)雜度和時(shí)間復(fù)雜度。算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量。算法的空間復(fù)雜度是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。
29.x+=1x+=1解析:本題考查“++”,“--”運(yùn)算符?!?+”、“--”只能作用于變量,不能用于表達(dá)式或常量;前綴形式是在使用變量之前先將其值增1或減1,后綴形式是先使用變量原來(lái)的值,使用完后再使其增1或減1。
30.輸出結(jié)果輸出結(jié)果解析:注意:測(cè)試的基本方法和步驟。
31.時(shí)間時(shí)間解析:算法的復(fù)雜度主要指時(shí)間復(fù)雜度和空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量;算法的空間復(fù)雜度,一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。
32.'\0''\\0'解析:本題涉及字符數(shù)組和指針的兩個(gè)知識(shí)點(diǎn):①在c語(yǔ)言中,字符型數(shù)組在存放字符串時(shí)會(huì)自動(dòng)在末尾加上字符串結(jié)束標(biāo)識(shí)符'\\0',所以題中數(shù)組str有6個(gè)元素。②ptr指向數(shù)組s仕的首地址,ptr+5是指向str[5],*(ptr+5)是引用str[5]的值,即'\\0'。
33.16
34.1234123.512345.51234,123.5,12345.5解析:在primf()函數(shù)的格式控制符中:'%2d'表示輸出一個(gè)有符號(hào)整數(shù),如果輸出長(zhǎng)度小于2,則左端補(bǔ)以空格,否則按實(shí)際長(zhǎng)度輸出。所以本題中的a按原樣輸出為1234:'%2.1尸表示輸出一個(gè)單精度實(shí)數(shù),只輸出小數(shù)點(diǎn)后1位,后面若有小數(shù)則四舍五入,如果輸出長(zhǎng)度小于2,則左端補(bǔ)以空格,否則按實(shí)際長(zhǎng)度輸出。所以本題中的b四舍五入到小數(shù)點(diǎn)后1位再輸出為123.5;'%2.11f'除了表示輸出一個(gè)雙精度實(shí)數(shù)外,其余參數(shù)和'%2.1f'一樣。所以本題中的c四舍五入到小數(shù)點(diǎn)后1位再輸出為12345.5。故輸出結(jié)果是:1234,123.5,12345.5。
35.(y%2)==0(y%2)==0解析:因符合偶數(shù)的條件是對(duì)2取余為0,所以要描述y是偶數(shù)的表達(dá)式是(y%2)==0。
36.return0return1return0,return1解析:如果a能被i整除,則a是素?cái)?shù),返回值為0。如果a不能被i整除,則a不是素?cái)?shù),返回值為1。
37.1919解析:根據(jù)二叉樹的性質(zhì):在任意一棵二叉樹中,度為。的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。本題中度為2的結(jié)點(diǎn)數(shù)為18,故葉子結(jié)點(diǎn)數(shù)為18+1=19個(gè)。
38.1000001010000010解析:運(yùn)算“&”的規(guī)則是只有當(dāng)兩個(gè)相應(yīng)的二進(jìn)制位都為1時(shí),該位的結(jié)果才為1。要保留第2、8位,只要將其與二進(jìn)制數(shù)10000010相與。
39.p=(structaa*)malloc(sizeof(structaa));p=(structaa*)malloc(sizeof(structaa));解析:ANSIC標(biāo)準(zhǔn)規(guī)定malloc函數(shù)的返回值類型為void*,函數(shù)的調(diào)用形式為:malloc(size)要求size的類型為unsignedint。由于返回類型為void*,所以在調(diào)用函數(shù)時(shí),必須利用強(qiáng)制轉(zhuǎn)換將其轉(zhuǎn)換為所需要的類型。
40.2
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解析:本題考查邏輯與運(yùn)算符&&。在C語(yǔ)言中使用運(yùn)算符“&&”連接兩個(gè)表達(dá)式,也可以表示邏輯與運(yùn)算符。在C語(yǔ)言中不允許出現(xiàn)a<=b<=c這種格式。
43.D解析:在對(duì)二維數(shù)組元素賦初值時(shí),可以只對(duì)部分元素賦初值,未賦初值的元素自動(dòng)取0;C語(yǔ)言規(guī)定,對(duì)于二維數(shù)組,只可以省略第1個(gè)方括號(hào)中的常量表達(dá)式,而不能省略第2個(gè)方括號(hào)中的常量表達(dá)式;賦的初值不能多于事先定義好的數(shù)組元素個(gè)數(shù)。
在選項(xiàng)D)賦值表達(dá)式中,對(duì)每一維的元素賦初值應(yīng)用{},而不是()。
44.C解析:定義一個(gè)結(jié)構(gòu)的一般形式為:
struct結(jié)構(gòu)體名
{
成員列表
}變量名列表;
本題中的stutype是在聲明結(jié)構(gòu)體類型structstu的同時(shí)定義的該結(jié)構(gòu)體變量,而不是用戶定義的結(jié)構(gòu)體類型名。
45.C解析:函數(shù)strcmp(字符串1,字符串2)作用是將“字符串1”和“字符串2”進(jìn)行比較,如果“字符串1”>“字符串2”,返回一個(gè)人于0的整數(shù)值;如果“字符串1”<“字符串2”,返回一個(gè)小于0的整數(shù)值;如果“字符串1”=“字符串2”,返回0。
函數(shù)strcpy(字符串?dāng)?shù)組名,字符串,[整型表達(dá)式])的作用是將“字符串”的前“整型表達(dá)式”個(gè)字符存入到指定的“字符數(shù)組”中,若省略“整型表達(dá)式”,則將整個(gè)“字符串”存入“字符數(shù)組”中。
函數(shù)f()的功能是利用選擇法把一個(gè)具有n行的二維數(shù)組中按行存放的n個(gè)字符串由大到小排序。在主函數(shù)中定義了一個(gè)二維字符數(shù)組p并給它按行賦初值,然后調(diào)用f()函數(shù),把它按行從大到小排列。字符串比較大小的標(biāo)準(zhǔn)是從第一個(gè)字符開始依次向右比較,遇到某一個(gè)字符大,該字符所在的字符串就是較大的字符串。由此可知最大的字符串為“dcdbe”,排序后存放在第一行,其首地址為p[0],在輸出語(yǔ)句輸出的p[0]指向的字符串長(zhǎng)度是5。
46.A解析:“<<”是C語(yǔ)言中規(guī)定的左移運(yùn)算符,例如,a=a<<2,是將a的二進(jìn)制數(shù)左移兩位,左移一位相當(dāng)于該數(shù)乘以2,左移兩位相當(dāng)于該數(shù)乘以2的2次方;“^”是異或運(yùn)算符,所以,c的二進(jìn)制值應(yīng)為00011011。
47.2解析:while的執(zhí)行過(guò)程是:先計(jì)算條件表達(dá)式的值,若成立則執(zhí)行循環(huán)體,重復(fù)上述過(guò)程,直到條件表達(dá)式的值為“假”(值為零)時(shí),退出循環(huán),并轉(zhuǎn)下一語(yǔ)句去執(zhí)行。本題在輸出num的值為3之后,再判斷while的循環(huán)條件3<=2,不成立,所以不再輸出num的值,故本題的答案選B。
48.D解析:變量的存儲(chǔ)類別具體包含四種:自動(dòng)的(auto),靜態(tài)的(static),寄存器的(register),外部的(extern)。
49.C解析:本題的選項(xiàng)A)和B)犯了同樣的錯(cuò)誤,即指針變量在定義后并沒(méi)有指向具體的變量。也就是說(shuō),指針變量中沒(méi)有確定的地址值,它的值是不可預(yù)見的,所指的單元也是不可預(yù)見的,因此不能進(jìn)行賦值操作。另外,在選項(xiàng)D)中,s是int型指針變量,p是char型指針變量,所指向的內(nèi)存單元所占用的字節(jié)數(shù)是不同的,因而不能將字符指針變量p的值賦給整型指針變量s。
50.A
51.A
52.CC.【解析】線性表是一種線性結(jié)構(gòu),由n(n≥0)個(gè)元素組成,所以線性表可以是空表。但是在線性表中,第一個(gè)結(jié)點(diǎn)沒(méi)有前件,最后一個(gè)結(jié)點(diǎn)沒(méi)有后件,其他結(jié)點(diǎn)有且只有一個(gè)前件和后件,所以選項(xiàng)C.是錯(cuò)誤的。
53.C解析:程序中當(dāng)i不能整除2時(shí)輸出*,然后輸出#,能夠整除2時(shí)將結(jié)束本次循環(huán),進(jìn)入到下一次循環(huán)。當(dāng)循環(huán)結(jié)束后,輸出$。
54.B解析:通過(guò)賦值語(yǔ)句“s=x+3”,使指針變量s指向數(shù)組元素x[3],輸出語(yǔ)句中的spl等價(jià)于*(s+2),即x[5]值為0。所以,B選項(xiàng)為所選。
55.A解析:條件表達(dá)式“a?b:c”的含義是:當(dāng)a為真時(shí),其值等于表達(dá)式b的值;當(dāng)a為假時(shí),其值等于表達(dá)式c的值。
表達(dá)式運(yùn)算過(guò)程:第1個(gè)表達(dá)式:w=2<x=3為真,所以返回w的值,即m=w=2;第2個(gè)表達(dá)式:m=2<z=5為真,所以返回m的值,即m=2;第3個(gè)表達(dá)式:w=2<y=4為真,所以返回m的值,即m=2。
56.C解析:算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)密切相關(guān)。算法的空間復(fù)雜度是指算法執(zhí)行過(guò)程中所需的存儲(chǔ)空間。
57.A解析:本題考查函數(shù)printf()的格式?!?x”表示以十六進(jìn)制輸出整型數(shù)據(jù);“%u”表示以十進(jìn)制無(wú)符號(hào)型輸出整型數(shù)據(jù)。printf函數(shù)中格式說(shuō)明符之前插入的任何字符都原樣輸出。
58.D解析:需求分析階段是分析用戶的需求,顯然不屬于這個(gè)階段,由此可以排除選項(xiàng)A。概念設(shè)計(jì)是將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)及概念模型的過(guò)程,涉及不到數(shù)據(jù)的存取。邏輯設(shè)計(jì)是在概念設(shè)計(jì)的基礎(chǔ)上將E—R圖轉(zhuǎn)換成數(shù)據(jù)庫(kù)管理系統(tǒng)的邏輯數(shù)據(jù)模型表示的邏輯模式,也不涉及存取問(wèn)題。
59.B
60.A解析:反斜杠字符“\\”賦給字符,應(yīng)該寫成ch='\\\\',所以A是錯(cuò)誤的。
61.C
62.D函數(shù)的參數(shù)可以是指針類型。它的作用是將一個(gè)變量的地址傳送到另一個(gè)函數(shù)中。函數(shù)名代表函數(shù)的人口地址,指向函數(shù)的指針應(yīng)該定義為void(+pf)()。如果定義為void·pf(),則表示函數(shù)pf返回值為一個(gè)基類型為void的指針。因此D選項(xiàng)正確。
63.D\r\n
64.B頭文件;C語(yǔ)言中要用庫(kù)函數(shù),則需在前面添
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年銷售代表從業(yè)水平測(cè)試題庫(kù)
- 2026年春季學(xué)期班主任德育工作匯報(bào):滲透德育于日常培養(yǎng)學(xué)生核心素養(yǎng)塑造健全人格品質(zhì)
- 2026年春季學(xué)期XX市第五中學(xué)“核心素養(yǎng)”導(dǎo)向的物理教學(xué)計(jì)劃(初一年級(jí))
- 醫(yī)院醫(yī)德醫(yī)風(fēng)建設(shè)制度
- 2026年鐵路軌道與信號(hào)系統(tǒng)案例分析題集一建考試資料
- 2026年旅游專業(yè)知識(shí)點(diǎn)詳解與考試題庫(kù)
- 2026年程序員進(jìn)階之路編程語(yǔ)言實(shí)戰(zhàn)試題
- 打樁應(yīng)急預(yù)案(3篇)
- 村委應(yīng)急預(yù)案方案(3篇)
- 2025-2026秋學(xué)生學(xué)習(xí)習(xí)慣養(yǎng)成教育工作總結(jié):以習(xí)慣養(yǎng)成為抓手以評(píng)價(jià)激勵(lì)為手段促進(jìn)學(xué)生全面發(fā)展
- 2026四川涼山州雷波縣糧油貿(mào)易總公司面向社會(huì)招聘6人備考題庫(kù)及答案詳解一套
- 四川省攀枝花市2025-2026學(xué)年八年級(jí)上學(xué)期期末數(shù)學(xué)檢測(cè)(含答案)
- 勞動(dòng)人事法律培訓(xùn)課件
- 2026中國(guó)電信四川公用信息產(chǎn)業(yè)有限責(zé)任公司社會(huì)成熟人才招聘?jìng)淇碱}庫(kù)參考答案詳解
- 清真生產(chǎn)過(guò)程管控制度
- 途虎養(yǎng)車安全培訓(xùn)課件
- 2025-2026學(xué)年人教版(新教材)小學(xué)數(shù)學(xué)二年級(jí)下冊(cè)(全冊(cè))教學(xué)設(shè)計(jì)(附教材目錄P161)
- 刷單協(xié)議書合同范本
- 內(nèi)科學(xué)總論小兒遺傳代謝病課件
- 2026小紅書平臺(tái)營(yíng)銷通案
- 品牌設(shè)計(jì)報(bào)價(jià)方案
評(píng)論
0/150
提交評(píng)論