2021知到答案 程序设计语言基础(校内) 最新智慧树满分章节测试答案

绪论 单元测试

1、单选题:
计算机能够直接识别的语言是()。

选项:
A:机器语言
B:汇编语言

C:高级语言
答案: 【机器语言】

第一章 单元测试

1、单选题:
下列表达式,值为0的是()。

选项:
A:3<5
B:3%5
C:3/5.0
D:3/5

答案: 【3/5

2、单选题:
下列变量定义中合法的是()。
选项:
A:double Ave=0.0;
B:double Stu-score=98;
C:int f(x)=1;

D:short int 2_num=79;
答案: 【double Ave=0.0;】

3、单选题:
若变量a是int类型,并执行了语句:a=’A’+1.6;,则正确的叙述是()
选项:
A:a的值是字符型
B:a的值还是整型
C:a的值是浮点型

D:不允许字符型和浮点型相加
答案: 【a的值还是整型】

4、单选题:
若a是基本整型变量,c是单精度实型变量,输入语句()是错误的。
选项:
A:scanf(“%d%f”, &a, &c);
B:scanf(“d=%d, c=%f”, &a, &c);
C:
D:scanf(“%d%f”, a, c);
答案: 【scanf(“%d%f”, a, c);】

5、单选题:
下列说法正确的是()
选项:
A:const常量只能在定义时赋值
B:C程序中使用变量时,可以先使用,再定义

C:一条变量定义语句不可以同时定义多个变量
D:在C语言中,所有变量都必须在定义的同时初始化
答案: 【const常量只能在定义时赋值】

第二章 单元测试

1、单选题:
若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是
选项:
A:(x-y)<-10||!(y-x)>10
B: fabs(x-y)<10
C:(x-y)*(x-y)<100
D:x-y>-10 && x-y<10
答案: 【(x-y)<-10||!(y-x)>10】

2、单选题:
以下程序运行后的输出结果是()#include <stdio.h>int main(){int a=5,b=4,c=3,d;d=(a>b>c);printf(“%dn”,d);return 0;}

选项:
A:1
B:3
C:5
D:0

答案: 【0

3、单选题:

  • 执行以下程序后的输出结果为()
  • #include <stdio.h>
  • int main()
  • {
  •    int a=1,b=0;
  •    switch (a)
  •    {
  •      case  1:
  •             switch (b)
  •             {
  •                case  0: printf(“**0**”);break;
  •                case  1: printf(“**1**”);break;
  •             }break;
  •     case  2: printf(“**2**”);break;
  •    }
  •   return 0;
  • }

选项:
A:**0****2**
B:**0****1****2**
C:有语法错误
D:**0**
答案: 【**0**】

4、单选题:
下面程序代码的功能是判断输入的整数能否被5或7整除,如果能够整除,则输出该整数。请将划线处代码填写完整

  • #include <stdio.h>
  • int main()
  • {
  •     int m;
  •     printf(“Input m: “);
  •     scanf(“%d”, &m);        
  •     if ( _______________ )     //能够被5或7整除
  •         {
  •             printf(“%d”, m);
  •         }
  •    return 0;
  • }

选项:
A:m%5==0 || m%7==0
B:m/5==0 && m/7==0
C:m%5==1 && m%7==1
D:m/5==0 || m/7==0

答案: 【m%5==0 || m%7==0】

5、单选题:

  • 计算
  • 1-1/2+1/3-1/4+…..+1/99-1/100+……
  • 直到最后一项的绝对值小于1e-4为止。
  • 代码如下,按要求在划线处填写适当的表达式或语句,使程序完整并符合题目要求。
  • #include  <stdio.h>
  • #include  <math.h>
  • int main()
  • {
  •     int n = 1;
  •     float term = 1, sum = 0;
  •     _____(1)_________;
  •     
  •     while (fabs(term) >= 1e-4)      //判末项大小
  •     {
  •         term = sign / n;            //求出累加项
  •         sum = sum + term;           //累加
  •         ______(2)__________;               //改变项的符号
  •         n++;                            //分母加1
  •     }
  •     printf(“sum = %f”, sum);
  •            return 0;
  • }

选项:
A:(1): float sign=1

(2): term = -term

B:(1): float sign= -1

(2): sign = -sign

C:(1): float sign=1

(2): sign = -sign

D:(1): float sign= -1

(2): term = -term

答案: 【(1): float sign=1

(2): sign = -sign

