C语言程序设计(华中科技大学) 中国大学mooc慕课答案2024版 m308498

 

 

第一周:C语言概述 第一周单元测试

1、 以下关于C语言说法错误的是(   )。

答案: C语言程序习惯使用大写英文字母

2、 以下不正确的C语言标识符是(   )。

答案: xy.z

3、 以下正确的C语言标识符是(   )。

答案: x123

4、 一个C语言程序的执行是从(   )。

答案: main()函数开始,直到main()函数结束

5、 在C语言程序中,main()函数的位置(   )。

答案: 可以任意

6、 一个C程序是由(   )。

答案: 一个或多个函数组成

7、 C语言源程序的基本单位(   )。

答案: 函数 

8、 编辑程序的功能是(   )。

答案: 建立并修改程序

9、 C编译程序是(   )。

答案: 将C源程序编译成目标程序

10、 C编译程序能发现源程序的(   )。

答案: 语句的语法错误 

11、 带C语言编译器的CodeBlocks集成开发环境不能完成(   )。

答案: 设计C程序

12、 CodeBlocks调试程序进入调试状态后,可以(   )。

答案: 查看当前函数中有效作用域的变量

13、 一个C语言程序可以有多个main()函数

答案: 错误

14、 C语言程序区分大小写

答案: 正确

15、 C语言程序的变量名可以是关键字

答案: 错误

16、 C语言编译程序可以发现注释错误

答案: 错误

17、 CodeBLocks集成开发环境,可以设计C程序

答案: 错误

第二周:C语言变量、常量及表达式 第二周单元测验

1、 已知字符’A’的ASCII代码值是65,字符变量c1的值是’A’,c2的值是’D’。执行语句“printf(“%d,%d”, c1, c2 – 2);”后,输出的结果是(   )。

答案: 65,66

2、 字符串”\\”ABC\”\”的长度是(    )。

答案: 7

3、 设有整型变量i ,其值为020;整型变量j,其值为20。执行语句:                          printf(“%d,%d”, i , j);                            后,输出结果是(    )。

答案: 16,20

4、 设整型变量x为5,y为2,结果值为1的表达式是(    )。

答案: x != y || x >= y

5、 二进制加法10010100 + 00110010的和为(  )。

答案: 11000110

6、 属于整型常量的是(    )。

答案: 14

7、 x, a , b 均为整型变量,执行语句“x = a = 3 , b =( a–);” 后, x、a、b的值依次为(    )。

答案: 3,2,3

8、 设整型变量x的值为35,则表达式“(x & 15) && (x | 15)”的值是(    )。

 

答案: 1

9、 属于实型常量的是(    )。

答案: 1E-1

10、 设整型变量a为5,使整型变量b 不为2的表达式是(    )。

答案: b = a % 2; 

11、 设有整型变量n1、n2,其值均为3,执行语句“n2 = (n1++, n2++, ++n1);”后,n2的值是(    )。

答案: 5

12、 设单精度型变量f、g均为5.0,使f为10.0的表达式是(    )。

答案: f += g;

13、 表达式“1 ? (0 ? 3 : 2) : (10 ? 1 : 0)”的值为(    )。

答案: 2

14、 设x、y、z均为实型变量,代数式“x / (yz)”的C表达式写法正确的是(    )。

答案: x / (y * z)

15、 下面程序的输出是(    )。#include <stdio.h>void main( ){    int x=10, y=3;    printf(“%d”,y=x/y);}

答案: 3

16、 下列不正确的转义字符是(    )。

答案: ‘\084’

17、 若有以下定义:char a; int b;float c; double d;则表达式a*b+d-c值的类型为(    )。

答案: double

18、 以下程序的输出结果是(    )。#include <stdio.h>void main( ) {     int a=10,b=10;    printf(“%d,%d”, –a, ++b);}

答案: 9,11

19、 表达式1.5-7/2+4.3+5%2的值是(   )。

答案: 3.8

20、 若有以下程序:#include <stdio.h>void  main( ){       int k=2,i=2,m;    m=(k+=i*=k);    printf(“%d,%d”,m,i);}执行后的输出结果是(   )。

答案: 6,4 

21、 能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是(     )。

答案: a>=10‖a<=0

22、 已知unsigned int x = 012, y = 0x0f; 则表达式x & y的结果为(   )。

答案: 10

23、 已知unsigned int x = 012, y = 0x0f; 则表达式x | y的结果为(   )。

答案: 15

24、 已知unsigned int x = 012, y = 0x0f; 则表达式x ^ y的结果为(   )。

答案: 5

25、 已知unsigned int x = 012, y = 0x0f; 则表达式x & (y^y) 的结果为(   )。

答案: 0

26、 已知unsigned int x = 012, y = 0x0f; 则表达式(x >> 3) & (y << 4) 的结果为(   )。

答案: 0

27、 已知 int a = 5, b = 4; 则表达式 !a && ++b运行后,变量a,b的值分别为(    )。

答案: 5,4

28、 已知 int a = 5, b = 3; 则表达式 a || (b + 4) && ((++a) * (b++))运行后,表达式、变量a与b的值分别为(   )。

答案: 1,5,3

29、 已知 int a = 10, b = 20,c; max = b; 则表达式 c= (a > b) && (max = a)运行后,变量c与max的值分别为(   )。

答案: 0,20

30、 已知 unsigned int a = 1, b = 2, c = 3, d = 4; float f = 1.0;则表达式 f =(((a-b>d-c)?a++:b++),a*b)运行后,变量f的值为(   )。

答案: 4.0

31、 在C语言中,表达式“5&&6”的值为(   )。

答案: 1

32、 有以下程序#include <stdio.h>void main( ){    int a,b,c=290;    a=(c/100)%9;    b=(-1)&&(-1);    printf(“%d,%d”,a,b);}输出结果是(    )。

答案: 2,1

33、 下面程序的输出是(     )。#include <stdio.h>void  main( ){     int a=-1,b=4,k;    k=(a++<0)&&(!(b–<=0));    printf(“%d,%d,%d%”,k,a,b);}

答案: 1,0,3

34、 有以下程序#include <stdio.h>void  main( ){     int a,b,d=25;    a=d/10%9;    b=a&&(-1);    printf(“%d,%d”,a,b);}程序运行后的输出结果是(    )。

答案: 2,1

35、 在C语言程序中对用到的所有变量都必须先进行定义并指定其数据类型。

答案: 正确

36、 一个变量在内存中占据一定的存储单元。

答案: 正确

37、 在C语言程序中语句”float a=b=c=1.0;”是合法的。

答案: 错误

38、 自增运算符(++)或自减运算符(–)不能用于常量。

答案: 正确

39、 在C程序的表达式中,为了明确表达式的运算次序,提倡使用小括号”( )”。

答案: 正确

40、 %运算符要求运算的操作数必须是整型数。

答案: 正确

41、 关系表达式的值可以是任意整数。

答案: 错误

42、 在C语言中,逗号运算符的优先级最低。

答案: 正确

43、 C语言允许混合类型数据之间进行运算。

答案: 正确

44、 转义字符表示法只能表示字符不能表示数字。

答案: 错误

45、 在C语言标识符定义中,大小写字母是不加区分的。

答案: 错误

第三周:C程序及流程控制(1) 第三周单元测验

1、 C语言的结构化程序设计所包含的结构是(  )。

答案: 顺序结构、选择结构和循环结构

2、 下面哪个语句不便于C语言结构化编程的是(   )。

答案: goto语句

3、 C语言的流程控制语句不包括(    )。

答案: 表达式语句

4、 C语言的辅助控制语句不包括(    )。

答案: swicth …case语句

5、 关于C语言的复合语句,下面哪种说法是正确的(    )。

答案: 将若干条语句用括弧{ }括起来就构成了复合语句;

6、 关于C语言的空语句,下面哪种说法是正确的(    )。

答案: 只有分号的语句就叫空语句;

7、 关于表达式语句,下面哪种说法是正确的(    )。

答案: 任何一个表达式加上一个分号就是一条表达式语句;

8、 关于while循环,下面哪种说法是错误的(    )。

答案: while循环的循环体不能为空语句;

9、 阅读以下程序:#include <stdio.h>void  main( ) {     int x;     scanf(“%d”,&x);     if(x–<5)         printf(“%d”, x);     else         printf(“%d”, x++); }程序运行后,如果从键盘上输入5,则输出结果是 (     )。

答案: 4

10、 有如下程序,该程序的输出结果是(    )。#include <stdio.h>void  main( ){     int x=1,a=0,b=0;    switch(x)    {        case 0: b++;        case 1: a++;        case 2: a++;                     b++;    }    printf(“a=%d,b=%d”,a,b);}

答案: a=2,b=1

11、 有以下程序#include <stdio.h>void  main( ){      int a=16,b=21,m=0;    switch(a%3)    {        case 0:                         m++;                    break;          case 1:                        m++;          switch(b%2)          {                    default:                                   m++;                   case 0:                               m++;                               break;          }    }    printf(“%d”,m);}程序运行后的输出结果是(    )。

答案: 3

12、 有以下程序#include <stdio.h>void  main( ){     int a=5,b=4,c=3,d=2;     if(a>b && b>c)          printf(“%d”,d);     else if(c-1>=d)          printf(“%d”,d+1);     else          printf(“%d”,d+2);}执行后输出结果是(     ) 。

答案: 2

13、 有以下程序#include <stdio.h>void  main( ){    int a=3,b=4,c=5,d=2;    if(a<b)    {        if(b>c)            printf(“%d  “,d++ +1);        else            printf(“%d  “,++d +1);    }        printf(“%d”,d);} 程序运行后的输出结果是(    )。

答案: 4  3

14、 有以下程序#include <stdio.h>void  main( ){       int i,s=0;     for(i=1;i<10;i+=2)            s+=i+1;     printf(“%d”,s);}程序运行后的输出结果是(    )。

答案: 数1~10中的偶数之和

15、 以下程序段的输出结果是(    )。 int x=3; do {      printf(“%3d”,x-=2); } while(!(–x)); 

答案: 1  -2

16、 以下程序中,while循环的循环次数是(    )。#include <stdio.h>void  main(  ){     int  i=0;    while(i<10)    {           if(i<1)               continue;        if(i==5)              break;         i++;    }……}

答案: 死循环,不能确定次数

17、 有以下程序#include <stdio.h>void  main( ){     int a = 12, b = -34, c = -56, min;    min = a;    if(min > b)        min = b;    if(min > c)        min = c;    printf(“min = %d”, min);}输出结果是(    )。

答案: min = -56

18、 有以下程序#include <stdio.h>void  main( ){     int a ;    scanf(“%d”,&a);    if(a >= 0)    {        if( a % 2 ==0)            printf(“%d is a positive even number.”, a);        else            printf(“%d is a positive odd number.”, a);    }    else    {        if( a % 2 ==0)            printf(“%d is a negative even number.”, a);        else            printf(“%d is a negative odd number.”, a);    }}若通过键盘输入-11,则运行结果是(    )。

答案: -11 is a negative odd number.

19、 有以下程序#include <stdio.h>void  main( ){     char c ;    while(( c = getchar( )) != ‘$’)    {        if(‘A’ <= c && c <= ‘Z’)            putchar(c + 32);        else if(‘a’ <= c && c <= ‘z’)            putchar(c);    }}当输入为abc&%ABC#!$时,运行结果是(    )。

答案: abcabc

20、 输入一个字符,判断该字符是数字、字母、空格还是其它字符。请选择正确的答案填空 (    )。#include <stdio.h>void  main( ){     char c ;    c = getchar( );    if(____)        printf(“It is an ENGLISH character.”);    else if(‘0’ <= c && c <= ‘9’)        printf(“It is a DIGITAL character.”);    else if(c == 32)        printf(“It is a SPACE character.”);    else         printf(“It is other character.”);}当输入为abc*&%ABC#!$时,运行结果是(    )。

答案: (‘A’ <= c && c <= ‘Z’)  || (‘a’ <= c && c <= ‘z’)

21、 程序读入10个整数,统计其中非负数的个数,并计算非负数之和。请选择正确的答案填空 (    )。#include <stdio.h>void  main( ){     int i, a, s = 0, count = 0  ;    for(i = 0; i < 10; i ++)    {        scanf(“%d”,&a);        if( a < 0)            continue;        ________    }    printf(“s = %d \t count = %d “, s,count);}

答案: s+=a; count++;

22、 C语言程序的结构和版式是没有任何规律的;

答案: 错误

23、 初学者编写C语言的程序不需要养成加注释的习惯;

答案: 错误

