版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021-2022年吉林省四平市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.在非線性結(jié)構(gòu)中,每個(gè)結(jié)點(diǎn)()。
A.無(wú)直接前趨
B.只有一個(gè)直接前趨和個(gè)數(shù)不受限制的直接后繼
C.只有一個(gè)直接前驅(qū)和后繼
D.有個(gè)數(shù)不受限制的直接前驅(qū)和后繼
2.下列敘述中正確的是()。
A.當(dāng)對(duì)文件的讀(寫(xiě))操作完成之后,必須將它關(guān)閉,否則可能導(dǎo)致數(shù)據(jù)丟失
B.打開(kāi)一個(gè)已存在的文件并進(jìn)行寫(xiě)操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋
C.在一個(gè)程序中對(duì)文件進(jìn)行寫(xiě)操作后,必須先關(guān)閉該文件然后再打開(kāi)才能讀到第1個(gè)數(shù)據(jù)
D.C語(yǔ)言中的文件是流式文件,因此只能順序存取數(shù)據(jù)
3.有以下程序:#include<stdio.h>intf(intx,inty){return((y-x)*x);}main(){inta=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf(“%d\n”,d);}程序的運(yùn)行結(jié)果是()。
A.7B.10C.8D.9
4.以下定義語(yǔ)句中正確的是
A.inta=b=0;
B.charA=65+1,b='b';
C.noata=1,*b=&a,*c=&b;
D.doublea=0.0;b=1.1;
5.有以下程序段
#include<stdio.h>
voidfun(char*fname,char*st)
{FILE*myf;
inti;
myf=fopen(fname,"w");
for(i=0;i<strlen(st);i++)fputc(st[i],myf);
fclose(myf);
}
main()
{fun("test.t","newworld");
fun("test.t","hello,");}
程序執(zhí)行后,文件test.t中的內(nèi)容是A.A.hello,
B.newworldhello,
C.newworld
D.hello,rld
6.若有"doublea;",則正確的輸入語(yǔ)句是()。
A.scanf("%1f",a);
B.scanf("%f",&a);
C.scanf("%1f",&a)
D.scanf("%1e",&a);
7.以下關(guān)于typedef的敘述錯(cuò)誤的是()。A.用tyFedef可以增加新類型
B.typedef只是將已存在的類型用一個(gè)新的名字來(lái)代表
C.用typedef可以為各種類型說(shuō)明一個(gè)新名,但不能用來(lái)為變量說(shuō)明一個(gè)新名
D.用typedef為類型說(shuō)明一個(gè)新名,通常可以增加程序的可讀性
8.以下選項(xiàng)中合法的實(shí)型常數(shù)是()。
A.5E2.0B.E-3C.2E0D.1.3E
9.對(duì)于循環(huán)隊(duì)列()。
A.無(wú)法判斷隊(duì)列是否為空B.無(wú)法判斷隊(duì)列是否為滿C.隊(duì)列不可能滿D.以上說(shuō)法都不對(duì)
10.程序段:intx=12;doub1ey=3.141593;printf("%d%8.6f"x,y);的輸出結(jié)果是______。A.123.141593B.123.141593C.12,3.141593D.123,1415930
11.下列敘述中錯(cuò)誤的是()。
A.C程序可以由多個(gè)程序文件組成
B.—個(gè)C語(yǔ)言程序只能實(shí)現(xiàn)一種算法
C.C程序可以由一個(gè)或多個(gè)函數(shù)組成
D.—個(gè)C語(yǔ)言函數(shù)可以單獨(dú)作為一個(gè)C語(yǔ)言程序文件存在
12.結(jié)構(gòu)化程序設(shè)計(jì)的3種結(jié)構(gòu)是()。
A.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu)
B.分支結(jié)構(gòu)、等價(jià)結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
C.多分支結(jié)構(gòu)、賦值結(jié)構(gòu)、等價(jià)結(jié)構(gòu)
D.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
13.以下不能將s所指字符串正確復(fù)制到所指存儲(chǔ)空間的是()A.do{*t++=*s++;}while(*s);.
B.for(i=0;t[i]=s[i];i++);
C.while(*t=*s){t++;s++}
D.for(i=0,j=0;t[i++]=s[j++];);
14.若主調(diào)用函數(shù)類型為double,被調(diào)用函數(shù)定義中沒(méi)有進(jìn)行函數(shù)類型說(shuō)明,而return語(yǔ)句中的表達(dá)式類型為float型,則被調(diào)函數(shù)返回值的類型是()。
A.int型B.float型C.double型D.由系統(tǒng)當(dāng)時(shí)的情況而定
15.
16.具有20個(gè)結(jié)點(diǎn)的二叉樹(shù),其深度最多為_(kāi)______。
A.4B.5C.6D.20
17.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。A.4B.2C.3D.1
18.設(shè)有定義:“struct{charmarkp[l2];intnuml;doublenum2;}tl,t2;”,若變量均已正確賦初值,則以下語(yǔ)句中錯(cuò)誤的是()。
A.t1=t2;
B.t2.num1=tl.numl;
C.t2.mark=tl.mark;
D.t2.num2=tl.num2;
19.在位運(yùn)算中,操作數(shù)左移一位,其結(jié)果相當(dāng)于A.A.操作數(shù)乘以2
B.操作數(shù)除以2
C.操作數(shù)除以4
D.操作數(shù)乘以4
20.變量a中的數(shù)據(jù)用二進(jìn)制表示的形式是01011101,變量b中的數(shù)據(jù)用二進(jìn)制表示的形式是11110000。若要求將a的高4位取反,低4位不變,所要執(zhí)行的運(yùn)算是
A.a^bB.a|bC.a&bD.a<<4
二、2.填空題(20題)21.在一個(gè)容量為32的循環(huán)隊(duì)列中,若頭指針front=3,尾指針rear=2,則該循環(huán)隊(duì)列中共有______個(gè)元素。
22.下面程序的運(yùn)行結(jié)果是______。
#defineDOUBLE(x,y)x/y
main()
{intx=4,y=2,t;
t=DOUBLE(x+y,x-y);
printf("%d",t);
}
23.語(yǔ)句"int(*ptr)();"的含義是______是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)。
24.有以下程序段,且變量已正確定義和賦值。
for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k/1));
printf("s=%f\n\",s);
請(qǐng)?zhí)羁?,使下面程序段的功能與之完全相同。
s=1.0;k=1;
while(【】){s=s+1.0/(k*(k+1));【】;}
printf("s-=%f\n\n",s);
25.下列程序的輸出結(jié)果是______。
#include<stdio.h>
fun()
{staticinta=0;
a+=3;printf("%d",A);
}
main()
{intcc;
for(cc=1;cc<5;cc++)fun();
printf("\n");
}
26.數(shù)據(jù)庫(kù)系統(tǒng)中實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為【】。
27.表達(dá)式1/2*(int)3.7/(int)(2.4*(1.5+2.5))值的數(shù)據(jù)類型為_(kāi)_____。
28.按照邏輯結(jié)構(gòu)分類,數(shù)據(jù)結(jié)構(gòu)可分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),隊(duì)列屬于______。
29.下面程序的運(yùn)行結(jié)果是:【】。
#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.數(shù)據(jù)模型是數(shù)據(jù)庫(kù)系統(tǒng)中用于提供信息表示和操作手段的結(jié)構(gòu)形式。實(shí)際數(shù)據(jù)庫(kù)系統(tǒng)中所支持的數(shù)據(jù)模型主要有層次模型、網(wǎng)狀模型和【】3種。
31.若有定義doublea[5];,則a數(shù)組元素下標(biāo)的上限為_(kāi)_____。
32.若a=10,b=20,則表達(dá)式!(a<b)的值是【】。
33.數(shù)據(jù)模型按不同應(yīng)用層次分成3種類型,它們是概念數(shù)據(jù)模型、【】和物理數(shù)據(jù)模型。
34.實(shí)現(xiàn)算法所需的存儲(chǔ)單元多少和算法的工作量大小分別稱為算法的【】。
35.以下程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
longfib(intg)
{switch(g)
{case0:return0;
case1:
case2:return1;}
return(fib(g-1)+fib(g-2));}
main()
{longk;
k=fib(5);
printf("k=%51d\n",k);}
36.設(shè)x、y、z均為int型變量,請(qǐng)寫(xiě)出描述“x或y中至少有一個(gè)小于z”的表達(dá)式______。
37.在最壞情況下,冒泡排序的時(shí)間復(fù)雜度為【】。
38.下面程序的功能是求整數(shù)m、n的最大公約數(shù),請(qǐng)?zhí)羁铡?/p>
main()
{intm,n,r;
scanf("%d,%d",&m,&n);
if(【】){r=m;m=n;n=r;)
while(【】)
{r=m%n;m=n;n=r;}
printf("%d",m);
}
39.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,類描述的是具有相似性質(zhì)的一組【】。
40.一個(gè)模塊直接調(diào)用的其他模塊的模塊個(gè)數(shù)稱為_(kāi)_____。
三、1.選擇題(20題)41.若有下列說(shuō)明,則()不是對(duì)strcpy庫(kù)函數(shù)的正確的調(diào)用。strcpy庫(kù)函數(shù)用于復(fù)制一個(gè)字符串:char*strl="abcd",str2[10],*str3="hijklmn",*str4[2],*str5="aaaa";
A.languageB.lnugC.有語(yǔ)法錯(cuò)誤D.lang
42.已有定義:inti,a[10],*p;則合法的賦值語(yǔ)句是()。
A.p=100;B.p=a[5];C.p=a[2]+2;D.p=a+2;
43.以下程序的輸出結(jié)果是_______。#include<string.h>main(){char*a="abcdefghi";intk;fun(a);puts(a);}fun(char*s){intx,y;charc;for(x=0,y=strlen(s)-1;x<y;x++,y--){c=s[y];s[y]=s[x];s[x]=c;}}
A.ihgfedcbaB.abcdefghiC.abcdedcbaD.ihgfefghi
44.若有以下定義和語(yǔ)句structa{intn,m;};structast[3]={{1,20},{2,19},{3,21}};structa*p=st;則以下錯(cuò)誤的引用是
A.(p++)->n;B.st[0].n;C.(*p).n;D.p=&st.m;
45.若有說(shuō)明語(yǔ)句:double*p,a;則能通過(guò)scanf語(yǔ)句正確給輸入項(xiàng)讀入數(shù)據(jù)的程序段是()。
A.*p=&a;sCanf("%1f",p);
B.*p=&a;scanf("%f",p);
C.p=&a;scanf("%1f",*p);
D.p=&a;scanf("%1f",p);
46.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是()。
A.程序的規(guī)模B.程序的效率C.程序設(shè)計(jì)語(yǔ)言的先進(jìn)性D.程序的易讀性
47.開(kāi)發(fā)大型軟件時(shí),產(chǎn)生困難的根本原因是()。
A.大型系統(tǒng)的復(fù)雜性B.人員知識(shí)不足C.客觀世界千變?nèi)f化D.時(shí)間緊、任務(wù)重
48.在軟件設(shè)計(jì)中,不屬于過(guò)程設(shè)計(jì)工具的是()。
A.PDL(過(guò)程設(shè)計(jì)語(yǔ)言)B.PAD圖C.N-S圖D.DFD圖
49.有如下程序inta[10]={1,2,3,4,5,6,7,8,9,10};int*p=&a[3],b;b=p[5];則b的值是
A.5B.6C.9D.8
50.設(shè)有以下語(yǔ)句:chara=3,b=6,c;c=ab<<2;則c的二進(jìn)制值是()。
A.11011B.10100C.11100D.11000
51.有以下程序main(){chars[]="159",*p;p=s;printf("%c",*p++);pritnf("%c",*p++);}程序運(yùn)行后的輸出結(jié)果是
A.15B.16C.12D.59
52.下列程序的輸出結(jié)果是#include"stdio.h"#defineM(x,y)x%ymain(){inta,m=12,n=100;a=M(n,m);printf("%d\n",a--);}
A.2B.3C.4D.5
53.設(shè)有數(shù)組定義:chararray[]="China";則數(shù)組array所占的空間為()
A.4個(gè)字節(jié)B.5個(gè)字節(jié)C.6個(gè)字節(jié)D.7個(gè)字節(jié)
54.下列敘述中正確的是()。
A.測(cè)試工作必須由程序編制者自己完成
B.測(cè)試用例和調(diào)試用例必須一致
C.一個(gè)程序經(jīng)調(diào)試改正錯(cuò)誤后,一般不必再進(jìn)行測(cè)試
D.上述三種說(shuō)法都不對(duì)
55.設(shè)有定義:chars[10];inti=0;,以下不能將一行(不超過(guò)100個(gè)字符)帶有空格的字符串正確讀入的語(yǔ)句或語(yǔ)句組是()。
A.gets(s);
B.scanf("%s",s);
C.while((s[i++]=getchar())!='\n');s[i]='\0';
D.do{scanf("%c",&s[i]);}while(s[i++]!='\n');s[i]='\0';
56.若有說(shuō)明語(yǔ)句:charc='\72'則變量c()。
A.包含1個(gè)字符B.包含2個(gè)字符C.包含3個(gè)字符D.說(shuō)明不合法,c的值不確定
57.s1和s2已正確定義并分別指向兩個(gè)字符串,若要求:當(dāng)s1所指串大于s2所指串時(shí),執(zhí)行語(yǔ)句S;則以下選項(xiàng)中正確的是
A.if(s1>s2)S;
B.if(strcmp(s1,s2))S;
C.if(strcmp(s2,s1)>0)S;
D.if(strcmp(s1,82)>0)S;
58.486PC機(jī)主板上一般帶有高速緩沖存儲(chǔ)器Cache,它是()之間的儲(chǔ)存。
A.CPU與輔助存助器B.CPU與主存儲(chǔ)器C.軟盤與內(nèi)存D.硬盤與內(nèi)存
59.有以下程序:main(){intx[]={1,3,5,7,2,4,6,0},i,j,k;for(i=0;i<3;i++)for(j=2;j>=i;j--)if(x[j+1)>x[j]){k=x[j];x[j];x[j+1);x[j+1]=k;}for(i=0;i<3;i++)for(j=4;j<7-i;j++)if(x[j]>x[j+1]){k=x[j];x[j]=x[j+1];x[j+1)=k;}for(i=0;i<8;i++)printf("%d",x[i]);printf("\n");}程序運(yùn)行后的輸出結(jié)果是______。
A.75310246B.1234567C.76310462D.13570246
60.有如下程序main(){inty=3,x=3,z=1;printf("%d%d\n",(++x,y++),z+2);}運(yùn)行該程序的輸出結(jié)果是______。
A.34B.42C.43D.33
四、選擇題(20題)61.執(zhí)行下面的程序后,a的值為()。main{inta,b;for(a=1,b=1;a<=10;a++){if(b%3==l){b+=3;continue;}b-=5;}}A.7B.8C.9D.10
62.表達(dá)式3.6-5/2+1.2+5%2的值是()。A.3.8B.4.8C.3.3D.4.3
63.在C語(yǔ)言中,引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是()。
A.整型表達(dá)式B.整型常量C.整型常量或整型表達(dá)式D.任何類型的表達(dá)式
64.相對(duì)于數(shù)據(jù)庫(kù)系統(tǒng),文件系統(tǒng)的主要缺陷有數(shù)據(jù)關(guān)聯(lián)差、數(shù)據(jù)不一致性和()。
A.可重用性差B.安全性差C.非持久性D.冗余性
65.在以下選項(xiàng)中,能正確調(diào)用對(duì)象屬性的語(yǔ)句是()。
A.對(duì)象名(屬性名)B.對(duì)象名一>屬性名C.對(duì)象名屬性名D.對(duì)象名.屬性名
66.若以下選項(xiàng)中的變量已正確定義,則正確的賦值語(yǔ)句是()。
A.x1=26.8%3B.1+2=x2C.x3=0x12D.x4=1+2=3
67.有以下程序段:
以下選項(xiàng)中表達(dá)式的值為11的是()。
A.++pt一>xB.pt一>xC.*pt一>yD.(pt++)一>x
68.設(shè)變量均已正確定義并賦值,以下與其他三組輸出結(jié)果不同的一組語(yǔ)句是()。
A.x++;printf("%dkn",x);
B.n=++x;printf("%d\n",n);
C.++x;printf("%d\n",x);
D.n=x++;printf("%6d\n",n);
69.
70.棧和隊(duì)列的共同點(diǎn)是()。
A.都是先進(jìn)后出B.都是先進(jìn)先出C.只允許在端點(diǎn)處插入和刪除元素D.沒(méi)有共同點(diǎn)
71.若二維數(shù)組a有m列,則在a[i][j]前的元素個(gè)數(shù)為()。
A.i*m+j-1B.i*m+jC.J*m+iD.i*m+j+1
72.
73.
74.
75.若有以下定義:floatx;inta,b,c=2;,則正確的switch語(yǔ)句是
76.以下選項(xiàng)中與“if(a==l)a=b;elsea++;”語(yǔ)句功能不同的switch語(yǔ)句是()。
A.switch(a){casel:a=b;break;default:a++;}
B.switch(a==l){case0:a=b;break;casel:a++;}
C.switch(a){default:a++;break;casel:a=b;}
D.switch(a==l){casel:a=b;break;case0:a++;}
77.有以下程序:
#include<stdio.h>
main()
{inta,b,k,m,*pl,*p2;
k=1,m=8;
p1=&k,p2=&m;
a=/*pl-m;b=*p1+*p2+6;
printf("%d",a);printf("%d\n",b);
}
編譯時(shí)編譯器提示錯(cuò)誤信息,你認(rèn)為出錯(cuò)的語(yǔ)句是()。
A.a=/*pl-m;
B.b=*p1+*p2+6;
C.k=1,m=8;
D.pl=&k,p2-&m;
78.若有以下程序:
上面程序的輸出結(jié)果是()。
A.5B.7C.1D.3
79.有以下程序程序的運(yùn)行結(jié)果是()。
A.3B.1C.2D.0
80.設(shè)有定義:longx=-123456L;則以下能夠正確輸出變量x值的語(yǔ)句是_______。
A.printf(“x=%d\n”,x)
B.printf(“x=%ld\n”,x)
C.printf(“x=?l\n”,x)
D.printf(“x=%D\n”,x);
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc的功能是:從字符串str中,刪除所有大寫(xiě)字母F。請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include<stdio.h>voidproc(char*str){inti,j;//****found****for(i=j=0;str[i]一0;i++)if(str[i]!=F)//****found****str[i]=str[i];str[j]=\0;}voidmain{charstr[80];printf("\nEnterastring:");gets(str);printf("Theoriginalstring:");puts(str);proc(str);printf("Thestringafterdeleted:");puts(str);printf("\n\n");}
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)函數(shù)proc(),該函數(shù)的功能是:將str所指字符串中ASCⅡ值為偶數(shù)的字符刪除,串中剩余字符形成一個(gè)新串放在t所指的數(shù)組中。例如,若str所指字符串中的內(nèi)容為aBcdef9789,其中字符8的ASCⅡ碼值為偶數(shù)……字符8的ASCⅡ碼值為偶數(shù)……都應(yīng)當(dāng)刪除,其他依此類推。最后t所指的數(shù)組中的內(nèi)容應(yīng)是ace979。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:
參考答案
1.D
2.AB選項(xiàng)中,打開(kāi)一個(gè)已存在的文件并進(jìn)行寫(xiě)操作后,原有文件中的全部數(shù)據(jù)不一定被覆蓋,也可以對(duì)源文件進(jìn)行追加操作等。C選項(xiàng)中,在一個(gè)程序中對(duì)文件進(jìn)行寫(xiě)操作后,不是先關(guān)閉該文件然后再打開(kāi)才能讀到第1個(gè)數(shù)據(jù),用fseek函數(shù)進(jìn)行重新定位即可。D選項(xiàng)中,C語(yǔ)言中的文件可以進(jìn)行隨機(jī)讀寫(xiě)。故本題答案為A選項(xiàng)。
3.D在main函數(shù)中,調(diào)用f(a,b)函數(shù)返回3,調(diào)用f(a,c)函數(shù)返回6,所以外層調(diào)用f(f(a,b),f(a,c)),即調(diào)用f(3,6)函數(shù)返回9。故本題答案為D選項(xiàng)。
4.B解析:本題考查變量的定義方法。如果要一次進(jìn)行多個(gè)變量的定義,則在它們之間要用逗號(hào)隔開(kāi),因此選項(xiàng)A)和D)錯(cuò)誤。在選項(xiàng)C)中,變量c是一個(gè)浮點(diǎn)型指針,它只能指向一個(gè)浮點(diǎn)型數(shù)據(jù),不能指向指針變量b,故選項(xiàng)C)錯(cuò)誤。
5.D本題主要考查文件的操作。在本題的程序中,首先定義了一個(gè)無(wú)返回值的函數(shù)fun,該函數(shù)帶有兩個(gè)指針類型的形參,其中第一個(gè)形參指向需要被操作文件的文件名,而第二個(gè)形參指向被操作的字符串。在函數(shù)體中,首先定義一個(gè)文件指針,然后以只寫(xiě)的方式打開(kāi)第一個(gè)形參所指向的文件,接著執(zhí)行for循環(huán),循環(huán)結(jié)束的條件是循環(huán)變量小于被操作字符串的長(zhǎng)度,循環(huán)體中的程序fputc(st[i],myf);的功能是將字符串中的當(dāng)前字符輸入到文件中。由這些分析我們可以知道,函數(shù)fun的作用是將字符串的內(nèi)容寫(xiě)入到文件中。
在主函數(shù)中,兩次調(diào)用函數(shù)fun,當(dāng)?shù)谝淮握{(diào)用時(shí),寫(xiě)入文件的內(nèi)容為newworld,然后第二次調(diào)用函數(shù),此時(shí)打開(kāi)文件,文件的指針重新回到開(kāi)始,然后往文件中寫(xiě)內(nèi)容“hello,”,由于此時(shí)文件中已經(jīng)有內(nèi)容“newworld”,則需要覆蓋前面一部分的內(nèi)容,因此,程序的最終輸出結(jié)果是hello,rld,本題的正確答案選D。
6.D解析:函數(shù)scanf()的調(diào)用形式是:scanf(格式字符串,輸入項(xiàng)地址表)。其中,“格式字符串”是要輸入的變量的格式符;“輸入項(xiàng)地址表”是要輸入的變量的地址。本題中定義變量a為雙精度型變量,雙精度變量的格式符為“1e”;變量的地址用取地址符“&”加變量名表示,如變量a的地址為“&a”。
7.A用typedef沒(méi)有增加新類型,所以選擇A)。
8.C解析:在C語(yǔ)言中,實(shí)數(shù)有兩種表示形式:十進(jìn)制數(shù)形式與指數(shù)形式。
一般形式的實(shí)數(shù):小數(shù)形式的實(shí)數(shù)由整數(shù)部分、小數(shù)點(diǎn)和小數(shù)部分組成(必須要有小數(shù)點(diǎn)),
指數(shù)形式的小數(shù);指數(shù)形式的實(shí)數(shù)由尾數(shù)部分、e(E)和指數(shù)部分組成(字母e或E的前后必須要有數(shù)字,且其后面的指數(shù)必須為整數(shù))。
選項(xiàng)A中,5E2.0中E后面的2.0不是整數(shù);選項(xiàng)B中,E前面沒(méi)有數(shù)字:選項(xiàng)D中,E后面沒(méi)有數(shù)字。最終可以判斷選項(xiàng)C正確。
9.D
10.A解析:在printf函數(shù)常用的格式說(shuō)明中,每個(gè)格式說(shuō)明都必須用“%”開(kāi)頭,以—個(gè)格式字符作為結(jié)束,在此之間可以根據(jù)需要插入“寬度說(shuō)明”、左對(duì)齊符號(hào)“-”、前導(dǎo)零符號(hào)“0”等。本題中用到了d和f,d代表輸出符號(hào)的十進(jìn)制整型數(shù),f代表以帶小數(shù)點(diǎn)的數(shù)學(xué)形式輸出浮點(diǎn)數(shù)(單精度和雙精度數(shù))。對(duì)于float和double類型的實(shí)數(shù),可以用“n1.n2”的形式來(lái)指定輸出寬度(n1和n2分別代表—個(gè)整常數(shù)),其中n1指定輸出數(shù)據(jù)的寬度(包括小數(shù)點(diǎn)),n2指定小數(shù)點(diǎn)后小數(shù)位的位數(shù),由于輸出格式是以緊湊格式輸出,因此選項(xiàng)A是正確的。
11.B在一個(gè)C語(yǔ)言程序中可以實(shí)現(xiàn)多種算法,所以B選項(xiàng)錯(cuò)誤。故本題答案為B選項(xiàng)。
12.D結(jié)構(gòu)化程序設(shè)計(jì)的基本要點(diǎn):①采用自頂向下、逐步求精的程序設(shè)計(jì)方法;②任何程序都可由順序、選擇和循環(huán)3種基本控制結(jié)構(gòu)構(gòu)造。
13.Ado{*t++=*s++;}while(*s);不能因?yàn)楫?dāng)*s=‘\\0'時(shí),while(*s)跳出循環(huán),這樣字符串結(jié)束標(biāo)志’0\\沒(méi)有復(fù)制給*t,造成*t不完整。注意,*t++=*s++是先執(zhí)行t=*s,然后才進(jìn)行t=t+1,s=s+1。B),C),D)三項(xiàng)都能將“\\0’復(fù)制過(guò)去。
14.A
15.D
16.D
17.D條件表達(dá)式形式:表達(dá)式1?表達(dá)式2:表達(dá)式3。當(dāng)表達(dá)式1的值為非零值時(shí),整個(gè)表達(dá)式的值是表達(dá)式2的值;當(dāng)表達(dá)式1的值為零值時(shí),整個(gè)表達(dá)式的值是表達(dá)式3的值。題干中的表達(dá)式是嵌套的條件表達(dá)式w﹤x?w:z﹤y?z:x,等價(jià)于w﹤x?w:(z﹤y?z:x)。由于w取值為4,x取值為3,所以w﹤x的值為零值,整個(gè)表達(dá)式的值為z﹤y?z:x,z取值為1,y取值為2,所以z﹤y的值為非零值,整個(gè)表達(dá)式的值為z的值1。本題答案為D選項(xiàng)。
18.C結(jié)構(gòu)體不能通過(guò)結(jié)構(gòu)體名字整體賦值,通過(guò)結(jié)構(gòu)體名.成員名的方式賦值。所以C選項(xiàng)錯(cuò)誤。
19.A左移運(yùn)算符“<<”是雙目運(yùn)算符,其功能是把“<<”左邊的運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由“<<”右邊的數(shù)指定移動(dòng)的位數(shù),高位丟棄,低位補(bǔ)0。例如,a<<4是把a(bǔ)的各二進(jìn)位向左移動(dòng)4位。如a=00000011(十進(jìn)制3),左移4位后為00110000(十進(jìn)制48)。
20.A解析:本題考查的是位運(yùn)算的知識(shí),對(duì)于任何二進(jìn)制數(shù),和1進(jìn)行異或運(yùn)算會(huì)讓其取反,而和0進(jìn)行異或運(yùn)算不會(huì)產(chǎn)生任何變化。
21.3131解析:設(shè)隊(duì)列容量為m,如果:rear>front,則隊(duì)列中元素個(gè)數(shù)為rear-front;如果rear<front,則隊(duì)列中元素個(gè)數(shù)為m+(rear-front)。本題rear<front,則m=32+(2-3)=31。
22.2
23.ptrptr解析:本題考查函數(shù)指針的概念。函數(shù)指針的定義格式是:類型標(biāo)識(shí)符(*旨針變量名)()。注:“類型標(biāo)識(shí)符”為函數(shù)返回值的類型。
24.k<=n或n>=kk++k<=n或n>=k\r\nk++解析:while語(yǔ)句和for語(yǔ)句的作用都是循環(huán)控制語(yǔ)句的執(zhí)行,兩者之間是可以互相轉(zhuǎn)換的。將while(EXP)轉(zhuǎn)換為for語(yǔ)句可以寫(xiě)成for(;EXP;);將for(EXP1;EXP2;EXP3)轉(zhuǎn)換為while語(yǔ)句可以寫(xiě)成:EXP1;while(EXP2){...EXP3;}。故本題的兩個(gè)空分別應(yīng)填寫(xiě)for語(yǔ)句的第2和第3個(gè)表達(dá)式。即k<=n或n>=k和k++。當(dāng)然也可寫(xiě)成與之等價(jià)的其他形式。
25.3691236912解析:本題考查最基本的for循環(huán):for(cc=1;cc<5;cc++)規(guī)定循環(huán)次數(shù)為4次,每次a+=3即每次a的值增3,但因?yàn)閒un函數(shù)中變量a為static類型,所以每次調(diào)用完于函數(shù)之后,變量a所做的改變都要保存。
26.數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)
27.整型整型解析:上面的表達(dá)式中,通過(guò)強(qiáng)制類型轉(zhuǎn)換把最后參與運(yùn)算的數(shù)據(jù)都轉(zhuǎn)換成了int型,所以最后得到的結(jié)果也是int類型。
28.線性結(jié)構(gòu)線性結(jié)構(gòu)解析:隊(duì)列有且只有一個(gè)根結(jié)點(diǎn),而且每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件,滿足線性結(jié)構(gòu)的條件,所以屬于線性結(jié)構(gòu)。
29.100010100010解析:首先將程序中的宏替換掉,兩處的宏替換后分別為i1=1000/10*10和i2=1000/(10*10),即i1=1000,i2=10,所以最后輸出的i1和i2的值分別為1000和10。
30.關(guān)系模型關(guān)系模型
31.44解析:一維數(shù)組元素的定義形式為:數(shù)組名[N],則該數(shù)組中元素的下限是0,上限是N-1。
32.00解析:已知a=10,b=20,所以邏輯表達(dá)式a<b的值為true,即為1,在這個(gè)表達(dá)式前面有一個(gè)邏輯運(yùn)算符!,表示反操作,所以整個(gè)語(yǔ)句的值應(yīng)當(dāng)為false,即為0。
33.邏輯數(shù)據(jù)模型邏輯數(shù)據(jù)模型解析:數(shù)據(jù)是現(xiàn)實(shí)世界符號(hào)的抽象,而數(shù)據(jù)模型(datamodel)則是數(shù)據(jù)特征的抽象,它從抽象層次上描述了系統(tǒng)的靜態(tài)特征、動(dòng)態(tài)行為和約束行為,為數(shù)據(jù)庫(kù)系統(tǒng)的信息表示與操作提供一個(gè)抽象的框架。數(shù)據(jù)模型按不同的應(yīng)用層次分成3種類型,它們是概念數(shù)據(jù)模型(conceptualdatamodel)、邏輯數(shù)據(jù)模型(logicdatamodel)、物理數(shù)據(jù)模型(physicaldatamodel)。
34.空間復(fù)雜度和時(shí)間復(fù)雜度算法的復(fù)雜性是指對(duì)一個(gè)在有限步驟內(nèi)終止算法和所需存儲(chǔ)空間大小的估計(jì)。算法所需存儲(chǔ)空間大小是算法的空間復(fù)雜性,算法的計(jì)算量是算法的時(shí)間復(fù)雜性。
35.k=5k=5解析:本題主要考查了函數(shù)的遞歸調(diào)用方法。g=0或g=1或g=2是遞歸的終止條件,然后用回代的方法從一個(gè)已知值推出下一個(gè)值,直到計(jì)算出最終結(jié)果。
36.x<z‖y<zx<z‖y<z解析:本題考查邏輯運(yùn)算符和邏輯表達(dá)式。x或y中至少有一個(gè)小于z,即x<z或y<z,是“或”的關(guān)系。
37.
解析:冒泡排序法是通過(guò)相鄰數(shù)據(jù)元素的交換逐步將線性表變成有序。假設(shè)線性表的長(zhǎng)度為n,則在最壞的情況下,冒泡排序需要經(jīng)過(guò)遍的從前往后的掃描和遍的從后往前的掃描,需要的比較次數(shù)為。
38.m<n或n>mr或r!=0m<n或n>m\r\nr或r!=0解析:本題使用的是“輾轉(zhuǎn)相除”法求兩個(gè)數(shù)的最大公約數(shù),即以兩個(gè)數(shù)中較大的除以較小的,如果余數(shù)不為0,則將較小的數(shù)和余數(shù)做同樣處理,直到被除斷為止,此時(shí)較小的數(shù)就是兩個(gè)數(shù)的最大公約數(shù)。本題第一空要求填寫(xiě)一個(gè)if語(yǔ)句的判斷條件,如果滿足此條件則交換m和n的值,再看后面while循環(huán)的循環(huán)體,使用m%n求余,則此if語(yǔ)句的作用應(yīng)該是保證m是兩個(gè)數(shù)中較大的那個(gè),故第一空填m<n或n>m。接下來(lái)的while循環(huán)實(shí)現(xiàn)整個(gè)輾轉(zhuǎn)相除的過(guò)程,其結(jié)束條件應(yīng)該是余數(shù)r為0,所以while的循環(huán)條件應(yīng)該填r或r!=0。
39.對(duì)象對(duì)象解析:將屬性、操作相似的對(duì)象歸為類,也就是說(shuō),類是具有共同屬性、共同方法的對(duì)象的集合。
40.扇出扇出解析:在結(jié)構(gòu)圖中,調(diào)用一個(gè)給定模塊的模塊個(gè)數(shù)稱為扇入,一個(gè)模塊直接調(diào)用的其他模塊個(gè)數(shù)稱為扇出。
41.B解析:本程序首先定義了靜態(tài)字符數(shù)組a,然后將指針p指向數(shù)組a的首地址。
第1次for循環(huán),p=a,p指向數(shù)組的第1個(gè)元素,*p是取指針p所指地址的內(nèi)容,輸出1;第2次for循環(huán),p=p+2,則p指向數(shù)組的第3個(gè)元素,*p是取指針p所指地址的內(nèi)容,輸出n;第3次for循環(huán),p=p+2,則p指向數(shù)組的第5個(gè)元素,*p是取指針p所指地址的內(nèi)容,輸出u;第4次for循環(huán),p=p+2,則p指向數(shù)組的第7個(gè)元素,*p是取指針p所指地址的內(nèi)容,輸出g,結(jié)束循環(huán)。
42.D解析:本題考核的知識(shí)點(diǎn)是指針變量的賦值。本題中定義了一個(gè)整型數(shù)組a和一個(gè)整型指針變量P。選項(xiàng)A中將一個(gè)整型數(shù)賦值給一個(gè)指針變量,C語(yǔ)言規(guī)定,只能特地址賦給指針指針變量,故選項(xiàng)A不正確:選項(xiàng)B中a[5]為一數(shù)組元素,同樣不是一個(gè)地址,故選項(xiàng)B不正確;選項(xiàng)c中a[2]為一數(shù)組元素,同樣是一個(gè)整型數(shù)據(jù),不是個(gè)地址,故選項(xiàng)C不正確:選項(xiàng)D中數(shù)蛆名a代表數(shù)組首地址加2,代表第三個(gè)元素的地址,故選項(xiàng)D正確,所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。
43.A解析:觀察子函數(shù)fun()可知,它是實(shí)現(xiàn)—個(gè)數(shù)組首末元素位置互相依次交換。聯(lián)系主函數(shù),可以看出,是對(duì)字符串中的元素依次進(jìn)行首末位置的對(duì)調(diào)。
44.D解析:可以用以下三種形式來(lái)引用結(jié)構(gòu)體變量中的成員:結(jié)構(gòu)體變量名.成員名、指針變量名->成員名和(*指針變量名).成員名。選項(xiàng)D)中“&st.m”取的是結(jié)構(gòu)體中成員的地址而不是結(jié)構(gòu)的地址。
45.D解析:double*p,a;語(yǔ)句表示定義了一個(gè)指向雙精度型的指針變量p和雙精度型變量a,而語(yǔ)句p=&a表示將變量a的地址賦給指針變量p;scanf'('%1f',p)表示用鍵盤輸入的數(shù)賦給指針變量p所指向的地址單元中。scanf()函數(shù)要求在輸入double型數(shù)據(jù),格式控制符必須用%1f(或%1e)。否則,數(shù)據(jù)不能正確輸入。所以選項(xiàng)D)為正確答案。
46.D解析:程序不僅是編寫(xiě)完就結(jié)束了,為了測(cè)試和維護(hù)程序,往往還有其他人閱讀和跟蹤程序,因此程序設(shè)計(jì)的風(fēng)格應(yīng)該強(qiáng)調(diào)簡(jiǎn)單和清晰,即程序的易讀性,“清晰第一,效率第二”。
47.AA)【解析】隨著計(jì)算機(jī)軟件規(guī)模的擴(kuò)大,軟件本身的復(fù)雜性不斷增加,研制周期顯著變長(zhǎng),正確性難以保證,軟件開(kāi)發(fā)費(fèi)用上漲,生產(chǎn)效率急劇下降,從而出現(xiàn)了人們難以控制軟件發(fā)展的局面,即所謂的“軟中#危機(jī)”。
48.D解析:PDL一種設(shè)計(jì)性語(yǔ)言,用于書(shū)寫(xiě)軟件設(shè)計(jì)規(guī)約。它是軟件設(shè)計(jì)中廣泛使用的語(yǔ)言之一。N-S圖是無(wú)線的流程圖,是算法描述工具;PAD圖是問(wèn)題分析圖,它用二維樹(shù)狀結(jié)構(gòu)的圖表示程序的控制流,將這種圖轉(zhuǎn)換為程序代碼比較容易。此3類均是過(guò)程設(shè)計(jì)工具,數(shù)據(jù)流圖(DataFunctionDiagram):又名數(shù)據(jù)功能圖表,簡(jiǎn)稱DFD,是采用圖形方式來(lái)表達(dá)系統(tǒng)的邏輯功能、數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向和邏輯變換過(guò)程,是結(jié)構(gòu)化系統(tǒng)分析方法的主要表達(dá)工具及用于表示軟件模型的一種圖示方法。
49.C解析:p=&a[3]將指針指向數(shù)組a的第4個(gè)元素,p[5]指向數(shù)組a的第9個(gè)元素,而a[8]=9,所以b=9。
50.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。
51.A解析:本題首先定義了一個(gè)字符數(shù)組并用字符串'159'初始化之,然后用一個(gè)字符型指針p指向該數(shù)組的第一個(gè)元素,最后兩次輸出表達(dá)式*p++的值,所以本題的關(guān)鍵在于求解表達(dá)式*p++的值。*和++的優(yōu)先級(jí)相同,但結(jié)合性是“從右至左”,即*P++相當(dāng)于*(P++),由于子表達(dá)式p++的值是p自增之前的值,所以第一次輸出的是數(shù)組的第一個(gè)元素的值\'1\',到第二條輸出語(yǔ)句時(shí)p已自增1次,所以第;次輸出的是第二個(gè)元素\'5\'。故應(yīng)該選擇選項(xiàng)A。
52.C解析:帶參數(shù)的宏定義命令行形式如下:
#define宏名(形參表)替換文本
在編譯的時(shí)候編譯預(yù)處理程序用“替換文本”來(lái)替換宏,即M(n,m)被替換為n%m,之后計(jì)算,將計(jì)算的結(jié)果賦給a。注意,宏替換是在編譯時(shí)由預(yù)處理程序完成的,宏替換不占用運(yùn)行的時(shí)間,而函數(shù)調(diào)用是在程序運(yùn)行時(shí)進(jìn)行的,在函數(shù)的調(diào)用過(guò)程中需要占用一系列的處理時(shí)間。
53.C解析:在給數(shù)組賦值時(shí),可以用一個(gè)字符串作為初值,這種方法直觀、方便,而且符合人們的習(xí)慣。數(shù)組array的長(zhǎng)度不是5,而是6,這點(diǎn)必須要注意。因?yàn)樽址A康淖詈笥上到y(tǒng)加上一個(gè)'\\0',因此,上面的初始化與下面的等價(jià):
Chararray[]={'C','h','i','n','a','\\0'};
54.D解析:測(cè)試不是為了證明程序是正確的,而是在設(shè)想程序有錯(cuò)誤的前提下進(jìn)行的,其目的是設(shè)法暴露程序中的錯(cuò)誤和缺陷,一般應(yīng)當(dāng)避免由開(kāi)發(fā)者測(cè)試自己的程序,因此,選項(xiàng)A錯(cuò)誤;測(cè)試是為了發(fā)現(xiàn)程序錯(cuò)誤,不能證明程序的正確性,調(diào)試主要是推斷錯(cuò)誤的原因,從而進(jìn)一步改正錯(cuò)誤,調(diào)試用例與測(cè)試用例可以一致,也可以不一致,選項(xiàng)B錯(cuò)誤;測(cè)試發(fā)現(xiàn)錯(cuò)誤后,可進(jìn)行調(diào)試并改正錯(cuò)誤:經(jīng)過(guò)調(diào)試后的程序還需進(jìn)行回歸測(cè)試,以檢查調(diào)試的效果,同時(shí)也可防止在調(diào)試過(guò)程中引進(jìn)新的錯(cuò)誤,選項(xiàng)C錯(cuò)誤。
55.B解析:本題考查標(biāo)準(zhǔn)輸入輸出函數(shù)和循環(huán)語(yǔ)句。gets(s)函數(shù)的作用是將輸入的字符讀入字符串s,直到遇到回車。而scanf()數(shù)接收字符串時(shí)的結(jié)束標(biāo)志為回車或者空格。因此選巧
56.A解析:C語(yǔ)言的字符型常量中,允許用一種特殊形式的字符常量,就是以一個(gè)“\\”開(kāi)頭的字符。其中,“\\ddd”表示用ASCII碼(八進(jìn)制數(shù))表示一個(gè)字符,本題中的charc='\\72'H口表示占一個(gè)字符的變量c的ASCII碼值。
57.D解析:在C語(yǔ)言中字符串的比較用stremp()函數(shù),該函數(shù)有兩個(gè)參數(shù),分別為被比較的兩個(gè)字符串。如果第一個(gè)字符串大于第二個(gè)字符串返回值大于0,若小于返回值小于0,相等返回值為0。字符串比較大小的標(biāo)準(zhǔn)是從第一個(gè)字符開(kāi)始依次向右比較,遇到某一個(gè)字符大,該字符所在的字符串就是較大的字符中,女B果遇到某一個(gè)字符小,該字符所在的字符串就是較小的字符串。本題中要求當(dāng)sl所指字符串大于s2所指串時(shí),執(zhí)行語(yǔ)句s,因此應(yīng)該為stremp(s1,s2)>0或者strcmp(s2,s1)<0。
58.B
59.A解析:本題中第一次執(zhí)行for循環(huán)后,數(shù)組x中的前四個(gè)元素按由大到小的次序排序,即x[0]=7、x[1]=5、x[2]=3、x[3]=1、x[4]=2、x[5]=4、x[6]=6、x[7]=0;第二次執(zhí)行for循環(huán)后,數(shù)組x中的后4個(gè)元素按由小到大的次序排序,即此時(shí)x[0]=7、x[1]=5、x[2]=3、x[3]=1、x[4]=0、x[5]=2、x[6]=4、x[7]=6。故正確答案為A。
60.D解析:逗號(hào)表達(dá)式(++x,y++)的值應(yīng)該是y++的值,由于y++是先引用后自增,所以y++的值是3。
61.D本題考查continue的用法,continue語(yǔ)句的作用是結(jié)束本次循環(huán),直接進(jìn)行下次循環(huán)。所以在程序中,只有當(dāng)a=10時(shí),才退出循環(huán),故選擇D選項(xiàng)。
62.A5,2值為2,5%2值為l,所以3.6—2+1.2+1值為3.8。
63.C解析:在C語(yǔ)言中,引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類型可以是整型常量,也可以是整型表達(dá)式。
64.D解析:文件系統(tǒng)所管理的數(shù)據(jù)文件基本上是分散的、相互獨(dú)立的,因此相對(duì)于數(shù)據(jù)庫(kù)系統(tǒng),以此為基礎(chǔ)的數(shù)據(jù)處理存在3個(gè)缺點(diǎn),數(shù)據(jù)冗余大、數(shù)據(jù)的不一致性、程序與數(shù)據(jù)的相互依賴(簡(jiǎn)稱為數(shù)據(jù)依賴)。注意:文件系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)各自的特點(diǎn),人工管理階段及數(shù)據(jù)庫(kù)系統(tǒng)三代的特點(diǎn)。
65.D
66.C解析:賦值的一般形式為:變量名:表達(dá)式;,賦值的方向?yàn)橛捎蚁蜃?,即將:右?cè)表達(dá)式的值賦給:左側(cè)的變量,執(zhí)行步驟是先計(jì)算再賦值。選項(xiàng)A中運(yùn)算符%的運(yùn)算對(duì)象必須為整數(shù),而選項(xiàng)A中26.8不為整數(shù),故選項(xiàng)A不正確;選項(xiàng)B將一個(gè)變量賦值給一個(gè)常量,這在C語(yǔ)言中是不允許的,故選項(xiàng)B不正確;選項(xiàng)D中也是將一個(gè)常量3賦值給一個(gè)常量,故選項(xiàng)D不正確;所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。
67.A本題考查結(jié)構(gòu)體數(shù)組初始化以及結(jié)構(gòu)體變量的引用,題目中定義了一個(gè)結(jié)構(gòu)體數(shù)組C并初始化,指針pt指向c的第一個(gè)元素,那么pt一>x為10,++pt一>x為11,4pt一>Y為1,(pt++)一>x為20,所以答案為A。
68.D本題考查++運(yùn)算操作符,當(dāng)++在變量前面時(shí),是先加l再賦值,當(dāng)++在變量后面時(shí),是先賦值再加l,所以答案選擇D。
69.B
70.C棧和隊(duì)列都是一種特殊的操作受限的線性表,只允許在端點(diǎn)處進(jìn)行插入和刪除。二者的區(qū)別是:棧只允許在表的一端進(jìn)行插入或刪除操作,是一種“后進(jìn)先出”的線性表;而隊(duì)列只允許在表的一端進(jìn)行插入操作,在另一端進(jìn)行刪除操作,是一種“先進(jìn)先出”的線性表:本題答案為C)。
71.B解析:二維數(shù)組的元素可以看成是按矩陣形式存放的,總是先存放第一行的元素,再存放第二行的元素。數(shù)組第一維的下標(biāo)是i,說(shuō)明它前面還有i行,有i*m個(gè)元素,數(shù)組第二維的下標(biāo)是j,說(shuō)明它前面還有j列,有j個(gè)元素,所以共有i*m+j個(gè)元素。
72.C
73.C
74.D
75.C本題考查switch語(yǔ)句的使用。
switch語(yǔ)句是多分支選擇語(yǔ)句,有些教程上介紹說(shuō)switch語(yǔ)句后面括弧里的表達(dá)式可以是任何類型,實(shí)際上,由于float型的數(shù)據(jù)在內(nèi)存中的存儲(chǔ)會(huì)有誤差,絕大多數(shù)編譯器是不允許switch語(yǔ)句后面是float型的數(shù)據(jù)的。case后是常量表達(dá)式,只能是一個(gè)整數(shù)或整型常量表達(dá)式,也可以是一個(gè)字符常量或枚舉型常量,但不能是實(shí)型數(shù)據(jù)。
A選項(xiàng)中的case后面用的是實(shí)型常量,case語(yǔ)句后面不能跟實(shí)型常量。
B選項(xiàng)switch語(yǔ)句后面的語(yǔ)句是int(x),該表達(dá)式格式錯(cuò)誤,強(qiáng)制轉(zhuǎn)換為整型的語(yǔ)句應(yīng)該為(int)x。
C選項(xiàng)是正確的,switch后面的表達(dá)式和case后面的整型常量表達(dá)式都是規(guī)范的。
D選項(xiàng)的case語(yǔ)句后用到了變量,case后面是不允許用變量表達(dá)式的。
76.B題中當(dāng)a的值為l時(shí),關(guān)系表達(dá)式a==l的值為真,即1,因此程序?qū)⑻D(zhuǎn)到easel執(zhí)行a++操作,與題干程序剛好相反。
77.A\n本題考查指針,pl=&k表示P指向k的地址,則*p=k,依次類推,在對(duì)指針進(jìn)行賦值時(shí)沒(méi)有錯(cuò)誤。a=/*p+m賦值,在c語(yǔ)言中'/*'表示的注釋,所以答案選擇A。
\n
78.C在c語(yǔ)言中,數(shù)組元素下標(biāo)是從0開(kāi)始的;指針變量P指向數(shù)組的首地址。for循環(huán)語(yǔ)句中,指針變量P始終指向數(shù)組的首地址,因而執(zhí)行循環(huán)賦值語(yǔ)句后數(shù)組各元素的值均變?yōu)?。
79.Aa‘b后值為3,3&c值為3,所以選擇A)。
80.B81.(1)錯(cuò)誤:for(i=j=0;str[i]!=0;i++)正確:for(i=j=0;str[i]!=\0;i++)(2)錯(cuò)誤:str[j]=str[i];正確:str[i++]=str[i];【解析】根據(jù)題目中的要求,從字符串str中刪除所有大寫(xiě)字母F,需要檢查字符串str中的每一個(gè)字符,直到字符串結(jié)束,因此,“for(i=j=0;str[i]!=0;i++)”應(yīng)改為“for(i=J=0;str[i]!=0;i++)”;將每一個(gè)不是F的字符放入原來(lái)的字符串中,形成新的字符串,因此,“str[j]=str[i];”應(yīng)改為“str[j++]=str[i];”。
82.
【解析】要把字符串str中ASCⅡ碼值為偶數(shù)的字符刪除,需要判斷字符串str中每一個(gè)字符的ASCⅡ值,將ASCⅡ碼值為奇數(shù)的字符放入字符串t中,ASCⅡ碼值為偶數(shù)的字符不予處理。最后為新的字符串t加上結(jié)束符。
2021-2022年吉林省四平市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.在非線性結(jié)構(gòu)中,每個(gè)結(jié)點(diǎn)()。
A.無(wú)直接前趨
B.只有一個(gè)直接前趨和個(gè)數(shù)不受限制的直接后繼
C.只有一個(gè)直接前驅(qū)和后繼
D.有個(gè)數(shù)不受限制的直接前驅(qū)和后繼
2.下列敘述中正確的是()。
A.當(dāng)對(duì)文件的讀(寫(xiě))操作完成之后,必須將它關(guān)閉,否則可能導(dǎo)致數(shù)據(jù)丟失
B.打開(kāi)一個(gè)已存在的文件并進(jìn)行寫(xiě)操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋
C.在一個(gè)程序中對(duì)文件進(jìn)行寫(xiě)操作后,必須先關(guān)閉該文件然后再打開(kāi)才能讀到第1個(gè)數(shù)據(jù)
D.C語(yǔ)言中的文件是流式文件,因此只能順序存取數(shù)據(jù)
3.有以下程序:#include<stdio.h>intf(intx,inty){return((y-x)*x);}main(){inta=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf(“%d\n”,d);}程序的運(yùn)行結(jié)果是()。
A.7B.10C.8D.9
4.以下定義語(yǔ)句中正確的是
A.inta=b=0;
B.charA=65+1,b='b';
C.noata=1,*b=&a,*c=&b;
D.doublea=0.0;b=1.1;
5.有以下程序段
#include<stdio.h>
voidfun(char*fname,char*st)
{FILE*myf;
inti;
myf=fopen(fname,"w");
for(i=0;i<strlen(st);i++)fputc(st[i],myf);
fclose(myf);
}
main()
{fun("test.t","newworld");
fun("test.t","hello,");}
程序執(zhí)行后,文件test.t中的內(nèi)容是A.A.hello,
B.newworldhello,
C.newworld
D.hello,rld
6.若有"doublea;",則正確的輸入語(yǔ)句是()。
A.scanf("%1f",a);
B.scanf("%f",&a);
C.scanf("%1f",&a)
D.scanf("%1e",&a);
7.以下關(guān)于typedef的敘述錯(cuò)誤的是()。A.用tyFedef可以增加新類型
B.typedef只是將已存在的類型用一個(gè)新的名字來(lái)代表
C.用typedef可以為各種類型說(shuō)明一個(gè)新名,但不能用來(lái)為變量說(shuō)明一個(gè)新名
D.用typedef為類型說(shuō)明一個(gè)新名,通??梢栽黾映绦虻目勺x性
8.以下選項(xiàng)中合法的實(shí)型常數(shù)是()。
A.5E2.0B.E-3C.2E0D.1.3E
9.對(duì)于循環(huán)隊(duì)列()。
A.無(wú)法判斷隊(duì)列是否為空B.無(wú)法判斷隊(duì)列是否為滿C.隊(duì)列不可能滿D.以上說(shuō)法都不對(duì)
10.程序段:intx=12;doub1ey=3.141593;printf("%d%8.6f"x,y);的輸出結(jié)果是______。A.123.141593B.123.141593C.12,3.141593D.123,1415930
11.下列敘述中錯(cuò)誤的是()。
A.C程序可以由多個(gè)程序文件組成
B.—個(gè)C語(yǔ)言程序只能實(shí)現(xiàn)一種算法
C.C程序可以由一個(gè)或多個(gè)函數(shù)組成
D.—個(gè)C語(yǔ)言函數(shù)可以單獨(dú)作為一個(gè)C語(yǔ)言程序文件存在
12.結(jié)構(gòu)化程序設(shè)計(jì)的3種結(jié)構(gòu)是()。
A.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu)
B.分支結(jié)構(gòu)、等價(jià)結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
C.多分支結(jié)構(gòu)、賦值結(jié)構(gòu)、等價(jià)結(jié)構(gòu)
D.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
13.以下不能將s所指字符串正確復(fù)制到所指存儲(chǔ)空間的是()A.do{*t++=*s++;}while(*s);.
B.for(i=0;t[i]=s[i];i++);
C.while(*t=*s){t++;s++}
D.for(i=0,j=0;t[i++]=s[j++];);
14.若主調(diào)用函數(shù)類型為double,被調(diào)用函數(shù)定義中沒(méi)有進(jìn)行函數(shù)類型說(shuō)明,而return語(yǔ)句中的表達(dá)式類型為float型,則被調(diào)函數(shù)返回值的類型是()。
A.int型B.float型C.double型D.由系統(tǒng)當(dāng)時(shí)的情況而定
15.
16.具有20個(gè)結(jié)點(diǎn)的二叉樹(shù),其深度最多為_(kāi)______。
A.4B.5C.6D.20
17.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。A.4B.2C.3D.1
18.設(shè)有定義:“struct{charmarkp[l2];intnuml;doublenum2;}tl,t2;”,若變量均已正確賦初值,則以下語(yǔ)句中錯(cuò)誤的是()。
A.t1=t2;
B.t2.num1=tl.numl;
C.t2.mark=tl.mark;
D.t2.num2=tl.num2;
19.在位運(yùn)算中,操作數(shù)左移一位,其結(jié)果相當(dāng)于A.A.操作數(shù)乘以2
B.操作數(shù)除以2
C.操作數(shù)除以4
D.操作數(shù)乘以4
20.變量a中的數(shù)據(jù)用二進(jìn)制表示的形式是01011101,變量b中的數(shù)據(jù)用二進(jìn)制表示的形式是11110000。若要求將a的高4位取反,低4位不變,所要執(zhí)行的運(yùn)算是
A.a^bB.a|bC.a&bD.a<<4
二、2.填空題(20題)21.在一個(gè)容量為32的循環(huán)隊(duì)列中,若頭指針front=3,尾指針rear=2,則該循環(huán)隊(duì)列中共有______個(gè)元素。
22.下面程序的運(yùn)行結(jié)果是______。
#defineDOUBLE(x,y)x/y
main()
{intx=4,y=2,t;
t=DOUBLE(x+y,x-y);
printf("%d",t);
}
23.語(yǔ)句"int(*ptr)();"的含義是______是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)。
24.有以下程序段,且變量已正確定義和賦值。
for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k/1));
printf("s=%f\n\",s);
請(qǐng)?zhí)羁?,使下面程序段的功能與之完全相同。
s=1.0;k=1;
while(【】){s=s+1.0/(k*(k+1));【】;}
printf("s-=%f\n\n",s);
25.下列程序的輸出結(jié)果是______。
#include<stdio.h>
fun()
{staticinta=0;
a+=3;printf("%d",A);
}
main()
{intcc;
for(cc=1;cc<5;cc++)fun();
printf("\n");
}
26.數(shù)據(jù)庫(kù)系統(tǒng)中實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為【】。
27.表達(dá)式1/2*(int)3.7/(int)(2.4*(1.5+2.5))值的數(shù)據(jù)類型為_(kāi)_____。
28.按照邏輯結(jié)構(gòu)分類,數(shù)據(jù)結(jié)構(gòu)可分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),隊(duì)列屬于______。
29.下面程序的運(yùn)行結(jié)果是:【】。
#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.數(shù)據(jù)模型是數(shù)據(jù)庫(kù)系統(tǒng)中用于提供信息表示和操作手段的結(jié)構(gòu)形式。實(shí)際數(shù)據(jù)庫(kù)系統(tǒng)中所支持的數(shù)據(jù)模型主要有層次模型、網(wǎng)狀模型和【】3種。
31.若有定義doublea[5];,則a數(shù)組元素下標(biāo)的上限為_(kāi)_____。
32.若a=10,b=20,則表達(dá)式!(a<b)的值是【】。
33.數(shù)據(jù)模型按不同應(yīng)用層次分成3種類型,它們是概念數(shù)據(jù)模型、【】和物理數(shù)據(jù)模型。
34.實(shí)現(xiàn)算法所需的存儲(chǔ)單元多少和算法的工作量大小分別稱為算法的【】。
35.以下程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
longfib(intg)
{switch(g)
{case0:return0;
case1:
case2:return1;}
return(fib(g-1)+fib(g-2));}
main()
{longk;
k=fib(5);
printf("k=%51d\n",k);}
36.設(shè)x、y、z均為int型變量,請(qǐng)寫(xiě)出描述“x或y中至少有一個(gè)小于z”的表達(dá)式______。
37.在最壞情況下,冒泡排序的時(shí)間復(fù)雜度為【】。
38.下面程序的功能是求整數(shù)m、n的最大公約數(shù),請(qǐng)?zhí)羁铡?/p>
main()
{intm,n,r;
scanf("%d,%d",&m,&n);
if(【】){r=m;m=n;n=r;)
while(【】)
{r=m%n;m=n;n=r;}
printf("%d",m);
}
39.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,類描述的是具有相似性質(zhì)的一組【】。
40.一個(gè)模塊直接調(diào)用的其他模塊的模塊個(gè)數(shù)稱為_(kāi)_____。
三、1.選擇題(20題)41.若有下列說(shuō)明,則()不是對(duì)strcpy庫(kù)函數(shù)的正確的調(diào)用。strcpy庫(kù)函數(shù)用于復(fù)制一個(gè)字符串:char*strl="abcd",str2[10],*str3="hijklmn",*str4[2],*str5="aaaa";
A.languageB.lnugC.有語(yǔ)法錯(cuò)誤D.lang
42.已有定義:inti,a[10],*p;則合法的賦值語(yǔ)句是()。
A.p=100;B.p=a[5];C.p=a[2]+2;D.p=a+2;
43.以下程序的輸出結(jié)果是_______。#include<string.h>main(){char*a="abcdefghi";intk;fun(a);puts(a);}fun(char*s){intx,y;charc;for(x=0,y=strlen(s)-1;x<y;x++,y--){c=s[y];s[y]=s[x];s[x]=c;}}
A.ihgfedcbaB.abcdefghiC.abcdedcbaD.ihgfefghi
44.若有以下定義和語(yǔ)句structa{intn,m;};structast[3]={{1,20},{2,19},{3,21}};structa*p=st;則以下錯(cuò)誤的引用是
A.(p++)->n;B.st[0].n;C.(*p).n;D.p=&st.m;
45.若有說(shuō)明語(yǔ)句:double*p,a;則能通過(guò)scanf語(yǔ)句正確給輸入項(xiàng)讀入數(shù)據(jù)的程序段是()。
A.*p=&a;sCanf("%1f",p);
B.*p=&a;scanf("%f",p);
C.p=&a;scanf("%1f",*p);
D.p=&a;scanf("%1f",p);
46.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是()。
A.程序的規(guī)模B.程序的效率C.程序設(shè)計(jì)語(yǔ)言的先進(jìn)性D.程序的易讀性
47.開(kāi)發(fā)大型軟件時(shí),產(chǎn)生困難的根本原因是()。
A.大型系統(tǒng)的復(fù)雜性B.人員知識(shí)不足C.客觀世界千變?nèi)f化D.時(shí)間緊、任務(wù)重
48.在軟件設(shè)計(jì)中,不屬于過(guò)程設(shè)計(jì)工具的是()。
A.PDL(過(guò)程設(shè)計(jì)語(yǔ)言)B.PAD圖C.N-S圖D.DFD圖
49.有如下程序inta[10]={1,2,3,4,5,6,7,8,9,10};int*p=&a[3],b;b=p[5];則b的值是
A.5B.6C.9D.8
50.設(shè)有以下語(yǔ)句:chara=3,b=6,c;c=ab<<2;則c的二進(jìn)制值是()。
A.11011B.10100C.11100D.11000
51.有以下程序main(){chars[]="159",*p;p=s;printf("%c",*p++);pritnf("%c",*p++);}程序運(yùn)行后的輸出結(jié)果是
A.15B.16C.12D.59
52.下列程序的輸出結(jié)果是#include"stdio.h"#defineM(x,y)x%ymain(){inta,m=12,n=100;a=M(n,m);printf("%d\n",a--);}
A.2B.3C.4D.5
53.設(shè)有數(shù)組定義:chararray[]="China";則數(shù)組array所占的空間為()
A.4個(gè)字節(jié)B.5個(gè)字節(jié)C.6個(gè)字節(jié)D.7個(gè)字節(jié)
54.下列敘述中正確的是()。
A.測(cè)試工作必須由程序編制者自己完成
B.測(cè)試用例和調(diào)試用例必須一致
C.一個(gè)程序經(jīng)調(diào)試改正錯(cuò)誤后,一般不必再進(jìn)行測(cè)試
D.上述三種說(shuō)法都不對(duì)
55.設(shè)有定義:chars[10];inti=0;,以下不能將一行(不超過(guò)100個(gè)字符)帶有空格的字符串正確讀入的語(yǔ)句或語(yǔ)句組是()。
A.gets(s);
B.scanf("%s",s);
C.while((s[i++]=getchar())!='\n');s[i]='\0';
D.do{scanf("%c",&s[i]);}while(s[i++]!='\n');s[i]='\0';
56.若有說(shuō)明語(yǔ)句:charc='\72'則變量c()。
A.包含1個(gè)字符B.包含2個(gè)字符C.包含3個(gè)字符D.說(shuō)明不合法,c的值不確定
57.s1和s2已正確定義并分別指向兩個(gè)字符串,若要求:當(dāng)s1所指串大于s2所指串時(shí),執(zhí)行語(yǔ)句S;則以下選項(xiàng)中正確的是
A.if(s1>s2)S;
B.if(strcmp(s1,s2))S;
C.if(strcmp(s2,s1)>0)S;
D.if(strcmp(s1,82)>0)S;
58.486PC機(jī)主板上一般帶有高速緩沖存儲(chǔ)器Cache,它是()之間的儲(chǔ)存。
A.CPU與輔助存助器B.CPU與主存儲(chǔ)器C.軟盤與內(nèi)存D.硬盤與內(nèi)存
59.有以下程序:main(){intx[]={1,3,5,7,2,4,6,0},i,j,k;for(i=0;i<3;i++)for(j=2;j>=i;j--)if(x[j+1)>x[j]){k=x[j];x[j];x[j+1);x[j+1]=k;}for(i=0;i<3;i++)for(j=4;j<7-i;j++)if(x[j]>x[j+1]){k=x[j];x[j]=x[j+1];x[j+1)=k;}for(i=0;i<8;i++)printf("%d",x[i]);printf("\n");}程序運(yùn)行后的輸出結(jié)果是______。
A.75310246B.1234567C.76310462D.13570246
60.有如下程序main(){inty=3,x=3,z=1;printf("%d%d\n",(++x,y++),z+2);}運(yùn)行該程序的輸出結(jié)果是______。
A.34B.42C.43D.33
四、選擇題(20題)61.執(zhí)行下面的程序后,a的值為()。main{inta,b;for(a=1,b=1;a<=10;a++){if(b%3==l){b+=3;continue;}b-=5;}}A.7B.8C.9D.10
62.表達(dá)式3.6-5/2+1.2+5%2的值是()。A.3.8B.4.8C.3.3D.4.3
63.在C語(yǔ)言中,引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是()。
A.整型表達(dá)式B.整型常量C.整型常量或整型表達(dá)式D.任何類型的表達(dá)式
64.相對(duì)于數(shù)據(jù)庫(kù)系統(tǒng),文件系統(tǒng)的主要缺陷有數(shù)據(jù)關(guān)聯(lián)差、數(shù)據(jù)不一致性和()。
A.可重用性差B.安全性差C.非持久性D.冗余性
65.在以下選項(xiàng)中,能正確調(diào)用對(duì)象屬性的語(yǔ)句是()。
A.對(duì)象名(屬性名)B.對(duì)象名一>屬性名C.對(duì)象名屬性名D.對(duì)象名.屬性名
66.若以下選項(xiàng)中的變量已正確定義,則正確的賦值語(yǔ)句是()。
A.x1=26.8%3B.1+2=x2C.x3=0x12D.x4=1+2=3
67.有以下程序段:
以下選項(xiàng)中表達(dá)式的值為11的是()。
A.++pt一>xB.pt一>xC.*pt一>yD.(pt++)一>x
68.設(shè)變量均已正確定義并賦值,以下與其他三組輸出結(jié)果不同的一組語(yǔ)句是()。
A.x++;printf("%dkn",x);
B.n=++x;printf("%d\n",n);
C.++x;printf("%d\n",x);
D.n=x++;printf("%6d\n",n);
69.
70.棧和隊(duì)列的共同點(diǎn)是()。
A.都是先進(jìn)后出B.都是先進(jìn)先出C.只允許在端點(diǎn)處插入和刪除元素D.沒(méi)有共同點(diǎn)
71.若二維數(shù)組a有m列,則在a[i][j]前的元素個(gè)數(shù)為()。
A.i*m+j-1B.i*m+jC.J*m+iD.i*m+j+1
72.
73.
74.
75.若有以下定義:floatx;inta,b,c=2;,則正確的switch語(yǔ)句是
76.以下選項(xiàng)中與“if(a==l)a=b;elsea++;”語(yǔ)句功能不同的switch語(yǔ)句是()。
A.switch(a){casel:a=b;break;default:a++;}
B.switch(a==l){case0:a=b;break;casel:a++;}
C.switch(a){default:a++;break;casel:a=b;}
D.switch(a==l){casel:a=b;break;case0:a++;}
77.有以下程序:
#include<stdio.h>
main()
{inta,b,k,m,*pl,*p2;
k=1,m=8;
p1=&k,p2=&m;
a=/*pl-m;b=*p1+*p2+6;
printf("%d",a);printf("%d\n",b);
}
編譯時(shí)編譯器提示錯(cuò)誤信息,你認(rèn)為出錯(cuò)的語(yǔ)句是()。
A.a=/*pl-m;
B.b=*p1+*p2+6;
C.k=1,m=8;
D.pl=&k,p2-&m;
78.若有以下程序:
上面程序的輸出結(jié)果是()。
A.5B.7C.1D.3
79.有以下程序程序的運(yùn)行結(jié)果是()。
A.3B.1C.2D.0
80.設(shè)有定義:longx=-123456L;則以下能夠正確輸出變量x值的語(yǔ)句是_______。
A.printf(“x=%d\n”,x)
B.printf(“x=%ld\n”,x)
C.printf(“x=?l\n”,x)
D.printf(“x=%D\n”,x);
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc的功能是:從字符串str中,刪除所有大寫(xiě)字母F。請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include<stdio.h>voidproc(char*str){inti,j;//****found****for(i=j=0;str[i]一0;i++)if(str[i]!=F)//****found****str[i]=str[i];str[j]=\0;}voidmain{charstr[80];printf("\nEnterastring:");gets(str);printf("Theoriginalstring:");puts(str);proc(str);printf("Thestringafterdeleted:");puts(str);printf("\n\n");}
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)函數(shù)proc(),該函數(shù)的功能是:將str所指字符串中ASCⅡ值為偶數(shù)的字符刪除,串中剩余字符形成一個(gè)新串放在t所指的數(shù)組中。例如,若str所指字符串中的內(nèi)容為aBcdef9789,其中字符8的ASCⅡ碼值為偶數(shù)……字符8的ASCⅡ碼值為偶數(shù)……都應(yīng)當(dāng)刪除,其他依此類推。最后t所指的數(shù)組中的內(nèi)容應(yīng)是ace979。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:
參考答案
1.D
2.AB選項(xiàng)中,打開(kāi)一個(gè)已存在的文件并進(jìn)行寫(xiě)操作后,原有文件中的全部數(shù)據(jù)不一定被覆蓋,也可以對(duì)源文件進(jìn)行追加操作等。C選項(xiàng)中,在一個(gè)程序中對(duì)文件進(jìn)行寫(xiě)操作后,不是先關(guān)閉該文件然后再打開(kāi)才能讀到第1個(gè)數(shù)據(jù),用fseek函數(shù)進(jìn)行重新定位即可。D選項(xiàng)中,C語(yǔ)言中的文件可以進(jìn)行隨機(jī)讀寫(xiě)。故本題答案為A選項(xiàng)。
3.D在main函數(shù)中,調(diào)用f(a,b)函數(shù)返回3,調(diào)用f(a,c)函數(shù)返回6,所以外層調(diào)用f(f(a,b),f(a,c)),即調(diào)用f(3,6)函數(shù)返回9。故本題答案為D選項(xiàng)。
4.B解析:本題考查變量的定義方法。如果要一次進(jìn)行多個(gè)變量的定義,則在它們之間要用逗號(hào)隔開(kāi),因此選項(xiàng)A)和D)錯(cuò)誤。在選項(xiàng)C)中,變量c是一個(gè)浮點(diǎn)型指針,它只能指向一個(gè)浮點(diǎn)型數(shù)據(jù),不能指向指針變量b,故選項(xiàng)C)錯(cuò)誤。
5.D本題主要考查文件的操作。在本題的程序中,首先定義了一個(gè)無(wú)返回值的函數(shù)fun,該函數(shù)帶有兩個(gè)指針類型的形參,其中第一個(gè)形參指向需要被操作文件的文件名,而第二個(gè)形參指向被操作的字符串。在函數(shù)體中,首先定義一個(gè)文件指針,然后以只寫(xiě)的方式打開(kāi)第一個(gè)形參所指向的文件,接著執(zhí)行for循環(huán),循環(huán)結(jié)束的條件
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2022教師考核表個(gè)人述職報(bào)告范文【7篇】
- 結(jié)算工作總結(jié)模板4篇
- 競(jìng)聘演講稿(集合15篇)
- 元旦晚會(huì)有感心得5篇
- 春天周末經(jīng)典祝福語(yǔ)
- 見(jiàn)習(xí)護(hù)士自我鑒定集錦15篇
- 消化工作計(jì)劃合集6篇
- 煤礦崗位工作標(biāo)準(zhǔn)
- 廣東省汕頭市潮南井都中學(xué)2024-2025學(xué)年九年級(jí)上冊(cè)語(yǔ)篇填空與補(bǔ)全對(duì)話專項(xiàng)練習(xí)測(cè)試卷(含答案)
- 村屯開(kāi)展環(huán)境整治工作總結(jié)(4篇)
- 教案:孔門十弟子
- 中醫(yī)藥在肝癌介入治療中的作用課件
- 青島版二年級(jí)上冊(cè)數(shù)學(xué)《乘法的初步認(rèn)識(shí)》單元整體備課設(shè)計(jì)
- 房屋買賣協(xié)議書(shū)電子版模板
- 總工會(huì)新規(guī)慰問(wèn)標(biāo)準(zhǔn)
- 西師大版四年級(jí)音樂(lè)上冊(cè)第5單元《唱臉譜》教學(xué)設(shè)計(jì)
- 小學(xué)綜合實(shí)踐五年級(jí)上冊(cè)第2單元《社會(huì)服務(wù)》教材分析及全部教案
- 高質(zhì)量SCI論文入門必備從選題到發(fā)表全套課件
- 威綸觸摸屏范例d11.xy曲線圖示例
- 常見(jiàn)雞病防治課件
- 220kv升壓站質(zhì)量評(píng)估報(bào)告
評(píng)論
0/150
提交評(píng)論