武汉光谷计算机学校 联系电话:027-62092619
main( )
{ int x=10,y=10,i; for(i=0;x>8;y=++i)
printf(\,%d \,x--,y);}
7、当有以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为
A)ABCdef B)abcDEF C)abc D)DEF #include:”stdio.h” main( ) { char ch;
while((ch=getchar( ))!=?\\n?)
{ if(ch>=?A? && ch<=?Z?)ch=ch+32; else if(ch>=?a? && ch
main( )
{ int i,sum=0;
for(i=1;i<=3;sum++) sum+=i; printf(“%d\\n”,sum); }
该程序的执行结果是
A) 6 B) 3 C) 死循环 D) 0 9、有如下程序
main( )
{ int x=23;
do{ printf(“%d”,x--);}while(!x); }
该程序的执行结果是
A) 321 B) 23 C) 不输出任何内容 D) 陷入死循环 10、有如下程序
main( ) { int n=9;
while(n>6) {n--;printf(“%d”,n);} }
该程序段的输出结果是
A) 987 B) 876 C) 8765 D) 9876
计算机等级考试考前培训二级练习题(C语言部分)循环结构(二)1、以下程序的输出结果是
A)10 1 9 2 B)9 8 7 6 C)10 9 9 0 D)10 10 9 1 main( )
6
武汉光谷计算机学校 联系电话:027-62092619
{ int x=10,y=10,i;
for(i=0;x>8;y=++i) printf(\,%d \,x--,y);} 2、以下程序的输出结果是
A)2 0 B)3 1 C)3 2 1 D)2 1 0 main( ) { int n=4;
while(n--)printf(\,--n);} 3、以下循环体的执行次数是
A) 3 B) 2 C) 1 D) 0 main() { int i,j;
for(i=0,j=1; i<=j+1; i+=2, j--)printf(\4、以下叙述正确的是
A) do-while语句构成的循环不能用其它语句构成的循环来代替。 B) do-while语句构成的循环只能用break语句退出。
C) 用do-while语句构成的循环,在while后的表达式为非零时结束循环。 D) 用do-while语句构成的循环,在while后的表达式为零时结束循环。 5、若ij已定义为int类型,则以下程序段中内循环体的总的执行次数是
for (i=5;i;i--)
for(j=0;j<4;j++){...}
A)20 B)25 C)24 D)30 6、定义如下变量:
int n=10;
则下列循环的输出结果是 while(n>7) { n--;
printf(\
A)10 B)9 C)10 D)9 9 8 9 8 8 7 8 7 7 6
7、下面的程序
A) 输出的是1 B)输出的是1和-2 C)输出的是3和0 D)是死循环 main() {int x=3;
do {printf(\8、请读程序:
#include
{ int num=0;
while(num<=2){ num++; printf(\}
上面程序的输出结果是
A) 1 B) 1 C) 1 D) 1 2 2 2 3 3 4
9、执行下面程序片段的结果是
int x=23;
do{ printf(\
A) 打印出321 B) 打印出23 C) 不打印任何内容 D) 陷入死循环10、以下程序段的输出结果是
int x=3;
7
武汉光谷计算机学校 联系电话:027-62092619
do{ printf(\A)1 B)3 0 C)1-2 D)死循环 12、以下程序执行后sum的值是
A)15 B)14 C) 不确定 D)0 min()
{ int i , sum;
for(i=1;i<6;i++) sum+=i; printf(\}
13、当执行以下程序段时
A)循环体将执行一次 B)循环体将执行两次 C)循环体将执行无限次D)系统将提示有语法错误 x=-1;
do { x=x*x;} while(!x); 14、执行以下程序后,输出的结果是
A)-1 B)1 C)8 D)0 main( ) { int y=10;
do {y--;} while(--y); printf(“%d\\n”,y--); }
15、在下列选项中,没有构成死循环的程序段是
A) int i=100 B) for(;;); C)int k=1000; D)int s=36 while (1) do{++k} while (k>=1000) while(s) --s; {i=i0+1; if(i>100)break; }
16、执行语句:for(i=1;i++<4;)后;变量i的值是
A)3 B)4 C)5 D)不定
计算机等级考试考前培训二级练习题(C语言部分)
8
武汉光谷计算机学校 联系电话:027-62092619
数组(一)
姓名____________ 班级___________ 学号____________
1、 当调用函数时,实参是一个数组名,则向函数传送的是
A) 数组的长度 B) 数组的首地址 C) 数组每一个元素的地址 D) 数组每个元素中的值 2、 下列程序的输出结果是
A) 非法 B)a[4]的地址 C)5 D)3 main()
{ char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5; printf(\}
3、下面程序的输出结果是
A) 0 B) 1 C) 10 D) 9 main()
{ int a[ ]={1,2,3,4,5,6,7,8,9,0,},*p; p=a;
printf(\}
4、执行下面的程序段后,变量k中的值为
A) 不定值 B) 33 C) 30 D) 10 int k=3, s[2];
s[0]=k; k=s[1]*10; 5、若已定义:
int a[ ]={0,1,2,3,4,5,6,7,8,9}, *p=a,i; 其中 0≤i≤9, 则对a数组元素不正确的引用上 A) a[p-a] B) *(&a[i]) C) p[i] D) a[10]
6、若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1] 地址的表达式是
A)p+1 B)a+1 C)a++ D)++p
7、若有以下的说明和语句,则在执行for语句后,*(*(pt+l)+2)表示的数组元素是
A)t[2][0] B)t[2][2] C)t[l][2] D)t[2][l] int t[3][3], *pt[3], k;
for (k=0;k<3;k++) pt[k]=&t[k][0]; 8、若有以下定义和语句:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则不能表示a数组元素的表达式是 A)*p B)a[10] C)*a D)a[p-a] 9、定义如下变题和数组:
int i;
int x[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是
for(i=0;i<3;i++) printf(\
A)1 5 9 B)1 4 7 C)3 5 7 D)3 6 9 10、下面程序的输出是
A) 3 B) 4 C) 1 D) 2 main()
{ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf(\11、若有以下的定义:
int a[]={1,2,3,4,5,6,7,88,9,10}, *p=a; 则值为3的表式是
A)p+=2, *(p++) B)p+=2,*++p C)p+=3, *p++ D)p+=2,++*p 12、若有以下的说明和语句:
main()
9
武汉光谷计算机学校 联系电话:027-62092619
{int t[3][2], *pt[3],k;
fpr(k=o; k<3;k++)pt[k]=t[k]; }
则以一选项中能正确表示t数组元素地址的表达式是
A)&t[3][2] B)*pt[0] C)*(pt+1) D)&pt[2] 13、下面程序输出数组中的最大值,由s指针指向该元素.
main()
{int a[10]={6,7,2,9,1,10,5,8,4,3,},*p,*s; for(p=a, s=a; p-a<10; p++) if(---?---)s=p;
printf(\}
则在if语句中的判断表达式应该是
A)p>s B)*p>*s C)a[p]>a[s] D)p-a>p-s
14、以下程序段给数组所有的元素输入数据,请选择正确答案填入。
#include
{ int a[10],i=0;
while(i<10) scanf(\ ……}
A) a+(i++) B) &a[i+1] C) a+i D) &a[++i] 15、下列程序执行后的输出结果是
A) 6 B) 7 C) 8 D) 9 void func(int *a,int b[]) { b[0]=*a+6; } main()
{ int a,b[5]; a=0; b[0]=3;
func(&a,b); printf(\}
16、以下程序的输出结果是
A) 1,5,9 B) 1,4,7 C) 3,5,7 D)3,6,9 main()
{ int i, x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++) printf(\}
17、若有以下定义和语句:
int w[2][3],(*pw)[3]; pw=w;
则对w数组元素非法引用是
A)*(w[0]+2) B)*(pw+1)[2] C)pw[0][0] D)*(pw[1]+2) 18、若有以下说明:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为6的表达式是
A)*p+6 B)*(p+6) C)*p+=5 D)p+5 19、若有以下说明:
int w[3][4]o={{0,1},{2,4},{5,8}}; int(*p)[4]=w;
则数值为4的表达式是
A)*w[1]+1 B)p++,*(p+1) C)w[2][2] D)p[1][1]
计算机等级考试考前培训二级练习题(C语言部分)
10