❶ 層次模型,網狀模型和關系模型的劃分根據是什麼
層次型、網狀型和關系型資料庫劃分的原則是數據之間的聯系方式。層次資料庫是按記錄來存取數據的;網狀資料庫是採用網狀原理和方法來存儲數據;關系型資料庫是以行和列的形式存儲數據。
層次模型特點:
一般情況下,如果只牽涉到個人方面,用到較低的五個層次就足夠了。當一個人覺得有困難時,若能夠找出困難在哪一個層次的話,便能更快、更有效地找出解決辦法。
層次越低的問題,越容易解決。當問題上升至信念或身份的層次時,解決便困難得多。
一般來說,一個低層次的問題,在更高層次里容易找到解決辦法。反之,一個高層次的問題,用一個較其為低的層次的解決辦法,難以產生效果。
❷ 資料庫管理作業,大蝦們幫幫忙,緊急!!!
24. __D___可以減少相同數據重復存儲的現象。
A.記錄 B.欄位 C.文件 D.資料庫
25. 在資料庫中,產生數據不一致的根本原因是___C__。
A.數據存儲量太大 B.沒有嚴格保護數據
C.未對數據進行完整性控制 D.數據冗餘
26. 資料庫管理系統(DBMS)是__C___。
A.一個完整的資料庫應用系統 B.一組硬體
C.一組軟體 D.既有硬體,也有軟體
27. 資料庫管理系統(DBMS)是__D___。
A.數學軟體 B.應用軟體 C.計算機輔助設計 D.系統軟體
28. ____D_是存儲在計算機內的有結構的數據集合。
A.網路系統 B.資料庫系統 C.操作系統 D.資料庫
29. 資料庫系統的核心是__D___。
A.編譯系統 B.資料庫 C.操作系統 D.資料庫管理系統
30. 資料庫系統的特點是___A__、數據獨立、減少數據冗餘、避免數據不一致和加強了數據保護。
A.數據共享 B.數據存儲 C.數據應用 D.數據保密
31. 資料庫系統的最大特點是___C__。
A.數據的三級抽象和二級獨立性 B.數據共享性
C.數據的結構化 D.數據獨立性
32. 資料庫系統是由_B____組成。
A.資料庫管理系統、應用程序系統、資料庫
B.資料庫管理系統、資料庫管理員,資料庫
C.資料庫系統、應用程序系統、用戶
D.資料庫管理系統、資料庫、用戶
33. 資料庫應用系統是由__C___組成。
A.資料庫管理系統、應用程序系統、資料庫
B.資料庫管理系統、資料庫管理員,資料庫
C.資料庫系統、應用程序系統、用戶
D.資料庫管理系統、資料庫、用戶
34. 資料庫系統由資料庫、__D___和硬體等組成。
A.操作系統 B.文件系統 C.編譯系統 D.資料庫管理系統
35. 資料庫系統是在___B__的基礎上發展起來的。
A.操作系統 B.文件系統 C.編譯系統 D.資料庫管理系統
36. 資料庫系統由於能減少數據冗餘,提高數據獨立性,並集中檢查_A____,由此獲得廣泛的應用。
A.數據完整性 B.數據層次性 C.數據的操作性 D.數據兼容性
37. 數據的管理方法主要有___D__。
A.批處理和文件系統 B.文件系統和分布式系統
C.分布式系統和批處理 D.資料庫系統和文件系統
38. 資料庫系統和文件系統的主要區別是__B___。
A.資料庫系統復雜,而文件系統簡單
B.文件系統不能解決數據冗餘和數據獨立性問題,而資料庫系統能夠解決
C.文件系統只能管理文件,而資料庫系統還能管理其他類型的數據
D.文件系統只能用於小型、微型機,而資料庫系統還能用於大型機
39. 資料庫管理系統是__B___。
A.操作系統的一部分 B.在操作系統支持下的系統軟體
C.一種編譯程序 D.一種操作系統
40. 在資料庫的三級模式結構中,描述資料庫中全體數據的全局邏輯結構和特徵的是___D__。
A.外模式 B.內模式 C.存儲模式 D.模式
41. 資料庫系統的數據獨立性是指__B___。
A.不會因為數據的變化而影響應用程序
B.不會因為系統數據存儲結構與數據邏輯結構的變化而影響應用程序
C.不會因為存儲策略的變化而影響存儲結構
D.不會因為某些存儲結構的變化而影響其他的存儲結構
42. 在資料庫系統中,通常用三級模式來描述資料庫,其中____A_是用戶與資料庫的介面,是應用程序可見到的數據描述。
A.外模式 B.概念模式 C.內模式 D.邏輯結構 E.層次結構
43. 在資料庫系統中,通常用三級模式來描述資料庫,__C___是對數據整體的邏輯結構的描述。
A.外模式 B.概念模式 C.內模式 D.邏輯結構 E.層次結構
問題補充:44. 在資料庫系統中,通常用三級模式來描述資料庫,_C___描述了數據的物理結構。
A.外模式 B.概念模式 C.內模式 D.邏輯結構 E.層次結構
45. 應用資料庫的主要目的是為了__C___。
A.解決保密問題 B.解決數據完整性問題
C.共享數據問題 D.解決數據量大的問題
46. 資料庫應用系統包括___B__。
A.資料庫語言、資料庫 B.資料庫、資料庫應用程序
C.數據管理系統、資料庫 D.資料庫管理系統
47. 實體是信息世界中的術語,與之對應的資料庫術語為__D___。
A.文件 B.資料庫 C.欄位 D.記錄
48. 層次型、網狀型和關系型資料庫劃分原則是__D___。
A.記錄長度 B.文件的大小
C.聯系的復雜程度 D.數據之間的聯系
49. 按照傳統的數據模型分類,資料庫系統可以分為三種類型__C___。
A.大型、中型和小型 B.西文、中文和兼容
C.層次、網狀和關系 D.數據、圖形和多媒體
50. 數據模型用來表示實體間的聯系,但不同的資料庫管理系統支持不同的數據模型。在常用的數據模型中,不包括___B__。
A網狀模型 B.鏈狀模型 C.層次模型 D.關系模型
終於做完了,我也復習了一遍,這些都是書上的基本概念,都很簡單的。。你應該自己搞掂的
❸ 資料庫基礎知識
1)
select b.name from book as a ,student as b where a.title like '資料庫原
理';
2)
select a.sid form student as a, lend as b,return as c where (b.sid =
a.sid or c.sid = a.sid )and ldate = rdate;
3)
select distinct (t.title)書名,(select(max(a.price) from book as a)價格
from book as t
❹ 求c語言二級的復習資料 重要的是選擇題的復習資料.. 好用給分
試卷簡介
二級C語言筆試選擇題-5
簡單單選題:選擇題
(1)「需要
登錄
進入在線考試系統才能查看答案及解析」資料庫管理系統是______。
?
?A.操作系統的一部分
?
?B.在操作系統支持下的系統軟體
?
?C.一種編譯系統
?
?D.一種操作系統
(2)「需要
登錄
進入在線考試系統才能查看答案及解析」負責資料庫中查詢操作的資料庫語言是______。
?
?A.數據定義語言
?
?B.數據管理語言
?C.數據操縱語言
?D.數據控制語言
(3)「需要
登錄
進入在線考試系統才能查看答案及解析」在數據管理技術發展的三個階段中,數據共享最好的是______。
?
?A.人工管理階段
?
?B.文件系統階段
?C.資料庫系統階段
?D.三個階段相同
(4)「需要
登錄
進入在線考試系統才能查看答案及解析」資料庫設計中反映用戶對數據要求的模式是______。
?
?A.內模式
?
?B.概念模式
?
?C.外模式
?
?D.設計模式
(5)「需要
登錄
進入在線考試系統才能查看答案及解析」資料庫系統的三級模式不包括______。
?
?A.概念模式
?
?B.內模式
?
?C.外模式
?
?D.數據模式
(6)「需要
登錄
進入在線考試系統才能查看答案及解析」在下列模式中,能夠給出資料庫物理存儲結構與物理存取方法的是______。
?
?A.外模式
?
?B.內模式
?
?C.概念模式
?
?D.邏輯模式
(7)「需要
登錄
進入在線考試系統才能查看答案及解析」層次型、網狀型和關系型資料庫的劃分原則是______。
?
?A.記錄長度
?
?B.文件的大小
?
?C.聯系的復雜程度
?D.數據之間的聯系方式
(8)「需要
登錄
進入在線考試系統才能查看答案及解析」一間宿舍可住多名學生,則實體宿舍和學生之間的聯系是______。
?
?A.一對一
?
?B.一對多
?
?C.多對一
?
?D.多對多
(9)「需要
登錄
進入在線考試系統才能查看答案及解析」一名工作人員可以使用多台計算機,而一台計算機可被多名工作人員使用,則實體工作人員與實體計算機之間的聯系是______。
?
?A.一對一
?
?B.一對多
?
?C.多對多
?
?D.多對一
(10)「需要
登錄
進入在線考試系統才能查看答案及解析」一名教師可講授多門課程,一門課程可由多名教師講授。則實體教師和課程間的聯系是______。
?
?A.1:1聯系
?
?B.1:m聯系
?
?C.m:1聯系
?
?D.m:n聯系
❺ 急!!歷年國家計算機二級c語言筆試真題答案。
2010年9月全國計算機二級C語言筆試試題:文字版
一、選擇題(每小題2分,共70分)
下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的。請將正確選項填塗在答題卡相應位置上,答在試卷上不得分。
(1)下列敘述中正確的是
A)線性表的鏈式存儲結構與順序存儲結構所需要的存儲空間是相同的
B)線性表的鏈式存儲結構所需要的存儲空間一般要多於順序存儲結構
C)線性表的鏈式存儲結構所需要的存儲空間一般要少於順序存儲結構
D)上述三種說法都不對
(2)下列敘述中正確的是
A)在棧中,棧中元素隨棧底指針與棧頂指針的變化而動態變化
B)在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動態變化
C)在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動態變化
D)上述三種說法都不對
(3)軟體測試的目的是
A)評估軟體可靠性
B)發現並改正程序中的錯誤
C)改正程序中的錯誤
D)發現程序中的錯誤
(4)下面描述中,不屬於軟體危機表現的是
A)軟體過程不規范
B)軟體開發生產率低
C)軟體質量難以控制
D)軟體成本不斷提高
(5)軟體生命周期是指
A)軟體產品從提出、實現、使用維護到停止使用退役的過程
B)軟體從需求分析、設計、實現到測試完成的過程
C)軟體的開發過程
D)軟體的運行維護過程
(6)面向對象方法中,繼承是指
A)一組對象所具有的相似性質
B)一個對象具有另一個對象的性質
C)各對象之間的共同性質
D)類之間共享屬性和操作的機制
(7)層次型、網狀型和關系型資料庫劃分原則是
A)記錄長度
B)文件的大小
C)聯系的復雜程度
D)數據之間的聯系方式
(8)一個工作人員可以使用多台計算機,而一台計算機可被多個人使用,則實體工作人員、與實體計算機之間的聯系是
A)一對一
B)一對多
C)多對多
D)多對一
(9)資料庫設計中反映用戶對數據要求的模式是
A)內模式
B)概念模式
C)外模式
D)設計模式
(10)有三個關系R、S和T如下:
則由關系R和S得到關系T的操作是
A)自然連接
B)交
C)投影
D)並
(11)以下關於結構化程序設計的敘述中正確的是
A)一個結構化程序必須同時由順序、分支、循環三種結構組成
B)結構化程序使用goto語句會很便捷
C)在C語言中,程序的模塊化是利用函數實現的
D)由三種基本結構構成的程序只能解決小規模的問題
(12)以下關於簡單程序設計的步驟和順序的說法中正確的是
A)確定演算法後,整理並寫出文檔,最後進行編碼和上機調試
B)首先確定數據結構,然後確定演算法,再編碼,並上機調試,最後整理文檔
C)先編碼和上機調試,在編碼過程中確定演算法和數據結構,最後整理文檔
D)先寫好文檔,再根據文檔進行編碼和上機調試,最後確定演算法和數據結構
(13)以下敘述中錯誤的是
A) C程序在運行過程中所有計算都以二進制方式進行
B)C程序在運行過程中所有計算都以十進制方式進行
C)所有C程序都需要編譯鏈接無誤後才能運行
D)C程序中整型變數只能存放整數,實型變數只能存放浮點數
(14)有以下定義:int a; long b; double x,y;則以下選項中正確的表達式是
A)a%(int)(x-y)
B)a=x!=y;
C)(a*y)%b
D)y=x+y=x
(15)以下選項中能表示合法常量的是
A)整數:1,200
B)實數:1.5E2.0
C )字元斜杠:『\』
D)字元串:"\007"
(16)表達式a+=a-=a=9的值是
A)9
B)_9
C)18
D)0
(17)若變數已正確定義,在if (W)printf(「%d\n,k」);中,以下不可替代W的是
A)a<>b+c
B)ch=getchar()
C)a==b+c
D)a++
(18)有以下程序
#include<stdio.h>
main()
{int a=1,b=0;
if(!a) b++;
else if(a==0)if(a)b+=2;
else b+=3;
printf(」%d\n」,b);
}
程序運行後的輸出結果是
A)0
B)1
C)2
D)3
(19)若有定義語句int a, b;double x;則下列選項中沒有錯誤的是
A)switch(x%2) B)switch((int)x/2.0
{case 0: a++; break; {case 0: a++; break;
case 1: b++; break; case 1: b++; break;
default : a++; b++; default : a++; b++;
} }
C)switch((int)x%2) D)switch((int)(x)%2)
{case 0: a++; break; {case 0.0: a++; break;
case 1: b++; break; case 1.0: b++; break;
default : a++; b++; default : a++; b++;
} }
(20)有以下程序
#include <stdio.h>
main()
{int a=1,b=2;
while(a<6){b+=a;a+=2;b%二10;}
printf(」%d,%d\n」,a,b);
}
程序運行後的輸出結果是
A)5,11
B)7,1
C)7,11
D)6,1
(21)有以下程序
#include<stdio.h>
main()
{int y=10;
while(y--);
printf(」Y=%d\n」,Y);
}
程序執行後的輸出結果是
A)y=0
B)y= -1
C)y=1
D)while構成無限循環
(22)有以下程序
#include<stdio .h>
main()
{char s〔」=」rstuv";
printf(」%c\n」,*s+2);
}
程序運行後的輸出結果是
A)tuv
B)字元t的ASCII碼值
C)t
D)出錯
(23)有以下程序
#include<stdio.h>
#include<string.h>
main()
{char x〔〕=」STRING」;
x〔0」=0;x〔1〕=』\0』;x〔2」=』0』;
printf(」%d %d\n」,sizeof(x),strlen(x));
}
程序運行後的輸出結果是
A)6 1
B)7 0
C)6 3
D)7 1
(24)有以下程序
#include<stdio.h>
Int f(int x);
main()
{int n=1,m;
m=f(f(f(n)));printf(」%d\n」,m);
}
int f(int x)
{return x*2;}
程序運行後的輸出結果是
A)1
B)2
C)4
D)8
(25)以下程序段完全正確的是
A)int *p; scanf("%d",&p);
B)int *p; scanf(「%d」,p);
C)int k, *p=&k; scanf("%d",p);
D)int k, *p:; *p= &k; scanf(「%d」,p);
(26)有定義語句:int *p[4];以下選項中與此語句等價的是
A)int p[4];
B)int **p;
C)int *(p「4」);
D)int (*p)「4」;
(27)下列定義數組的語句中,正確的是
A)int N=10; B)#define N 10
int x[N]; int x[N];
C)int x[0..10〕; D)int x〔〕;
(28)若要定義一個具有5個元素的整型數組,以下錯誤的定義語句是
A)int a[5]={0};
B)int b[]={0,0,0,0,0};
C)int c[2+3];
D)int i=5,d[i];
(29)有以下程序
#include<stdio.h>
void f(int *p);
main()
{int a〔5〕={1,2,3,4,5},*r=a;
f(r);printf(」%d\n」;*r);
}
void f(int *p)
{p=p+3;printf(」%d,」,*p);}
程序運行後的輸出結果是
A)1,4
B)4,4
C)3,1
D)4,1
(30)有以下程序(函數fun只對下標為偶數的元素進行操作)
# include<stdio.h>
void fun(int*a;int n)
{int i、j、k、t;
for (i=0;i<n一1;1+=2)
{k=i;『
for(j=i;j<n;j+=2)if(a〔j〕>a〔k])k=j;
t=a〔i];a〔i]=a〔k];a〔k]=t;
}
}
main()
{int aa「10」={1、2、3、4、5、6、7},i;
fun(aa、7);
for(i=0,i<7; i++)printf(」%d,」,aa〔i〕));
printf(」\n」);
}
程序運行後的輸出結果是
A)7,2,5,4,3,6,1
B)1,6,3,4,5,2,7
C)7,6,5,4,3,2,1
D)1,7,3,5,6;2,1
(31)下列選項中,能夠滿足「若字元串s1等於字元串s2,則執行ST"要求的是
A)if(strcmp(s2,s1)==0)ST;
B)if(sl==s2)ST;
C)if(strcpy(s l ,s2)==1)ST;
D)if(sl-s2==0)ST;
(32)以下不能將s所指字元串正確復制到t所指存儲空間的是
A)while(*t=*s){t++;s++;}
B)for(i=0;t[i]=s[i〕;i++);
C)do{*t++=*s++;}while(*s);
D)for(i=0,j=0;t[i++]=s[j++];);
(33)有以下程序( strcat函數用以連接兩個字元串)
#include<stdio.h>
#include<string .h>
main()
{char a〔20〕=」ABCD\OEFG\0」,b〔〕=」IJK」;
strcat(a,b);printf(」%s\n」,a);
}
程序運行後的輸出結果是
A)ABCDE\OFG\OIJK
B)ABCDIJK
C)IJK
D)EFGIJK
(34)有以下程序,程序中庫函數islower (ch)用以判斷ch中的字母是否為小寫字母
#include<stdio.h>
#include<ctype.h>
void fun(char*p)
{int i=0;
while (p[i〕)
{if(p[i]==』 』&& islower(p「i-1」))p[i-1]=p[i-1]-『a』+『A』;
i++;
}
}
main()
{char s1〔100〕=」ab cd EFG!」;
fun(s1); printf(」%s\n」,s1);
}
程序運行後的輸出結果是
A)ab cd EFG!
B)Ab Cd EFg!
C)aB cD EFG!
D)ab cd EFg!
(35)有以下程序
#include<stdio.h>
void fun(int x)
{if(x/2>1)fun(x/2);
printf(」%d」,x);
}
main()
{fun(7);printf(」\n」);}
程序運行後的輸出結果是
A)1 3 7
B)7 3 1
C)7 3
D)3 7
(36)有以下程序
#include<stdio.h>
int fun()
{static int x=1;
x+=1;return x;
}
main()
{int i;s=1;
for(i=1;i<=5;i++)s+=fun();
printf(」%d\n」,s);
}
程序運行後的輸出結果是
A)11
B)21
C)6
D)120
(37)有以下程序
#inctude<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)3,3,3 B)2,2,3 C)1,2,3 D)1,1,3
(38)有以下程序
#include<stdio.h>
main()
{int s,t,A=10;double B=6;
s=sizeof(A);t=sizeof(B);
printf(「%d,%d\n」,s,t);
}
在VC6平台上編譯運行,程序運行後的輸出結果是
A)2,4 B)4,4 C)4,8 D)10,6
(39)若有以下語句
Typedef struct S
{int g; char h;}T;
以下敘述中正確的是
A)可用S定義結構體變數
B)可用T定義結構體變數
C)S是struct類型的變數
D)T是struct S類型的變數
(40)有以下程序
#include<stdio.h>
main()
{short c=124;
c=c_______;
printf(「%d\n」、C);
}
若要使程序的運行結果為248,應在下劃線處填入的是
A)>>2 B)|248 C)&0248 D)<<I
二、填空題(每空2分,共30分)
請將每空的正確答案寫在答題卡【1】至【15】序號的橫線上,答在試卷上不得分。
(1)一個棧的初始狀態為空。首先將元素5,4,3,2,1依次入棧,然後退棧一次,再將元素 A,B,C,D依次入棧,之後將所有元素全部退棧,則所有元素退棧(包括中間退棧的元素)的順序為【1】
(2)在長度為n的線性表中,尋找最大項至少需要比較【2】次。
(3)一棵二叉樹有10個度為1的結點,7個度為2的結點,則該二叉樹共有【3】個結點。
(4)僅由順序、選擇(分支)和重復(循環)結構構成的程序是【4】程序。
(5)資料庫設計的四個階段是:需求分析,概念設計,邏輯設計【5】。
(6)以下程序運行後的輸出結果是【6】。
#include<stdio.h>
main()
{int a=200,b=010;
printf(」%d%d\n」,a,b);
}
(7)有以下程序
#include<stdio.h>
main()
{int x,Y;
scanf(」%2d%ld」,&x,&y);printf(」%d\n」,x+y);
}
程序運行時輸入:1234567程序的運行結果是【7】。
(8)在C語言中,當表達式值為0時表示邏輯值「假」,當表達式值為【8】時表示邏輯值「真」。
(9)有以下程序
#include<stdio.h>
main()
{int i,n[]={0,0,0,0,0};
for (i=1;i<=4;i++)
{n[i]=n[i-1]*3+1; printf(」%d ",n[i]);}
}
程序運行後的輸出結果是【9】。
(10)以下fun函數的功能是:找出具有N個元素的一維數組中的最小值,並作為函數值返回。請填空。(設N已定義)
int fun(int x〔N〕)
{int i,k=0;
for(i=0;i<N;I++)
if(x〔i〕
return x〔k〕;
}
(11)有以下程序
#include<stdio.h>
int*f(int *p,int*q);
main()
{int m=1,n=2,*r=&m;
r=f(r,&n);printf(」%d\n」,*r);
}
int*f(int *p,int*q)
{return(*p>*q)?p:q;}
程序運行後的輸出結果是【11】
(12)以下fun函數的功能是在N行M列的整形二維數組中,選出一個最大值作為函數值返回,請填空。(設M,. N已定義)
int fun(int a〔N〕[M))
{int i,j,row=0,col=0;
for(i=0;i<N;I++)
for(j=0;j
if(a〔i〕〔j〕>a〔row〕〔col〕){row=i;col=j;}
return(【12】):
}
(13)有以下程序
#include<stdio.h>
main()
{int n[2],i,j;
for(i=0;i<2;i++)n[i]=0;
for(i=0;i<2;i++)
for(j=0;j<2;j++)n〔j〕=n「i」+1;
printf(」%d\n」,n[1]);
}
程序運行後的輸出結果是【13】
(14)以下程序的功能是:藉助指針變數找出數組元素中最大值所在的位置並輸出該最大值。請在輸出語句中填寫代表最大值的輸出項。
#include<stdio.h>
main()
{int a〔10〕,*p,*s;
for(p=a;p-a<10;p++)scanf(」%d」,p);
for(p=a,s=a;p-a<10;p++)if(*p>*s)S=P;
printf("max=%d\n」,【14】);
}
(15)以下程序打開新文件f.txt,並調用字元輸出函數將a數組中的字元寫入其中,請填空。
#include<stdio.h>
main()
{【15】*fp;
char a〔5〕={』1』,』2』,』3』,』4』,』5』},i;
fp=fopen(」f .txt」,」w」);
for(i=0;i<5;i++)fputc(a[i],fp);
fclose(fp);
❻ 就那個 計算機二級 C語言的 給我發過來 我選你最佳答案 我急著想用呢
2010年9月全國計算機二級C語言筆試試題:文字版
一、選擇題(每小題2分,共70分)
下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的。請將正確選項填塗在答題卡相應位置上,答在試卷上不得分。
(1)下列敘述中正確的是
A)線性表的鏈式存儲結構與順序存儲結構所需要的存儲空間是相同的
B)線性表的鏈式存儲結構所需要的存儲空間一般要多於順序存儲結構
C)線性表的鏈式存儲結構所需要的存儲空間一般要少於順序存儲結構
D)上述三種說法都不對
(2)下列敘述中正確的是
A)在棧中,棧中元素隨棧底指針與棧頂指針的變化而動態變化
B)在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動態變化
C)在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動態變化
D)上述三種說法都不對
(3)軟體測試的目的是
A)評估軟體可靠性
B)發現並改正程序中的錯誤
C)改正程序中的錯誤
D)發現程序中的錯誤
(4)下面描述中,不屬於軟體危機表現的是
A)軟體過程不規范
B)軟體開發生產率低
C)軟體質量難以控制
D)軟體成本不斷提高
(5)軟體生命周期是指
A)軟體產品從提出、實現、使用維護到停止使用退役的過程
B)軟體從需求分析、設計、實現到測試完成的過程
C)軟體的開發過程
D)軟體的運行維護過程
(6)面向對象方法中,繼承是指
A)一組對象所具有的相似性質
B)一個對象具有另一個對象的性質
C)各對象之間的共同性質
D)類之間共享屬性和操作的機制
(7)層次型、網狀型和關系型資料庫劃分原則是
A)記錄長度
B)文件的大小
C)聯系的復雜程度
D)數據之間的聯系方式
(8)一個工作人員可以使用多台計算機,而一台計算機可被多個人使用,則實體工作人員、與實體計算機之間的聯系是
A)一對一
B)一對多
C)多對多
D)多對一
(9)資料庫設計中反映用戶對數據要求的模式是
A)內模式
B)概念模式
C)外模式
D)設計模式
(10)有三個關系R、S和T如下:
則由關系R和S得到關系T的操作是
A)自然連接
B)交
C)投影
D)並
(11)以下關於結構化程序設計的敘述中正確的是
A)一個結構化程序必須同時由順序、分支、循環三種結構組成
B)結構化程序使用goto語句會很便捷
C)在C語言中,程序的模塊化是利用函數實現的
D)由三種基本結構構成的程序只能解決小規模的問題
(12)以下關於簡單程序設計的步驟和順序的說法中正確的是
A)確定演算法後,整理並寫出文檔,最後進行編碼和上機調試
B)首先確定數據結構,然後確定演算法,再編碼,並上機調試,最後整理文檔
C)先編碼和上機調試,在編碼過程中確定演算法和數據結構,最後整理文檔
D)先寫好文檔,再根據文檔進行編碼和上機調試,最後確定演算法和數據結構
(13)以下敘述中錯誤的是
A) C程序在運行過程中所有計算都以二進制方式進行
B)C程序在運行過程中所有計算都以十進制方式進行
C)所有C程序都需要編譯鏈接無誤後才能運行
D)C程序中整型變數只能存放整數,實型變數只能存放浮點數
(14)有以下定義:int a; long b; double x,y;則以下選項中正確的表達式是
A)a%(int)(x-y)
B)a=x!=y;
C)(a*y)%b
D)y=x+y=x
(15)以下選項中能表示合法常量的是
A)整數:1,200
B)實數:1.5E2.0
C )字元斜杠:『\』
D)字元串:"\007"
(16)表達式a+=a-=a=9的值是
A)9
B)_9
C)18
D)0
(17)若變數已正確定義,在if (W)printf(「%d\n,k」);中,以下不可替代W的是
A)a<>b+c
B)ch=getchar()
C)a==b+c
D)a++
(18)有以下程序
#include<stdio.h>
main()
{int a=1,b=0;
if(!a) b++;
else if(a==0)if(a)b+=2;
else b+=3;
printf(」%d\n」,b);
}
程序運行後的輸出結果是
A)0
B)1
C)2
D)3
(19)若有定義語句int a, b;double x;則下列選項中沒有錯誤的是
A)switch(x%2) B)switch((int)x/2.0
{case 0: a++; break; {case 0: a++; break;
case 1: b++; break; case 1: b++; break;
default : a++; b++; default : a++; b++;
} }
C)switch((int)x%2) D)switch((int)(x)%2)
{case 0: a++; break; {case 0.0: a++; break;
case 1: b++; break; case 1.0: b++; break;
default : a++; b++; default : a++; b++;
} }
(20)有以下程序
#include <stdio.h>
main()
{int a=1,b=2;
while(a<6){b+=a;a+=2;b%二10;}
printf(」%d,%d\n」,a,b);
}
程序運行後的輸出結果是
A)5,11
B)7,1
C)7,11
D)6,1
(21)有以下程序
#include<stdio.h>
main()
{int y=10;
while(y--);
printf(」Y=%d\n」,Y);
}
程序執行後的輸出結果是
A)y=0
B)y= -1
C)y=1
D)while構成無限循環
(22)有以下程序
#include<stdio .h>
main()
{char s〔」=」rstuv";
printf(」%c\n」,*s+2);
}
程序運行後的輸出結果是
A)tuv
B)字元t的ASCII碼值
C)t
D)出錯
(23)有以下程序
#include<stdio.h>
#include<string.h>
main()
{char x〔〕=」STRING」;
x〔0」=0;x〔1〕=』\0』;x〔2」=』0』;
printf(」%d %d\n」,sizeof(x),strlen(x));
}
程序運行後的輸出結果是
A)6 1
B)7 0
C)6 3
D)7 1
(24)有以下程序
#include<stdio.h>
Int f(int x);
main()
{int n=1,m;
m=f(f(f(n)));printf(」%d\n」,m);
}
int f(int x)
{return x*2;}
程序運行後的輸出結果是
A)1
B)2
C)4
D)8
(25)以下程序段完全正確的是
A)int *p; scanf("%d",&p);
B)int *p; scanf(「%d」,p);
C)int k, *p=&k; scanf("%d",p);
D)int k, *p:; *p= &k; scanf(「%d」,p);
(26)有定義語句:int *p[4];以下選項中與此語句等價的是
A)int p[4];
B)int **p;
C)int *(p「4」);
D)int (*p)「4」;
(27)下列定義數組的語句中,正確的是
A)int N=10; B)#define N 10
int x[N]; int x[N];
C)int x[0..10〕; D)int x〔〕;
(28)若要定義一個具有5個元素的整型數組,以下錯誤的定義語句是
A)int a[5]={0};
B)int b[]={0,0,0,0,0};
C)int c[2+3];
D)int i=5,d[i];
(29)有以下程序
#include<stdio.h>
void f(int *p);
main()
{int a〔5〕={1,2,3,4,5},*r=a;
f(r);printf(」%d\n」;*r);
}
void f(int *p)
{p=p+3;printf(」%d,」,*p);}
程序運行後的輸出結果是
A)1,4
B)4,4
C)3,1
D)4,1
(30)有以下程序(函數fun只對下標為偶數的元素進行操作)
# include<stdio.h>
void fun(int*a;int n)
{int i、j、k、t;
for (i=0;i<n一1;1+=2)
{k=i;『
for(j=i;j<n;j+=2)if(a〔j〕>a〔k])k=j;
t=a〔i];a〔i]=a〔k];a〔k]=t;
}
}
main()
{int aa「10」={1、2、3、4、5、6、7},i;
fun(aa、7);
for(i=0,i<7; i++)printf(」%d,」,aa〔i〕));
printf(」\n」);
}
程序運行後的輸出結果是
A)7,2,5,4,3,6,1
B)1,6,3,4,5,2,7
C)7,6,5,4,3,2,1
D)1,7,3,5,6;2,1
(31)下列選項中,能夠滿足「若字元串s1等於字元串s2,則執行ST"要求的是
A)if(strcmp(s2,s1)==0)ST;
B)if(sl==s2)ST;
C)if(strcpy(s l ,s2)==1)ST;
D)if(sl-s2==0)ST;
(32)以下不能將s所指字元串正確復制到t所指存儲空間的是
A)while(*t=*s){t++;s++;}
B)for(i=0;t[i]=s[i〕;i++);
C)do{*t++=*s++;}while(*s);
D)for(i=0,j=0;t[i++]=s[j++];);
(33)有以下程序( strcat函數用以連接兩個字元串)
#include<stdio.h>
#include<string .h>
main()
{char a〔20〕=」ABCD\OEFG\0」,b〔〕=」IJK」;
strcat(a,b);printf(」%s\n」,a);
}
程序運行後的輸出結果是
A)ABCDE\OFG\OIJK
B)ABCDIJK
C)IJK
D)EFGIJK
(34)有以下程序,程序中庫函數islower (ch)用以判斷ch中的字母是否為小寫字母
#include<stdio.h>
#include<ctype.h>
void fun(char*p)
{int i=0;
while (p[i〕)
{if(p[i]==』 』&& islower(p「i-1」))p[i-1]=p[i-1]-『a』+『A』;
i++;
}
}
main()
{char s1〔100〕=」ab cd EFG!」;
fun(s1); printf(」%s\n」,s1);
}
程序運行後的輸出結果是
A)ab cd EFG!
B)Ab Cd EFg!
C)aB cD EFG!
D)ab cd EFg!
(35)有以下程序
#include<stdio.h>
void fun(int x)
{if(x/2>1)fun(x/2);
printf(」%d」,x);
}
main()
{fun(7);printf(」\n」);}
程序運行後的輸出結果是
A)1 3 7
B)7 3 1
C)7 3
D)3 7
(36)有以下程序
#include<stdio.h>
int fun()
{static int x=1;
x+=1;return x;
}
main()
{int i;s=1;
for(i=1;i<=5;i++)s+=fun();
printf(」%d\n」,s);
}
程序運行後的輸出結果是
A)11
B)21
C)6
D)120
(37)有以下程序
#inctude<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)3,3,3 B)2,2,3 C)1,2,3 D)1,1,3
(38)有以下程序
#include<stdio.h>
main()
{int s,t,A=10;double B=6;
s=sizeof(A);t=sizeof(B);
printf(「%d,%d\n」,s,t);
}
在VC6平台上編譯運行,程序運行後的輸出結果是
A)2,4 B)4,4 C)4,8 D)10,6
(39)若有以下語句
Typedef struct S
{int g; char h;}T;
以下敘述中正確的是
A)可用S定義結構體變數
B)可用T定義結構體變數
C)S是struct類型的變數
D)T是struct S類型的變數
(40)有以下程序
#include<stdio.h>
main()
{short c=124;
c=c_______;
printf(「%d\n」、C);
}
若要使程序的運行結果為248,應在下劃線處填入的是
A)>>2 B)|248 C)&0248 D)<<I
二、填空題(每空2分,共30分)
請將每空的正確答案寫在答題卡【1】至【15】序號的橫線上,答在試卷上不得分。
(1)一個棧的初始狀態為空。首先將元素5,4,3,2,1依次入棧,然後退棧一次,再將元素 A,B,C,D依次入棧,之後將所有元素全部退棧,則所有元素退棧(包括中間退棧的元素)的順序為【1】
(2)在長度為n的線性表中,尋找最大項至少需要比較【2】次。
(3)一棵二叉樹有10個度為1的結點,7個度為2的結點,則該二叉樹共有【3】個結點。
(4)僅由順序、選擇(分支)和重復(循環)結構構成的程序是【4】程序。
(5)資料庫設計的四個階段是:需求分析,概念設計,邏輯設計【5】。
(6)以下程序運行後的輸出結果是【6】。
#include<stdio.h>
main()
{int a=200,b=010;
printf(」%d%d\n」,a,b);
}
(7)有以下程序
#include<stdio.h>
main()
{int x,Y;
scanf(」%2d%ld」,&x,&y);printf(」%d\n」,x+y);
}
程序運行時輸入:1234567程序的運行結果是【7】。
(8)在C語言中,當表達式值為0時表示邏輯值「假」,當表達式值為【8】時表示邏輯值「真」。
(9)有以下程序
#include<stdio.h>
main()
{int i,n[]={0,0,0,0,0};
for (i=1;i<=4;i++)
{n[i]=n[i-1]*3+1; printf(」%d ",n[i]);}
}
程序運行後的輸出結果是【9】。
(10)以下fun函數的功能是:找出具有N個元素的一維數組中的最小值,並作為函數值返回。請填空。(設N已定義)
int fun(int x〔N〕)
{int i,k=0;
for(i=0;i<N;I++)
if(x〔i〕
return x〔k〕;
}
(11)有以下程序
#include<stdio.h>
int*f(int *p,int*q);
main()
{int m=1,n=2,*r=&m;
r=f(r,&n);printf(」%d\n」,*r);
}
int*f(int *p,int*q)
{return(*p>*q)?p:q;}
程序運行後的輸出結果是【11】
(12)以下fun函數的功能是在N行M列的整形二維數組中,選出一個最大值作為函數值返回,請填空。(設M,. N已定義)
int fun(int a〔N〕[M))
{int i,j,row=0,col=0;
for(i=0;i<N;I++)
for(j=0;j
if(a〔i〕〔j〕>a〔row〕〔col〕){row=i;col=j;}
return(【12】):
}
(13)有以下程序
#include<stdio.h>
main()
{int n[2],i,j;
for(i=0;i<2;i++)n[i]=0;
for(i=0;i<2;i++)
for(j=0;j<2;j++)n〔j〕=n「i」+1;
printf(」%d\n」,n[1]);
}
程序運行後的輸出結果是【13】
(14)以下程序的功能是:藉助指針變數找出數組元素中最大值所在的位置並輸出該最大值。請在輸出語句中填寫代表最大值的輸出項。
#include<stdio.h>
main()
{int a〔10〕,*p,*s;
for(p=a;p-a<10;p++)scanf(」%d」,p);
for(p=a,s=a;p-a<10;p++)if(*p>*s)S=P;
printf("max=%d\n」,【14】);
}
(15)以下程序打開新文件f.txt,並調用字元輸出函數將a數組中的字元寫入其中,請填空。
#include<stdio.h>
main()
{【15】*fp;
char a〔5〕={』1』,』2』,』3』,』4』,』5』},i;
fp=fopen(」f .txt」,」w」);
for(i=0;i<5;i++)fputc(a[i],fp);
fclose(fp);
}
❼ 我三月份參加C語言二級考試,誰那有歷年考試試題,給我發幾份啊,上機和筆試都要。
已經發送 請注意查收
❽ 在C語言里有哪些數據類型
C語言中的數據類型:一、基本類型二、構造類型三、指針類型四、空類型其中基本類型有:整型、字元型、實型(浮點型)、枚舉類型構造類型有:數組類型、結構體類型、共用體類型
❾ 資料庫中關系結構,網狀結構,和層狀結構是什麼意思
主要是指,表和表的耦合情況