




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2022年遼寧省錦州市全國計算機等級考試C語言程序設(shè)計真題(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.若一組記錄的排序碼為(7,9,3,5,1,2,10),則利用堆排序的方法建立的初始堆為()
A.10,7,9,3,5,1,2
B.10,9,7,5,1,2,3
C.10,9,7,5,3,2,1
D.10,9,7,3,2,1,5
2.向一個棧頂指針為HS的鏈式棧中插入一個s所指的結(jié)點時,則執(zhí)行()。
A.HS->next=s
B.S->next=HS->nextHS->next=s
C.s->next=HSHS=s
D.S->next=HSHS=HS->next
3.有以下程序:main{inti,n=0:for(i=2;i<5;i++){do{if(i%3)continue:n++:}while(!i);n++:}printf("n=%d\n",n);}程序執(zhí)行后輸出結(jié)果是()。A.n=5B.n=2C.n=3D.n=4
4.以下說法正確的是()。
A.C程序總是從第一個函數(shù)開始執(zhí)行
B.在C程序中,被調(diào)用的函數(shù)必須在main函數(shù)中定義
C.C程序總是從main函數(shù)開始執(zhí)行
D.C程序中的main函數(shù)必須放在程序的開始部分
5.若x=10010111,則表達式(3+(int)(x))&(~3)的運算結(jié)果是()。
A.10011000B.10001100C.10101000D.10110000
6.以下敘述中錯誤的是()。
A.使用三種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡單問題
B.結(jié)構(gòu)化程序由順序、分支、循環(huán)三種基本結(jié)構(gòu)組成
C.C語言是-種結(jié)構(gòu)化程序設(shè)計語言
D.結(jié)構(gòu)化程序設(shè)計提倡模塊化的設(shè)計方法
7.當變量c的值不為2、4、6時,值為“真”的表達式是()。
A.(c>=2&&c<=6)&&(c%2!=1)
B.(c==2)||(c==4)||(c==6)
C.(c>=2&&c<=6)&&!(c%2)
D.(c>=2&&c<=6)||(c!=3)||(c!=5)
8.已知a、b、c為整型變量,若從鍵盤輸入5<空格>6<空格>7<回車>,使a的值為5,b的值為6,c的值為7,則下列選項中正確的輸入語句是()。
A.scanf("%3d%3d%3d",a,b,C);
B.scanf("%d%d%d",a,b,C);
C.scanf("%d%d%d",&a,&b,&c);
D.scanf("%d%d%d",&a,&b,&c);
9.設(shè)有定義“struct{charmark[12];intnum1;doublenum2;}t1,t2;”,若變量均已正確賦初值,則下列語句中錯誤的是()。
A.t1=t2;
B.t2.num1=t1.num1;
C.t2.mark=t1.mark;
D.t2.num2=t1.num2;
10.若已知一個棧的進棧序列是l,2,3…n,其輸出序列是P1,P2,P3,…PN,若P1=3,則P2為()。
A.可能是2B.一定是2C.可能是1D.一定是1
11.現(xiàn)有如下程序段#include"stdio.h"main(){inta[5][6]={23,3,65,21,6,78,28;5,67,25,435,76,8,22,45,7,8,34,6,78,32,4,5,67,4,21,1};inti=0,j=5;printf("%d\n",*(&a[0][0]+2*i+j-2));}則程序的輸出結(jié)果為
A.21B.78C.23D.28
12.以下語句中,正確制作電子郵件鏈接的是()。
13.下列描述中不正確的是()。
A.字符型數(shù)組中可能存放字符串。
B.可以對字符型數(shù)組進行整體輸入、輸出。
C.可以對整型數(shù)組進行整體輸入、輸出。
D.不能在賦值語句中通過賦值運算符“=”對字符型數(shù)組進行整體賦值。
14.數(shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS、數(shù)據(jù)庫管理系統(tǒng)DBMS之間的關(guān)系是()。
A.DB包括DBS和DBMSB.DBMS包括DB和DBSC.DBS包括DB和DBMSD.沒有任何關(guān)系
15.該程序試圖通過指針p為變量n讀入數(shù)據(jù)并輸出,但程序有多處錯誤,以下語句正確的是()#includeMain(){intn,*p=NULL;*p=&n;printf("Inputn:");scanf("%d",&p);print("outputn:");print("%d\n",p);A.intn,*p=NULL;
B.*p=&n;
C.scanf("%d",&p)
D.printf("%d\n",p);
16.有以下程序:#includeMain(){Int?x=1.y=0;if(!x)y++;elsef(x==0)if(x)y+=2;else?y+=3;printf("%d\n",y);\}程序運行后的輸出結(jié)果是()。A.3B.2C.1D.0
17.若文件指針fp已正確指向文件,ch為字符型變量,以下不能把字符輸出到文件中的語句是()。
A.fget(f0,ch);
B.foutc(ch,fo);
C.fprinff(fp,”%c”,ch);
D.fwrite(&ch,sizeof(ch),1,fp);
18.
19.以下選項中能用作數(shù)據(jù)常量的是()。
A.115LB.0118C.1.5e1.5D.o115
20.對于順序存儲的線性表,訪問結(jié)點和增加、刪除結(jié)點的時間復(fù)雜度為()。
A.O(n)O(n)B.O(n)O(1)C.O(1)O(n)D.O(1)O(1)
二、2.填空題(20題)21.在對文件進行操作的過程中,若要是文件位置的指針回到文件的開頭,應(yīng)使用的函數(shù)是【】。
22.冒泡排序算法在最好的情況下的元素交換次數(shù)為【】。
23.以下程序運行后的輸出結(jié)果是()。
main()
{intx,a=1,b=2,c=3,d=4;
{intx,a=1,b=2,c=3,d=4;
x=(a<B)?a:b;x=(a<C)?x:C;x=(d>x)?x:d;
printf("%d\n",x);
}
24.數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它通常包括5個部分,即數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、______和處理過程。
25.若有以下程序
main()
{chara;
a='H'-'A'+'0';
printf("%c\n",a);
}
執(zhí)行后輸出的結(jié)果是______。
26.在C語言中,while和do…while循環(huán)的主要區(qū)別是______的循環(huán)至少被執(zhí)行一次。
27.問題處理方案的正確而完整的描述稱為______。
28.mystrlen函數(shù)的功能是計算str所指字符串的長度,并作為函數(shù)值返回。請?zhí)羁铡?/p>
intmystrlen(char*str)
{inti;
for(i=0;【】!='\0';i++);
return(【】);
}
29.【】(黑箱或白箱)測試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征。
30.若x為int類型,請寫出與!x等價的C語言表達式______。
31.在宏定義#definePI3.14159中,用宏名PI代替一個______。
32.下面的語句要使指針p指向一個double類型的動態(tài)存儲單元,請?zhí)羁铡?/p>
p=【】malloc(sizeof(double));
33.下述函數(shù)用于統(tǒng)計一行字符中的單詞個數(shù),單詞之間用空格分隔。
wordnum(str)
charstr[];
{inti,num=0,word=0;
for(i=0;str[i]!=【】;i++)
if(【】==)word=0;
elseif(word==0)
{
word=1;
【】;
}
return(num);
}
34.數(shù)據(jù)庫設(shè)計分為以下6個設(shè)計階段:需求分析階段、______、邏輯設(shè)計階段、物理設(shè)計階段、實施階段、運行和維護階段。
35.以下程序的運行結(jié)果是【】。
#include<stdio.h>
main()
{FILE*fp;inta[10]={1,2,3,0,0},i;
fp=fopen("d2.dat","wb");
fwtite(a,sizeof(int),5,fp);
fwrite(a,sizeof(int),5,fp);
fclose(fp);
fp=fopen("d2.dat","rb");
fread(a,sizeof(int),10,fp);
fclose(fp);
for(i=0;i<10;i++)printf("%d",a[i]);
}
36.下列程序的字符串中各單詞之間有一個空格,則程序的輸出結(jié)果是【】。
#include<stdio.h>
#include<string.h>
main()
{charstr1[]="Howdoyoudo",*p1=str1;
strcpy(str1+strlen(str1)/2,"esshe");
printf("%s\n",p1);
}
37.若有如下程序:
main()
{intx=4;y=3,Z=2,t;
t=x<y<z;
printf("%d\n",t);
}
則程序運行后的輸出結(jié)果是【】。
38.在一棵二叉樹中,度為0的結(jié)點的個數(shù)為n0,度為2的結(jié)點的個數(shù)為n2,則有n0=【】。
39.設(shè)在主函數(shù)中有以下定義和函數(shù)調(diào)用語句,且fun函數(shù)為void類型;請寫出fun函數(shù)的首部【】(要求形參名為b)。main(){doubles[10][22];intn;……fun(s);……}
40.當數(shù)據(jù)的物理結(jié)構(gòu)(存儲結(jié)構(gòu))改變時,不影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),從而不致引起應(yīng)用程序的變化,這是指數(shù)據(jù)的_______。
以下程序的輸出結(jié)果是#include<stdio.h>voidprt(int*x,int*y,int*z){printf("%d,%d,%d\n",++*x,++*y,*(z++));}main(){inta=10,b=40,c=20;prt(&a,&b,&c);prr(&a,&b,&c);}
三、1.選擇題(20題)41.對長度為n的線性表進行順序查找,在最壞情況下需要比較的次數(shù)為()。
A.125B.n/2C.nD.n+1
42.下列二維數(shù)組初始化語句中,不正確的是()。
A.intb[][5]={2,9,6,0,8,7,4};
B.intb[3][5]={0,0,9}
C.intb[][4]={{3,9},{7,6,8},{2}};
D.intb[3)[2]={(8,4),(2,1),(5,9)};
43.已知字母A的ASCⅡ碼為十進制數(shù)65,下面程序的輸出結(jié)果是()main(){charch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}
A.67,DB.B,CC.C,DD.不確定的值
44.有以下程序voidswap(char*x,char*y){chart;t=*x;*X=*y;*y=t;}main(){char*s1:"abc",*s2="123";swap(s1,s2);printf("%s,%s\n",s1,s2);}程序執(zhí)行后的輸出結(jié)果是
A.123,abcB.abc,123C.1bc,a23D.321,cba
45.一個良好的算法由下面的基本結(jié)構(gòu)組成,但不包括______。
A.順序結(jié)構(gòu)B.選擇結(jié)構(gòu)C.循環(huán)結(jié)構(gòu)D.跳轉(zhuǎn)結(jié)構(gòu)
46.假設(shè)a和b為int型變量,則執(zhí)行以下語句后,b的值為______。a=1;b=10;do{b-=a;a++;}while(b--<0);
A.9B.-2C.-1D.8
47.在計算機中,算法是指()。
A.查詢方法B.加工方法C.解題方案的準確而完整的描述D.排序方法
48.設(shè)有以下語句:typedefstructS{intg;charh;}T;則下面敘述中正確的是()。
A.可以用S定義結(jié)構(gòu)體變量B.可以用T定義結(jié)構(gòu)體變量C.S是struct類型的變量D.T是stnictS類型的變量
49.結(jié)構(gòu)化程序設(shè)計的一種基本方法是()
A.篩選法B.遞歸法C.歸納法D.逐步求精法
50.在C語言程序中,下列說法正確的是()。
A.函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套
B.函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套
C.函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套
D.函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套
51.堆排序是一種()排序。
A.插入B.選擇C.交換D.歸并
52.在面向?qū)ο蟮某绦蛟O(shè)計中,下列敘述中錯誤的是()。
A.對象是面向?qū)ο筌浖幕灸K
B.對象不是獨立存在的實體,各個對象之間有關(guān)聯(lián),彼此依賴
C.下一層次的對象可以繼承上—層次對象的某些屬性
D.同樣的消息被不同對象接受時,可導(dǎo)致完全不同的行動
53.下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進行查找的是()。
A.順序存儲的有序線性表B.線性鏈表C.二叉鏈表D.有序線性鏈表
54.下面各語句行中,能正確進行賦值字符串操作的語句是()
A.charst[4][5]={"ABCDE"};
B.chars[5]={'A','B','C','D','E'}
C.char*s;s="ABCDE";
D.char*s;scanf(”%s”,s);
55.下列選項中不符合良好程序設(shè)計風格的是A.源程序要文檔化B.數(shù)據(jù)說明的次序要規(guī)范化C.避免濫用goto語句D.模塊設(shè)計要保證高耦合、高內(nèi)聚
56.設(shè)有以下語句charx=3,y=6,z;z=x^y<<2;則z的二進制值是
A.10100B.11011C.11100D.11000
57.結(jié)構(gòu)化程序設(shè)計的基本原則不包括A.多態(tài)性B.自頂向下C.模塊化D.逐步求精
58.以下敘述中錯誤的是()。
A.C語言源程序經(jīng)編譯后生成后綴為.obj的目標程序
B.C程序經(jīng)過編譯、連接步驟后才能形成一個真正可執(zhí)行的二進制機器指令文件
C.用C語言編寫的程序稱為源程序,它以ASCⅡ代碼形式存放在一個文本文件中
D.C語言中的每條可執(zhí)行語句和非執(zhí)行語句最終都將被轉(zhuǎn)換成二進制的機器指令
59.設(shè)有以下說明語句structex{intX;floaty;charz;}example;則下面的敘述中不正確的是
A.struct結(jié)構(gòu)體類型的關(guān)鍵字
B.example是結(jié)構(gòu)體類型名
C.x,y,z都是結(jié)構(gòu)體成員名
D.structex是結(jié)構(gòu)體類型名
60.判斷char型變量c1是否為大寫字母的正確表達式是
A.'A'<=c1<='Z'
B.(c1>=A)&&(c1<=Z)
C.('A'>=c1)‖('Z'<=c1)
D.(c1>='A')&&(c1<='Z')
四、選擇題(20題)61.有三個關(guān)系R,S和T如下:
其中關(guān)系T由關(guān)系R和s通過某種操作得到,該操作為()。
A.選擇B.交C.投影D.并
62.有以下程序:
程序運行后的輸出結(jié)果是()。
A.4B.34C.31D.32
63.以下結(jié)構(gòu)體類型說明和變量定義中正確的是()。
64.
65.
66.
67.有以下程序
main()
{chara[]={’a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’\0’};
inti,j;
i=sizeof(a);
j=strlen(a);
printf("%d,%d\b",i,j);
}
程序運行后的輸出結(jié)果是
A.9,9B.8,9C.1,8D.9,8
68.
69.
70.
71.若有定義語句:“intkl一10,k2=20;”,執(zhí)行表達式(kl=kl>k2)(k2=k2>
k1)后,kl和k2的值分別為()。
A.0和1B.0和20C.10和1D.10和20
72.有以下程序:
voidmain()
{intk=10,n=0;
for(;n<k;)
{//n++;
if(n++%3!=0)continue;
k--;}
printf("%d,%d\n",k,n);
}
程序運行后的輸出結(jié)果是()。
A.7,7B.6,6C.3,3D.4,4
73.有以下程序
74.下列關(guān)于數(shù)據(jù)流圖的描述正確的是()。
A.數(shù)據(jù)流圖是描述數(shù)據(jù)處理過程的工具
B.數(shù)據(jù)流圖間接支持系統(tǒng)的功能建模
C.數(shù)據(jù)流圖中帶箭頭的線段表示控制流
D.數(shù)據(jù)流圖是軟件詳細設(shè)計的工具
75.
76.設(shè)有程序段:intk=12:while(k=1)k=k一1;則下列描述中正確的是()。A.while循環(huán)執(zhí)行10次B.循環(huán)是無限循環(huán)C.循環(huán)體語句一次也不執(zhí)行D.循環(huán)體語句執(zhí)行一次
77.以下選項中,能用作用戶標識符的是()。
A.-0-B.8-;8C.voidD.unsigned
78.有以下函數(shù):
以下關(guān)于aaa函數(shù)功能敘述正確的是()。
A.將串s復(fù)制到串tB.比較兩個串的大小C.求字符串s的長度D.求字符串s所占字節(jié)數(shù)
79.Internet使用的網(wǎng)絡(luò)協(xié)議是()。
A.3CP協(xié)議B.TCP/IP協(xié)議C.UDP協(xié)議D.IP協(xié)議
80.
下列程序的運行結(jié)果是()。
main
{intx=1,y=3,a=0;
while(x++!=(y-=l))
{a+=1;
if(y<x)break;
}
printf("%d,%d,%d\n",x,y,a);
}
A.2,3,2B.2,3,1C.1,3,3D.3,1,2
五、程序改錯題(1題)81.下列給定的程序中,proc()函數(shù)的功能是:將str所指字符串中每個單詞的最后一個字母改成大寫(這里的“單詞”是指有空格隔開的字符串)。
例如,若輸人:Howdoyoudo,則輸出:HoWdOyoUd0。
請修改程序中的錯誤,使它能得出正確的結(jié)果。
注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,編寫函數(shù)fun(),其功能是根據(jù)以下公式求π的值(要求精度0.0005,即某項小于0.0005時停止迭代)。程序運行后,若輸入精度0.0005,則程序應(yīng)輸出為3.140578。注意:部分源程序給出如下。請勿改動主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:#include<stdio.h>#include<conio.h>#include<math.h>doublefun(doubleeps){}voidmain(){ doublex; printf(“Inputeps:”); scanf(“%lf”,&x); printf(“\neps=%lf,PI=%lf\n”,x,fun(x));}
參考答案
1.B
2.C
3.Dcontinue語句的作用是結(jié)束本次循環(huán),即跳過本次循環(huán)體中余下尚未執(zhí)行的語句,接著再一次進行循環(huán)的條件判定。
4.C解析:C程序是由main函數(shù)開始運行,通過main函數(shù)調(diào)用其他函數(shù),所以,選項A)錯誤;在C程序中,函數(shù)不能嵌套定義,即不能在一個函數(shù)中定義另一個函數(shù),選項B)錯;C程序總是從main函數(shù)開始執(zhí)行,但main函數(shù)不必放在最前面,故選項D)錯。
5.A解析:本題主要考查運算表達式的運算。3+(int)(x)的結(jié)果是10011010,~3的結(jié)果是11111100,二者邏輯與得10011000。
6.A使用順序,選擇(分支),循環(huán)三種基本結(jié)構(gòu)構(gòu)成的程序可以解決所有問題,而不只是解決簡單問題,所以A錯誤。
7.D邏輯或運算中只要有一個運算量為真,結(jié)果就為真。當“c>=2&&c<=6”條件不成立時,c的值肯定不是2、3、4、5、6,“c!=3”與“c!=5”均成立,所以D選項的結(jié)果一定為真。故本題答案為D選項。
8.C解析:通過scanf()函數(shù)從鍵盤讀入數(shù)據(jù)時,接收參數(shù)的使用變量的地址值,所以選項A和B是錯誤的。選項D要求輸入時以逗號間隔,故按題目要求的輸入方式不能正確讀取到3個數(shù),也是錯誤的。所以正確答案是C。
9.Cmark為結(jié)構(gòu)體中的數(shù)組,不能直接賦值,所以C選項錯誤。故本題答案為C選項。
10.A
11.A解析:通過地址來引用二維數(shù)組,若有以下定義:inta[3][4],i,j;且當0≤i≤3,0≤j<4則可以有以下幾種方式來引用數(shù)組中的第i行,第j列的元素:\ue008a[i][j]\ue009,\ue008*(a[i]+j),\ue009*(*(a+i)+j),(*(a+i))[j],*(&a[0][0]+4*i+j)。表達式&a[0][0]+2*i+j-2相當于是地址&a[0][0]加上多少偏移量。
12.C
13.C
14.CC。【解析】數(shù)據(jù)庫系統(tǒng)(DBS)由數(shù)據(jù)庫(DBS)、數(shù)據(jù)庫管理系統(tǒng)(DBMS)、數(shù)據(jù)庫管理員、硬件平臺和軟件平臺五個部分組成,可見DB和DBMS都是DBS的組成部分。
15.A選項B)的正確寫法應(yīng)為p=&n;選項C)的正確寫法應(yīng)為scanf("%d",p);選項D)的正確寫法應(yīng)為print("%d\\n",*p)。
16.D[解析]在ifelse語句中else,總是與離它最近的配對。本題目中x為1所以!勸0.所以執(zhí)行elsei語句中的內(nèi)容,判斷(x==0)是否成立,因為勸1所以條件不成立,所以else內(nèi)部的if..else語句不再執(zhí)行,所以y的值還是初始值0.
17.A函數(shù)fgete()從文件讀入一個字符到指定變量。函數(shù)fputc()將指定字符寫入審文件中,函數(shù)fprinff(),fwrite()均是寫入文件操作函數(shù)。因此選項B,c。D錯誤。答案為A選項。
18.D
19.AA選項中“115L”表示長整型數(shù)據(jù)。B選項是八進制常量的表示方法,但是在八進制中不能含有數(shù)字8,所以B選項錯誤。C選項中e后面應(yīng)該是整數(shù),而不能是小數(shù)1.5,所以C選項錯誤。D選項中八進制常量應(yīng)該是以數(shù)字“0”開始,而不是以字母“o”開始。故本題答案為A選項。
20.C
21.rewind函數(shù)rewind函數(shù)解析:rewind函數(shù)的功能是使文件的位置指針回到文件的開頭。
22.0
23.11解析:條件運算表達式:“表達式1?表達式2:表達式3”,但表達式1的值為非0時,此時表達式2的值就是整個條件表達式的值,反之為表示式3的值。解析易知結(jié)果為1。
24.數(shù)據(jù)存儲數(shù)據(jù)存儲
25.77解析:本題考核的知識點是字符類型變量的運算。字符型數(shù)據(jù)可作為整型參加算術(shù)運算,其值為其對應(yīng)的ASCII碼。'H'-'A'的結(jié)果是7,加'0'后是'7'的ASCII碼,所以輸出的是字符'7'。
26.do…whiledo…while解析:考查while和do…while循環(huán)的主要區(qū)別。while循環(huán)的控制出現(xiàn)在循環(huán)體之前,只有當while后面的表達式的值為非零時,才可能執(zhí)行循環(huán)體;在do…while構(gòu)成的循環(huán)體中,總是先執(zhí)行一次循環(huán)體,然后再求表達式的值,因此無論表達式的值是否為零,循環(huán)體至少要被執(zhí)行一次。
27.算法或程序或流程圖算法或程序或流程圖解析:算法是問題處理方案正確而完整的描述。
28.str[i]或str+iistr[i]或str+i\r\ni
29.黑箱黑箱解析:本題考查了軟件測試中的黑箱測試。黑箱測試是根據(jù)程序規(guī)格說明所規(guī)定的功能來設(shè)計測試用例,它不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程。常用的黑箱測試技術(shù)分為等價類劃分、邊界分析、錯誤猜測以及因果圖等。
30.x==0x==0解析:!x的邏輯意思就是x為非,即x==0。
31.字符串字符串解析:本題考查字符替換格式:#define標識符字符串。
32.(double*)(double*)解析:本題考查強制類型轉(zhuǎn)換。函數(shù)malloc的默認返回是void*,若要使指針指向double類型,必須進行類型轉(zhuǎn)換,類型轉(zhuǎn)換格式為:(數(shù)據(jù)類型*)。
33.\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)當是:str[i]已是字符串的最后一個字符;
②str[i]代表字符串sb中的第i+1個字符:
③整型變量num的值是要記錄的單詞的個數(shù)。
C語言中規(guī)定字符串的最后一個字符是一個隱含的字符串結(jié)束符“\\0”,所以在題中第一個空中應(yīng)填寫“\\0”;題中第二個空應(yīng)填寫“str[i]”,以判斷當前位置的字符是否為空格;題中第二個空中應(yīng)當填寫“num++”,通過變量num的加1累加得到字符串中的單詞個數(shù)。
34.概念設(shè)計階段(數(shù)據(jù)庫概念設(shè)計階段)概念設(shè)計階段(數(shù)據(jù)庫概念設(shè)計階段)
35.12300123001,2,3,0,0,1,2,3,0,0,解析:本題考查文件讀寫函數(shù)fread和fwrite的用法。fwrite函數(shù)將數(shù)組a的前5個元素輸出到文件fp中兩次,共10個字節(jié),再調(diào)用fread函數(shù)從文件fp中讀取這10個字節(jié)的數(shù)據(jù)到數(shù)組a中,此時數(shù)組a的內(nèi)容就變?yōu)閧1,2,3,0,0,1,2,3,0,0},最后的輸出結(jié)果為'1,2,3,0,0,1,2,3,0,0,'。
36.HowdoessheHowdoesshe解析:程序中的strlen(str1)是求str1字符串的長度,結(jié)果為13,然后除以2結(jié)果為6。strcpy函數(shù)是把字符串“esshe”拷貝到str1后的第6個字符后面,也就是說,拷貝后的結(jié)果是“Howdoesshe”。
37.11解析:因為x=4,y=3,所以表達式x<y的值為假(0),又因為z=2,所以0<z的值為真(1),故最終輸出的結(jié)果為1。
38.n2+1
39.
40.B
41.CC。【解析】對線性表進行順序查找時,從表中的第一個元素開始,將給定的值與表中逐個元素的關(guān)鍵字進行比較,直到兩者相符,查找到所要找的元素為止。在最壞情況下,要查找的元素是表的最后一個元素或查找失敗,這兩種情況都需要將這個元素與表中的所有元素進行比較,因此比較次數(shù)為n。
42.D解析:選項D)定義的是3行2列的數(shù)組,賦值時應(yīng)該用“{}”而不是“()”來對每一行的數(shù)組元素進行賦值。注意:二維數(shù)組元素的引用。
43.A
44.C解析:這是一個轉(zhuǎn)換程序:低字節(jié)相互轉(zhuǎn)換,高字節(jié)不變。“abe”的ab和“123”的12相互轉(zhuǎn)化。
45.D解析:1966年,Bohra和Jacopini提出了以下三種結(jié)構(gòu),用這三咱基本結(jié)構(gòu)作為表示一個良好算法的基本單元:1、順序結(jié)構(gòu);2、選擇結(jié)構(gòu);3、循環(huán)結(jié)構(gòu)。
46.D解析:本題程序第一輪循環(huán)后b的值為9,在進行循環(huán)條件測試時,先取b的現(xiàn)值9與0比較,然后再將b減1。由于9<0不成立,因此循環(huán)結(jié)束,這時b的值已變成8,本題正確答案為D。
47.CC?!窘馕觥坑嬎銠C算法是指解題方案的準確而完整的描述,它的基本特征分別是:可行性、確定性、有窮性和擁有足夠的情報。
48.B解析:本題使用typedef關(guān)鍵字將整個結(jié)構(gòu)體的定義部分stmctS{intg;charh;}聲明為別名T。此時T是一個結(jié)構(gòu)體類型,可以直接使用T聲明該結(jié)構(gòu)體變量,而S只是一個結(jié)構(gòu)體名,必須結(jié)合struct關(guān)鍵字才能聲明變量。故本題的正確答案為B。
49.D解析:在結(jié)構(gòu)化程序設(shè)計中,通常采取自頂向下、逐步求精的方法,尤其是在詳細設(shè)計和編碼階段,其總的思想就是先全局后局部、先整體后細節(jié)、先抽象后具體、程序自頂向下、逐步細化。而篩選法、遞歸法和歸納法指的都是程序的某種具體算法。逐步求精法是結(jié)構(gòu)化程序設(shè)計中很重要的思想,一定要牢記!
50.B解析:本題考查函數(shù)調(diào)用的基本概念。因為函數(shù)的結(jié)果是個未知量,而函數(shù)定義時不能使用未知量,所以函數(shù)定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套。
51.B解析:堆排序是一種選擇排序。選擇排序有直接選擇排序和堆排序兩種。
52.B解析:在面向?qū)ο蟮某绦蛟O(shè)計中,一個對象是一個可以獨立存在的實體。各個對象之間相對獨立,相互依賴性小。所以,選項B錯誤,應(yīng)為本題的正確答案。
53.A\r\n二分法又叫折半(對分)查找法,只適合于順序存儲的有序表(是指線性表中的元素按值非遞減排列)。二分法的基本思想是:設(shè)有序線性表的長度為n,被查元素為X,則二分查找的方法如下:
將X與線性表的中間項進行比較:若中間項的值等于x,則說明找到,查找結(jié)束;若x小于中間項的值,則在線性表的前半部分(即中間項以前的部分)以相同的方法進行查找;若X大于中間項的值,則在線性表的后半部分(即中間項以后的部分)以相同的方法進行查找、這個過程-直進行到查找成功或于表長度為0,(說明線性表中沒有這個元素為止)順序存儲的線性袁在計算機中-般用一個-維數(shù)組來表示,在數(shù)組中我們可以通過數(shù)組名和下標來對數(shù)組中的任意一個元素進行訪問,而在鏈表(不管是有序還是無序)中,要對元素進行訪問必須從表頭結(jié)點開始,順著鏈條一個一個結(jié)點進行搜索,因此選項A正確
54.C
55.D解析:編程風格是在不影響性能的前提下,有效地編排和組織程序,以提高可讀性和可維護性。更直接地說,風格就是意味著要按照規(guī)則進行編程。這些規(guī)則包括:(1)程序文檔化。就是程序文檔包含恰當?shù)臉俗R符、適當?shù)淖⒔夂统绦虻囊曈X組織等。(2)數(shù)據(jù)說明。出于閱讀理解和維護的需要,最好使模塊前的說明語句次序規(guī)范化。此外,為方便查找,在每個說明語句的說明符后,數(shù)據(jù)名應(yīng)按照字典順序排列。(3)功能模塊化。即把源程序代碼按照功能劃分為低耦合、高內(nèi)聚的模塊。(4)注意goto語句的使用。合理使用goto語句可以提高代碼的運行效率,但goto語句的使用會破壞程序的結(jié)構(gòu)特性。因此,除非確實需要,否則最好不使用goto語句。因此,本題的正確答案是D。
56.B解析:本題考查兩個位運算符。按位異或運算符“”’是雙目運算符,其功能是參與運算的兩數(shù)各對應(yīng)的二進位相異或,當兩對應(yīng)的二進位相異或時,結(jié)果為1。左移運算符“<<”是雙目運算符,其功能把“<<”左邊的運算數(shù)的各二進位全部左移若干位,由“<<”右邊的數(shù)指定移動的位數(shù),高位丟棄,低位補0,并且“<<”運算符的優(yōu)先級于“^”。
57.A結(jié)構(gòu)化程序設(shè)計方法的主要原則可以概括為:自頂向下,逐步求精,模塊化和限制使用GOTO語句,其中不包括多態(tài)性。
58.D解析:C語言程序編譯時,每條可執(zhí)行語句將轉(zhuǎn)換為二進制的機器指令,非執(zhí)行語句如注釋語句等不被編譯。
59.B解析:本題中,structex是結(jié)構(gòu)體類型名,ex-ample是結(jié)構(gòu)體變量名。
60.D
61.D\n兩個相同結(jié)構(gòu)關(guān)系的并是由屬于這兩個關(guān)系的元組組成的集合。
\n
62.C本題重點考察二維數(shù)組名作為實參進行參數(shù)傳遞,在主函數(shù)中調(diào)用了fun函數(shù),實參為二維數(shù)組名a和兩個整數(shù)4.0,這樣對應(yīng)定義fun函數(shù)首部有三種形式,這里采用了第一種形式——行指針,這樣在fun函數(shù)對s[i][j]進行操作實際上就是對主函數(shù)中的a[i][j]進行操作,再分析fun函數(shù)的作用便可知,是求二維數(shù)組第0列中最大的那個元素。因此C選項正確。
63.B本題考查結(jié)構(gòu)體的相關(guān)知識,選項A中structREC后面不能有分號,C選項中typedefstructREC的后面也不能有分號,選項D中REC已經(jīng)是結(jié)構(gòu)體變量,不能當做結(jié)構(gòu)體類型來使用。
64.C
65.D
66.A
67.D在本題中,程序首先定義一個字符數(shù)組,并對其進行了初始化,在初始化的最后添加了一個字符串結(jié)束標志,
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 旅游景區(qū)開發(fā)經(jīng)營權(quán)轉(zhuǎn)讓合同
- 物聯(lián)網(wǎng)技術(shù)在農(nóng)業(yè)智能設(shè)備中的合作協(xié)議
- 城市交通基礎(chǔ)設(shè)施建設(shè)合同
- 廠房施工承包合同
- 別墅工程勞務(wù)承包合同
- 電線電纜項目供貨合同
- 醫(yī)院專業(yè)技術(shù)人員進修學習協(xié)議書
- 承包建設(shè)房屋合同書
- 電子商務(wù)平臺服務(wù)與商家合作協(xié)議
- 碳排放權(quán)交易主協(xié)議
- 雪鐵龍云逸C4說明書
- 《健美操裁判法》課件
- 2022輸變電工程建設(shè)安全管理規(guī)定
- 酒精性肝硬化伴食管胃底靜脈曲張破裂出血的護理查房
- 無人機巡檢方案完整版
- 備課專業(yè)化讀書分享課件
- 《爆破作業(yè)單位許可證》申請表
- Link 16協(xié)議開發(fā)和關(guān)鍵技術(shù)研究的開題報告
- 人教版二年級數(shù)學下冊教材分析
- 激素性白內(nèi)障的健康宣教
- 市政道路雨、污水管道工程施工技術(shù)課件
評論
0/150
提交評論