绪论 单元测试

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( a*a+b*b )
{  default : break;
case  3 :  y=a+b;  break;
case  2 :  y=a-b;  break;
}

D:switch  a*b
{  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、单选题:

有以下程序
#include <stdio.h>
main()
{ int  i, t[][3]={9,8,7,6,5,4,3,2,1};
for(i=0;i<3;i++)
printf(“%d “,t[2-i][i]);
}
程序执行后的输出结果是( )。
A:7 5 3
B:7 5 1
C:3 6 9
D:3 5 7
正确答案:【3 5 7】

2、单选题:

以下错误的定义语句是( )。
A:int x[][3]={1,2,3,4};
B:int x[4][]= {{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
C:int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
D:int x[][3]={{0},{1},{1,2,3}};
正确答案:【int x[4][]= {{1,2,3},{1,2,3},{1,2,3},{1,2,3}};】

3、单选题:

以下叙述中正确的是( )。
A:函数调用strlen(s);会返回字符串s实际占用内存的大小(以字节为单位)
B:C语言本身没有提供对字符串进行整体操作的运算符
C:当拼接两个字符串时,结果字符串占用的内存空间是两个原串占用空间的和
D:两个字符串可以用关系运算符进行大小比较
正确答案:【C语言本身没有提供对字符串进行整体操作的运算符】

4、单选题:

以下叙述中正确的是( )。
A:字符串常量”str1″的类型是:字符串数据类型
B:字符数组的每个元素可存放一个字符,并且最后一个元素必须是字符
C:下面的语句用赋初值方式来定义字符串,其中’  ‘是必须的char str1[] = {‘s’, ‘t’, ‘r’, ‘1’, };
D:有定义语句: char str1[] = “str1”; ,数组str1将包含4个元素
正确答案:【下面的语句用赋初值方式来定义字符串,其中’  ‘是必须的char str1[] = {‘s’, ‘t’, ‘r’, ‘1’, };】

5、单选题:

以下叙述中正确的是( )。
A:语句 char a[2] = {“A”, “B”}; 是合法的,定义了一个包含两个字符的数组
B:语句int a[8] = {0}; 是合法的
C:语句 char a[3]; a = “AB”; 是合法的,因为数组有三个字符空间的容量,可以保存两个字符
D:语句 int a[] = {0};是不合法的,遗漏了数组的大小
正确答案:【语句int a[8] = {0}; 是合法的】

6、单选题:

以下叙述中正确的是( )。
A:对于一维字符数组,不能使用字符串常量来赋初值
B:对于字符串常量 “string!”,系统已自动在最后加入了’’字符,表示串结尾
C:在语句char str[] = “string!”;中,数组str的大小等于字符串的长度
D:语句 char str[10] = “string!”; 和 char str[10] = {“string!”}; 并不等价
正确答案:【对于字符串常量 “string!”,系统已自动在最后加入了’’字符,表示串结尾】

7、单选题:

以下选项中,没有编译错误的是( )。
A:char  str1[5] = “pass”, str2[6];  str2 = str1;
B:char  str3[] = {‘d’, ‘e’, ‘b’, ‘u’, ‘g’, ”};
C:char  name[10];  name = “china”;
D:char  str4[];  str4 = “hello world”;
正确答案:【char  str3[] = {‘d’, ‘e’, ‘b’, ‘u’, ‘g’, ”};】

8、单选题:

有以下程序
#include <stdio.h>
#include <string.h>
main()
{
char  s[]=”Beijing”;
printf(“%d”, strlen(strcpy( s,”China”) ));
}
程序运行后的输出结果是( )。
A:12
B:7
C:5
D:14
正确答案:【5】

9、单选题:

有以下程序
#include <stdio.h>
main()
{
char  b[4][10];  int  i;
for (i=0; i<4; i++)
scanf(“%s”, b[i]);
printf(“%s%s%s%s”, b[0],b[1],b[2],b[3]);
}
执行时若输入: Fig  flower  is  red. <回车>
则输出结果是( )。
A:Figfloweris  red.
B:Figflower  is  red.
C:Fig  flower  is  red.
D:Figflowerisred.
正确答案:【Figflowerisred.】

10、单选题:

以下叙述中正确的是( )。
A:在逻辑上,可以把二维数组看成是一个具有行和列的表格或矩阵
B:语句 int a[4][3] = {1,2,4,5}; 是错误的初始化形式
C:语句 int a[4][3] = {{1,2}, {4,5}}; 是错误的初始化形式
D:语句 int a[][3] = {1,2,4,5}; 是错误的初始化形式
正确答案:【在逻辑上,可以把二维数组看成是一个具有行和列的表格或矩阵】

第八章 单元测试

1、单选题:

以下关于函数的叙述中正确的是(  )。
A:函数形参的类型与返回值的类型无关
B:函数必须要有返回值
C:函数调用必须传递实参
D:函数必须要有形参
正确答案:【函数形参的类型与返回值的类型无关】

2、单选题:

关于C语言函数声明的位置,以下叙述正确的是(  )。
A:函数声明可以出现在源程序的任意位置,在程序的所有位置对该函数的调用,编译时都不会出现错误信息
B:函数声明只是为了美观和编译时检查参数类型是否一致,可以写也可以不写
C:在函数声明之后对该函数进行调用,编译时不会出现错误信息
D:函数声明只能出现在源程序的开头位置,否则编译时会出现错误信息
正确答案:【在函数声明之后对该函数进行调用,编译时不会出现错误信息】

3、单选题:

有以下程序
#include <stdio.h>
int fun( int  a, intB)
{  return  a+b;  }
main()
{  int  x=6, y=7, z=8, r ;
r = fun ( fun(x,y), z– );
printf (” %d” , r );
}
程序运行后的输出结果是(  )。
A:21
B:20
C:15
D:31
正确答案:【21】

4、单选题:

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

B:3 4 5 6

C:5 6 1 2

D:1 2 5 6

正确答案:【5 6 3 4

5、单选题:

剩余章节答案支付后查看
如有疑问请及时联系QQ 50895809反馈
如遇卡顿看不了剩余内容请换个浏览器即可打开

没找到的科目也可以提醒我们更新

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注