24、 使用复合语句便于程序的结构化;

答案: 正确

25、 结构化程序设计的三种基本结构是顺序结构、选择结构和循环结构。

答案: 正确

26、 break语句的功能只是用于退出循环;

答案: 错误

27、 C语言中一般情况下不推荐使用goto 语句;

答案: 正确

28、 switch多分支选择语句的功能可以用条件分支嵌套语句来实现

答案: 正确

29、 空语句就是程序中没有什么作用的语句;

答案: 错误

30、 while循环和for循环可以相互替代;

答案: 正确

31、 在一些特定的应用中,用switch多分支选择语句代替条件分支嵌套语句可以提高程序的可读性。

答案: 正确

第四周:C程序及流程控制(2) 第四周单元测验

1、 如下程序,求序列:1、3、5、7…….的前20项之和,请选择正确的答案填空(  )。#include<stdio.h> void main( )  {        int  i;        int  sum, t ;  //sum代表和, t代表某项          sum  =  0 ;        t     =  1 ;            for (i=1 ; _____  ;   i++)        {             sum + = t;             t += 2;       }       printf(” sum = %d”,sum);}

答案: i<=20

2、 计算2+4+6+8+……+100的值,请选择正确的答案填空(   )。#include<stdio.h> void main( )  {        int  i;        int  s, t ;  //s代表和, t代表某项          s  =  0 ;        t   =  2 ;            for (i=1 ;  i <= 50 ;   i++)        {           _______;           t += 2;        }        printf(” sum = %d”,s);}

答案: s =s +t

3、 如下程序,求序列:1!,   2!,   3!,   4!………..的前八项之和.请选择正确的答案填空 (    )。#include<stdio.h>void main( ){        int  i;        ____ ;  //sum代表和, t代表某项          sum = 0 ;        t   = 1 ;            for (i=1;i<=8;i++)        {            sum += t;             t *= (i+1);        }        printf(” sum = %ld”,sum);}

答案: long sum,t

4、 求序列:2!+3!+4!+5!+……+11!的值.请选择正确的答案填空(    )。#include<stdio.h>void main( ){        int  i;        long sum,t  ;  //sum代表和, t代表某项          sum = 0 ;        t   = 2 ;        for (i=1;i<=10;i++)        {            sum + = t;             _____;        }        printf(“sum = %ld”,sum);}

答案:  t *=(i+2) 

5、 编一程序,求100-999之间所有的水仙花数, 所谓水仙花数就是说数的百位。十位和个位数的立方和恰好等于它本身。请选择正确的答案填空 (    )。#include<stdio.h>void main( )  {        int  i,a,b,c;                for (_____)        {            a = i/100 ;           //求百位数            b =( i- a100)/10;     //求十位数            c = i%10;           //求个位数             if( aaa + bbb +cc*c == i)           {                 printf(” %6d”, i  );           }        } }

答案: i =100 ; i<=999 ; i++

6、 有以下程序#include <stdio.h>void  main(  ) {     int a=1,b;     for(b=1;b<=10;b++)     {         if(a>=8)            break;         if(a%2==1)        {            a+=5;            continue;        }         a-=3;     }     printf(“%d”,b); }程序运行后的输出结果是(     )。

答案: 4

7、 有以下程序#include <stdio.h>void  main( ){      int i;     for(i=0;i<3;i++)     {          switch(i)          {            case 1:                        printf(“%3d”,i);            case 2:                        printf(“%3d”,i);            default:                        printf(“%3d”,i);          }    }    }执行后输出结果是(    )。

答案: 0  1  1  1  2  2

8、 下面程序的输出是(    )。#include <stdio.h>void  main( ){    int y=9;    for(  ; y>0 ; y–)    {        if(y%3==0)        {            printf(“%3d”,–y);            continue;        }    }}

答案:   8  5  2

9、 有以下程序#include <stdio.h>void  main( ){     int x,i;    for(i=1;i<=50;i++)    {        x=i;        if(++x%2==0)            if(x%3==0)                if(x%7==0)                    printf(“%d”,i);    }}输出结果是(    )。 

答案: 41

10、 以下程序为求序列:1/2、3/4、5/8、7/16、9/32、……所有大于或等于0.000001的数据项之和。请选择正确的答案填空(    )。#include<stdio.h>void main( ){        float sum, a , b  ;  //sum代表和, a代表分子, b代表分母        sum = 0.0 ;        a = 1;                  //分子赋初值        b = 2 ;                //分母赋初值        while (a / b >=1e-6)        {                _____;                a = a + 2;    //求下一项分子                b = b * 2;    //求下一项分母        }        printf(“sum = %f”,sum);}

答案: sum += (a / b) 

11、 已知abc + cba = 1333,a, b, c,为一位数,以下程序为求所有可能的a, b, c的程序。请选择正确的答案填空(    )。#include<stdio.h>void main( )  {        int  i,a,b,c;                for (i =100 ; i<=999 ; i++)        {            a = i/100 ;           //求百位数            b =( i- a100)/10;     //求十位数            c = i%10;           //求个位数             if( _____)           {                 printf(” a=%d,b=%d,c=%d”,a,b,c  );           }        } }

答案: (a100+b10+c+c100+b10+a)==1333

12、 以下程序为求两个正整数的最大公约数的程序。请选择正确的答案填空(    )。#include<stdio.h>void main( )  {        int  i, a, b;        scanf(“%d%d”,&a,&b);        for (_____ ; i > 0 ; i –)        {            if( (a % i == 0) && (b % i == 0))           {                 printf(” the max = %d “, i ) ;                 break ;           }        } }

答案: i = (a<b ? a : b)

13、 以下程序为判断一个正整数是否为素数的程序。请选择正确的答案填空(    )。#include<stdio.h>void main( )  {        int  i, a ;        scanf(“%d”,&a);        for (i = 2 ; i < a ; i ++)        {            if(____)            {                 break ;            }        }        if(i >= a)        {                printf(“%d is a sushu.”,a);        }        else        {                printf(“%d is not a sushu.”,a);        } }

答案: a % i == 0

14、 用100元钱买100只鸡,其中母鸡每只3元,公鸡每只2元,小鸡1元3只,且每种鸡至少买1只。以下程序为计算百钱买百鸡所有可能购买方案的程序。请选择正确的答案填空(    )。#include<stdio.h>void main( ){        int  a, b, c; //a,b,c分别代表母鸡、公鸡和小鸡数        for (a = 1 ; a <= 98 ; a ++)        {            for (b = 1 ; b <= 98 ; b ++)           {                  for (c = 1 ; c <= 98 ; c ++)                  {                           if(_________)                           {                                  printf(“muji : %d,  gongji: %d, xiaoji: %d”,a,b,c);                            }                  }           }        }}

答案: (a+b+c==100) && (a3+b2+c/3 ==100) && (c %3 ==0)

15、 计算1!, 2!, 3!, ……,10! 的值,并输出结果。请选择正确的答案填空(    )。#include<stdio.h>void main( ){        int  i;        long int s =1  ;  //s代表阶乘的结果          for (i=1;i<=10;i++)        {            ____;             printf(“%d! = %ld”, i, s);        }}

答案: s *= i 

16、 for循环语句中的三个表达式起着不同的作用,表达式1一般用于进入循环前给某些变量赋初值;

答案: 正确

17、 在for循环语句中,表达式1、表达式2和表达式3都是逗号运算表达式;

答案: 错误

18、 在C语言编程中应该尽量少用空格或者空行;

答案: 错误

19、 在C语言编程中,如果出现嵌套的大括弧对{ },使用缩进对齐的格式能增强程序的可读性;

答案: 正确

20、 C语言的辅助控制语句包括break,continue、return和goto语句;

答案: 正确

21、 C语言编程中,不提倡把多个语句写在一行中,提倡一行只写一条语句;

答案: 正确

22、 在C语言编程时,要养成修改代码同时修改相应注释的习惯,以保证注释与代码的一致性。

答案: 正确

23、 在C语言编程中,相对独立的程序块之间、变量说明之后加上空行可以增加程序的可读性。

答案: 正确

第五周:函数(1) 第五周单元测试

1、 下列关于C语言程序的结构化设计,说法错误的是( )

答案: 只有一个源文件,对函数大小没有限制

2、 定义函数void fun()函数,函数的返回值类型为()

答案: 函数无返回值

3、 下面关于函数描述正确的是()

答案: 函数的定义不可以嵌套,但是调用可以嵌套

4、 若定义函数时函数的返回类型缺省,则函数的默认数据类型为()

答案: int

5、 一个函数返回值的类型是由( )决定的

答案: 定义函数时指定的函数数据类型

6、 下面叙述中正确的是( )

答案: 对于用户自己定义的函数,在使用前必须加以说明

7、 函数的形参可以是()

答案: 局部自动变量

8、 有如下定义的函数:func(int a){    printf(“%d”,a);}则该函数的返回值类型是()

答案: int类型

9、 函数内部的局部静态变量,下列说法正确的是( )

答案: 在函数退出后不被释放,程序执行结束释放

10、 局部自动变量,下列说法正确的是()

答案: 进入函数分配内存,退出函数,释放内存

11、 下列说法不正确的是( )

答案: 全局静态变量和局部静态变量,作用域和寿命相同

12、 下面程序段运行的结果为()#include <stdio.h>int f();int f() {   static int i=0;    int s=1;       s+=i;    i++;    return s; } void main() {   int i,a=0;    for(i=0;i<5;i++)      a+=f();    printf(“%d”,a); }

答案: 15

13、 下面程序段运行的结果为( )#include <stdio.h>int try1( );int try1( ){    static int x=3;    x++;    return x;}void main(){    int i,x;    for(i=0; i<=2; i++)        x=try1( );    printf(“%d”, x);}

答案: 6

14、 下面程序的运算结果为( )#include <stdio.h>void fun();int main(){   int a=10;      fun();   printf(“%3d”,a);   return 0;}void fun(){   int a=20;   printf(“%3d”,a);}

答案:  20 10

15、 以下正确的函数形式是( )

答案: int fun(int x,int y){    double z;   z=x+y;   return z;}

16、 以下程序的输出结果是()#include <stdio.h>int i=10;int func();void main(){   int j=1;   j=func();   printf(“%3d”,j);   j=func();   printf(“%3d”,j);}int func(){   int k=0;      k=k+i;   i=i+10;   return k;}

答案:  10 20  

17、 函数内定义的局部变量可以在函数运行结束后继续被调用

答案: 错误

18、 变量根据其作用域的范围可以分作局部变量和全局变量

答案: 正确

19、 当变量的存储类型定义缺省时,系统默认为变量的存储类型为auto类型,分配在静态区

答案: 错误

20、 在一个函数内定义的静态局部变量不能被另外一个函数所调用

答案: 正确

21、 函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));中,含有的实参个数是5

答案: 错误

22、 变量被定义后,它的作用域和寿命就被确定了,并且不可改变。

答案: 正确

23、 在同一个作用域不可定义同名变量,在不同的作用域可以定义同名变量

答案: 正确

24、 函数内部的静态变量,在函数退出后不被释放

答案: 正确

25、 C语言中函数返回值的类型由return语句中的表达式的类型决定

答案: 错误

26、 C语言中一般全局变量与静态全局变量生存期不同

答案: 错误

27、 程序进行编译时,不为形式参数分配存储空间

答案: 正确

28、 编译器根据函数的原型来检查函数的调用正确与否

答案: 正确

第六周:函数(2) 第六周单元测验

1、 下列说法中正确的是()

答案: 函数原型是一条语句,不包括函数体

2、 在调用函数时,如果实参是整型变量,它与对应形参之间的数据传递方式是()

答案: 单向值传递 

3、 若定义函数float *fun( ),则函数fun的返回值为( )

答案: 一个指向变量的指针

4、 C程序中各函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是( )

答案: 同名的局部变量

5、 以下结论中只有( )是正确的

答案: 所有的递归程序均可以采用非递归算法实现

6、 main()函数的数据类型,可以是( )

答案: void

7、 下面程序段运行的结果为( )#include <stdio.h>int fun(float x,float y);int fun(float x,float y){   return x > y ? x : y;}void main(){   printf(“%d,%d”,fun(3,5),fun(4.8,4.6));}

答案: 5,4

8、 下面程序的运算结果为( )#include <stdio.h>int fun(int n);int fun(int n){   if(n == 1 || n == 2)     return 1;   return fun(n-1)+fun(n-2);}void main(){   printf(“%d”,fun(6));}

答案: 8

