國(guó)家二級(jí)計(jì)算機(jī)考試c語(yǔ)言題庫(kù)
在計(jì)算機(jī)國(guó)家二級(jí)的C語(yǔ)言考試中,有哪些題目類型呢?下面是學(xué)習(xí)啦小編給大家整理的二級(jí)計(jì)算機(jī)考試c語(yǔ)言選擇題及答案,供大家參閱!
二級(jí)計(jì)算機(jī)考試c語(yǔ)言選擇題
1.以下程序的輸出結(jié)果是( )。
main()
{int a[3][3]={{1,2},{3,4),{5,6}},i,j,s=0;
for(i=1;i<3;i++)
for(j=0;j<=i;j++)s+=a[i][j];
printf("%d\n",s);
}
A.18
B.19
C.20
D.21
2.有下列程序:
main()
{ int k=5;
while(--k) printf("%d",k=1);
printf("/n");
)
執(zhí)行后的輸出結(jié)果是( )。
A.1
B.2
C.4
D.死循環(huán)
3.若有定義:“int a[2][3];”,則對(duì)a數(shù)組的第i行第J列元素的正確引用為( )。
A.*(*(a+i)+j)
B.(a+i)[j]
C.*(a+i+j)
D.*(a+i)+j
4.下列能正確進(jìn)行字符串賦值的是( )。
A.char s[5]={"ABCDE"};
B.char s[5]={’A’,’B’,’C’,’D’,’E’}; 、
C.char*S;S="ABCDE";
D.char*s;printf("%《",s);
5.現(xiàn)有以下結(jié)構(gòu)體說明和變量定義,如圖所示,指針P、q、r分別指定一個(gè)鏈表中連續(xù)的3個(gè)結(jié)點(diǎn)。
struct node
{har data;
struct node*next;)*P,*q,*r;
現(xiàn)要將q和r所指結(jié)點(diǎn)交換前后位置,同時(shí)要保持鏈表的結(jié)構(gòu),下列不能完成此操作的語(yǔ)句是( )。
A.q-:>next=r->next;p--:>next=r;rm:>next=q;
B.q-:>next=r;q->next=r->next;r->next=q;
C.q-:>next=r->next;r->next=q;p->next=r;
D.q-:>next=q;p->next=r;q->next=r->next;
6.有下列程序:
main()
{int i,j,x=0;
for(i=0,i<2;i++)
{x++;
for(j=0;j<=3;j++)
{if(j%2)continue;
x++:
)
x++:
}
printf("x=%d\n"x);
}
程序執(zhí)行后的輸出結(jié)果是( )。
A.x=4
B.x=8
C.x=6
D.x=12
7.有下列程序:
int funl(double a){return a*=a;} 、
int fun2(double x,double y)
{double a=0,b=0;
a=funl(x);b=funl(y);return(int)(a+b);
)
main()
{double w;w=fun2(1.1,2.0),……}
程序執(zhí)行后變量w中的值是( )。 、
A.5.21 B.5 C.5.0 D.0.0
8.有下列程序:
main()
{int i,s=0,t[]={1,2,3,4,5,6,7,8,9};
for(i=0;i<9;i+=2)s+=*(t+i);
printf("%d\n",s);
}
程序執(zhí)行后的輸出結(jié)果是( )。
A.45
B.20
C.25
D.36
9.有下列程序:
int fun(int n)
{if(n= =1))return l;
else
return(n+fun(n-1)):
}
main()
{ int x;
seanf("%d",&x);x=fun(x);printf("%d\n",x);
}
執(zhí)行程序時(shí),給變量x輸入l0,程序的輸出結(jié)果是( )。
A.55
B.54
C.65
D.45
10.有下列程序:
int fun(int x[],int n)
{ static int sum=0,i;
for(i=0;i return sum;
}
main()
{int a[3]={1,2,3,4,5),b[3]={6,7,8,9),s=0;
s=fun(a,5)+fun(b,4);printf("%d\n",s);
程序執(zhí)行后的輸出結(jié)果是( )。 、
A.45
B.50
C.60
D.55
11.有下列程序:
main()
f char*P[]={"3697","2584");
int i,j;long num=0;
for(i=0;i<2;i++)
{j=0;
while(p[i][j]!=’
國(guó)家二級(jí)計(jì)算機(jī)考試c語(yǔ)言題庫(kù)
在計(jì)算機(jī)國(guó)家二級(jí)的C語(yǔ)言考試中,有哪些題目類型呢?下面是學(xué)習(xí)啦小編給大家整理的二級(jí)計(jì)算機(jī)考試c語(yǔ)言選擇題及答案,供大家參閱!
二級(jí)計(jì)算機(jī)考試c語(yǔ)言選擇題
1.以下程序的輸出結(jié)果是( )。
main()
{int a[3][3]={{1,2},{3,4),{5,6}},i,j,s=0;
for(i=1;i<3;i++)
for(j=0;j<=i;j++)s+=a[i][j];
printf("%d\n",s);
}
A.18
B.19
C.20
D.21
2.有下列程序:
main()
{ int k=5;
while(--k) printf("%d",k=1);
printf("/n");
)
執(zhí)行后的輸出結(jié)果是( )。
A.1
B.2
C.4
D.死循環(huán)
3.若有定義:“int a[2][3];”,則對(duì)a數(shù)組的第i行第J列元素的正確引用為( )。
A.*(*(a+i)+j)
B.(a+i)[j]
C.*(a+i+j)
D.*(a+i)+j
4.下列能正確進(jìn)行字符串賦值的是( )。
A.char s[5]={"ABCDE"};
B.char s[5]={’A’,’B’,’C’,’D’,’E’}; 、
C.char*S;S="ABCDE";
D.char*s;printf("%《",s);
5.現(xiàn)有以下結(jié)構(gòu)體說明和變量定義,如圖所示,指針P、q、r分別指定一個(gè)鏈表中連續(xù)的3個(gè)結(jié)點(diǎn)。
struct node
{har data;
struct node*next;)*P,*q,*r;
現(xiàn)要將q和r所指結(jié)點(diǎn)交換前后位置,同時(shí)要保持鏈表的結(jié)構(gòu),下列不能完成此操作的語(yǔ)句是( )。
A.q-:>next=r->next;p--:>next=r;rm:>next=q;
B.q-:>next=r;q->next=r->next;r->next=q;
C.q-:>next=r->next;r->next=q;p->next=r;
D.q-:>next=q;p->next=r;q->next=r->next;
6.有下列程序:
main()
{int i,j,x=0;
for(i=0,i<2;i++)
{x++;
for(j=0;j<=3;j++)
{if(j%2)continue;
x++:
)
x++:
}
printf("x=%d\n"x);
}
程序執(zhí)行后的輸出結(jié)果是( )。
A.x=4
B.x=8
C.x=6
D.x=12
7.有下列程序:
int funl(double a){return a*=a;} 、
int fun2(double x,double y)
{double a=0,b=0;
a=funl(x);b=funl(y);return(int)(a+b);
)
main()
{double w;w=fun2(1.1,2.0),……}
程序執(zhí)行后變量w中的值是( )。 、
A.5.21 B.5 C.5.0 D.0.0
8.有下列程序:
main()
{int i,s=0,t[]={1,2,3,4,5,6,7,8,9};
for(i=0;i<9;i+=2)s+=*(t+i);
printf("%d\n",s);
}
程序執(zhí)行后的輸出結(jié)果是( )。
A.45
B.20
C.25
D.36
9.有下列程序:
int fun(int n)
{if(n= =1))return l;
else
return(n+fun(n-1)):
}
main()
{ int x;
seanf("%d",&x);x=fun(x);printf("%d\n",x);
}
執(zhí)行程序時(shí),給變量x輸入l0,程序的輸出結(jié)果是( )。
A.55
B.54
C.65
D.45
10.有下列程序:
int fun(int x[],int n)
{ static int sum=0,i;
for(i=0;i return sum;
}
main()
{int a[3]={1,2,3,4,5),b[3]={6,7,8,9),s=0;
s=fun(a,5)+fun(b,4);printf("%d\n",s);
程序執(zhí)行后的輸出結(jié)果是( )。 、
A.45
B.50
C.60
D.55
11.有下列程序:
main()
f char*P[]={"3697","2584");
int i,j;long num=0;
for(i=0;i<2;i++)
{j=0;
while(p[i][j]!=’\0’)
{if((p[i][j]-t\0’)%2)num=10*num+p[j][j]-’0’;
j+=2;
)
)
printf("%d\n",num);
)
程序執(zhí)行后的輸出結(jié)果是( )。
A.35 B.37 C.39 D.3975
12.以下程序的輸出結(jié)果是( )。
main()
{ char st[20]="hell0\O\t\\\”;
printf("%d%d\n",strlen(st),sizeof(st));
}
A.9 9
B.5 20
C.13 20
D.20 20
13.若有下的定義:"int t[3][2];",能正確表示t數(shù)組元素地址的表達(dá)式是( )。
A.&t[3][2]
B.t[3]
C.t[l]
D.t[2][2]
14.函數(shù)fseek(pf,OL,SEEK_END)中的SEEK_END代表的起始點(diǎn)是( )。
A.文件開始
B.文件末尾
C.文件當(dāng)前位置
D.以上都不對(duì)
15.下述程序的輸出結(jié)果是( )。
#include
main()
{int i;
for(i=1;i<=10;i++)
{if(i*i>=20)&&(i*i<=lOO))
break;
}
printf("%d\n",i*i);
)
A.49
B.36
C.25
D.64
16.若有定義“int b[8],*p=b;”,則p+6表示( )。
A.數(shù)組元素b[6]的值
B.數(shù)組元素b[6]的地址
C.數(shù)組元素b[7]的地址
D.數(shù)組元素b[0]的值加上6
17.設(shè)變量已正確定義,則以下能正確計(jì)算f=n!的程序是( )。
A.f=0; for(i=1;i<=n;i++)f*=i;
B.f=1;for(i=1;i C.f=1;for(i=n;i>1;i++)f*=i;
D.f=1;for(i=n;i>=2;i--)f*=i;
18.下述程序執(zhí)行的輸出結(jié)果是( )。
#include
main()
{char a[2][4]; ,
strcpy(a。"are");strcpy(a[1],"you");
a[o][3]=’&’;
printf("%s\n",a);
)
A.are&you
B.you
C.are
D.&
19.設(shè)x=011050,則x=x&01252的值是( )。
A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
20.在“文件包含,,預(yù)處理語(yǔ)句的使用形式中,當(dāng)#include后面的文件名用(雙引號(hào))括時(shí),尋找被包含文件的方式是( )。
A.直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄
B.先在源程序所在的目錄搜索,如沒找到,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索
C.僅僅搜索源程序所在目錄
D.僅僅搜索當(dāng)前目錄
二級(jí)計(jì)算機(jī)考試c語(yǔ)言選擇題答案
1.A。【解析】循環(huán)的作用是求行下標(biāo)從l到2列下標(biāo)從0到i的元素之和,即s=a[1][0]+a[1][1]+a[2][o]+a[2][1]+a[2][2]=3+4+5+6+0一18。
2.A。【解析】在程序語(yǔ)句中,k的初始值為5,進(jìn)行第l次while循環(huán)后,k自減l為4,非0,執(zhí)行循環(huán)體里的printf語(yǔ)句,輸出k,此時(shí)k的值變?yōu)閘。程序執(zhí)行第2次循環(huán)時(shí),k自減l變?yōu)?,為假,退出while循環(huán)語(yǔ)句。所以程序的最后結(jié)果為l。
3.A。【解析】通過地址來引用數(shù)組元素的方法有下列5種:
(1)a[i][j];(2)*(a[i]+j);(3)*(*(a+j)+j);(4)*(a[i][j]);(5)(&a[o][0]+3*i+j)。故A正確。
4.C。【解析】選項(xiàng)A、B的空間不夠;字符串存儲(chǔ)要有結(jié)束符’\0’,且要占用一個(gè)空間,printf用來輸出 字符,不能輸入字符串。
5.D?!窘馕觥坑深}目中線性鏈表的定義可知,要將q和r所指的結(jié)點(diǎn)交換前后位置,只要使q指向r的后一個(gè)結(jié)點(diǎn),P指向r結(jié)點(diǎn),r指向q結(jié)點(diǎn)即可。而在選項(xiàng)D中,r->next=q,這時(shí)r指向的節(jié)點(diǎn)為q;p->next=r,這時(shí)P指向的節(jié)點(diǎn)為r;q->next:r->next,因?yàn)閞節(jié)點(diǎn)已經(jīng)指向q,所以執(zhí)行這個(gè)語(yǔ)句后q又指向q,所以選項(xiàng)D不正確。
6.B?!窘馕觥吭诘?次外層for循環(huán)中,首先x++得到x=1。進(jìn)入到內(nèi)層for循環(huán),只有循環(huán)j的值為奇數(shù)時(shí),變量x的值才自加1,所以在內(nèi)層for循環(huán)執(zhí)行過程中,變量x的值自加兩次,當(dāng)退出內(nèi)層for循環(huán)時(shí),x=3,然后執(zhí)行x++,得到x=4。在進(jìn)入執(zhí)行第2次外層for循環(huán)中,首先x++得到x=5。進(jìn)入到內(nèi)層for循環(huán),只有循環(huán)變量J的值為奇數(shù)時(shí),變量X的值才自加1,所以在內(nèi)層for循環(huán)執(zhí)行過程中,變量X的值自加l兩次,當(dāng)退出內(nèi)層for循環(huán)時(shí),x=7,然后執(zhí)行x++,得到x=8,所以打印輸出變量x的值為8。
7.C?!窘馕觥孔雍瘮?shù)funl(double a)的功能是返回a的平方值的整數(shù)部分。子函數(shù)fun2(double X, double y)的功能是返回X的平方值的整數(shù)部分與Y的平方值的整數(shù)部分的和。又因?yàn)轭}中變量W的定義為double型,函數(shù)fun(2)的定義為int型,按照各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算,整型數(shù)據(jù)被轉(zhuǎn)換為實(shí)型數(shù)據(jù)。所以雙精度型變量w的值為5.0。
8.c?!窘馕觥吭趂or循環(huán)語(yǔ)句中自變量i從0開始,每次自加2,執(zhí)行s+=*(t+i)語(yǔ)句,因?yàn)镃語(yǔ)言規(guī)定數(shù)組名做表達(dá)式相當(dāng)于數(shù)組的首地址,也就是第一個(gè)元素的地址。因此,*(t+i)代表數(shù)組的第i+1個(gè)元素。所以程序運(yùn)行的結(jié)果是l+3+5+7+9=25,即變量S的值等于25。
9.A。【解析】本題在函數(shù)int fun(int n)的定義中又出現(xiàn)了對(duì)函數(shù)fun的調(diào)用,所以函數(shù)fun是遞歸函數(shù)。因而在主函數(shù)中調(diào)用x=fun(x)時(shí),當(dāng)輸入10賦給變量X時(shí),遞歸調(diào)用的過程為
fun(10)=l0+fun(9)=10+9+fun(8)=10+9+8+fun(7)
=10+9++8+7+fun(6)=10+9++8+7+6+fun(6)
=10+9++8+7+6+5+fun(4)
=10+9++8+7+6+5+4+fun(3)
=10+9++8+7+6+5+4+3+fun(2)
=10+9++8+7+6+5+4+3+2+fun(1)
=10+9++8+7+6+5+4+3+2=55
10.C?!窘馕觥吭诤瘮?shù)int fun(int x[],int n)的定義中,變量sum為一個(gè)靜態(tài)局部變量。由于在整個(gè)程序運(yùn)行期間,靜態(tài)局部變量在內(nèi)存中的靜態(tài)存儲(chǔ)中占據(jù)著永久的存儲(chǔ)單元。函數(shù)int fun(int x[],int n)的功能是求出數(shù)組x[]各個(gè)元素的和,所以在主函數(shù)中,調(diào)用函數(shù)fun(a,5)后,變量sum=1+2+3+4+5=15,當(dāng)再次調(diào)用fun(b,4)后,變量sum=15+6+7+8+9=45,所以s=15+45=60。
11.D?!窘馕觥繄?zhí)行第一次for循環(huán)時(shí),用表達(dá)式p[i][J]!=’\o’來判斷字符串?dāng)?shù)組指針P是否到達(dá)字符串的結(jié)尾,如果沒有到達(dá),繼續(xù)執(zhí)行while中的語(yǔ)句。if語(yǔ)句表示(p[i][j]-’\o’)除2的余數(shù)不為0時(shí),即字符串所有奇數(shù),執(zhí)行后面的語(yǔ)句。所以退出第1次for的循環(huán)體時(shí),輸出為397,執(zhí)行第2次循環(huán)體。對(duì)字符串“2584”進(jìn)行處理,輸出結(jié)果為5,因而最后輸出結(jié)果為3975。
12.B。【解析】從題目中可知,’\O’、’\t’、’\\’分別為一個(gè)字符,而sizeof是求字節(jié)個(gè)數(shù)的函數(shù),其中包括’\O’占的字節(jié),strlen函數(shù)是求數(shù)組長(zhǎng)度的函數(shù);其以’\0’結(jié)束,因此strlen的值為5,sizeof的值為20。
13.C。【解析】數(shù)組的下標(biāo)是從0開始的,A中越界,行下標(biāo)和列下標(biāo)都不能越界;B中,雖然是個(gè)地址,但是也同樣越界了;選項(xiàng)c中表示的是第一個(gè)的首地址;選項(xiàng)D表示的為其元素的值,并不是地址。
14.B?!窘馕鯹SEEK_SET代表文件的開始,SEEK_END代表文件末尾,SEEK_CUR代表文件當(dāng)前位置。
15.C?!窘馕觥慨?dāng)if執(zhí)行到第一個(gè)滿足(i*i>=20)&&(i*i<=100)這個(gè)條件的i出現(xiàn)時(shí),通過break語(yǔ)句跳出循環(huán),執(zhí)行下面的prinlf語(yǔ)句。
16.B?!窘馕觥恐羔樦写娣诺氖亲兞康牡刂?,指針也可以進(jìn)行增減運(yùn)算,這時(shí)指針移動(dòng)的最小單位是一個(gè)存儲(chǔ)單元,而不是一個(gè)字節(jié)。所以題中p+6指的是將指針向后移動(dòng)了6個(gè)存儲(chǔ)單元,即指向b[6],存放的是b[6]的地址。
17.D。【解析】由n!的數(shù)字定義可知n!=n*(n-1)*(n-2)*…*1。在選項(xiàng)A中,由于f的初值為0,在for循環(huán)語(yǔ)句中,f依次乘以l,2,3,…,n,最后計(jì)算得到f=n!=0,所以選項(xiàng)A不正確。在選項(xiàng)B中,f的初值為l,在for循環(huán)語(yǔ)句中,f依次乘以l,2,3,…,(n-1),最后計(jì)算得到f=(n-1)!,所以選項(xiàng)B不正確。在選項(xiàng)C中,f的初值為l,在for循環(huán)語(yǔ)句中,f依次乘以n,n+1,n+2,……,所以選項(xiàng)C不正確。在選項(xiàng)D中,f的初值為l,在for循環(huán)語(yǔ)句中,f依次乘以n,n-1,n-2,…,2,最后計(jì)算得到f=n!,所以選項(xiàng)D正確。
18.A。【解析]strcpy實(shí)現(xiàn)的功能是復(fù)制,該操作把a(bǔ)re復(fù)制到a中,aE03 E33一’&’,且strcpy(aEl], "you")把you復(fù)制到a[l]中,故輸出a為“are&you”。
19.A?!窘馕觥勘绢}主要考查按位與運(yùn)算,x=Oll050的二進(jìn)制形式為00010010000101000,Ol252的二進(jìn)制形式為0000001010101010,兩者相與得0000001000101000。
20.B?!窘馕觥?include”文件名”,預(yù)處理程序首先在引用被包含文件的源文件所在的目錄下搜索指定的文件,如沒找到,再按系統(tǒng)指定的標(biāo)準(zhǔn)目錄搜索。
看了“國(guó)家二級(jí)計(jì)算機(jī)考試c語(yǔ)言題庫(kù)”的人還看了:
1.2015年計(jì)算機(jī)二級(jí)C語(yǔ)言測(cè)試題及答案
2.計(jì)算機(jī)二級(jí)c語(yǔ)言考試題庫(kù)及答案
3.2015年計(jì)算機(jī)二級(jí)C語(yǔ)言測(cè)試題及答案解析
4.全國(guó)計(jì)算機(jī)c語(yǔ)言二級(jí)考試題庫(kù)
{if((p[i][j]-t
國(guó)家二級(jí)計(jì)算機(jī)考試c語(yǔ)言題庫(kù)
在計(jì)算機(jī)國(guó)家二級(jí)的C語(yǔ)言考試中,有哪些題目類型呢?下面是學(xué)習(xí)啦小編給大家整理的二級(jí)計(jì)算機(jī)考試c語(yǔ)言選擇題及答案,供大家參閱!
二級(jí)計(jì)算機(jī)考試c語(yǔ)言選擇題
1.以下程序的輸出結(jié)果是( )。
main()
{int a[3][3]={{1,2},{3,4),{5,6}},i,j,s=0;
for(i=1;i<3;i++)
for(j=0;j<=i;j++)s+=a[i][j];
printf("%d\n",s);
}
A.18
B.19
C.20
D.21
2.有下列程序:
main()
{ int k=5;
while(--k) printf("%d",k=1);
printf("/n");
)
執(zhí)行后的輸出結(jié)果是( )。
A.1
B.2
C.4
D.死循環(huán)
3.若有定義:“int a[2][3];”,則對(duì)a數(shù)組的第i行第J列元素的正確引用為( )。
A.*(*(a+i)+j)
B.(a+i)[j]
C.*(a+i+j)
D.*(a+i)+j
4.下列能正確進(jìn)行字符串賦值的是( )。
A.char s[5]={"ABCDE"};
B.char s[5]={’A’,’B’,’C’,’D’,’E’}; 、
C.char*S;S="ABCDE";
D.char*s;printf("%《",s);
5.現(xiàn)有以下結(jié)構(gòu)體說明和變量定義,如圖所示,指針P、q、r分別指定一個(gè)鏈表中連續(xù)的3個(gè)結(jié)點(diǎn)。
struct node
{har data;
struct node*next;)*P,*q,*r;
現(xiàn)要將q和r所指結(jié)點(diǎn)交換前后位置,同時(shí)要保持鏈表的結(jié)構(gòu),下列不能完成此操作的語(yǔ)句是( )。
A.q-:>next=r->next;p--:>next=r;rm:>next=q;
B.q-:>next=r;q->next=r->next;r->next=q;
C.q-:>next=r->next;r->next=q;p->next=r;
D.q-:>next=q;p->next=r;q->next=r->next;
6.有下列程序:
main()
{int i,j,x=0;
for(i=0,i<2;i++)
{x++;
for(j=0;j<=3;j++)
{if(j%2)continue;
x++:
)
x++:
}
printf("x=%d\n"x);
}
程序執(zhí)行后的輸出結(jié)果是( )。
A.x=4
B.x=8
C.x=6
D.x=12
7.有下列程序:
int funl(double a){return a*=a;} 、
int fun2(double x,double y)
{double a=0,b=0;
a=funl(x);b=funl(y);return(int)(a+b);
)
main()
{double w;w=fun2(1.1,2.0),……}
程序執(zhí)行后變量w中的值是( )。 、
A.5.21 B.5 C.5.0 D.0.0
8.有下列程序:
main()
{int i,s=0,t[]={1,2,3,4,5,6,7,8,9};
for(i=0;i<9;i+=2)s+=*(t+i);
printf("%d\n",s);
}
程序執(zhí)行后的輸出結(jié)果是( )。
A.45
B.20
C.25
D.36
9.有下列程序:
int fun(int n)
{if(n= =1))return l;
else
return(n+fun(n-1)):
}
main()
{ int x;
seanf("%d",&x);x=fun(x);printf("%d\n",x);
}
執(zhí)行程序時(shí),給變量x輸入l0,程序的輸出結(jié)果是( )。
A.55
B.54
C.65
D.45
10.有下列程序:
int fun(int x[],int n)
{ static int sum=0,i;
for(i=0;i return sum;
}
main()
{int a[3]={1,2,3,4,5),b[3]={6,7,8,9),s=0;
s=fun(a,5)+fun(b,4);printf("%d\n",s);
程序執(zhí)行后的輸出結(jié)果是( )。 、
A.45
B.50
C.60
D.55
11.有下列程序:
main()
f char*P[]={"3697","2584");
int i,j;long num=0;
for(i=0;i<2;i++)
{j=0;
while(p[i][j]!=’\0’)
{if((p[i][j]-t\0’)%2)num=10*num+p[j][j]-’0’;
j+=2;
)
)
printf("%d\n",num);
)
程序執(zhí)行后的輸出結(jié)果是( )。
A.35 B.37 C.39 D.3975
12.以下程序的輸出結(jié)果是( )。
main()
{ char st[20]="hell0\O\t\\\”;
printf("%d%d\n",strlen(st),sizeof(st));
}
A.9 9
B.5 20
C.13 20
D.20 20
13.若有下的定義:"int t[3][2];",能正確表示t數(shù)組元素地址的表達(dá)式是( )。
A.&t[3][2]
B.t[3]
C.t[l]
D.t[2][2]
14.函數(shù)fseek(pf,OL,SEEK_END)中的SEEK_END代表的起始點(diǎn)是( )。
A.文件開始
B.文件末尾
C.文件當(dāng)前位置
D.以上都不對(duì)
15.下述程序的輸出結(jié)果是( )。
#include
main()
{int i;
for(i=1;i<=10;i++)
{if(i*i>=20)&&(i*i<=lOO))
break;
}
printf("%d\n",i*i);
)
A.49
B.36
C.25
D.64
16.若有定義“int b[8],*p=b;”,則p+6表示( )。
A.數(shù)組元素b[6]的值
B.數(shù)組元素b[6]的地址
C.數(shù)組元素b[7]的地址
D.數(shù)組元素b[0]的值加上6
17.設(shè)變量已正確定義,則以下能正確計(jì)算f=n!的程序是( )。
A.f=0; for(i=1;i<=n;i++)f*=i;
B.f=1;for(i=1;i C.f=1;for(i=n;i>1;i++)f*=i;
D.f=1;for(i=n;i>=2;i--)f*=i;
18.下述程序執(zhí)行的輸出結(jié)果是( )。
#include
main()
{char a[2][4]; ,
strcpy(a。"are");strcpy(a[1],"you");
a[o][3]=’&’;
printf("%s\n",a);
)
A.are&you
B.you
C.are
D.&
19.設(shè)x=011050,則x=x&01252的值是( )。
A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
20.在“文件包含,,預(yù)處理語(yǔ)句的使用形式中,當(dāng)#include后面的文件名用(雙引號(hào))括時(shí),尋找被包含文件的方式是( )。
A.直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄
B.先在源程序所在的目錄搜索,如沒找到,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索
C.僅僅搜索源程序所在目錄
D.僅僅搜索當(dāng)前目錄
二級(jí)計(jì)算機(jī)考試c語(yǔ)言選擇題答案
1.A?!窘馕觥垦h(huán)的作用是求行下標(biāo)從l到2列下標(biāo)從0到i的元素之和,即s=a[1][0]+a[1][1]+a[2][o]+a[2][1]+a[2][2]=3+4+5+6+0一18。
2.A?!窘馕觥吭诔绦蛘Z(yǔ)句中,k的初始值為5,進(jìn)行第l次while循環(huán)后,k自減l為4,非0,執(zhí)行循環(huán)體里的printf語(yǔ)句,輸出k,此時(shí)k的值變?yōu)閘。程序執(zhí)行第2次循環(huán)時(shí),k自減l變?yōu)?,為假,退出while循環(huán)語(yǔ)句。所以程序的最后結(jié)果為l。
3.A?!窘馕觥客ㄟ^地址來引用數(shù)組元素的方法有下列5種:
(1)a[i][j];(2)*(a[i]+j);(3)*(*(a+j)+j);(4)*(a[i][j]);(5)(&a[o][0]+3*i+j)。故A正確。
4.C?!窘馕觥窟x項(xiàng)A、B的空間不夠;字符串存儲(chǔ)要有結(jié)束符’\0’,且要占用一個(gè)空間,printf用來輸出 字符,不能輸入字符串。
5.D?!窘馕觥坑深}目中線性鏈表的定義可知,要將q和r所指的結(jié)點(diǎn)交換前后位置,只要使q指向r的后一個(gè)結(jié)點(diǎn),P指向r結(jié)點(diǎn),r指向q結(jié)點(diǎn)即可。而在選項(xiàng)D中,r->next=q,這時(shí)r指向的節(jié)點(diǎn)為q;p->next=r,這時(shí)P指向的節(jié)點(diǎn)為r;q->next:r->next,因?yàn)閞節(jié)點(diǎn)已經(jīng)指向q,所以執(zhí)行這個(gè)語(yǔ)句后q又指向q,所以選項(xiàng)D不正確。
6.B。【解析】在第1次外層for循環(huán)中,首先x++得到x=1。進(jìn)入到內(nèi)層for循環(huán),只有循環(huán)j的值為奇數(shù)時(shí),變量x的值才自加1,所以在內(nèi)層for循環(huán)執(zhí)行過程中,變量x的值自加兩次,當(dāng)退出內(nèi)層for循環(huán)時(shí),x=3,然后執(zhí)行x++,得到x=4。在進(jìn)入執(zhí)行第2次外層for循環(huán)中,首先x++得到x=5。進(jìn)入到內(nèi)層for循環(huán),只有循環(huán)變量J的值為奇數(shù)時(shí),變量X的值才自加1,所以在內(nèi)層for循環(huán)執(zhí)行過程中,變量X的值自加l兩次,當(dāng)退出內(nèi)層for循環(huán)時(shí),x=7,然后執(zhí)行x++,得到x=8,所以打印輸出變量x的值為8。
7.C。【解析】子函數(shù)funl(double a)的功能是返回a的平方值的整數(shù)部分。子函數(shù)fun2(double X, double y)的功能是返回X的平方值的整數(shù)部分與Y的平方值的整數(shù)部分的和。又因?yàn)轭}中變量W的定義為double型,函數(shù)fun(2)的定義為int型,按照各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算,整型數(shù)據(jù)被轉(zhuǎn)換為實(shí)型數(shù)據(jù)。所以雙精度型變量w的值為5.0。
8.c?!窘馕觥吭趂or循環(huán)語(yǔ)句中自變量i從0開始,每次自加2,執(zhí)行s+=*(t+i)語(yǔ)句,因?yàn)镃語(yǔ)言規(guī)定數(shù)組名做表達(dá)式相當(dāng)于數(shù)組的首地址,也就是第一個(gè)元素的地址。因此,*(t+i)代表數(shù)組的第i+1個(gè)元素。所以程序運(yùn)行的結(jié)果是l+3+5+7+9=25,即變量S的值等于25。
9.A?!窘馕觥勘绢}在函數(shù)int fun(int n)的定義中又出現(xiàn)了對(duì)函數(shù)fun的調(diào)用,所以函數(shù)fun是遞歸函數(shù)。因而在主函數(shù)中調(diào)用x=fun(x)時(shí),當(dāng)輸入10賦給變量X時(shí),遞歸調(diào)用的過程為
fun(10)=l0+fun(9)=10+9+fun(8)=10+9+8+fun(7)
=10+9++8+7+fun(6)=10+9++8+7+6+fun(6)
=10+9++8+7+6+5+fun(4)
=10+9++8+7+6+5+4+fun(3)
=10+9++8+7+6+5+4+3+fun(2)
=10+9++8+7+6+5+4+3+2+fun(1)
=10+9++8+7+6+5+4+3+2=55
10.C?!窘馕觥吭诤瘮?shù)int fun(int x[],int n)的定義中,變量sum為一個(gè)靜態(tài)局部變量。由于在整個(gè)程序運(yùn)行期間,靜態(tài)局部變量在內(nèi)存中的靜態(tài)存儲(chǔ)中占據(jù)著永久的存儲(chǔ)單元。函數(shù)int fun(int x[],int n)的功能是求出數(shù)組x[]各個(gè)元素的和,所以在主函數(shù)中,調(diào)用函數(shù)fun(a,5)后,變量sum=1+2+3+4+5=15,當(dāng)再次調(diào)用fun(b,4)后,變量sum=15+6+7+8+9=45,所以s=15+45=60。
11.D。【解析】執(zhí)行第一次for循環(huán)時(shí),用表達(dá)式p[i][J]!=’\o’來判斷字符串?dāng)?shù)組指針P是否到達(dá)字符串的結(jié)尾,如果沒有到達(dá),繼續(xù)執(zhí)行while中的語(yǔ)句。if語(yǔ)句表示(p[i][j]-’\o’)除2的余數(shù)不為0時(shí),即字符串所有奇數(shù),執(zhí)行后面的語(yǔ)句。所以退出第1次for的循環(huán)體時(shí),輸出為397,執(zhí)行第2次循環(huán)體。對(duì)字符串“2584”進(jìn)行處理,輸出結(jié)果為5,因而最后輸出結(jié)果為3975。
12.B。【解析】從題目中可知,’\O’、’\t’、’\\’分別為一個(gè)字符,而sizeof是求字節(jié)個(gè)數(shù)的函數(shù),其中包括’\O’占的字節(jié),strlen函數(shù)是求數(shù)組長(zhǎng)度的函數(shù);其以’\0’結(jié)束,因此strlen的值為5,sizeof的值為20。
13.C?!窘馕觥繑?shù)組的下標(biāo)是從0開始的,A中越界,行下標(biāo)和列下標(biāo)都不能越界;B中,雖然是個(gè)地址,但是也同樣越界了;選項(xiàng)c中表示的是第一個(gè)的首地址;選項(xiàng)D表示的為其元素的值,并不是地址。
14.B?!窘馕鯹SEEK_SET代表文件的開始,SEEK_END代表文件末尾,SEEK_CUR代表文件當(dāng)前位置。
15.C?!窘馕觥慨?dāng)if執(zhí)行到第一個(gè)滿足(i*i>=20)&&(i*i<=100)這個(gè)條件的i出現(xiàn)時(shí),通過break語(yǔ)句跳出循環(huán),執(zhí)行下面的prinlf語(yǔ)句。
16.B?!窘馕觥恐羔樦写娣诺氖亲兞康牡刂?,指針也可以進(jìn)行增減運(yùn)算,這時(shí)指針移動(dòng)的最小單位是一個(gè)存儲(chǔ)單元,而不是一個(gè)字節(jié)。所以題中p+6指的是將指針向后移動(dòng)了6個(gè)存儲(chǔ)單元,即指向b[6],存放的是b[6]的地址。
17.D?!窘馕觥坑蒼!的數(shù)字定義可知n!=n*(n-1)*(n-2)*…*1。在選項(xiàng)A中,由于f的初值為0,在for循環(huán)語(yǔ)句中,f依次乘以l,2,3,…,n,最后計(jì)算得到f=n!=0,所以選項(xiàng)A不正確。在選項(xiàng)B中,f的初值為l,在for循環(huán)語(yǔ)句中,f依次乘以l,2,3,…,(n-1),最后計(jì)算得到f=(n-1)!,所以選項(xiàng)B不正確。在選項(xiàng)C中,f的初值為l,在for循環(huán)語(yǔ)句中,f依次乘以n,n+1,n+2,……,所以選項(xiàng)C不正確。在選項(xiàng)D中,f的初值為l,在for循環(huán)語(yǔ)句中,f依次乘以n,n-1,n-2,…,2,最后計(jì)算得到f=n!,所以選項(xiàng)D正確。
18.A?!窘馕鯹strcpy實(shí)現(xiàn)的功能是復(fù)制,該操作把a(bǔ)re復(fù)制到a中,aE03 E33一’&’,且strcpy(aEl], "you")把you復(fù)制到a[l]中,故輸出a為“are&you”。
19.A?!窘馕觥勘绢}主要考查按位與運(yùn)算,x=Oll050的二進(jìn)制形式為00010010000101000,Ol252的二進(jìn)制形式為0000001010101010,兩者相與得0000001000101000。
20.B?!窘馕觥?include”文件名”,預(yù)處理程序首先在引用被包含文件的源文件所在的目錄下搜索指定的文件,如沒找到,再按系統(tǒng)指定的標(biāo)準(zhǔn)目錄搜索。
看了“國(guó)家二級(jí)計(jì)算機(jī)考試c語(yǔ)言題庫(kù)”的人還看了:
1.2015年計(jì)算機(jī)二級(jí)C語(yǔ)言測(cè)試題及答案
2.計(jì)算機(jī)二級(jí)c語(yǔ)言考試題庫(kù)及答案
3.2015年計(jì)算機(jī)二級(jí)C語(yǔ)言測(cè)試題及答案解析
4.全國(guó)計(jì)算機(jī)c語(yǔ)言二級(jí)考試題庫(kù)
j+=2;
)
)
printf("%d\n",num);
)
程序執(zhí)行后的輸出結(jié)果是( )。
A.35 B.37 C.39 D.3975
12.以下程序的輸出結(jié)果是( )。
main()
{ char st[20]="hell0\O\t\\”;
printf("%d%d\n",strlen(st),sizeof(st));
}
A.9 9
B.5 20
C.13 20
D.20 20
13.若有下的定義:"int t[3][2];",能正確表示t數(shù)組元素地址的表達(dá)式是( )。
A.&t[3][2]
B.t[3]
C.t[l]
D.t[2][2]
14.函數(shù)fseek(pf,OL,SEEK_END)中的SEEK_END代表的起始點(diǎn)是( )。
A.文件開始
B.文件末尾
C.文件當(dāng)前位置
D.以上都不對(duì)
15.下述程序的輸出結(jié)果是( )。
#include
main()
{int i;
for(i=1;i<=10;i++)
{if(i*i>=20)&&(i*i<=lOO))
break;
}
printf("%d\n",i*i);
)
A.49
B.36
C.25
D.64
16.若有定義“int b[8],*p=b;”,則p+6表示( )。
A.數(shù)組元素b[6]的值
B.數(shù)組元素b[6]的地址
C.數(shù)組元素b[7]的地址
D.數(shù)組元素b[0]的值加上6
17.設(shè)變量已正確定義,則以下能正確計(jì)算f=n!的程序是( )。
A.f=0; for(i=1;i<=n;i++)f*=i;
B.f=1;for(i=1;i C.f=1;for(i=n;i>1;i++)f*=i;
D.f=1;for(i=n;i>=2;i--)f*=i;
18.下述程序執(zhí)行的輸出結(jié)果是( )。
#include
main()
{char a[2][4]; ,
strcpy(a。"are");strcpy(a[1],"you");
a[o][3]=’&’;
printf("%s\n",a);
)
A.are&you
B.you
C.are
D.&
19.設(shè)x=011050,則x=x&01252的值是( )。
A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
20.在“文件包含,,預(yù)處理語(yǔ)句的使用形式中,當(dāng)#include后面的文件名用(雙引號(hào))括時(shí),尋找被包含文件的方式是( )。
A.直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄
B.先在源程序所在的目錄搜索,如沒找到,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索
C.僅僅搜索源程序所在目錄
D.僅僅搜索當(dāng)前目錄
二級(jí)計(jì)算機(jī)考試c語(yǔ)言選擇題答案
1.A?!窘馕觥垦h(huán)的作用是求行下標(biāo)從l到2列下標(biāo)從0到i的元素之和,即s=a[1][0]+a[1][1]+a[2][o]+a[2][1]+a[2][2]=3+4+5+6+0一18。
2.A?!窘馕觥吭诔绦蛘Z(yǔ)句中,k的初始值為5,進(jìn)行第l次while循環(huán)后,k自減l為4,非0,執(zhí)行循環(huán)體里的printf語(yǔ)句,輸出k,此時(shí)k的值變?yōu)閘。程序執(zhí)行第2次循環(huán)時(shí),k自減l變?yōu)?,為假,退出while循環(huán)語(yǔ)句。所以程序的最后結(jié)果為l。
3.A?!窘馕觥客ㄟ^地址來引用數(shù)組元素的方法有下列5種:
(1)a[i][j];(2)*(a[i]+j);(3)*(*(a+j)+j);(4)*(a[i][j]);(5)(&a[o][0]+3*i+j)。故A正確。
4.C?!窘馕觥窟x項(xiàng)A、B的空間不夠;字符串存儲(chǔ)要有結(jié)束符’
國(guó)家二級(jí)計(jì)算機(jī)考試c語(yǔ)言題庫(kù)
在計(jì)算機(jī)國(guó)家二級(jí)的C語(yǔ)言考試中,有哪些題目類型呢?下面是學(xué)習(xí)啦小編給大家整理的二級(jí)計(jì)算機(jī)考試c語(yǔ)言選擇題及答案,供大家參閱!
二級(jí)計(jì)算機(jī)考試c語(yǔ)言選擇題
1.以下程序的輸出結(jié)果是( )。
main()
{int a[3][3]={{1,2},{3,4),{5,6}},i,j,s=0;
for(i=1;i<3;i++)
for(j=0;j<=i;j++)s+=a[i][j];
printf("%d\n",s);
}
A.18
B.19
C.20
D.21
2.有下列程序:
main()
{ int k=5;
while(--k) printf("%d",k=1);
printf("/n");
)
執(zhí)行后的輸出結(jié)果是( )。
A.1
B.2
C.4
D.死循環(huán)
3.若有定義:“int a[2][3];”,則對(duì)a數(shù)組的第i行第J列元素的正確引用為( )。
A.*(*(a+i)+j)
B.(a+i)[j]
C.*(a+i+j)
D.*(a+i)+j
4.下列能正確進(jìn)行字符串賦值的是( )。
A.char s[5]={"ABCDE"};
B.char s[5]={’A’,’B’,’C’,’D’,’E’}; 、
C.char*S;S="ABCDE";
D.char*s;printf("%《",s);
5.現(xiàn)有以下結(jié)構(gòu)體說明和變量定義,如圖所示,指針P、q、r分別指定一個(gè)鏈表中連續(xù)的3個(gè)結(jié)點(diǎn)。
struct node
{har data;
struct node*next;)*P,*q,*r;
現(xiàn)要將q和r所指結(jié)點(diǎn)交換前后位置,同時(shí)要保持鏈表的結(jié)構(gòu),下列不能完成此操作的語(yǔ)句是( )。
A.q-:>next=r->next;p--:>next=r;rm:>next=q;
B.q-:>next=r;q->next=r->next;r->next=q;
C.q-:>next=r->next;r->next=q;p->next=r;
D.q-:>next=q;p->next=r;q->next=r->next;
6.有下列程序:
main()
{int i,j,x=0;
for(i=0,i<2;i++)
{x++;
for(j=0;j<=3;j++)
{if(j%2)continue;
x++:
)
x++:
}
printf("x=%d\n"x);
}
程序執(zhí)行后的輸出結(jié)果是( )。
A.x=4
B.x=8
C.x=6
D.x=12
7.有下列程序:
int funl(double a){return a*=a;} 、
int fun2(double x,double y)
{double a=0,b=0;
a=funl(x);b=funl(y);return(int)(a+b);
)
main()
{double w;w=fun2(1.1,2.0),……}
程序執(zhí)行后變量w中的值是( )。 、
A.5.21 B.5 C.5.0 D.0.0
8.有下列程序:
main()
{int i,s=0,t[]={1,2,3,4,5,6,7,8,9};
for(i=0;i<9;i+=2)s+=*(t+i);
printf("%d\n",s);
}
程序執(zhí)行后的輸出結(jié)果是( )。
A.45
B.20
C.25
D.36
9.有下列程序:
int fun(int n)
{if(n= =1))return l;
else
return(n+fun(n-1)):
}
main()
{ int x;
seanf("%d",&x);x=fun(x);printf("%d\n",x);
}
執(zhí)行程序時(shí),給變量x輸入l0,程序的輸出結(jié)果是( )。
A.55
B.54
C.65
D.45
10.有下列程序:
int fun(int x[],int n)
{ static int sum=0,i;
for(i=0;i return sum;
}
main()
{int a[3]={1,2,3,4,5),b[3]={6,7,8,9),s=0;
s=fun(a,5)+fun(b,4);printf("%d\n",s);
程序執(zhí)行后的輸出結(jié)果是( )。 、
A.45
B.50
C.60
D.55
11.有下列程序:
main()
f char*P[]={"3697","2584");
int i,j;long num=0;
for(i=0;i<2;i++)
{j=0;
while(p[i][j]!=’\0’)
{if((p[i][j]-t\0’)%2)num=10*num+p[j][j]-’0’;
j+=2;
)
)
printf("%d\n",num);
)
程序執(zhí)行后的輸出結(jié)果是( )。
A.35 B.37 C.39 D.3975
12.以下程序的輸出結(jié)果是( )。
main()
{ char st[20]="hell0\O\t\\\”;
printf("%d%d\n",strlen(st),sizeof(st));
}
A.9 9
B.5 20
C.13 20
D.20 20
13.若有下的定義:"int t[3][2];",能正確表示t數(shù)組元素地址的表達(dá)式是( )。
A.&t[3][2]
B.t[3]
C.t[l]
D.t[2][2]
14.函數(shù)fseek(pf,OL,SEEK_END)中的SEEK_END代表的起始點(diǎn)是( )。
A.文件開始
B.文件末尾
C.文件當(dāng)前位置
D.以上都不對(duì)
15.下述程序的輸出結(jié)果是( )。
#include
main()
{int i;
for(i=1;i<=10;i++)
{if(i*i>=20)&&(i*i<=lOO))
break;
}
printf("%d\n",i*i);
)
A.49
B.36
C.25
D.64
16.若有定義“int b[8],*p=b;”,則p+6表示( )。
A.數(shù)組元素b[6]的值
B.數(shù)組元素b[6]的地址
C.數(shù)組元素b[7]的地址
D.數(shù)組元素b[0]的值加上6
17.設(shè)變量已正確定義,則以下能正確計(jì)算f=n!的程序是( )。
A.f=0; for(i=1;i<=n;i++)f*=i;
B.f=1;for(i=1;i C.f=1;for(i=n;i>1;i++)f*=i;
D.f=1;for(i=n;i>=2;i--)f*=i;
18.下述程序執(zhí)行的輸出結(jié)果是( )。
#include
main()
{char a[2][4]; ,
strcpy(a。"are");strcpy(a[1],"you");
a[o][3]=’&’;
printf("%s\n",a);
)
A.are&you
B.you
C.are
D.&
19.設(shè)x=011050,則x=x&01252的值是( )。
A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
20.在“文件包含,,預(yù)處理語(yǔ)句的使用形式中,當(dāng)#include后面的文件名用(雙引號(hào))括時(shí),尋找被包含文件的方式是( )。
A.直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄
B.先在源程序所在的目錄搜索,如沒找到,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索
C.僅僅搜索源程序所在目錄
D.僅僅搜索當(dāng)前目錄
二級(jí)計(jì)算機(jī)考試c語(yǔ)言選擇題答案
1.A?!窘馕觥垦h(huán)的作用是求行下標(biāo)從l到2列下標(biāo)從0到i的元素之和,即s=a[1][0]+a[1][1]+a[2][o]+a[2][1]+a[2][2]=3+4+5+6+0一18。
2.A。【解析】在程序語(yǔ)句中,k的初始值為5,進(jìn)行第l次while循環(huán)后,k自減l為4,非0,執(zhí)行循環(huán)體里的printf語(yǔ)句,輸出k,此時(shí)k的值變?yōu)閘。程序執(zhí)行第2次循環(huán)時(shí),k自減l變?yōu)?,為假,退出while循環(huán)語(yǔ)句。所以程序的最后結(jié)果為l。
3.A?!窘馕觥客ㄟ^地址來引用數(shù)組元素的方法有下列5種:
(1)a[i][j];(2)*(a[i]+j);(3)*(*(a+j)+j);(4)*(a[i][j]);(5)(&a[o][0]+3*i+j)。故A正確。
4.C?!窘馕觥窟x項(xiàng)A、B的空間不夠;字符串存儲(chǔ)要有結(jié)束符’\0’,且要占用一個(gè)空間,printf用來輸出 字符,不能輸入字符串。
5.D?!窘馕觥坑深}目中線性鏈表的定義可知,要將q和r所指的結(jié)點(diǎn)交換前后位置,只要使q指向r的后一個(gè)結(jié)點(diǎn),P指向r結(jié)點(diǎn),r指向q結(jié)點(diǎn)即可。而在選項(xiàng)D中,r->next=q,這時(shí)r指向的節(jié)點(diǎn)為q;p->next=r,這時(shí)P指向的節(jié)點(diǎn)為r;q->next:r->next,因?yàn)閞節(jié)點(diǎn)已經(jīng)指向q,所以執(zhí)行這個(gè)語(yǔ)句后q又指向q,所以選項(xiàng)D不正確。
6.B?!窘馕觥吭诘?次外層for循環(huán)中,首先x++得到x=1。進(jìn)入到內(nèi)層for循環(huán),只有循環(huán)j的值為奇數(shù)時(shí),變量x的值才自加1,所以在內(nèi)層for循環(huán)執(zhí)行過程中,變量x的值自加兩次,當(dāng)退出內(nèi)層for循環(huán)時(shí),x=3,然后執(zhí)行x++,得到x=4。在進(jìn)入執(zhí)行第2次外層for循環(huán)中,首先x++得到x=5。進(jìn)入到內(nèi)層for循環(huán),只有循環(huán)變量J的值為奇數(shù)時(shí),變量X的值才自加1,所以在內(nèi)層for循環(huán)執(zhí)行過程中,變量X的值自加l兩次,當(dāng)退出內(nèi)層for循環(huán)時(shí),x=7,然后執(zhí)行x++,得到x=8,所以打印輸出變量x的值為8。
7.C?!窘馕觥孔雍瘮?shù)funl(double a)的功能是返回a的平方值的整數(shù)部分。子函數(shù)fun2(double X, double y)的功能是返回X的平方值的整數(shù)部分與Y的平方值的整數(shù)部分的和。又因?yàn)轭}中變量W的定義為double型,函數(shù)fun(2)的定義為int型,按照各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算,整型數(shù)據(jù)被轉(zhuǎn)換為實(shí)型數(shù)據(jù)。所以雙精度型變量w的值為5.0。
8.c。【解析】在for循環(huán)語(yǔ)句中自變量i從0開始,每次自加2,執(zhí)行s+=*(t+i)語(yǔ)句,因?yàn)镃語(yǔ)言規(guī)定數(shù)組名做表達(dá)式相當(dāng)于數(shù)組的首地址,也就是第一個(gè)元素的地址。因此,*(t+i)代表數(shù)組的第i+1個(gè)元素。所以程序運(yùn)行的結(jié)果是l+3+5+7+9=25,即變量S的值等于25。
9.A。【解析】本題在函數(shù)int fun(int n)的定義中又出現(xiàn)了對(duì)函數(shù)fun的調(diào)用,所以函數(shù)fun是遞歸函數(shù)。因而在主函數(shù)中調(diào)用x=fun(x)時(shí),當(dāng)輸入10賦給變量X時(shí),遞歸調(diào)用的過程為
fun(10)=l0+fun(9)=10+9+fun(8)=10+9+8+fun(7)
=10+9++8+7+fun(6)=10+9++8+7+6+fun(6)
=10+9++8+7+6+5+fun(4)
=10+9++8+7+6+5+4+fun(3)
=10+9++8+7+6+5+4+3+fun(2)
=10+9++8+7+6+5+4+3+2+fun(1)
=10+9++8+7+6+5+4+3+2=55
10.C?!窘馕觥吭诤瘮?shù)int fun(int x[],int n)的定義中,變量sum為一個(gè)靜態(tài)局部變量。由于在整個(gè)程序運(yùn)行期間,靜態(tài)局部變量在內(nèi)存中的靜態(tài)存儲(chǔ)中占據(jù)著永久的存儲(chǔ)單元。函數(shù)int fun(int x[],int n)的功能是求出數(shù)組x[]各個(gè)元素的和,所以在主函數(shù)中,調(diào)用函數(shù)fun(a,5)后,變量sum=1+2+3+4+5=15,當(dāng)再次調(diào)用fun(b,4)后,變量sum=15+6+7+8+9=45,所以s=15+45=60。
11.D?!窘馕觥繄?zhí)行第一次for循環(huán)時(shí),用表達(dá)式p[i][J]!=’\o’來判斷字符串?dāng)?shù)組指針P是否到達(dá)字符串的結(jié)尾,如果沒有到達(dá),繼續(xù)執(zhí)行while中的語(yǔ)句。if語(yǔ)句表示(p[i][j]-’\o’)除2的余數(shù)不為0時(shí),即字符串所有奇數(shù),執(zhí)行后面的語(yǔ)句。所以退出第1次for的循環(huán)體時(shí),輸出為397,執(zhí)行第2次循環(huán)體。對(duì)字符串“2584”進(jìn)行處理,輸出結(jié)果為5,因而最后輸出結(jié)果為3975。
12.B。【解析】從題目中可知,’\O’、’\t’、’\\’分別為一個(gè)字符,而sizeof是求字節(jié)個(gè)數(shù)的函數(shù),其中包括’\O’占的字節(jié),strlen函數(shù)是求數(shù)組長(zhǎng)度的函數(shù);其以’\0’結(jié)束,因此strlen的值為5,sizeof的值為20。
13.C?!窘馕觥繑?shù)組的下標(biāo)是從0開始的,A中越界,行下標(biāo)和列下標(biāo)都不能越界;B中,雖然是個(gè)地址,但是也同樣越界了;選項(xiàng)c中表示的是第一個(gè)的首地址;選項(xiàng)D表示的為其元素的值,并不是地址。
14.B?!窘馕鯹SEEK_SET代表文件的開始,SEEK_END代表文件末尾,SEEK_CUR代表文件當(dāng)前位置。
15.C。【解析】當(dāng)if執(zhí)行到第一個(gè)滿足(i*i>=20)&&(i*i<=100)這個(gè)條件的i出現(xiàn)時(shí),通過break語(yǔ)句跳出循環(huán),執(zhí)行下面的prinlf語(yǔ)句。
16.B。【解析】指針中存放的是變量的地址,指針也可以進(jìn)行增減運(yùn)算,這時(shí)指針移動(dòng)的最小單位是一個(gè)存儲(chǔ)單元,而不是一個(gè)字節(jié)。所以題中p+6指的是將指針向后移動(dòng)了6個(gè)存儲(chǔ)單元,即指向b[6],存放的是b[6]的地址。
17.D?!窘馕觥坑蒼!的數(shù)字定義可知n!=n*(n-1)*(n-2)*…*1。在選項(xiàng)A中,由于f的初值為0,在for循環(huán)語(yǔ)句中,f依次乘以l,2,3,…,n,最后計(jì)算得到f=n!=0,所以選項(xiàng)A不正確。在選項(xiàng)B中,f的初值為l,在for循環(huán)語(yǔ)句中,f依次乘以l,2,3,…,(n-1),最后計(jì)算得到f=(n-1)!,所以選項(xiàng)B不正確。在選項(xiàng)C中,f的初值為l,在for循環(huán)語(yǔ)句中,f依次乘以n,n+1,n+2,……,所以選項(xiàng)C不正確。在選項(xiàng)D中,f的初值為l,在for循環(huán)語(yǔ)句中,f依次乘以n,n-1,n-2,…,2,最后計(jì)算得到f=n!,所以選項(xiàng)D正確。
18.A?!窘馕鯹strcpy實(shí)現(xiàn)的功能是復(fù)制,該操作把a(bǔ)re復(fù)制到a中,aE03 E33一’&’,且strcpy(aEl], "you")把you復(fù)制到a[l]中,故輸出a為“are&you”。
19.A?!窘馕觥勘绢}主要考查按位與運(yùn)算,x=Oll050的二進(jìn)制形式為00010010000101000,Ol252的二進(jìn)制形式為0000001010101010,兩者相與得0000001000101000。
20.B?!窘馕觥?include”文件名”,預(yù)處理程序首先在引用被包含文件的源文件所在的目錄下搜索指定的文件,如沒找到,再按系統(tǒng)指定的標(biāo)準(zhǔn)目錄搜索。
看了“國(guó)家二級(jí)計(jì)算機(jī)考試c語(yǔ)言題庫(kù)”的人還看了:
1.2015年計(jì)算機(jī)二級(jí)C語(yǔ)言測(cè)試題及答案
2.計(jì)算機(jī)二級(jí)c語(yǔ)言考試題庫(kù)及答案
3.2015年計(jì)算機(jī)二級(jí)C語(yǔ)言測(cè)試題及答案解析
4.全國(guó)計(jì)算機(jī)c語(yǔ)言二級(jí)考試題庫(kù)
5.D。【解析】由題目中線性鏈表的定義可知,要將q和r所指的結(jié)點(diǎn)交換前后位置,只要使q指向r的后一個(gè)結(jié)點(diǎn),P指向r結(jié)點(diǎn),r指向q結(jié)點(diǎn)即可。而在選項(xiàng)D中,r->next=q,這時(shí)r指向的節(jié)點(diǎn)為q;p->next=r,這時(shí)P指向的節(jié)點(diǎn)為r;q->next:r->next,因?yàn)閞節(jié)點(diǎn)已經(jīng)指向q,所以執(zhí)行這個(gè)語(yǔ)句后q又指向q,所以選項(xiàng)D不正確。
6.B。【解析】在第1次外層for循環(huán)中,首先x++得到x=1。進(jìn)入到內(nèi)層for循環(huán),只有循環(huán)j的值為奇數(shù)時(shí),變量x的值才自加1,所以在內(nèi)層for循環(huán)執(zhí)行過程中,變量x的值自加兩次,當(dāng)退出內(nèi)層for循環(huán)時(shí),x=3,然后執(zhí)行x++,得到x=4。在進(jìn)入執(zhí)行第2次外層for循環(huán)中,首先x++得到x=5。進(jìn)入到內(nèi)層for循環(huán),只有循環(huán)變量J的值為奇數(shù)時(shí),變量X的值才自加1,所以在內(nèi)層for循環(huán)執(zhí)行過程中,變量X的值自加l兩次,當(dāng)退出內(nèi)層for循環(huán)時(shí),x=7,然后執(zhí)行x++,得到x=8,所以打印輸出變量x的值為8。
7.C?!窘馕觥孔雍瘮?shù)funl(double a)的功能是返回a的平方值的整數(shù)部分。子函數(shù)fun2(double X, double y)的功能是返回X的平方值的整數(shù)部分與Y的平方值的整數(shù)部分的和。又因?yàn)轭}中變量W的定義為double型,函數(shù)fun(2)的定義為int型,按照各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算,整型數(shù)據(jù)被轉(zhuǎn)換為實(shí)型數(shù)據(jù)。所以雙精度型變量w的值為5.0。
8.c?!窘馕觥吭趂or循環(huán)語(yǔ)句中自變量i從0開始,每次自加2,執(zhí)行s+=*(t+i)語(yǔ)句,因?yàn)镃語(yǔ)言規(guī)定數(shù)組名做表達(dá)式相當(dāng)于數(shù)組的首地址,也就是第一個(gè)元素的地址。因此,*(t+i)代表數(shù)組的第i+1個(gè)元素。所以程序運(yùn)行的結(jié)果是l+3+5+7+9=25,即變量S的值等于25。
9.A?!窘馕觥勘绢}在函數(shù)int fun(int n)的定義中又出現(xiàn)了對(duì)函數(shù)fun的調(diào)用,所以函數(shù)fun是遞歸函數(shù)。因而在主函數(shù)中調(diào)用x=fun(x)時(shí),當(dāng)輸入10賦給變量X時(shí),遞歸調(diào)用的過程為
fun(10)=l0+fun(9)=10+9+fun(8)=10+9+8+fun(7)
=10+9++8+7+fun(6)=10+9++8+7+6+fun(6)
=10+9++8+7+6+5+fun(4)
=10+9++8+7+6+5+4+fun(3)
=10+9++8+7+6+5+4+3+fun(2)
=10+9++8+7+6+5+4+3+2+fun(1)
=10+9++8+7+6+5+4+3+2=55
10.C?!窘馕觥吭诤瘮?shù)int fun(int x[],int n)的定義中,變量sum為一個(gè)靜態(tài)局部變量。由于在整個(gè)程序運(yùn)行期間,靜態(tài)局部變量在內(nèi)存中的靜態(tài)存儲(chǔ)中占據(jù)著永久的存儲(chǔ)單元。函數(shù)int fun(int x[],int n)的功能是求出數(shù)組x[]各個(gè)元素的和,所以在主函數(shù)中,調(diào)用函數(shù)fun(a,5)后,變量sum=1+2+3+4+5=15,當(dāng)再次調(diào)用fun(b,4)后,變量sum=15+6+7+8+9=45,所以s=15+45=60。
11.D。【解析】執(zhí)行第一次for循環(huán)時(shí),用表達(dá)式p[i][J]!=’\o’來判斷字符串?dāng)?shù)組指針P是否到達(dá)字符串的結(jié)尾,如果沒有到達(dá),繼續(xù)執(zhí)行while中的語(yǔ)句。if語(yǔ)句表示(p[i][j]-’\o’)除2的余數(shù)不為0時(shí),即字符串所有奇數(shù),執(zhí)行后面的語(yǔ)句。所以退出第1次for的循環(huán)體時(shí),輸出為397,執(zhí)行第2次循環(huán)體。對(duì)字符串“2584”進(jìn)行處理,輸出結(jié)果為5,因而最后輸出結(jié)果為3975。
12.B?!窘馕觥繌念}目中可知,’\O’、’\t’、’\’分別為一個(gè)字符,而sizeof是求字節(jié)個(gè)數(shù)的函數(shù),其中包括’\O’占的字節(jié),strlen函數(shù)是求數(shù)組長(zhǎng)度的函數(shù);其以’
國(guó)家二級(jí)計(jì)算機(jī)考試c語(yǔ)言題庫(kù)
在計(jì)算機(jī)國(guó)家二級(jí)的C語(yǔ)言考試中,有哪些題目類型呢?下面是學(xué)習(xí)啦小編給大家整理的二級(jí)計(jì)算機(jī)考試c語(yǔ)言選擇題及答案,供大家參閱!
二級(jí)計(jì)算機(jī)考試c語(yǔ)言選擇題
1.以下程序的輸出結(jié)果是( )。
main()
{int a[3][3]={{1,2},{3,4),{5,6}},i,j,s=0;
for(i=1;i<3;i++)
for(j=0;j<=i;j++)s+=a[i][j];
printf("%d\n",s);
}
A.18
B.19
C.20
D.21
2.有下列程序:
main()
{ int k=5;
while(--k) printf("%d",k=1);
printf("/n");
)
執(zhí)行后的輸出結(jié)果是( )。
A.1
B.2
C.4
D.死循環(huán)
3.若有定義:“int a[2][3];”,則對(duì)a數(shù)組的第i行第J列元素的正確引用為( )。
A.*(*(a+i)+j)
B.(a+i)[j]
C.*(a+i+j)
D.*(a+i)+j
4.下列能正確進(jìn)行字符串賦值的是( )。
A.char s[5]={"ABCDE"};
B.char s[5]={’A’,’B’,’C’,’D’,’E’}; 、
C.char*S;S="ABCDE";
D.char*s;printf("%《",s);
5.現(xiàn)有以下結(jié)構(gòu)體說明和變量定義,如圖所示,指針P、q、r分別指定一個(gè)鏈表中連續(xù)的3個(gè)結(jié)點(diǎn)。
struct node
{har data;
struct node*next;)*P,*q,*r;
現(xiàn)要將q和r所指結(jié)點(diǎn)交換前后位置,同時(shí)要保持鏈表的結(jié)構(gòu),下列不能完成此操作的語(yǔ)句是( )。
A.q-:>next=r->next;p--:>next=r;rm:>next=q;
B.q-:>next=r;q->next=r->next;r->next=q;
C.q-:>next=r->next;r->next=q;p->next=r;
D.q-:>next=q;p->next=r;q->next=r->next;
6.有下列程序:
main()
{int i,j,x=0;
for(i=0,i<2;i++)
{x++;
for(j=0;j<=3;j++)
{if(j%2)continue;
x++:
)
x++:
}
printf("x=%d\n"x);
}
程序執(zhí)行后的輸出結(jié)果是( )。
A.x=4
B.x=8
C.x=6
D.x=12
7.有下列程序:
int funl(double a){return a*=a;} 、
int fun2(double x,double y)
{double a=0,b=0;
a=funl(x);b=funl(y);return(int)(a+b);
)
main()
{double w;w=fun2(1.1,2.0),……}
程序執(zhí)行后變量w中的值是( )。 、
A.5.21 B.5 C.5.0 D.0.0
8.有下列程序:
main()
{int i,s=0,t[]={1,2,3,4,5,6,7,8,9};
for(i=0;i<9;i+=2)s+=*(t+i);
printf("%d\n",s);
}
程序執(zhí)行后的輸出結(jié)果是( )。
A.45
B.20
C.25
D.36
9.有下列程序:
int fun(int n)
{if(n= =1))return l;
else
return(n+fun(n-1)):
}
main()
{ int x;
seanf("%d",&x);x=fun(x);printf("%d\n",x);
}
執(zhí)行程序時(shí),給變量x輸入l0,程序的輸出結(jié)果是( )。
A.55
B.54
C.65
D.45
10.有下列程序:
int fun(int x[],int n)
{ static int sum=0,i;
for(i=0;i return sum;
}
main()
{int a[3]={1,2,3,4,5),b[3]={6,7,8,9),s=0;
s=fun(a,5)+fun(b,4);printf("%d\n",s);
程序執(zhí)行后的輸出結(jié)果是( )。 、
A.45
B.50
C.60
D.55
11.有下列程序:
main()
f char*P[]={"3697","2584");
int i,j;long num=0;
for(i=0;i<2;i++)
{j=0;
while(p[i][j]!=’\0’)
{if((p[i][j]-t\0’)%2)num=10*num+p[j][j]-’0’;
j+=2;
)
)
printf("%d\n",num);
)
程序執(zhí)行后的輸出結(jié)果是( )。
A.35 B.37 C.39 D.3975
12.以下程序的輸出結(jié)果是( )。
main()
{ char st[20]="hell0\O\t\\\”;
printf("%d%d\n",strlen(st),sizeof(st));
}
A.9 9
B.5 20
C.13 20
D.20 20
13.若有下的定義:"int t[3][2];",能正確表示t數(shù)組元素地址的表達(dá)式是( )。
A.&t[3][2]
B.t[3]
C.t[l]
D.t[2][2]
14.函數(shù)fseek(pf,OL,SEEK_END)中的SEEK_END代表的起始點(diǎn)是( )。
A.文件開始
B.文件末尾
C.文件當(dāng)前位置
D.以上都不對(duì)
15.下述程序的輸出結(jié)果是( )。
#include
main()
{int i;
for(i=1;i<=10;i++)
{if(i*i>=20)&&(i*i<=lOO))
break;
}
printf("%d\n",i*i);
)
A.49
B.36
C.25
D.64
16.若有定義“int b[8],*p=b;”,則p+6表示( )。
A.數(shù)組元素b[6]的值
B.數(shù)組元素b[6]的地址
C.數(shù)組元素b[7]的地址
D.數(shù)組元素b[0]的值加上6
17.設(shè)變量已正確定義,則以下能正確計(jì)算f=n!的程序是( )。
A.f=0; for(i=1;i<=n;i++)f*=i;
B.f=1;for(i=1;i C.f=1;for(i=n;i>1;i++)f*=i;
D.f=1;for(i=n;i>=2;i--)f*=i;
18.下述程序執(zhí)行的輸出結(jié)果是( )。
#include
main()
{char a[2][4]; ,
strcpy(a。"are");strcpy(a[1],"you");
a[o][3]=’&’;
printf("%s\n",a);
)
A.are&you
B.you
C.are
D.&
19.設(shè)x=011050,則x=x&01252的值是( )。
A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
20.在“文件包含,,預(yù)處理語(yǔ)句的使用形式中,當(dāng)#include后面的文件名用(雙引號(hào))括時(shí),尋找被包含文件的方式是( )。
A.直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄
B.先在源程序所在的目錄搜索,如沒找到,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索
C.僅僅搜索源程序所在目錄
D.僅僅搜索當(dāng)前目錄
二級(jí)計(jì)算機(jī)考試c語(yǔ)言選擇題答案
1.A。【解析】循環(huán)的作用是求行下標(biāo)從l到2列下標(biāo)從0到i的元素之和,即s=a[1][0]+a[1][1]+a[2][o]+a[2][1]+a[2][2]=3+4+5+6+0一18。
2.A?!窘馕觥吭诔绦蛘Z(yǔ)句中,k的初始值為5,進(jìn)行第l次while循環(huán)后,k自減l為4,非0,執(zhí)行循環(huán)體里的printf語(yǔ)句,輸出k,此時(shí)k的值變?yōu)閘。程序執(zhí)行第2次循環(huán)時(shí),k自減l變?yōu)?,為假,退出while循環(huán)語(yǔ)句。所以程序的最后結(jié)果為l。
3.A?!窘馕觥客ㄟ^地址來引用數(shù)組元素的方法有下列5種:
(1)a[i][j];(2)*(a[i]+j);(3)*(*(a+j)+j);(4)*(a[i][j]);(5)(&a[o][0]+3*i+j)。故A正確。
4.C?!窘馕觥窟x項(xiàng)A、B的空間不夠;字符串存儲(chǔ)要有結(jié)束符’\0’,且要占用一個(gè)空間,printf用來輸出 字符,不能輸入字符串。
5.D?!窘馕觥坑深}目中線性鏈表的定義可知,要將q和r所指的結(jié)點(diǎn)交換前后位置,只要使q指向r的后一個(gè)結(jié)點(diǎn),P指向r結(jié)點(diǎn),r指向q結(jié)點(diǎn)即可。而在選項(xiàng)D中,r->next=q,這時(shí)r指向的節(jié)點(diǎn)為q;p->next=r,這時(shí)P指向的節(jié)點(diǎn)為r;q->next:r->next,因?yàn)閞節(jié)點(diǎn)已經(jīng)指向q,所以執(zhí)行這個(gè)語(yǔ)句后q又指向q,所以選項(xiàng)D不正確。
6.B?!窘馕觥吭诘?次外層for循環(huán)中,首先x++得到x=1。進(jìn)入到內(nèi)層for循環(huán),只有循環(huán)j的值為奇數(shù)時(shí),變量x的值才自加1,所以在內(nèi)層for循環(huán)執(zhí)行過程中,變量x的值自加兩次,當(dāng)退出內(nèi)層for循環(huán)時(shí),x=3,然后執(zhí)行x++,得到x=4。在進(jìn)入執(zhí)行第2次外層for循環(huán)中,首先x++得到x=5。進(jìn)入到內(nèi)層for循環(huán),只有循環(huán)變量J的值為奇數(shù)時(shí),變量X的值才自加1,所以在內(nèi)層for循環(huán)執(zhí)行過程中,變量X的值自加l兩次,當(dāng)退出內(nèi)層for循環(huán)時(shí),x=7,然后執(zhí)行x++,得到x=8,所以打印輸出變量x的值為8。
7.C。【解析】子函數(shù)funl(double a)的功能是返回a的平方值的整數(shù)部分。子函數(shù)fun2(double X, double y)的功能是返回X的平方值的整數(shù)部分與Y的平方值的整數(shù)部分的和。又因?yàn)轭}中變量W的定義為double型,函數(shù)fun(2)的定義為int型,按照各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算,整型數(shù)據(jù)被轉(zhuǎn)換為實(shí)型數(shù)據(jù)。所以雙精度型變量w的值為5.0。
8.c?!窘馕觥吭趂or循環(huán)語(yǔ)句中自變量i從0開始,每次自加2,執(zhí)行s+=*(t+i)語(yǔ)句,因?yàn)镃語(yǔ)言規(guī)定數(shù)組名做表達(dá)式相當(dāng)于數(shù)組的首地址,也就是第一個(gè)元素的地址。因此,*(t+i)代表數(shù)組的第i+1個(gè)元素。所以程序運(yùn)行的結(jié)果是l+3+5+7+9=25,即變量S的值等于25。
9.A?!窘馕觥勘绢}在函數(shù)int fun(int n)的定義中又出現(xiàn)了對(duì)函數(shù)fun的調(diào)用,所以函數(shù)fun是遞歸函數(shù)。因而在主函數(shù)中調(diào)用x=fun(x)時(shí),當(dāng)輸入10賦給變量X時(shí),遞歸調(diào)用的過程為
fun(10)=l0+fun(9)=10+9+fun(8)=10+9+8+fun(7)
=10+9++8+7+fun(6)=10+9++8+7+6+fun(6)
=10+9++8+7+6+5+fun(4)
=10+9++8+7+6+5+4+fun(3)
=10+9++8+7+6+5+4+3+fun(2)
=10+9++8+7+6+5+4+3+2+fun(1)
=10+9++8+7+6+5+4+3+2=55
10.C。【解析】在函數(shù)int fun(int x[],int n)的定義中,變量sum為一個(gè)靜態(tài)局部變量。由于在整個(gè)程序運(yùn)行期間,靜態(tài)局部變量在內(nèi)存中的靜態(tài)存儲(chǔ)中占據(jù)著永久的存儲(chǔ)單元。函數(shù)int fun(int x[],int n)的功能是求出數(shù)組x[]各個(gè)元素的和,所以在主函數(shù)中,調(diào)用函數(shù)fun(a,5)后,變量sum=1+2+3+4+5=15,當(dāng)再次調(diào)用fun(b,4)后,變量sum=15+6+7+8+9=45,所以s=15+45=60。
11.D?!窘馕觥繄?zhí)行第一次for循環(huán)時(shí),用表達(dá)式p[i][J]!=’\o’來判斷字符串?dāng)?shù)組指針P是否到達(dá)字符串的結(jié)尾,如果沒有到達(dá),繼續(xù)執(zhí)行while中的語(yǔ)句。if語(yǔ)句表示(p[i][j]-’\o’)除2的余數(shù)不為0時(shí),即字符串所有奇數(shù),執(zhí)行后面的語(yǔ)句。所以退出第1次for的循環(huán)體時(shí),輸出為397,執(zhí)行第2次循環(huán)體。對(duì)字符串“2584”進(jìn)行處理,輸出結(jié)果為5,因而最后輸出結(jié)果為3975。
12.B。【解析】從題目中可知,’\O’、’\t’、’\\’分別為一個(gè)字符,而sizeof是求字節(jié)個(gè)數(shù)的函數(shù),其中包括’\O’占的字節(jié),strlen函數(shù)是求數(shù)組長(zhǎng)度的函數(shù);其以’\0’結(jié)束,因此strlen的值為5,sizeof的值為20。
13.C。【解析】數(shù)組的下標(biāo)是從0開始的,A中越界,行下標(biāo)和列下標(biāo)都不能越界;B中,雖然是個(gè)地址,但是也同樣越界了;選項(xiàng)c中表示的是第一個(gè)的首地址;選項(xiàng)D表示的為其元素的值,并不是地址。
14.B。【解析]SEEK_SET代表文件的開始,SEEK_END代表文件末尾,SEEK_CUR代表文件當(dāng)前位置。
15.C?!窘馕觥慨?dāng)if執(zhí)行到第一個(gè)滿足(i*i>=20)&&(i*i<=100)這個(gè)條件的i出現(xiàn)時(shí),通過break語(yǔ)句跳出循環(huán),執(zhí)行下面的prinlf語(yǔ)句。
16.B?!窘馕觥恐羔樦写娣诺氖亲兞康牡刂?,指針也可以進(jìn)行增減運(yùn)算,這時(shí)指針移動(dòng)的最小單位是一個(gè)存儲(chǔ)單元,而不是一個(gè)字節(jié)。所以題中p+6指的是將指針向后移動(dòng)了6個(gè)存儲(chǔ)單元,即指向b[6],存放的是b[6]的地址。
17.D?!窘馕觥坑蒼!的數(shù)字定義可知n!=n*(n-1)*(n-2)*…*1。在選項(xiàng)A中,由于f的初值為0,在for循環(huán)語(yǔ)句中,f依次乘以l,2,3,…,n,最后計(jì)算得到f=n!=0,所以選項(xiàng)A不正確。在選項(xiàng)B中,f的初值為l,在for循環(huán)語(yǔ)句中,f依次乘以l,2,3,…,(n-1),最后計(jì)算得到f=(n-1)!,所以選項(xiàng)B不正確。在選項(xiàng)C中,f的初值為l,在for循環(huán)語(yǔ)句中,f依次乘以n,n+1,n+2,……,所以選項(xiàng)C不正確。在選項(xiàng)D中,f的初值為l,在for循環(huán)語(yǔ)句中,f依次乘以n,n-1,n-2,…,2,最后計(jì)算得到f=n!,所以選項(xiàng)D正確。
18.A。【解析]strcpy實(shí)現(xiàn)的功能是復(fù)制,該操作把a(bǔ)re復(fù)制到a中,aE03 E33一’&’,且strcpy(aEl], "you")把you復(fù)制到a[l]中,故輸出a為“are&you”。
19.A。【解析】本題主要考查按位與運(yùn)算,x=Oll050的二進(jìn)制形式為00010010000101000,Ol252的二進(jìn)制形式為0000001010101010,兩者相與得0000001000101000。
20.B?!窘馕觥?include”文件名”,預(yù)處理程序首先在引用被包含文件的源文件所在的目錄下搜索指定的文件,如沒找到,再按系統(tǒng)指定的標(biāo)準(zhǔn)目錄搜索。
看了“國(guó)家二級(jí)計(jì)算機(jī)考試c語(yǔ)言題庫(kù)”的人還看了:
1.2015年計(jì)算機(jī)二級(jí)C語(yǔ)言測(cè)試題及答案
2.計(jì)算機(jī)二級(jí)c語(yǔ)言考試題庫(kù)及答案
3.2015年計(jì)算機(jī)二級(jí)C語(yǔ)言測(cè)試題及答案解析
4.全國(guó)計(jì)算機(jī)c語(yǔ)言二級(jí)考試題庫(kù)
13.C?!窘馕觥繑?shù)組的下標(biāo)是從0開始的,A中越界,行下標(biāo)和列下標(biāo)都不能越界;B中,雖然是個(gè)地址,但是也同樣越界了;選項(xiàng)c中表示的是第一個(gè)的首地址;選項(xiàng)D表示的為其元素的值,并不是地址。
14.B。【解析]SEEK_SET代表文件的開始,SEEK_END代表文件末尾,SEEK_CUR代表文件當(dāng)前位置。
15.C?!窘馕觥慨?dāng)if執(zhí)行到第一個(gè)滿足(i*i>=20)&&(i*i<=100)這個(gè)條件的i出現(xiàn)時(shí),通過break語(yǔ)句跳出循環(huán),執(zhí)行下面的prinlf語(yǔ)句。
16.B?!窘馕觥恐羔樦写娣诺氖亲兞康牡刂罚羔樢部梢赃M(jìn)行增減運(yùn)算,這時(shí)指針移動(dòng)的最小單位是一個(gè)存儲(chǔ)單元,而不是一個(gè)字節(jié)。所以題中p+6指的是將指針向后移動(dòng)了6個(gè)存儲(chǔ)單元,即指向b[6],存放的是b[6]的地址。
17.D?!窘馕觥坑蒼!的數(shù)字定義可知n!=n*(n-1)*(n-2)*…*1。在選項(xiàng)A中,由于f的初值為0,在for循環(huán)語(yǔ)句中,f依次乘以l,2,3,…,n,最后計(jì)算得到f=n!=0,所以選項(xiàng)A不正確。在選項(xiàng)B中,f的初值為l,在for循環(huán)語(yǔ)句中,f依次乘以l,2,3,…,(n-1),最后計(jì)算得到f=(n-1)!,所以選項(xiàng)B不正確。在選項(xiàng)C中,f的初值為l,在for循環(huán)語(yǔ)句中,f依次乘以n,n+1,n+2,……,所以選項(xiàng)C不正確。在選項(xiàng)D中,f的初值為l,在for循環(huán)語(yǔ)句中,f依次乘以n,n-1,n-2,…,2,最后計(jì)算得到f=n!,所以選項(xiàng)D正確。
18.A。【解析]strcpy實(shí)現(xiàn)的功能是復(fù)制,該操作把a(bǔ)re復(fù)制到a中,aE03 E33一’&’,且strcpy(aEl], "you")把you復(fù)制到a[l]中,故輸出a為“are&you”。
19.A?!窘馕觥勘绢}主要考查按位與運(yùn)算,x=Oll050的二進(jìn)制形式為00010010000101000,Ol252的二進(jìn)制形式為0000001010101010,兩者相與得0000001000101000。
20.B?!窘馕觥?include”文件名”,預(yù)處理程序首先在引用被包含文件的源文件所在的目錄下搜索指定的文件,如沒找到,再按系統(tǒng)指定的標(biāo)準(zhǔn)目錄搜索。
看了“國(guó)家二級(jí)計(jì)算機(jī)考試c語(yǔ)言題庫(kù)”的人還看了:
1.2015年計(jì)算機(jī)二級(jí)C語(yǔ)言測(cè)試題及答案
2.計(jì)算機(jī)二級(jí)c語(yǔ)言考試題庫(kù)及答案
3.2015年計(jì)算機(jī)二級(jí)C語(yǔ)言測(cè)試題及答案解析
4.全國(guó)計(jì)算機(jī)c語(yǔ)言二級(jí)考試題庫(kù)
國(guó)家二級(jí)計(jì)算機(jī)考試c語(yǔ)言題庫(kù)
精選文章
-
計(jì)算機(jī)等級(jí)考試二級(jí)c語(yǔ)言題庫(kù)
在計(jì)算機(jī)等級(jí)二級(jí)c語(yǔ)言的考試題庫(kù)中,有哪些類型的題目呢?下面是學(xué)習(xí)啦小編給大家整理的計(jì)算機(jī)等級(jí)考試二級(jí)c語(yǔ)言選擇題及答案,供大家參閱! 計(jì)算機(jī)
-
計(jì)算機(jī)等級(jí)考試c語(yǔ)言試題及答案
在計(jì)算等級(jí)C語(yǔ)言考試中,我們會(huì)遇到什么樣的題目類型呢?下面是學(xué)習(xí)啦小編給大家整理的計(jì)算機(jī)等級(jí)考試c語(yǔ)言試題及答案,供大家參閱! 計(jì)算機(jī)等級(jí)考試
-
全國(guó)計(jì)算機(jī)二級(jí)c語(yǔ)言考試題庫(kù)
在全國(guó)計(jì)算機(jī)二級(jí)c語(yǔ)言考試的題庫(kù)中,有哪些類型的題目呢?下面是學(xué)習(xí)啦小編給大家整理的計(jì)算機(jī)二級(jí)c語(yǔ)言考試題庫(kù)選擇題及答案,供大家參閱! 計(jì)算機(jī)
-
全國(guó)計(jì)算機(jī)二級(jí)c語(yǔ)言考試題
在全國(guó)的計(jì)算機(jī)二級(jí)考試中,我們會(huì)遇到什么樣的知識(shí)點(diǎn)題目呢?下面是學(xué)習(xí)啦小編給大家整理的計(jì)算機(jī)二級(jí)c語(yǔ)言考試題目及答案,供大家參閱! 計(jì)算機(jī)二
精華文章
熱門文章
- 1 c語(yǔ)言計(jì)算機(jī)二級(jí)考試題
- 2 全國(guó)計(jì)算機(jī)c語(yǔ)言二級(jí)考試題庫(kù)
- 3 計(jì)算機(jī)二級(jí)c語(yǔ)言模擬考試題
- 4 國(guó)家計(jì)算機(jī)二級(jí)c語(yǔ)言考試模擬題
- 5 計(jì)算機(jī)二級(jí)c語(yǔ)言考試題
- 6 國(guó)家計(jì)算機(jī)二級(jí)c語(yǔ)言考試題庫(kù)
- 7 全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)c語(yǔ)言公共基礎(chǔ)知識(shí)題例
- 8 全國(guó)計(jì)算機(jī)二級(jí)c語(yǔ)言考試題庫(kù)
- 9 計(jì)算機(jī)等級(jí)考試c語(yǔ)言試題及答案
- 10 全國(guó)計(jì)算機(jī)二級(jí)c語(yǔ)言考試題