6、单选题:

  • 以下程序运行后的输出结果是
  • #include <stdio.h>
  • int main()
  • int a,b,c;
  •   a=10;
  •   b=20;
  •   c=(a%b<1)||(a/b>1);
  •   printf(“%d,%d,%d”,a%b,a/b,c);
  •   return 0;
  • }

选项:
A:10,1,0
B:10,1,1
C:10,0,0

D:10,0,1
答案: 【10,0,0

7、单选题:

从键盘输入三角形的三边长为a,b,c,按下面公式计算并输出三角形的面积。

2453054422050368170.jpg

程序代码如下,但程序运行后输出结果不正确,请找出有问题的语句。

  1. #include <stdio.h>
  2. #include  <math.h>
  3. int main()
  4. {
  5.     float  a, b, c;
  6.     float  s, area;
  7.     printf(“Input a,b,c:”);
  8.     scanf(“%f,%f,%f”,&a,&b,&c);      // 第1处
  9.     if (a+b>c && b+c>a && a+c>b)     // 第2处
  10.     {
  11.        s = 1/2 * (a + b + c);        // 第3处
  12.        area = sqrt(s * (s – a) * (s – b) * (s – c));  // 第4处
  13.        printf(“area=%.2f”, area);
  14.     }
  15.     else
  16.     {
  17.        printf(“It is not a triangle”);
  18.     }
  19.     return 0;
  20. }

选项:
A:第1处
B:第4处
C:第3处
D:第2处
答案: 【第3处】

8、单选题:

  • 以下程序的输出结果是()
  • #include <stdio.h>
  • int main()
  • {
  •     int a=1234;
  •     printf(“%2d”,a);
  •     return 0;
  • }

选项:
A:34
B:程序出错,无结果

C:12
D:1234
答案: 【1234】

9、单选题:

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

#include <stdio.h>int main(){     int a, b;    for(a=1, b=1; a<=100; a++)      {         if(b>=10) break;            if (b%3==1)            {                 b+=3;                 continue;             }      }    printf(“%d”,a);    return 0;}

选项:
A:1
B:3
C:2
D:4
答案: 【4】

10、单选题:

  • #include <stdio.h>
  • int main()
  • {
  •     int s=0,a=1,n;
  •     scanf(“%d”,&n);
  •     do
  •     {
  •         s+=1;
  •         a=a-2;
  •     } while(a!=n);
  •     printf(“%d”,s);
  •     return 0;
  • }
  • 以上代码,如果从键盘给n输入的值是-5,则程序的输出结果是()

选项:
A:1
B:2
C:4
D:3
答案: 【3】

第三章 单元测试

1、单选题:
C语言中函数返回值的类型是由( )决定的。
选项:
A:调用函数时临时决定
B:定义函数时所指定的函数类型
C:return语句中的表达式类型
D:调用该函数的主调函数的类型
答案: 【定义函数时所指定的函数类型】

2、单选题:
对于C语言的函数,下列叙述中正确的是( )。
选项:
A:函数的定义和调用都可以嵌套
B:函数的定义和调用都不能嵌套
C:函数的定义可以嵌套,但函数调用不能嵌套
D:函数的定义不能嵌套,但函数调用可以嵌套
答案: 【函数的定义不能嵌套,但函数调用可以嵌套】

3、单选题:
下列函数中,能够从键盘上获得一个字符数据的函数是( )。
选项:
A:gets( )
B:getchar( )
C:putchar( )
D:puts( )
答案: 【getchar( )】

4、单选题:
以下叙述中不正确的是( )。
选项:
A:在一个函数内定义的变量只在本函数范围内有效
B:函数中的形式参数是局部变量
C:在不同的函数中可以使用相同名字的变量
D:在一个函数内的复合语句中定义的变量在本函数范围内有效
答案: 【在一个函数内的复合语句中定义的变量在本函数范围内有效】

5、单选题:
C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是( )。
选项:
A:void
B:double
C:float
D:int
答案: 【int】

6、单选题:
下列程序的输出结果是( )。#include <stdio.h>
int MyFuntion(int n);
int main(){  int entry = 12345;  printf(“%5d”, MyFuntion(entry));  return 0;}int MyFuntion(int Par) {  int result;  result = 0;  do {    result = result * 10 + Par % 10;    Par /= 10;  } while (Par);  return result;}

选项:
A:54321
B:5432
C:12345
D:543
答案: 【54321】