9、 以下程序运行结果是( )#include <stdio.h>void f(int a, int b);void f(int a, int b){   int t;   t = a;    a = b;    b = t;}void main(){   int x = 3, y = 2, z = 1;      if (x > y)     f(x, y);   if (y > z)     f(y, z);   if (x > y)     f(x, y);   printf(“%d, %d, %d”, x, y, z);}

答案: 3, 2, 1

10、 以下程序的输出结果是( )#include <stdio.h>int func(int s);void main( ){   int i,x=0;   for(i=0;i<4;i++)   {      x=func(i+1);      printf(“%3d”,x);   }  printf(“”);}int func(int s){    int x;    static int t=3;    x=s+t;    t++;    return x;}

答案:   4  6  8  10  

11、 以下程序的执行结果是()#include <stdio.h>int swap(int a,int b);void main(){   int a,b;       a=3,b=10;   swap(a,b);   printf(“a=%d,b=%d”,a,b);   }int swap(int a,int b){   int temp;      temp=a;   a=b;   b=temp;   return 0;}

答案: a=3,b=10 

12、 以下程序的执行结果是()#include <stdio.h>int sum(int k);void main(){   int s,i;   for(i=1;i<=10;i++)      s=sum(i);   printf(“s=%d”,s);}int sum(int k){   int x=0;      return (x+=k);      }

答案: s=10

13、 以下程序的执行结果是()#include <stdio.h>int func(int );void main(){    int a=1,i;        for(i=0;i<4;i++)    {         printf(“%3d”,func(a+i));    }}int func(int b){   static int i;   return   b+i;}

答案:   1  2  3  4  

14、 以下程序的执行结果是()#include <stdio.h>int multi(int x,int y);void main(){   int a,b,c;       a=10,b=12;   c=mult(a,b);   printf(“%d%d=%d”,a,b,c);}int multi(int x,int y){   return xy;}

答案: 1012=120

15、 以下程序的执行结果是()#include <stdio.h>int n;void func();void main(){   static int x=6;   int y;   y=n;   func();   printf(“x=%d,y=%d,n=%d”,x,y,n);}void func(){   static int x;   int y=10;   x=x+20;   n=n+2;   y=y+n;}

答案: x=6,y=0,n=2

16、 C语言中,函数调用时,形参与实参的个数可以不必保持一致

答案: 错误

17、 C语言函数间使用值传递数据时,对形参进行写操作,会影响主调函数里相关变量的值

答案: 错误

18、 C语言中,一个函数可以有多个返回值

答案: 错误

19、 C语言函数间使用传址方式传递数据时,对形参进行写操作,可以影响主调函数里相关变量的值

答案: 正确

20、 C语言中,使用全局变量可以使程序设计简单,移植性好

答案: 错误

21、 函数的递归调用是一个函数直接或间接地调用它自身

答案: 正确

第七周:数组(1) 第七周单元测验

1、 下列一维数组定义正确的是(   )

答案: int a[3];

2、 下列一维数组定义与初始化错误的是(    )

答案: int a[3] = 0;

3、 下列二维数组定义和初始化错误的是(    )

答案: int a[3][];

4、 在下列语句条件下,二维数组的定义和初始化错误的是(    )#define SIZE  9

答案: int a[][SIZE];

5、 假定int型变量在内存中占2个字节,那么二维数组int a[3][4]所占的字节数为 (    )

答案: 24

6、 若有说明:int a[][3]={{1,2,3},{4,5},{6,7}}; 则数组a的第一维的大小为 (    )

答案: 3

7、 下列关于数组概念的描述中,错误的是(    )

答案: 数组定义后,它的元素个数是可以改变的

8、 已知double dd[ ][3]={{1.2, 2.4, 3.6}, {4.8, 5.2},{6.4}}; dd[2][2]的值为(    )

答案: 0.0

9、 若有定义语句:int m[][3]={1,2,3,4,5,6,7};,则与该语句等价的是(   )

答案: int m[][3]={{1,2,3},{4,5,6},{7}};

10、 程序填空。程序功能:求矩阵的最小值,并记录最小值的行列号。#include <stdio.h>void main(){    int i, j, min;    int row=0,column=0;    int a[3][3]={{1,2,3},{2,-3,4},{9,4,7}};    min=a[0][0];    for(i=0;i<3;i++)    {        for(j=0;j<3;j++)        {            if(_____)            {                min=a[i][j];                row=i+1;                column=j+1;            }        }    }    printf(“min=%d,row=%d,column=%d”,min,row,column);}程序中空白处所填语句正确的为(    )

答案: min>a[i][j]

11、 若有定义语句int a[10]; 以下叙述中正确的是(   )

答案: a[0]是合法的数组元素,a[10]不是合法的数组元素

12、 下列有一行是错误的(每行程序前的数字表示行号),程序有错误的行数是(    )1  include <stdio.h>2  void main( )3  {4      int a[3] = {2*3};5      int i, sum=0;6      for( i=0; i<3; i++ )7      {8          scanf(“%d”, a[i]);9          sum += a[i];10     }11     printf( “%d”, sum );12  }

答案: 第8行有错误

13、 若有以下数组说明,则a[a[i]]元素数值是(    )。int a[12]={1,4,7,10,2,5,8,11,3,6,9,12}, int i=10;

答案: 6

14、 以下叙述中正确的是(    )

答案: 语句int a[8]={0};是合法的

15、 程序填空。程序功能:计算两个矩阵的乘积。#include <stdio.h>void main(){    int valueA[3][4]={{2,3,-5,0},{12,-1,2,8},{1,12,-2,1}};    int valueB[4][5]={{5,13,0,1,5},{-2,0,4,1,5},{5,3,2,1,0},{0,1,2,0,1}};        int valueC[3][5]={{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0}};    int i,j,k;    for(i=0; i<3; i++)        for(j=0; j<5; j++)            for(k=0; k<4;k++)                ______;    for(i=0;i<3;i++)    {        printf(“”);        for(j=0;j<5;j++)            printf(“%5d”,valueC[i][j]);    }}程序中空白处所填语句正确的为(    )

答案: valueC[i][j] += valueA[i][k] * valueB[k][j]

16、 一维数组在内存中的存储空间是连续的;二维数组在存储中的存储空间每一行是连续,不同行之间则不连续。

答案: 错误

17、 数组可以动态指定大小。

答案: 错误

18、 数组初始化时可以仅初始化部分元素的值。

答案: 正确

19、 数组所占的元素取决于数组的大小,如果数组大小为N,则在该数组所占内存大小为N个字节。

答案: 错误

20、 同一个数组可以存放不同数据类型的数值。

答案: 错误

21、 二维数组初始化语句”int a[2][2] = {{0},{2}};” 是正确的。

答案: 正确

 


下方是付费阅读内容:本平台商品均为虚拟商品,无法用作二次销售,不支持退换货,请在购买前确认您需要购买的资料准确无误后再购买,望知悉!

暂无优惠



完整答案需点击上方按钮支付5元购买,所有答案均为章节测试答案,购买后上方矩形框将出现已付费的隐藏内容。


,

第一周:C语言概述 第一周单元测试

1、 以下关于C语言说法错误的是(   )。

答案: C语言程序习惯使用大写英文字母

2、 以下不正确的C语言标识符是(   )。

答案: xy.z

3、 以下正确的C语言标识符是(   )。

答案: x123

4、 一个C语言程序的执行是从(   )。

答案: main()函数开始,直到main()函数结束

5、 在C语言程序中,main()函数的位置(   )。

答案: 可以任意

6、 一个C程序是由(   )。

答案: 一个或多个函数组成

7、 C语言源程序的基本单位(   )。

答案: 函数 

8、 编辑程序的功能是(   )。

答案: 建立并修改程序

9、 C编译程序是(   )。

答案: 将C源程序编译成目标程序

10、 C编译程序能发现源程序的(   )。

答案: 语句的语法错误 

11、 带C语言编译器的CodeBlocks集成开发环境不能完成(   )。

答案: 设计C程序

12、 CodeBlocks调试程序进入调试状态后,可以(   )。

答案: 查看当前函数中有效作用域的变量

13、 一个C语言程序可以有多个main()函数

答案: 错误

14、 C语言程序区分大小写

答案: 正确

15、 C语言程序的变量名可以是关键字

答案: 错误

16、 C语言编译程序可以发现注释错误

答案: 错误

17、 CodeBLocks集成开发环境,可以设计C程序

答案: 错误

第二周:C语言变量、常量及表达式 第二周单元测验

1、 已知字符’A’的ASCII代码值是65,字符变量c1的值是’A’,c2的值是’D’。执行语句“printf(“%d,%d”, c1, c2 – 2);”后,输出的结果是(   )。

答案: 65,66

2、 字符串”\\”ABC\”\”的长度是(    )。

答案: 7

3、 设有整型变量i ,其值为020;整型变量j,其值为20。执行语句:                          printf(“%d,%d”, i , j);                            后,输出结果是(    )。

答案: 16,20

4、 设整型变量x为5,y为2,结果值为1的表达式是(    )。

答案: x != y || x >= y

5、 二进制加法10010100 + 00110010的和为(  )。

答案: 11000110

6、 属于整型常量的是(    )。

答案: 14

7、 x, a , b 均为整型变量,执行语句“x = a = 3 , b =( a–);” 后, x、a、b的值依次为(    )。

答案: 3,2,3

8、 设整型变量x的值为35,则表达式“(x & 15) && (x | 15)”的值是(    )。

 

答案: 1

9、 属于实型常量的是(    )。

答案: 1E-1

10、 设整型变量a为5,使整型变量b 不为2的表达式是(    )。

答案: b = a % 2; 

11、 设有整型变量n1、n2,其值均为3,执行语句“n2 = (n1++, n2++, ++n1);”后,n2的值是(    )。

答案: 5

12、 设单精度型变量f、g均为5.0,使f为10.0的表达式是(    )。

答案: f += g;

13、 表达式“1 ? (0 ? 3 : 2) : (10 ? 1 : 0)”的值为(    )。

答案: 2

14、 设x、y、z均为实型变量,代数式“x / (yz)”的C表达式写法正确的是(    )。

答案: x / (y * z)

15、 下面程序的输出是(    )。#include <stdio.h>void main( ){    int x=10, y=3;    printf(“%d”,y=x/y);}

答案: 3

16、 下列不正确的转义字符是(    )。

答案: ‘\084’

17、 若有以下定义:char a; int b;float c; double d;则表达式a*b+d-c值的类型为(    )。

答案: double

18、 以下程序的输出结果是(    )。#include <stdio.h>void main( ) {     int a=10,b=10;    printf(“%d,%d”, –a, ++b);}

答案: 9,11

19、 表达式1.5-7/2+4.3+5%2的值是(   )。

答案: 3.8

20、 若有以下程序:#include <stdio.h>void  main( ){       int k=2,i=2,m;    m=(k+=i*=k);    printf(“%d,%d”,m,i);}执行后的输出结果是(   )。

答案: 6,4 

21、 能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是(     )。

答案: a>=10‖a<=0

22、 已知unsigned int x = 012, y = 0x0f; 则表达式x & y的结果为(   )。

答案: 10

23、 已知unsigned int x = 012, y = 0x0f; 则表达式x | y的结果为(   )。

答案: 15

24、 已知unsigned int x = 012, y = 0x0f; 则表达式x ^ y的结果为(   )。

答案: 5

25、 已知unsigned int x = 012, y = 0x0f; 则表达式x & (y^y) 的结果为(   )。

答案: 0

26、 已知unsigned int x = 012, y = 0x0f; 则表达式(x >> 3) & (y << 4) 的结果为(   )。

答案: 0

27、 已知 int a = 5, b = 4; 则表达式 !a && ++b运行后,变量a,b的值分别为(    )。

答案: 5,4

28、 已知 int a = 5, b = 3; 则表达式 a || (b + 4) && ((++a) * (b++))运行后,表达式、变量a与b的值分别为(   )。

答案: 1,5,3

29、 已知 int a = 10, b = 20,c; max = b; 则表达式 c= (a > b) && (max = a)运行后,变量c与max的值分别为(   )。

答案: 0,20

30、 已知 unsigned int a = 1, b = 2, c = 3, d = 4; float f = 1.0;则表达式 f =(((a-b>d-c)?a++:b++),a*b)运行后,变量f的值为(   )。

答案: 4.0

31、 在C语言中,表达式“5&&6”的值为(   )。

答案: 1

32、 有以下程序#include <stdio.h>void main( ){    int a,b,c=290;    a=(c/100)%9;    b=(-1)&&(-1);    printf(“%d,%d”,a,b);}输出结果是(    )。

答案: 2,1

