- 計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)題庫(kù)及答案 推薦度:
- 相關(guān)推薦
2016年計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)題庫(kù)
一、選擇題
1.下列敘述中正確的是( )。
A.數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)必定是一一對(duì)應(yīng)的
B.由于計(jì)算機(jī)存儲(chǔ)空間是向量式的存儲(chǔ)結(jié)構(gòu),因此,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)一定是線性結(jié)構(gòu)
C.程序設(shè)計(jì)語(yǔ)言中的數(shù)組一般是順序存儲(chǔ)結(jié)構(gòu),因此,利用數(shù)組只能處理線性結(jié)構(gòu)
D.以上三種說(shuō)法都不對(duì)
2.軟件按功能可以分為應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件),下面屬于系統(tǒng)軟件的是( )。
A.編輯軟件
B.操作系統(tǒng)
C.教務(wù)管理系統(tǒng)
D.瀏覽器
3.下列敘述中正確的是( )。
A.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行查找,最壞情況下需要的比較次數(shù)為n
B.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為(n/2)
C.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為(log2n)
D.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為(nlog2n)
4.軟件(程序)調(diào)試的任務(wù)是( )。
A.診斷和改正程序中的錯(cuò)誤
B.盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤
C.發(fā)現(xiàn)并改正程序中的所有錯(cuò)誤
D.確定程序中錯(cuò)誤的性質(zhì)
5.數(shù)據(jù)流程圖(DFD)是( )。
A.軟件概要設(shè)計(jì)的工具
B.軟件詳細(xì)設(shè)計(jì)的工具
C.結(jié)構(gòu)化方法的需求分析工具
D.面向?qū)ο蠓椒ǖ男枨蠓治龉ぞ?/p>
6.軟件生命周期可分為定義階段、開發(fā)階段和維護(hù)階段。詳細(xì)設(shè)計(jì)屬于( )。
A.定義階段
B.開發(fā)階段
C.維護(hù)階段
D.上述三個(gè)階段
7.數(shù)據(jù)庫(kù)管理系統(tǒng)中負(fù)責(zé)數(shù)據(jù)模式定義的語(yǔ)言是( )。
A.數(shù)據(jù)定義語(yǔ)言
B.數(shù)據(jù)管理語(yǔ)言
C.數(shù)據(jù)操縱語(yǔ)言
D.數(shù)據(jù)控制語(yǔ)言
8.在學(xué)生管理的關(guān)系數(shù)據(jù)庫(kù)中,存取一個(gè)學(xué)生信息的數(shù)據(jù)單位是( )。
A.文件
B.數(shù)據(jù)庫(kù)
C.字段
D.記錄
9.數(shù)據(jù)庫(kù)設(shè)計(jì)中,用E—R圖來(lái)描述信息結(jié)構(gòu)但不涉及信息在計(jì)算機(jī)中的表示,它屬于數(shù)據(jù)庫(kù)設(shè)計(jì)的( )。
A.需求分析階段
B.邏輯設(shè)計(jì)階段
C.概念設(shè)計(jì)階段
D.物理設(shè)計(jì)階段
10.有兩個(gè)關(guān)系R和T如下:
則由關(guān)系R得到關(guān)系T的操作是( )。
A.選擇 B.投影
C.交
D.并
11.以下敘述正確的是( )。
A.C語(yǔ)言程序是由過(guò)程和函數(shù)組成的
B.C語(yǔ)言函數(shù)可以嵌套調(diào)用,例如:fun(fun(x))
C.C語(yǔ)言函數(shù)不可以單獨(dú)編譯
D.C語(yǔ)言中除了main函數(shù),其他函數(shù)不可作為單獨(dú)文件形式存在
12.以下關(guān)于C語(yǔ)言的敘述中正確的是( )。
A.C語(yǔ)言中的注釋不可以?shī)A在變量名或關(guān)鍵字的中間
B.C語(yǔ)言中的變量可以在使用之前的任何位置進(jìn)行定義
C.在C語(yǔ)言算術(shù)表達(dá)式的書寫中,運(yùn)算符兩側(cè)的運(yùn)算數(shù)類型必須一致
D.C語(yǔ)言的數(shù)值常量中夾帶空格不影響常量值的正確表示
13.以下C語(yǔ)言用戶標(biāo)識(shí)符中,不合法的是( )。
A._1
B.AaBc
C.a b
D.a--b
14.若有定義:“double a=22;int i=0,k=18;”,則不符合C語(yǔ)言規(guī)定的賦值語(yǔ)句
是( )。
A.a=a++,i++;B.i=(a+k)<=(i+k);
C.i=a%11;D.i=!a;
15.有以下程序:
#include(stdio.h>
main( )
{char a,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í),按下列方式輸入數(shù)據(jù)(從第l列開始,代表回車j注意:回車也是
一個(gè)字符)
12
34
則輸出結(jié)果是( )。
A.1234B.12
C.12D.12
3 34
16.以下關(guān)于C語(yǔ)言數(shù)據(jù)類型使用的敘述中錯(cuò)誤的是( )。-
A.若要準(zhǔn)確無(wú)誤差地表示自然數(shù),應(yīng)使用整數(shù)類型
B.若要保存帶權(quán)多位小數(shù)的數(shù)據(jù),應(yīng)使用雙精度類型
C.若要處理如“人員信息”等含有不同類型的相關(guān)數(shù)據(jù),應(yīng)自定義結(jié)構(gòu)體類型
D.若只處理“真”和“假”兩種邏輯值,應(yīng)使用邏輯類型
17.若a是數(shù)值類型,則邏輯表達(dá)式(a= =1)I I(a!=1)的值是( )。
A.1
B.0
C.2
D.不知道a的值,不能確定
18.以下選項(xiàng)中與“if(a= =l)a=b;else a++;”語(yǔ)句功能不同的switch語(yǔ)句是( )。
A.switch(a) B.switch(a= =l)
{case l:a=b;break;{case 0:a=b;break;
default:a++; case l:a++;
}
C.switch(a) D.switch(a= =l)
{default:a++;break; {case l:a=b;break;
case l:a=b; case 0:a++;
}
19.有如下嵌套的if語(yǔ)句:
if(aif(aelse k=C:
else
if(belse k=C;
以下選項(xiàng)中與上述if語(yǔ)句等價(jià)的語(yǔ)句是( )。
A.k=(aB.k=(ac)?b:c);
C.k=(aD.k=(a20.有以下程序:
#include
main( )
{int i,j,m=1;
for(i=1;i<3;i++)
{for(j=3;j>0;j--)
{if(i*j>3)break;
m*=i+j;
}
)
printf("m=%d\n",m);
)
程序運(yùn)行后的輸出結(jié)果是( )。
A.m=6
B.m=2
C.m=4
D.m=3
21.有以下程序:
#include
main( )
{int a=1,b=2;
for(;a<8;a++){b+=a;a+=2;)
printf("%d,%d\n",a,b);
)
程序運(yùn)行后的輸出結(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++};
}
程序運(yùn)行后的輸出結(jié)果是( )。
A.12
B.11
C.10
D.9
23.下列語(yǔ)句組中,正確的是( )。
A.char*s;s="Olympic";
B.char sE73;s="Olympic";
C.char*S;s={¨Olympic"};
D.char sET3;s={"Olympic"};
24.以下關(guān)于return語(yǔ)句的敘述中正確的是( )。
A.一個(gè)自定義函數(shù)中必須有一條return語(yǔ)句
B.一個(gè)白定義函數(shù)中可以根據(jù)不同情況設(shè)置多條return語(yǔ)句
C.定義成void類型的函數(shù)中可以有帶返回值的return語(yǔ)句
D.沒有return語(yǔ)句的自定義函數(shù)在執(zhí)行結(jié)束時(shí)不能返回到調(diào)用處
25.下列選項(xiàng)中,能正確定義數(shù)組的語(yǔ)句是( )。
A.int num[0..2008];
B.int num [];
C.int N=2008;int num[N];
D.#define N 2008; int num[N];
26.有以下程序:
#include
void fun(char*C,int d)
{*c=*c+1,d=d+1;
printf(%"c%,c",*c,d);
}
main( )
{char b=’a’a=’A’;
fun(&b,a);printf(%"c,%c\n",b,a);
)
程序運(yùn)行后的輸出結(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];",則下列說(shuō)法正確的是( )。
A.定義了基類型為int的三個(gè)指針變量
B.定義了基類型為int的具有三個(gè)元素的指針數(shù)組pt
C.定義了一個(gè)名為*pt、具有三個(gè)元素的整型數(shù)組
D.定義了一個(gè)名為pt的指針變量,它可以指向每行有三個(gè)整數(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
main( )
{int a[5]={1,2,3,4,5),b[5]={0,2,1,3,o},i,s=0;
for(i=o;i<5;i++)s=s+a[b[i]];
printf(”%d\n”,s);
)
程序運(yùn)行后的輸出結(jié)果是( )。
A.6
B.10
C.11
D.15
30.有以下程序:
#include
main( )
{int b[3][3]=(0,1,2,0,1,2,0,1,2},i,j,t=l;
for(i=0;i<3;i++)
for(j=1;j<=i;j++)t+=b[i][b[j][i]];
printf("%d\n",t);
)
程序運(yùn)行后的輸出結(jié)果是( )。
A.1
B.3
C.4
D.0
31.若有以下定義和語(yǔ)句:
char s [10]="abcd!",*s2="\nl23\\";
Drintf("%d%d\n",strlen(sl),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( )
{ int a[N]={1,2,3,4,5,6,7,8},i;
fun(a,2);
for(i=0;i{printf("Ha",a[i]);}
printf("\n");
)
程序運(yùn)行后的輸出結(jié)果是( )。
A.1313
B.2234
C.3234
D.1234
33.有以下程序:
#include
int f(int t[],int n);
main( )
{int a[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 return 0;
)
程序運(yùn)行后的輸出結(jié)果是( )。
A.4
B.10
C.14
D.6
34.有以下程序:
#include
int fun( )
{static int x=1;
X*=2;return X;
main( )
{int i,S=1;
for(i=1;i<=2;i++)s=fun( );
printf{¨%d\n",s);
)
程序運(yùn)行后的輸出結(jié)果是( )。
A.0
B.1
C.4
D.8
35.有以下程序:
#include
#define SUB(a)(a)-(a)
main( )
{int a=2,b=3,c=5,d;
d=SUB(a+b)*C;
printf("%d\n",d);
)
程序運(yùn)行后的輸出結(jié)果是( )。
A.0
B.-l2
C.-20
D.10
36.設(shè)有定義:
struet complex
{int real,unreal;)datal={1,8},data2;
則以下賦值語(yǔ)句中錯(cuò)誤的是( )。
A.data2=datal;
B.data2={2,6};
C.data2.real=datal.real;
D.data2.real=datal.unreal;
37.有以下程序:
#include
#include
struct A
{int a;char b[10];double C;);
void f(struct A t);
main( )
{struct A a={"1001,"ZhangDa",l098,0};
f(a);printf("%d,%S,%6.1f\n",a.a,a.b,a.c);}
void f(struct A t)
{t.a=1002;strcpy(t.b,"ChangRon9");t.c=1202.0;}
程序運(yùn)行后的輸出結(jié)果是( )。
A.1001,ZhangDa,1098.0
B.1002,ChangRong,1202.0
C.1001,ChangRong,1098.0
D.1002,ZhangDa,1202.0
38.有以下定義和語(yǔ)句:
struct workers
{int num;char name[20];char C;
struct
(int day;int month;int year;)S;
};
struct workers w,*pw;
pw=&w;
能給w中year成員賦1980的語(yǔ)句是( )。
A.*pw.year=1980;
B.w.year=1980;
C.pw->year=1980
D.w.S.year=1980;
39.有以下程序:
#include
main( )
{int a=2,b=2,C=2;
print{("%d\n",a/b&c);
}
程序運(yùn)行后的輸出結(jié)果是( )。
A.0
B.1
C.2
D.3
40.有以下程序:
#include
main( )
{FILE*fp;char str[10];
fp=fopen("myfile,dat","");
{puts("abe",ip);fclose(fp);
fp=fopen("myfile.dat","a*");
fprintf(fp,"%d",28);
rewind(fp);
fscanf(fp,"%S",str);puts(str);
fclose(fp);
}
程序運(yùn)行后的輸出結(jié)果是( )。
A.abc
B.28c
C.abc28
D.內(nèi)類型不一致而出錯(cuò)
二、基本操作題
請(qǐng)補(bǔ)充main( )函數(shù),該函數(shù)的功能是:如果數(shù)組arr的前一個(gè)元素比后一個(gè)元素小,則把它保存在數(shù)組bb中并輸出。
例如,若數(shù)組中的元素為:“40,68,62,33,35,52,48,95,66,73”,則輸出:“40,33,35,48,66”。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)函數(shù)( )main和其他函數(shù)中的任何內(nèi)容,僅在main( )函數(shù)的橫線上填入所編寫的若干表達(dá)式或語(yǔ)句。
試題程序:
#include
#include
#define M l0
void main( )
{
int i,n=0;
int arr[M]=(40,68,62,33,35,52,48,95,66,73);
int bb[M];
system("CLS");
for(i=0;i<【1】;i++)
if(arr[i]【2】;
printf("\n***display bb***\n");
for(i=0;iprintf("bb[%d]=%2d",【3】);
}
三、程序改錯(cuò)題
給定程序中,函數(shù)proc( )的功能是:使數(shù)組中的元素的值縮小5倍。
請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main( )函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#include
#include
#include
float m[lO];
//****found****
int proc(void)
{
int j;
printf("In subfunc after calling\n");
for(j=0;j<10;j++)
{
//****found****
printf("%f",m[j]%5);
}
}
void main( )
{
int i;
printf("In main before calling\n");
for(i=0;i<10;i++)
{
m[i]=i+20;
printf("%f",m[i]);
}
proc( );
printf("\nln main after calling\n");
for(i=0;i<10;i++)
printf("%f",m[i]/5);
}
四、程序設(shè)計(jì)題
學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,M名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組stu中,請(qǐng)編寫函數(shù)proc( ),其功能是:按分?jǐn)?shù)的高低排列學(xué)生的記錄,高分在前。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)main( )函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc( )的花括號(hào)中填入所編寫的若干語(yǔ)句。
試題程序:
#include
#define M l6
typedef struct
{
char num[l0];
int S;
}
STREC:
void proc(STREC a[])
{
int i,j;
STREC t;
for(i=1;i排序*/
for(j=0;jif(a[j].s的記錄,高分在前*/
{t=a[j];a[j]=a[j+1];a[j+1]=t;)
}
void main( )
{
STREC stu[M]={{"GA005",85),{"GA003",76},
{"GA002",69},{"GA004",85),{"GA001",91),
{"GA007",72),{"GA008",64),{"GA006",87),
{"GA015",85),{"GA013",91),{"GA012",64),
{¨GA014",91),{"GA011",66),{"GA017",64},
{"GA018",64),{"GA016",72}};
int i;
proc(stu);
printf("The data after sorted:\n");
for(i=0;i{
if(i%4= =0)
//每行輸出4個(gè)學(xué)生記錄
printf("n");
printf("%s%4d",stu[i],num,stu[i].s);
}
printf("\n");
}
【計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)題庫(kù)】相關(guān)文章:
2024二級(jí)c語(yǔ)言上機(jī)題庫(kù)04-18
2017計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)題庫(kù)及答案08-07
計(jì)算機(jī)二級(jí)C語(yǔ)言程序上機(jī)指導(dǎo)10-29
計(jì)算機(jī)二級(jí)C語(yǔ)言預(yù)測(cè)上機(jī)精選訓(xùn)練題07-05
計(jì)算機(jī)二級(jí)考試《C語(yǔ)言》上機(jī)答題技巧06-27
2017計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)特訓(xùn)題08-12
計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)沖刺試題及答案08-29
計(jì)算機(jī)二級(jí)VF上機(jī)題庫(kù)及答案08-15