7、单选题:
下列程序的输出结果是( )。#include <stdio.h>
int x1 = 30, x2 = 40;sub(int x, int y) {  x1 = x; x = y; y = x1;}
int main(){  int x3 = 10, x4 = 20;  sub(x3, x4);  sub(x2, x1);  printf(“%d,%d,%d,%d”, x3, x4, x1, x2);  return 0;}

选项:
A:20,10,30,40
B:10,20,30,40
C:10,20,40,40
D:10,20,40,30
答案: 【10,20,40,40】

8、单选题:
有以下程序#include <stdio.h>int fun(int x){ printf(“x=%d”,++x);}
int main(){    fun(12+5);    return 0;}

选项:
A:x=17
B:x=18
C:x=12
D:x=13
答案: 【x=18】

9、单选题:
以下程序运行后的输出结果是()int f(int n){    if(n==1) return 1;
else return f(n-1)+1;}int main(){    int i,j=0;
for(i=1;i<3;i++)  j+=f(i);    printf(“%d”,j);
return 0;}
选项:
A:4
B:3
C:有语法错
D:5
答案: 【3】

10、单选题:
以下( )不是正确的函数原型?
选项:
A:int f();
B:int f(int i);
C:int f() {}
D:int f(int);
答案: 【int f() {}】

第四章 单元测试

1、单选题:
在int a[ ][3] = { {1,4}, {3,2}, {4,5,6}, {0} };中,a[2][1]的值是( )。
选项:
A:2
B:0
C:6
D:5
答案: 【5】

2、单选题:
以下数组定义中错误的是( )。
选项:
A:int x[2][3]={0};
B:int x[2][3]={{1,2},{3,4},{5,6)};
C:int x[2][3]={1,2,3,4,5,6};
D:int x[][3]={{1,2,3},{4,5,6}};
答案: 【int x[2][3]={{1,2},{3,4},{5,6)};】

3、单选题:
以下能正确定义二维数组的是( )。
选项:
A:int a[][3]={2*3};
B:int a[][3];
C:int a[2][3]={{1},{2},{3,4}}
D:int a[3][]={};
答案: 【int a[][3]={2*3};】

4、单选题:
有如下程序 #include <stdio.h>int main(){ int n[5]={0,0,0},i,k=2;  for(i=0;i<k;i++)    n[i]=n[i]+1;  printf(“%d”,n[k]); return 0; }该程序的输出结果是( )。

选项:
A:1
B:2
C:不确定的值
D:0
答案: 【0】

5、单选题:
对一个含有100个元素的有序数组,用二分法查找某指定元素,最多需要比较( )次?
选项:
A:8
B:5
C:6
D:7
答案: 【7】

6、单选题:
以下程序中函数Fun的功能是对b所指数组中的第m至第n个数据取累加和,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include <stdio.h>int Fun( ______ ,int m,int n){     int  i,s=0;    for( ______;i<n;i++)          s=s+b[i];    return _______;}int main(){     int  x,a[]={1,2,3,4,5,6,7,8,9};    x=Fun(a,3,7);    printf(“%d”,x);    return 0;}

选项:
A:第2行:    int b[]

第5行:    i=m-1

第7行:    s

B:第2行:    int b[]

第5行:    i=n-1

第7行:    b[i]

C:第2行:    int b

第5行:    i=0

第7行:    s

D:第2行:    int b[]

第5行:    i=1

第7行:    i

答案: 【第2行:    int b[]

第5行:    i=m-1

第7行:    s

7、单选题:
以下程序中函数Sort的功能是对a所指数组中的数据进行由大到小的排序,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include <stdio.h>void Sort(int a[],int n){     int i,j,t;    for(i=0;_________;i++)        for(________;j<n;j++)            if(a[i]<a[j])            {                t=a[i];                __________;                a[j]=t;            }} int main(){    int aa[10]={1,2,30,4,5,6,7,8,9,10},i;    __________;         for(i=0;i<10;i++)        printf(“%d,”,aa[i]);    printf(“”);    return 0;}

选项:
A:第5行:    i<n-1

第6行:    j=i

第10行:    a[i]=a[j]

第18行:    Sort(aa[],10)

B:第5行:    i<n-1

第6行:    j=i+1

第10行:    a[i]=a[j]

第18行:    Sort(aa,10)

C:第5行:    i<n

第6行:    j=i+1

第10行:    a[j]=a[i]

第18行:    Sort(aa,10)

D:第5行:    i<=n

j第6行:    =i

第10行:    a[i]=a[j]

第18行:    Sort(10,aa)

答案: 【第5行:    i<n-1