33、 下面程序的输出是(     )。#include <stdio.h>void  main( ){     int a=-1,b=4,k;    k=(a++<0)&&(!(b–<=0));    printf(“%d,%d,%d%”,k,a,b);}

答案: 1,0,3

34、 有以下程序#include <stdio.h>void  main( ){     int a,b,d=25;    a=d/10%9;    b=a&&(-1);    printf(“%d,%d”,a,b);}程序运行后的输出结果是(    )。

答案: 2,1

35、 在C语言程序中对用到的所有变量都必须先进行定义并指定其数据类型。

答案: 正确

36、 一个变量在内存中占据一定的存储单元。

答案: 正确

37、 在C语言程序中语句”float a=b=c=1.0;”是合法的。

答案: 错误

38、 自增运算符(++)或自减运算符(–)不能用于常量。

答案: 正确

39、 在C程序的表达式中,为了明确表达式的运算次序,提倡使用小括号”( )”。

答案: 正确

40、 %运算符要求运算的操作数必须是整型数。

答案: 正确

41、 关系表达式的值可以是任意整数。

答案: 错误

42、 在C语言中,逗号运算符的优先级最低。

答案: 正确

43、 C语言允许混合类型数据之间进行运算。

答案: 正确

44、 转义字符表示法只能表示字符不能表示数字。

答案: 错误

45、 在C语言标识符定义中,大小写字母是不加区分的。

答案: 错误

第三周:C程序及流程控制(1) 第三周单元测验

1、 C语言的结构化程序设计所包含的结构是(  )。

答案: 顺序结构、选择结构和循环结构

2、 下面哪个语句不便于C语言结构化编程的是(   )。

答案: goto语句

3、 C语言的流程控制语句不包括(    )。

答案: 表达式语句

4、 C语言的辅助控制语句不包括(    )。

答案: swicth …case语句

5、 关于C语言的复合语句,下面哪种说法是正确的(    )。

答案: 将若干条语句用括弧{ }括起来就构成了复合语句;

6、 关于C语言的空语句,下面哪种说法是正确的(    )。

答案: 只有分号的语句就叫空语句;

7、 关于表达式语句,下面哪种说法是正确的(    )。

答案: 任何一个表达式加上一个分号就是一条表达式语句;

8、 关于while循环,下面哪种说法是错误的(    )。

答案: while循环的循环体不能为空语句;

9、 阅读以下程序:#include <stdio.h>void  main( ) {     int x;     scanf(“%d”,&x);     if(x–<5)         printf(“%d”, x);     else         printf(“%d”, x++); }程序运行后,如果从键盘上输入5,则输出结果是 (     )。

答案: 4

10、 有如下程序,该程序的输出结果是(    )。#include <stdio.h>void  main( ){     int x=1,a=0,b=0;    switch(x)    {        case 0: b++;        case 1: a++;        case 2: a++;                     b++;    }    printf(“a=%d,b=%d”,a,b);}

答案: a=2,b=1

11、 有以下程序#include <stdio.h>void  main( ){      int a=16,b=21,m=0;    switch(a%3)    {        case 0:                         m++;                    break;          case 1:                        m++;          switch(b%2)          {                    default:                                   m++;                   case 0:                               m++;                               break;          }    }    printf(“%d”,m);}程序运行后的输出结果是(    )。

答案: 3

12、 有以下程序#include <stdio.h>void  main( ){     int a=5,b=4,c=3,d=2;     if(a>b && b>c)          printf(“%d”,d);     else if(c-1>=d)          printf(“%d”,d+1);     else          printf(“%d”,d+2);}执行后输出结果是(     ) 。

答案: 2

13、 有以下程序#include <stdio.h>void  main( ){    int a=3,b=4,c=5,d=2;    if(a<b)    {        if(b>c)            printf(“%d  “,d++ +1);        else            printf(“%d  “,++d +1);    }        printf(“%d”,d);} 程序运行后的输出结果是(    )。

答案: 4  3

14、 有以下程序#include <stdio.h>void  main( ){       int i,s=0;     for(i=1;i<10;i+=2)            s+=i+1;     printf(“%d”,s);}程序运行后的输出结果是(    )。

答案: 数1~10中的偶数之和

15、 以下程序段的输出结果是(    )。 int x=3; do {      printf(“%3d”,x-=2); } while(!(–x)); 

答案: 1  -2

16、 以下程序中,while循环的循环次数是(    )。#include <stdio.h>void  main(  ){     int  i=0;    while(i<10)    {           if(i<1)               continue;        if(i==5)              break;         i++;    }……}

答案: 死循环,不能确定次数

17、 有以下程序#include <stdio.h>void  main( ){     int a = 12, b = -34, c = -56, min;    min = a;    if(min > b)        min = b;    if(min > c)        min = c;    printf(“min = %d”, min);}输出结果是(    )。

答案: min = -56

18、 有以下程序#include <stdio.h>void  main( ){     int a ;    scanf(“%d”,&a);    if(a >= 0)    {        if( a % 2 ==0)            printf(“%d is a positive even number.”, a);        else            printf(“%d is a positive odd number.”, a);    }    else    {        if( a % 2 ==0)            printf(“%d is a negative even number.”, a);        else            printf(“%d is a negative odd number.”, a);    }}若通过键盘输入-11,则运行结果是(    )。

答案: -11 is a negative odd number.

19、 有以下程序#include <stdio.h>void  main( ){     char c ;    while(( c = getchar( )) != ‘$’)    {        if(‘A’ <= c && c <= ‘Z’)            putchar(c + 32);        else if(‘a’ <= c && c <= ‘z’)            putchar(c);    }}当输入为abc&%ABC#!$时,运行结果是(    )。

答案: abcabc

20、 输入一个字符,判断该字符是数字、字母、空格还是其它字符。请选择正确的答案填空 (    )。#include <stdio.h>void  main( ){     char c ;    c = getchar( );    if(____)        printf(“It is an ENGLISH character.”);    else if(‘0’ <= c && c <= ‘9’)        printf(“It is a DIGITAL character.”);    else if(c == 32)        printf(“It is a SPACE character.”);    else         printf(“It is other character.”);}当输入为abc*&%ABC#!$时,运行结果是(    )。

答案: (‘A’ <= c && c <= ‘Z’)  || (‘a’ <= c && c <= ‘z’)

21、 程序读入10个整数,统计其中非负数的个数,并计算非负数之和。请选择正确的答案填空 (    )。#include <stdio.h>void  main( ){     int i, a, s = 0, count = 0  ;    for(i = 0; i < 10; i ++)    {        scanf(“%d”,&a);        if( a < 0)            continue;        ________    }    printf(“s = %d \t count = %d “, s,count);}

答案: s+=a; count++;

22、 C语言程序的结构和版式是没有任何规律的;

答案: 错误

23、 初学者编写C语言的程序不需要养成加注释的习惯;

答案: 错误

24、 使用复合语句便于程序的结构化;

答案: 正确

25、 结构化程序设计的三种基本结构是顺序结构、选择结构和循环结构。

答案: 正确

26、 break语句的功能只是用于退出循环;

答案: 错误

27、 C语言中一般情况下不推荐使用goto 语句;

答案: 正确

28、 switch多分支选择语句的功能可以用条件分支嵌套语句来实现

答案: 正确

29、 空语句就是程序中没有什么作用的语句;

答案: 错误

30、 while循环和for循环可以相互替代;

答案: 正确

31、 在一些特定的应用中,用switch多分支选择语句代替条件分支嵌套语句可以提高程序的可读性。

答案: 正确

第四周:C程序及流程控制(2) 第四周单元测验

1、 如下程序,求序列:1、3、5、7…….的前20项之和,请选择正确的答案填空(  )。#include<stdio.h> void main( )  {        int  i;        int  sum, t ;  //sum代表和, t代表某项          sum  =  0 ;        t     =  1 ;            for (i=1 ; _____  ;   i++)        {             sum + = t;             t += 2;       }       printf(” sum = %d”,sum);}

答案: i<=20

2、 计算2+4+6+8+……+100的值,请选择正确的答案填空(   )。#include<stdio.h> void main( )  {        int  i;        int  s, t ;  //s代表和, t代表某项          s  =  0 ;        t   =  2 ;            for (i=1 ;  i <= 50 ;   i++)        {           _______;           t += 2;        }        printf(” sum = %d”,s);}

答案: s =s +t

3、 如下程序,求序列:1!,   2!,   3!,   4!………..的前八项之和.请选择正确的答案填空 (    )。#include<stdio.h>void main( ){        int  i;        ____ ;  //sum代表和, t代表某项          sum = 0 ;        t   = 1 ;            for (i=1;i<=8;i++)        {            sum += t;             t *= (i+1);        }        printf(” sum = %ld”,sum);}

答案: long sum,t

4、 求序列:2!+3!+4!+5!+……+11!的值.请选择正确的答案填空(    )。#include<stdio.h>void main( ){        int  i;        long sum,t  ;  //sum代表和, t代表某项          sum = 0 ;        t   = 2 ;        for (i=1;i<=10;i++)        {            sum + = t;             _____;        }        printf(“sum = %ld”,sum);}

答案:  t *=(i+2) 

5、 编一程序,求100-999之间所有的水仙花数, 所谓水仙花数就是说数的百位。十位和个位数的立方和恰好等于它本身。请选择正确的答案填空 (    )。#include<stdio.h>void main( )  {        int  i,a,b,c;                for (_____)        {            a = i/100 ;           //求百位数            b =( i- a100)/10;     //求十位数            c = i%10;           //求个位数             if( aaa + bbb +cc*c == i)           {                 printf(” %6d”, i  );           }        } }

答案: i =100 ; i<=999 ; i++

6、 有以下程序#include <stdio.h>void  main(  ) {     int a=1,b;     for(b=1;b<=10;b++)     {         if(a>=8)            break;         if(a%2==1)        {            a+=5;            continue;        }         a-=3;     }     printf(“%d”,b); }程序运行后的输出结果是(     )。

答案: 4

7、 有以下程序#include <stdio.h>void  main( ){      int i;     for(i=0;i<3;i++)     {          switch(i)          {            case 1:                        printf(“%3d”,i);            case 2:                        printf(“%3d”,i);            default:                        printf(“%3d”,i);          }    }    }执行后输出结果是(    )。

答案: 0  1  1  1  2  2

8、 下面程序的输出是(    )。#include <stdio.h>void  main( ){    int y=9;    for(  ; y>0 ; y–)    {        if(y%3==0)        {            printf(“%3d”,–y);            continue;        }    }}

答案:   8  5  2

9、 有以下程序#include <stdio.h>void  main( ){     int x,i;    for(i=1;i<=50;i++)    {        x=i;        if(++x%2==0)            if(x%3==0)                if(x%7==0)                    printf(“%d”,i);    }}输出结果是(    )。 

答案: 41

10、 以下程序为求序列:1/2、3/4、5/8、7/16、9/32、……所有大于或等于0.000001的数据项之和。请选择正确的答案填空(    )。#include<stdio.h>void main( ){        float sum, a , b  ;  //sum代表和, a代表分子, b代表分母        sum = 0.0 ;        a = 1;                  //分子赋初值        b = 2 ;                //分母赋初值        while (a / b >=1e-6)        {                _____;                a = a + 2;    //求下一项分子                b = b * 2;    //求下一项分母        }        printf(“sum = %f”,sum);}

答案: sum += (a / b) 

11、 已知abc + cba = 1333,a, b, c,为一位数,以下程序为求所有可能的a, b, c的程序。请选择正确的答案填空(    )。#include<stdio.h>void main( )  {        int  i,a,b,c;                for (i =100 ; i<=999 ; i++)        {            a = i/100 ;           //求百位数            b =( i- a100)/10;     //求十位数            c = i%10;           //求个位数             if( _____)           {                 printf(” a=%d,b=%d,c=%d”,a,b,c  );           }        } }

答案: (a100+b10+c+c100+b10+a)==1333

12、 以下程序为求两个正整数的最大公约数的程序。请选择正确的答案填空(    )。#include<stdio.h>void main( )  {        int  i, a, b;        scanf(“%d%d”,&a,&b);        for (_____ ; i > 0 ; i –)        {            if( (a % i == 0) && (b % i == 0))           {                 printf(” the max = %d “, i ) ;                 break ;           }        } }

答案: i = (a<b ? a : b)

13、 以下程序为判断一个正整数是否为素数的程序。请选择正确的答案填空(    )。#include<stdio.h>void main( )  {        int  i, a ;        scanf(“%d”,&a);        for (i = 2 ; i < a ; i ++)        {            if(____)            {                 break ;            }        }        if(i >= a)        {                printf(“%d is a sushu.”,a);        }        else        {                printf(“%d is not a sushu.”,a);        } }

