13.设x和y为int型变量,则执行下面的循环后,y的值为( )
for(y=l, x=l; y<=50; y++){
if(x>=10) break;
if(x%2==1){ x+=5; continue;}
X -= 3;
}
①2 ②4 ③6 ④8
「解」 for循环语句的初始化部分置变量x和y的初值为1,循环条件是(y<=50),每次循环后变
2.说明下列程序的功能。
main()
{ int i,j;
float a[3][3],b[3][3],x;
for(i=0;i<3;i++)
for(j=0;j<3 ;j++)
{ scanf(“%f”,x); a[j]= x;
}
for(i=0;i<3;i++)
for(j=0;j<3;j++
11.若有下面的程序片段,则对数组元素的错误弓D用是( )
int a[12]={0},*p[3],* *pp,i;
for( i=0;i<3;i++) p=a[i+4];
pp= P;
①pp[0][1] ②a[10]
③ p[3][l] ④*(*(p+2)+2)
「解」上述代码定义变量a是有12个整型元素的数组,它的初
3.3 程序分析题
1.阅读程序,写出运行结果。
main()
{ int a=10, b=4,C=3;
if(a<b)a=b;
if(a<C) a=C;
printf(“%d,%d,%d\n”, a,b,c);
}
「解」程序中,第一个if语句if(a<B)A=B,当A<B时,让B值置A,该语句确保A的值不比B小。同样第二个IF语句IF(A<
2.编程序,输入10个整数存入一维数组,再按逆序重新存放后再输出。
「解」将数组的元素逆序重新存放,就是将数组的首尾对应元素两两交换。简单地可用两个游标变量i和j,i是前端元素的下标,j是后端元素的下标,交换以这两个变量值为下标的数组元素。开始时,i的值为0,j的值为末元素的下标。每次交换后,i增1,j减1
3.阅读下列程序,写出程序运行的输出结果。
char s[]=“ABCD”;
main()
{ char * p;
for( p=s;p< s+4;p++) printf(“%s\n”, p);
}
「解]程序定义了一个字符数组s,由给它所赋的字符串初值知,该数组只有五个元素。程序另定义了字符指针变量p.循环开始时,先让p指向数组的首元
3.2 填充题
1.结构化程序设计规定的三种基本结构是________结构,选择结构和_______结构。
「解」结构化程序设计的三种基本控制结构是顺序结构、选择结构和循环结构。
2.若有定义“int a=25,b=14, c=19;”,以下语句的执行结果是______.
if a++<=25&&b——<=2&&c++)
prinif(
4.说明下列程序的功能。
main()
{ int i,j ;
float a[3][3],b[3][3],c[3][3],x;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{ scanf(“%f”, x); a[j]= x;
}
for(i=0;i<3;i++)
for(j
5.输入一个3×6的二维整型数组,输出其中的最大值、最小值及其所在的行列下标。
「解」找出其最大值和最小值,及它们的行列位置。采用按行按列顺序遍历数组的方法找出数组的最大值、最小值,以及它们在数组中的位置指针。输出时,将位置指针转换成行下标和列下标。程序如下:
# include
# define N 3
# 
4.编程序按下列公式计算S的值(其中X1、X2、…、Xn由键盘输入):
s=∑(xi-x0)(xi-x0) (其中x0是X1、x2、…、Xn的平均值)
「解」输入数组x的n个元素的值,按公式计算。程序首先输入n,设n<100,然后输入n个数据,接着求它们的平均值,最后按计算公式求出s,并输出。程序如下:
# include
# defi