首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 计算机考试 > 软件考试 > 考试试题 >

08年12月软件设计笔试考前练习(14)

2008-12-19 
软件设计笔试考前练习

    2008年下半年软件考试因故推迟了,这未尝不是一件好事,对于那些准备还不够充分的考生来说,现在正是查漏补缺的好时机,本站为您整理了考前练习题,希望对您有所帮助,祝您考出好成绩!

    1.合法的数组定义是( )

  ①int a[]={"string"}

  ②int a[5]={0,1,2,3,4,5};

  ③char a={ "string"}

  ④char a[]={0,1,2,3,4,5};

  【解】①错误的原因是整数数组不可以用字符串对其初始化。②错误的原因是,数组初始化时,初始化指定的值的个数多于数组的元素个数。③错误的原因是,能用字符串初始化的只;有字符指针变量,或字符数组。字符率不能对其它类型的变量初始化,包括字符变量。④是正确的,因为字符数组可以用小整数(作为字符的ASCII代码值)对其元素初始化。

    2.unsigned fun6( unsigned num)

  { unsigned k=l;

  do { k*= num;num/=10;}

  while(num) ;

  return k;

  }

  main()

  { unsigned n=26;

  printf("%d\n", fun6(n));

  }

  答案:【解】函数有一个形参num,循环前变量 k置 1,循环中,表达式num是取num的个位,将num的个位值累乘于k中,然后num除以10。循环直至num为0结束,这是逐一求出num十进制表示的各位数字,并累乘于变量k的循环。函数最后返回k。函数fun6的功能是求整数的各位十进数字积。所以程序输出12。

    3.以下程序的输出结果是( )

  # include

  subl(char a,char b) {char c;c=a;a=b;b=c;}

  sub2(char *a,char b){ char c;c=*a;*a=b;b=c;}

  sub3(char *a,char *b) { char c;c=*a;*a=*b;*b=c;}

  main()

  { char a, b;

  a=’A’; b=’B’; sub3(&a,&b); putchar(a); putchar(b);

  a=’A’;b=’B’ ;Sub2(&a,b);putchar(a); rutchar(b);

  a=’A’; b=’B’; sub1(a,b); putchar(a);putchar(b);

  }

  ①BABBAB

  ②ABBBBA

  ③ BABABA

  ④ BAABBA

  【解】在上述程序中,函数subl完成两形参值的交换,这个交换不影响实参变量,这是一个没有意义的函数。函数sub2将第二个形参的值置入由第一个指针形参所指的变量中,指针形参所指的变量由调用时的实参提供。函数sub3完成将两个形参所指的变量的值交换。程序调用sub3,使变量a和b的值交换输出BA;调用subZ,使变量b的值传送到a,输出BB;调用subl,变量a和b的值不改变,输出AB。所以程序输出BABBAB。正确解答是①。


3COME考试频道为您精心整理,希望对您有所帮助,更多信息在http://www.reader8.com/exam/

热点排行