答案: a % i == 0

14、 用100元钱买100只鸡,其中母鸡每只3元,公鸡每只2元,小鸡1元3只,且每种鸡至少买1只。以下程序为计算百钱买百鸡所有可能购买方案的程序。请选择正确的答案填空(    )。#include<stdio.h>void main( ){        int  a, b, c; //a,b,c分别代表母鸡、公鸡和小鸡数        for (a = 1 ; a <= 98 ; a ++)        {            for (b = 1 ; b <= 98 ; b ++)           {                  for (c = 1 ; c <= 98 ; c ++)                  {                           if(_________)                           {                                  printf(“muji : %d,  gongji: %d, xiaoji: %d”,a,b,c);                            }                  }           }        }}

答案: (a+b+c==100) && (a3+b2+c/3 ==100) && (c %3 ==0)

15、 计算1!, 2!, 3!, ……,10! 的值,并输出结果。请选择正确的答案填空(    )。#include<stdio.h>void main( ){        int  i;        long int s =1  ;  //s代表阶乘的结果          for (i=1;i<=10;i++)        {            ____;             printf(“%d! = %ld”, i, s);        }}

答案: s *= i 

16、 for循环语句中的三个表达式起着不同的作用,表达式1一般用于进入循环前给某些变量赋初值;

答案: 正确

17、 在for循环语句中,表达式1、表达式2和表达式3都是逗号运算表达式;

答案: 错误

18、 在C语言编程中应该尽量少用空格或者空行;

答案: 错误

19、 在C语言编程中,如果出现嵌套的大括弧对{ },使用缩进对齐的格式能增强程序的可读性;

答案: 正确

20、 C语言的辅助控制语句包括break,continue、return和goto语句;

答案: 正确

21、 C语言编程中,不提倡把多个语句写在一行中,提倡一行只写一条语句;

答案: 正确

22、 在C语言编程时,要养成修改代码同时修改相应注释的习惯,以保证注释与代码的一致性。

答案: 正确

23、 在C语言编程中,相对独立的程序块之间、变量说明之后加上空行可以增加程序的可读性。

答案: 正确

第五周:函数(1) 第五周单元测试

1、 下列关于C语言程序的结构化设计,说法错误的是( )

答案: 只有一个源文件,对函数大小没有限制

2、 定义函数void fun()函数,函数的返回值类型为()

答案: 函数无返回值

3、 下面关于函数描述正确的是()

答案: 函数的定义不可以嵌套,但是调用可以嵌套

4、 若定义函数时函数的返回类型缺省,则函数的默认数据类型为()

答案: int

5、 一个函数返回值的类型是由( )决定的

答案: 定义函数时指定的函数数据类型

6、 下面叙述中正确的是( )

答案: 对于用户自己定义的函数,在使用前必须加以说明

7、 函数的形参可以是()

答案: 局部自动变量

8、 有如下定义的函数:func(int a){    printf(“%d”,a);}则该函数的返回值类型是()

答案: int类型

9、 函数内部的局部静态变量,下列说法正确的是( )

答案: 在函数退出后不被释放,程序执行结束释放

10、 局部自动变量,下列说法正确的是()

答案: 进入函数分配内存,退出函数,释放内存

11、 下列说法不正确的是( )

答案: 全局静态变量和局部静态变量,作用域和寿命相同

12、 下面程序段运行的结果为()#include <stdio.h>int f();int f() {   static int i=0;    int s=1;       s+=i;    i++;    return s; } void main() {   int i,a=0;    for(i=0;i<5;i++)      a+=f();    printf(“%d”,a); }

答案: 15

13、 下面程序段运行的结果为( )#include <stdio.h>int try1( );int try1( ){    static int x=3;    x++;    return x;}void main(){    int i,x;    for(i=0; i<=2; i++)        x=try1( );    printf(“%d”, x);}

答案: 6

14、 下面程序的运算结果为( )#include <stdio.h>void fun();int main(){   int a=10;      fun();   printf(“%3d”,a);   return 0;}void fun(){   int a=20;   printf(“%3d”,a);}

答案:  20 10

15、 以下正确的函数形式是( )

答案: int fun(int x,int y){    double z;   z=x+y;   return z;}

16、 以下程序的输出结果是()#include <stdio.h>int i=10;int func();void main(){   int j=1;   j=func();   printf(“%3d”,j);   j=func();   printf(“%3d”,j);}int func(){   int k=0;      k=k+i;   i=i+10;   return k;}

答案:  10 20  

17、 函数内定义的局部变量可以在函数运行结束后继续被调用

答案: 错误

18、 变量根据其作用域的范围可以分作局部变量和全局变量

答案: 正确

19、 当变量的存储类型定义缺省时,系统默认为变量的存储类型为auto类型,分配在静态区

答案: 错误

20、 在一个函数内定义的静态局部变量不能被另外一个函数所调用

答案: 正确

21、 函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));中,含有的实参个数是5

答案: 错误

22、 变量被定义后,它的作用域和寿命就被确定了,并且不可改变。

答案: 正确

23、 在同一个作用域不可定义同名变量,在不同的作用域可以定义同名变量

答案: 正确

24、 函数内部的静态变量,在函数退出后不被释放

答案: 正确

25、 C语言中函数返回值的类型由return语句中的表达式的类型决定

答案: 错误

26、 C语言中一般全局变量与静态全局变量生存期不同

答案: 错误

27、 程序进行编译时,不为形式参数分配存储空间

答案: 正确

28、 编译器根据函数的原型来检查函数的调用正确与否

答案: 正确

第六周:函数(2) 第六周单元测验

1、 下列说法中正确的是()

答案: 函数原型是一条语句,不包括函数体

2、 在调用函数时,如果实参是整型变量,它与对应形参之间的数据传递方式是()

答案: 单向值传递 

3、 若定义函数float *fun( ),则函数fun的返回值为( )

答案: 一个指向变量的指针

4、 C程序中各函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是( )

答案: 同名的局部变量

5、 以下结论中只有( )是正确的

答案: 所有的递归程序均可以采用非递归算法实现

6、 main()函数的数据类型,可以是( )

答案: void

7、 下面程序段运行的结果为( )#include <stdio.h>int fun(float x,float y);int fun(float x,float y){   return x > y ? x : y;}void main(){   printf(“%d,%d”,fun(3,5),fun(4.8,4.6));}

答案: 5,4

8、 下面程序的运算结果为( )#include <stdio.h>int fun(int n);int fun(int n){   if(n == 1 || n == 2)     return 1;   return fun(n-1)+fun(n-2);}void main(){   printf(“%d”,fun(6));}

答案: 8

9、 以下程序运行结果是( )#include <stdio.h>void f(int a, int b);void f(int a, int b){   int t;   t = a;    a = b;    b = t;}void main(){   int x = 3, y = 2, z = 1;      if (x > y)     f(x, y);   if (y > z)     f(y, z);   if (x > y)     f(x, y);   printf(“%d, %d, %d”, x, y, z);}

答案: 3, 2, 1

10、 以下程序的输出结果是( )#include <stdio.h>int func(int s);void main( ){   int i,x=0;   for(i=0;i<4;i++)   {      x=func(i+1);      printf(“%3d”,x);   }  printf(“”);}int func(int s){    int x;    static int t=3;    x=s+t;    t++;    return x;}

答案:   4  6  8  10  

11、 以下程序的执行结果是()#include <stdio.h>int swap(int a,int b);void main(){   int a,b;       a=3,b=10;   swap(a,b);   printf(“a=%d,b=%d”,a,b);   }int swap(int a,int b){   int temp;      temp=a;   a=b;   b=temp;   return 0;}

答案: a=3,b=10 

12、 以下程序的执行结果是()#include <stdio.h>int sum(int k);void main(){   int s,i;   for(i=1;i<=10;i++)      s=sum(i);   printf(“s=%d”,s);}int sum(int k){   int x=0;      return (x+=k);      }

答案: s=10

13、 以下程序的执行结果是()#include <stdio.h>int func(int );void main(){    int a=1,i;        for(i=0;i<4;i++)    {         printf(“%3d”,func(a+i));    }}int func(int b){   static int i;   return   b+i;}

答案:   1  2  3  4  

14、 以下程序的执行结果是()#include <stdio.h>int multi(int x,int y);void main(){   int a,b,c;       a=10,b=12;   c=mult(a,b);   printf(“%d%d=%d”,a,b,c);}int multi(int x,int y){   return xy;}

答案: 1012=120

15、 以下程序的执行结果是()#include <stdio.h>int n;void func();void main(){   static int x=6;   int y;   y=n;   func();   printf(“x=%d,y=%d,n=%d”,x,y,n);}void func(){   static int x;   int y=10;   x=x+20;   n=n+2;   y=y+n;}

答案: x=6,y=0,n=2

16、 C语言中,函数调用时,形参与实参的个数可以不必保持一致

答案: 错误

17、 C语言函数间使用值传递数据时,对形参进行写操作,会影响主调函数里相关变量的值

答案: 错误

18、 C语言中,一个函数可以有多个返回值

答案: 错误

19、 C语言函数间使用传址方式传递数据时,对形参进行写操作,可以影响主调函数里相关变量的值

答案: 正确

20、 C语言中,使用全局变量可以使程序设计简单,移植性好

答案: 错误

21、 函数的递归调用是一个函数直接或间接地调用它自身

答案: 正确

第七周:数组(1) 第七周单元测验

1、 下列一维数组定义正确的是(   )

答案: int a[3];

2、 下列一维数组定义与初始化错误的是(    )

答案: int a[3] = 0;

3、 下列二维数组定义和初始化错误的是(    )

答案: int a[3][];

4、 在下列语句条件下,二维数组的定义和初始化错误的是(    )#define SIZE  9

答案: int a[][SIZE];

5、 假定int型变量在内存中占2个字节,那么二维数组int a[3][4]所占的字节数为 (    )

答案: 24

6、 若有说明:int a[][3]={{1,2,3},{4,5},{6,7}}; 则数组a的第一维的大小为 (    )

答案: 3

7、 下列关于数组概念的描述中,错误的是(    )

答案: 数组定义后,它的元素个数是可以改变的

8、 已知double dd[ ][3]={{1.2, 2.4, 3.6}, {4.8, 5.2},{6.4}}; dd[2][2]的值为(    )

答案: 0.0

9、 若有定义语句:int m[][3]={1,2,3,4,5,6,7};,则与该语句等价的是(   )

答案: int m[][3]={{1,2,3},{4,5,6},{7}};

10、 程序填空。程序功能:求矩阵的最小值,并记录最小值的行列号。#include <stdio.h>void main(){    int i, j, min;    int row=0,column=0;    int a[3][3]={{1,2,3},{2,-3,4},{9,4,7}};    min=a[0][0];    for(i=0;i<3;i++)    {        for(j=0;j<3;j++)        {            if(_____)            {                min=a[i][j];                row=i+1;                column=j+1;            }        }    }    printf(“min=%d,row=%d,column=%d”,min,row,column);}程序中空白处所填语句正确的为(    )

答案: min>a[i][j]

11、 若有定义语句int a[10]; 以下叙述中正确的是(   )

答案: a[0]是合法的数组元素,a[10]不是合法的数组元素

12、 下列有一行是错误的(每行程序前的数字表示行号),程序有错误的行数是(    )1  include <stdio.h>2  void main( )3  {4      int a[3] = {2*3};5      int i, sum=0;6      for( i=0; i<3; i++ )7      {8          scanf(“%d”, a[i]);9          sum += a[i];10     }11     printf( “%d”, sum );12  }

答案: 第8行有错误

13、 若有以下数组说明,则a[a[i]]元素数值是(    )。int a[12]={1,4,7,10,2,5,8,11,3,6,9,12}, int i=10;

答案: 6

14、 以下叙述中正确的是(    )

答案: 语句int a[8]={0};是合法的

15、 程序填空。程序功能:计算两个矩阵的乘积。#include <stdio.h>void main(){    int valueA[3][4]={{2,3,-5,0},{12,-1,2,8},{1,12,-2,1}};    int valueB[4][5]={{5,13,0,1,5},{-2,0,4,1,5},{5,3,2,1,0},{0,1,2,0,1}};        int valueC[3][5]={{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0}};    int i,j,k;    for(i=0; i<3; i++)        for(j=0; j<5; j++)            for(k=0; k<4;k++)                ______;    for(i=0;i<3;i++)    {        printf(“”);        for(j=0;j<5;j++)            printf(“%5d”,valueC[i][j]);    }}程序中空白处所填语句正确的为(    )

