知到智慧树 全国计算机等级考试二级C语言(山东联盟) 答案满分完整版章节测试

冻安肖未感绷萝擎钳到翱钝跋



 

绪论 单元测试

1、

 十进制的10对应的二进制表示是以下哪个选项?

A: 1000
B: 1010
C: 0010
D: 10
答案:  1010

2、

 二进制数1000对应的十进制数是多少?

A: 1
B: 10
C: 1000
D: 8
答案:  8

3、

 计算机中数据存储的最小单位是什么?

A: 字节
B: 位
C: 地址
答案:  位

4、

 计算机中数据存储的基本单位是什么?

A: 位
B: 字节
C: 地址
答案:  字节

5、

 计算机的存储空间中一个字节是由多少个连续的位组成?

A: 4
B: 8
C: 10
D: 1
答案:  8

第一章 单元测试

1、

C语言主要是借助以下哪种手段来实现程序模块化(  )

A:使用三种基本结构语句
B:定义函数
C:使用丰富的数据类型
D:定义常量和外部变量
答案: 定义函数

2、

以下叙述错误的是(  )

A:在一个任务中,单独编写的每个模块均可以独立运行
B:采用模块化结构,可以提高程序编制的效率
C:程序”模块化”有利于任务的分解
D:允许对函数单独进行编译,是C语言实现”模块化”的基础
答案: 在一个任务中,单独编写的每个模块均可以独立运行

3、

以下叙述中错误的是(   )

A:C程序在运行过程中所有计算都以二进制方式进行
B:计算机不能直接执行C语言程序
C:C程序在运行过程中所有计算都以十进制方式进行
D:所有C程序都需要编译链接无误后才能运行 
答案: C程序在运行过程中所有计算都以十进制方式进行

4、

流程图是描述算法的很好的工具,一般的流程图中由几种基本图形组成,其中条件判断的图形是(   )

A:菱形
B:椭圆型
C:平行四边形
D:长方形 
答案: 菱形

5、

以下叙述中正确的是()。

A:计算机能直接运行未经编译的C语言程序
B:计算机能够直接处理不超过20行源码的简单C语言程序
C:复杂算法不能使用N-S流程图来描述
D:循环结构、选择结构、顺序结构是结构化程序的三种基本结构
答案: 循环结构、选择结构、顺序结构是结构化程序的三种基本结构

第二章 单元测试

1、

对于一个正常运行的C程序,以下叙述中正确的是(  )

A:程序的执行总是从程序的第一个函数开始, 在main函数结束
B:程序的执行总是从main函数开始
C:程序的执行总是从main函数开始,在程序的最后一个函数中结束
D:程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束
答案: 程序的执行总是从main函数开始

2、

以下叙述中正确的是(  )

A:C语言程序将从源程序中第一个函数开始执行
B:C语言规定必须用main作为主函数名,程序将从此开始执行
C:可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
D:main的各种大小写拼写形式都可以作为主函数名,如:MAIN,Main等
答案: C语言规定必须用main作为主函数名,程序将从此开始执行

3、

C语言源程序名的后缀是(  )

A:obj
B:.cp
C:exe
D:.C
答案: .C

4、

以下关于注释的叙述中错误的是()。

A:注释的边界符号“/和“/”必须成对出现且可以嵌套
B:C语言允许注释出现在程序中任意合适的地方
C:注释的边界符号“/”和“之间不允许加入空格
D:注释的内容仅用于阅读,对程序的运行不起作用
答案: 注释的边界符号“/
”和“*/”必须成对出现且可以嵌套 

5、

关于程序中的注释,以下叙述正确的是()。

A:/ 和 /多行注释中间不可以嵌套另一个注释

B: 注释的内容必须放在一对/ 和 /之间

C:注释内容错误会导致编译出错
D:注释必须置于所说明的语句前或语句后

答案: / 和 /多行注释中间不可以嵌套另一个注释

第三章 单元测试

1、

若有定义语句:char  c=’A’;   则变量c在内存中占(    )

A:4个字节
B:3个字节
C:1个字节
D:2个字节
答案: 1个字节

2、

以下选项中,合法的C语言实数是(   )

A:E13
B:3.1e0.4
C: .2e0

D:7.12E
答案:  .2e0

3、

以下选项中合法的标识符是(   )

A:1_ _
B:_11
C:1_1
D:1-1
答案: _11

4、

以下选项中叙述正确的是(   )

