




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2022-2023年四川省德陽市全國計算機等級考試C語言程序設計預測試題(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.設棧S的初始狀態(tài)為空,棧的容量為5,若入棧元素的順序是e1、e2、e3、e4、e5,則出棧元素的順序不可能是______。
A.e1、e2、e3、e4、e5
B.e5、e4、e3、e2、e1
C.e2、e4、e3、e5、e1
D.e3、e4、e1、e2、e5
2.判斷一個棧ST(最多元素為Maxsize)為滿的條件是()。
A.ST->top!==-1
B.ST->top==-1
C.ST->top!==Maxsize-1
D.ST->top==Maxsize-1
3.下面的排序算法中初始數(shù)據(jù)集的排列順序對算法的性能無影響的是()A.插入排序B.堆排序C.冒泡排序D.快速排序
4.下列定義數(shù)組的語句中,正確的是()。A.#defineN10?intx[N];
B.intN=10;int[N];
C.intx0..10];
D.Intx[];.
5.算法分析的目的是()。
A.找出數(shù)據(jù)結構的合理性B.研究算法中的輸入和輸出的關系C.分析算法的效率以求改進D.分析算法的易讀性和文檔性
6.
7.以下敘述中錯誤的是()。
A.C語言程序在運行過程中的所有計算都以二進制方式進行
B.C語言程序在運行過程中的所有計算都以十進制方式進行
C.所有C語言程序都需要編譯、鏈接無誤后才能運行
D.C語言程序中字符變量存放的是字符的ASCII值
8.若要求從鍵盤讀入含有空格字符的字符串,應該使用函數(shù)______。A.getc()B.gets()C.getchar()D.scanf()
9.以下是根據(jù)文件大小分配存儲空間的一個算法偽代碼,請問其空間復雜度是多少()A.O(n)B.O(n^2)C.O(2^n)D.O(n*log(n))
10.按照“先進后出”原則組織數(shù)據(jù)的結構是()。
A.隊列B.棧C.雙向鏈表D.二叉樹
11.以下敘述中錯誤的是()。
A.函數(shù)的返回值類型不能是結構體類型,只能是簡單類型
B.函數(shù)可以返回指向結構體變量的指針
C.可以通過指向結構體變量的指針訪問所指結構體變量的任何成員
D.只要類型相同,結構體變量之間可以整體賦值
12.下列關于棧敘述正確的是A.棧頂元素最先能被刪除B.棧頂元素最后才能被刪除C.棧底元素永遠不能被刪除D.以上三種說法都不對
13.將兩個字符串連接起來組成一個字符串時,選用()函數(shù)。A.strlen()B.strcpy()C.strcat()D.strcmp()
14.若有以下定義;chara;intb;floatc;doubled;則表達式“a*b+d-c”值的類型為()
A.floatB.intC.charD.double
15.合法的數(shù)組初始化語句是()。
A.chara="string";
B.inta[5]={0,1,2,3,4,5};
C.inta[]="string"
D.chara[]={0,1,2,3,4,5};
16.下列選項中與“if(a==1)a=b;elsea++;”語句功能不同的switch語句是()。
A.switch(a==1){ case0:a=b;break; case1:a++;}
B.switch(a){ case1:a=b;break; default:a++;}
C.switch(a){ default:a++;break; case1:a=b;}
D.switch(a==1){ case1:a=b;break; case0:a++;}
17.
18.兩個或兩個以上模塊之間關聯(lián)的緊密程度稱為()。
A.耦合度
B.內聚度
C.復雜度
D.數(shù)據(jù)傳輸特性
19.if語句基本形式是:if(表達式)語句,以下關于“表達式”值的敘述中正確的是()。
A.必須是邏輯值B.必須是整數(shù)值C.必須是正數(shù)D.可以是任意合法的數(shù)值
20.下列選項中不是字符常量的是()。
A.'\v'B.'\x2a'C.'a'D."\0"
二、2.填空題(20題)21.以下程序運行后的輸出結果是【】。
#include<stdio,h>
#include<string,h>
main()
{charch[]="abc".,x[3][4]:inti:
for(i=0;i<3:i++)strcpy(x[i],ch):
for(i=0;i<3:i++)printf("%s",&x[i][i]);
printf("\n")
}
22.軟件工程研究的內容主要包括:【】技術和軟件工程管理。
23.在樹形結構中,沒有前件的結點是()。
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.設有定義:FILE*fw;,請將以下打開文件的語句補充完整,以便可以向文本文件readme.txt的最后續(xù)寫內容。
fw=fopen("readme.txt",【】);
26.下面程序的輸出是【】。
main()
{intarr[10],i,k=0;
for(i=0;i<10;i++)
arr[i]=i;
for(i=1;i<4;i++)
k+=arr[i]+i;
printf("%d\n"k);}
27.表示條件:10<x<100或x<0的C語言表達式【】。
28.有以下程序
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);}
程序運行后的輸出結果是______。
29.在面向對象方法中,類的實例稱為______。
30.注釋說明了程序的功能,它分為【】注釋和功能性注釋。
31.以下程序的輸出結果是【】。
main()
{char*p[]={"BOOL","OPK","H","SP"};
inti;
for(i=3;i>0;i--,i--)printf("%c",*p[i]);
printf("\n");}
32.算法的基本特征主要包括叫個方面,它們分別是可行性、確定性、()和擁有足夠的情報。
33.下列程序可以判斷輸入的年份是不是閏年。
#include
main()
{int【】,leap;
scanf("%d",&year);
if(year%4)
leap=0;
elseif(year%lO0)
【】;
elseif(year%400)
leap=0;
else
leap=1;
if(【】)
printf("%d年是閏年",year);
else
printf("%d年不是閏年\n",year);
}
34.若給fun函數(shù)的形參s傳送字符串“∪∪6354'abc"(其中∪表示空格字符),則函數(shù)的返回值是【】。
longfun(chars[])
{longn;intsign;
for(;isspace(*s);s++);
sign=(*s=='-')?-1:1;
if(*s=='+'||*s=='-')s++;
for(n=0;isdigit(*s);s++)
n=10*n+(*s-'0');
returnsign*n;
}
35.若有說明chars1[]="Thatgirl",s2[]="isbeautiful";則使用函數(shù)strcmp(s1,s2)后,結果是______。
36.以下程序運行后的輸出結果是______。
main()
{
inti,m=0,n=0,k=0;
for(i=9;i<=11;i++)
switch(i/10)
{
case0:m++;n++;break;
case10:n++;;break;
default:k++;n++;
}
printf("%d%d%d\n",m,n,k);
}
37.有以下程序
intsub(intn){retnrn(n/10+n%10);}
main()
{intx,y;
scanf("%d",&x);
y=sub(sub(sub(x)));
printf("%d\n",y);
}
若運行時輸入:1234<回車>,程序的輸出結果是______。
38.下列程序的運行結果是______。
main()
{inti,a[10];
a[0]=a[1]=1;
for(i=2;i<5;i++)
a[i]=a[i-2]+a[i-1];
for(i=0;i<5;i++)
{if(i%2==0)printf("\n");
printf("%d",a[i]);
}
}
39.數(shù)據(jù)管理技術的發(fā)展過程經過人工管理、文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)三個階段,其中數(shù)據(jù)獨立性最高的階段是【】。
40.在面向對象方法中,信息隱蔽是通過對象的______性來實現(xiàn)的。
三、1.選擇題(20題)41.當變量c的值不為2、4、6時,值也為"真"的表達式是
A.(c==2)||(c==4)||(c==6)
B.(c>=2&&c<=6)||(c!=3)||(c!=5)
C.(c>=2&&c<=6)&&!(c%2)
D.(c>=2&&c<=6)&&(c%2!=1)
42.若a為int類型,且其值為3,則執(zhí)行完表達式a+=a-=a*a后,a的值是()。
A.-3B.9C.-12D.6
43.現(xiàn)有定義inta;doubleb;floatc;chark;,則表達式a/b+c-k值的類型為:
A.intB.doubleC.floatD.char
44.設有兩個串p和q,求q在p中首次出現(xiàn)位置的運算稱作______。
A.連接B.模式匹配C.求子串D.求串長
45.已有定義:Mtx=3,y=4,z=5;,則表達式!(x/y)+z-1&&y+z/2的值是()。
A.6B.OC.2D.1
46.下面程序的輸出結果是#include<stdio.h>#include<string.h>main(){char*pl="abc",*p2="ABC",str[50]="xyz";strcpy(str+2,strcat(p1,p2));printf("%s\n",str);}
A.xyzabcABCB.zabcABCC.xyabcABCD.yzabcABC
47.以下合法的賦值語句是()
A.x=y=100B.d--;C.x+y;D.c=int(a+b);
48.下列選項中不能正確定義結構體的是_______。
A.typedefstruct
B.structcolorcl{intred;{intred;intgreen;intgreen;intblue;intblue;}COLOR;};COLORcl;
C.structcolor
D.struct{intred;{intred;intgreen;intgreen;intblue;intblue;}cl;}cl;
49.有以下程序main(){intx=10,y=10;printf("%d%d\n",x--,--y);}程序運行后的輸出結果是()
A.1010B.99C.910D.109
50.以下敘述中正確的是()。
A.構成C程序的基本單位是函數(shù)
B.可以在一個函數(shù)中定義另一個函數(shù)
C.main函數(shù)必須放在其他函數(shù)之前
D.C函數(shù)定義的格式是K&R格式
51.有以下程序
intfun(intn)
{if(n==1)return1;
else
return(n+fun(n-1));
}
main()
{intx;
scanf("%d",&x);x=fun(x);printf("%d\n",x)
}
執(zhí)行程序時,給變量x輸入10,程序的輸出結果是
A.55B.54C.65D.45
52.以下對結構體類型變量td的定義中,錯誤的是
A.typedefstructaa{intn;floatm;}AA;AAtd;
B.structaa{intn;floatm;}td;structaatd;
C.struct{intn;floatm;}aa;structaatd;
D.struct{intn;floatm;}td;
53.SQL語言又稱為______。
A.結構化定義語言B.結構化控制語言C.結構化查詢語言D.結構化操縱語言
54.下述函數(shù)功能是______。intfun(char*x){char*y=x;while(*y++);returny-x-1;}
A.求字符串的長度B.求字符串存放的位置C.比較兩個字符串的大小D.將字符串x連接到字符串y后面
55.希爾排序屬于()。A.A.交換排序B.歸并排序C.選擇排序D.插入排序
56.閱讀下列程序,當運行函數(shù)時,輸入asdafaaz67,則輸出為#include<stdio.h>#include<ctype.h>#include<string.h>intfun(char*str){inti,j=0;for(i=0;str[i]!='\0';i++)if(str[i]!='')str[j++]=str[i];str[j]='\0';}main(){charstr[81];
A.asdafaaz67B.asdafaa267C.asdD.z67
57.C語言運算對象必須是整型的運算符是______。
A.%=B./C.=D.<=
58.在下列關于二叉樹的敘述中,正確的一項是
A.在二叉樹中,任何一個結點的度都是2
B.二叉樹的度為2
C.在二叉樹中至少有一個結點的度是2
D.一棵二叉樹的度可以小于2
59.以下程序的輸出結果是intx=3;main(){inti;for(i=1;i<x;i++)incre();}incre(){staticintx=1;x*=x+1;printf(“%d”,x);}
A.33B.22C.26D.25
60.下列不是合法的C語言語句是()。
A.a=5B.{inti;i++;}C.;D.{;}
四、選擇題(20題)61.對于循環(huán)隊列,下列敘述中正確的是()。A.隊頭指針是固定不變的
B.隊頭指針—定大于隊尾指針
C.隊頭指針_定小于隊尾指針
D.隊頭指針可以大于隊尾指針,也可以小于隊尾指針
62.
63.以下選項中可用作C程序合法實數(shù)的是()。A..1eOB.3.0e0.2C.E9D.9.12E
64.
65.下列數(shù)據(jù)結構中,屬于非線性結構的是A.循環(huán)隊列B.帶鏈隊列C.二叉樹D.帶鏈棧
66.以下敘述中錯誤的是()。A.c程序在運行過程中所有計算都以十進制方式進行
B.c程序在運行過程中所有計算都以二進制方式進行
C.所有C程序都需要編譯鏈接無誤后才能運行
D.c程序中字符變量存放的是字符的ASCIl值
67.
68.在軟件開發(fā)中,需求分析階段產生的主要文檔是()。
A.可行性分析報告B.軟件需求規(guī)格說明書C.概要設計說明書D.集成測試計劃
69.在計算機中,算法是指()
A.加工方法B.解題方案的準確而完整的描述C.排序方法D.查詢方法
70.
71.數(shù)據(jù)流圖中帶有箭頭的線段表示的是()。
A.控制流B.事件驅動C.模塊調用D.數(shù)據(jù)流
72.有以下程序:viodfun(inta,intb,intc){a=456;b=567;c=678;}main{intx=10,y=20,z=30;fun(x,y,z);printf("%d,%d,%d\n",x,y,z);}輸出的結果是()。A.30,20,10B.10,20,30C.456,567,678D.678,567,456
73.
74.有以下程序:
程序運行后的輸出結果是()。
A.4B.10C.14D.6
75.
下述程序執(zhí)行的輸出結果是()。
#include<stdio.h>
main
{chara[2][4];
strcpy(a,"are");strcpy(a[1],"you");
a[0][3]=&;
printf("%s\n",a):
}
A.are&youB.youC.areD.&
76.有以下程序
#defineN15
fun(inta[],intn,intm)
{inti,j;
for(i=m;i>=n;i--)
a[i+1]=a[i];
}
main()
{inti,a[N]={1,2,3,4,5,6,7,8,9,10};
fun(a,3,7);
for(i=3;i<8;i++)
printf("%d",a[i]);
}
程序的運行結果是A.A.45678
B.44567
C.45567
D.45677
77.
78.
79.
80.下列說法不正確的是()。
A.調用函數(shù)時,實參可以是表達式
B.調用函數(shù)時,實參與形參可以共用內存單元
C.調用函數(shù)時,將實參的值復制給形參,使實參變量和形參變量在數(shù)值上相等
D.調用函數(shù)時,實參與形參的類型必須一致
五、程序改錯題(1題)81.下列給定程序中,函數(shù)fun()的功能是按以下遞歸公式求函數(shù)值。例如,當給n輸入3時,函數(shù)值為60;當給n輸入6時,函數(shù)值為480。請修改程序中的錯誤,使它能得到正確結果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結構。試題程序:
六、程序設計題(1題)82.M名學生的成績已在主函數(shù)中放人一個帶頭結點的鏈表結構中,h指向鏈表的頭結點。請編寫函數(shù)proc(),它的功能是:找出學生的最高分,由函數(shù)值返回。注意:部分源程序給出如下。請勿改動main()函數(shù)和其他函數(shù)中的任何內容,僅在函數(shù)proc()的花括號中填入所編寫的若干語句。試題程序:
參考答案
1.D解析:棧是僅在表頭和表尾進行插入和刪除元素操作的線性表,其特點是“先進后出”。本題中,進棧的過程中可以出棧。選項D中,如果第一個出棧的元素為e3,由于入棧順序是e1、e2、e3,那么e3出棧后,棧中元素必定有e1和e2,因為e1先入棧,故e1應在e2后出棧,所以選項D是不可能的出棧順序。
2.D
3.B
4.A數(shù)組說明的一般形式為:類型說明符數(shù)組名[常量表達式]。B)中N是變量,不能用變量定義數(shù)組長度。C)選項中數(shù)組長度是非法的一串數(shù)字。定義數(shù)組時必須為其指明長度,D)選項中數(shù)組長度為空,所以非法。
5.C
6.A
7.BC語言程序在運行過程中的所有計算都以二進制方式進行,所以B選項錯誤。故本題答案為B選項。
8.B解析:函數(shù)getchar()的作用是從終端(或系統(tǒng)隱含指定的輸入設備)輸入一個字符,且只能接受—個字符(回車符也算是—個字符),所以getchar()不能用宋讀入字符串。scanf()函數(shù)要求按—定的格式來輸入,若同時輸入多個字符串,則以空格或回車分割,所以空格不能被識別為—個字符,也就無法讀入空格字符。函數(shù)gets()的作用是從終端輸入—個字符串\u3000(包括空格)至字符數(shù)組,直到遇到換行符為止,所以可以用來鍵盤讀入空格字符。
9.C
10.B棧是線性表的一種,其插入和刪除運算都只在表的一端進行。進行插入、刪除的一端稱為棧頂,封閉的一端稱為棧底。棧頂元素是最后被插入的元素,不是最后被刪除的元素,是按先進后出的原則組織數(shù)據(jù)的。
11.A函數(shù)返回值類型可以是簡單類型和結構體類型。
12.A棧是限定只在一端進行插入與刪除的線性表,按照“先進后出”或“后進先出”的原則組織數(shù)據(jù)。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素。
13.C將兩個字符串連接起來組成一個字符串,選用strcat函數(shù)來連接。
14.D解析:參加運算的數(shù)據(jù)類型不同,要轉換為統(tǒng)一的數(shù)據(jù)類型,double在數(shù)據(jù)類型轉換中的級別最高,其他數(shù)據(jù)類型都要轉化為double,因此表達式值的類型為double。
15.D
16.A題干中,if語句的含義是:如果a的值為1,將b的值賦給a,否則將a的值自增1。選項A中,“switch(a==1)”中表達式“a==1”的結果如果為真,即1,則從case1開始執(zhí)行“a++”;如果“a==1”的結果為假,即為0,則從case0開始執(zhí)行“a=b”,所以與題干含義執(zhí)行操作相反的是選項A中的語句。故本題答案為A選項。
17.B
18.A解析:本題考核模塊獨立性的評價。評價模塊獨立性的主要標準有兩個;一是模塊之間的耦合,它表明兩個模塊之間互相獨立的程度,也可以說是兩個或兩個以上模塊之間關聯(lián)的緊密程度(所以,本題的正確答案為選項A);二是模塊內部之間的關系是否緊密,稱為內聚。一般來說,要求模塊之間的耦合盡可能地弱,即模塊盡可能獨立,而要求模塊的內聚程度盡量地高。
19.D考查if循環(huán)語句。if(表達式),其中表達式是一個條件,條件中可以是任意的合法的數(shù)值。
20.Dc語言規(guī)定,一個字符常量代表ASCII碼字符集里的一個字符,在群序中用單引號括起來,以便區(qū)分。'\v'表示的是豎向跳格:'kx2a'表示的是兩位十六迸制數(shù);'a'表示的是字符a對應的ASCII碼值。"\0"用雙引號故不正確。
21.abcbccabcbcc解析:for循環(huán)用strcpy函數(shù)將字符數(shù)組ch的值'abc',分別復制給二維數(shù)組x的每一行,然后通過for循環(huán)先后打印出以x[0][0],x[1][1],x[2][2]開頭的字符串'abe','bc','c',所以輸出結果為:abcbcc。
22.軟件開發(fā)
23.根結點根結點
24.gaegae解析:本題定義了兩個字符串數(shù)組a[],b[],字符型指針變量p1和p2,且分別指向字符串數(shù)組a和b,執(zhí)行for循環(huán),當if(*p1+k)=*(p2+k))條件為真,執(zhí)打輸出*(p1+k)對應的字符。即當k=0時,*(p1+k)對應的字符串數(shù)組a中的字符L,*(p2+k)對應的字符串數(shù)組b中的字符P,因此if(*(p1+k)=*(p2+k))條件為假,不執(zhí)行printf語句,依此類推,將字符串數(shù)組a和b中對應位置上的字符一一比較,如果對應位置上的字符相同,則輸出該字符。
25.aa解析:本題考查的是文件的打開方式。要向文本文件的末尾續(xù)寫內容,需要使用方式“a”(追加)打開文件。
26.1212解析:本題通過第一個for循坪將數(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;
27.(X>10&&x<100)||x<0或(10<x&&x<100)||x<0或x<0||(x>10&&x<100)或0>x||(10<x&&x<100)或(括號有無都可以)(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)或(括號有無都可以)
28.3
29.對象對象解析:類描述的是具有相似性質的一組對象。例如,每本具體的書是一個對象,而這些具體的書都有共同的性質,它們都屬于更一般的概念“書”這一類對象。一個具體對象稱為類的實例。
30.序言性序言性解析:注釋一般分為序言性注釋和功能性注釋。
31.SOSO解析:考查用指針引用字符串數(shù)組中元素的方法。題中需要注意兩個問題:一是for循環(huán)的修正表達式共執(zhí)行兩次'i--'操作;二是*p[i]是對某個字符的引用。
32.有窮性有窮性
33.yearleap=1leap
34.63546354解析:函數(shù)fun的第一個for循環(huán)跳過字符串的前導空白符,接著判斷第一個非空白符是否是負號,若是,則置變量sign為-1;否則,置變量sign為1。接著的if語句在第一個非空白字符是負號或正號時,跳過該字符。以后的for循環(huán)將后面的數(shù)字符當作十進制數(shù)的各位數(shù)字轉換為一個長整數(shù)n,當遇字符a時,結束循環(huán)。最后,函數(shù)返回sign與n的乘積。所以若調用函數(shù)時提供的實參是“∪∪6354abc”,則函數(shù)的返回值是6354。
35.-1-1解析:strcmp(s1,s2)函數(shù)的作用是:對字符數(shù)組s2和字符數(shù)組s1進行比較。如果s1<s2,則返回負數(shù);如果s1==s2,則返回0;如果s1>s2,則返回正數(shù)。
36.132132解析:本題考核的知識點是for循環(huán)與switch語句的綜合運用。主函數(shù)中用了一個for循環(huán),for循環(huán)里嵌套了一個switch語句,for循環(huán)了三次,當i=9時,i/10=0,執(zhí)行switch語句中case0分支,m和n的值各加1,變?yōu)?和1,然后遇到breake語句,退出switch語句;當i=10,i/10=1,執(zhí)行switch語句中default分支,使k和n的值各加1,變?yōu)?和1,退出switch語句:當i=11時,i/10=1,執(zhí)行switch語句中default分支,k和n的值各加1變,為2和3,退出switch語句,循環(huán)結束。故該空格處應該填132。
37.1010解析:本題程序中定義了一個函數(shù)sub(),用來計算一個整數(shù)整除10的商和余數(shù)的和。在主函數(shù)中,首先用scanf()函數(shù)讀入一個十進制整數(shù)1234,然后對1234三次嵌套調用函數(shù)svb()。首先看最里層的調用,應該返回的值是123+4=127;然后中間一層調用應該返回的是12+7=19;所以最外層調用返回1+9=10。故最后輸出10。
38.11<CR>23<CR>5(<CR代表換行)11<CR>23<CR>5(<CR,代表換行)解析:本題通過語句“for(i=2;i<5;i++)a[i]=a[i-2]+a[i-];”將數(shù)組中前面兩項的和賦值給數(shù)組當前元素,得到a的值應為(1,1,2,3,5)。語句if(i%2==0)pfintf('\\n')是要將數(shù)組中的元素以每行2個的形式輸出。
39.數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段解析:在數(shù)據(jù)管理技術的發(fā)展過程中,經歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段,其中數(shù)據(jù)獨立性最高的階段是數(shù)據(jù)庫系統(tǒng)階段。
40.封裝封裝
41.B解析:滿足表達式(c>=2&&c<=6)的整型變量c的值是2,3,4,5,6。當變量c的值不為2,4,6時,其值只能為3或5,所以表達式c!=3和c!=5中至少有一個為真,即不論c為何值,選項B中的表達式都為'真'。
42.C解析:本題中首先定義一個整型變量a并給它賦初值為3,在表達式中,從右開始執(zhí)行,即先執(zhí)行“a-=a*a;”等價于a=a-a*a即a=3-3*3=-6,此時a的值為-6,接著執(zhí)行“a+=a-;”相當于執(zhí)行a=a+a即a=-6+(-6)=-12,此時a的值為-12。所以,4個選項中選項C符合題意。
43.B解析:雙目運算中兩邊運算量類型轉換規(guī)律:
運算數(shù)1運算數(shù)2轉換結果類型
短整型長整型短整型->長整型
整型長整型整型->長整型
字符型整型字符型->整型
有符號整型無符號整型有符號整型->無符號整型
整型浮點型整型->浮點型
在a/b的時候,a、b的類型不一致,根據(jù)類型轉換規(guī)則,把整型轉換成double類型,之后的加、減類似。轉化規(guī)則為char,short->int->unsigned->long->double←float。
44.B解析:子串的定位操作通常稱作串的模式匹配,是各種串處理系統(tǒng)中最重要的操作之一,算法的基本思想是:從主串的開始字符起,與模式的第一個字符比較,若相等,則繼續(xù)比較后續(xù)字符,否則從主串的下一個字符起再重新與模式的字符比較,依次類推,直至模式中的每一個字符依次和主串中的一個連續(xù)的字符序列相等,稱匹配成功,否則稱匹配不成功。
45.D解析:本題中,&&左邊的表達式!(x+y)為!(3+7),結果為假,即為0。再加上2,然后減一,相當于0+5-1=4。左邊等于4,&&右邊的表達式y(tǒng)+z/2相當于4+5/2為6,所以整個表達式相當于4&&6為真,即為1,所以選項D正確。
46.C解析:本題考查的重點是拷貝字符串——使用strcpy()函數(shù),該函數(shù)的調用方式是:strcpy(字符數(shù)組,字符串),其中”字符串”可以是字符串常量,也可以是字符數(shù)組。函數(shù)的功能是:將“字符串”完整地復制到“字符數(shù)組”中,字符數(shù)組中原有的內容被覆蓋。
使用該函數(shù)時注意:①字符數(shù)組必須定義得足夠大,以便容納復制過來的字符串。復制時,連同結束標志'\\0'一起復制;②不能用賦值運算符“:”將一個字符串直接賦值給一個字符數(shù)組,只能用strcpy()函數(shù)處理。
另外,本題還考查連接字符串的strcat()函數(shù),其調用方
47.B解析:選項A的結尾沒用‘;’,所以不是一條語句:選項C中的表達式不會改變任何變量的內容,也不是合法的賦值語句;選項D有語法錯誤,int應該加上括號。所以,4個選項中只有選項B符合題意,運行后d的內容被減一。
48.B解析:將一個變量定義為標準類型與定義為結構體類型不同之處在于:后者不僅要求指定變量為結構體類型,而且要求指定為某一特定的結構體類型(例如,structcolor),不能只指定結構體名。其中可以不出現(xiàn)結構體名,答案D就是缺省結構體名的隋況。而變量名歹婊必須放在成員列表后面,所以B答案不能正確將cl定義為結構件變量。
49.D
50.A解析:本題考查C語言的綜合基礎知識。構成C程序的基本單位是函數(shù),一個C程序總是從main函數(shù)開始執(zhí)行,而不論main函數(shù)在整個程序中的位置如何。C語言的函數(shù)定義都是互相平行、獨立的,在定義函數(shù)時,一個函數(shù)內不能定義另一個函數(shù)。C函數(shù)定義的一般格式有兩種:傳統(tǒng)格式和現(xiàn)代格式。傳統(tǒng)格式也稱K&R格式,是早期編譯系統(tǒng)使用的格式;現(xiàn)代格式又稱ANSI格式,是現(xiàn)代編譯系統(tǒng)使用的格式。
51.A本題主要考查函數(shù)的遞歸調用。在做遞歸調用函數(shù)類型的題目時,我們首先要找到函數(shù)的出口和遞歸結束的條件。
在本題中,程序首先定義了一個fun函數(shù),函數(shù)的形參是一個整型變量n,從后面的程序可以看出,該函數(shù)是一個遞歸函數(shù)。在函數(shù)體中,首先執(zhí)行條件判斷語句,如果條件結果為真,說明變量n為1,此時返回1,這是遞歸函數(shù)的出口;否則返回函數(shù)的遞歸調用。
在主函數(shù)中,定義一個變量x,并試圖通過鍵盤輸入的方式為變量x賦初值,然后調用fun函數(shù),并用x作為其形參,用x保存最后的運行結果輸出。
變量x的初值為10,從上面的分析我們知道,遞歸調用的出口是n=1,而每遞歸一次n的值減1,因此,函數(shù)fun遞歸調用了9次,其運算相當于10+9+8+7+6+5+4+3+2+1=55。因此,程序最終的輸出結果是55。
52.C解析:選項t中,aa為結構體變量,而不是結構體名稱,不能再用來定義td。
53.CC?!窘馕觥縎QL語言的全稱為StructuredQueryLanguage,它是一種介于關系代數(shù)與關系演算之間的結構化查詢語言,是一種面向數(shù)據(jù)庫的通用數(shù)據(jù)處理語言規(guī)范。它包含數(shù)據(jù)查詢語言、數(shù)據(jù)操縱語言、數(shù)據(jù)定義語言和數(shù)據(jù)控制語言4個部分。
54.A解析:在函數(shù)體內定義一字符型指針并指向形參,然后遍歷其中各字符直到NULL,最后返回字符串首尾地址的差值,即字符串的長度。
55.D解析:希爾排序的基本思想是把記錄按照下標的一定增量進行分組,對每組記錄使用插入排序,隨著增量逐漸減小,所分成的組包含的記錄越來越多,到增量的值減小到1時,整個數(shù)據(jù)合成一組,構成一組有序記錄,故其屬于插入排序方法。
56.A解析:本題題意要求刪除所有空格,即除了空格以外的其他所有字符都要留下。由于C語言中沒有直接刪除字符的操作,所以我們對于刪除字符的操作都是采用“留下”字符的算法,以前的題目亦是如此。用str[i]從串頭到串尾逐一走動,每走到一個字符都判斷其是否為空格,若不是空格(注意在if()的單引號之間有一個空格),則將其保存str[j]中。注意j的下標變化、初值及最后加串結束符'\\0'。
57.A解析:在C語言中,模運算(即取余運算%)的運算對象必須是整型數(shù)據(jù)(常量、變量或表達式)。
58.D解析:本題考查了二叉樹的基本概念。在二叉樹中,葉子節(jié)點的度是1;當該二叉樹為空樹時,根節(jié)點的度為零;為非空樹時,根節(jié)點的度為2。
59.C解析:本題首先定義一個全局變量x并賦初值為3,主函數(shù)中使用這個全局變量控制循環(huán)次數(shù),循環(huán)執(zhí)行了2次,調用兩次incre()函數(shù)。第一次調用incre(),定義一個靜態(tài)變量x并賦初值1,然后執(zhí)行“x*=x+1”,使x的值變?yōu)?;第二次調用incre()函數(shù)時,靜態(tài)變量將保留上一次退出時的值即2,執(zhí)行語句“x*=x+1”后,x的值變成6,輸出x的值為6。
60.A解析:選項A)是一個表達式,它后面沒有分號結尾(C語言中規(guī)定語句必須以分號結束),所以它不是語句;選項B)用一個花括號把幾條語句括起來了,這是一個復合語句;選項C)中只有一個分號,是一個空語句;選項D)是個復合語句,也是一個空語句。
61.D循環(huán)隊列的隊頭指針與隊尾指針都不是固定的,隨著入隊與出隊操作要進行變化。因為是循環(huán)利用的隊列結構,所以對頭指針有時可能大于隊尾指針有時也可能小于隊尾指針,故本題答案為D)。
62.D
63.Ae前e后有數(shù)字,e后數(shù)值為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 圖書講座系列策劃方案計劃
- 班級工作計劃順利推進
- 2025年離合器主缸項目合作計劃書
- 2025年高密度聚乙烯土工膜合作協(xié)議書
- 綠色建筑項目2024年合作意向書
- 金融科技公司風控系統(tǒng)設計與優(yōu)化措施研究報告
- 消防維修工程合同協(xié)議書
- 房地產營銷合作項目協(xié)議書
- 工業(yè)機器人班級文化建設方案設計
- 季度市場營銷工作計劃與執(zhí)行步驟
- 小升初、小學生滿分優(yōu)秀作文匯編100篇
- 次聲波在臨床醫(yī)學及麻醉中的作用 次聲波在臨床麻醉中的作用
- 2022年云南省中考數(shù)學試題及答案解析
- 完整版新能源汽車充電站應急預案
- TS16949五大工具:SPC
- 五年級下冊-綜合實踐教案
- 貴州出版社小學五年級下冊綜合實踐活動教案全冊
- 依據(jù)FEM9851所作堆垛機循環(huán)時間計算
- 牛津大學劍橋大學介紹課件
- 胎心監(jiān)護及判讀學習教案
- SAP-ABAP-實用培訓教程
評論
0/150
提交評論