第一章 单元测试

1、单选题:

人类通过不同的语言进行交流,人与计算机的交流是通过()来实现的。

A:自然语言
B:文字
C:机械操作
D:程序设计语言
正确答案:【程序设计语言】

2、单选题:

高级语言处于程序设计语言发展的第()个阶段 。

A:四
B:三
C:二
D:一
正确答案:【三】

3、单选题:

C语言的创始人是()。

A:肯·汤普逊
B:冯·诺依曼
C:丹尼斯·里奇
D:比尔·盖茨
正确答案:【丹尼斯·里奇】

4、单选题:

C语言源程序中main函数()。

A:有且只能有一个
B:可有可无
C:可有多个
D:可以有一个
正确答案:【有且只能有一个】

5、单选题:

C语言源程序文件扩展名为()。

A:c
B:obj
C:exe
D:cpp
正确答案:【c】

6、单选题:下列说法中不正确的是(  )。

A:C程序书写时,区分大小写字母
B:C程序书写时,一个语句可分成几行书写
C:C程序书写时每行必须有行号
D:C程序书写时,一行可以写多个语句
正确答案:【C程序书写时每行必须有行号】

7、判断题:

C语言是结构化语言。

A:错
B:对
正确答案:【对】

8、判断题:C语言是面向对象语言。
A:对
B:错
正确答案:【错】

9、判断题:

C语言是面向过程语言。

A:对
B:错
正确答案:【对】

10、判断题:

开发C语言程序包括编辑源程序、编译、运行三个步骤。

A:对
B:错
正确答案:【错】

第二章 单元测试

1、单选题:

表达式:(int)((double)9/2)-9%2 的值是_____

A:3
B:0
C:4
D:5
正确答案:【3】

2、单选题:

以下选项中关于 C 语言常量的叙述错误的是_______

A:经常被使用的变量可以定义成常量

B:常量分为整型常量、实型常量、字符常量和字符串常量

C:常量可分为数值型常量和非数值型常量

D:所谓常量,是指在程序运行过程中,其值不能被改变的量

正确答案:【经常被使用的变量可以定义成常量

3、单选题:

以下选项中,能用作用户标识符的是________

A:_0_

B:unsigned

C:void

D:8_8

正确答案:【_0_

4、单选题:

以下选项中能表示合法常量的是______

A:3lf

B:‘ ’

C:1, 200

D:1.5E2.0

正确答案:【‘ ’

5、单选题:

按照 C 语言规定的用户标识符命名规则,不能出现在标识符中的是___________

A:大写字母

B:数字字符

C:下划线

D:连接符

正确答案:【连接符

6、单选题:

以下选项中正确的定义语句是__________

A:double a=7,b=7;

B:double a;b;

C:double a=b=7;

D:double,a,b;

正确答案:【double a=7,b=7;

7、单选题:

设有定义

int k=0;

以下选项的四个表达式中与其他三个表达式的值不相同的是______

A:k++

B:++k

C:k+1

D:k+=1

正确答案:【k++

8、单选题:

以下叙述中正确的是_____

A:字符变量在定义时不能赋初值

B:字符常量可以参与整数运算

C:转义字符用@符号开头

D:同一英文字符的大写和小写形式代表的是同一字符常量

正确答案:【字符常量可以参与整数运算

9、判断题:C语言中依据程序编译器的不同,int定义的字节数不同,不短于short,不长于long,一般为2或 4个字节。
A:对
B:错
正确答案:【对】

10、判断题:C语言的整型常量有二进制、八进制、十进制和十六进制四种表示方式。
A:错
B:对
正确答案:【错】

第三章 单元测试

1、单选题:以下不属于结构化程序设计中基本结构的是_________。
A:选择结构
B:顺序结构
C:跳转结构
D:循环结构
正确答案:【跳转结构】

2、单选题:以下类型的C语句中,不属于简单语句的是_________。
A:条件语句
B:复合语句
C:空语句
D:表达式语句
正确答案:【条件语句】

3、单选题:若int类型数据占2个字节,则下列语句的输出结果为________。   int k= -1;printf(“%d,%u,%o”,k,k,k);

A:-1,32768,177777
B:-1,32767,-177777
C:-1,-1,-1
D:-1,65535,177777
正确答案:【-1,65535,177777 】

4、单选题:下列程序的输出是_______。#include<stdio.h>

main(){printf(“%d”,null);}
A:1

B:变量无定义
C:-1
D:0
正确答案:【变量无定义】