A:C语言的标识符可分为关键字、预定义标识符和用户标识符三类
B:C语言的标识符可分为语句、变量和关键字三类
C:C语言的标识符可分为运算符、用户标识符和关键字三类
D:C语言的标识符可分为函数名、变量和预定义标识符三类
答案: C语言的标识符可分为关键字、预定义标识符和用户标识符三类

5、

C语言程序中,运算对象必须是整型数的运算符是(   )

A:*
B:&&
C:%
D: /

答案: %

6、

若有定义语句:int a=12;,则执行语句:a+= a-= a*a;后,a的值是(   )

A:264
B:-264
C:144
D:552
答案: -264

7、

有以下程序
#include <stdio.h>
int main()
{
   int  x=010,  y=10;   
   printf(“%d,%d”, ++x, y–);

return0;

}

程序运行后的输出结果是(   )

A:010,9
B:9,10
C:10,9
D:11,10
答案: 9,10

8、

有以下程序
#include <stdio.h>
main()

  int  a;   
  a = (int)(-1.53*3);   
  printf(“%d”, a);
}
程序的运行结果是(  )

A:-3
B:结果不确定
C:-4 
D:-5
答案: -4 

9、

若有定义:int a=3;double b=0.1263;  char ch=’a’;,则以下选项中,叙述有错的是(   )。

A:复合运算:a*=b+ch是将变量b、ch之和与a相乘,结果再给a赋值
B:逗号表达式的计算结果是最后一个逗号之后的表达式的运算结果
C:语句ch=(unsigned int) a+b;是对a与b之和进行强制类型转换,结果赋值给变量ch
D:运算符%只能对整数类型的变量进行运算
答案: 语句ch=(unsigned int) a+b;是对a与b之和进行强制类型转换,结果赋值给变量ch

10、

以下选项中,合法的数值型常量是(   )

A:0xDH
B:”A”
C:092
D:3.1415
答案: 3.1415

第四章 单元测试

1、

若变量已正确定义并赋值,以下不能构成C语句的选项是(    )

A:A?a:b;
B:B++;
C:a=a+b
D:A=a+b;
答案: a=a+b

2、

若想给已定义为int型的变量a,b,c,d赋值为1,以下选项中错误的语句是(   )。

A:a=1, b=a, c=b, d=c;
B:d=1, c=d, b=c, a=b;
C:a=b, b=c, c=d, d=1;
D:a=b=c=d=1;
答案: a=b, b=c, c=d, d=1;

3、

有以下程序    
#include <stdio.h>    
main()    
{ int a=0,b=0;    
/ 给a赋值  a=10;
 b=20; 给b赋值 
/    
printf(“a+b=%d”,a+b); / 输出计算结果 /    
}
程序运行后的输出结果是(   )

A:a+b=10
B:出错
C:a+b=0
D:a+b=30
答案: a+b=0

4、

有以下程序    
#include <stdio.h>    
main()    
{
  char  c1=’A’, c2=’Y’;   
  printf( “%d, %d”, c1,c2 );
}
程序的输出结果是(   )

A:输出格式不合法,输出出错信息
B:65,89
C:A,Y
D:65,90
答案: 65,89

5、

设有定义:
int n = 1234;  
double x = 3.1411;
则语句 
printf(“%3d,%1.3f”, n, x); 
的输出结果是(    )

A:1234,3.142
B:1234,3.141
C:123,3.142
D:123,3.141
答案: 1234,3.141

6、

有如下程序
#include <stdio.h>
main()
{
    int x = 0x13;    
    printf(“%d”, x+1);
}
程序运行后的输出结果是(   )

A:12
B:14
C:20
D:13
答案: 20

7、

若有定义    
int a;    
float b;    
double c;
程序运行时输入:    
3  4  5<回车>
能把值3输入给变量a、4输入给变量b、5输入给变量c的语句是(   )

A:scanf(“%lf%lf%lf”, &a,&b,&c);
B:scanf(“%d%f%lf”, &a,&b,&c);
C:scanf(“%d%f%f”, &a,&b,&c);
D:scanf(“%d%lf%lf”, &a,&b,&c);
答案: scanf(“%d%f%lf”, &a,&b,&c);

8、

以下叙述中正确的是(   )

A:在printf函数中,各个输出项只能是变量
B:在使用scanf函数输入整数或实数时,输入数据之间只能用空格来分隔
C:使用printf函数无法输出百分号%
D:在scanf函数中的格式控制字符串是为了输入数据用的,不会输出到屏幕上
答案: 在scanf函数中的格式控制字符串是为了输入数据用的,不会输出到屏幕上

9、

