一、選擇題
在下列各題的A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確的選項涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
(1)程序流程圖中帶有箭頭的線段表示的是
A)圖元關(guān)系 B)數(shù)據(jù)流 C)控制流 D)調(diào)用關(guān)系
(2)下面不屬于軟件設(shè)計原則的是
A)抽象 B)模塊化 C)自底向上 D)信息隱蔽
(3)下列選項中,不屬于模塊間耦合的是
A)數(shù)據(jù)耦合 B)標(biāo)記耦合 C)異構(gòu)耦合 D)公共耦合
(4)下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是 A)便于用戶、開發(fā)人員進(jìn)行理解和交流 B)反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)
C)作為確認(rèn)測試和驗收的依據(jù) D)便于開發(fā)人員進(jìn)行需求分析
(5)算法的時間復(fù)雜度是指
A)執(zhí)行算法程序所需要的時間 B)算法程序的長度 C)算法執(zhí)行過程中所需要的基本運算次數(shù)
D)算法程序中的指令條數(shù)
(6)已知數(shù)據(jù)表A中每個元素距其最終位置不遠(yuǎn),為節(jié)省時間,應(yīng)采用的算法是
A)堆排序 B)直接插入排序 C)快速排序 D)B)和C)
(7)棧底至棧頂依次存放元素A、B、C、D,在第五個元素E入棧前,棧中元素可以出棧,則出棧序列可能是
A)ABCED B)DCBEA C)DBCEA D)CDABE
(8)數(shù)據(jù)庫設(shè)計包括兩個方面的設(shè)計內(nèi)容,它們是
A)概念設(shè)計和邏輯設(shè)計 B)模式設(shè)計和內(nèi)模式設(shè)計 C)內(nèi)模式設(shè)計和物理設(shè)計 D)結(jié)構(gòu)特性設(shè)計和行為特性設(shè)計
(9)關(guān)系表中的每一橫行稱為一個
A)元組 B)字段 C)屬性 D)碼
(10)設(shè)有表示學(xué)生選課的三張表,學(xué)生S(學(xué)號,姓名,性別,年齡,身份證號),課程C(課號,課名),選課SC(學(xué)號,課號,成績),則表SC的關(guān)鍵字 (鍵或碼)為
A)課號,成績 B)學(xué)號,成績 C)學(xué)號,課號 D)學(xué)號,姓名,成績
(11)以下不正確的敘述是
A)在C程序中,逗號運算符的優(yōu)先級最低 B)在C程序中,APH和aph是兩個不同的變量
C)若a和b類型相同,在計算了賦值表達(dá)式a=b后b中的值將放入a中,而b中的值不變
D)當(dāng)從鍵盤輸入數(shù)據(jù)時,對于整型變量只能輸入整型數(shù)值,對于實型變量只能輸入實型數(shù)值
(12)請選出可用作C語言用戶標(biāo)識符的是
A)void,define,WORD B)a3_b3,_123,IF C)FOR,--abc,Case D)2a,Do,Sizeof
(13)以下選項中,不能作為合法常量的是
A)1.234e04 B)1.234e0.4 C)1.234e+4 D)1.234e0
(14)在C語言中,運算對象必須是整型數(shù)的運算符是
A)% B)\ C)%和\ D)**
(15)若變量均已正確定義并賦值,以下合法的C語言賦值語句是
A)x=y==5; B)x=n%2.5; C)x+n=i; D)x=5=4+1;
(16)有以下程序段
char ch; int k;
ch=′a′; k=12;
printf("%c,%d,",ch,ch,k); printf("k=%d \n",k);
已知字符a的ASCII碼值為97,則執(zhí)行上述程序段后輸出結(jié)果是
A)因變量類型與格式描述符的類型不匹配輸出無定值 B)輸出項與格式描述符個數(shù)不符,輸出為零值或不定值
C)a,97,12k=12 D)a,97,k=12
(17)已知字母A的ASCII代碼值為65,若變量kk為char型,以下不能正確判斷出kk中的值為大寫字母的表達(dá)式是
A)kk>=′A′&& kk<=′Z′ B)!(kk>=′A′||kk<=′Z′) C)(kk+32)>=′a′&&(kk+32)<=′Z′ D)isalpha(kk)&&(kk<91)
(18)當(dāng)變量c的值不為2、4、6時,值也為"真"的表達(dá)式是
A)(c==2)||(c==4)||(c==6) B)(c>=2&& c<=6)||(c!=3)||(c!=5) C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&& c<=6)&&(c%2!=1)
(19)若有條件表達(dá)式 (exp)?a++:b--,則以下表達(dá)式中能完全等價于表達(dá)式(exp)的是
A)(exp==0) B)(exp!=0) C)(exp==1) D)(exp!=1)
(20)以下不正確的定義語句是
A)double x[5]={2.0,4.0,6.0,8.0,10.0}; B)int y[5]={0,1,3,5,7,9}; C)char c1[]={′1′,′2′,′3′,′4′,′5′}; D)char c2[]={′\x10′, ′xa′, ′\x8′};
(21)下列程序執(zhí)行后的輸出結(jié)果是
main()
{ int a[3][3], *p,i;
p=&a[0][0];
for(i=1; i<9; i++)p[i]=i+1;
printf("%d\n",a[1][2];)
A)3 B)6 C)9 D)隨機(jī)數(shù)
(22)設(shè)有以下程序段
int x=0,s=0;
while(!x!=0)s+=++x;
printf("%d",s);
則
A)運行程序段后輸出0 B)運行程序段后輸出1 C)程序段中的控制表達(dá)式是非法的 D)程序段執(zhí)行無限次
(23)(23)下面程序段的運行結(jié)果是
char *s="abcde";
s+=2;printf("%d",s);
A)cde B)字符′c′ C)字符′c′的地址 D)無確定的輸出結(jié)果
(24)閱讀下列程序,則執(zhí)行后的結(jié)果為
#include "stdio.h"
main()
{ int c[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56};
printf("%x,%x\n",c[2][2],*(*(c+1)+1));}
A)3e,6 B)62,5 C)56,5 D)3E,6
(25)下面判斷正確的是
A)char *a="china";等價于 char *a;*a="china"; B)char str[5]={"china"};等價于char str[]={"china"};
C)char *s="china";等價于 char *s;s="china"; D)char c[4]="abc",d[4]="abc";等價于char c[4]=d[4]="abc";
(26)若有定義:int a[2][3];,以下選項中對a數(shù)組元素正確引用的是
A)a[2][!1] B)a[2][3] C)a[0][3] D)a[1>2][!1]
(27)有定義語句:char s[10];,若要從終端給s輸入5個字符,錯誤的輸入語句是
A)gets(&s[0]); B)scanf("%s",s+1); C)gets(s); D)scanf("%s",s[1]);
(28)有以下程序
#include
#define N 5
#define M N+1
#define f(x) (x*M)
main()
{ int i1,i2;
i1=f(2);
i2=f(1+1);
printf("%d %d\n",i1,i2);
}
程序的運行結(jié)果是
A)12 12 B)11 7 C)11 11 D)12 7
(29)若有以下說明和定義
union dt
{ int a; char b; double c;}data;
以下敘述中錯誤的是
A)data的每個成員起始地址都相同 B)變量data所占內(nèi)存字節(jié)數(shù)與成員c所占字節(jié)數(shù)相等
C)程序段:data.a=5;printf("%f\n",data.c);輸出結(jié)果為5.000000 D)data可以作為函數(shù)的實參