




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021-2022年內(nèi)蒙古自治區(qū)通遼市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.算法能正確地實(shí)現(xiàn)預(yù)定功能的特性稱(chēng)為算法的()。
A.正確性B.易讀性C.健壯性D.高效率
2.若一組記錄的排序碼為(46,79,56,38,40,84),則利用快速排序的方法,以第一個(gè)記錄為基準(zhǔn)得到的一次劃分結(jié)果為()
A.38,40,46,56,79,84
B.40,38,46,79,56,84
C.40,38,46,56,79,84
D.40,38,46,84,56,79
3.
4.在C語(yǔ)言中,int、char和short種類(lèi)型數(shù)據(jù)在內(nèi)存中所占用的字節(jié)數(shù)()。
A.由用戶(hù)自己定義B.均為2個(gè)字節(jié)C.是任意的D.由所用機(jī)器的機(jī)器字長(zhǎng)決定
5.判斷char型變量c1是否為小寫(xiě)字母的正確表達(dá)式為()。
A.'a'<=c1<='Z'
B.(c1>=A)‖c1<=z)
C.('a'=>c1‖("z"<=c1)
D.(c1>='a')&&(c1<='z')
6.下列變量聲明合法的是()。
A.shorta=1.4e-1;
B.doubleb=1+3e2.8;
C.longdo=OxfdaL;
D.float2
7.設(shè)有說(shuō)明:charw;intx;f1oaty;doublez;則表達(dá)式w*x+z-y值的數(shù)據(jù)類(lèi)型為()。
A.floatB.charC.intD.double
8.下面程序中算法的時(shí)間復(fù)雜度是()A.O(n)B.O(n^2)C.O(logn)D.O(n*logn)
9.下列敘述中正確的是()。
A.算法的執(zhí)行效率與數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)無(wú)關(guān)
B.算法的空間復(fù)雜度是指算法程序中指令(或語(yǔ)句)的條數(shù)
C.算法的有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止
D.以上3種描述都不對(duì)
10.在具有n個(gè)結(jié)點(diǎn)的單鏈表中,實(shí)現(xiàn)()的操作,其算法的時(shí)間復(fù)雜度是O。
A.求鏈表的第i個(gè)結(jié)點(diǎn)B.在地址為P的結(jié)點(diǎn)之后插入一個(gè)結(jié)點(diǎn)C.刪除表頭結(jié)點(diǎn)D.刪除地址為P的結(jié)點(diǎn)的后繼結(jié)點(diǎn)
11.軟件生命周期是指()。
A.軟件的定義和開(kāi)發(fā)階段
B.軟件的需求分析、設(shè)計(jì)與實(shí)現(xiàn)階段
C.軟件的開(kāi)發(fā)階段
D.軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程
12.一個(gè)遞歸算法必須包括()。
A.遞歸部分B.終止條件和遞歸部分C.迭代部分D.終止條件和迭代部分
13.在一棵高度為5的理想平衡樹(shù)中,至少含有16個(gè)結(jié)點(diǎn),最多含有()個(gè)結(jié)點(diǎn)。
A.31B.32C.30D.33
14.
15.設(shè)無(wú)向圖的頂點(diǎn)數(shù)為n,則該圖最多有()條邊。
A.n-1B.n(n-1)/2C.n(n+1)/2D.0
16.在inta=3,int*p=&a;中,*p的值是()。
A.變量a的地址值B.無(wú)意義C.變量p的地址值D.3
17.以下敘述中正確的是()A.當(dāng)對(duì)文件的讀(寫(xiě)操作完成之后,必須將它關(guān)閉,否則可能導(dǎo)致數(shù)據(jù)丟失
B.打開(kāi)一個(gè)已存在的文件并進(jìn)行了寫(xiě)操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋
C.在一個(gè)程序中當(dāng)對(duì)文件進(jìn)行了寫(xiě)操作后,必須先關(guān)閉該文件然后再打開(kāi),才能讀到第1個(gè)數(shù)據(jù)
D.語(yǔ)言中的文件是流式文件,因此只能順序存取數(shù)據(jù)
18.以下敘述中正確的是()。A.A.當(dāng)對(duì)文件的讀(寫(xiě))操作完成之后,必須將它關(guān)閉,否則可能導(dǎo)致數(shù)據(jù)丟失
B.打開(kāi)一個(gè)已存在的文件并進(jìn)行了寫(xiě)操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋
C.在一個(gè)程序中當(dāng)對(duì)文件進(jìn)行了寫(xiě)操作后,必須先關(guān)閉該文件然后再打開(kāi),才能讀到第1個(gè)數(shù)據(jù)
D.c語(yǔ)言中的文件是流式文件,因此只能順序存取數(shù)據(jù)
19.數(shù)據(jù)的不可分割的基本單位是()。
A.元素B.結(jié)點(diǎn)C.數(shù)據(jù)類(lèi)型D.數(shù)據(jù)項(xiàng)
20.
二、2.填空題(20題)21.以下程序通過(guò)函數(shù)SunFun()調(diào)用F(x),x的值從0到10,這里F(x)=x2+1,由F函數(shù)實(shí)現(xiàn),請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
intSunFun(int);
intF(int);
main()
{pfintf("Thesum=%d\n",SunFun(10));}
SunFun(intn)
{intx,s=0;
for(x=0;x<=n;x++)s+=F(【】);
returns;
F(intx)
{return(【】);}
22.設(shè)y是int型,請(qǐng)寫(xiě)出y為奇數(shù)的關(guān)系表達(dá)式【】。
23.閱讀下列程序,則程序的輸出結(jié)果為【】。
#include"stdio.h"
structty
{intdata;
charc;};
main()
{structtya={30,'x'};
fun(a);
printf("%d%c",a.data,a.c);}
fun(structtyb)
{b.data=20;
b.c='y';}
24.若a=1,b=2,則表達(dá)式!(x=A)‖(y=B)&&0的值是______。
25.下列程序的輸出結(jié)果是【】。
main()
{
inta[]={2,4,6},*prt=&a[0],x=8,y,z;
for(y=0;y<3;y++)
z=(*(ptr+y<x)?*(ptr+y):x;
printf("%d\n",z);
}
26.以下程序的輸出結(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);
}
27.數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式分別為_(kāi)_____模式、內(nèi)部級(jí)模式與外部級(jí)模式。
28.以下程序輸出的結(jié)果是【】。
#include<stdio.h>
main()
{inta=5,b=4,c=3,d;
d=(a>b>c);
printf("%d\n",d);
}
29.有如下圖所示的雙鏈表結(jié)構(gòu),請(qǐng)根據(jù)圖示完成結(jié)構(gòu)體的定義:
structaa
{intdata;
【】}node;
30.以下程序運(yùn)行后的輸出結(jié)果是()。
main()
{inta=3,b=4,c=5,t=99;
if(b<a&&a<C)t=a;a=c;c=t;
if(a<c&&b<C)t=b;b=a;a=t;
printf("%d%d%d\n",a,b,A);
}
31.以下程序的輸出結(jié)果是______。
main()
{chars[]="abcdef";
s[3]='\0';
printf("%s\n",s);
}
32.數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),線性表、棧和隊(duì)列都屬于【】。
33.軟件生命周期包括8個(gè)階段。為了使各時(shí)期的任務(wù)更明確,又可分為3個(gè)時(shí)期:軟件定義期、軟件開(kāi)發(fā)期、軟件維護(hù)期。編碼和測(cè)試屬于【】期。
34.下列程序的輸出結(jié)果是【】。
voidfun(int*n)
{while((*n)--);
printf("%d",++(*n));
}
main()
{inta=1000;
fun(&a);
}
35.在面向?qū)ο蠓椒ㄖ?,?lèi)的實(shí)例稱(chēng)為_(kāi)_____。
36.子程序通常分為兩類(lèi):【】和函數(shù),前者是命令的抽象,后者是為了求值。
37.若從鍵盤(pán)輸入58,則以下程序輸出的結(jié)果是【】。
mam()
{inta;
scanf("%d",&a);
if(a>50)printf("%d",a);
if(a>40)printf("%d",a);
if(a>30)printf("%d",a);
}
38.診斷和改正程序中錯(cuò)誤的工作通常稱(chēng)為【】。
39.以下函數(shù)的功能是【】。
floatav(a,n)
floata[];
intn;
{inti;floats;
for(i=0,s=0;i<n;i++)s=s+a[i];
returns/n;}
40.若有定義inta[4][4]={{1,2,3,4},{0},{4,6,8,10},{1,3,5,7}},則初始化后,a[1][1]得到的初值是______。
三、1.選擇題(20題)41.有以下程序:#include<stdio.h>main(){char*p,*q;p=(char*)malloc(sizeof(char)*20);q=p;scanf("%s%s",p,q);printf("%s%s\n",p,q);}若從鍵盤(pán)輸入;abcdef<回車(chē)>,則輸出結(jié)果是______。
A.defdefB.abcdefC.abedD.dd
42.函數(shù)的值通過(guò)return語(yǔ)句返回,下面關(guān)于return語(yǔ)句的形式描述錯(cuò)誤的是
A.return表達(dá)式;
B.return(表達(dá)式);
C.一個(gè)return語(yǔ)句可以返回多個(gè)函數(shù)值
D.一個(gè)return語(yǔ)句只能返回一個(gè)函數(shù)值
43.待排序的關(guān)鍵碼序列為15,20,9,30,67,65,45,90,要按關(guān)鍵碼值遞增的順序排序,采取簡(jiǎn)單選擇排序法,第一趟排序后關(guān)鍵碼15被放到第()個(gè)位置。
A.2B.3C.4D.5
44.棧和隊(duì)列的共同點(diǎn)是()。
A.都是先進(jìn)后出B.都是先進(jìn)先出C.只允許在端點(diǎn)處插入和刪除元素D.沒(méi)有共同點(diǎn)
45.若有程序fun(inta,intb}{staticintc=0;c+=a+b;returnc;}main(){intx=5,y=3,z=7,r,r=fun(y,x+y),z);r=fun(xy);printf("%d\n",r);}上面程序的輸出結(jié)果是_____。
A.23B.15C.19D.18
46.以下程序的輸出結(jié)果是
#include<stdio.h>
inta[3][3]={1,2,3,4,5,6,7,8,9,},*p;
main()
{p=(int*)malloc(sizeof(int));
f(p,a);
printf("%d\n",*p);
free(p);}
f(int*s,intp[][3])
{*s=p[1][1];}
A.1B.4C.7D.5
47.以下定義語(yǔ)句中正確的是
A.inta=b=0;
B.charA=65+1,b='b';
C.floata=1,*b=&a,*c=&b;
D.doublea=0.0;b=1.1;
48.以下程序段的輸出結(jié)果是______。main(){chars1[10],s2[10],s3[10];scanf("%s",s1);gets(s2);gets(s3);puts(s1);puts(s2);puts(s3);}輸入數(shù)據(jù)如下:(此處<CR>代表回車(chē)符)aaa<CR>bbb<CR>
A.aaabbbB.aaabbbC.aaa\0bbb\0D.aaabbb
49.在結(jié)構(gòu)化程序設(shè)計(jì)中,模塊劃分的原則是()。
A.各模塊應(yīng)包括盡量多的功能
B.各模塊的規(guī)模應(yīng)盡量大
C.各模塊之間的聯(lián)系應(yīng)盡量緊密
D.模塊內(nèi)具有高內(nèi)聚度,模塊間具有低耦合度
50.設(shè)有定義語(yǔ)句int(*f)(int);,則以下敘述正確的是()。
A.f是基類(lèi)型為int的指針變量
B.f是指向函數(shù)的指針變量,該函數(shù)具有一個(gè)int類(lèi)型的形參
C.f是指向int類(lèi)型一維數(shù)組的指針變量
D.f是函數(shù)名,該函數(shù)的返回值是基類(lèi)型為int類(lèi)型的地址
51.若變量均已正確定義并賦值,以下合法的C語(yǔ)言賦值語(yǔ)句是()。
A.x=y==5;B.X=n%2.5:C.x+n=i;D.x=5=4+1:
52.下面程序的輸出結(jié)果是______。#include<string.h>main(){char*p1="abc",*p2="ABC",s[20]="xyz";strcpy(s+1,p2);strcat(s+2,p1);printf("%s\n",s);}
A.xABCabcB.zABCabcC.yzabcABCD.xyzABCabc
53.以下敘述中錯(cuò)誤的是()。
A.可以通過(guò)typedef增加新的類(lèi)型
B.可以用tyPedef將已存在的類(lèi)型用新的名字來(lái)表示
C.用typedef定義新的類(lèi)型名后,原有類(lèi)型名仍有效
D.用tyPedcf可以為各種類(lèi)型起別名,但不能為變量起別名
54.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是()。
A.程序的規(guī)模B.程序的效率C.程序設(shè)計(jì)語(yǔ)言的先進(jìn)性D.程序的易讀性
55.算法的空間復(fù)雜度是指()。
A.算法程序的長(zhǎng)度B.算法程序中的指令條數(shù)C.算法程序所占的存儲(chǔ)空間D.算法執(zhí)行過(guò)程中所需要的存儲(chǔ)空間
56.下列有關(guān)數(shù)據(jù)庫(kù)的描述,正確的是A.數(shù)據(jù)處理是將信息轉(zhuǎn)化為數(shù)據(jù)的過(guò)程
B.數(shù)據(jù)的物理獨(dú)立性是指當(dāng)數(shù)據(jù)的邏輯結(jié)構(gòu)改變時(shí),數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)不變
C.關(guān)系中的每一列稱(chēng)為元組,一個(gè)元組就是一個(gè)字段
D.如果一個(gè)關(guān)系中的屬性或?qū)傩越M并非該關(guān)系的關(guān)鍵字,但它是另一個(gè)關(guān)系的關(guān)鍵字,則稱(chēng)其為本關(guān)系的外關(guān)鍵字
57.若有定義inta[2][3];,則對(duì)a數(shù)組的第i行第j列(假調(diào)i,j已正確說(shuō)明并賦值)元素值的正確引用為
A.*(*(a+i)+j)B.(a+i)[j]C.*(a+i+j)D.*(a+i)+j
58.以下程序的輸出結(jié)果是main(){inta=0,i;for(i=1;i<5i++){switch(i){case0:case3:a+=2;case1:case2:a+=3;default:a+=5;}printf("%d\n",A);}
A.31B.13C.10D.20
59.若有如下程序段,其中s、a、b、c均已定義為整型變量,且a、c均已賦值(c大于0)s=a;for(b=1;b<=c;b++)s=s+1;則與上述程序段功能等價(jià)的賦值語(yǔ)句是()。
A.s=a+b;B.s=a+c;C.s=s+c;D.s=b+c;
60.下列敘述中,正確的是
A.用E-R圖能夠表示實(shí)體集間一對(duì)一的聯(lián)系、一對(duì)多的聯(lián)系和多對(duì)多的聯(lián)系
B.用E-R圖只能表示實(shí)體集之間一對(duì)一的聯(lián)系
C.用E-R圖只能表示實(shí)體集之間一對(duì)多的聯(lián)系
D.用E-R圖表示的概念數(shù)據(jù)模型只能轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型
四、選擇題(20題)61.在黑盒測(cè)試方法中,設(shè)計(jì)測(cè)試用例的主要根據(jù)是()。
A.程序內(nèi)部邏輯B.程序外部功能C.程序數(shù)據(jù)結(jié)構(gòu)D.程序流程圖
62.
63.
64.以下定義語(yǔ)句中正確的是()。
A.
B.
C.
D.
65.
66.下列函數(shù)的類(lèi)型是()。fun(doublex){floaty;y=3*x-4;returny;}
A.intB.不確定C.voidD.float
67.
68.若二維數(shù)組a有m列,則在a[i][j]前的元素個(gè)數(shù)為()。
A.i*m+j-1B.i*m+jC.J*m+iD.i*m+j+1
69.以下敘述正確的是()。A.C語(yǔ)言函數(shù)可以嵌套調(diào)用,例如:fun(fun(x))
B.C語(yǔ)言程序是由過(guò)程和函數(shù)組成的
C.c語(yǔ)言函數(shù)不可以單獨(dú)編譯
D.c語(yǔ)言中除了main函數(shù),其他函數(shù)不可作為單獨(dú)文件形式存在
70.有以下程序
inta=2;
intf(int*a)
{
return(*a)++;
}
main()
{
ints=0;
{
inta=5;
s+=f(&a);
}
s+=f(&a);
printf("%d\n",s);
}
執(zhí)行后的輸出結(jié)果是
A.10B.9
C.7D.8
71.有以下程序程序運(yùn)行后的輸出結(jié)果是(.)。
A.-3,-1,1,3,B.-12,一3,0,0C.0,1,2,3,D.一3,-3,一3,一3,
72.以下與存儲(chǔ)類(lèi)別有關(guān)的四組說(shuō)明符中,全部屬于靜態(tài)類(lèi)的一組是()。
A.extem和static
B.auto和static
C.register和static
D.register和ex[erll
73.有以下程序:
程序執(zhí)行后的輸出結(jié)果是()。
A.y=一1B.Y=0C.y=1D.while構(gòu)成無(wú)限循環(huán)
74.若有以下定義:chara;intb;floatc;doubled;則表達(dá)式a*b+b-c值的類(lèi)型為()。A.floatB.intC.charD.double
75.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指
A.存儲(chǔ)在外存中的數(shù)據(jù)B.?dāng)?shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式
C.?dāng)?shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示D.?dāng)?shù)據(jù)所占的存儲(chǔ)空間量
76.設(shè)有定義:
則a和b的值分別是()。
A.87和6.0B.876和543.0C.87和543.0D.76和543.0
77.有以下程序程序運(yùn)行后的輸出結(jié)果是()
A.1,3,3B.1,3.2C.1,2,3D.3,2,1.
78.c源程序中不能表示的數(shù)制是()。
A.二進(jìn)制B.八進(jìn)制C.十進(jìn)制D.十六進(jìn)制
79.#define能作簡(jiǎn)單的替代,用宏來(lái)替代計(jì)算多項(xiàng)式5*x*x+5*x+5的值的函數(shù)f,正確的宏定義語(yǔ)句為()。
A.#definef(x)5*x*x+5*x+5
B.#definef5*X*x+5*x+5
C.#definef(a)(5*a*a+5*a+5)
D.#define(5*x*x+5*x+5)f(x)
80.下面程序的輸出結(jié)果是()。
#inclde<stdio.h>
#defineSUB(X,Y)(X)*Y
main()
{inta=3,b=4;
printf("%d\n",SUB(a++,b++));
}
A.12B.15C.16D.20
五、程序改錯(cuò)題(1題)81.寫(xiě)出下列程序的運(yùn)行結(jié)果。
main
{intn;
For(n=3;n<=10;n++)
{if(n%6==0)break;Printf(“%d”,n);}}
六、程序設(shè)計(jì)題(1題)82.實(shí)現(xiàn)字符串拷貝的函數(shù)strcpy為()。
參考答案
1.A
2.C
3.B
4.D
5.D解析:C語(yǔ)言規(guī)定,字符常量在程序中要用單引號(hào)括起來(lái)。判斷c1是否為小寫(xiě)字母的充要條件c1>='a'和c1<='z',用邏輯與(&&)來(lái)表示。A選項(xiàng)的這種形式在C語(yǔ)言中沒(méi)有,所以選項(xiàng)D)正確.
6.A解析:解答本題需了解3個(gè)知識(shí)點(diǎn):①標(biāo)識(shí)符是由字母、數(shù)字或下劃線組成,并且它的第一個(gè)字符必須是字母或者下劃線;②do是C語(yǔ)言中的一個(gè)關(guān)鍵字,不能再用做變量名和函數(shù)名;③C語(yǔ)言規(guī)定,指數(shù)形式的實(shí)型常量e或E后面的指數(shù)必須是整數(shù)。
7.D
8.C
9.C在程序設(shè)計(jì)中,算法執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)密切相關(guān)。算法的空間復(fù)雜度是指算法執(zhí)行過(guò)程中所需存儲(chǔ)空間。
10.A
11.D通常把軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用、維護(hù)到停止使用、退役的過(guò)程稱(chēng)為軟件生命周期。選項(xiàng)A、B、C選項(xiàng)均為生命周期的一部分。故選D選項(xiàng)。
12.B
13.A
14.B
15.B
16.D
17.AB)選項(xiàng)中打開(kāi)一個(gè)已存在的文件并進(jìn)行了寫(xiě)操作后,原有文件中的全部數(shù)據(jù)不一定被覆蓋,也可以對(duì)源文件進(jìn)行追加操作等。C)選項(xiàng)中在一個(gè)程序中當(dāng)對(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ě)。
18.AB)選項(xiàng)中打開(kāi)一個(gè)已存在的文件并進(jìn)行了寫(xiě)操作后,原有文件中的全部數(shù)據(jù)不一定被覆蓋,也可以對(duì)源文件進(jìn)行追加操作等。c)選項(xiàng)中在一個(gè)程序中當(dāng)對(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)。
19.D
20.B
21.xx*x+1x\r\nx*x+1解析:本題考查函數(shù)的調(diào)用。P(x)的含義為x的平方加1,所以第一處應(yīng)填x;第二處應(yīng)填x*x+1。
22.y%2==1y%2==1解析:由關(guān)系運(yùn)算符組成的表達(dá)式稱(chēng)為關(guān)系表達(dá)式。判斷2除y的余數(shù)是否為1,即可判斷y是否為奇數(shù)。
23.30x30x解析:本題的參數(shù)傳遞屬于值傳遞,所以函數(shù)內(nèi)不能改變調(diào)用函數(shù)中的數(shù)據(jù)。
24.00解析:根據(jù)運(yùn)算符的運(yùn)算順序可知,該表達(dá)式最后運(yùn)算的是與(&&)運(yùn)算,而任何表達(dá)式與“0”進(jìn)行“與”運(yùn)算,結(jié)果都為0。
25.66解析:條件運(yùn)算符的優(yōu)先級(jí)高于賦值運(yùn)算符,因此本題先計(jì)算關(guān)系個(gè)表達(dá)式(*ptr+y)<x)?(ptr+y):x的值,再賦紿變量z,當(dāng)y=O時(shí),*(ptr+y)=2,而x=8,(*(ptr+y)<x)條件為真,則整個(gè)條件表達(dá)式的值為*(pry)=2,所以z=2;當(dāng)y=1時(shí)*(ptr+y)=4,(*(ptr+y)<x)條件為真,則整個(gè)條件表達(dá)式的值為*(ptr+y)=4,所以z=4;當(dāng)y=2時(shí),*(ptr+y)=6,*((ptr+y)<x)條件為真,則整個(gè)條件表達(dá)式的值為*(ptr+y)=6,所以z=6;循環(huán)結(jié)束。因此輸出z的結(jié)果為6。
26.4040解析:本題中指針s1和s2都指向同一個(gè)內(nèi)存中的地址。因此語(yǔ)句“*s2=20;”執(zhí)行后,*\u3000s1=*s2=20。所以m最后的值為40。
27.概念(或概念級(jí))概念(或概念級(jí))
28.00解析:在本題中,d=(a>b>c);相當(dāng)于d=(5>4>3);其計(jì)算過(guò)程為:先算5>4,結(jié)果為真,得1,即d=(1>3);然后計(jì)算1>3,結(jié)果為假,得0。
29.structaa*lhead*rchild;structaa*lhead,*rchild;解析:結(jié)構(gòu)體對(duì)鏈表的定義。
30.45994599解析:a、b、c的初值為3、4、5,t的初值為99,if語(yǔ)句的條件“b<a&&b<c”為假,不執(zhí)行“t=a;”,但緊隨其后的“a=c;c=t;”與此if語(yǔ)句無(wú)關(guān),仍被執(zhí)行。此時(shí)a的值為5,b的值仍是4,c的值為99。再執(zhí)行第二個(gè)if語(yǔ)句,由于此時(shí)“a<c&&b<c”為真,執(zhí)行“t=b;”,緊隨其后的“b=a;a=t;”與此if語(yǔ)句無(wú)關(guān),也被執(zhí)行。此時(shí)a的值為4,b的值是5,c的值為99。因此輸出結(jié)果是:4599。
31.abcabc解析:字符串的結(jié)束標(biāo)記'\\0',當(dāng)輸出一個(gè)存放在字符數(shù)組中的字符串時(shí),只需輸出到'\\0'為止,而不管其后有什么數(shù)據(jù)。本題給字符數(shù)組s的元素s[3]賦值為'\\0',故只能輸出3個(gè)字符“abc”。
32.線性結(jié)構(gòu)線性結(jié)構(gòu)解析:本題考查了數(shù)據(jù)結(jié)構(gòu)的基本概念。與棧類(lèi)似,隊(duì)列也是線性表,可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),所以帶鏈的隊(duì)列屬于線性結(jié)構(gòu)。
33.軟件開(kāi)發(fā)軟件開(kāi)發(fā)解析:軟件生命周期可以分為3個(gè)時(shí)期:軟件定義期,包括問(wèn)題定義、可行性研究和需求分析3個(gè)階段;軟件開(kāi)發(fā)期,包括系統(tǒng)設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和測(cè)試4個(gè)階段;軟件維護(hù)期,即運(yùn)行維護(hù)階段。編碼和測(cè)試屬于軟件開(kāi)發(fā)階段。
34.00解析:while循環(huán)的條件為即當(dāng)*n非零時(shí)執(zhí)行循環(huán),(*n)一是先使用*n的值再對(duì)*n減1,結(jié)束while循環(huán)后*n的值為-1。++(*n)是先對(duì)*n加1再使用*n的值,-1+1=0,輸出*n的值即輸出0。
35.對(duì)象對(duì)象解析:類(lèi)描述的是具有相似性質(zhì)的一組對(duì)象。例如,每本具體的書(shū)是一個(gè)對(duì)象,而這些具體的書(shū)都有共同的性質(zhì),它們都屬于更一般的概念“書(shū)”這一類(lèi)對(duì)象。一個(gè)具體對(duì)象稱(chēng)為類(lèi)的實(shí)例。
36.過(guò)程過(guò)程
37.585858585858解析:在程序小,執(zhí)行scanf()語(yǔ)句后,a被賦值為58。接著執(zhí)行第一個(gè)if語(yǔ)句,因?yàn)?,a=58>50,執(zhí)行第一個(gè)if語(yǔ)句后面的輸出語(yǔ)句,輸出58;接著執(zhí)行第二個(gè)if語(yǔ)句,因?yàn)椋琣=58>40,執(zhí)行第二個(gè)if語(yǔ)句后面的輸出語(yǔ)句,輸出58;接著執(zhí)行第三個(gè)if語(yǔ)句,因?yàn)?,a=58>30,執(zhí)行第三個(gè)if語(yǔ)句后面的輸出語(yǔ)句,輸出58,所以最后的輸出為585858。
38.程序調(diào)試程序調(diào)試解析:程序調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤。程序調(diào)試與軟件測(cè)試不同,軟件測(cè)試是盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤。先要發(fā)現(xiàn)軟件的錯(cuò)誤,然后借助于調(diào)試工具找出軟件錯(cuò)誤的具體位置。軟件測(cè)試貫穿整個(gè)軟件生命期,而調(diào)試主要在開(kāi)發(fā)階段。
39.求出數(shù)組元素平均值求出數(shù)組元素平均值解析:函數(shù)有一個(gè)數(shù)組形參a和一個(gè)整型形參n。函數(shù)首先用循環(huán)求數(shù)組a的前n個(gè)元素和,然后將和除以n。即求數(shù)組元素的平均值。
40.00解析:二維數(shù)組可以看成是按矩陣形式排列的,題目中給二維數(shù)組賦初值是按行分段賦值的,a[4][4]可以分解為4個(gè)一維數(shù)組,其數(shù)組名分別為a[0]、a[1]、a[2]、a[3],這4個(gè)一維數(shù)組都有4個(gè)元素,a[0]的元素為a[0][0]、a[0][1]、a[0][2]、a[0][3]。
41.A解析:本題考查%s控制符在scanf函數(shù)中的應(yīng)用。scanf函數(shù)中%s控制符的作用是將鍵盤(pán)輸入的字符串送到內(nèi)存,輸入的字符串從第一個(gè)非空格字符算起,遇到空格或回車(chē)就認(rèn)為是輸入結(jié)束。本題中執(zhí)行語(yǔ)句scanf('%s%s',p,q)時(shí),從鍵盤(pán)輸入abcdef<回車(chē)>后,指針變量p指向字符串'abc\\0',q指向字符串'def\\0',但是由于p和q指向同一個(gè)存儲(chǔ)單元,所以存儲(chǔ)單元中存放的是'def\\0',printf函數(shù)的輸出結(jié)果為defdef。
42.C解析:return語(yǔ)句中的表達(dá)式的值就是所求的函數(shù)值,此表達(dá)式值的類(lèi)型必須與函數(shù)首部所說(shuō)明的類(lèi)型一致。如果類(lèi)型不一致,則以函數(shù)值的類(lèi)型為準(zhǔn),由系統(tǒng)自動(dòng)進(jìn)行轉(zhuǎn)換。一個(gè)return語(yǔ)句只能返回一個(gè)值。
43.A解析:選擇排序的基本思想是掃描整個(gè)線性表,從中選出最小的元素,將它交換到表的最前面,然后對(duì)剩下的子表采用同樣的方法,直到子表為空。所以第一趟排序后,將選出最小的元素9放在第一個(gè)位置,元素15則放在第二個(gè)位置。
44.C棧和隊(duì)列都是一種特殊的操作受限的線性表,只允許在端點(diǎn)處進(jìn)行插入和刪除。二者的區(qū)別是:棧只允許在表的一端進(jìn)行插入或刪除操作,是一種“后進(jìn)先出”的線性表;而隊(duì)列只允許在表的一端進(jìn)行插入操作,在另一端進(jìn)行刪除操作,是一種“先進(jìn)先出”的線性表:本題答案為C)。
45.A解析:static聲明的外部變量只限于彼本文件引用,而不能被其他文件引用。用static來(lái)聲明一個(gè)變量的作用有:①對(duì)局部變量用static聲明,則為該變量分配的空間在整個(gè)程序執(zhí)行期間始終存在;②全部變量用static聲明,則該變量的作用域只限于本文件模塊(即被聲明的文件中)。調(diào)用第一個(gè)fun,其兩個(gè)實(shí)參的值為(3,5+3)與7即8與7,在函數(shù)fun執(zhí)行結(jié)束返回15。第二次調(diào)用fun時(shí),由于static為靜態(tài)類(lèi)型,其值保留,執(zhí)行fun(5,3)后,其返回值為23,故選A。
46.D解析:本題考查了二維數(shù)組元素引用的方法。題中用動(dòng)態(tài)存儲(chǔ)分配函數(shù)malloc分配了一個(gè)int型數(shù)據(jù)長(zhǎng)度大小的內(nèi)存,然后指針p指向了這段內(nèi)存,函數(shù)f()中對(duì)p所指向的數(shù)據(jù)進(jìn)行了賦值,p[1][1]為二維數(shù)組第二行第二列的元素,對(duì)應(yīng)于實(shí)參a的元素5,所以輸出結(jié)果為5。
47.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ò)誤。
48.B解析:scanf是標(biāo)準(zhǔn)輸入函數(shù),在輸入字符串a(chǎn)aa時(shí),實(shí)際的內(nèi)容為“aaa\\0”,“\\0”是由系統(tǒng)自動(dòng)加入的:gets的功能是從終端讀入一行字符,即一直讀到換行符為止,并由系統(tǒng)自動(dòng)以“/0”代替換行符。
49.D解析:本題考查軟件工程中軟件設(shè)計(jì)的概念和原理。人們?cè)陂_(kāi)發(fā)計(jì)算機(jī)軟件的長(zhǎng)期實(shí)踐中積累了豐富的經(jīng)驗(yàn),總結(jié)這些經(jīng)驗(yàn)得到如下的啟發(fā)式規(guī)則:
(1)改進(jìn)軟件結(jié)構(gòu),提高模塊獨(dú)立性;通過(guò)模塊的分解或合并,力求降低耦合提高內(nèi)聚。低耦合也就是降低不同模塊間相互依賴(lài)的緊密程度,高內(nèi)聚是提高一個(gè)模塊內(nèi)各元素彼此結(jié)合的緊密程度。
(2)模塊的規(guī)模應(yīng)適中。一個(gè)模塊的規(guī)模不應(yīng)過(guò)大,過(guò)大的模塊往往是由于分解不夠充分:過(guò)小的模塊開(kāi)銷(xiāo)大于有益操作,而且模塊過(guò)多將使系統(tǒng)接口復(fù)雜。因此過(guò)小的模塊有時(shí)不值得單獨(dú)存在。
(3)模塊的功能應(yīng)該可以預(yù)測(cè),但也要防止模塊功能過(guò)分局限。如果模塊包含的功能太多,則不能體現(xiàn)模塊化設(shè)計(jì)的特點(diǎn):如果模塊的功能過(guò)分的局限,使用范圍就過(guò)分狹窄。
經(jīng)過(guò)上述分析,本題的正確答案是選項(xiàng)D。
50.B本題考查的是指向函數(shù)的指針。語(yǔ)句“int(*f)(int);”是對(duì)一個(gè)函數(shù)的聲明,其中f是指向該函數(shù)的指針,該函數(shù)有一個(gè)整型的參數(shù),函數(shù)返回值類(lèi)型為整型。故答案選B)。
51.AB選項(xiàng)中運(yùn)算符“%”的運(yùn)算對(duì)象為整數(shù)。C選項(xiàng)中不能將變量賦給表達(dá)式“x+n”。D選項(xiàng)中不能將表達(dá)式“4+1”賦給常量5。故本題答案為A選項(xiàng)。
52.A解析:strcpy(s+1,p2)是字符串復(fù)制,s中的內(nèi)容變?yōu)?xABC',strcat(s+2,p1)是字符串連接(s的內(nèi)容已不是初始化的內(nèi)容,而是復(fù)制之后的內(nèi)容),結(jié)果為'xABCabc'。
53.A解析:選項(xiàng)A)錯(cuò)誤,原因是typedef可以聲明新的類(lèi)型名來(lái)代替已有的類(lèi)型名,但卻不能增加新的類(lèi)型。
54.D解析:程序不僅是編寫(xiě)完就結(jié)束了,為了測(cè)試和維護(hù)程序,往往還有其他人閱讀和跟蹤程序,因此程序設(shè)計(jì)的風(fēng)格應(yīng)該強(qiáng)調(diào)簡(jiǎn)單和清晰,即程序的易讀性,“清晰第一,效率第二”。
55.D【解析】算法的空間復(fù)雜度是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。一個(gè)算法所占用的存儲(chǔ)空間包括算法程序所占的空間、輸入的初始數(shù)據(jù)所占的存儲(chǔ)空間以及算法執(zhí)行中所需要的額外空間。其中額外空間包括算法程序執(zhí)行過(guò)程中的工作單元以及某種數(shù)據(jù)結(jié)構(gòu)所需要的附加存儲(chǔ)空間。如果額外空間量相對(duì)于問(wèn)題規(guī)模來(lái)說(shuō)是常數(shù),則稱(chēng)該算法是原地工作的。在許多實(shí)際問(wèn)題中,為了減少算法所占的存儲(chǔ)空間,通常采用壓縮存儲(chǔ)技術(shù),以便盡量減少不必要的額外空間。
56.D數(shù)據(jù)處理是指將數(shù)據(jù)轉(zhuǎn)換成信息的過(guò)程,故選項(xiàng)A敘述錯(cuò)誤。數(shù)據(jù)的物理獨(dú)立性是指數(shù)據(jù)的物理結(jié)構(gòu)的改變,不會(huì)影響數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),故選項(xiàng)B敘述錯(cuò)誤。關(guān)系中的行稱(chēng)為元組,對(duì)應(yīng)存儲(chǔ)文件中的記錄,關(guān)系中的列稱(chēng)為屬性,對(duì)應(yīng)存儲(chǔ)文件中的字段,故選項(xiàng)C敘述錯(cuò)誤。所以本題選D。
57.A解析:本題考查了二維數(shù)組元素的引用方法。選項(xiàng)A中a+i指向了數(shù)組a的第i+1行,*(a+i)則是第i+1行第0列的地址值,*(a+i)+j指向了數(shù)組a第i+1行,j+1列,*(*(a+i)+j)取到的是數(shù)組a的a[i][j]元素。
58.A解析:本題考核的知識(shí)點(diǎn)是for語(yǔ)句與switch語(yǔ)句地綜合運(yùn)用。switch語(yǔ)句的執(zhí)行過(guò)程是:在switch后面的表達(dá)式的值和case后面常量表達(dá)式的值吻合時(shí),就執(zhí)行該case分支的語(yǔ)句。如果在該語(yǔ)句的后面沒(méi)有break語(yǔ)句,則按順序繼續(xù)執(zhí)行下一個(gè)case分支,直到遇到break語(yǔ)句或switch多分支語(yǔ)句結(jié)束,在switch語(yǔ)句中,break語(yǔ)句的作用是使流程跳出switch結(jié)構(gòu),終止switch語(yǔ)句的執(zhí)行.在本題中,因?yàn)槊總€(gè)case語(yǔ)句后面都沒(méi)有break語(yǔ)句,所以,第一輪循環(huán)(i==1)執(zhí)行過(guò)后a的值為8,第2輪(i==2)執(zhí)行過(guò)后a的值為16,第3輪(i==3)執(zhí)行過(guò)后a的值為26,第4輪(i==4)執(zhí)行過(guò)后a的值為31,然后執(zhí)行“i++”語(yǔ)句,這時(shí)循環(huán)條件為假,循環(huán)結(jié)束.所以,4個(gè)選項(xiàng)中A為所選。
59.B解析:本題考核的知識(shí)點(diǎn)是for循環(huán)次數(shù)的計(jì)算.本程序中for循環(huán)的次數(shù)為c-1+1共循環(huán)了c次,而每循環(huán)一次s的值加1,所以s的值為s+c.而最開(kāi)始s的值為a,故4個(gè)選項(xiàng)中選項(xiàng)B符合題意.
60.A解析:兩個(gè)實(shí)體之間的聯(lián)系實(shí)際上是實(shí)體集間的函數(shù)關(guān)系,這種函數(shù)關(guān)系可以有下面幾種,即一對(duì)一的聯(lián)系、一對(duì)多(或多對(duì)一)的聯(lián)系和多對(duì)多的聯(lián)系;概念模型便于向各種模型轉(zhuǎn)換。由于概念模型不依賴(lài)于具體的數(shù)據(jù)庫(kù)管理系統(tǒng),因此,容易向關(guān)系模型、網(wǎng)狀模型和層次模型等各種模型轉(zhuǎn)換。
61.B黑盒測(cè)試法指的是根據(jù)程序的外部功能,把程序本身看成一個(gè)黑盒子,設(shè)計(jì)測(cè)試用例來(lái)驗(yàn)證程序外部功能的正確性。
62.A
63.D
64.C解析:選項(xiàng)A中兩個(gè)變量的定義應(yīng)當(dāng)以逗號(hào)隔開(kāi);選項(xiàng)B中a和b應(yīng)當(dāng)分開(kāi)賦值;選項(xiàng)D中變量類(lèi)型不相匹配,b應(yīng)當(dāng)是指針型變量。
65.D
66.A本題考查函數(shù)值的類(lèi)型。在函數(shù)調(diào)用時(shí),盡管Y的類(lèi)型是float.x的類(lèi)型是double,但是因?yàn)楹瘮?shù)定義時(shí)沒(méi)有指定類(lèi)型說(shuō)明,系統(tǒng)默認(rèn)函數(shù)值的類(lèi)型為int型,所以計(jì)算后Y的類(lèi)型是int型。
67.A
68.B解析:二維數(shù)組的元素可以看成是按矩陣形式存放的,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)校供餐服務(wù)合同(3篇)
- 駕駛員聘用合同(28篇)
- 夫妻起草離婚協(xié)議書(shū)
- 房地產(chǎn)交易合同書(shū)
- 印刷品采購(gòu)合同
- 人工智能與教育融合合作協(xié)議
- 建設(shè)工程轉(zhuǎn)讓合同
- 合伙入股協(xié)議書(shū)分紅
- 體育行業(yè)智能賽事管理與運(yùn)動(dòng)訓(xùn)練方案
- 基于大數(shù)據(jù)分析的企業(yè)決策支持系統(tǒng)合作協(xié)議
- 2024年4月重慶公務(wù)員考試申論真題及答案解析
- 2024年長(zhǎng)沙電力職業(yè)技術(shù)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
- 2024年南京科技職業(yè)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
- 懷念戰(zhàn)友混聲四部合唱譜
- 操作流程及方法1
- 云計(jì)算部門(mén)KPI設(shè)計(jì)
- 初中物理新課程標(biāo)準(zhǔn)2023全解
- 智慧工廠計(jì)劃總結(jié)匯報(bào)
- 小學(xué)信息科技五年級(jí)下冊(cè) 教案 1-3“數(shù)學(xué)計(jì)算小能手”單元教學(xué)設(shè)計(jì)
- 醫(yī)療器械經(jīng)營(yíng)基礎(chǔ)知識(shí)培訓(xùn)合規(guī)指南
- 新產(chǎn)品研發(fā)(開(kāi)發(fā))項(xiàng)目管理培訓(xùn)教材
評(píng)論
0/150
提交評(píng)論