公共基礎知識
一、選擇題
(1)下列關于棧的敘述正確的是
A)棧是非線性結構 B)棧是一種樹狀結構
C)棧具有先進先出的特征 D)棧具有后進先出的特征
(2)結構化程序設計所規定的三種基本控制結構是
A)輸入、處理、輸出 B)樹形、網形、環形
C)順序、選擇、循環 D)主程序、子程序、函數
(3)結構化程序設計的一種基本方法是
A)篩選法 B)遞歸法 C)歸納法 D)逐步求精法
(4)如果對一個關系實施了一種關系運算后得到了一個新的關系,而且新的關系中屬性個數少于原來關系中屬性個數,這說明所實施的運算關系是:A)選擇 B)投影 C)連接 D)并
二、填空題
1.對于輸入為N個數進行快速排序算法的平均時間復雜度是( )
2.在面向對象方法學中,直接反映了用戶對目標系統的要求的模型是( )
3.軟件測試方法中,黑盒測試個白盒測試法是常用的方法,其中黑盒測試法主要是用于測試( )
4.關系型數據庫管理系統中存儲與管理數據的基本形式是( )
C語言程序設計
一、選擇題
(1)以下程序的輸入結果是
main( )
{ int i=010,j=10,k=x10;
printf("%d,%d,%d ",i,j,k);
}
A)8,10,16 B)8,10,10 C)10,10,10 D)10,10,16
(2)指針s所指字符串的長度
char *s=" "Name Address ";
A)說法不合法 B)19 C)18 D)15
(3)C語言中最簡單的數據類型包括
A)整型、實型、邏輯型 B)整型、實型、字符型
C)整型、字符型、邏輯型 D)整型、實型、邏輯型、字符型
(4)為表示關系x大于等于y大于等于z,應使用C語言表達式
A)(x>=Y)&&(Y>=z) B)(x>=Y)AND(y>=z) C)(x>=Y>=z) D)(x>=Y)&(Y>=z)
(5)下列對C語言字符數組的描述中錯誤的是
A)字符數組可以存放字符串 B)字符數組中的字符串可以整體輸入、輸出
C)可以在賦值語句中通過賦值運算符“=”對字符數組整體賦值 D)不可以用關系運算符對字符數組中的字符串進行比較
(6)以下說法中正確的是
A)C語言程序總是從第一個定義的函數開始執行 B)在C語言程序中,要調用的函數必須在main()函數中定義
C)C語言程序總是從main()函數開始執行 D)C語言程序中的main()函數必須放在程序的開始部分
(7)以下程序段的輸出結果是
int x=3;
do
{ printf("%3d",x-=2); }
while(!(- -x));
A)1 B)30 C)1 -2 D)死循環
(8)設有如下定義:
char *aa[2]={"abcd","ABCD"};
則以下說法中正確的是
A)aa數組元素的值分別是"abcd"和"ABCD"
B)aa是指針變量,它指向含有兩個數組元素的字符型一維數組
C)aa數組的兩個元素分別存放的是含有4個字符的一維字符數組的首地址
D)aa數組的兩個元素中各自存放了字符'a'和'A'的地址
(9)設有以下定義:
int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int (*prt)[3]=a, * p=a[0];
則下列能夠正確表示數組元素a[1][2]的表達式是
A)*((* prt + 1)[2]) B)*(*(p+5)) C)(* prt + 1)+2 D)*(*(a+1)+2)
(10)以下程序的輸出結果是
fut( int * *s,int p[2][3])
{ * *s=p[1][1]; }
main( )
{ int a[2][3]={1,3,5,7,9,11},*P;
p=(int * )malloc(sizeof(int));
fut(&p,a);
print("% ",*p);
}
A)1 B)7 C)9 D)11
二、填空題
(1)表示條件:10
(2)下列程序的輸出結果是( )
#include
main( )
{ char b[ ]="ABCDEFG";
char *chp=&b[7];
while(- -chp>&b[0])
putchar(*chp);
putchar(" ");
}
(3)下列程序的輸出結果是( )
int ast( int x,int Y,int * cp,int * dp)
{ * cp=x+y;
* dp=x-y;
}
main( )
{ int a,b,c,d;
a=4;b=3;
ast(a,b,&c,&d);
print("% d % d n",c,d);
}
(4)閱讀程序:
main( )
{ char str1[ ]="how do you do",str2[10];
char *p1=str1,*p2=str2;
scanf("% s",p2);
printf("%s",p2);
printf("%s ",p1);
}
運行上面的程序,輸入字符串 HOW DO YOU DO 則程序的輸出結果是( )
(5)以下程序由終端鍵盤輸入一個文件名,然后把從終端鍵盤輸入的字符依次存放到該文件中,用#作為結束輸入的標志。請填空。
#include
main( )
{ FILE * fp;
char ch,fname [10];
printf("Input the name of file ");
gets(fname);
gets(fname);
if((fp=[5])= =NULL)
{ printf("Cannot open "); exit(0); }
printf("Enter data ");
while((ch=getchar())!='#')
fputc([6],fp);
fclose(fp);
}
三、上機操作題
1.改錯題
下列給定程序中,函數fun的功能是:逐個比較a、b兩個字符串對應位置中的字符,把ASCII值大或相等的字符依次存放到c數組中,形成一個新的字符串。例如:若a中的字符串為:aBCDeFgH,b中的字符串為:ABcd,則c中的字符串應為:aBcdeFgH.請改正程序中的錯誤,使它能得到正確結果,注意:不要改動main函數,不得增行或刪行,也不得更改程序的結構。
試題程序:
#include
#include
void fun (char *p, char *q, char *c)
{ int k=1;
while(*p! = *q)
{ if ( *p!< *q) c[k]= *q;
else c[k]= *p;
if(*p) p++;
if(*q) q++;
k++;
}
}
main( )
{ char a[10]="aBCDeFfH",b[10]="ABcd",c[80]={" 0"};
fun (a,b,c);
printf("The string a:");puts (a);
ptintf("The string b:");puts (b);
printf("The result :");puts(c);
2.編程題
請編寫函數fun,它的功能是:求出1到1000之內能被7或11整除、但不能同時被7和11整除的所有整數并將它們放在a所指的數組中,通過n返回這些數的個數。注意:部分源程序給出如下。請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填入所編寫的若干語句。
試題程序:
# include < conio.h>
# include < stdio.h>
void fun ( int *a, int *n)
{
}
main( )
{ int aa[1000],n,k;
clrscr( );
fun (aa,&n);
for (k=0;k
else printf("%5d",aa[k]);
}
二級(C語言程序設計)樣題參考答案
公共基礎知識
一、選擇題
(1)D (2)C (3)D (4)B
二、填空題
(1)[1]O(Nlog2 N)
(2)[2]功能模型
(3)[3]軟件外部功能
(4)[4]二維表
C語言程序設計
一、選擇題
(1)A (2)D (3)B (4)A (5)C (6)C (7)C (8)D (9)D (10)C
二、填空題
(1)[1] (x>10&&x<100)//x<0
或(10
或0>x//(10
(2)[2]GFEDCB
(3)[3] 7 1
(4)[4]HOW how do you do (說明:HOW和how之間有無空格均可)
(5)[5]fopen(fname,"w")
(說明:"w"內以w開頭的字符串均可)
[6] ch
·2009年9月計算機等考二級VB模擬題及解析(13) (2009-9-18 11:13:52)
·2009年9月計算機等級考試二級C語言模擬試題(13) (2009-9-18 10:49:55)
·2009年9月計算機等級考試二級C++模擬試題(4) (2009-9-17 11:45:15)
·2009年9月計算機等考二級VB模擬題及解析(12) (2009-9-17 11:28:27)
·2009年9月計算機等級考試二級C語言模擬試題(12) (2009-9-17 11:01:48)