5、单选题:以下关于结构化程序设计中的三种基本结构,叙述不正确的是________。
A:循环结构中,需先对循环条件进行判断,条件成立才执行循环体。
B:顺序结构是最简单的一种基本结构。
C:选择结构也叫做分支结构,在该结构下只能选择程序的一条分支来执行,同时该分支可以为空。
D:每种基本结构均有唯一的一个入口和唯一的一个出口。
正确答案:【循环结构中,需先对循环条件进行判断,条件成立才执行循环体。】

6、单选题:在scanf函数中,附加格式字符h表示输入短整型数据,不能与其共同使用的格式字符是_______。

A:d
B:o
C:f
D:x
正确答案:【f】

7、单选题:printf(“%5.3s,%-5.3s,%2.3s”, “China”, “China”, “China”); 以上语句的运行结果是_______。

A:□□Chi, Chi□□,Ch
B:□□ina, ina□□,ina
C:Chi□□, □□Chi, Chi
D:□□Chi, Chi□□,Chi
正确答案:【□□Chi, Chi□□,Chi 】

8、单选题:float a=1234.56; printf(“%e,%9e,%9.1e”,a,a, a); 以上语句的运行结果是_______。

A:1.234560e+003,1.234560e+003,□1. 2e+003
B:1.234560e+003,1.234560e+003,□□1. 2e+003
C:1.234560e+3,1.234560e+3,□□□1. 2e+3

D:1.23456e+003,1.23456e+003,□1. 2e+003
正确答案:【1.234560e+003,1.234560e+003,□1. 2e+003】

9、单选题:scanf(“%3d%*3d%3d”,&x,&y);当输入数据3456789012时,x,y的取值分别为________。

A:x=345,y=678
B:x=456,y=012
C:x=345,y=901
D:x=789,y=012
正确答案:【x=345,y=901】

10、判断题:以下字符输入输出函数中,用于输入单个字符的函数是gets()。
A:对
B:错
正确答案:【错】

第四章 单元测试

1、单选题:已知语句“if(w) … ;else … ;”,与表达式w的等价表示是:()

A:w != 1
B:w = = 0
C:w != 0
D:w = = 1
正确答案:【w != 0】

2、单选题:设 x,y,z 为 int 型变量,且 x=3,y=4,z=5 ,则下面表达式中值为 0 的是(   )。
A:!((x<y)&&!z||1)
B: ‘x’&&’y’
C:x<=y
D:x||y+z&&y-z
正确答案:【!((x<y)&&!z||1)】

3、单选题:表示算术关系12<=x<=y的C语言表达式为()
A:( 12 <= x ) & ( x <= y )
B:( 12 <= x ) && ( x <= y )
C:( 12 <= x) | ( x <= y )
D:( 12 <= x ) || ( x <= y )
正确答案:【( 12 <= x ) && ( x <= y )     】

4、单选题:判断char型变量ch是否为大写字母的正确表达式是()
A:(ch>=‘A’)&(ch<=‘Z’)
B:(‘A’<= ch)AND(‘Z’>= ch)
C:A’<=ch<=‘Z’
D: (ch>=‘A’)&&(ch<=‘Z’)
正确答案:【 (ch>=‘A’)&&(ch<=‘Z’) 】

5、单选题:若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是()
A: A%2==1
B:A%2
C: !(A%2==0)
D:!(A%2)
正确答案:【!(A%2)】

6、单选题:设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为()
A:4
B:2
C:1
D:3
正确答案:【2】

7、单选题:以下程序的运行结果是()main(){    int m=5;     if(m++>5)    printf(“%dn”,m);     else;             printf(“%dn”,m–);    }

A:6
B:7
C:4
D:5
正确答案:【6】

8、单选题:若运行时给变量x输入12,则以下程序的运行结果是 ()main(){    int x,y;     scanf(“%d”,&x);     y=x>12 ? x+10 : x-12;  printf(“%dn”,y);}

A:2
B:3
C:0
D:4
正确答案:【0】

9、单选题:main(){int i=1,j=1,k=2;if((j++||k++)&&i++)printf(“%d,%d,%dn”,i,j,k);}执行后输出结果是()

A:2,2,1
B:2,2,2
C:1,1,2
D:2,2,3
正确答案:【2,2,2】

10、判断题:逻辑运算符两侧运算对象的数据类型可以是任何类型的数据。
A:错
B:对
正确答案:【对】

第五章 单元测试

1、单选题:以下程序的运行结果是()main(){int a=2,b=-1,c=2;if(a<b)if(b<0) c=0;else c+=1;printf(“%dn”,c);}

