首页>计算机>软件水平考试>模拟试题>正文
软件设计师课后练习题:第四章习题解答

www.zige365.com 2008-11-11 17:24:53 点击:发送给好友 和学友门交流一下 收藏到我的会员中心
 4.2  填充题
    1.根据变量定义“static int b[5], a[][3]={1,2,3,4,5,6};”,b[4]=_____,a[1][2] 
     【解】系统规定,静态变量定义时,若末初始化,系统自动给定二进制代码全0的值。所以态数组b的元素全为0,当然包括b[4]也为几静态数组a是二维数组,每行有三个元素,在初始化中结出了六个初值,所以数组a有2行。由于数组的元素按行顺序存储,并按行顺序初始化。前三个值是第一行,后三个值是第二行。a[1][2]是第二行的第三列元素,也是 a的最后一个元素,所以其值是6。

    2.设有定义语句“static int a[3][4]={{1},{2},{3}};”则a[l][l]值为_,a[2][1]的值为_。
      【解】给二维数组初始化时,可按行给出初值,并且每行可以只给前面部分的元素给出初值。系统规定,对哪些未给出初值的部分元素,系统自动置二进制代码全0的值。由于定义语句只给a[0][0]给定初值l、a[l][0]给定初值2、a[2][0]给定初值3。这样,其它元素都为0值。所以,a[1][1]= 0,a[2][1]= 0。

    3.若在程序中用到“putchar( )”函数时,应在程序开头写上包含命令_____,若在程序中用到“strlen( )”函数时,应在程序开头写上包含命令______。
    【解】putchar()是系统提供的头文件stdio.h中定义的宏,所以程序要使用它,必须写上包含命令:#include。函数strlen()是系统提供的字符串处理函数之一,字符串处理函数的函数原型说明和它们用到的有关常量、数据结构等,在系统提供的头文件tring.h中定义,所以使用该函数的程序应在程序开头写上包含命令并include

    4.下面程序的功能是输出数组s中最大元素的下标,请填空。
    main()
    {int k, p ;
     int s[]={1,-9,7,2,-10,3};
     for(p=0, k=p;p<6; p++)
      if(s[p]>s[k])____________
      printf("%d\n" ,k);
    } 
      【解】为要寻找数组中的最大元素的下标,需先预设1个临时最大元素的下标,并顺序逐一考察数组的元素,当发现当前元素比临时最大元素更大时,就用当前元素的下标更新临时最大元素下标。直至考察了数组的全部元素后,这临时最大元素下标就是数组的最大元素下标。通常预设的最大元素下标是数组的首元素下标,考察是从首元素开始顺序向后继元素考察。程序中,存储临时最大元素下标的变量是k,变量p控制顺序考察的循环控制变量。当发现当前元素s[p]比临时最大元素s[k]更大时,应该用p更新k。所以在空框处应填入代码“k=p;”。

    5.下面程序的功能是将一个字符串str的内容颠倒过来,请填空。
    # include 
    main()
    {int i, j,_____________;
     char str[]={"1234567"};
     for(i=0,j=strlen(str); i    { k=str[i]; str[i]=str[j]; str[j]=k; }
     printf("%s\n", str);
    }
        【解】颠倒一个字符串中的字符,就是首尾对应的元素两两交换。简单地可用两个游标变量i和j, j是前端元素的下标, j是后端元素的下标, 交换以这两个变量值为下标的元素str[i]和 str[j]。开始时,i的值为 0,j的值为字符率未元素的不标(字符串长度减1)。每次交换后,i增 1,j减1。继续交换的条件是str[i]还位于str[j]的前面,即i

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

我要投稿 新闻来源: 编辑: 作者:
相关新闻
2009年咨询工程师考前练习-项目决策方法与实务1(08/1
2009年咨询工程师考前练习-项目决策方法与实务2(08/1
2009年咨询工程师考前练习-项目决策方法与实务3(08/1
2009年咨询工程师考前练习-项目决策分析与评价一-1(0
2009年咨询工程师考前练习-项目决策分析与评价一-2(0
2009年咨询工程师考前练习-项目决策分析与评价一-3(0