一起答
主观

设有下列创建单向链表的部分程序:

#include"malloc.h"

   #include"string.h"

   struct automobile

   {

char type[20];

int load;

struct automobile *next;

} * head=NULL;

  void main(void)

  {

struct automobile *p;

char * automobile_type[3]={"Red_Rock",Yellow_River","East_Wind"};

int automobile_load[3]={24,18,42},j;

for(j=0;j﹤3;j+ +)

{

      p=(①______________)malloc(sizeof(struct automobile));

      strcpy(②_____________,automobile_type[j]);

      p->load=automobile_load[j];

      p->next=head;

      head=p;

}

  }

请阅读分析程序,然后写出①和②下划线处应该填写的内容。

试题出自试卷《计算机基础与程序设计2008年4月真题试题与答案解析(02275)》
参考答案
查看试卷详情
相关试题
  1. 设在c盘根目录下有一个ASCII码文件zm.dat,且文件中有10个字符。请编程将文件中的字符读出,再按照从大到小的次序排序并将排序结果在屏幕上显示出来。

  2. 设有下列创建单向链表的部分程序:

    #include"malloc.h"

       #include"string.h"

       struct automobile

       {

    char type[20];

    int load;

    struct automobile *next;

    } * head=NULL;

      void main(void)

      {

    struct automobile *p;

    char * automobile_type[3]={"Red_Rock",Yellow_River","East_Wind"};

    int automobile_load[3]={24,18,42},j;

    for(j=0;j﹤3;j+ +)

    {

          p=(①______________)malloc(sizeof(struct automobile));

          strcpy(②_____________,automobile_type[j]);

          p->load=automobile_load[j];

          p->next=head;

          head=p;

    }

      }

    请阅读分析程序,然后写出①和②下划线处应该填写的内容。

  3. 若数组a中有十个整数8,2,5-3,7,-9,0,-4,10,15,请编程求出该数组中的最大值和最小值。

  4. 请阅读分析下列程序,然后写出程序的循环次数和运行结果。

    main(void)

       {

    int i;

    for(i=1; i﹤6; i+ +)

    {

         if(i%2)

         {

              printf("@");continue;

         }

    printf("*");

    }

    printf("\n");

    }

  5. 请阅读分析下列程序,然后写出程序的运行结果。

    void main(void)

       {

    int a[ ]={1,2,3,4,5,6},*p;

    p=a;

    p+ +;

    *(p+3)+=2;

    printf("%d\n",*p);

    printf("%d\n",*(p+3));

       }

  6. 请阅读分析下列程序,然后写出程序的运行结果。

    void fun( );

    void main(void)

    {

    fun( );

    fun( );

    }  

    void fun( )  

    {

    static int a[3]={0,1,2},b=10;

    int i;

    if(b= =10)

    {    

    for(i=0;i﹤3;i+ +)

       a[i]+=a[i];  

    for(i=0;i﹤3;i+ +)

          printf("%d,",a[i]);

    printf("b=%d\n",b);

    b+ +;

    }

    else

    {    

    for(i=0;i﹤3;i+ +)

      a[i]*=a[i];

    for(i=0;i﹤3;i+ +)

        printf("%d,"a[i]);

    printf("b=%d\n",b);

    }

    }   

  7. 请阅读分析下列程序,然后写出运行结果。

    main( )

    {

        int a=0,b=1;

        printf("a=%d,b=%d\n",a,b);

        a+=b;b+=a;

        printf("a=%d,b=%d\n",a,b);

    }

  8. 若分别输入0和5时,请阅读分析下列程序,然后分别写出两种输入情况下程序的运行结果。

    main ( )

    {

        int x,y;

        scanf("%d",&x);

        if(x﹥2&&x﹤=10)

              y=x *(x+2);

        else if(x﹥-1&&x﹤=2)

              y=2*x;

        else if(x﹤-1)y=x-1;

        if(y!=-1)

              printf("%d,y);

        else

              printf("error");

    }

  9. 简述C语言标准库函数strcpy 的格式(或函数原型)与功能。

  10. 请按照下列要求写出相应的C语句。假设float类型的变量x1和x2已经定义过,且x1已经初始化为7.3。

    (1)定义指向float类型变量的指针变量fpt;

    (2)使fptr指向x1;

    (3)利用fptr,将fptr指向变量的值赋给x2;

    (4)利用fptr,输出fptr指向变量的值。