全国计算机软件水平考试初级程序员精选
模拟试题(一)
全国计算机软件水平考试初级程序员精选模拟试题(一) 阅读以下程序说明和C程序,将应填入__(n)__ 处的字句,写在答卷的对应栏内。
[程序说明]
本程序中的函数factor( m,fac,cp )用来计算正整 m ( m > 2 )的除自身以外的所有不同因子的和。该函数返回因子和,并把各因子从小到大依次存放在数组 fac 中,其因子个数存入在 cp 所指的变量中。
例如 m=16,求得的因子为 (1,2,4,8)
提示:因子和为15,因子个数为4。
程序假定正整数 m 的不同因子个数不会超过100个。 [程序] # include # define N 100
long factor (int m,int fac[],int *cp)
{
int c1, c2 , i, k; long s; fac[0] = 1;
for(c1 = s = 1,c2 = N-1,____(1)____;;) { k = m/i; if (____(2)____) if (____(3)____) { fac[c1++] = i; fac[c2--] = k; s + = i+k; } else { fac[c1++] = i; s + = i; }
i++;
if(i>=k) brdak; }
for (c2++;c2 100) break; } (2)for (;;); (3)int k=1000; do { ++k;
}while (k>=10000); (4) int s=36; while (s);--s; 答案:
1.(2) 2.(2) 3.(1) 4.(3) 5.(3)
1.假定a和b为int型变量,则执行下述语句组后,b的值为( )。
a=1; b=10; do { b-=a; a++;
全国计算机软件水平考试初级程序员精选
模拟试题(二)
全国计算机软件水平考试初级程序员精选模拟试题(二) 1.假定a和b为int型变量,则执行下述语句组后,b的值为( )。 a=1; b=10; do { b-=a;
a++;
} while (b--20) break; } while (a=14); printf(\"a=%d\\n\ } 答案: a=12 y=12 a=16 y=28 a=16
提示:首先第一次的结果不用说了?需要的话,请先把C的书再读一遍先!
a=12 y=12
接着大家要看仔细,if(y>20) break;难点在此,意思是当上面的Y>20时结束这一段,再去判断While的条件,所以这里会接着加,a=12+2=14 y=14+12=26 ok!26>20,我们去判断while的条件吧,a=14,此时a就正好=14,再次循环·a=14+2=16 y=12+16=28,然后28>20跳出,a不等于14再次跳出,执行最后一句输出,a=16.
#include main() {
static int a[5][5]={ {1,2,3,4,0}, {2,3,4,0,6}, {3,0,1,7,5}, {0,0,2,4,1}, {8,4,3,2,7} }; int i,j;
因篇幅问题不能全部显示,请点此查看更多更全内容