- 9月計算機二級C語言試題題庫 推薦度:
- 相關(guān)推薦
2016年9月計算機二級c語言題庫
2016年計算機等級考試復習已拉來大幕,同學們有開始復習了嗎?復習的最好方式是多做練習,下面yjbys為大家分享最新的計算機二級C語言題庫,僅供參考!
一、選擇題((1)~(10)每小題2分,(11)~(50)每小題1分,共60分)
下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確的選項涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
(1)與十進制數(shù)200等值的十六進制數(shù)為
A) A8 B)A4 C)C8 D)C4
(2)DOS文件系統(tǒng)的組織結(jié)構(gòu)屬于
A)星形結(jié)構(gòu) B)網(wǎng)形結(jié)構(gòu) C) 環(huán)形結(jié)構(gòu) D)樹形結(jié)構(gòu)
(3)對存儲器按字節(jié)進行編址,若某存儲器芯片共有10根地址線,則該存儲器芯片的存儲容量為
A)1KB B)2KB C)4KB D)8KB
(4)在DOS環(huán)境下,代表鍵盤和顯示器的設(shè)備文件名為
A)PRN B)CON C)NUL D)LPT
(5)計算機網(wǎng)絡(luò)的主要特點是
A) 運算速度快 B)運算精度高 C)資源共享 D)人機交互
(6)磁盤處于寫保護狀態(tài)時其中的數(shù)據(jù)
A)不能讀出,不能刪改 B)可以讀出,不能刪改
C)不能讀出,可以刪改 D)可以讀出,可以刪改
(7)從Windows環(huán)境進入MS-DOS方式后,返回Windows環(huán)境的DOS命令為
A)EXIT B)QUIT C)RET D)MSDO
(8)在Windows環(huán)境下,若資源管理器左宣傳品中的某文件夾左邊標有“+”標記,則表示
A)該文件夾為空 B)該文件夾中含有子文件夾
C)該文件夾中只包含有可執(zhí)行文件 D)該文件夾中包含系統(tǒng)文件
(9)在Windows菜單中,暗淡的命令名項目表示該命令
A)暫時不能用 B)正在執(zhí)行
C)包含下一層菜單 D)包含對話框
(10)在Windows環(huán)境下,單擊當前窗口中的按鈕“× ”(右上角的關(guān)閉按鈕),其功能是
A)將當前應(yīng)用程序轉(zhuǎn)為后臺運行 B)退出Windows后再關(guān)機
C)終止當前應(yīng)用程序的運行 D)退出Windows后重新啟動計算機
(11)用C語言編寫的代碼程序
A)可立即執(zhí)行 B)是一個源程序
C)經(jīng)過編譯即可執(zhí)行 D)經(jīng)過編譯解釋才能執(zhí)行
(12)結(jié)構(gòu)化程序由三種基本結(jié)構(gòu)組成,三種基本結(jié)構(gòu)組成的算法
A)可以完成任何復雜的任務(wù) B)只能完成部分復雜的任務(wù)
C)只能完成符合結(jié)構(gòu)化的任務(wù) D)只能完成一些簡單的任務(wù)
(13)以下定義語句中正確的是
A)char a='A'b='B'; B)float a=b=10.0;
C)int a=10,*b=&a; D)float *a,b=&a;
(14)下列選項中,不能用作標識符的是
A)_1234_ B)_1_2 C)int_2_ D)2_int_
(15)有以下定義語句
double a,b; int w; long c;
若各變量已正確賦值,則下列選項中正確的表達式是
A)a=a+b=b++ B)w%(int)a+b)
C)(c+w)%(int)a D)w=a==b;
(16)有以下程序
main()
{ int m=3,n=4,x;
x=-m++;
x=x+8/++n;
printf("%d\n",x);
}
程序運行后的輸出結(jié)果是
A)3 B)5 C)-1 D)-2
(17)有以下程序
main()
{ char a='a',b;
print("%c,",++a);
printf("%c\n",b=a++);
}
程序運行后的輸出結(jié)果是
A)b,b B)b,c C)a,b D)a,c
(18)有以下程序
main()
{ int m=0256,n=256;
printf("%o %o\n",mn,n);
}
程序運行后的輸出結(jié)果是
A)0256 0400 B)0256 256 C)256 400 D)400 400
(19)有以下程序
main()
{ int a=666,b=888;
printf("%d\n",a,b);
}
程序運行后的輸出結(jié)果是
A)錯誤信息 B)666 C)888 D)666,888
(20)有以下程序
main()
{ int i;
for(i=0;i<3;i++)
switch(i)
{
case 0:printf("%d",i);
case 2:printf("%d",i);
default:printf("%d",i);
}
}
程序運行后的輸出結(jié)果是
A)022111 B)021021 C)000122 D)012
(21)若x和y代表整型數(shù),以下表達式中不能正確表示數(shù)學關(guān)系|x-y|<10的是
A)abs(x-y)<10 B)x-y>-10&& x-y<10
C)@(x-y)<-10||!(y-x)>10 D)(x-y)*(x-y)<100
(22)有以下程序
main()
{
int a=3,b=4,c=5,d=2;
if(a>b)
if(b>c)
printf("%d",d++ +1);
else
printf("%d",++d +1);
printf("%d\n",d);
}
程序運行后的輸出結(jié)果是
A)2 B)3 C)43 D)44
(23)下列條件語句中,功能與其他語句不同的是
A) if(a) printf("%d\n",x); else printf("%d\n",y);
B) if(a==0) printf("%d\n",y); else printf("%d\n",x);
C) if (a!=0) printf("%d\n",x); else printf("%d\n",y);
D) if(a==0) printf("%d\n",x); else printf("%d\n",y);
(24)有以下程序
main()
{ int i=0,x=0;
for (;;)
{
if(i==3||i==5) continue;
if (i==6) break;
i++;
s+=i;
};
printf("%d\n",s);
}
程序運行后的輸出結(jié)果是
A)10 B)13 C)21 D)程序進入死循環(huán)
(25)若變量已正確定義,要求程序段完成求5!的計算,不能完成此操作的程序段是B
A)for(i=1,p=1;i<=5;i++) p*=i;
B)for(i=1;i<=5;i++){ p=1; p*=i;}
C)i=1;p=1;while(i<=5){p*=i; i++;}
D)i=1;p=1;do{p*=i; i++; }while(i<=5);
(26)有以下程序
main()
{ char a,b,c,d;
scanf("%c,%c,%d,%d",&a,&b,&c,&d);
printf("c,%c,%c,%c\n",a,b,c,d);
}
若運行時從鍵盤上輸入:6,5,65,66。則輸出結(jié)果是
A)6,5,A,B B)6,5,65,66 C)6,5,6,5 D)6,5,6,6
(27)以下能正確定義二維數(shù)組的是
A)int a[][3]; B)int a[][3]=2{2*3};
C)int a[][3]={}; D)int a[2][3]={{1},{2},{3,4}};
(28)有以下程序
int f(int a)
{ return a%2; }
main()
{ int s[8]={1,3,5,2,4,6},i,d=0;
for (i=0;f(s);i++) d+=s;
printf("%d\n",d);
}
程序運行后的輸出結(jié)果是
A)9 B)11 C)19 D)21
(29)若有以下說明和語句,int c[4][5],(*p)[5];p=c;能正確引用c數(shù)組元素的是
A)p+1 B)*(p+3)
C)*(p+1)+3 D)*(p[0]+2))
(30)有以下程序
main()
{ int a=7,b=8,*p,*q,*r;
p=&a;q=&b;
r=p; p=q;q=r;
printf("%d,%d,%d,%d\n",*p,"q,a,b);
}
程序運行后的輸出結(jié)果是
A)8,7,8,7 B)7,8,7,8 C)8,7,7,8 D)7,8,8,7
(31)s12和s2已正確定義并分別指向兩個字符串。若要求:當s1所指串大于s2所指串時,執(zhí)行語 句S;則以下選項中正確的是
A)if(s1>s2)S; B)if(strcmp(s1,s2))S;
C)if(strcmp(s2,s1)>0)S; D)if(strcmp(s1,s2)>0)S;
(32)設(shè)有定義語句
int x[6]={2,4,6,8,5,7},*p=x,i;
要求依次輸出x數(shù)組6個元素中的值,不能完成此操作的語句是
A)for(i=0;i<6;i++) printf("%2d",*(p++));
B)for(i=0;i<6;i++) printf("%2d",*(p+i));
C)for(i=0;i<6;i++) printf("%2d",*p++);
D)for(i=0;i<6;i++) printf("%2d",(*p)++);
(33)有以下程序
#include
main()
{int a[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL;
*q=*(p+5);
printf("%d %d\n",*p,*1);
}
程序運行后的輸出結(jié)果是
A)運行后報錯 B)6 6 C)6 11 D)5 10
(34)有以下定義和語句
int a[3][2]={1,2,3,4,5,6,},*p[3];
p[0]=a[1];
則*p[0]+1)所代表的數(shù)組元素是
A)a[0][1] B)a[1][0] C)a[1][1] D)a[1][2]
(35)有以下程序
main()
{char str[][10]={"China","Beijing"},*p=str;
printf("%s\n",p+10);
}
程序運行后的輸出結(jié)果是
A) China B)Bejing C)ng D)ing
(36)有以下程序
main()
{char s[]="ABCD",*p;
for(p=s+1;p
}
程序運行后的輸出結(jié)果是
A) ABCD B)A C)B D)BCD
BCD B C CD
CD C D D
D D
(37)在函數(shù)調(diào)用過程中,如果函數(shù)funA調(diào)用了函數(shù) funB,函數(shù)funB又調(diào)用了函數(shù)funA,則
A)稱為函數(shù)的直接遞歸調(diào)用 B)稱為函數(shù)的間接遞歸調(diào)用
C)稱為函數(shù)的循環(huán)調(diào)用 D)C語言中不允許這樣的遞歸調(diào)用
(38)已有定義:int i,a[10],*p;,則合法的賦值語句是
A)p=100; B)p=a[5]; C)p=a[2]+2; D)p=a+2;
(39)以下敘述中正確的是
A)局部變量說明為static存儲數(shù),其生存期將得到延長
B)全局變量說明為static存儲類,其作用域?qū)⒈粩U大
C)任何存儲類的變量在未賦初值時,其值都是不確定的
D)形參可以使用的存儲類說明符與局部變量完全相同
(40)設(shè)有定義語句:char c1=92,c2=92;,則以下表達式中值為零的是
A)c1^c2 B)c1&c2 C)~c2 D)c1|c2
(41)程序中對fun函數(shù)有如下說明
void *fun();
此說明的含義是:
A)fun了數(shù)無返回值
B)fun函數(shù)的返回值可以是任意的數(shù)據(jù)類型
C)fun函數(shù)的返回值是無值型的指針類型
D)指針fun指向一個函數(shù),該函數(shù)無返回值
(42)有以下程序
main()
{ char s[]"Yes\n/No",*ps=s;
puts(ps+4);
*(ps+4)=0;
puts(s);
}
程序運行后的輸出結(jié)果是
A)n/No B)/No C)n/NO D)
Yes Yes Yes /No
/No /No Yes
(43)有以下程序
main()
{ unsigned int a;
int b=-1;
a=b;
printf("%u",a);
}
程序運行后的輸出結(jié)果是
A)-1 B)65535 C)32767 D)-32768
(44)有以下程序
void fun(int *a,int i,int j)
{ int t;
if(i
{ t=a;a=a[j];a[j]=t;
i++; j--;
fun(a,i,j);
}
}
main()
{ int x[]={2,6,18},i;
fun(x,0,3);
for(i=0;i<4;i++) printf("%2d",x);
printf("\n");
}
程序運行后的輸出結(jié)果是
A)1 2 6 8 B) 8 6 2 1 C) 8 1 6 2 D)8 6 1 2
(45)有以下說明和定義語句
struct student
{ int age; char num[8];};
struct student stu[3]={{20,"200401"},{21,"200402"},{10\9,"200403"}};
struct student *p=stu;
以下選項中引用結(jié)構(gòu)體變量成員的表達式錯誤的是
A) (p++)->num B)p->num C)(*p).num D)stu[3].age
(46)有以下程序
mina()
{ int x[]={1,3,5,7,2,4,6,0},i,j,k;
for(i=0;i<3;i++)
for (j=2;j>=i;j--)
if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}
for(i=0;i<3;i++)
for(j=4;j<7-i;j++)
if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}
for (i=0;i<3;i++)
for(j=4;j<7-i;j++)
if(x[j]>x[j+1]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}
for (i=0;i<8;i++) printf("%d",x);
printf("\n");
}
程序運行后的輸出結(jié)果是:
A)75310246 B)01234567 C)76310462 D)13570246
(47)有如下程序
#include
main()
{FILE *fp1;
fp1=fopen("f1.txt","w");
fprintf(fp1,"abc");
fclose(fp1);
}
若文本文件f1.txt中原有內(nèi)容為:good,則運行以上程序后文件f1.txt中的內(nèi)容為
A)goodabc B)abcd C)abc D)abcgood
(48~50)以下程序的功能是:建立一個帶有頭結(jié)點的單向鏈表,并將存儲在數(shù)組中的
字符依次轉(zhuǎn)儲到鏈表的各個結(jié)點中,請從與下劃線處號碼對應(yīng)的一組選若中選擇出
正確的選項。
#include
stuct node
{ char data; struct node *next;};
(48) CreatList(char *s)
{ struct node *h,*p,*q};
h=(struct node *) malloc(sizeof(struct node));
p=q=h;
while(*s!='\0')
{ p=(struct node *) malloc(sizeof(struct node));
p->data= (49) ;
q->next=p;
q= (50) ;
s++;
}
p->next='\0';
return h;
}
main()
{ char str[]="link list";
struct node *head;
head=CreatList(str);
...
}
(48)A)char * B)struct node C) struct node* D) char
(49)A)*s B)s C)*s++ D)(*s)++
(50)A)p->next B)p C)s D)s->next
二、填空題:(每空2分 ,共40分)
請將每空的正確答案寫在【1】至【20】序號的橫線上,答在試卷上不得分。
(1)在64位高檔微機中,CPU能同時處理 _____ 個字節(jié)的二進制數(shù)據(jù)。
(2)E-mail地址由域名和用戶名兩部分組成,它們之間用@分隔,其中在@后面的部分 是 _______
(3) Windows窗口一般由標題欄、菜單欄、控制按鈕等部分組成。為了移動窗口,則要 用鼠標拖動 _____
(4)計算機軟件分為系統(tǒng)軟件和應(yīng)用軟件,UNIX系統(tǒng)屬于 ________ 。
(5)在Windows環(huán)境下,為了將屏幕內(nèi)容存入剪貼板,應(yīng)按 ________ 鍵。
(6)以下程序段的輸出結(jié)果是 _____
int i=9;
printf("%o\n",i);
(7)以下程序運行后的輸出結(jié)果是 _______ 。
main()
{ int a,b,c;
a=25;
b=025;
c=0x25;
printf("%d %d %d\n',a,b,c);
}
(8)以下程序運行后的輸出結(jié)果是 ______ 。
main()
{ int p[7]={11,13,14,15,16,17,18};
int i=0,j=0;
while(i<7 && p%2==1) j+=p[i++];
printf("%d\n",j);
}
(9)以下程序運行后的輸出結(jié)果是 _______ 。
main()
{ int x=1,y=0,a=0,b=0;
switch(x)
{case 1:switch(y)
{ case 0:a++; break;
case 1:b++; break;
}
case 2:a++;b++; break;
}
printf("%d %d\n",a,b);
}
(10)以下程序運行后的輸出結(jié)果是 _______ 。
main()
{ int a[4][4]={{1,2,3,4},{5,6,7,8},{11,12,13,14},{15,16,17,18}};
int i=0,j=0,s=0;
while(i++<4)
{
if(i==2||i==4) continue;
j=0;
do{ s+= a[j]; j++; } while(j<4);
}
printf("%d\n",s);
}
(11)以下程序運行后的輸出結(jié)果是 _____ 。
main ()
{ char a[]="Language",b[]="Programe";
char *p1,*p2; int k;
p1=a; p2=b;
for(k=0;k<=7;k++)
if(*p1+k)==*(p2+k)} printf("%c",*(p1+k));
}
(12)以下程序運行后的輸出結(jié)果是 _______ 。
main()
{ char a[]="123456789",*p; int i=0;
p=a;
while(*p)
{ if(i%2==0) *p='*";
p++;i++;
}
puts(a);
}
(13)以下程序中, for循環(huán)體執(zhí)行的次數(shù)是 _____ 。
#define N 2
#define M N+1
#define K M+1*M/2
main()
{ int i;
for(i=1;i
{ ... }
...
}
(14)通過函數(shù)求f(x)的累加和,其中f(x)=x2+1
main()
{
printf("The sum=%d\n",SunFun(10));
}
SunFun(int n)
{
int x,s=0;
for(x=0;x<=n;x++) s+=F(________);
return s;
}
F( int x)
{ return ____________;}
(15)以下程序從終端讀入數(shù)據(jù)到數(shù)組中,統(tǒng)計其中正數(shù)的個數(shù),并計算它們之和。
請?zhí)羁铡?/p>
main()
{ int i,a[20],sun,count;
suum=count=0;
for(i=0;i<20;i++) scanf("%d", _____ );
fro(i=0;i<20;i++)
{ if(a>0)
{ count++;
sum+= ______ ;
}
}
printf("sum=%d,count=%d\n",sum,count);
}
(16)以下程序中,函數(shù)
sumColumM的功能是:求出M行N列二維數(shù)組每列元素中的最小值,并計算它們的和值。和值通過形參傳回主函數(shù)輸出。請?zhí)羁铡?/p>
#define M 2
#define N 4
void SumColumMin(int a[M][N],int *sum)
{ int i,j,k,s=0;
for(i=0;i
{ k=0;
for(j=1;j
if(a[k]>a[j])k=j;
s+= _______ ;
}
[*sum] =s;
}
main()
{ int x[M][N]={3,2,5,1,4,1,8,3},s;
SumColumMin( _______ );
printf("%d\n",s);
}
【9月計算機二級c語言題庫】相關(guān)文章:
2016年9月計算機二級C語言試題題庫07-02
計算機二級c語言題庫及答案09-25
計算機二級C語言題庫2016最新07-27
2017年計算機二級c語言題庫09-20
國家計算機二級c語言題庫及答案08-05
9月計算機二級C語言測試題及答案08-20
3月計算機二級c語言模擬試題10-30
全國計算機二級c語言題庫試題及答案10-12
2017年9月計算機二級c語言筆試試題09-08