2015年计算机软件水平初级程序员笔试考前训练(4)
发布时间:2011/6/23 20:58:58 来源:城市学习网 编辑:admin
1.假定a和b为int型变量,则执行下述语句组后,b的值为( )。
a=1;
b=10;
do
{
b-=a;
a++;
} while (b--<0);
(1)9 (2)-2 (3)-1 (4)8
2设有变量说明语句
int a=1,b=0;
则执行以下程序段的输出结果为( )。
switch (a)
{
case 1:
switch (b)
{
case 0:printf("**0**");break;
case 1:printf("**1**");break;
}
case 2:printf("**2**");break;
}
printf("\n");
(1)**0** (2)**0****2** (3)**0****1****2** (4)有语法错误
3.以下合法的数组说明是( )。
(1)char a[6]="string";
(2)int a[5]={0,1,2,3,4,5};
(3)char a="string";
(4)INT a[]={0,12,3,4,5};
4.下述程序代码中有语法错误的行是( )。
int i,ia[10],ib[10]; /*第一行*/
for (i=0;i<=9;i++) /*第2行*/
ia=0; /*第3行*/
ib=ia; /第4行*/
(1)第1行 (2)第2行 (3)第3行 (4)第4行
5.若已定义
int a[9],*p=a;
并在以后的语句中未改变p的值,则不能表示a[1]地址的表达式是( )。
(1)p+1 (2)a+1 (3)a++ (4)++p
答案:
1.(4) 2.(2) 3.(4) 4.(4) 5.(3) [NextPage] 所谓水仙花数是指一个三位正整数,其各位数字的立方之和等于该正整数。例如编写程序,求得并输出全部水仙花数的个数。请填空完善程序。
#include
main()
{
int hun,ten,one; /*百位数、十位数、个位数*/
int num,count=0;
for (num=100;_____(1)_____;num++)
{
hum=________(2)_________;
ten=________(3)_________;
one=________(4)_________;
if (____________________)
{
printf("]",num);
count++;
}
}
printf("\n");
printf("No.=%d\n",count);
}
(1) num<1000(或num<=999)
(2) num/100
(3) (num-hun*100)/10
(4) num
(5) num==hun*hun*hun+ten*ten*ten+one*one*one
(或hun*100+ten*10+one== hun*hun*hun+ten*ten*ten+one*one*one)