答案: valueC[i][j] += valueA[i][k] * valueB[k][j]

16、 一维数组在内存中的存储空间是连续的;二维数组在存储中的存储空间每一行是连续,不同行之间则不连续。

答案: 错误

17、 数组可以动态指定大小。

答案: 错误

18、 数组初始化时可以仅初始化部分元素的值。

答案: 正确

19、 数组所占的元素取决于数组的大小,如果数组大小为N,则在该数组所占内存大小为N个字节。

答案: 错误

20、 同一个数组可以存放不同数据类型的数值。

答案: 错误

21、 二维数组初始化语句”int a[2][2] = {{0},{2}};” 是正确的。

答案: 正确

,

第八周:数组(2) 第八周单元测验

1、 下列程序的输出结果为( )。#include<stdio.h>void main(){    int a[5] = {1, 3, 5};    int i, sum = 0;    for (i = 0; i < 5; i++)    {        sum += a[i];     }    printf (“sum = %d”, sum); }

答案: sum = 9 

2、 下列程序的输出结果为( )。#include<stdio.h>void main() {    int a[5] = {1,2,3,4,5};    int i,j,temp;    for (i = 0, j = 4; i < j; i++, j–)     {        temp = a[i]; a[i] = a[j]; a[j] = temp;    }    for (i = 0; i < 5; i++)        printf (“%d”, a[i]);}

答案: 54321 

3、 下列程序的输出结果为( )。#include <stdio.h>void main(){    int a[3][3] = {{1,2,3},{4,5,6},{7,8,9}};    int i, j, sum = 0;    for (i = 0; i < 3; i++)     {        sum += a[i][i];     }    printf (“sum = %d”, sum); }

答案: sum = 15 

4、 下列程序的输出结果为( )。#include <stdio.h>void main(){    int k=3, s[2]={0};    s[0]=k;     k=s[0]s[1]10;    printf (“%d”, k); }

答案: 0

5、 利用选择排序(边比较边交换)算法对一个大小为N的一维数组进行排序,外循环需要()次操作。

答案: N-1

6、 利用冒泡排序算法对一个大小为N的一维数组进行排序,在第M轮外循环中(M从1开始),内循环需要(   )次比较操作。

答案: N-M

7、 有下列一组数据,现利用选择排序(边比较边交换)算法对其进行从小到大排序,在排序的过程中需要(   )次交换。3 5 8 2

答案: 3

8、 有下列一组数据,现利用冒泡排序算法对其进行从大到小排序,在排序的过程中需要()次交换。3 5 8 2

答案: 3

9、 程序填空。程序功能:将一组整数从大到小排序。#include <stdio.h>#define N 5void main( ){    int i, j, temp, score[N] = {12,4,25,8,3};        for ( i=0 ;_____;i++)                    {         for (j=i+1; j<N; j++)          {            if(score[i] < score[j])                           {                                  temp  = score[i];                    score[i] = score[j];                     score[j] = temp;             }         }    }    for ( i=0;i<N;i++)         printf(“%d\t”, score[i]);}上面程序代码中空白处所填语句正确的为(    )

答案: i<N-1

10、 程序填空。程序功能:将一组整数从大到小排序。#include <stdio.h>#define N 5void main( ){    int i, j, temp, score[N] = {12,4,25,8,3};        for ( i=0 ;i<N-1;i++)                    {        for (j=i+1;____; j++)          {            if(score[i] < score[j])                           {                                  temp  = score[i];                    score[i] = score[j];                     score[j] = temp;            }        }    }    for ( i=0;i<N;i++)         printf(“%d\t”, score[i]);}上面程序代码中空白处所填语句正确的为(    )

答案: j<N

11、 下列程序的输出结果为( )。#include <stdio.h>void  main(){   int   i, j, min;   int   x = 0, y= 0;   int   a[3][3] = { {1, 2, 3}, {2, -3, 4},{7, 4, 7} };   min = a[0][0];     for (i = 0; i < 3; i++)     {        for (j = 0; j < 3; j++)        {            if (a[i][j] >= min)            {                min = a[i][j];                x = i+1;                y = j+1;               }        }    }    printf(“min=%d at (x,y):(%d,%d)”, min, x, y);}

答案: min=7 at (x,y):(3,3) 

12、 有下列一组数据(3 5 8 2),现利用选择排序(边比较边交换)算法对其进行从小到大排序,第二轮排序(i=1)结束之后数组中的值为()。

答案: 2 3 8 5

13、 有下列一组数据(3 5 8 2),现利用冒泡排序算法对其进行从小到大排序,第二轮排序(i=1)结束之后数组中的值为()。

答案: 3 2 5 8

14、 下列程序的输出结果为( )。#include <stdio.h>#define N 4void print(int a[], int n);void InsertSort(int a[], int n);void print(int a[], int n){    int j;    for(j=0; j<n; j++)    {        printf(“%d”,a[j]);    }    printf(“”);}void InsertSort(int a[], int n){    int i;    for(i= 1; i<n; i++)    {        if(a[i] < a[i-1])        {            int j= i-1;            int x = a[i];            while(j>-1 && x < a[j])            {                  a[j+1] = a[j];                j–;            }            a[j+1] = x;              }    }} int main(){    int a[N] = {3,1,7,5};    InsertSort(a,N);    print(a,N);    return 0;}

答案: 1357

15、 下列程序的输出结果为( )。#include <stdio.h>void main( ){     int a[] = {1, 2, 3, 4, 5}, i;    for(i=1; i<5; i++)    {        printf(“%d”, a[i]-a[i-1]);    }}

答案: 1111

第九周:指针(1) 第九周单元测验

1、 在“int  a = 3, p = &a ; ”语句中,p的值为(   )。

答案: 3

2、 下面关于指针的运算中,描述(   )是错误的。

答案: 两个指针在一定的条件下可以相加

3、 若有下面语句“int  i , a[5] ; int p ; p=a; ”,则(   )是对数组元素的错误表示。

答案: p+i

4、 将二维数组名作为主调函数传入的实参,则被调函数的形参可以是(   )。

答案: 一维数组指针   

5、 下面程序的运算结果为(   )。#include <stdio.h>void  swap(char px,char py);void  swap(char px,char py){    int t;    t=px;      px=py;      py=t;}void  main(  ){    char a=3,b=5;    swap(&a,&b);    printf(“%d,%d”,a, b);}

答案: 5,3

6、 下面程序的运算结果为(   )。#include <stdio.h>int fun(int n);int fun(int n){        static int  i,  a;    for(  i=0; i<n ; i++ )    {              a = a + i+1;    }        return &a;}void main( ){    int p;    p = fun(3);    printf(“%d”,p);}

答案: 6

7、 下面程序段运行的结果为(   )。#include <stdio.h>int  fun(int  px, int  py);int  fun(int  px, int  py){    return (px > py? px : py);}void  main( ){        int a=3,b=5;        printf(“%d-%d”,fun(&a,&b),fun(&b,&a));}

答案: 5-5   