A:3
B:2
C:13
D:0
正确答案:【2】

2、单选题: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和b的值分别为()

A:2,1
B:1,0
C:1,1
D:2,2
正确答案:【2,1】

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

A:0
B:3
C:1
D:2
正确答案:【0】

4、单选题:若整数x分别等于95、87、100、43、66、79,则以下程序段运行后屏幕显示是什么?     switch(x/10)              { case 6:            case 7:         printf(“Passn”);  break;                  case 8:         printf(“Goodn”);  break;                  case 9:            case 10:        printf(“VeryGoodn”);  break;             default:        printf(“Failn”);           } 1.x等于 95时,程序段运行后屏幕上显示()                2. x等于 87时,程序段运行后屏幕上显示 ()      3.x等于100时,程序段运行后屏幕上显示()                 4.x等于 43时,程序段运行后屏幕上显示 ()    5.x等于 66时,程序段运行后屏幕上显示   () 6.x等于 79时,程序段运行后屏幕上显示 ()A. Pass     B. Good    C. VeryGood     D. Fail

A:BCDCDA
B:CBCDAA
C:ABCDAA
D:DCCDAC
正确答案:【CBCDAA】

5、单选题:分析以下程序, 下列说法正确的是 () main()   { int x=5,a=0,b=0;    if(x=a+b)          printf(“* * * *”);    else        printf(“# # # #”);     }

A:有语法错,不能通过编译
B:输出# # # #
C:通过编译,但不能连接
D:输出* * * *
正确答案:【输出# # # #】

6、单选题:有如下程序main(){float x=2.0,y;if (x<0.0)y=0.0;else if(x<10.0)y=1.0/x;else y=1.0;printf(“%fn”,y);}该程序的输出结果是()

A:0.250000
B:0.000000

C:1.000000
D:0.500000
正确答案:【0.500000】

7、单选题:以下不正确的if 语句形式是()
A:if(x>y&&x!=y);
B:if(x==y)x+=y;
C:if(x!=y) scanf(“%d”,&x) else scanf(“%d”,&y);
D:if(x<y) {x++;y++;}
正确答案:【if(x!=y) scanf(“%d”,&x) else scanf(“%d”,&y);】

8、单选题:int a=3,b=2,c=1; if(a>b>c)a=b; else a=c;则a 的值是()
A:0
B:3
C:1
D:2
正确答案:【1】

9、单选题:有以下程序main(){int a=5,b=4,c=3,d=2;if(a>b>c)printf(“%dn”,d);else if((c-1>=d)==1)printf(“%dn”,d+1);else printf(“%dn”,d+2);}执行后输出结果是()

A:编译时出错
B:4
C:2
D:3

正确答案:【3

10、判断题:C 语言的if 语句嵌套时if 与else 的配对关系是:每个else总是与它上面的if配对。
A:对
B:错
正确答案:【错】

第六章 单元测试

1、单选题:

以下叙述中正确的是________。

A:在while 语句和do-while 语句中无法使用continue 语句

B:当break 出现在循环体中的switch 语句体内时,其作用是跳出该switch 语句体,并终止循环

C:continue 语句的作用是:在执行完本次循环体中剩余语句后,终止循环

D:只能在循环体内和switch 语句体内使用break 语句

正确答案:【只能在循环体内和switch 语句体内使用break 语句

2、单选题:

以下不构成无限循环的语句或者语句组是_________。

A:n=0;

do{++n;}while(n<=0);

B:n=0;

while(1){n++;}

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

D:n=10;

while(n);{n–;}

正确答案:【n=0;

do{++n;}while(n<=0);

3、单选题:

下列语句中,有语法错误,不能编译的是_____。

A:do x++ while (x == 10);

B:do 2; while (a == b);

C:while (x = y) 5;

D:while (0) ;

正确答案:【do x++ while (x == 10);

4、单选题:

以下程序段中,while循环执行的次数是________。

int k =0;

while (k = 1)

{

k++;

}

A:一次也不执行

B:无限次

C:有语法错误,不能执行

D:执行一次

正确答案:【无限次

5、单选题:

以下程序段执行后,输出结果是

int i, sum=0;

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

{

sum += i;

}

printf(“%d”, sum);

A:14
B:15
C:不确定
D:0
正确答案:【15】

6、单选题:

循环语句“for (x=0, y=0; (y!=123)) || (x<4); x++) ;”的循环次数为________。

A:3次
B:不确定
C:4次
D:无限次
正确答案:【无限次】

7、单选题:

下述程序代码段输出的结果是________。

for(k=1;k<10;k++) ;

printf(“k=%d,k=%o,k=%x”, k, k, k);

A:k=11,k=013,k=0xb

B:k=11,k=12,k=11

C:k=10,k=12,k=13

D:k=11,k=13,k=b

正确答案:【k=11,k=13,k=b

8、单选题:

以下程序段中,while循环的循环次数是________。

int i = 0;

while (i < 10)

{

if (i < 1)

{

continue;

}

if (i == 5)

{

break;

}

i++;

}

A:1
B:6
C:死循环
D:10
正确答案:【死循环】

9、判断题:对于“for(表达式1;表达式2;表达式3)循环体”,当表达式2 的值为真时,会重复执行表达式1,循环体和表达式3。
A:对
B:错
正确答案:【错】

10、判断题:在循环语句“do  语句 while (条件);”中,当条件为0时结束循环。
A:错
B:对
正确答案:【对】

第七章 单元测试

1、单选题:

程序功能:输入n的值(n<10),计算1!+2!+3!+……+n!,并输出计算结果。

程序中空白处应该填________。

#include <stdio.h>

int main()

{

int i, n;

long sum=0,fac=1;                    //fac存储每个加项(阶乘)的值

printf(“请输入n的值:”);

scanf(“%d”,&n);

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

{

___________              //后一加项与前一加项的关系

sum=sum+fac;

}

printf(“和为%ld”,sum);

return 0;

}

A:fac=fac+sum;
B:fac++;
C:fac=fac*i;
D:sum=sum*i;
正确答案:【fac=fac*i;】

2、单选题:

若有整型变量i,j,则以下程序段中内循环体“printf(“ok”);”的循环次数为________。

for (i=5; i; i–)

{

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

{

printf(“ok”);

}

}

A:25
B:30
C:24
D:20
正确答案:【20】

3、单选题:

以下程序段的输出结果是________。

int i=0, a=0;

while (i < 20)

{

for (; ?

{

if (i % 10 == 0)

{

break;

}

else

{

i–;

}

}

i += 11;

a += i;

}

printf(“%d”, a);

A:21
B:33
C:11
D:32
正确答案:【32】

4、单选题:

假定a和b为int型变量,则执行以下语句后b的值为________。

a = 1;

b = 10;

do

{

b -= a;

a++;

} while (b– < 0);

A:-2
B:8
C:-1
D:9
正确答案:【8】

5、单选题:

设x和y均为int型变量,则执行下面的循环后y的值为

for (y=1, x=1; y<=50; y++)

{

if (x >= 10)

{

break;

}

if (x % 2 == 1)

{

x += 5;

continue;

}

x -= 3;

}

A:4
B:6
C:2
D:8
正确答案:【6】

6、单选题:

设i,j,k均为整型变量,则执行如下语句后,k的值为________。

for (i=0, j=10; i<=j; i++, j–)

{

k = i + j;

}

A:10
B:8
C:11
D:9
正确答案:【10】

7、单选题:

以下程序段的输出结果是________。

int a=0, i;

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

{

switch(i)

{

case 0:

case 3:

a += 2;

case 1:

case 2:

a += 3;

default:

a += 5;

}

}

printf(“%d”, a);

A:13
B:20
C:31
D:10
正确答案:【31】

8、单选题:

以下程序段运行时,如果从键盘输入1298再回车,则输出结果为

int n1, n2;

scanf(“%d”, &n2);

while (n2 != 0)

{

n1 = n2 % 10;

n2 = n2 / 10;

printf(“%d”, n1);

}

A:1298
B:1
C:9
D:8921
正确答案:【8921】

9、单选题:

以下程序段的输出结果是________。

int i=10, j=0;

do

{

j = j + i;

i–;

} while (i > 2);

printf(“%d”, j);

A:52
B:54
C:25
D:48
正确答案:【52】

10、判断题:for(;;)和while(1)构成的都是无限循环。
A:错
B:对
正确答案:【对】

第八章 单元测试

1、单选题:如有定义语句int a[]={1,8,2,8,3,8,4,8,5,8}; , 则数组a的大小是________。

A:11
B:8
C:不定
D:10
正确答案:【10】

2、单选题:有如下说明:    int a[10]={0,1,2,3,4,5,6,7,8,9}; 则数值不为9的表达式是________。

A:a[9]-0
B:a[9]-a[0]
C:a[8]
D:a[10-1]
正确答案:【a[8] 】

3、单选题:下列程序执行后的输出结果是__________。   main()     {int a,b[5];      a=0; b[0]=3;

printf(“%d,%d”,b[0],b[1]);  }

A:3,不定值
B:3,0
C:0,3
D:3   0
正确答案:【3,不定值】

4、单选题:

以下程序输出的结果是________。

#include  <stdio.h>

main( )

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

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

s=s*10+a[i];   printf(“s=%d”,s);  }

A:s=54321
B:s=1,2 ,3, 4 ,5
C:s=5 ,4 ,3 ,2 ,1
D:s=12345
正确答案:【s=12345 】

5、单选题:

执行下面的程序段后,变量k中的值为__________。

int k=3,s[2];

s[0]=k;

k=s[1]*10;

A:不定值
B:10
C:30
D:33
正确答案:【不定值】

6、单选题:假定一个int型变量占用四个字节,若有定义:int x[10]={0,2,4}; 则数组x在内存中所占字节数是       。

A:6
B:3
C:40
D:10
正确答案:【40】

7、判断题:int a[3]定义了一个整型数组, 它的3个元素是a[1], a[2]和a[3]。

A:错
B:对
正确答案:【错】

8、判断题:可以在定义数组时只给一部分数组元素赋值。

A:错
B:对
正确答案:【对】

9、判断题:对数组元素赋予的初值可以依次放在一对圆括号内。

A:错
B:对
正确答案:【错】

10、判断题:int a[3]定义了一个整型数组, 它的3个元素是a[0], a[1]和a[2]。

A:错
B:对
正确答案:【对】

第九章 单元测试

1、单选题:在定义int n[5][6];后,若认为n[0][0]为第1个元素,则第10个元素是________。

A:n[2][5]
B:n[1][4]
C:n[2][4]
D:n[1][3]
正确答案:【n[1][3]】

2、单选题:下列二维数组初始化语句中,正确的是__________。

A:int a[ ][3]={8,0,7,0,3,l,2,5};
B:float a[2][3]={{l,2},{3,4},{5,6}};
C:float a[3][ ]={{1,2,3},{4,5,6},{7,8,9}};
D:int a[ ][ ]={{9,3,1},{8,4,2},{3,5,7}};
正确答案:【int a[ ][3]={8,0,7,0,3,l,2,5};】

3、单选题:若定义char a[ ] = “Hello!”; 则strlen(a)、sizeof(a)的值分别为        。

A:7 7
B:6 7
C:7 6
D:7 8
正确答案:【6 7】

4、单选题:以下程序的输出结果是(    )。

main()

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

printf(“%d%d%d%d”,a[0][3],a[1][2],a[2][1],a[3][0]);

}

