• 智慧树\知到——程序设计基础(C语言)入门篇第六章到第十章测试答案


    目录

    第六章测试

    第七章测试

    第八章测试

    第九章测试

    第十章测试


     

    第六章测试

    • 第1部分
    • 总题数: 10

    1

    【判断题】 (10分)

    有下列程序段,程序段运行后的输出结果##2##3##4##5(    )。

    int k;

    for (k=2;k<6;k++,k++)

    printf("##%d",k);  

     

    A.

     

    B.

    正确

    本题总得分10分

    2

    【判断题】 (10分)

    在循环结构中break是终止循环,跳出循环体。

     

    A.

     

    B.

    正确

    本题总得分10分

    3

    【单选题】 (10分)

    以下不构成无限循环的语句组是(       )。

     

    A.

    int n=0,i;

    for (n=0,i=1;  ;i++)

    n+=i;

     

    B.

    int n=0;  

    while (1)

    n++;

     

    C.

    int n=10; 

    while (n); 

    n--;

     

    D.

    int n=0

    do

    {++n;} 

    while (n<=0); 

    正确

    本题总得分10分

    4

    【单选题】 (10分)

    在C语言中有关for循环,下列正确的说法是(       )。

     

    A.

    for循环的循环体语句中,可以包含多条语句,但必须用花括号写成复合语句。

     

    B.

    for循环是先执行循环体语句,后判断表达式。

     

    C.

    for循环只能用于循环次数已经确定的情况。

     

    D.

    在 for循环中,不能用break跳出循环体。

    正确

    本题总得分10分

    5

    【单选题】 (10分)

    有下列程序,程序运行后的输出结果是(       )。

    #include   

    int main() 

    int  i,sum; 

       for (i=1;i<6;i++) sum+=sum;

       printf("%d",sum); 

       return 0;

     

    A.

    14

     

    B.

    0

     

    C.

    15

     

    D.

    不确定

    正确

    本题总得分10分

    6

    【单选题】 (10分)

    有下列程序,程序运行后的输出结果是(       )。

    #include

    int main( )

    {

    int i,j,a=0;

    for (i=0;i<2;i++)

    {

    for (j=0;j<4;j++)

    {

        if (j%2) break;

    a++;

    }

    a++;

    }

    printf("%d",a);

    return 0;

    }

     

    A.

    6

     

    B.

    4

     

    C.

    5

     

    D.

    7

    正确

    本题总得分10分

    7

    【判断题】 (10分)

    while与do-while在任何时候都可以互换。

     

    A.

     

    B.

    正确

    本题总得分10分

    8

    【判断题】 (10分)

    下面程序可以正确求出1+2+3+。。。+n的和。()

    #include

    int main( )

    {         

    int i = 1,sum = 0,n;

    scanf(“%d”,&n);

    while (i <= n)  

    sum = sum + i;  

    ++i;                

    printf("sum=%d",sum);

    return 0;

      } 

     

    A.

     

    B.

    正确

    本题总得分10分

    9

    【单选题】 (10分)

    以下程序中的变量已正确定义,程序段的输出结果是(       )。

    for(i=0;i<4;i++,i++)

    for(k=1;k<3;k++); printf("*");

     

    A.

    ********

     

    B.

    **** 

     

    C.

    ** 

     

    D.

    *

    正确

    本题总得分10分

    10

    【单选题】 (10分)

    有下列程序,程序运行后的输出结果是(       )。

    #include 

    int main()

    {

    int i,j;

        for (i=3;i>=1;i--) 

            {

      for (j=1;j<=2;j++)

           printf(" %d",i+j);

                 printf("\n");

              }

          return 0;

    }

     

    A.

    2 3

    3 4

    4 5

     

    B.

    4 5

    3 4

    2 3

     

    C.

    2 3 4

    3 4 5

     

    D.

    4 3 2 

    5 4 3

    正确

    本题总得分10分

    第七章测试

    • 第1部分
    • 总题数: 10

    1

    【判断题】 (10分)

    在C语言中,数组元素的最小下标是1 。

     

    A.

     

    B.

    正确

    本题总得分10分

    2

    【判断题】 (10分)

    在C语言中,数组名代表首地址。

     

    A.

     

    B.

    正确

    本题总得分10分

    3

    【判断题】 (10分)

    在C语言中,数组一般针对批量数据的处理,这些数据必须具有相同的类型()。

     

    A.

     

    B.

    正确

    本题总得分10分

    4

    【判断题】 (10分)

    假设有一定义语句int a[][3]={1,2,3,4,5,6};那么数组的行数是不确定的。

     

    A.

     

    B.

    正确

    本题总得分10分

    5

    【判断题】 (10分)

    有下列程序,程序运行后的输出结果是0(       )。

       #include         

    int main( )

    {

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

     printf("%d\n",a[3]);

       return 0;

     

    A.

     

    B.

    正确

    本题总得分10分

    6

    【单选题】 (10分)

    若有说明:int a[10]; 则对a 数组元素的正确引用是(       )。    

     

    A.

    a(5)

     

    B.

    a[3.5] 

     

    C.

    a[10-10] 

     

    D.

    a[10]

    正确

    本题总得分10分

    7

    【单选题】 (10分)

    有下列程序段,运行后的输出结果是(       )。

        int i;

    int x[3][3]={1,2,3,4,5,6,7,8,9};

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

    printf("%d ",x[i][2-i]);

     

    A.

    1  5  9

     

    B.

    3  5  7

     

    C.

    1  4  7

     

    D.

    3  6  9

    正确

    本题总得分10分

    8

    【单选题】 (10分)

    有下列程序,运行后的输出结果是(       )。

    #include  

    int main()

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

    printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);

       return 0;

    }

     

    A.

    输出值

     

    B.

    5430

     

    C.

    1470

     

    D.

    0650

    正确

    本题总得分10分

    9

    【单选题】 (10分)

    有下列程序,运行后的输出结果是(       )。

    #include   

    int main() 

     {

     int  s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i; 

        for (i=0;i<12;i++)

      c[s[i]]++; 

        for (i=1;i<5;i++)

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

        printf(" \n");

        return 0;

     }  

     

    A.

    4 3 3 2

     

    B.

    1 1 2 3 

     

    C.

    1 2 3 4

     

    D.

    2 3 4 4

    正确

    本题总得分10分

    10

    【单选题】 (10分)

    若有定义:int b[3][4]={0};则下述正确的是(       )。  

     

    A.

    不正确的定义

     

    B.

    b[0][0]的值是0,其他元素值未知

     

    C.

    数组b中各元素均为0

     

    D.

    没有元素能得初值0

    正确

    本题总得分10分

    第八章测试

    • 第1部分
    • 总题数: 10

    1

    【判断题】 (10分)

    有如下函数调用语句:

              fun(r1,r2+r3,(r4,r5));

    该函数调用语句中,含有的实参个数是3个。 

     

    A.

     

    B.

    正确

    本题总得分10分

    2

    【判断题】 (10分)

    函数可以嵌套定义,但不能嵌套调用。

     

    A.

     

    B.

    正确

    本题总得分10分

    3

    【判断题】 (10分)

    mian函数可以自己调用自己。

     

    A.

     

    B.

    正确

    本题总得分10分

    4

    【单选题】 (5分)

    以下正确的函数定义是(       )。

     

    A.

    fun(int x,y)

      { int z; return int z; }

     

    B.

    fun(x,y) 

    {int x,y;  z=x+y; retun z;} 

     

    C.

    double fun(int x,int y)

    { double z;z=x+y;return z; }

     

    D.

    double fun(int x,int y)

    { z=x+y; return z; } 

    正确

    本题总得分5分

    5

    【单选题】 (10分)

    在C语言函数中,下面说法正确的是(       )。

     

    A.

    一个函数中只能有一个return语句。

     

    B.

    一个return语句可以返回多个值。

     

    C.

    一个函数中可以有多个return语句,但是最多执行其中一个return语句。

     

    D.

    一个函数中可以有多个return语句,可能多个return语句全部执行

    正确

    本题总得分10分

    6

    【单选题】 (10分)

    在C语言函数中,以下说法正确的是(       )。

     

    A.

    如果形参与实参的类型不一致以实参类型为准

     

    B.

    如果函数值的类型与return返回值类型不一致,以函数值类型为准

     

    C.

    return后边的值不能为表达式

     

    D.

    定义函数时,形参的类型说明可以放在函数体内。

    正确

    本题总得分10分

    7

    【单选题】 (10分)

    在C语言程序中,以下正确的描述是(       )。

     

    A.

    函数的定义和函数的调用均不可以嵌套

     

    B.

    函数的定义可以嵌套,但函数的调用不可以嵌套

     

    C.

    函数的定义不可嵌套,但函数的调用可以嵌套

     

    D.

    函数的定义和调用均可以嵌套

    正确

    本题总得分10分

    8

    【单选题】 (10分)

    有下列程序,程序运行后的输出结果是(       )。

    #include

    int f(int a)

    {

    int b=0,c=3;

           b++;c++;

           return(a+b+c);

    }

    int main( )

    {

    int a=2,i;

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

    printf("%4d",f(a));

              return 0;

    }

     

    A.

    7 10 13

     

    B.

    7 9 11

     

    C.

    7 7 7

     

    D.

    7 8 9 

    正确

    本题总得分10分

    9

    【单选题】 (10分)

    有下列程序,程序运行后的输出结果是(       )。

    #include

    int func(int a,int b);

    int main()

    {

       int k=4,m=1,p;

       p=func(k,m);

       printf("%d ",p);

       p=func(k,m);

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

       return 0;

    }

    int func(int a,int b)

    {

        int m=0,i=2;

        i+=m+1;

        m=i+a+b;

    return(m);

    }

    {

     int m=0,i=2;

    i+=m+1;

    m=i+a+b;

    return(m);

    }

     

    A.

    8 16

     

    B.

    8 20

     

    C.

    8 17

     

    D.

    8  8

    正确

    本题总得分10分

    10

    【单选题】 (10分)

    有下列程序,程序运行后的输出结果是(       )。

    #include

    int fun (int x,int y);

    int main()

    {

    int a=4,b=5,c=6;

         printf("%d\n",fun(2*a,fun(b,c)));

    return 0;

     }

    int fun (int x,int y)

    {

    if  (x!=y) return ((x+y)/2);

         else return (x);

    }

     

    A.

    6

     

    B.

    8

     

    C.

    3

     

    D.

    12

    正确

    本题总得分10分

    第九章测试

    • 第1部分
    • 总题数: 10

    1

    【判断题】 (10分)

    若有下列语句:

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

    p=&a[2];

    则*p的值是3

     

    A.

     

    B.

    正确

    本题总得分10分

    2

    【判断题】 (10分)

    int *p;此时*是一个运算符号,表示间接访问p所指向的变量。

     

    A.

     

    B.

    正确

    本题总得分10分

    3

    【判断题】 (10分)

    有下列程序段,程序段运行后的输出结果是10(       )。

        int *p,n;

           n=10; p=&n; n=*p+10;

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

     

    A.

     

    B.

    正确

    本题总得分10分

    4

    【单选题】 (10分)

    若有说明:int a=2,*p=&a,*q=p;,则以下非法的赋值语句是(       )。

     

    A.

    *p=*q

     

    B.

    a=*q

     

    C.

    q=a

     

    D.

    p=q

    正确

    本题总得分10分

    5

    【单选题】 (10分)

    变量的指针是指该变量的(       )。

     

    A.

     

    B.

    别名

     

    C.

     

    D.

    首地址

    正确

    本题总得分10分

    6

    【单选题】 (10分)

    若已定义int a=5; 下列对(1)、(2)两个语句的正确解释是(       )

    (1) int *p=&a;                  (2) *p=a;

     

    A.

    语句(1)和语句(2)中的*p含义相同,都表示给指针变量p赋值。

     

    B.

    语句(1)和语句(2)语句都是把变量a的地址值赋给指针变量p。

     

    C.

    语句(1)是对p进行说明的同时进行初始化,使p指向a;语句(2)是将a的值赋给指针变量p。

     

    D.

    语句(1)是对p进行说明的同时进行初始化,使p指向a;语句(2)是将a的值赋给p指的空间。

    正确

    本题总得分10分

    7

    【单选题】 (10分)

    下列程序中,主函数调用findmax函数返回数组中的最大值。在下划线处应填入的是(       )。

    #include

    findmax( int *a, int n)

      int *p, *s;

      for (p=a, s=a; p-a

           if(__________) s=p;

      return (*s);

    }

    int main()

    {

        int x[5]={12,21,13,6,18};

        printf("%d\n", findmax(x,5));

        return 0;

    }

     

    A.

    a[p]>a[s]

     

    B.

    p-a>p-s   

     

    C.

    p>s 

     

    D.

    *p>*s             

    正确

    本题总得分10分

    8

    【单选题】 (10分)

    有下列程序,程序运行后的输出结果是(       )。

    #include

    void fun( int *x,int *y);

    int main()

    {

        int x=1,y=2;

        fun(&y,&x);

        printf("%d  %d",x,y);

        return 0;

    }

    void fun( int *x,int *y)

        printf("%d%d",*x,*y);

        *x=3;*y=4;

    }

     

    A.

    121  2

     

    B.

    123  4

     

    C.

    211  2

     

    D.

    214  3

    正确

    本题总得分10分

    9

    【单选题】 (10分)

    有下列程序段,程序段运行后的输出结果是(       )。

    int t[]={0,1,2,3,4,5,6,7,8,9}, *p;

     p=t;

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

     

    A.

    0

     

    B.

    10

     

    C.

    1

     

    D.

    9

    正确

    本题总得分10分

    10

    【判断题】 (10分)

    若有下列语句:

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

    p=a;

    则*p的值是3。   

     

    A.

     

    B.

    正确

    本题总得分10分

    第十章测试

    • 第1部分
    • 总题数: 10

    1

    【单选题】 (10分)

    若给出下列定义:    

    char x[]="abcdefg";

    char y[]={'a','b','c','d','e','f','g'};  

    则正确的叙述为(       )。 

     

    A.

    数组x的长度小于数组y的长度

     

    B.

    数组y的定义是错的 

     

    C.

    数组x的长度大于数组y 的长度

     

    D.

    数组x和数组y的长度相同

    正确

    本题总得分10分

    2

    【单选题】 (10分)

    有下列程序,程序运行后的输出结果是(       )。

    #include  

    int main()

    {

        char  ch[7]={ "65ab21"};

        int  i,s=0;

        for (i=0;ch[i]>= '0'&&ch[i]<='9';i+=2)

        s=10*s+ch[i]- '0';

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

        return 0;

    }     

     

    A.

    6

     

    B.

    12ba56

     

    C.

    6521

     

    D.

    62

    正确

    本题总得分10分

    3

    【单选题】 (10分)

    设有如下的程序段:

    char s[]="girl", *t; t=s;则下列叙述正确的是(       )。

     

    A.

    t指向s数组首元素

     

    B.

    数组s中的内容和指针变量t中的内容相等

     

    C.

    *t与 &s[0]相等

     

    D.

    s数组长度和t长度相等

    正确

    本题总得分10分

    4

    【单选题】 (10分)

    有下列程序段,程序段运行后的输出结果是(       )。

    char b1[8]="abcdefg", b2[8], *pb=b1+3;        

    while( --pb>=b1) strcpy(b2, pb);

    printf("%d", strlen(b2));

     

    A.

    1

     

    B.

    8

     

    C.

    3

     

    D.

    7

    正确

    本题总得分10分

    5

    【单选题】 (10分)

    有下列程序,程序运行后的输出结果是(       )。

    #include

    char cchar(char ch)

    {         

    if (ch>='A' && ch<'Z')

      ch=ch-'A'+'a';

        return  ch;

    }

    int main()

    {

    char s[]="ABC+abc=defDEF", *p=s;

    while (*p)

    { *p=cchar(*p);   p++; }

    puts(s);

       return 0;

    }

     

    A.

    abc+ABC=DEFdef         

     

    B.

    abc+abc=defdef 

     

    C.

    abcaABCDEFdef

     

    D.

    abcabcdefdef

    正确

    本题总得分10分

    6

    【判断题】 (5分)

    从存储机制上看,字符串是以'\0'为结束标志的字符串数组。()

     

    A.

     

    B.

    正确

    本题总得分5分

    7

    【判断题】 (10分)

    语句printf(“This is a string!”)会把双引号输出。

     

    A.

     

    B.

    正确

    本题总得分10分

    8

    【判断题】 (10分)

    下面程序的运行结果是:We,s()。

    #include

    int main()

    {      

        printf (“%s, %c \n”,  "We", *"students");

        return 0;

    }

     

    A.

     

    B.

    正确

    本题总得分10分

    9

    【判断题】 (10分)

    下面程序段是正确的。()

    char  str[20];   

     str=“I love China!”

     

    A.

     

    B.

    正确

    本题总得分10分

    10

    【判断题】 (10分)

    可以用函数strcat将两个字符串连接,也可以用+将两个字符串连接。

     

    A.

     

    B.

    正确

    本题总得分10分

  • 相关阅读:
    大语言模型-LLM简介
    C++项目实战——基于多设计模式下的同步&异步日志系统-⑥-日志等级类与日志消息类设计
    拷贝控制操作
    高视医疗在港交所招股:IPO募资要用于贷款,高铁塔为控股股东
    【深度学习实践】基于深度学习的车牌识别(python,车牌检测+车牌识别)
    jenkins 2.346.1 从git拉取后自动构建部署springboot maven项目
    『手撕Vue-CLI』函数柯里化优化代码
    为什么做接口测试?
    Pycharm创建项目时如何自动添加头部信息
    android debug 签名文件的别名和秘钥是什么???
  • 原文地址:https://blog.csdn.net/m0_63485942/article/details/126695110