8、 有以下C语言程序语句:   int a[10] = {1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;   b=p[5]; 运行后 b中的值是:(  )。

答案: 9

9、 有如下C语言程序段的输出结果为:(  )。   int arr[]={6,7,8,9};   int ptr;   ptr=arr;   (ptr+2)+=2;   Printf(“%d,%d”,ptr, (ptr+2));

答案: 6,10

10、 设已有定义:int a[10] = {15,12,7,31,47,20,16,28,13,19}, p;下列语句中正确的是:(  )。

答案: for(p=a; p<(a+10); p++){    printf(“%d\t”,p);}

11、 若有定义:int x[5], *p=x;,则不能代表x数组首地址的是:(  )。

答案: &x

12、 若有定义:int x[10], p=x;,则(p+5)表示:(  )。

答案:  数组元素x[5]的值

13、 下面程序的运行结果是: (     )。#include <stdio.h>void main( ){    int a[5]={1,2,3,4,5};    int p =a;    printf(“%d-%d”,p, *(p+4));}

答案: 1-5

14、 将数组名作为函数传入的实参,则形参接收到的是( )。

答案: 数组的首地址

15、 若定义函数float *fun( ),则函数fun的返回值为(   )。

答案: 一个指向变量的指针

16、 若main( )函数带参数,参数个数最多是(   )。

答案: 2

17、 以下程序运行结果是(   )。#include <stdio.h>void f(int a, int b);void f(int a, int b){   int t;   t = a;    a = b;    b = t;}void main( ){   int x = 3, y = 2, z = 1;      if (x > y)     f(&x, &y);   if (y > z)     f(&y, &z);   if (x > y)     f(&x, &y);   printf(“%d, %d, %d”, x, y, z);}

答案: 1, 2, 3

18、 以下程序的输出结果是(   )。#include <stdio.h>int func(int s);void main ( ){   int a[ ]={1,2,3,4},i,x=0;   for(i=0;i<4;i++)   {      x=func(a[i]);      printf(“%d-“,x);   }  printf(“”);}int func(int s){    int x;    static int t=3;    x=s+t;    t++;    return x;}

答案: 4-6-8-10-

19、 以下程序的执行结果是(   )。#include <stdio.h>void func(int b,int n);void main( ){    int a[ ]={5,6,7,8};        func(a,4);    for(i=0;i<4;i++)        printf(“%3d”,a[i]);}void func(int b,int n){   int i;       for(i=0;i<n;i++)      b[i]=2*i;}

答案: 0  2  4  6

20、 指针变量和C语言的其它变量不一样,它没有数据类型和存储类型;

答案: 错误

21、 指针常量和普通的整型常量一样,它是一个整型值;

答案: 错误

22、 在C语言编程中应该尽量使用数组,少使用指针;

答案: 错误

23、 变量的地址是指针常量;

答案: 正确

24、 空指针就是没有什么作用的指针;

答案: 错误

25、 C语言的指针可以进行关系运算;

答案: 正确

26、 C语言的指针可以进行任意算术运算;

答案: 错误

27、 2个C语言的指针不能进行加法运算,加法运算没有意义。

答案: 正确

28、 2个相同类型的C语言指针,如果它们指向同一片连续的存储空间,如数组,则他们各自可以进行自加或者自减运算;之间也可以进行减法运算;

答案: 正确

29、 在C语言的指针中,无论是变量还是常量,可以是一级也可以是多级的。

答案: 正确

30、 数组名作为函数调用时的实参,实际上传递给形参的是数组第一个元素的值。

答案: 错误

31、 调用函数时,如果实参是数组名,它与对应形参之间的数据传递方式是地址传递。

答案: 正确

32、 C程序的main函数可以有参数,但参数不能是指针类型。

答案: 错误

第十周:指针(2) 第十周测验题

1、 下面语句(   )是错误的。

答案: int a[10],  *p;    p = a++;

2、 对于语句”int  *p[5] ;”,下面的描述(   )是正确的

答案: p是一个具有5个元素的指针数组,每一个元素是一个 int 型指针

3、 如有下面语句”void  *fun(int) ;”声明的函数,则函数返回值是(   )

答案: 地址  

4、 关于指针型函数,哪种说法(   )是正确的。

答案: 函数的返回值是地址

5、 C语言程序中,如果指针变量做函数的形参,则当函数调用时(   )是正确的说法。

答案: 实参和形参都应该具有相同的数据类型

6、 关于函数指针变量,下面叙述中正确的是(   )。

答案: 定义的指针变量,用于存放函数的入口地址

7、 若函数的形参为一维数组指针,则下列说法中正确的是(   )。

答案: 调用函数时对应实参一般为对应的二维数组名

8、 关于指针变量的存储类型,下面哪种说法是正确的(   )。

答案: 其它选项的类型均有可能

9、 关于二级指针,以下说法正确的是(   )。

答案: 二级指针指向的目标对象是一级指针

10、 对于存储类型缺省的局部指针变量,则其存储类型为(   )。

答案: auto型

11、 在调用指针型函数时,如果被调函数的形参是指针变量,则主调和被调函数之间的的数据传递方式是:(   )。

答案: 地址值传递,返回值也是地址值

12、 下面程序的输出结果为(  )。#include <stdio.h>int main(){    int a[5][2] = {{0, 1}, {2, 3}, {4, 5}, {6, 7}, {8, 9} };    int p[5]={a[0],a[1],a[2],a[3],a[4]} ;         printf(“%d-“, (p+1));    printf(“%d”, (*p+1));         return 0;}

答案: 2-1 

13、 下面程序的输出结果为(  )#include <stdio.h>int main(){    int a[2][3] = {{1, 2, 3}, {4, 5, 6} };    int m, p[2] ={ a[1],a[0]};         printf(“%d-“, p[0][0]);    printf(“%d-“, ((p+1)));    printf(“%d”, (*p+1));         return 0;}

答案: 4-1-5

14、 下面程序运行的结果为(    ) #include <stdio.h> int  fun(int  px, int  py); int  fun(int  px, int  py){        return (px > py? px : py);}void  main( ){       int a=5,b=8;       int p1=fun(&a,&b),p2=fun(&b,&a);       printf(“%d-%d”, p1 , p2 );}

答案: 8-8

15、 如下程序的输出结果如下(    )#include <stdio.h>void main( ){    int a[5][2] = {{0, 1}, {2, 3}, {4, 5}, {6, 7}, {8, 9} };    int  p[]={a[0],a[1],a[2],a[3],a[4]};    int  pp[] ={p+4 , p+3 , p+2 , p+1 , p};    int  ppp = pp ;    printf(“%d—”, ++ppp);    printf(“—%d—”, pp[2]);    printf(“—%d”, ++ppp+1);}

答案: 6——4——3

16、 下面程序的输出结果为(  )。#include <stdio.h>int main(  ){    int a[2][3] = {{1, 2, 3}, {4, 5, 6} };    int m, (p)[3] = a+1;         printf(“%d-“, p[0][0]);    printf(“%d-“, ((p-1)));    printf(“%d”, (*p-1));         return 0;}

答案: 4-1-3

17、 下面程序的输出结果为(  )。#include <stdio.h>int main( ){    int a[5][2] = {{0, 1}, {2, 3}, {4, 5}, {6, 7}, {8, 9} };    int p = a[0];        int (p2)[2] = a;      ++p;        ++p2;         printf(“%d-“, p);    printf(“%d-“, *p2);    printf(“%d”, p2[1][1]);         return 0;} 

答案: 1-2-5

18、 int  *p, pa[5]; p = pa ; 

答案: 正确

19、 int  *p, (pa)[5], a[5][5];  p=pa=a ;

答案: 错误

20、 char  *str[5]; scanf(“%s”,str[0]);  

答案: 错误

21、 int  x, p =&x , a[5][5];p = a[0][0]; 

答案: 正确

22、 float  a[10];  int *p=a;  

答案: 错误

23、 char *p=”hust66″;  gets(p);

答案: 错误

24、 char str[]=”hust66″; printf(“%c”,*(str+2)); 

答案: 正确

25、 float  a=1, b=&a, *c=b;

答案: 错误

26、 float p,a[2][3];  p=a + 2; 

答案: 正确

27、 int *p,a[3][4]; p=a;  

答案: 错误

第十一周:字符串(1) 第十一周测验题

1、 下面程序的运行结果是:#include <stdio.h>void main( ){  char s=”hello”;  s++;  printf(“%d”,s);}

答案: 101

2、 若有语句char s1=”abcd”, s2=”abcd”;则下列描述不正确的是:

答案: s1与s2是完全相同的指针

3、 若有语句char string[20];则此数组存储字符串的最大长度是:

答案: 19

4、 下面程序的运行结果是:#include <stdio.h>void main( ){  char s[]=”ABCD”,*p;  for(p=s+1;p<s+4;p++)    printf(“%s”,p);}

答案: BCDCDD

5、 下述哪个库函数可以将字符串转换为整数:

答案: int atoi(char nPtr)

6、 下列能正确定义字符串的语句是: 

答案: char str[]=”\0″;

7、 下列字符数组长度为5的是: 

答案: char c[]={‘h’,’a’,’b’,’c’,’\0’};

8、 以下关于字符串的叙述中正确的是:

答案: 空串不是空格字符串

9、 定义了字符串char str[10] = “stronger”; 下面叙述正确的是: 

答案: 通过printf(“%s”,str);输出这个字符串

10、 下面程序的功能是:#include<stdio.h>void main(){   char ch[80]=”123abcdEFG*&”;  int j;  long s=0;  puts(ch);  for(j=0;ch[j]>’\0′;j++)  {    if(ch[j]>=’A’&&ch[j]<=’Z’)       ch[j]=ch[j]+’e’-‘E’;  }  puts(ch); }

答案: 将字符数组 ch 中的大写字母转换成小写

11、 已知 char x[]=”hello”, y[]={‘h’,’e’,’a’,’b’,’e’};  则关于两个数组长度的正确描述是: 

答案: x 大于 y

12、 下面各语句中,能正确进行字符串赋值操作的语句是:

答案: char *s=”ABCDE”;

13、 已知:char a[] = “program”;char p = a+1;则执行以下语句,不会输出字符a的是: 

答案: putchar(*p+4);

14、 已知:char s[20] = “programming”, ps = s; 则不能读取字符串中第3个字符的表达式是:

答案: ps+2

15、 已知:char c[8] = “beijing”, s = c; int i;则下面的输出语句中,错误的是:

答案: printf(“%s”, *s);

16、 已知:char s[100];int i=10;则在下列引用数组元素的语句中,错误的表示形式是:

答案: ((s++)+i)

17、 以下程序的运行结果是: #include <stdio.h>void abc(char p);void main()   {  char str[]=”morning”;  abc(str);  puts(str);}void abc(char p){  int i, j;  for(i=j=0; (p+i)!=’\0′; i++)  {    if((p+i)<‘n’)    {      (p+j)=(p+i);      j++;    }  }  *(p+j)=’\0′;}

答案: mig

18、 以下程序的运行结果是: #include <stdio.h>void main( ){  char p=”hello”, s = “world”;  p=p+2;  s++;   printf(“%s-%s”,p, s);}

答案: llo-orld

19、 字符串是由字符组成的,只能包含英文字母。

答案: 错误

20、 char string[5]可以用来存放”abcde”字符串。

答案: 错误

21、 在字符指针初始化时,可以直接用字符串常量作为初始值。

答案: 正确

22、 在初始化或程序中向指针赋予字符串,相当于把该字符串复制到指针指向的地址中。

答案: 错误

23、 使用C语言库函数的gets函数输入字符串时,字符串可以包含空格。

答案: 正确

第十二周:字符串(2) 第十二周测验题

1、 下面函数的功能是:int fun(char s,char t){   while( (s) && (t) && (t++ == s++) );  return(s-t); }

答案: 比较两个字符串的大小

2、 下面函数是输出两个字符串中对应字符相等的字符。请选择正确的选项进行填空: void fun(){  char x[]=”programming”;  char y[]=”Fortran”;  int i=0;  while(x[i]!=’\0′ && y[i]!=’\0′)  {    if(x[i]==y[i])      printf(“%c”,_);     else      i++;  } }

答案: x[i++]

3、 以下程序运行结果是: #include <stdio.h>void swap(char x, char y);void main(){  char s1[] = “abc”, s2[]=”123″;  swap(s1,s2);  printf(“%s,%s”,s1,s2);}void swap(char x, char y){  char t;  t = x;  x = y;  y = t;}

答案: 1bc,a23

4、 以下程序运行结果是:#include <stdio.h>        #include <string.h>        void main() {  char str[ ] = “ABCDEFG”;  char p1, p2;  p1 = “abcd”; p2 = “efgh”;  strcpy (str+1, p2+1);  strcpy (str+3, p1+3);  printf(“%s”, str);}

答案: Afgd

5、 定义compare(char s1, char s2)函数,以实现比较两个字符串大小的功能。以下程序运行结果为-32,选择正确答案填空:#include <stdio.h>int compare(char s1, char s2);void main(){  printf(“%d”, compare(“abCd”, “abc”));}int compare(char s1, char s2){  while(s1&&s2&&_____)  {    s1++;    s2++;  }  return s1-s2;}

答案: s1==s2

6、 下列可以实现两个字符串之间比较的库函数是:

答案: int strcmp(char s1 ,char s2)

7、 下面描述正确的是: 

答案: 字符串”That”小于字符串”The”

8、 判断字符串a和b是否相等,应使用:

答案: if(strcmp(a,b)==0)

9、 以下正确的叙述是:

答案: 当main函数带有形参时,传给形参的值只能从命令行中得到

10、 在一个C语言程序中,下面叙述正确的是:

答案: main函数可以有参数

11、 设有定义:char *cc[2]={“1234″,”5678”};则正确的叙述是:

答案: cc数组的两个元素中各自存放了字符串”1234″和”5678″的首地址

12、 设有定义: char p[]={“Shanghai”,”Beijing”,”Hongkong”}; 则结果为’j’字符的表达式是:

答案: *(p[1]+3)

13、 下面程序执行后的输出结果是:#include <stdio.h>        #include <string.h>        void main( ){   char arr[2][4];  strcpy(arr[0],”you”);  strcpy(arr[1],”me”);  arr[0][3]=’&’;  printf(“%s”,arr);}

答案: you&me

14、 下面程序的输出是: #include <stdio.h>#include <string.h>void main(){   char p1[10]=”abc”,*p2=”ABC”,str[50]=”abc”;   strcpy(str+2,strcat(p1,p2));  printf(“%s”,str);}

答案: ababcABC

15、 以下程序中,函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址。#include <stdio.h>#include <string.h>char scmp(char s1, char s2);void main( ){   int i;   char string[20],str[3][20];  for(i=0;i<3;i++)      gets(str[i]);  strcpy(string,scmp(str[0],str[1]));   strcpy(string,scmp(string,str[2]));  printf(“%s”,string);}char scmp(char s1, char s2){   if(strcmp(s1,s2)<0)    return(s1);  else     return(s2);}若运行时依次输入:abcd、abba和abc三个字符串,则输出结果为: 

答案: abba

16、 如下程序的输出结果如下(     )#include <stdio.h>void main( ){  char str[][20]={“china”,”hubei”,”wuhan”};  int i ;  for(i=0;i<3;i++)  {    printf(“%c-“, *(str[i]+i));  }}

答案: c-u-h-

17、 以下程序的运行结果是: #include <stdio.h>void main( ){  char str[][20]={“china”,”hubei”,”wuhan”};  int i ;  for(i=0;i<3;i++)  {    printf(“%s-“, str[i]+i);  }}

答案: china-ubei-han-

18、 以下程序的运行结果是: #include <stdio.h>char fun(char px,char py);void  main( ){  printf(“%s%s”,fun(“abc”,”abcd”),fun(“1234″,”123”));}char fun(char px,char py){  return (px > py? px : py);}

答案: abcd123

19、 strcat(strcpy(str1,str2),str3)的功能是:将串str2复制到串str1中后再将串str1连接到串str3之后。

答案: 错误

20、 char *ps[5]定义了一个包含5个字符指针的一维字符指针数组ps。

答案: 正确

21、 C语言中,带参数main函数的参数可以在程序内部取得实际值。

答案: 错误

22、 在C语言程序中,malloc等内存分配函数的使用次数一定要和free相等,并一一配对使用。

答案: 正确

23、 下面的语句能正确执行:  char  *str[5];  scanf(“%s”,str[0]);

答案: 错误

第十三周:结构与联合(1) 第十三周测验题

1、 当定义一个结构体变量时,系统为它分配的内存空间大小是(   )

答案: 结构中各成员所需内存容量之和

2、 定义以下结构体数组struct C{     int x;    int y;};struct C s[2]={1,3,2,7};语句printf(“%d”,s[0].x*s[1].x)的输出结果为(   )

答案: 2

3、 若有定义语句:struct a{    int a1;    int a2;};struct a a3;以下赋值语句正确的是(  )

答案: a3.a2=5;

4、 某结构型变量定义如下,对该结构型变量中成员的引用形式正确的是(  )struct abc{    int s;    char ch;};struct abc a1,p;p=&a1;

答案: p->ch

5、 若有以下说明语句struct date{     int year;    int month;    int day;};struct date birthday;则下面的叙述不正确的是(   )

答案: birthday是用户定义的结构体类型名 

6、 以下对结构变量stu1中成员age的非法引用是(   )struct student{    int age;    int num;};struct student stu1, p;p=&stu1;

答案: student.age

7、 设有定义struct{    char mark[12];     int num1;    double num2; }t1, t2; 若变量均已赋初值,则以下语句中错误的是(   )

答案: t2.mark = t1.mark;

8、 下面结构体的定义语句中,正确的是(   )

答案: struct ord{    int x;    int y;    int z;};struct ord a;

9、 下列描述正确的是(   ) 

答案: 结构体数组名为该结构体数组的存储首地址。

10、 以下scanf函数调用语句中对结构体变量成员的不正确引用是(  )struct pupil{    char name [20];    int age;    int sex;};struct puppil pup[5],*p;p=pup;

答案: scanf(“%d”, p->sex);

11、 以下正确的说法是  (   )

答案: 结构体类型变量可以初始化。 

12、 静态结构体类型变量在程序执行期间, (   ) 

答案: 所有成员一直驻留在内存中。 

13、 设有以下说明语句 struct stu {     int a;     float b; }stutype; 则下面不正确的叙述是 (   )

答案: stutype 是用户定义的结构体类型名。

14、 下列说法不正确的是 (   )

答案: 结构体的成员可以为任意结构体类型。

15、 下列描述说明正确的是 (   )

答案: 其它描述均不正确。

16、 下列描述说明正确的是 (   )

答案: 定义结构类型时,每个成员的数据类型可以不同。

17、 下列描述说明正确的是 (   )

答案: 结构类型定义时,结构类型本身并不占用存储空间,即系统并不给结构类型分配存储空间。

18、 下列描述说明正确的是 (   )

答案: 结构体成员项数据类型可以是结构体或其它C语言的数据类型。

19、 结构体中的成员项由其数据类型和成员名组成,每个成员项后用分号或逗号作为结束符。

答案: 错误

20、 结构变量的定义必须在该结构的定义之后。

答案: 正确

21、 结构数组也具有数组的属性,结构数组名是结构数组的存储首地址。

答案: 正确

22、 结构指针的增量运算,将跳过一个结构变量的成员项,指向结构变量中的下一个成员项。

答案: 错误

23、 用结构体变量作实参时,可在函数中对实参中的成员项进行修改。

答案: 错误

第十四周:结构与联合(2) 第十四周测验题

1、 运行下列程序段,输出结果是(  )struct country{    int num;    char name[10];};struct country x[5]={1,”China”,2,”USA”,3,”France’,4,”England”,5,”Spanish”};struct country p;p=x+2;printf(“%d, %c”, p->num,(p).name[2]);

答案: 3,a

2、 根据下面的定义,能输出Mary的语句是(   )struct person{    char name[9];    int age;};struct person class[5]={“John”,17,”Paul”,19,”Mary”,18,”Adam”,16};

答案: printf(“%s” ,class[2].name);

3、 运行下列程序,输出结果是(   )#include <stdio.h>struct country{    int num;    char name[20];};struct country x[5]={1,”China”,2,”USA”,3,”France”,4,”Englan”,5,”Spanish”};void main( ){    int i;    for(i=3;i<5;i++)        printf(“%d%c”,x[i].num, x[i].name[0]);}

答案: 4E5S

4、 有以下程序#include <stdio.h>struct STU{    char name[9];    char sex;    int score[2];};void f(struct STU a [ ]);void f(struct STU a[ ]){    struct STU b=(“Zhao”,’m’, 85,90);     a[1]=b;}void main( ){    struct STU c[2]={{“Qian”,’f’, 95, 92},{“Sun”,’m’,98, 99}};    f(c);    printf(“%s,%c,%d,%d,”,c[0].name, c[0].sex, c[0].score[0], c[0].score[1]);    printf(“%s,%c,%d,%d”, c[1].name, c[1]sex, c[1].score[0], c[1].score[1]);}程序运行后的输出结果是(   )。

答案: Qian, f, 95,92, Zhao, m, 85, 90

5、 有以下程序                                                    #include<stdio.h>#include<string.h>struct A{     int a;    char b[10];    double c;};void f(struct A t);void main(){     struct A a= {1001,”ZhangDa”,1098.0};    f(&a);    printf(“%d,%s,%6.1f”,a.a,a.b,a.c);}void f(struct A t){     t->a=1002;   strcpy(t->b,”ChangRong”);     t->c=1202.0;}程序运行后的输出结果是(   )

答案: 1002,ChangRong, 1202.0

6、 以下对结构体类型变量的定义中,不正确的是(   ) 

答案: struct{    int n;    float m;}tdl;

7、 执行下列程序的输出结果是(   )#include<stdio.h>struct st {     int x;     int y; } p; int dt[4]={10,20,30,40}; struct st aa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]}; void main( ) {     p=aa;     printf(“%d “,++p->x);     printf(“%d”,(++p)->x); } 

答案: 51 60

8、 字符’0’的 ASCII 的十进制数为 48,且数组的第 0 个元素在低位,则以下程序的输出 结果是(   )#include<stdio.h> void main() {    union     {         short i[2];         long k;         char c[4];     } r, *s=&r;     s->i[0]=0x39;     s->i[1]=0x38;     printf(“%c”, s->c[0]); } 

答案: 9 

9、 下列描述说明正确的是(   )

答案: 联合变量定义时,系统按照占用空间最大的成员项分配存储空间。 

10、 若有如下定义: union data {    short i;     char c;     float f; } ;union data b;则联合变量 b 占用内存的字节数是(    ) 

答案: 4

11、 如下定义的结构类型变量 a 所占内存字节数是(   ) union U {     char st[4];     short i;     long l; }; struct A {    short c;     union U u; } a; 

答案: 6

12、 假定整型变量中,数值的低位存储在低地址字节,高位存储在高地址字节,则以下程序的输出结果是(   ) #include<stdio.h> void main() {    union    {        short i[2];         long k;         char c[2];     } r, *s=&r;     s->k=0x12345678;     printf(“%x”, s->c[0]); } 

答案: 78 

13、 在以下位字段结构的定义中,不正确的是(   )

答案: struct test{    unsigned a:1;    unsigned b:2;        unsigned c:17;   }

14、 若有以下说明和定义:union dt{    int a;    char b;    double c;};union dt data;以下叙述中错误的是(   )。

答案: 程序段 data.a=5; printf(“%f”,data.c)输出结果为 5.000000

15、 已知学生记录描述为:struct student {    int no;    char name [20];    char sex;    struct{        int year;        int month;        int day;    }brith;};struct student s;设变量s中的“生日”应是“1984年11月11日”,下列对“生日”的正确赋值方式是(   )。

答案: s.brith.year=1984; s.brith.month=11; s.brith.day=11;

16、 若有以下定义和语句:union date{    int i;    char c;    float f;};union date a;int n;则以下语句正确的是(   )

答案: printf(“%d”, a.i); 

17、 有以下程序:#include<stdio.h>struct STU{     char  name[10];        int   num;        float TotalScore; };void f(struct STU p);void f(struct STU p){     struct STU s[2]={{“SunDan”,20044,550},{“Penghua”,20045,537}}, q=s;    ++p;    ++q;    p=*q;}void main(){     struct STU s[3]={ {“YangSan”,20041,703},{“LiSiGuo”,20042,580}};    f(s);    printf(“%s    %d    %3.0f”,s[1].name, s[1].num,s[1].TotalScore);}程序运行后的输出结果是(    )。

答案: Penghua    20045  537

18、 有以下程序:#include<stdio.h>#include<string.h>struct STU {    char   name[10];    int    num;};void f(char name, int num);void f(char name, int num){     struct STU s[2]={{“SunDan”,20044},{“Penghua”,20045}};    num=s[0].num;    strcpy(name,s[0].name);}void main(){     struct STU s[2]={{“YangSan”,20041},{“LiSiGao”,20042}},*p;    p=&s[1];     f(p->name,p->num);    printf(“%s    %d”,p->name,p->num);}程序运行后的输出结果是(   )。

答案: SunDan     20042

19、 有以下程序:#include<stdio.h>struct STU {     int  num;    float TotalScore;};void f(struct STU p);void f(struct STU p){    struct STU s[2]={{20044,550},{20045,537}};    p.num=s[1].num;        p.TotalScore=s[1].TotalScore;}void main(){     struct STU  s[2]= {{20041,703},{20042,580}};        f(s[0]);        printf(“%d    %3.0f”,s[0].num,s[0].TotalScore);}程序运行后的输出结果是(   )。

答案: 20041  703

20、 以下叙述正确的是(   )

答案: 位字段结构中位字段成员必须为整型类型。

21、 位字段结构体内不能定义不带名字的位字段。

答案: 错误

22、 位字段成员可以在数值表达式中引用,它会被系统自动的转换成整数型。

答案: 正确

23、 联合体的内存空间在某个时刻只能保持某个成员项的数据。

答案: 正确

24、 联合变量不可以向另一个相同类型的联合变量整体赋值。

答案: 错误

25、 一个位段可以跨存储单元存储。

答案: 错误

26、 联合类型变量中所有成员的起始存储地址都相同。

答案: 正确

第十五周:枚举、链表与文件(该章不作为考试内容) 第十五周测验题

1、 1.程序定义的节点结构体如下所示:struct LinkNode{    int data;    struct LinkNode next;};struct LinkNode p, s;设节点机构体s中的data已经初始化,且p为已经建立的单链表中的一个节点,将s所指节点插入到p所指节点之后,其语句应为(    )

答案: s->next=p->next;    p->next=s;

2、 关于枚举类型,说法不正确的是(   )

答案: 枚举元素的值可以改变。

3、 以下程序依次把从终端输入的字符存放到f文件中,用#作为结束输入的标志, #include <stdio.h>void main(){     FILE  *fp;   char  ch;   fp=fopen( “fname”, “w” );   while( ( ch=getchar()) !=′#′ ) fputc( ____ );   fclose(fp);}则在横线处应填入的选项是:( )

答案: ch,fp

4、 以下程序用来统计文件中字符的个数,空白处应填()。#include <stdio.h>void main(){      FILE *fp;       long num = 0;      fp = fopen(“fname.dat”,”r”);      while( ______ )      {            fgetc(fp);            num++;       }      printf(“num = %d”,num );      fclose(fp);  }

答案: feof(fp)

5、 读取二进制文件的函数调用形式为:      fread(buffer,size,count,fp);其中buffer代表的是(   )

答案: 一个内存块的首地址,代表读入数据存放的起始地址。

6、 以下程序的运行结果为(   )#include <stdio.h>void main(){    FILE *fp;   int  i, a[6]={1,2,3,4,5,6},k;   fp = fopen(“data.dat”, “w+”);   for (i=0; i<6; i++)   {          fseek(fp, 0L, 0);          fprintf(fp, “%d”, a[i]);   }   rewind(fp);   fscanf(fp, “%d”, &k);   fclose(fp);   printf(“%d”, k);}

答案: 6

7、 #include <stdio.h>#define  F(x)        2.84+x#define  PR(a)       printf(“%d” ,(int)(a))#define  PRINT(a)  PR(a);putchar(′′)void main(){   PRINT( F(5)*2 );}程序运行后的输出结果为:(  )

答案: 12

8、 程序定义的结构体和变量如下:struct st{    int  n;   float  t; };struct st a[20];FILE  *fp;若文件已正确打开,则以下将文件内容读入数组a中的语句错误的是(  )

答案: for(i=0; i<20; i++)    fread(a[i],sizeof(struct st),1L,fp);

9、 设文件指针fp已定义,执行语句fp=fopen(“file”,”w”);后,以下针对文本文件file操作叙述的选项中正确的是(  )

答案: 只能写不能读。

10、 以下叙述中错误的是(  ):

答案: getchar函数用于从磁盘文件读入字符。

11、 C语言中只有”顺序存取”一种文件存取方式。

答案: 错误

12、 已定义枚举元素的值不可以改变。

答案: 正确

13、 类型定义语句只能是对基本数据类型定义新类型名。

答案: 错误

14、 typedef语句和#define命令一样,都是在编译预处理阶段进行处理的。

答案: 错误

15、 文件指针是程序中用FILE定义的指针变量。

答案: 正确


不知道怎么购买?点此查看购买教程!


点关注,不迷路,微信扫一扫下方二维码

关注我们的公众号:阿布查查  随时查看答案,网课轻松过


为了方便下次阅读,建议在浏览器添加书签收藏本网页

电脑浏览器添加/查看书签方法

1.按键盘的ctrl键+D键,收藏本页面

2.下次如何查看收藏的网页?

点击浏览器右上角-【工具】或者【收藏夹】查看收藏的网页


手机浏览器添加/查看书签方法

一、百度APP添加/查看书签方法

1.点击底部五角星收藏本网页

2.下次如何查看收藏的网页?

点击右上角【┇】-再点击【收藏中心】查看

二、其他手机浏览器添加/查看书签方法

1.点击【设置】-【添加书签】收藏本网页

2.下次如何查看收藏的网页?

点击【设置】-【书签/历史】查看收藏的网页

阿布查查 » C语言程序设计(华中科技大学) 中国大学mooc慕课答案2024版 m308498
+
账户
更新
搜索
帮助
主页