




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2022-2023年內(nèi)蒙古自治區(qū)興安盟全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.甲乙兩個聰明人上街,撿到一張10塊錢的購物卡,兩人就想出一個辦法來分配這張卡。兩個分別將自己出的價格寫在紙上,然后看誰出的價高就給誰,并且那個出價高的人要把出的錢給對方?,F(xiàn)在甲有6塊錢,乙有8塊錢,甲乙雙方都知道對方當(dāng)前有多少錢并且都希望自己收益高于對方。問最后誰獲得的錢多()
A.甲多B.乙多C.一樣多D.有可能出現(xiàn)有人賠錢的情況
2.在長度為n的順序存儲的線性表中,刪除第i個元素(1≤i≤n)時,需要從前向后依次前移____個元素。
A.n-iB.n-i+1C.n-i-1D.i
3.以下與函數(shù)fseek(fp,0L,SEEK_SET)有相同作用的是
A.feof(fp)B.ftell(fp)C.fgetc(fp)D.rewind(fp)
4.線性表是具有n個()的有限序列。
A.字符B.數(shù)據(jù)元素C.數(shù)據(jù)項D.表元素
5.下列語句中,說法正確的是______。
A.C程序書寫格式嚴(yán)格,每行只能寫一個語句
B.C程序書寫格式嚴(yán)格,每行必須有行號
C.C程序書寫格式自由,每行可以寫多條語句,但之間必須用逗號隔開
D.C程序書寫格式自由,一個語句可以分寫在多行
6.關(guān)于數(shù)組和指針,以下說法錯誤的是()。
A.數(shù)組名本身就是一個指針,指向數(shù)組內(nèi)存的起始位置
B.既可以讀入數(shù)據(jù)到數(shù)組中,也可以讀入數(shù)據(jù)到未賦初值的指針中
C.可以將指針指向一個同類型的數(shù)組
D.指針可以指向同類型的數(shù)組中的任意一個元素
7.下列定義語句中錯誤的是()。
A.intx[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
B.intx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
C.intx[][3]={0},{1},{2},{3}};
D.intx[][3]={1,2,3,4};
8.有以下程序:#include<stdio.h>intfun(intx,inty){if(x!=y)return((x+y)/2);elsereturn(x);}main(){inta=4,b=5,c=6;printf(“%d\n”,fun(2*a,fun(b,c)));}程序的運行結(jié)果是()。
A.6B.3C.8D.12
9.若有下列說明語句int(*p)();則標(biāo)識符p代表的是()
A.一個用于指向函數(shù)的指針變量,函數(shù)返回值的類型為int型
B.一個帶回值類型為整型的函數(shù)名
C.一個用于指向整型數(shù)據(jù)的指針變量
D.一個帶回值類型為指針類型的函數(shù)名
10.有以下程序:#include<stdio.h>#include<string.h>main(){charstr[][10]={“One”,“Three”,“Five”},*p=str[0];printf(“%s,”,p+10);printf(“%d\n”,strlen(p+=10));}程序運行后的輸出結(jié)果是()。
A.Three,4B.出錯C.Three,5D.Five,5
11.有以下定義語句,編譯時會出現(xiàn)編譯錯誤的是()。
A.chara=a;B.chara=\nC.chara=aa;D.chara=\x2d;
12.有以下程序:#include<stdio.h>main(){chara==‘0’,b=‘A’;inti;for(i=1;i<6;i++)if(i%2==0)putchar(a+i);elseputchar(b+i);}程序運行后的輸出結(jié)果是()。
A.A2A3BB.2B4DFC.B4CD7D.B2D4F
13.
14.可用作C語言用戶標(biāo)識符的一組標(biāo)識符是()。A.voiddefine+WORDB.a3_b3_123YNC.for-abcCaseD.2aDOsizeof
15.帶有頭節(jié)點的單向鏈表head,其3個數(shù)據(jù)節(jié)點A、B、C的連接關(guān)系如下圖所示:節(jié)點類型的定義為structlink{doubledt;structlink*next;};若指針P指向A節(jié)點,在不改變P指向的前提下,以下選項中不能訪問C節(jié)點數(shù)據(jù)成員dt的表達(dá)式是()。A.*(*p).next->next->dt
B.p->next->next->dt
C.(*(*(*p).next).next).dt
D.(*(p->next->next)).dt
16.在最壞情況下比較次數(shù)相同的是()。A.冒泡排序與快速排序B.簡單插入排序與希爾排序C.簡單選擇排序與堆排序D.快速排序與希爾排序
17.計算機算法指的是()。
A.計算方法B.排序方法C.解決問題的有限運算序列D.調(diào)度方法
18.
19.在說明語句:int*f();中,標(biāo)識符f代表的是
A.一個用于指向整型數(shù)據(jù)的指針變量
B.一個用于指向一維數(shù)組的行指針
C.一個用于指向函數(shù)的指針變量
D.一個返回值為指針型的函數(shù)名
20.在執(zhí)行inta[][3]={{1,2},{3,4}};語句后,a[1][2]的值是()
A.2B.4C.3D.0
二、2.填空題(20題)21.下面程序的運行結(jié)果是【】。
#include<stdio.h>
main()
{inty,a;
y=2,a=1;
while(y--!=-1)
{do{a*=y;a++;}while(y--);}
printf("%d,%d",a,y);}
22.請讀程序片段:
inta=17;
printf("%d,%o\n",a,a);
以上程序片段的輸出結(jié)果是【】。
23.要求使下列程序輸出5個整數(shù),請?zhí)羁铡?/p>
for(i=0;i<=______;printf("%d\n",i+=2));
24.函數(shù)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';
}
25.設(shè)有定義:intn,*k=&n;以下語句將利用指針變量k讀寫變量n中的內(nèi)容,請將語句補充家整。
seanf("%d",【】);
printf("%d\n",【】);
26.以下程序運行后的輸出結(jié)果是【】。
#defineS(x)4*x*x+1
mah()
{inti=6,j=8;
printf("%d\n",S(i+j));
}
27.若有如下程序:
main()
{intx=20;
if(x>10)printf("%d",x-=5);
if(x>15)printf("%d",x);
}
則程序運行后的輸出結(jié)果是【】。
28.下面程序的運行結(jié)果是【】。
#inelude<stdio.h>
intf(inta[],intn)
{if(n>1)returna[0]+f(&a[1],n-1);
elsereturna[0];
}
main()
{intaa[3]={1,2,3},s;
s=f(&aa[0],3);printf("%d\n",s);
}
29.用復(fù)合的賦值運算符將變量x中的值增大2的賦值表達(dá)式是【】。
30.下面程序把從終端讀入的文本(用@作為文本結(jié)束標(biāo)志)輸出到一個名為bi.dat的新文件中,請?zhí)羁铡?/p>
#include"stdio.h"
FILE*fp;
main()
{charch;
if((fp=fopen(【】))==NULL)exit(0);
while((ch=getchar())!='@')fputc(ch,fp);
fclose(fp);
}
31.以下程序的功能是將字符串s中的數(shù)字字符放入d數(shù)組中,最后輸出d中的字符串。例如,輸入字符串:
abcl23edf456gh,執(zhí)行程序后輸出:123456。請?zhí)羁铡?/p>
#include<stdio.h>
#include<ctype,h>
main()
{chars[80],d[80];inti,j;
gets(s);
for(i=j=0;s[i]!='\0';i++)
if(【】){d[j]=s[i];j++;}
d[j]='\0';
puts(d);
}
32.在結(jié)構(gòu)化設(shè)計方法中,數(shù)據(jù)流圖表達(dá)了問題中的數(shù)據(jù)流與加工間的關(guān)系,并且每一個______實際上對應(yīng)一個處理模塊。
33.若a的值為1,則表達(dá)式!a‖++a的值是______。
34.設(shè)Y是int型變量,請寫出判斷Y為奇數(shù)的關(guān)系表達(dá)式【】。
35.能把計算機處理好的結(jié)果轉(zhuǎn)換成為文本、圖形、圖像或聲音等形式并輸送出來的設(shè)備稱為【】設(shè)備。
36.瀑布模型將軟件生存周期劃分為【】、開發(fā)和運行3個階段。
37.排序是計算機程序設(shè)計中的一種重要操作,常見的排序方法有插入排序、【】和選擇排序等。
38.排序是計算機程序設(shè)計中的一種重要操作,常見的排序方法有插入排序、______和選擇排序。
39.表示“整數(shù)x的絕對值大于5”時值為“假”的C語言表達(dá)式是______。
40.若有定義floatb[15],*p=b;,且數(shù)組b的首地址為200H,則p+13所指向的數(shù)組元素的地址為______。
三、1.選擇題(20題)41.在軟件測試設(shè)計中,軟件測試的主要目的是
A.實驗性運行軟件B.證明軟件正確C.找出軟件中全部錯誤D.盡可能多地發(fā)現(xiàn)軟件中的錯誤
42.下列程序的輸出結(jié)果是()。
main()
{inta,b,d=25;
a:d/10%9;
b=a&&(-1);
printf("%d,%d\n",a,b);}
A.6,1B.2,1C.6,0D.2,0
43.將E-R圖轉(zhuǎn)換到關(guān)系模式時,實體與聯(lián)系都可以表示成________。
A.屬性B.關(guān)系C.鍵D.域
44.設(shè)x是int型變量,則計算表達(dá)式“x=25/3%3”的值是()
A.0B.iC.2D.非法
45.若希望下列的程序運行后輸出25,程序空白處的正確選項是()。
main()
{inti,j=50,a[]={7,4,10,5,8};
for()
j+=a[i];
printf("%d",j-40);
}
A.i=1;i<4;++iB.i=1;i<3;++iC.i=4;i>2;i--D.i:2;i<4;++i
46.下面程序的輸出是______。main(){intx=3,y=6,a=0;while(x++!=(y-=1)){a+=1if(y<x)break;}printf("x=%d,y=%d,=%d\n",x,y,a);}
A.x=4,y=4,a=1B.x=5,y=5,a=1C.x=5,y=4,a=3D.x=5,y=4,a=1
47.下列選項中非法的表達(dá)式是________。
A.0<=x<100B.i=j==0C.(char)(65+3)D.x+1=x+1
48.軟件開發(fā)離不開系統(tǒng)環(huán)境資源的支持,其中必要的測試數(shù)據(jù)屬于A.硬件資源B.通信資源C.支持軟件D.輔助資源
49.以下對枚舉類型名的定義中正確的是()
A.enuma={one,two,three};
B.enuma{one=9,two=-1,three=200};
C.enuma={"one","two","four"};
D.enuma{"nine","two","three"};
50.設(shè)有下列二叉樹:
對此二叉樹中序遍歷的結(jié)果為______。
A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA
51.有以下程序:main(){intx[8]={8,7,6,5,0,0},*s;s=x+3;printf("%d\n",s[2]);}程序運行后的輸出結(jié)果是______。
A.隨機值B.0C.5D.6
52.設(shè)有定義:intn1=0,n2,*p=&n2,*q=&nl;,下列賦值語句中與n2=n1;語句等價的是()。
A.*p=*q;B.p=q;C.*p=&n1;D.p=*q;
53.當(dāng)3.5in(英寸)軟盤的寫保護窗口開著時,該軟盤()
A.只能寫不能讀B.既能讀又能寫C.只能讀不能寫D.不能使用
54.若有定義:char*st="howareyou";下列程序段中正確的是
A.chara[11],*p;strcpy(p=a+1,&st[4]);
B.chara[11];strcpy(++a,st);
C.chara[11];strcpy(a,st);
D.chara[],*p;strcpy(p=&a[1],st+2);
55.當(dāng)變量c的值不為2、4、6時,值也為"真"的表達(dá)式是
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)
56.若有說明inti,j=2,*p=&i;,則能完成i=j賦值功能的語句是______。
A.i=*p;B.*p=*&j;C.i=&j;D.i=**p;
57.若有定義:inta[2][3];,以下選項中對a數(shù)組元素正確引用的是A.a[2][!1]B.a[2][3]C.a[0][3]D.a[1>2][!1]
58.當(dāng)a=4,b=5,c=7,d=6時,執(zhí)行下面一段程序:if(a<B)if(c<D)x=1;elseif(a<C)if(b<C)x=2:elsex=3;elsex=4;elsex=5;程序執(zhí)行后,x的值為()。
A.1B.2C.3D.4
59.在C語言中,引用數(shù)組元素時,其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是()。
A.整型表達(dá)式B.整型常量C.整型常量或整型表達(dá)式D.任何類型的表達(dá)式
60.設(shè)有以下程序:structst{intn;structst*next;};staticstructsta[3]={5,&a[1],7,&a[2],9,'\0'},*p;p=&a[0];下面選項中,表達(dá)式值為6的是______。
A.p++->nB.p->n++C.(*p).n++D.++p->n
四、選擇題(20題)61.
62.有以下程序函數(shù)fun只對下標(biāo)為偶數(shù)的元素進(jìn)行操作.:
程序運行后的輸出結(jié)果是()。A.A.7,2,5,4,3,6,1,
B.1,6,3,4,5,2,7,
C.7,6,5,4,3,2,1,
D.1,7,3,5,6,2,1,
63.
64.下列關(guān)于單目運算符++,——的敘述中正確的是()。
A.它們的運算對象可以是任何變量和常量
B.它們的運算對象可以是char型變量和int型變量,但不能是float型變量
C.它們的運算對象可以是int型變量,但不能是double型變量和float型變量
D.它們的運算對象可以是char型變量、int型變量和float型變量
65.有以下程序:
程序運行后的輸出結(jié)果是()。
A.2,3,1,6,8,7,5,4,10,9,
B.3,4,2,7,9,8,6,5,11,10,
C.2,4,3,9,12,12,11,11,18,9,
D.1,2,3,6,8,7,5,4,10,9,
66.若程序中有宏定義行:
67.
68.
69.
70.第
42
題
下面說明不正確的是
A.chara[10]="china";
B.chara[10],*p=a;p="china"
C.char*a;a="china";
D.chara[10],*p;p=a="china"
71.若有以下定義和語句
structa
{intn,m;};
structast[3]={{2,3},{4,5},{6,7}};
structa*p=st;
則以下錯誤的引用是
A.(p++)->n;B.st[0].n;C.(*p).n;D.P=&st.m,
72.若運行以下程序時,從鍵盤輸入ADescriptor<CR>(<CR>表示回車),則下面程序的運行結(jié)果是()。
A.v0=7,vl=4,v2=7
B.v0=8,vl=4,v2=8
C.v0=11,vl=4,v2=11
D.v0=13,vl=4,v2=12
73.C語言中以只讀方式打開一個文件應(yīng)選擇_______________參數(shù)。
A.“r”B.“w”C.“rb”D.“a”
74.源程序的文檔不包括()。
A.符合號名的命名要有實際意義B.正確的文檔形式C.良好的視覺組織D.正確的程序注釋
75.
76.以下語句的輸出結(jié)果是()。
inta=-1,b=4,k;
k=(++a<0)!(b--<=0);
printf("%d,%d,%d\n",k,a,b);
A.1,0,4B.1,0,3C.0,0,3D.0,0,4
77.
78.在面向?qū)ο蠓椒ㄖ?,一個對象請求另一對象為其服務(wù)的方式是通過發(fā)送()。A.調(diào)用語句B.命令C.口令D.消息
79.
80.下列描述錯誤的是()。
A.繼承分為多重繼承和單繼承
B.對象之間的通信靠傳遞消息來實現(xiàn)
C.在外面看不到對象的內(nèi)部特征是基于對象的“模塊獨立性好”這個特征
D.類是具有共同屬性、共同方法的對象的集合
五、程序改錯題(1題)81.下列給定程序中函數(shù)fun的功能是:將長整型數(shù)中各位上為奇數(shù)的數(shù)依次取出,構(gòu)成一個新數(shù)放在t中。高位仍在高位,低位仍在低位。
例如,當(dāng)s中的數(shù)為87653142時,t中的數(shù)為7531。請改正程序中的錯誤,使它能得出正確的結(jié)果。注意:部分源程序在文件MODll.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
六、程序設(shè)計題(1題)82.編寫函數(shù)fun(),其功能是:實現(xiàn)兩個字符串的連接(不要使用庫函數(shù)strcat),即把p2所指的字符串連接到p1所指的字符串的后面。例如,分別輸入下面兩個字符串:“FirstString——”“SecondString”程序輸出:“FirstString——SecondString”注意:部分源程序給出如下。請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:
參考答案
1.C
2.A
3.D解析:本題考查的是文件操作函數(shù).題目中fseek(fp,0L,SEEK_SET)的作用將文件指針定位到文件開始。feof(fp)的作用是判斷文件指針是否已到文件結(jié)尾,因此選項A不對。ftell(fp)的作用是獲取當(dāng)前文件指針的位置,因此選項B不對。fgetc(fp)的作用是從文件中讀取一個字節(jié),因此選項C不對。rewind(中)的作用是將文件指針重定位到文件開頭,所以應(yīng)該選擇D。
4.B
5.D
6.BC語言中,數(shù)組名本身就是一個指針,指向數(shù)組內(nèi)存的起始位置,選項A正確;已經(jīng)定義的數(shù)組被分配了內(nèi)存空間,所以可以讀入數(shù)據(jù)到數(shù)組中,未賦初值的指針沒有分配內(nèi)存空間,不可以讀入數(shù)據(jù),選項B錯誤;可以將指針指向一個同類型的數(shù)組,選項C正確;指針指向一個數(shù)組后,可以通過移動指針,指向該數(shù)組中的任意一個元素,選項D正確。故本題答案為B選項。
7.B二維數(shù)組定義的一般形式是:類型說明符數(shù)組名[常量表達(dá)式1][常量表達(dá)式2]。其中常量表達(dá)式1表示第1維長度,常量表達(dá)式2表示第2維長度。若對二維數(shù)組的全部元素賦初值,第1維長度可以不給出。但如果只確定行數(shù),而不確定列數(shù),就無法正確賦值。故本題答案為B選項。
8.A本題中,fun函數(shù)第1次調(diào)用為fun(8,fun(5,6))。因為fun(5,6)的返回值為5,所以第2次調(diào)用為fun(8,5),即返回值為6。故本題答案為A選項。
9.A
10.Cmain函數(shù)定義一個二維字符數(shù)組str,它包含3個字符串,每個字符串存放在一個長度為10的一維數(shù)組中。指針變量P指向str[0],即第1個字符串“One”。由于“One”存放在長度為10的一維數(shù)組中,因此P+10指向下一個字符串“Three”,長度為5。故本題答案為C選項。
11.Cchar類型用于存儲單個字符的簡單變量類型,它可以被指定為一個字符常量或一個整數(shù)。
12.D程序首先定義字符變量a并賦初值‘0’,定義字符變量b并賦初值‘A’。然后執(zhí)行for循環(huán),當(dāng)i為偶數(shù)時,輸出字符“a+i”;當(dāng)i為奇數(shù)時,輸出字符“b+i”。因為數(shù)字和字母的ASCII值都是按順序遞增的,所以本題輸出為B2D4F。故本題答案為D選項。
13.A
14.B
15.Alink結(jié)構(gòu)體中的next是鏈表中下一個節(jié)點的地址。由于p當(dāng)前指向節(jié)點A,因此p->next是B的地址。p->next->next是C的地址,訪問C的節(jié)點數(shù)據(jù)成員dt可以使用C的地址訪問,即p->next->next->dt,選項B正確?;蛘呤褂媒庖谩?”運算符:(*p)表示節(jié)點A,(*p).next表示B的地址,*((*p).next)表示節(jié)點B,(*((*p).next)).next表示C的地址,*((*((*p).next)).next)表示節(jié)點C,所以C的數(shù)據(jù)成員dt可以表示為(*((*(*p).next).next)).dt,因為“.”運算符優(yōu)先級高于“*”運算符,所以也可以寫為(*(*(*p).next).next).dt,選項C正確。同理,也可以既使用指針運算符,又使用解引用運算符來訪問C的節(jié)點數(shù)據(jù)成員dt,即(*(p->next->next)).dt,選項D正確。選項A中,*p表示A節(jié)點,(*p).next表示節(jié)點B的地址,由于“->”運算符的優(yōu)先級高于“*”運算符,因此先執(zhí)行“->”,即表達(dá)式(*p).next->next->dt引用了C節(jié)點的數(shù)據(jù)成員dt,然后再執(zhí)行解引用運算“*”,這是錯誤的。故本題答案為A選項。
16.A冒泡排序、快速排序、簡單插入排序、簡單選擇排序在最壞情況下比較次數(shù)均為n(n-1)/2,堆排序在最壞情況下比較次數(shù)為nlog2n,希爾排序在最壞情況下需要比較的次數(shù)是nr(1﹤r﹤2)。本題答案為A選項。
17.C
18.B
19.D解析:帶回指針值的函數(shù),其一般定義形式為:
類型標(biāo)識符*函數(shù)名(參數(shù)表);
例如;int*f(x,y);
其中,f是函數(shù)名,調(diào)用它以后能得到一個指向整型數(shù)據(jù)的指針(地址),x,y是函數(shù)f的形參。在f的兩側(cè)分別為*運算符和()運算符,而()優(yōu)先級高于*,因此f先與()結(jié)合,顯然是函數(shù)形式。這個函數(shù)前面有一個*,表示此函數(shù)是指針型函數(shù)(函數(shù)值是指針)。前面的int表示返回的指針指向整型變量。
20.D
21.1-21,-2解析:考查嵌套的循環(huán)結(jié)構(gòu)。題中外層while循環(huán)的循環(huán)條件是\ue008y--!=-1\ue009,即y>=0;內(nèi)層do厀hile循環(huán)的循環(huán)條件是y--,即y-->0,y>=1。
22.1721
23.88解析:本題考查基本的for循環(huán)條件,i+=2表示i每次遞增2,從0開始,輸出5個整數(shù)則需要的條件是i<=8。
24.length++i<lengthlength++\r\ni<length解析:第一個循環(huán)極有可能是計算串的長度,在i<=length時字符才被刪除,被刪除的是第i個到第i+n或最后一個間的所有字符。刪除前,應(yīng)判斷i<=length。由于已經(jīng)進(jìn)行了-i運算,故實際應(yīng)填入i<length。
25.k[7]*kk[7]*k解析:scanf()函數(shù)有兩個參數(shù),第—個參數(shù)是格式控制部分(格式控制部分是字符串,主要由“%”號和格式字符組成)第二個參數(shù)是一地址列表(地址列表是由多個地址組成,可以是變量的地址,也可以是字符串的首地址)。而第一個空格處位于scanf()函數(shù)的第二個參數(shù)處,所以,第一個空應(yīng)該填地址k。printf()函數(shù)有兩個參數(shù),第一個參數(shù)是輸出格式字符串(輸出格式字符串是由控制輸出格式的字符和非格式字符組成的,通常是字符常量。非格式字符作為輸出數(shù)據(jù)的間隔,輸出時原樣輸出)第二個參數(shù)為一輸出表達(dá)式表(輸出表達(dá)式表是由若干個需要計算和輸出的表達(dá)式組成的,表達(dá)式之間用逗號分隔開)。而第二個空位于printf()函數(shù)的第二個參數(shù)處,所以應(yīng)該填*K。
26.8181解析:本題的宏調(diào)用S(i+j)將被替換成表達(dá)式4*i+j*i+j+l等于4*6+8*6+8+1=24+48+8+1=81。所以本題輸出81。
27.1515解析:本題首先定義了一個變量x并初始化為20。然后第一個if語句判斷x是否>10,結(jié)果為真,則執(zhí)行后面的輸出語句,輸出結(jié)果是賦值表達(dá)式X-=5的值,所以輸出15,同時x的值也變成15。第二個if語句再判斷x是否>15時條件為假,結(jié)束程序。所以程序運行后的輸出結(jié)果是15。
28.66解析:已知aa[3]={1,2,3},n=3,調(diào)用函數(shù)f,n>1成立,執(zhí)行a[0]+f(&a[1],n-1);即1+f(&a[1],2),遞歸調(diào)用函數(shù)f,將a[1]的地址作為參數(shù)傳給數(shù)組a,使數(shù)組a的首地址變?yōu)?a[1],數(shù)組中的元素只有2,3;2傳給n,這時n=2,n>1仍然成立,繼續(xù)調(diào)用a[0]+f(&a[1],n-1);即執(zhí)行1+2+f(&a[1],1),因為上次遞歸調(diào)用函數(shù)f后數(shù)組中的元素為2,3,所以此次的a[1]為3,調(diào)用后的a[0]為3。所以最后結(jié)果為1+2+3=6。
29.x+=2
30.dat""w"或"bi.dat""w+"或"bi.dat""r+"dat','w'或'bi.dat','w+'或'bi.dat','r+'解析:本題的考點是fopen()函數(shù),此函數(shù)的格式是fopen(文件名,使用文件方式),題目的要求是將從鍵盤讀入的文本寫到文件中,因此選擇的打開方式應(yīng)該是'w'(只寫)。或者是讀寫“r+”或“w+”。
31.s[i]>='0'&&s[i]<='9'或isdigit(s[i])或s[i]>=48&&s[i]<=57或s[i]<='9'&&s[i]>='0'或'9'>=s[i]&&'0'<=s[i]或'0'<=s[i]&&'9'>=s[i]或s[i]<=57&&s[i]>=48或57>=s[i]&&48<=s[i]或48<=s[i]&&57>=s[i]s[i]>='0'&&s[i]<='9'或isdigit(s[i])或s[i]>=48&&s[i]<=57或s[i]<='9'&&s[i]>='0'或'9'>=s[i]&&'0'<=s[i]或'0'<=s[i]&&'9'>=s[i]或s[i]<=57&&s[i]>=48或57>=s[i]&&48<=s[i]或48<=s[i]&&57>=s[i]解析:字符數(shù)組的初始化,字符串的輸入和輸出的應(yīng)用。C語言沒有字符串變量,字符串不是存放在一個變量中而是存放在一個字符型數(shù)組中,因此為了存放字符串,常常在程序中定義字符型數(shù)組;字符串存放在字符數(shù)組中,但字符數(shù)組與字符串可以不等長,C語言規(guī)定以“\\0”字符作為字符串結(jié)束標(biāo)志。
本題中,chars[80],d[80];定義了兩個字符型數(shù)組,可以放入80個字符。gets函數(shù)是c語言提供的一個專門用于讀字符串的函數(shù),它讀入全部字符(包括空格),直到遇到回車為止。本題中,讀入字符串s后,開始比較s中的每個字符是否為數(shù)字字符,因為字符數(shù)據(jù)在內(nèi)存中以相應(yīng)的ASCII碼存放,所以只需比較相應(yīng)的ASCII碼值是否在48('0'的ASCII代碼)與57('9'的ASCII代碼)之間,或者直接與'0','9'進(jìn)行比較,如果是數(shù)字字符則將此字符存入d數(shù)組中,不是則繼續(xù)進(jìn)行下一字符的比較,直至s結(jié)束(即'0'的出現(xiàn))。將“'\\0'”字符作為字符串d結(jié)束標(biāo)志,最后調(diào)用puts函數(shù)輸出d。所以在空格處應(yīng)填入比較語句s[i]>='0'&&s[i]<='9'或isdigit(s[i])或s[i]>=48&&s[i]<=57或s[i]<='9'&&s[i]>='0'或'9'>=s[i]&&'0'<=s[i]或'0'<=s[i]&&'9'>=s[i]或s[i]<=57&&s[i]>=48或&&48<=s[i]或57>=s[i]。
32.加工加工解析:數(shù)據(jù)流圖是從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動變換過程。其中的每一個加工對應(yīng)一個處理模塊。
33.11解析:邏輯運算中,非1即0,非0即1,!a=0,++a為邏輯1,所以0和1相或結(jié)果為1。
34.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判斷變量是否為奇數(shù)可以用變量與2取模,判斷結(jié)果是為1或下為0。本題具體做法如下:Y%2=1或Y%2!=0。
35.輸出輸出
36.計劃計劃解析:瀑布模型是B.W.Boehm于1976年提出的。它將軟件生存周期劃分為計劃、開發(fā)、運行3個時期,每個時期又分為若干個階段。
37.交換排序交換排序解析:常見的排序方法有插入排序(包括簡單插入排序法和希爾排序法等)、交換排序(包括冒泡排序和快速排序法等)和選擇排序(包括簡單選擇排序和堆排序等)。注意:常見的排序方法及其作用機制和區(qū)別。
38.交換排序交換排序解析:所謂排序是指將一個無序序列整理成按值非遞減順序排列成的有序序列,常用的排序方法有:交換排序、插入排序和選擇排序。其中交換排序包括冒泡排序和快速排序,插入排序包括簡單插入排序和希爾排序,選擇排序包括直接選擇排序和堆排序。
39.(x>-5)&&(x<5)(x>-5)&&(x<5)解析:本題考查基本邏輯表達(dá),“整數(shù)x的絕對值大于5”時值為“假”,即整數(shù)x的絕對值小于等于5,也就是整數(shù)x要大于等于-5且要小于等于5。這里“且”用“與(&&)”表示,所以C語言表達(dá)式為:(x>-5)&&(x<5)。
40.252H252H解析:要解答本題,首先要明白在對指針進(jìn)行加,減運算時,數(shù)字“1”不是十進(jìn)制數(shù)的“1”,而是指“1”個存儲單元長度。1個存儲單元長度占存儲空間的多少,應(yīng)該視具體情況而定,如果存儲單元的基類型是血型,則移動1個存儲單元的長度就是位移2個字節(jié);如果存儲單元基類型是float型,則移動1個存儲單元的長度就是位移4個字節(jié)。所以p+13所指向的數(shù)組元素的地址為:200H+(13*4)H=252H。
41.D解析:使用人工或自動手段來運行或測定某個系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實際結(jié)果之間的差別。軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。測試要以查找錯誤為中心,而不是為了演示軟件的正確功能。
42.B解析:算術(shù)運行符“/”、“%”的優(yōu)先級處于同一級,并且兩者的結(jié)合性都是從左到右。所以算術(shù)表達(dá)式運算過程為:a=25/10%9=2%9=2;當(dāng)邏輯運算符“&&”兩邊的值都是非零時,邏輯表達(dá)式的值才為真(即為1)。所以b=2&&(-1)=1。
43.B解析:關(guān)系數(shù)據(jù)庫邏輯設(shè)計的主要工作是將\ue008E-R\ue009圖轉(zhuǎn)換成指定RDBMS中的關(guān)系模式。首先,從E-R圖到關(guān)系模式的轉(zhuǎn)換是比較直接的,實體與聯(lián)系都可以表示成關(guān)系,E-R圖中屬性也可以轉(zhuǎn)換成關(guān)系的屬性,實體集也可以轉(zhuǎn)換成關(guān)系。
44.C
45.D解析:要想使程序輸出是25,則i-40=25,j=65,而j初值是50,所以填入for循環(huán)中的語句,使引用的數(shù)組元素累加為65-50=15即可。
46.D解析:注意的是x++中x值的引用時,這里應(yīng)當(dāng)是先引用,后自加,具體執(zhí)行過程如下:第—次while循環(huán):條件為真,執(zhí)行a=a+1=1;此時,x的值已為4,判斷y<x不成立,繼續(xù)執(zhí)行循環(huán);第二次while循環(huán);條件為假,此時x的值已為5,退出while循環(huán),執(zhí)行printf。
47.D解析:賦值表達(dá)式的左側(cè)不能為常量或表達(dá)式,所以D是非法的表達(dá)式。
48.D軟件開發(fā)離不開系統(tǒng)環(huán)境資源的支持,其中主要的資源有硬件資源、通信資源、輔助資源等。(1)硬件資源是指組成計算機及相關(guān)應(yīng)用所需要的硬件,它是軟件開發(fā)必不可少的資源,因為無論什么樣的軟件工具都需要在硬件上完成任務(wù),它是其他資源的基礎(chǔ)資源。(2)通信資源是指為軟件開發(fā)提供通信支撐的資源,它與測試數(shù)據(jù)無關(guān)。(3)支持軟件是指為軟件開發(fā)提供操作平臺的軟件,如常用的面向?qū)ο箝_發(fā)的Rose軟件,它主要是軟件開發(fā)的工具。通過對上述分析的總結(jié),可以知道本題的正確答案選D。
49.B解析:枚舉類型的定義類似于結(jié)構(gòu)體和共用體,所以選項A和C不正確。大括號中的枚舉元素應(yīng)該使用合法標(biāo)識符來定義,而不是字符串常量,所以選項D不正確。故應(yīng)該選擇B。
50.B解析:所謂中序遍歷是指在訪問根結(jié)點、遍歷左子樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問根結(jié)點,最后遍歷右子樹;并且在遍歷左、右子樹時,仍然先遍歷左子樹,然后訪問根結(jié)點,最后遍歷右子樹。
51.B解析:本題定義了數(shù)組x[8]和指針變量s,由C語言規(guī)定,指針加1的含義是使指針指向數(shù)組的下一個元素,而不是指針值簡單的加1,因此通過s=x+3;使s指向數(shù)組元素x[3]。由于指向數(shù)據(jù)的指針變量可以帶下標(biāo)表示,如s[i]與*(s+i)等價。因此題目要求輸出s[2]的值,即*(s+2)的值,也就是x[5]的值,為0。
52.A解析:在定義指針變量p和q時,分別把變量n2和n1的地址賦給了指針變量p和q,所以*p和*q中內(nèi)容就分別是變量n2和n1的值,所以語句*p=*q與語句n2=n1等價。因此選項A)正確。
53.C
54.A解析:本題綜合考查字符數(shù)組的賦值和strcpy函數(shù)的用法。C語言不允許用賦值表達(dá)式對字符數(shù)組賦值,如下面的語句就是非法的:strl=“China”,如果想把“China”這5個字符放到數(shù)組strl中,除了逐個地輸入外,還能使用strcpy函數(shù),該函數(shù)的功能是將一個字符串復(fù)制到一字符數(shù)組中。例如:strcpy(strl,“China”);或strcpy(strl,str2);注意,不能企圖用以下語句來實行賦值(將str2的值傳給strl):strl=str2;不能用賦值語句將一個字符串常量或字符數(shù)組直接給一個字符數(shù)組。
strcpy函數(shù)的結(jié)構(gòu)是:strcpy(字符數(shù)組1,字符串2)
其中,需要注意的是,字符數(shù)組1的長度不應(yīng)小于字符串2的長度,“字符數(shù)組1”必須寫成數(shù)組名形式,如(strl),“字符串2”可以是字符數(shù)組名,也可以是字符串常量,不能用賦值語句將一個字符串常量或字符數(shù)組直接給一個字符數(shù)組。
55.B解析:滿足表達(dá)式(c>=2&&c<=6)的整型變量c的值是2,3,4,5,6。當(dāng)變量c的值不為2,4,6時,其值只能為3或5,所以表達(dá)式c!=3和c!=5中至少有一個為真,即不論c為何值,選項B中的表達(dá)式都為'真'。
56.B解析:指針是—種用來存放變量地址的特殊變量。本題中指針變量p用于存放整型變量i的地址,改變*p的值即為改變i的值。又因為“&”和“*”兩個運算符的優(yōu)先級相同,按自右而左的方向結(jié)合,所以*&j運算選進(jìn)行&j運算,得j的地址,再進(jìn)行*運算,取所得地址里面的值,故*&j與j等價。
57.D解析:a是一個2行3列的二維數(shù)組,行下標(biāo)和列下標(biāo)都是從0開始的,數(shù)組中的元素為a[0][0]、a[0][1]、a[0][2]、a[1][0]、a[1][1]、a[1][2],行下標(biāo)最大值為1,列下標(biāo)最大值為2,因此選項A、B、C都是錯誤的引用。計算選項D中數(shù)組元素的下標(biāo)后得a[0][0],為正確的引用。
58.B
59.C解析:在C語言中,引用數(shù)組元素時,其數(shù)組下標(biāo)的數(shù)據(jù)類型可以是整型常量,也可以是整型表達(dá)式。
60.D
61.C
62.A由函數(shù)fun(int*a,intn)中語句if(a[j]
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二年級上冊數(shù)學(xué)教案-角的初步認(rèn)識 (6)-西師大版
- 2025年寵物領(lǐng)養(yǎng)合同模板電子版
- 三年級下冊數(shù)學(xué)教案-1.1 兩位數(shù)乘整十?dāng)?shù)的口算-蘇教版
- 薪酬培訓(xùn)服務(wù)協(xié)議書(2篇)
- 2023年生麻生產(chǎn)投資申請報告
- 2024年局域網(wǎng)安全系統(tǒng)項目資金申請報告
- 2025年惠州城市職業(yè)學(xué)院單招職業(yè)傾向性測試題庫學(xué)生專用
- 2025年廣東省安全員B證考試題庫及答案
- 2025年湖北省咸寧市單招職業(yè)傾向性測試題庫一套
- 二零二五年度煤炭開采居間合同與智能化礦山建設(shè)協(xié)議
- 工程項目部安全生產(chǎn)治本攻堅三年行動實施方案
- 2024三農(nóng)新政策解讀
- HGE系列電梯安裝調(diào)試手冊(ELS05系統(tǒng)SW00004269,A.4 )
- 酒店前臺績效考核表
- 液堿生產(chǎn)工序及生產(chǎn)流程敘述
- 圖解調(diào)音臺使用說明(共14頁)
- 人民軍隊性質(zhì)宗旨和優(yōu)良傳統(tǒng)教育課件教案
- 心理抗壓能力測試?yán)}
- 操作系統(tǒng)試題
- 電子秤校驗記錄表
- (完整word)外研版八年級下冊英語課文電子版
評論
0/150
提交評論