若有定义:char c;int d; ,程序运行时输入: 1,2 <回车>,能把值1输入给变量c、值2输入给变量d的输入语句是(   )

A:scanf(“%d,%f”, &c,&d);
B:scanf(“%c,%d”, &c,&d);
C:scanf(“%d%d”, &c,&d);
D:scanf(“%c%d”, &c,&d);
答案: scanf(“%c,%d”, &c,&d);

10、

 以下能正确输出字符a 的语句是( )

A:printf(“%d”, ‘a’);
B:printf(“%c”, “a”);
C:printf(“%s”, “a”);
D:printf(“%s”, ‘a’);
答案: printf(“%s”, “a”);

第五章 单元测试

1、

表示关系式x≤y≤z的C语言表达式的是(    )

A:(x<=y)||(y<=z)
B:(x<=y<=z)
C:(x<=y)&&(y<=z)
D:(x<=y)!(y<=z)
答案: (x<=y)&&(y<=z)

2、

已知a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a>b)&&(n=c<d)后n的值为(   )

A:-1
B:0
C:1
D:2
答案: 2

3、

以下叙述中正确的是(    )

A:逻辑”非”(即运算符!)的运算级别是最低的
B:由&&构成的逻辑表达式与由||构成的逻辑表达式都有”短路”现象
C:C语言的关系表达式:0<x<10完全等价于: (0<x) && (x<10)
D:逻辑”或”(即运算符||)的运算级别比算术运算要高
答案: 由&&构成的逻辑表达式与由||构成的逻辑表达式都有”短路”现象

4、

有以下程序
#include <stdio.h>
main()
{  
  int  a=0,b=0,c=0,d=0;   
  (++a || ++b) ? ++c : ++d;   
  printf(“%d,%d,%d,%d”, a,b,c,d);
}
程序的运行结果是(   )

A:1,0,1,0
B:1,1,1,0
C:1,0,0,1 
D:1,1,0,1 
答案: 1,0,1,0

5、

以下程序段中,不能实现条件”如果a<b则x=10,否则x=-10″的是( )

A:if(a<b) x=10;
if(b<a) x=-10;
B:x=(a>=b)? -10:10;
C:x=-10;
if(a<b) x=10;
D:if(a<b) x=10;
else x=-10;
答案: if(a<b) x=10;
if(b<a) x=-10;

6、

有以下程序段        
scanf(“%d%d%d”,&a,&b,&c);        
if(a>b) a=b;        
if(a>c) a=c;        
printf(“%d”,a);    
该程序段的功能是( )

A:输出a、b、c中值相等的数值
B:输出a、b、c中的最大值
C:输出a、b、c中的最小值
D:输出a的原始值
答案: 输出a、b、c中的最小值

7、

有如下程序
#include <stdio.h>
main() 
{
    int a = 0, b = 1;    
    if (++a == b++)         
       printf(“T”);    
    else        
       printf(“F”);    
    printf(“a=%d,b=%d”, a, b);    
    printf(“”);
}
程序运行后的输出结果是(  )

A:Fa=0,b=2
B:Ta=1,b=2
C:Ta=0,b=1 
D:Fa=1,b=2 
答案: Ta=1,b=2

8、

下列条件语句中,输出结果与其他语句不同的是( )

A: if ( a )  printf(“%d”, x);      else  printf(“%d”, y);
B:if ( a==0 )  printf(“%d”, y);   else  printf(“%d”, x);
C: if ( a!=0 )  printf(“%d”, x);    else  printf(“%d”, y);
D:if ( a==0 )  printf(“%d”, x);   else  printf(“%d”, y);
答案: if ( a==0 )  printf(“%d”, x);   else  printf(“%d”, y);

9、

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

A:a=2,b=2
B:a=2,b=1
C:a=1,b=1
D:a=1,b=0
答案: a=2,b=1

10、

若以下选项中的变量a, b, y均已正确定义并赋值,则语法正确的switch语句是()

A:switch (a+9)
{  case  a : y=a-b;
   case  b : y=a+b;}
B:switch( a+b )
 {  case1 : 

    case3 : y=a+b; break;
    case0 :

    case4 : y=a-b;}

C:switch( aa+bb )
 {  default : break;
 case  3 :  y=a+b;  break;
case  2 :  y=a-b;  break;
}
D:switch  ab
{  case  10 : y=a+b;
    default  : y=a-b;
}

答案: switch( a
a+b*b )
 {  default : break;
 case  3 :  y=a+b;  break;
case  2 :  y=a-b;  break;
}

第六章 单元测试

1、