A:输出值不定
B:5430
C:1470
D:0650
正确答案:【0650】

5、单选题:若有定义:int a[2][4];,则引用数组元素正确的是      。

A:a[2][2]
B:a[0][4]
C:a[2][2+1]
D: a[0][3]
正确答案:【 a[0][3]】

6、单选题:若定义一个名为s且初值为”123″的字符数组,则下列定义错误的是________。

A:char s[4]={‘1’,’2’,’3′};
B:char s[]={‘123 ’};
C:char s[]={“123″};
D:char s[]={’1’,’2’,’3’,’ ‘};
正确答案:【char s[]={‘123 ’}; 】

7、单选题:设有定义:char s[12]=”string”;则printf(“%d”,strlen(s));的输出结果是________。

A:7
B:11
C:6
D:12
正确答案:【6】

8、单选题:语句printf(“%d”,strlen(“abs101”));的输出结果是________。
A:10
B:8
C:4
D:7
正确答案:【4】

9、判断题:在用字符数组来处理字符串时,应始终保证数组的长度大于字符串的实际长度。

A:对
B:错
正确答案:【对】

10、判断题:使用字符串连接函数strcat(字符数组1,字符数组2)时,字符数组1要定义足够的长度,才能装入全部被连接的字符串,而使用strcpy(字符数组1,字符数组2)函数时,无需考虑字符数组1的长度问题。

A:对
B:错
正确答案:【对】

第十章 单元测试

1、单选题:

在C语言中,若定义函数时对函数类型未加显式说明,则函数的隐含类型为_______。

A:char

B:void

C:double

D:int

正确答案:【int

2、单选题:

在C语言的函数调用中,如果普通变量作为函数的参数,则调用函数时_______。

A:实参和形参分别占用一个独立的存储单元

B:由用户确定是否共用一个存储单元

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

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

发表回复

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