- 9月計算機二級C語言試題題庫 推薦度:
- 相關推薦
2016年9月計算機二級c語言題庫
2016年計算機等級考試復習已拉來大幕,同學們有開始復習了嗎?復習的最好方式是多做練習,下面yjbys為大家分享最新的計算機二級C語言題庫,僅供參考!
一、選擇題((1)~(10)每小題2分,(11)~(50)每小題1分,共60分)
下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確的選項涂寫在答題卡相應位置上,答在試卷上不得分。
(1)與十進制數200等值的十六進制數為
A) A8 B)A4 C)C8 D)C4
(2)DOS文件系統的組織結構屬于
A)星形結構 B)網形結構 C) 環形結構 D)樹形結構
(3)對存儲器按字節進行編址,若某存儲器芯片共有10根地址線,則該存儲器芯片的存儲容量為
A)1KB B)2KB C)4KB D)8KB
(4)在DOS環境下,代表鍵盤和顯示器的設備文件名為
A)PRN B)CON C)NUL D)LPT
(5)計算機網絡的主要特點是
A) 運算速度快 B)運算精度高 C)資源共享 D)人機交互
(6)磁盤處于寫保護狀態時其中的數據
A)不能讀出,不能刪改 B)可以讀出,不能刪改
C)不能讀出,可以刪改 D)可以讀出,可以刪改
(7)從Windows環境進入MS-DOS方式后,返回Windows環境的DOS命令為
A)EXIT B)QUIT C)RET D)MSDO
(8)在Windows環境下,若資源管理器左宣傳品中的某文件夾左邊標有“+”標記,則表示
A)該文件夾為空 B)該文件夾中含有子文件夾
C)該文件夾中只包含有可執行文件 D)該文件夾中包含系統文件
(9)在Windows菜單中,暗淡的命令名項目表示該命令
A)暫時不能用 B)正在執行
C)包含下一層菜單 D)包含對話框
(10)在Windows環境下,單擊當前窗口中的按鈕“× ”(右上角的關閉按鈕),其功能是
A)將當前應用程序轉為后臺運行 B)退出Windows后再關機
C)終止當前應用程序的運行 D)退出Windows后重新啟動計算機
(11)用C語言編寫的代碼程序
A)可立即執行 B)是一個源程序
C)經過編譯即可執行 D)經過編譯解釋才能執行
(12)結構化程序由三種基本結構組成,三種基本結構組成的算法
A)可以完成任何復雜的任務 B)只能完成部分復雜的任務
C)只能完成符合結構化的任務 D)只能完成一些簡單的任務
(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);
}
程序運行后的輸出結果是
A)3 B)5 C)-1 D)-2
(17)有以下程序
main()
{ char a='a',b;
print("%c,",++a);
printf("%c\n",b=a++);
}
程序運行后的輸出結果是
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);
}
程序運行后的輸出結果是
A)0256 0400 B)0256 256 C)256 400 D)400 400
(19)有以下程序
main()
{ int a=666,b=888;
printf("%d\n",a,b);
}
程序運行后的輸出結果是
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);
}
}
程序運行后的輸出結果是
A)022111 B)021021 C)000122 D)012
(21)若x和y代表整型數,以下表達式中不能正確表示數學關系|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);
}
程序運行后的輸出結果是
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);
}
程序運行后的輸出結果是
A)10 B)13 C)21 D)程序進入死循環
(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。則輸出結果是
A)6,5,A,B B)6,5,65,66 C)6,5,6,5 D)6,5,6,6
(27)以下能正確定義二維數組的是
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);
}
程序運行后的輸出結果是
A)9 B)11 C)19 D)21
(29)若有以下說明和語句,int c[4][5],(*p)[5];p=c;能正確引用c數組元素的是
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);
}
程序運行后的輸出結果是
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所指串時,執行語 句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)設有定義語句
int x[6]={2,4,6,8,5,7},*p=x,i;
要求依次輸出x數組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);
}
程序運行后的輸出結果是
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)所代表的數組元素是
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);
}
程序運行后的輸出結果是
A) China B)Bejing C)ng D)ing
(36)有以下程序
main()
{char s[]="ABCD",*p;
for(p=s+1;p
}
程序運行后的輸出結果是
A) ABCD B)A C)B D)BCD
BCD B C CD
CD C D D
D D
(37)在函數調用過程中,如果函數funA調用了函數 funB,函數funB又調用了函數funA,則
A)稱為函數的直接遞歸調用 B)稱為函數的間接遞歸調用
C)稱為函數的循環調用 D)C語言中不允許這樣的遞歸調用
(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存儲數,其生存期將得到延長
B)全局變量說明為static存儲類,其作用域將被擴大
C)任何存儲類的變量在未賦初值時,其值都是不確定的
D)形參可以使用的存儲類說明符與局部變量完全相同
(40)設有定義語句:char c1=92,c2=92;,則以下表達式中值為零的是
A)c1^c2 B)c1&c2 C)~c2 D)c1|c2
(41)程序中對fun函數有如下說明
void *fun();
此說明的含義是:
A)fun了數無返回值
B)fun函數的返回值可以是任意的數據類型
C)fun函數的返回值是無值型的指針類型
D)指針fun指向一個函數,該函數無返回值
(42)有以下程序
main()
{ char s[]"Yes\n/No",*ps=s;
puts(ps+4);
*(ps+4)=0;
puts(s);
}
程序運行后的輸出結果是
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);
}
程序運行后的輸出結果是
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");
}
程序運行后的輸出結果是
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;
以下選項中引用結構體變量成員的表達式錯誤的是
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");
}
程序運行后的輸出結果是:
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中原有內容為:good,則運行以上程序后文件f1.txt中的內容為
A)goodabc B)abcd C)abc D)abcgood
(48~50)以下程序的功能是:建立一個帶有頭結點的單向鏈表,并將存儲在數組中的
字符依次轉儲到鏈表的各個結點中,請從與下劃線處號碼對應的一組選若中選擇出
正確的選項。
#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能同時處理 _____ 個字節的二進制數據。
(2)E-mail地址由域名和用戶名兩部分組成,它們之間用@分隔,其中在@后面的部分 是 _______
(3) Windows窗口一般由標題欄、菜單欄、控制按鈕等部分組成。為了移動窗口,則要 用鼠標拖動 _____
(4)計算機軟件分為系統軟件和應用軟件,UNIX系統屬于 ________ 。
(5)在Windows環境下,為了將屏幕內容存入剪貼板,應按 ________ 鍵。
(6)以下程序段的輸出結果是 _____
int i=9;
printf("%o\n",i);
(7)以下程序運行后的輸出結果是 _______ 。
main()
{ int a,b,c;
a=25;
b=025;
c=0x25;
printf("%d %d %d\n',a,b,c);
}
(8)以下程序運行后的輸出結果是 ______ 。
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)以下程序運行后的輸出結果是 _______ 。
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)以下程序運行后的輸出結果是 _______ 。
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)以下程序運行后的輸出結果是 _____ 。
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)以下程序運行后的輸出結果是 _______ 。
main()
{ char a[]="123456789",*p; int i=0;
p=a;
while(*p)
{ if(i%2==0) *p='*";
p++;i++;
}
puts(a);
}
(13)以下程序中, for循環體執行的次數是 _____ 。
#define N 2
#define M N+1
#define K M+1*M/2
main()
{ int i;
for(i=1;i
{ ... }
...
}
(14)通過函數求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)以下程序從終端讀入數據到數組中,統計其中正數的個數,并計算它們之和。
請填空。
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)以下程序中,函數
sumColumM的功能是:求出M行N列二維數組每列元素中的最小值,并計算它們的和值。和值通過形參傳回主函數輸出。請填空。
#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語言題庫】相關文章:
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