第6行:    j=i+1

第10行:    a[i]=a[j]

第18行:    Sort(aa,10)

8、单选题:
以下程序中函数Reverse的功能是对数组a中的前一半元素逆序、后一半元素逆序,再将逆序后的前、后两部分数据位置交换。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。例如:主程序中数组b中的元素为{16,22,13,41,50,62,27,18,9,10},调用函数Reverse后,数组b中元素变为{10,9,18,27,62,50,41,13,22,16}。#include <stdio.h>void Reverse(int a[],int n){       int i,t;    for(i=0;________;i++)     {          t=a[i];          __________;          a[n-i]=t;      }} int main(){       int b[10]={16,22,13,41,50,62,27,18,9,10};     int i,s=0;    __________;         for(i=0;i<10;i++)     {         printf(“%4d”,b[i]);    }         return 0;}

选项:
A:第5行:    i<=n/2

第8行:    a[i]=a[n]

第17行:    Reverse(b,9)

B:第5行:    i<=n/2

第8行:    a[i]=a[n-i]

第17行:    Reverse(b,9)

C:第5行:    i<=n/2

第8行:    a[n]=a[i]

第17行:    Reverse(9,b)

D:第5行:    i<=n

第8行:    a[n-i]=a[i]

第17行:    Reverse(b,9)

答案: 【第5行:    i<=n/2

第8行:    a[i]=a[n-i]

第17行:    Reverse(b,9)

9、单选题:
假定double类型变量占用8个字节,且数组定义如下,则数组length在内存中所占字节数是( )。double  length [10];

选项:
A:80
B:0
C:10

D:160
答案: 【80】

10、单选题:
以下程序的输出结果是( )。#include<stdio.h>void swap1(int c[]){     int t;    t=c[0];    c[0]=c[1];    c[1]=t;} void swap2(int c0,int c1){     int t;    t=c0;    c0=c1;    c1=t;} int main( ){     int a[2]={3,5},b[2]={3,5};    swap1(a);     swap2(b[0],b[1]);    printf(“%d %d %d %d”,a[0],a[1],b[0],b[1]);    return 0;}

选项:
A:3 5 5 3
B:5 3 3 5
C:3 5 3 5
D:5 3 5 3
答案: 【5 3 3 5】

第五章 单元测试

1、单选题:
对于如下说明,语法和语义都正确的赋值是_____。

int c, *s, a[]={1, 3, 5};

选项:
A:s=&a[1];
B:c=*s;
C:c=a;
D:s[0]=a[0];
答案: 【s=&a[1];】

2、单选题:

假设有下面定义语句:

float a[10];

float *p=a;

则p++相当于是加上()个字节

选项:
A:1
B:sizeof(float)
C:sizeof(float*)
D:sizeof(a)
答案: 【sizeof(float)】

3、单选题:
以下哪个定义中的p不是指针,请选择恰当的选项:
选项:
A:char (*p)[10];
B:

char **p;

C:给出的三项中,p都是指针
D:char *p[6];
答案: 【char *p[6];】

4、单选题:

以下程序的执行结果是( )。

int main()

{

int a, b, k = 4, m = 6, * p1 = &k, * p2= &m;

a = p1 == &m;

b = (-*p1)/(*p2) + 7;

printf(“%d, %d”, a, b);

return 0;

}

选项:
A:1, 5
B:-1, 7

-1, 7

C:0, 5
D:0, 7
答案: 【0, 7】

5、单选题:
下面程序的运行结果是()。
#include<stdio.h>
int main(void)
{
int x[5] = { 2, 4, 6, 8, 10 }, *p, **pp;

p = x;
pp = &p;
printf(“%d ”, *(p++));
printf(”%d”, **pp);

return 0;
}

选项:
A:2 4
B:

2 2

C:4 4
D:4 6
答案: 【2 4】

6、单选题:
已有如下代码:
char a[5],*p=a;则下面选项中正确的赋值语句是()
选项:
A:p=“abcd”
B:*a=“abcd”
C:a=“abcd”
D:*p=“abcd”
答案: 【p=“abcd”】

7、单选题:

以下程序的运行结果是()

#include <stdio.h>
sub (int x,int y,int *z)
{
    *z=y-x;
} 

int main ( )
{    
    int a,b;
    sub(10,5,&a);
    sub(7,a,&b);   
    printf("%d,%d",a,b);
    return 0;
}

选项:
A:5, 2
B:-5,-2
C:-5, -12
D:5, -2
答案: 【-5, -12】

