首页>计算机>软件水平考试>模拟试题>正文
2010年9月软件设计师考前练习笔试及答案(3)

www.zige365.com 2010-7-1 17:23:03 点击:发送给好友 和学友门交流一下 收藏到我的会员中心

     1.设有如下定义,则正确的叙述为( )
  char x[]={"abcdefg"};
  char y[]={’a’,’b’,’c’,’d’,’e’,’f’,’g’};
  ①数组x和数组y等价②数组x和数组y长度相同
  ③数组X的长度大于数组y的长度④数组X的长度小于数组y的长度
  2.根据变量定义“static int b[5], a[][3]={1,2,3,4,5,6};”,b[4]=_____,a[1][2]
  【解】不指定数组长度的字符数组定义,其所需要的字节数可由初始化中给出的值的个数确定。字符数组可以用字符串初始化,也可用字符逐个给字符数组的元素初始化。但用字符初始化时,尽管给出了字符串中的全部字符,还是不会自动有字符率结束字符。但字符串初始化自动会含有字符串的结束标记符,字符串初始化所需要的字节个数会比用同样多的字符初始化多1个字节。所以只有③才是正确的。
  【解】系统规定,静态变量定义时,若末初始化,系统自动给定二进制代码全0的值。所以态数组b的元素全为0,当然包括b[4]也为几静态数组a是二维数组,每行有三个元素,在初始化中结出了六个初值,所以数组a有2行。由于数组的元素按行顺序存储,并按行顺序初始化。前三个值是第一行,后三个凳堑诙小[1][2]是第二行的第三列元素,也是 a的最后一个元素,所以其值是6。
  1.设有定义语句“static int a[3][4]={{1},{2},{3}};”则a[l][l]值为_,a[2][1]的值为_。
  2.若在程序中用到“putchar( )”函数时,应在程序开头写上包含命令_____,若在程序中用到“strlen( )”函数时,应在程序开头写上包含命令______。
  【解】给二维数组初始化时,可按行给出初值,并且每行可以只给前面部分的元素给出初值。系统规定,对哪些未给出初值的部分元素,系统自动置二进制代码全0的值。由于定义语句只给a[0][0]给定初值l、a[l][0]给定初值2、a[2][0]给定初值3。这样,其它元素都为0值。所以,a[1][1]= 0,a[2][1]= 0。
  【解】putchar()是系统提供的头文件stdio.h中定义的宏,所以程序要使用它,必须写上包含命令:#include。函数strlen()是系统提供的字符串处理函数之一,字符串处理函数的函数原型说明和它们用到的有关常量、数据结构等,在系统提供的头文件tring.h中定义,所以使用该函数的程序应在程序开头写上包含命令并include

   1.设有代码"int(*ptr)[10];”,其中的ptr是( )
  ①10个指向整型变量的指针
  ②指向10个整型变量的函数指针
  ③一个指向具有10个元素的一维数组的指针
  ④具有10个指针元素的一维数组
  2.若有以下定义,则数值为4的表达式是( )
  int w[3][4]={{0,1},{2,4},{5,8}},(* p)[4]= W;
  ①*w[1]+l
  ②p++,*(p+1)
  ③w[2][2]
  ④p[1][1]
  【解】代码“int(*ptr)[10];”的分析过程是,因圆括号,括号内的ptr先与字符*结合,字符*修饰标识符ptr是一种指针;接着与后面的一对方括号结合,表示是这样的一种指针,是指向一维数组的;再有方括号中的10,说明这种数组有10个元素。至此,ptr是指向含10个元素的
  一维数组的指针。最后,是最前面的int,表示数组元素是int类型的。所以,ptr是一个指向具有10个int型元素的一维数组的指针。所以解答是③。另外,要是①,10个指向整型变量的指针,就是一个指针数组,上述代码应写成“int *ptr[10];”,即ptr是一个有10个指向整型变量的数组。要是②,返回值是指向10个整型变量的函数的指针,上述代码应写成“int(*(*ptr)())[10];”,即ptr是指针,指向一种函数,函数的返回值又是一种指针,指向10个元素的数组,数组的元素是整型的。下面的代码是这样的函数指针和函数的例子:
  # include
  int a[][10]={{1,2,3,4,5,6,7,8,9,0} ,{0,1,2,3,4,5,6,7,8,9} };

本新闻共2页,当前在第1页  1  2  

我要投稿 新闻来源: 编辑: 作者:
相关新闻