- 相關(guān)推薦
2016下半年計算機考試二級C筆試試題(文字版)
一、選擇題
(1)下列敘述中正確的是
A)對長度為 n的有序鏈表進(jìn)行查找,最壞清況下需要的比較次數(shù)為 n
B)對長度為 n的有序鏈表進(jìn)行對分查找,最壞情況下需要的比較次數(shù)為 (n/2)
C)對長度為 n的有序鏈表進(jìn)行對分查找,最壞情況下需要的比較次數(shù)為 (log2n)
D)對長度為 n的有序鏈表進(jìn)行對分查找,最壞情況下需要的比較次數(shù)為 (nlog2n)
(2)算法的時問復(fù)雜度是指
A)算法的執(zhí)行時間
B)算法所處理的數(shù)據(jù)量
C)算法程序中的語司或指令條數(shù)
D)算法在執(zhí)行過程中所需要的基本運算次數(shù)
(3)軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件 (或工具軟件 )。下面屬于系統(tǒng)軟件的是
A)編輯軟件
B)操作系統(tǒng)
C)教務(wù)管理系統(tǒng)
D)瀏覽器
(4)軟件 (程序 )調(diào)試的任務(wù)是
A)診斷和改正程序中的錯誤
B)盡可能多地發(fā)現(xiàn)程序中的錯誤
C)發(fā)現(xiàn)并改正程序中的所有錯誤
D)確定程序中錯誤的性質(zhì)
(5)數(shù)據(jù)流程圖 (DFD圖 )是
A)軟件概要設(shè)計的工具
B)軟件詳細(xì)設(shè)計的工具
C)結(jié)構(gòu)化方法的需求分析工具
D)面向?qū)ο蠓椒ǖ男枨蠓治龉ぞ?/p>
(6)軟件生命周期可分為定義階段,開發(fā)階段和維護(hù)階段。詳細(xì)設(shè)計屬于
A)定義階段
B)開發(fā)階段
C)維護(hù)階段
D)上述三個階段
(7)數(shù)據(jù)庫管理系統(tǒng)中負(fù)責(zé)數(shù)據(jù)模式定義的語言是
A)數(shù)據(jù)定義語言
B)數(shù)據(jù)管理語言
C)數(shù)據(jù)操縱語言
D)數(shù)據(jù)控制語言
(8)在學(xué)生管理的關(guān)系數(shù)據(jù)庫中,存取一個學(xué)生信息的數(shù)據(jù)單位是
A)文件
B)數(shù)據(jù)庫
C)字段
D)記錄
(9)數(shù)據(jù)庫設(shè)計中,用 E-R圖來描述信息結(jié)構(gòu)但不涉及信息在計算機中的表示,它屬于數(shù)據(jù)庫設(shè)計的
A)需求分析階段
B)邏輯設(shè)計一階段
C)概念設(shè)計階段
D)物理設(shè)計階段
(10)有兩個關(guān)系 R和 T如下:
則由關(guān)系 K得到關(guān)系 T的操作是
A)選擇
B)投影
C)交
D)并
(11)以下敘述正確的是
A)C語言程序是由過程和函數(shù)組成的
B)C語言函數(shù)可以嵌套調(diào)用,例如: fun(fun(x))
C)C語言函數(shù)不可以單獨編譯
D)C語言中除了 main函數(shù),其他函數(shù)不可作為單獨文件形式存在
(12)以下關(guān)于 C語言的敘述中正確的是
A)C語言中的注釋不可以夾在變量名或關(guān)鍵字的中間
B)C語言中的變量可以在使用之前的任何位置進(jìn)行定義
C)在 C語言算術(shù)表達(dá)式的書寫中,運算符兩側(cè)的運算數(shù)類型必須一致
D)C語言的數(shù)值常量中夾帶空格不影響常量值的正確表示
(13)以下 C語言用戶標(biāo)識符中,不合法的是
A)_1
B)AaBc
C)a_b
D)a— b
(14)若有定義: double a=22;int i=0,k=18;,則不符合 C語言規(guī)定的賦值語句是
A)a=a++,i++;
B)i=(a+k)<=(i+k);
C)i=a%11;
D)i=!a;
(15)有以下程序
#include
main()
{ chara,b,c,d;
scanf(“ %c%c” ,&a,&b);
c=getchar();d=getchar();
printf(“ %c%c%c%c\n” ,a,b,c,d);
}
當(dāng)執(zhí)行程序時,按下列方式輸入數(shù)據(jù) (從第 1列開始,代表回車,注意:回車也是一個字符 )
12
34
則輸出結(jié)果是
A)1234
B)12
C)12
3
D)12
34
(16)以 i關(guān)于 C語言數(shù)據(jù)類型使用的敘述中錯誤的是
A)若要準(zhǔn)確無誤差的表示自然數(shù),應(yīng)使用整數(shù)類型
B)若要保存帶有多位小數(shù)的數(shù)據(jù),應(yīng)使用雙精度類型
C)若要處理如“人員信息”等含有不同類型的相關(guān)數(shù)據(jù),應(yīng)自定義結(jié)構(gòu)體類型
D)若只處理“真”和“假”兩種邏輯值,應(yīng)使用邏輯類型
(17)若 a是數(shù)值類型,則邏輯表達(dá)式 (a==1)||(a!=1)的值是
A)1
B)0
C)2
D)不知道 a的值,不能確定
(18)以下選項中與 if(a==1)a=b; else a++;語句功能不同的 switch語句是
A)switch(a)
{case:a=b;break;
default:a++;
。
B)switch(a==1)
{case0:a=b;break;
case 1:a++;
}
C)switch(a)
{default:a++;break;
case 1:a=b;
}
D)switch(a==1)
{case1:a=b;break;
case 0:a++;
}
(19)有如下嵌套的 if語句
if (a
if(a
else k=c;
else
if(b
else k=c;
以下選項中與上述 if語句等價的語句是
A)k=(a
B)k=(ac)?b:c);
C)k=(a
D)k=(a
(20)有以下程序
#include
main()
{in i,j,m=1;
for(i=1;i<3;i++)
{for(j=3;j>O;j--)
{if(i*j)>3)break;
m=i*j;
}
}
printf("m=%d\n",m);
。
程序運行后的輸出結(jié)果是
B)m=2
C)m=4
D)m=5
(21)有以下程序
#include(stdio.h>
main()
{inta=l;b=2;
for(;a<8;a++){b+=a;a+=2;}
printf("%d, %d\n", a, b);
}
程序運行后的輸出結(jié)果是
A)9, 18
B)8, 11
C)7, 11
D)10, 14
(22)有以下程序,其中 k的初值為八進(jìn)制數(shù)
#include
main()
{int k=011;
printf("%d\n", k++);
}
程序運行后的輸出結(jié)果是
A)12
B)11
C)10
D)9
(23)下列語句組中,正確的是
A)char*s;s="Olympic";
B)chars[7];s="Olympic";
C)char*s;s={"Olympic"} ;
D)chars[7];s={"Olympic"} ;
(24)以下關(guān)于 return語句的敘述中正確的是
A)一個自定義函數(shù)中必須有一條 return語句
B)一個自定義函數(shù)中可以根據(jù)不同情況設(shè)置多條 return語句
C)定義成 void類型的函數(shù)中可以有帶返回值的 return語句
D)沒有 return語句的自定義函數(shù)在執(zhí)行結(jié)束時不能返回到調(diào)用處
(25)下列選項中,能正確定義數(shù)組的語句是
A)int num[0..2008];
B)int num[];
C)int N=2008;
int num[N];
D)#define N 2008
int num[N];
(26)有以下程序
#include
voidfun(char *c,int d)
{*c=*c+1;d=d+1;
printf("%c,%c,",*c,d);
main()
{charb='a',a='A';
fun(&b,a);printf("%e,%e\n",b, a);
。
程序運行后的輸出結(jié)果是
A)b, B, b, A
B)b, B, B, A
C)a, B, B, a
D)a, B, a, B
(27)若有定義 int(*Pt)[3];,則下列說法正確的是 A)定義了基類型為 int的三個指針變量
B)定義了基類型為 int的具有三個元素的指針數(shù)組 pt
C)定義了一個名為 *pt、具有三個元素的整型數(shù)組
D)定義了一個名為 pt的指針變量,它可以指向每行有三個整數(shù)元素的二維數(shù)組
(28)設(shè)有定義 double a[10],*s=a;,以下能夠代表數(shù)組元素 a[3]的是
A)(*s)[3]
B)*(s+3
C)*s[3]
D)*s+3
(29)有以下程序
#include(stdio.h)
main()
{inta[5]={1,2,3,4,5} ,b[5]={O,2,1,3,0} ,i,s=0;
for(i=0;i<5;i++)s=s+a[b[i]]);
printf("%d\n",s);
}
程序運行后的輸出結(jié)果是
A)6
B)10
C)1
D)15
(30)有以下程序
#include
main()
{int b[3][3]={O,1,2,0,1,2,O,1,2} ,i,j,t=1;
for(i=0;i<3;i++)
for(j=ij<=1;j++)t+=b[i][b[j][i]]
printf("%d\n",t);
。
程序運行后的輸出結(jié)果是
A)1
B)3
C)4
D)9
(31)若有以下定義和語句
chars1[10]="abcd!",*s2="\n123\\";
printf("%d%d\n", strlen(s1),strlen(s2));
則輸出結(jié)果是
A)5 5
B)10 5
C)10 7
D)5 8
(32)有以下程序
#include
#define N 8
void fun(int*x,int i)
{*x=*(x+i);
main()
{inta[N]={1,2,3,4,5,6,7,8} ,i;
fun(a,2);
for(i=O;i
{printf("%d",a[i]);}
printf("\n");
}
程序運行后的輸出結(jié)果是
A)1313
B)2234
C)3234
D)1234
(33)有以下程序
#include
int f(intt[],int n);
main
{ inta[4]={1,2,3,4},s;
s=f(a,4);printf("%d\n",s);
}
int f(int t[],int n)
{ if(n>0)return t[n-1]+f(t,n-1);
else return0;
}
程序運行后的輸出結(jié)果是
A)4
B)1O
C)14
D)6
(34)有以下程序
#include
int fun()
{ static intx=1;
x*2; returnx;
}
main()
{int i,s=1,
for(i=1;i<=2;i++)s=fun();
printf("%d\n",s);
}
程序運行后的輸出結(jié)果是
A)O
B)1
C)4
D)8
(35)有以下程序
#include
#defineSUB(a) (a)-(a)
main()
{ inta=2,b=3,c=5,d;
d=SUB(a+b)*c;
printf("%d\n",d);
}
程序運行后的輸出結(jié)果是
A)0
B)-12
C)-20
D)10
(36)設(shè)有定義 :
structcomplex
{ intreal,unreal;} data1={1,8},data2;
則以下賦值語句中錯誤的是
A)data2=data1;
B)data2=(2,6);
C)data2.real=data1.real;
D)data2.real=data1.unreal;
(37)有以下程序
#include
#include
struct A
{ int a; charb[10]; double c;};
voidf(struct A t);
main()
{ struct Aa={1001,"ZhangDa",1098.0};
f(a);printf("%d,%s,%6.1f\n",a.a,a.b,a.c);
}
voidf(struct A t)
{ t.a=1002;strcpy(t.b,"ChangRong");t.c=1202.0;}
程序運行后的輸出結(jié)果是
A)1001,zhangDa,1098.0
B)1002,changRong,1202.0
C)1001,ehangRong,1098.O
D)1002,ZhangDa,1202.0
(38)有以下定義和語句
structworkers
{ intnum;char name[20];char c;
struct
{int day;int month; int year;} s;
。 ;
structworkers w,*pw;
pw=&w;
能給 w中 year成員賦 1980的語句是
A)*pw.year=198O;
B)w.year=1980;
C)pw->year=1980;
D)w.s.year=1980;
(39)有以下程序
#include
main()
{ inta=2,b=2,c=2;
printf("%d\n",a/b&c);
}
程序運行后的輸出結(jié)果是
A)O
B)1
C)2
D)3
(40)有以下程序
#include
main()
{ FILE*fp;char str[10];
fp=fopen("myfile.dat","w");
fputs("abc",fp);fclose(fp);
fpfopen("myfile.data","a++");
fprintf(fp,"%d",28);
rewind(fp);
fscanf(fp,"%s",str);puts(str);
fclose(fp);
}
程序運行后的輸出結(jié)果是
A)abc
B) 28c
C) abc28
D)因類型不一致而出錯
二、填空題
(1)一個隊列的初始狀態(tài)為空,F(xiàn)將元素 A, B, C, D, E, F, 5, 4, 3, 2, 1依次入隊,然后再依次退隊,則元素退隊的順序為 【 1】 。
(2)設(shè)某循環(huán)隊列的容量為 50,如果頭指針 front=45(指向隊頭元素的前一位置 ),尾指針 rear=10(指向隊尾元素 ),則該循環(huán)隊列中共有 【 2】 個元素。
(3)設(shè)二叉樹如下:
對該二叉樹進(jìn)行后序遍歷的結(jié)果為 【 3】 。
(4)軟件是 【 4】 、數(shù)據(jù)和文檔的集合。
(5)有一個學(xué)生選課的關(guān)系,其中學(xué)生的關(guān)系模式為:學(xué)生 (學(xué)號,姓名,班級,年齡 ),課程的關(guān)系模式為:課程 (課號,課程名,學(xué)時 ),其中兩個關(guān)系模式的鍵分別是學(xué)號和課號,則關(guān)系模式選課可定義為:選課 (學(xué)號, 【 5】 ,成績 )。
(6)設(shè) x為 int型變量,請寫出一個關(guān)系表達(dá)式 【 6】 ,用以判斷 x同時為 3和 7的倍數(shù)時,關(guān)系表達(dá)式的值為真。
(7)有以下程序
#include
main()
{ inta=1,b=2,c=3,d=0;
if(a==1)
if(b!=2)
if(c==3)d=1;
else d=2;
elseif(c!=3) d=3;
else d=4;
else d=5;
printf(“ %d\n” ,d);
}
程序運行后的輸出結(jié)果是 【 7】 。
(8)有以下程序
#include
main()
{ int m,n;
scanf("%d%d",&m,&n);
while(m!=n)
{while(m>n) m=m-n;
while(m
}
printf(“ %d\n” ,m);
}
程序運行后,當(dāng)輸入 1463 <回車 > 時,輸出結(jié)果是 【 8】 。
(9)有以下程序
#include
main()
{ inti,j,a[][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
for(j=i;j<3;j++)printf(“ %d%,a[i][j]);
printf("\n");
}
程序運行后的輸出結(jié)果是 【 9】 。
(10)有以下程序
#include
main()
{ inta[]={1,2,3,4,5,6},*k[3],i=0;
while(i<3)
{k[i]=&a[2*i];
printf("%d",*k[i]);
i++;
}
}
程序運行后的輸出結(jié)果是 【 10】 。
(11)有以下程序
#include
main()
{ inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};
intb[3]={0},i;
for(i=0;i<3;i++)b[i]=a[i][2]+a[2][i];
for(i=0;i<3;i++)printf("%d",b[i]);
printf("\n");
}
程序運行后的輸出結(jié)果是 【 11】 。
(12)有以下程序
#include
#include
voidfun(char *str)
{ chartemp;int n,i;
n=strlen(str);
temp=str[n-1];
for(i=n-1;i>0;i--)str[i]=str[i-1];
str[0]=temp;
}
main()
{ chars[50];
scanf("%s",s);fun(s); printf("%s\n",s);}
程序運行后輸入: abcdef<回車 >,則輸出結(jié)果是 【 12】 。
(13)以下程序的功能是:將值為三位正整數(shù)的變量 x中的數(shù)值按照個位、十位、百位的順序拆分并輸出。請?zhí)羁铡?/p>
#include
main()
{ int x=256;
printf("%d-%d-%d\n",【 13】 ,x/10%10,x/100);
}
(14)以下程序用以刪除字符串所有的空格,請?zhí)羁铡?/p>
#include
main()
{ chars[100]={"Our teacher teach C language!"};int i,j;
for(i=j=0;s[i]!=’ \0’ ;i++)
if(s[i]!= '') {s[j]=s[i];j++;}
s[j]= 【 14】
printf(“ %s\n” ,s);
}
(15)以下程序的功能是:借助指針變量找出數(shù)組元素中的最大值及其元素的下標(biāo)值。請?zhí)羁铡?/p>
#include
main()
{ inta[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= 【 15】 ;
printf(“ index=%d\n” ,s-a);
}
【下半年計算機考試二級C筆試試題文字版】相關(guān)文章:
計算機二級考試C++試題03-09
計算機二級考試C++試題及答案03-27
2017下半年計算機二級C++考試試題03-06
2017計算機二級C++考試試題03-05
計算機二級C語言考試試題及答案03-08
計算機二級C語言考試上機沖刺試題及答案03-03