有以下程序    
#include <stdio.h>    
main()    
{ int  i, sum;       
  for( i=1; i<6;  i++ )  
   sum+=i;       
  printf(“%d”, sum);    
}
程序运行后的输出结果是(  )

A:随机值
B:15
C:16
D:0
答案: 随机值

2、

有以下程序
  #include  <stdio.h>
    main( )
    {    int a=-2, b=2;
        for(; ++a && –b;)
            printf(“%d,%d,”, a,b);
    }
   程序执行后的输出结果是()。

A:-1,1,
B:0,1,
C:-1,1,0,0,
D:-1,1,0,1,
答案: -1,1,

3、

要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是(  )

A:while(ch=getchar() =’N’) printf(“%c “,ch); 
B:while(ch=getchar()==’N’) printf(“%c “,ch);
C:while((ch=getchar())!=’N’) printf(“%c “,ch);
D:while((ch=getchar())==’N’) printf(“%c “,ch);
答案: while((ch=getchar())!=’N’) printf(“%c “,ch);

4、

有以下程序    
#include <stdio.h>    
main()    
{  
  int  a = -2, b = 0;       
  while (a++ && ++b) ;       
  printf(“%d,%d”,  a, b );    
}
程序运行后输出结果是( )

A:0,2
B:1,2
C:0,3
D:1,3
答案: 1,2

5、

以下叙述正确的是(  )

A:while-do语句构成的循环,当while语句中的表达式值为非0时结束循环
B:do-while语句和while-do构成的循环功能相同
C:do-while语句构成的循环,当while语句中的表达式值为0时结束循环
D:do-while语句构成的循环,必须用break语句退出循环
答案: do-while语句构成的循环,当while语句中的表达式值为0时结束循环

6、

有以下程序
#include <stdio.h>
main()
{  char c;   
   do {        
       c=getchar();        
       putchar(c);      
      }while(c != ‘#’);   
   printf(“”);
}
执行时如输入:abcdefg##<回车> , 则输出结果是(  )

A:abcdefg#
B:abcdefg
C:abcdefg##
D:##
答案: abcdefg#

7、

以下叙述中正确的是(  )

A:continue语句的作用是:使程序的执行流程跳出包含它的所有循环
B:break语句只能用在循环体内和switch语句体内
C:break语句只能用于switch语句体中
D:在循环体内使用break语句和continue语句的作用相同
答案: break语句只能用在循环体内和switch语句体内

8、

有以下程序
#include <stdio.h>
main()
{  
  int  a=1, b=0;   
  for(;a<5; a++)   
  {  if (a%2==0)  break;      
     b += a;   
  }   
  printf(“%d “, b);
}
程序的运行结果是(  )

A:1
B:0 
C:4
D:10 
答案: 1

9、

有如下程序
#include <stdio.h>
main( ) 
{
    int  i, data;    
    scanf(“%d”, &data);    
    for (i=0; i<5; i++)    
    {
     if (i < data) continue;        
      printf(“%d-“, i);    
    }
}
程序运行时,从键盘输入:3<回车>后,程序输出结果为(  )

A:1-2-3-
B:3-4-
C:0-1-2-3-
D:0-1-2-
答案: 3-4-

10、

若有以下程序    
#include <stdio.h>    
main()    
{  int  s=0, n;       
   for (n=0; n<4; n++)         
   {  switch(n)           
      {  default: s+=4;             
         case 1: s+=1;  break;             
         case 2: s+=2;  break;             
         case 3: s+=3;           
      }       
  }       
  printf(“%d”, s);     
}
则程序的输出结果是(  )

A:10
B:11
C:13
D:15
答案: 11


上方为免费预览版答案,如需购买完整答案,请点击下方红字

点击这里,购买完整版答案


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

添加书签方法:

1.电脑按键盘的Ctrl键+D键即可收藏本网页

2.手机浏览器可以添加书签收藏本网页

知到智慧树 全国计算机等级考试二级C语言(山东联盟)  答案满分完整版章节测试第1张

知到智慧树 全国计算机等级考试二级C语言(山东联盟)  答案满分完整版章节测试第2张


我们的公众号

打开手机微信,扫一扫下方二维码,关注微信公众号:萌面人APP

本公众号可查看各种网课答案,还可免费查看大学教材答案

点击这里,可查看公众号功能介绍

知到智慧树 全国计算机等级考试二级C语言(山东联盟)  答案满分完整版章节测试第3张


 

锹呐派冒绒凸匿港粉巾长肉策

搜索
登录
订单
帮助