8、单选题:
如果有定义:int m, n = 5, *p = &m; 与m = n 等价的语句是 () 。
选项:
A:m = **p;
B:

m = *p;

C:m = &n;
D:*p = *&n;
答案: 【*p = *&n;】

9、单选题:
若有定义:int *p[3]; 则以下叙述中正确的是( )。
选项:
A:定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素
B:定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针
C:定义了一个基类型为int的指针变量p,该变量具有三个指针
D:定义了一个名为*p的整型数组,该数组含有三个int类型元素
答案: 【定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针】

10、单选题:
若已定义int num[10];,则下面表达式中不表示num[1]的地址的是()
选项:
A:&num[1]
B:&num[0]+1
C:num++
D:num+1
答案: 【num++】

第六章 单元测试

1、单选题:
有以下说明和定义语句,下面各输入语句中错误的是()

  1. #include <stdio.h>
  2. int main()
  3. {
  4.    struct student
  5.     {
  6.          int age;
  7.          char sex;
  8.          char name[8];
  9.     };
  10.     
  11.     struct student std;
  12.     struct student *p=&std;
  13.     …….

return 0;

  1. }

选项:
A:scanf(“%c”,&std[0].sex);
B:scanf(“%c”,&(p->sex));
C:scanf(“%s”,&std.name);
D:scanf(“%d”,&(*p).age);
答案: 【scanf(“%d”,&(*p).age); 】

2、单选题:
定义以下结构体数组struct c{    int x;
int y;}s[2]={1,3,2,7};语句 printf(“%d”,s[0].x*s[1].x);的输出结果是()
选项:
A:6
B:21
C:14
D:2
答案: 【2】

3、单选题:
以下程序执行后的输出结果是

  1. #include <stdio.h>
  2. struct STU
  3. {
  4.     char name[10];
  5.     int num;
  6. };
  7. void Fun1(struct STU c)
  8. {
  9.     struct STU b={“LiGuo”,2042};
  10.     c=b;
  11. };
  12. void Fun2(struct STU *c)
  13. {
  14.     struct STU b={“SunDan”,2044};
  15.     *c=b;
  16. };
  17. int main()
  18. {
  19.     struct STU a={“YangHan”,2041},b={“WangYi”,2043};
  20.     Fun1(a);
  21.     Fun2(&b);
  22.     printf(“%d %d”,a.num,b.num);
  23.     return 0;
  24. }

选项:
A:2042 2043
B:2041 2043
C:2042 2044
D:2041 2044
答案: 【2041 2044】

4、单选题:
若能使程序运行后的输出结果如下:

201501

则空白处填写的表达式或语句应该是

  1. #include <stdio.h>
  2. struct student
  3.  
  4.      int age;
  5.      char num[8];
  6.   };
  7.   
  8. int main()
  9. {
  10.     struct student stu[3]={{20,“201501”},{21,“201502”},{19,“201503”}};
  11.     struct student *p=stu;
  12.    
  13.     ____________________
  14.     
  15.     return 0;
  16. }

选项:
A:printf(“%s”,stu[1]->num);
B:printf(“%s”,(++p)->num);
C:printf(“%s”,(*p).num);
D:printf(“%d”,p.age);
答案: 【printf(“%s”,(*p).num);】

5、单选题:
当定义一个结构体类型的变量时,系统为它分配的内存空间是()
选项:
A:结构中各成员所需的内存容量综合
B:结构中一个成员所需的内存容量
C:结构中第一个成员所需的内存容量
D:结构体中占内存容量最大的成员所需的容量
答案: 【结构中各成员所需的内存容量综合】

第七章 单元测试

1、单选题:
如果二进制文件a.dat已经存在,现在要求写入全新数据,应以()方式打开。
选项:
A:”w”
B:
C:”w+”
D:”wb+”
答案: 【

2、单选题:
若fopen()函数打开文件失败,其返回值是( )。
选项:
A:1
B:NULL
C:ERROR
D:-1
答案: 【NULL】

3、单选题:
若读文件还未读到文件末尾, feof()函数的返回值是( )。
选项:
A:1
B:0
C:非0
D:-1
答案: 【0】

4、单选题:
fputc(ch,fp) 把一个字符ch写到fp所指示的磁盘文件中,若写文件失败则函数的返回值为( )。
选项:
A:非0
B:1
C:0
D:EOF
答案: 【EOF】

