一選擇(1-10 21-40)每題2分,(11-20)每題1分,共70分)
1.下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是( )
A循環(huán)列隊(duì) B帶鏈列隊(duì) C二叉樹 D帶鏈棧
2.下列數(shù)據(jù)結(jié)構(gòu)中,能夠按照“先進(jìn)后出”原則存取數(shù)據(jù)的是( )
A 循環(huán)列隊(duì) B 棧 C 隊(duì)列 D二叉樹( )
3.對(duì)于循環(huán)隊(duì)列,下列敘述中正確的是( )
A隊(duì)頭指針是固定不變的 B對(duì)頭指針一定大于對(duì)尾指針
C對(duì)頭指針一定大于對(duì)尾指針
D對(duì)頭指針可以大于隊(duì)尾指針,也可以小于對(duì)尾指針
4.算法的空間復(fù)雜度是指( )
A算法在執(zhí)行過(guò)程中所需要的計(jì)算機(jī)存儲(chǔ)空間
B算法所處理的數(shù)據(jù)量 C算法程序中的語(yǔ)句或指令條數(shù)
D算法在執(zhí)行過(guò)程中所需要的臨時(shí)工作單位數(shù)
5.軟件設(shè)計(jì)中劃分模塊的一個(gè)準(zhǔn)則是( )
A低內(nèi)聚低耦合 B高內(nèi)聚低耦合 C低內(nèi)聚高耦合D高內(nèi)聚高耦合
6.下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)原則的是( )
A可封裝 B自頂向下 C模塊化 D逐步求精
7.軟件詳細(xì)設(shè)計(jì)產(chǎn)生的圖如下:
Y N
A N-S圖BPAD圖 C程序流程 圖 DE-R圖
8.?dāng)?shù)據(jù)庫(kù)管理系統(tǒng)是( )
A操作系統(tǒng)的一部分B在操作系統(tǒng)支持下的系統(tǒng)軟件
C一種編譯系統(tǒng) D一種操作系統(tǒng)
9.在E-R圖中,用來(lái)表示實(shí)體聯(lián)系的圖形是( )
A橢圓形 B矩形 C菱形 D三角形
10.有三個(gè)關(guān)系 R,S,T,如下:
R S T
A B C
a 1 2
b 2 1
C 3 1
A B C
d 3 2
A B C
A 1 2
B 2 1
C 3 1
D 3 2
其中關(guān)系T由關(guān)系R和S通過(guò)某種
操作得到,該操作為( )
A選擇 B投影 C交 D并
11.以下敘述中正確的是( )
A程序設(shè)計(jì)的任務(wù)就是編寫程序代碼并上機(jī)調(diào)試
B程序設(shè)計(jì)的任務(wù)就是確定所用數(shù)據(jù)結(jié)構(gòu)
C程序設(shè)計(jì)的任務(wù)就是確定所用算法
D以上三種說(shuō)法都不完整
12.以下選項(xiàng)中,能用作用戶標(biāo)識(shí)符的是( )
A void B 8-8 C -0- D unsigned
13.閱讀以下程序:
#include <stdio.h>
main()
{ int case ;float printf;
printf(“請(qǐng)輸入2個(gè)數(shù)”);
scanf(“%d %f”,&case,&printf);
printf(“%d %f\n”,case,printf);
}
該程序在編譯時(shí)產(chǎn)生錯(cuò)誤,其出錯(cuò)原因是( )
A定義語(yǔ)句出錯(cuò),case是關(guān)鍵字,不能用作用戶自定義標(biāo)識(shí)符
B定義語(yǔ)句出錯(cuò),printf不能用作用戶自定義標(biāo)識(shí)符
C定義語(yǔ)句無(wú)錯(cuò),scanf不能作為輸入函數(shù)使用
D定義語(yǔ)句無(wú)錯(cuò),printf不能輸出case的值
14.表達(dá)式:(int)((double)9/2)-(9)%2的值是( )
A 0 B 3 C 4 D 5
15.若有定義語(yǔ)句:int x=10;則表達(dá)式x-=x+x的值為( )
A -20 B -10 C 0 D 10
16.有以下程序
#include <stdio.h>
main()
{ int a=1,b=0;
printf(“%d”,b=a+b);
printf(“%d\n”,a=2*b);
}
程序運(yùn)行后的輸出結(jié)果是( )
A 0,0 B 1,0 C 3,2 D 1,2
17.沒(méi)有定義:int a=1,b=2,c=3;以下語(yǔ)句中執(zhí)行結(jié)果與其它三個(gè)不同的是( )
Aif(a>b)c=a,a=b,b=c; B if(a>b){c=a,a=b,b=c;}
C if(a>b)c=a;a=b;b=c; D if(a>b){c=a;a=b;b=c;}
18.有以下程序
#include <stdio.h>
main()
{ int c=0 ,k;
for (k=1;k<3;k++)
switch (k)
{default:c+=k;
case 2:c++;break;
case 4:c+=2;break;
}
printf(“%d\n”,c);
}
程序運(yùn)行后的輸出結(jié)果是( )
A 3 B 5 C 7 D 9
19.以下程序段中,與語(yǔ)句:k=a>b(b>c?1;0):0;功能相同的是( )
Aif((a>b)&&(b>c))k=1; B if((a>b)\\(b>c))k=1;
else k=0; else k=0;
C if(a<=b)k=0; Dif(a>b) k=1;
else if(b<=c)k=1; else if(b>c) k=1;
else k=0;
20.有以下程序
#include <stdio.h>
main()
{char s[]=(“012xy”); int I,n=0;
for (i=0;s[i]!=0;i++)
if(s[i]>=’a’&&s[i]<=’z’)n++;
printf(“%d\n”,n);
}
程序運(yùn)行后的輸出結(jié)果是( )
A 0 B 2 C 3 D 5
21.有以下程序
#include <stdio.h>
main()
{int n=2,k=0;
while(k++&&n++>2);
printf(“%d %d\n”,k,n);
}
程序運(yùn)行后的輸出結(jié)果是( )
A 0 2 B 1 3 C 5 7 D 1 2
22.有以下定義語(yǔ)句,編譯時(shí)會(huì)出現(xiàn)編譯錯(cuò)誤的是( )
A char a=’a ’ B char a=’\n’; C char a=’aa’; D char a=’\x2d’;
23.有以下程序
#include <stdio.h>
main()
{char c1,c2;
c1=’A’+’8’-‘4’;
c2=’A’+’8’-‘5’;
printf(“%c,%d\n”,c1,c2;
}
已知字母A的ASCII碼為65,程序運(yùn)行后的輸出結(jié)果是( )
A E,68 B D,68 C E,D D輸出無(wú)定值
24.有以下程序
#include <stdio.h>
void fun(int p)
{ int d=2 ;
p=d++; printf(“%d”,p);}
main()
{int a=1;
fun (a); printf(“$d\n”,a);}
程序運(yùn)行后的輸出結(jié)果是( )
A 32 B 12 C 21 D 22
25.以下函數(shù)findmax擬實(shí)現(xiàn)在數(shù)組中查找最大值并作為函數(shù)值返回,但程序中有錯(cuò)導(dǎo)致不能實(shí)現(xiàn)預(yù)定功能.
#define MIT -2147463647
int findmax (int x[],int n)
{ int I,max;
for(i=0;i<m;i++)
{max MIN;
if(max<x[i]) max=x[i];)
return max;
造成錯(cuò)誤的原因是( )
A定義語(yǔ)句int i;max;中max未賦初值
B賦值語(yǔ)句max=MIN中,不應(yīng)給max賦MIN值
C語(yǔ)句if(max<x[i])max=x[i]中判斷條件設(shè)置錯(cuò)誤
D賦值語(yǔ)句max=MIN放錯(cuò)了位置
26.有以下程序
#include <stdio.h>
main()
{int m=1,n=2,*p=&m,*q=&n,*r;
r=p;p=q;q=r;
printf(“%d,%d,%d,%d\n”,m,n,*p,*q);
}
程序運(yùn)行后的輸出結(jié)果是( )
A1,2,1,2 B 1,2,2,1 C 2,1,2,1 D 2,1,1,2
27.若有定義語(yǔ)句:int a[4][10],*p,*q[4];0<=i<4,則錯(cuò)誤的賦值是( )
A p=a B q[i]=a[i] C p=a[i] D p=&a[2][1]
28.有以下程序
#include <stdio.h>
#include <string.h>
main()
{char str[][20]=(“one*world”,”one*Dream!”),*p=str[1];
printf(“%d”,strlen(p)); printf(“%s\n”,p);
}
程序運(yùn)行后的輸出結(jié)果是( )
A 9,One*World B 9 ,One*Dream C 10,One*Dream D 10,One*World
29.有以下程序
#include <stdio.h>
main()
{int a[]={2,3,5,4},I;
for (i=0;i<4;i++)
switch(i%2)
(case 0: switch(a[i]%2)
case 0:a[i]++;break;
case 1: a[i]--;
)break;
case 1 :a[i]=0;
)
for (i=0;i<4;i++) printf(“%d ”,a[i]; printf(“\n”);
}
程序運(yùn)行后的輸出結(jié)果是( )
A 3 3 4 4 B 2 0 5 0 C 3 0 4 0 D 0 3 0 4
30.有以下程序
#include <stdio.h>
main()
{ char a[10]=”abcd”;
printf(“%d,%d\n”,strlen(a),sizeof(a));
}
程序運(yùn)行后的輸出結(jié)果是( )
A 7,4 B 4,10 C 8,8 D 10,10
31.下面是有關(guān)C語(yǔ)言字符數(shù)組的描述,其中錯(cuò)誤的是( )
A不可以用賦值語(yǔ)句給字符數(shù)組名賦字符串
B可以用輸入語(yǔ)句把字符串整體輸入給字符數(shù)組
C字符數(shù)組中的內(nèi)容不一定是字符串
D字符數(shù)組只能存放字符串
32.下列函數(shù)的功能是( )
fun(char *a,char*b)
{ while ((*b=*a)!=’\0’) (a++;b++;)}
A將a所指字符串賦給b所指空間
B使指針b指向a所指字符串
C將a所指字符串和b所指字符串進(jìn)行比較
D檢查a和b所指字符串中是否有‘\0’
33.設(shè)有以下函數(shù)
void fun(int n,char *s) {…….}
則下面對(duì)函數(shù)指針的定義和賦值均正確的是( )
A void (*pl)(); pf=fun; B void *pl(); pf=fun;
C void *pl(); *pf=fun; D void (*pl)(int ,char); pf=&fun;
34.有以下程序
#include <stdio.h>
int f(int n);
main()
{ int a=3,s;
S=f(a);s=s+f(a); printf(“&d\n”,s);
}
int f(int n)
{ static int a=1;
n+=a++;
return n;
}
程序運(yùn)行后的輸出結(jié)果是( )
A 7 B 8 C 9 D10
35.有以下程序
#include <stdio.h>
#define f(x) x*x*x
main()
{ int a=3,s,t;
s=f(a+1); t=f((a+1));
printf(“%d,%d\n”,s,t);
}
程序運(yùn)行后的輸出結(jié)果是( )
A 10,64 B 10, 10 C 64,10 D 64,64
36.下列結(jié)構(gòu)體的定義語(yǔ)句中,錯(cuò)誤的是( )
A struct ord {int x;int y;int z;};struct ord a;
B struct ord {int x;int y;int z;} struct ord a;
C struct ord {int x;int y;int z;} a;
D struct {int x;int y;int z;} a;
37.設(shè)有定義char *c; 以下選項(xiàng)中能夠使字符形指針C正確指向一個(gè)字符串的是( )
A char str[]=”string”;c=str; B scanf(“%s”,c);
C c=getchar(); D c=”string”;
38.有以下程序
#include <stdio.h>
#include <string.h>
Struct A
{ int a;char b[10];double c;
Struct A f(struct A t);
main()
{ struct A a=(1001,”ZhangDa”,1098,C);
a=f(a); printf(“%d,%s,%6.If\n”,a,a,a,b,a,c);}
}
struct A f(struct A t)
{ t.a=1002;strcpy(t.b,”ChongRong”);t,c=1202;return t;}
程序運(yùn)行后的輸出結(jié)果是( )
A 1001,ZhangDa,1098.0 B 1002,ZhangDa,1202.0
C 1001,ChangRong,1098.0 D 1002,ChangRong,1202.0
39.若有以下程序:
int r=8;
printf(“%d\n”,r>>1);
輸出結(jié)果是( )
A 16 B 8 C 4 D 2
40.下列關(guān)于C語(yǔ)言文件的敘述中正確的是( )
A文件由一系列數(shù)據(jù)依次排列組成,只能構(gòu)成二進(jìn)制文件
B 文件由結(jié)構(gòu)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件
C文件由數(shù)據(jù)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件
D文件由字符序列組成,其類型只能是文本文件
二填空(每空2分,共30分)
1.某二叉數(shù)有5個(gè)度為2的結(jié)點(diǎn)以及3個(gè)度為1的結(jié)點(diǎn),則該二叉數(shù)中共有_____個(gè)結(jié)點(diǎn)。
2.程序流程圖中的菱形框表示的是__________
3.軟件開發(fā)過(guò)程中主要分為需求分析,設(shè)計(jì),編碼與測(cè)試四個(gè)階段,其中_________階段產(chǎn)生”軟件需求規(guī)格說(shuō)明書”.
4.在數(shù)據(jù)庫(kù)技術(shù)中,實(shí)體集之間的聯(lián)系可以是一對(duì)一或一對(duì)多或多對(duì)多的,那么”學(xué)生”和”可選課程”的聯(lián)系為___________
5.人員基本信息一般包括:身份證號(hào),姓名,性別,年齡等.其中可以作為關(guān)鍵字的是______
6.若有定義語(yǔ)句 int a=5;則表達(dá)式a++值是________
7.若有語(yǔ)句double x=17;int y;當(dāng)執(zhí)行y=(int)(x/5)%2;之后y的值是______
8.以下程序運(yùn)行后的輸出結(jié)果是_______
#include <stdio.h>
main()
{ int x=20;
printf(“%d”,0<x<20);
printf(“%d\n”,0<x&&x<20);}
9. 以下程序運(yùn)行后的輸出結(jié)果是______
#include <stdio.h>
main()
{ int a=1,b=7;
do{
b=b/2;a+=b;
}while(b>1);
printf(“%d\n”,a);}
10.有以下程序
#include <stdio.h>
main()
{ int f,f1 f2,I;
f1=0;f2=1;
printf(“%d %d”,f1,f2);
for(i=3;i<=5;i++)
{f=f1+f2; printf(“%d”,f);
f1=f2;f2=f;
}
printf(“\n”);
}
程序運(yùn)行后的輸出結(jié)果是______
11. 有以下程序
#include <stdio.h>
int a=5;
void fun(int b)
{ int a=10;
a+=b; printf(“%d”,a);
}
main()
{ int c=20;
fun©;a+=c: printf(“%d\n”,a);
}
以下程序運(yùn)行后的輸出結(jié)果是______
12. 設(shè)有定義:
struct person
{ int ID ;char name[12];}p;
請(qǐng)將scanf(“%d”,______);語(yǔ)句補(bǔ)充完整,使其能夠?yàn)榻Y(jié)構(gòu)體變量的成員正確讀入數(shù)據(jù)
13. 有以下程序
#include <stdio.h>
main()
{ char a[20]=“How are you ?”,b[20];
scanf(“%s”,b);printf(“%s,%s\n,a,b”);
}
程序運(yùn)行時(shí)從鍵盤輸入:How are you ?《回車》
則輸出結(jié)果為_______.
14. 有以下程序
#include <stdio.h>
typedef struct
{ int num;double s;}REC;
void funl( REC x) (x,num=23;x,s=88.5;)
main()
{REC a={16,90.0};
funl(a);
printf(“%d\n”,a,num);
}
程序運(yùn)行后的輸出結(jié)果是_______
15有以下程序
#include <stdio.h>
fun(int x)
{ if(x/2>0) fun(x/2);
Printf(“%d”,x);
}
main()
{ fun(5);printf(“\n”);}
程序運(yùn)行后的輸出結(jié)果是_______.
上面是題這是答案
CBDAB ACBCD
DCABB DCAAB
DCACD BACCB
DAACA BADCC
1)14
2)邏輯條件
3)需求分析
4)多對(duì)多
5)身份證號(hào)
6)5
7)1
8)1 0
9)5
10)0 1 123
11)3025
12)&p.ID
13)How are you?How
14)16
15)1 3 6
好消息,您的網(wǎng)易郵箱容量永遠(yuǎn)用不完了!