版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
2021年河北省秦皇島市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.有以下定義和語句:structworkers{intnum;charname[20];charC;struct{intday;intmonth;intyear;)S;};structworkersw,*pw;pw=&w;能給w中year成員賦1980的語句是()。A.*pw.year=1980;
B.w.year=1980;
C.pw->year=1980
D.w.S.year=1980;
2.在下列定義語句中,編譯時會出現(xiàn)編譯錯誤的是()。
A.chara=‘\x2d’;B.chara=‘\n’;C.chara=‘a(chǎn)’;D.chara=“aa”;
3.設(shè)初始輸入序列為1,2,3,4,5,利用一個棧產(chǎn)生輸出序列,下列()序列是不可能通過棧產(chǎn)生的。
A.1,2,3,4,5B.5,3,4,l,2C.4,3,2,1,5D.3,4,5,2,l
4.執(zhí)行下列程序后,輸出的結(jié)果是()。#include<stdio.h>#defineS(X)X*Xvoidmain{inta=9,k=3,m=2;a/=S(k+m)/S(k+m):printf("%d",a);}A.1B.4C.9D.0
5.以下程序intaa[3][3]={{2},{4},{6}};main(){inti,*p=&aa[0][0];for(i=0;i<2;i++){if(i==0)aa[i][i+1]=*p+1;else++p;printf("%d",*p);}}的輸出是________。
A.23B.26C.33D.36
6.若有定義語句:“inta=3,b=2,c=1;”,以下選項中錯誤的賦值表達式是()。
A.a=(b=4)=3;B.a=b=c+1:C.a=(b=4)+C;D.a=1+(b=c一4);
7.設(shè)棧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
8.以下敘述中錯誤的是()。
A.由3種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡單問題
B.結(jié)構(gòu)化程序由順序、分支、循環(huán)3種基本結(jié)構(gòu)組成
C.C語言是一種結(jié)構(gòu)化程序設(shè)計語言
D.結(jié)構(gòu)化程序設(shè)計提倡模塊化的設(shè)計方法
9.有以下程序:#include<stdio.h>main(){charch=‘D’;while(ch>‘A’){ch--;putchar(ch);if(ch==‘A’)break;putchar(ch+1);}}程序運行后的輸出結(jié)果是()。
A.CBB.BCAC.CCBBD.CDBCA
10.
11.有以下程序:#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.3B.6C.8D.12
12.設(shè)無向圖G中的邊的集合E={(a,b),(a,e),(a,c),(b,e),(e,d),(d,f),(f,c)},則從頂點a出發(fā)進行深度優(yōu)先遍歷可以得到的一種頂點序列為()。
A.aedfcbB.acfebdC.aebcfdD.aedfbc
13.執(zhí)行下述程序后,輸出的結(jié)果是()。#include<stdio.h>#defineS(X)X*Xvoidmain{inta=9,k=3,m=2;a/=S(k+m)/s(k+m);printf("%d",a);}A.1B.4C.9D.0
14.C語言中不合法的字符串常量是
A.\121B.'Y'C.\n\nD.ABCD\x6d
15.廣義表((a),a)的表頭是()。
A.aB.(a)C.((a))D.()
16.程序運行后的輸出結(jié)果是()。#include<stdio.h>#include<stdlib.h>main(){int*a,*b,*c;a=b=c(int*)malloc(sizeof(int));*a=1;*b=2;*c=3;a=b;printf(“%d,%d,%d\n”,*a,*b,*c);}A.1.1.3B.2.2.3C.1.2.3D.3.3.3
17.設(shè)有如下類型說明語句:typedefstruct{intnum;struct{inty,m,d;}date;}PER;則以下定義結(jié)構(gòu)體數(shù)組并賦初值的語句中錯誤的是()。
A.PERst[2]={{1001},2008,8,1,{1002},2006,5,20};
B.PERst[2]={1001,{2008,8,1},1002,{2006,5,20}};
C.PERst[2]={{1001,2008,8,1},{1002,2006,5,20}};
D.PERst[2]={1001,2008,8,1,1002,2006,5,20};
18.設(shè)S為一個長度為n的字符串,其中的字符各不相同,則S中的互異的非平凡子串(非空且不同于S本身)的個數(shù)為()。
A.2n-1B.n2C.(n2/2)+(n/2)D.(n2/2)+(n/2)-1
19.運行下列程序,若從鍵盤輸入字符“a”,則輸出結(jié)果是()。
charc;
c=getchar;
if(c>=a&&c<=g)c=c+4:
elseif(c>=9&&c<=2)c=c-21:
elseprintf("inputerror!\n");
putchar(c);
A.fB.tC.eD.d
20.有以下程序:
#include<stdio.h>
main()
{ints=0.n;
for(n=0;n<3;n++)
{switch(s)
{case0;
case1:s+=1;
case2:s+=2;break;
case3:S+=3;
default:s+=4;
}
printf("%d,"s);
}
}
程序運行后的輸出結(jié)果是()。
A.1,2,4,
B.1,3,6,
C.3,10,14,
D.3,6,10,
二、2.填空題(20題)21.在關(guān)系模型中,把數(shù)據(jù)看成一個二維表,每一個二維表稱為一個______。
22.下列程序的運行結(jié)果是______。
main()
{intx=1,y=2,z=3;
printf("%d,",x<y?y:x);
printf("%d,",z<y?x++:y++);
printf("%d,%d",x,y);
}
23.在面向?qū)ο蟪绦蛟O(shè)計中,從外面看只能看到對象有外部特征,而不知道也無需知道數(shù)據(jù)的具體結(jié)構(gòu)以及實現(xiàn)操作的算法,這稱為對象的______。
24.若有如下程序:
main()
{intx=4;y=3,Z=2,t;
t=x<y<z;
printf("%d\n",t);
}
則程序運行后的輸出結(jié)果是【】。
25.若有如下程序:
main()
{intx=20;
if(x>10)printf("%d",x-=5);
if(x>15)printf("%d",x);
}
則程序運行后的輸出結(jié)果是【】。
26.以下程序的運行結(jié)果是【】。
#include<stdio.h>
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:a++;break;
case1:b++;break;
}
case2:a++;b++;break;
case3:a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
27.與結(jié)構(gòu)化需求分析方法相對應(yīng)的是【】方法。
28.下述函數(shù)用于統(tǒng)計一行字符中的單詞個數(shù),單詞之問用空格分隔。
word_num(str)
charstr[];
{inti,num=0,word=0;
fot(i=0;str[i]!=【】;i++)
if【】=='')word=0;
elseif(word==0)
{
word=1;
【】;
}
return(num);
}
29.以下程序中函數(shù)huiwen的功能是檢查一個寧符串是否是回文,當(dāng)字符串是回文時,函數(shù)返回字符串:yes!,否則函數(shù)返回字符串:no!,并在主函數(shù)中輸出。所謂回文即正向與反向的拼寫都一樣,例如:adgda。請?zhí)羁誣_____。
#include<string.h>
chat*huiwen(chat*str)
{char*p1,*p2;inti,t=0;
p1=str;p2=【】;
for(i=0;i<=strlen(str)/2;i++)
if(*p1++!=*p2--){t=1;break;}
if(!t或t!=0)return("yes!");
elsereturn("no!");
}
main()
{charstr[50];
printf("Input:");scanf("%s",str);
printf("%s\n",huiwen(str));
}
30.下面程序的輸出結(jié)果是【】。
main()
{intarr[10],i,k=0;
for(i=0;i<10;i++)arr[i]=i;
for(i=0;i<4;i++)k+=arr[i]=i;
printf("%d\n",k);
}
31.以下程序的功能是輸出如下形式的方陣:
13141516
9101112
5678
1234
請?zhí)羁铡?/p>
#include<stdio.h>
main()
{inti,j,x;
for(j=4;j【】;j--)
{for(i=1;i<=4;i++)
[x=(j-1)*4+【】;
printf("%4d",x);
}
printf("\n");
}
32.樹中度為零的結(jié)點稱為______。
33.問題處理方案的正確而完整的描述稱為______。
34.長度為n的順序存儲線性表中,當(dāng)在任何位置上插入一個元素概率都相等時,插入一個元素所需移動元素的平均個數(shù)為【】。
35.以下程序的輸出結(jié)果是【】。
#include<stdlib.h>
main()
{char*s1,*s2,m;
s1=s2=(char*)malloc(sizeof(char));
*s1=15;*s2=20;m=*s1+*s2;
printf("%d\n",m);
}
36.下列程序的運行結(jié)果是______。
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]);
}
}
37.數(shù)據(jù)庫管理系統(tǒng)常見的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和【】3種。
38.以下程序?qū)?shù)組a的4個元素和數(shù)組b的6個元素寫到名為lett.dat的二進制文件中,請?zhí)羁铡?/p>
#include<stdio.h>
#include<stdlib.h>
main()
{FILE*fp;
chara[5]="1234",b[7]="abcedf";
if((fp=fopen("【】","wb"))==NULL)exit(0);
fwrite(a,sizeof(char),4,fp);
fwrite(b,【】,1,fp);
fclose(fp);
}
39.下列程序的運行結(jié)果是______。
main()
{ints=0,i=1;
while(s<=10)
{s=s+i*i;
i++;
}
printf("%d",-i);
}
40.已知存儲結(jié)構(gòu)如下所示,請?zhí)羁铡?/p>
datanext
structlink{chardata;
【】;
}node;
三、1.選擇題(20題)41.以下各選項企圖說明一種新的類型名,其中正確的是______。
A.typedefv1int;
B.typedefv2=int;
C.typedefintv3;
D.typedefv4:int
42.若有定義: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);
43.有如下程序#include<stdio.h>main(){FILE*fpl;fpl=fopen("f1.txt","w");fprintf(fp1,"abc");fclose(fp1);}若文本文件f1.txt中原有內(nèi)容為:good,則運行以上程序后文件f1.txt中的內(nèi)容為
A.goodabcB.abcdC.abcD.abcgood
44.設(shè)有以下語句:structst{intn;structst*next;};staticstructsta[3]={5,&a[1],7,&a[2],9,'\0'},*p;p=&a[0];則表達式的值是6的為______。
A.p++->nB.p->n++C.(*p).n++D.++p->n
45.下述函數(shù)功能是______。intfunr(char*x){char*y=x;while(*y++);returny-x-1;}
A.求字符串的長度B.求字符串存放的位置C.比較兩個字符串的大小D.將字符串x連接字符串y后面
46.定義int*swap()指的是______。
A.—個返回整型值的函數(shù)swap()
B.—個返回指向整型值指針的函數(shù)swap()
C.—個指向函數(shù)swap()的指針,函數(shù)返回一個整型值
D.以上說法均錯
47.有如下程序main(){inti,sum;for(i=1;i<=3;sum++)sum+=i;printf("%d\n",sum);}該程序的執(zhí)行結(jié)果是______。
A.6B.3C.死循環(huán)D.0
48.以下4個選項中,不能看作一條語句的是
A.;B.a=5,b=2.5,c=3.6;C.if(a<5);D.if(b!=5)x=2;y=6;
49.簡單的交換排序方法是()。
A.快速排序B.選擇排序C.堆排序D.冒泡排序
50.已知各變量的類型說明如下:intk,a,b;unsignedlongw=5;doublex=1.42;則以下不符合C語言語法的表達式是
A.x%(-3)B.Wd+=-2C.k=(a=2,b=3,a+D.a+=9-=(b=4)*(a=3)
51.設(shè)有關(guān)鍵碼序列(66,13,51,76,81,26,57,69,23),要按關(guān)鍵碼值遞增的次序排序,若采用快速排序法,并以第一個元素為劃分的基準(zhǔn),那么第一趟劃分后的結(jié)果為()。
A.23,13,51,57,66,26,81,69,76
B.13,23,26,51,57,66,81,76,69
C.23,13,51,57,26,66,81,69,76
D.23,13,51,57,81,26,66,69,76
52.在微機中,bit的中文含義是()。
A.二進制位B.字節(jié)C.字D.雙字
53.以下能正確定義一維數(shù)組的選項是A.intnum[];
B.#defineN100intnum[N];
C.intnum[0..100];
D.intN=100;intnum[N];
54.電子數(shù)字計算機最主要的工作特點是()
A.高速度B.高精度C.存儲程序與自動控制D.記憶力強
55.以下敘述中錯誤的是A.計算機不能直接執(zhí)行用C語言編寫的源程序
B.C程序經(jīng)C編譯程序編譯后,生成后綴為.obj的文件是一個二進制文件
C.后綴為.obj的文件,經(jīng)連接程序生成后綴為.exe的文件是一個二進制文件
D.后綴為.obj和.exe的二進制文件都可以直接運行
56.有以下程序:voidf(intn,int*r){intr1=0;if(n%3==0)r1=n/3;elseif(n%5==0)r1=n/5;elsef(--n,&r1);*r=r1;}main(){intm=7,r;f(m,&r);printf("%d\n",r);}程序運行后的輸出結(jié)果是______。
A.2B.1C.3D.0
57.一個源文件中的外部變量的作用域為()。
A.本文件的全部范圍B.本程序的全部范圍C.本函數(shù)的全部范圍D.從定義該變量的位置開始到本文件結(jié)束
58.有以下定義
#include<stdio.h>
chara[10],*b=a;
不能給a數(shù)組輸入字符串的語句是
A.gets(A)B.gets(a[0]);C.gets(&a[0]);D.gets(B);
59.在C語言中,函數(shù)調(diào)用時()。
A.實參和形參各占獨立的存儲單元
B.實參和形參共用存儲單元
C.由系統(tǒng)自動確定實參和形參是否共用存儲單元
D.由用戶指定實參和形參是否共用存儲單元
60.若有“doublea;”,則正確的輸入語句是()。
A.scanf("%1f",A);
B.scanf("%f",&A);
C.scanf("%1f",&A);
D.scanf("%1e",A);
四、選擇題(20題)61.下列程序的輸出的結(jié)果是()。main{doubled=3.2;intx,Y;x=1.2;v=(x+3.8)/5.0;printf("%d\n",d*y);}A.3B.3.2C.0D.3.07
62.以下敘述中正確的是()。A.A.當(dāng)對文件的讀(寫)操作完成之后,必須將它關(guān)閉,否則可能導(dǎo)致數(shù)據(jù)丟失
B.打開一個已存在的文件并進行了寫操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋
C.在一個程序中當(dāng)對文件進行了寫操作后,必須先關(guān)閉該文件然后再打開,才能讀到第1個數(shù)據(jù)
D.c語言中的文件是流式文件,因此只能順序存取數(shù)據(jù)
63.
64.
下列程序執(zhí)行后的輸出結(jié)果是()。
voidfunc(int*a,intb[])
{b[0]=*a+b;}main
{inta,b[5];
a=0.b[0]=3;
func(&a,b);printf("%d\n",b[0]);
}
A.6B.7C.8D.9
65.軟件測試的目的是()。
A.評估軟件可靠性B.發(fā)現(xiàn)并改正程序中的錯誤C.改正程序中的錯誤D.發(fā)現(xiàn)程序中的錯誤
66.
67.有三個關(guān)系R、S和T如下:由關(guān)系R和s通過運算得到關(guān)系T,則所使用的運算為()。
A.并B.自然連接C.笛卡兒積D.交
68.
69.已有定義:charc;,程序前面已在命令行中包含ctype.h文件,不能用于判斷c中的字符是否為大寫字母的表達式是()。A.A.isupper(c)B.'A'<=c<='Z'
C.'A'<=c&&c<='Z'
D.c<=('z'-32)&&('a'-32)<=c
70.下列敘述正確的是()。
A.C語言中的文件是流式文件,因此只能順序存取數(shù)據(jù)
B.打開一個已存在的文件并進行了寫操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋
C.在一個程序中當(dāng)對文件進了寫操作后,必須先關(guān)閉該文件然后再打開,才能讀到第1個數(shù)據(jù)
D.當(dāng)對文件的讀(寫)操作完成之后,必須將它關(guān)閉,否則可能導(dǎo)致數(shù)據(jù)丟失
71.
72.以下選項中可用做c程序合法實數(shù)的是()。、、
A.3.0e0.2B..1e0C.E9D.9.12E
73.
74.下列關(guān)系運算中,能使經(jīng)運算后得到的新關(guān)系中屬性個數(shù)多于原來關(guān)系中屬性個數(shù)的是()。
A.選擇B.連接C.投影D.并
75.
76.
77.下面程序段的運行結(jié)果是()。
A.8B.12C.4D.7
78.下列關(guān)于數(shù)據(jù)庫設(shè)計的敘述中,正確的是()。
A.在需求分析階段建立數(shù)據(jù)字典
B.在概念設(shè)計階段建立數(shù)據(jù)字典
C.在邏輯設(shè)計階段建立數(shù)據(jù)字典
D.在物理設(shè)計階段建立數(shù)據(jù)字典
79.作為信息處理熱點技術(shù)之一的“多媒體技術(shù)”中的媒體,強調(diào)的是()。
A.存儲媒體B.表現(xiàn)媒體C.傳輸媒體D.感覺媒體
80.下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進行查找的是()。
A.順序存儲的有序線性表B.結(jié)性鏈表C.二叉鏈表D.有序線性鏈表
五、程序改錯題(1題)81.下列給定程序中函數(shù)fun的功能是:將P所指字符串中的所有字符復(fù)制到b中,要求每復(fù)制三個字符之后插入一個空格。
例如,若給a輸入字符串:ABCDEFGKHHK,調(diào)用函數(shù)后,字符數(shù)組b中的內(nèi)容為:ABCDEFGHIJK。請改正程序中的錯誤,使它能得出正確的結(jié)果。
注意:部分源程序在文件MODll.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
六、程序設(shè)計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,編寫函數(shù)fun(),其功能是將s所指字符串中ASCII值為奇數(shù)的字符刪除,將剩余字符形成的新字符串放在t所指數(shù)組中。例如,若s所指字符串中的內(nèi)容為“ABCDEFG12345”,其中字符A的ASCII值為奇數(shù),字符1的ASCII值也為奇數(shù),都應(yīng)當(dāng)刪除,其他依此類推。最后t所指的數(shù)組中的內(nèi)容應(yīng)是“BDF24”。注意:部分源程序給出如下。請勿改動主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:#include<conio.h>#include<stdio.h>#include<string.h>voidfun(char*s,chart[]){}main(){ chars[100],t[100],Msg[]=“Pleaseenterstrings:”; printf(Msg); scanf(“%s”,s); fun(s,t); printf(“\nTheresuitis:%s\n”,t);}
參考答案
1.D結(jié)構(gòu)workers中的成員s是一個嵌套的結(jié)構(gòu)類型定義,因此在給year賦值時,要用“.”運算在深入一層訪問到最基本的成員year,只有D項反映出了這一點。
2.DD選項中將字符串常量“aa”賦給字符變量a是錯誤的。故本題答案為D選項。
3.B
4.D本題主要考查帶參數(shù)的宏定義,過程如下:由于定義為define(x)x*x沒有括號優(yōu)先級,所以:a=a/(S(k+m)/S(k+m))=a/(k+m*k+m/k+m*k+m)=9/(3+2*3+2/3+2*3+2)=0。
5.A解析:觀察題目,可以發(fā)現(xiàn),*p=&aa[0][0]語句實際是將數(shù)組aa的首地址賦給了指針變量p,將i的值帶入for循環(huán)中,i=0時,aa[0][1]=3,*p=2;*p輸出的是指針?biāo)赶虻臄?shù)組值,此時p所指向的是aa[O][0],輸出2,而i=1時執(zhí)行了++p操作使指針向后移動指向了aa[0][1],所以在輸出*p時應(yīng)為3。
6.A由等式的規(guī)則可知,A選項錯誤。先對括號的b進行等式運算,得出b=4,然后計算得出a=4=3,所以會導(dǎo)致錯誤。答案選擇A。
7.D解析:棧是僅在表頭和表尾進行插入和刪除元素操作的線性表,其特點是“先進后出”。本題中,進棧的過程中可以出棧。選項D中,如果第一個出棧的元素為e3,由于入棧順序是e1、e2、e3,那么e3出棧后,棧中元素必定有e1和e2,因為e1先入棧,故e1應(yīng)在e2后出棧,所以選項D是不可能的出棧順序。
8.A由順序、選擇(分支)、循環(huán)3種基本結(jié)構(gòu)構(gòu)成的程序可以解決所有問題,而不只是解決簡單問題,所以A選項錯誤。故本題答案為A選項。
9.Dputchar函數(shù)的功能是輸出一個字符,由whlie判斷條件和ch初始值可知,只要“ch≠‘A’”,執(zhí)行兩次putchar函數(shù),否則跳出循環(huán)。第1次輸出“CD”,第2次輸出“BC”,第3次輸出“A”后跳出循環(huán)。故本題答案為D選項。
10.B
11.B此題考查的是函數(shù)fun,fun(b,c)=5,然后fun(2*a,5)=fun(8,5)=6。
12.B
13.D本題j=要是考查帶參數(shù)的宏的定義,過程如下:inta=a/S(k+m)/S(k+m)=a/(k+m*k+m/k+m)=9/(3十2*3十2/3十2*3十2)=0。
14.B解析:字符串常量是由雙引號括起來的一串字符,其中的雙引號不可缺少。由此可知,選項A)、C)、D)都是含法的字符串常量,而選B)是一個字符常量。
15.B
16.D
17.A結(jié)構(gòu)體PER類型定義了兩個成員:num為整型,date為嵌套的結(jié)構(gòu)體類型。初始化時,成員值的順序必須與成員定義的順序相同,num必須是整數(shù),date必須是用花括號標(biāo)注的嵌套的3個整數(shù)。選項A中,{1001}和{1002}都不是整數(shù),所以選項A錯誤。故本題答案為A選項。
18.D
19.C
\ngetchar函數(shù)是讀取鍵盤的輸入函數(shù),本題中輸入字母“a”,則c=a,判斷if條件,發(fā)現(xiàn)a>=a&&a<=g成立,則執(zhí)行下列語句:C=C+4,C得到的字符的ASCII碼值,退出if語句,通過putchar函數(shù)輸出字符。
20.C\n本題考查switch…ease語句,在本題的程序中,只有在case2:s=s+2;break;,才有break語句,所以當(dāng)s=0時會執(zhí)行s=s+1;s=s+2;,所以s=3,當(dāng)s=3時,會執(zhí)行s=s十3;s=s+4;,所以s=10,依此類推,答案選擇C。
\n
21.關(guān)系關(guān)系解析:關(guān)系模型用;維表表示,則每個;維表代表一種關(guān)系。
22.22132,2,1,3解析:本題考查++,--運算符和條件運算符的使用。
“表達式1?表達式2:表達式3”的功能是:表達式1的值若非0,則計算表達式2的值,且表達式2的值為最終結(jié)果;若表達式1的值為0,則計算表達式3的值,且為最終結(jié)果。
本題中,x=1,y=2時,x<y成立,輸出y的值2;y=2,z=3時,z<y不成立,執(zhí)行y++,輸出2后y值增1,所以最后一個輸出x的值不變?yōu)?,y的值為增加后的3。
23.對象具有5個基本特點:①標(biāo)識唯一性;②分類性;③多態(tài)性;④封裝性;⑤模塊獨立性好。其中,封裝性是指從外面看只能看到對象的外部特征,對象的內(nèi)部特征即處理能力的實行和內(nèi)部狀態(tài),對外是不可見的,對象的內(nèi)部狀態(tài)只能由其自身改變。\r\n\r\n
24.11解析:因為x=4,y=3,所以表達式x<y的值為假(0),又因為z=2,所以0<z的值為真(1),故最終輸出的結(jié)果為1。
25.1515解析:本題首先定義了一個變量x并初始化為20。然后第一個if語句判斷x是否>10,結(jié)果為真,則執(zhí)行后面的輸出語句,輸出結(jié)果是賦值表達式X-=5的值,所以輸出15,同時x的值也變成15。第二個if語句再判斷x是否>15時條件為假,結(jié)束程序。所以程序運行后的輸出結(jié)果是15。
26.a=2b=1a=2,b=1解析:本題考查了switch結(jié)構(gòu)的內(nèi)容。C語言中,程序執(zhí)行完一個case標(biāo)號的內(nèi)容后,如果沒有break語句,控制結(jié)構(gòu)會轉(zhuǎn)移到下一個case繼續(xù)執(zhí)行,因為case常量表達式只是起語句標(biāo)號作用,并不是在該處進行條件判斷。本題程序在執(zhí)行完內(nèi)部switch結(jié)構(gòu)后,繼續(xù)執(zhí)行了外部switch結(jié)構(gòu)的case2分支,最后a和b的值分別為2和1。
27.結(jié)構(gòu)化設(shè)計結(jié)構(gòu)化設(shè)計解析:與結(jié)構(gòu)化需求分析方法相對應(yīng)的是結(jié)構(gòu)化設(shè)計方法。結(jié)構(gòu)化設(shè)計就是采用最佳的可能方法設(shè)計系統(tǒng)的各個組成部分以及各個成分之間的內(nèi)部聯(lián)系的技術(shù)。
28.\0'或0或NULLstr[i]num++或num=num+1或num+=1\\0'或0或NULL\r\nstr[i]\r\nnum++或num=num+1或num+=1解析:觀察題目要求,可以知道以下幾點:①for循環(huán)的結(jié)束條件應(yīng)當(dāng)是:str[i]已是字符串的最后一個字符;②str[i]代表字符串str中的第i+1個字符;③整型變量num的值是要記錄的單詞的個數(shù)。C語言中規(guī)定字符串的最后一個字符是一個隱含的字符串結(jié)束符“\\0”,所以在題中第一個空中應(yīng)填寫“\\0”;題中第二個空應(yīng)填寫“str[i]”,以判斷當(dāng)前位置的字符是否為空格;題中第三個空中應(yīng)當(dāng)填寫“num++”,通過變量num的加1累加得到字符串中的單詞個數(shù)。
29.str+strlen(str)-1str+strlen(str)-1解析:先從main函數(shù)開始看,它先讀入字符串,接下來肯定是要判斷這個字符串是否是回文,冉看huiwen函數(shù),它的主要思想是用p1指向字符串的首地址,p2指向字符串的尾地址(不包括結(jié)束符‘/0‘),將p1左移,p2右移,直到這兩個指針相遇,如果在移動過程中發(fā)現(xiàn)p1!=p2,則該字符串不是回文,否則其是同文。因此。在空中填str+strlen(str)-1。
30.66解析:本題第1個for循環(huán)是為數(shù)組arr元素賦初值。第2個for循環(huán)是分別用i=0,1,2,3給數(shù)組元素arr[0]、arr[1]、arr[2]、arr[3]賦值,再累加到變量k中,k=0+1+2+3=6。
31.>=1或>0i>=1或>0\r\ni解析:程序的外層for循環(huán)控制輸出數(shù)據(jù)的行數(shù),故第一處填“>=1”或“>0”;內(nèi)層循環(huán)控制每行輸出的個數(shù)。在內(nèi)層for循環(huán)中,語句x=(j-1)*4+______;用于控制輸出方陣中的具體數(shù)據(jù),由于這些數(shù)據(jù)與其所在的行、列(j,i)具有x=(j-1)*4+i的關(guān)系,故第二處填i。
32.葉子結(jié)點葉子結(jié)點解析:樹中度為零的結(jié)點,也就是沒有后件的結(jié)點,稱為葉子結(jié)點。
33.算法或程序或流程圖算法或程序或流程圖解析:算法是問題處理方案正確而完整的描述。
34.n/2性表的任何位置插入一個元素的概率相等,即概率為p=1/(n+1),則插入一個元素時所需移動元素的平均次數(shù)為E=1/(n+1)(n-i+1)=n/2。
35.4040解析:本題中指針s1和s2都指向同一個內(nèi)存中的地址。因此語句“*s2=20;”執(zhí)行后,*\u3000s1=*s2=20。所以m最后的值為40。
36.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ù)組當(dāng)前元素,得到a的值應(yīng)為(1,1,2,3,5)。語句if(i%2==0)pfintf('\\n')是要將數(shù)組中的元素以每行2個的形式輸出。
37.關(guān)系模型關(guān)系模型解析:數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層系統(tǒng)管理軟件,是一種系統(tǒng)軟件,是用戶與數(shù)據(jù)庫之間的一個標(biāo)準(zhǔn)接口。其總是基于某種數(shù)據(jù)模型,可以分為層次模型、網(wǎng)狀模型和關(guān)系模型。
38.lett.dat6*sizeof(char)lett.dat6*sizeof(char)解析:本題主要考查函數(shù)fwrite(char*pt,unsignedsize,unsignedn,F(xiàn)ILE*fp),把pt所指向的n*size個字節(jié)輸出到fp所指定的文件中。
39.33解析:分析程序運行過程,第1次循環(huán):s=s+i*i=0+1*1=1,i=2;第2次循環(huán):s=s+i*i=1+2*2=5,i=3;第3次循環(huán):s=s+i*i=5+3*3=14,i=4;循環(huán)條件不成立輸出i,--i使i的值減1,軸出結(jié)果為3。
40.strucklink*nextstrucklink*next解析:結(jié)構(gòu)體變量構(gòu)成鏈表要求結(jié)構(gòu)體中必須有一個指向該結(jié)構(gòu)體變量自身的指針用來指明鏈表的下一個結(jié)點。注意:結(jié)構(gòu)體變量的定義及其成員變量的引用。
41.C解析:C語言中可以使用typedef來重新定義已有的數(shù)據(jù)類型,相當(dāng)于為數(shù)據(jù)類型取個別名。
42.A解析:本題綜合考查字符數(shù)組的賦值和strcpy函數(shù)的用法。C語言不允許用賦值表達式對字符數(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ù)組。
43.C解析:主函數(shù)中定義了一個文件指針fp1,然后通過fopen()函數(shù),以寫的方式打開文件“fl.txt”,并讓指針fp1指向它,接著調(diào)用fpfintf()函數(shù)將“abc”寫到文件fp1所指的文件里,由于開始fp1指向文件的“fl.txt”的開始位置,因此“abc”將把文件“fl.txt”里原來的內(nèi)容“good”覆蓋掉,故文件“fl.txt”里最后的內(nèi)容為“abc”。
44.D解析:本題主要考查結(jié)構(gòu)體變量的定義和應(yīng)用,以及運算符的優(yōu)先級。
45.A解析:在函數(shù)體內(nèi)定義一字符型指針并指向形參,然后遍歷其中各字符直到NULL,最后返回字符串首尾地址的差值,即字符串的長度。
46.B解析:—個函數(shù)可以帶回—個整型值、字符值、實型值等,但也可以帶回指針型數(shù)據(jù),即地址。本題的定義中,包括括號和*號,由于()優(yōu)先級高于*。故它是—個返回整型指針的函數(shù)。
47.C解析:在循環(huán)過程中,i的值一直沒有被改變,所以這是一個死循環(huán)。
48.D解析:選項D)為兩條語句。
49.D解析:所謂的交換類排序方法是指借助數(shù)據(jù)元素之間的互相交換進行排序的一種方法,包括冒泡排序和快速排序,冒泡排序是一種最簡單的交換排序方法,它通過相鄰元素的交換,逐步將線性表變成有序。
50.A解析:“%”是求余運算符或模運算符,“%”兩側(cè)均應(yīng)為整型數(shù)據(jù),選項A)中的x是double型數(shù)據(jù)。
51.AA)【解析】快速排序是起泡排序的改進。在快速排
序中,任取一個記錄,以它為基準(zhǔn)用交換的方法將所有的記錄分成兩部分,關(guān)鍵碼值比它小的在一部分,關(guān)鍵碼值比它火的在另一部分,再分別對兩個部分實施上述過程,一直重復(fù)到排序完成。
52.A在微機中,信息的最小單位為二進制位,用bit來表示;8位二進制構(gòu)成一個字節(jié),用Byte來表示;一個或一個以上字節(jié)可組成一個二進制表示的字,字長可以是8位、16位、32位或64位;兩個字長的字,稱為雙字。故本題正確答案是A\n【考點】科技\n學(xué)科專題(物理、化學(xué)、生物醫(yī)學(xué)、計算機)\n計算機數(shù)據(jù)存儲
53.B解析:選項A定義數(shù)組時省略了長度,而C語言中規(guī)定,只有在定義并同時進行初始化時,數(shù)組的長度才可以省略,數(shù)組的長度為初始化時候的成員個數(shù),故選項A錯誤;在C語言中規(guī)定,數(shù)組的長度必須是一個整數(shù)或整型常量表達式,故選項C不正確:定義時數(shù)組的長度不能使用變量表示,故選項D不正確,所以,4個選項中選項B符合題意。
54.B解析:通常所說的計算機應(yīng)是電子數(shù)字計算機的簡稱。電子數(shù)字計算機是一種能快速、自動進行數(shù)值計算和信息處理的計算工具。其主要特點是:(1)計算機能快速計算;(2)計算機是具有通用性的計算工具;(3)計算機具有高準(zhǔn)確度;(4)計算機具有邏輯判斷能力。
55.D解析:一個C語言的源程序(后綴名為.c)在經(jīng)過編譯器編譯后,先生成一個匯編語言程序,然后由編譯程序再將匯編語言程序翻譯成機器指令程序,即目標(biāo)程序(后綴名為.obj),目標(biāo)程序不可以直接運行,它要和庫函數(shù)或其它目標(biāo)程序連接成可執(zhí)行文件(后綴名為.exe)后方可運行。故本題答案為D)。
56.A解析:題目中定義了一個指針變量r作為形參f()的函數(shù)。在主函數(shù)main()中定義了兩個變量m和r,同時給m賦初值7,調(diào)用函數(shù)f(m,&r)并執(zhí)行,函數(shù)f()通過指針r將最后的值返回。
57.D解析:一個源文件中的外部變量的作用域是從定義該變量的位置開始到本文件結(jié)束。
58.B解析:函數(shù)gets()的調(diào)用形式為gets(str_adr);str_adr是存放字符串的起始地址??梢允亲址麛?shù)組名、字符指針或字符數(shù)組元素的地址。gets函數(shù)用來從終端鍵盤讀入字符串(包括空格符),直到讀入一個換行符為止。換行符讀入后,不作為字符串的內(nèi)容。本題中定義一個長度為10的字符數(shù)組,和一個指針變量b,并且通過賦值讓它指向數(shù)組a。gets函數(shù)的參數(shù)a[0]不能表示數(shù)組a的首地址。
59.A解析:本題考查函數(shù)調(diào)用時的參數(shù)傳遞。函數(shù)的形參是函數(shù)定義時由用戶定義的形式上的變量,實參是函數(shù)調(diào)用時,主調(diào)函數(shù)為被調(diào)函數(shù)提供的原始數(shù)據(jù)。
在函數(shù)調(diào)用時,實參和其所對應(yīng)的形參分別占用不同的存儲單元,彼此之間不影響。
60.C
61.C根據(jù)賦值運算的類型轉(zhuǎn)換規(guī)則,先將double型的常量l.2轉(zhuǎn)換為int型,因為x的類型是int,則X的值為1;執(zhí)行語句y=(K+3.8)/5.0時,即先將整型變量X的值1轉(zhuǎn)換為double型1.0,然后3.8
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 稅務(wù)主管年終個人工作總結(jié)
- 以學(xué)校文化為引領(lǐng)的辦公空間設(shè)計研究
- 企業(yè)創(chuàng)新能力提升的學(xué)術(shù)研討會研究
- 健康教育課程對預(yù)防兒童傳染性疾病的作用
- 創(chuàng)新創(chuàng)業(yè)項目中的政策支持與資源整合
- 2025年大興安嶺貨運從業(yè)資格證模擬考試系統(tǒng)下載
- 創(chuàng)新型農(nóng)產(chǎn)品質(zhì)量安全追溯系統(tǒng)的設(shè)計與實踐
- 2025年貴陽駕駛員貨運從業(yè)資格證模擬考試
- 2025年自貢a2貨運資格證考試題
- 全面解析學(xué)生如何制定科學(xué)健身計劃
- 易制毒化學(xué)品購買申請表申請
- 通用機械設(shè)備管理基礎(chǔ)(共66頁).ppt
- 西方有趣節(jié)日介紹西紅柿節(jié)英文(課堂PPT)
- 綿陽市物業(yè)服務(wù)收費管理實施細則
- 餐飲部每日工作檢查表
- 三年級作文編寫童話故事(課堂PPT)
- 《生命安全教育》體會(徐超)
- 泵類及液體輸送系統(tǒng)節(jié)能監(jiān)測 泵類及液體輸送系統(tǒng)節(jié)能監(jiān)測計算表
- 五年級數(shù)學(xué)上冊《列方程解應(yīng)用題》(課堂PPT)
- 大型商業(yè)綜合體消防安全管理規(guī)則2020年試行
- 視光學(xué)檢查用視標(biāo)及相應(yīng)的提問方式、有效鏡度換算表、視光學(xué)檢查表
評論
0/150
提交評論