5、单选题:
阅读以下程序,对程序功能的描述中正确的是

  1. #icnlude <stdio.h>
  2. int main()
  3. {
  4.     FILE *in, *out;
  5.     char ch, infile[10], outfile[10];
  6.     printf(“Enter the infile name:”);
  7.     scanf(“%s”, infile);
  8.     printf(“Enter the outfile name:”);
  9.     scanf(“%s”, outfile);
  10.     if ((in = fopen(infile, “r”)) == NULL)
  11.     {
  12.         printf(“cannot open infile.”);
  13.         exit(0);
  14.     }
  15.     
  16.     if ((out = fopen(outfile, “w”)) == NULL)
  17.     {
  18.         printf(“cannot open outfile.”);
  19.         exit(0);
  20.     }
  21.     
  22.     while (!feof(in))
  23.     {
  24.         fputc(fgetc(in), out);
  25.     }
  26.     fclose(in);
  27.     fclose(out);
  28.     return 0;
  29. }

选项:
A:程序完成将两个磁盘文件合并并在屏幕上输出的功能
B:程序完成将磁盘文件的信息在屏幕上显示的功能。
C:程序完成将两个磁盘文件合二为一的功能。
D:程序完成将一个磁盘文件中的信息复制到另一个磁盘文件中的功能
答案: 【程序完成将一个磁盘文件中的信息复制到另一个磁盘文件中的功能】

第八章 单元测试

1、单选题:
若x=2,y=3,则x&y的结果是
选项:
A:5
B:0
C:3
D:2
答案: 【2】

2、单选题:
设x=061,y=016,则z=x|y的值是
选项:
A:00111111
B:11111111
C:11000000
D:00001111
答案: 【00111111】

3、单选题:

执行以下代码将输出(  )。

#include<stdio.h>

void main()

{  char a=3,b=1;

char c=a^b<<2;

printf(“%d”,c);

}

选项:
A:1
B:7
C:3
D:2
答案: 【7】

4、单选题:

以下程序中c的二进制值是(  )。

char a=2,b=4,c;

c=a^b>>2

选项:
A:00000011
B:00011000
C:00010100
D:00011100
答案: 【00000011】

5、单选题:
若x=3,y=5,则x^y的结果是
选项:
A:2
B:6
C:8
D:4
答案: 【6】

第九章 单元测试

1、单选题:
在一个以 h 为头的单向链表中,p 指针指向链尾的条件是()。
选项:
A:p->next->next=h
B:p->next=h
C:p->next=NULL
D:p->.data=-1
答案: 【p->next=NULL】

2、单选题:
在单链表指针为p的结点之后插入指针为s的结点,正确的操作是()。
选项:
A:p->next=s;p->next=s->next;
B:s->next=p->next;p->next=s;
C:p->next=s;s->next=p->next;

D:p->next=s->next;p->next=s;
答案: 【s->next=p->next;p->next=s;】

3、单选题:
在一个单链表head中,若要在指针p所指结点后插入一个q指针所指结点,则执行()。
选项:
A:p->next=q->next; q->next=p;
B:q->next=p->next; p=q;
C:p->next=q->next; p->next=q;
D:q->next=p->next; p->next=q;
答案: 【q->next=p->next; p->next=q;】

4、单选题:
在一个单链表head中,若要删除指针p所指结点的后继结点,则执行()。
选项:
A:q= p->next q->next=p->next; free(q);
B:q=p->next; p->next=q->next; free(q);
C:p->next=p->next->next; free(p);
D:p=p->next;free(p);
答案: 【q=p->next; p->next=q->next; free(q);】

5、单选题:

若已建立下面的链表结构,指针p、q分别指向图中所示结点,则不能将q所指结点插入到链表末尾的语句是( )。 (1分)

1.jpg

选项:
A:p=p->next; q->next=p; p->next=q;
B:q->next=NULL; p=p->next; p->next=q;
C:p=p->next; q->next=p->next; p->next=q;
D:
答案: 【p=p->next; q->next=p; p->next=q;】

内容查看
查看价格5
点点赞赏,手留余香 给TA打赏

AI创作

评论0

请先
支持多种货币
支持多种货币付款,满足您的付款需求
7天无忧退换
安心无忧购物,售后有保障
专业客服服务
百名资深客服7*24h在线服务
发货超时赔付
交易成功极速发货,专业水准保证时效性

站点公告

开放大学课程作业辅导,有需要扫码加微信

显示验证码

社交账号快速登录

微信扫一扫关注
扫码关注后会自动登录