第一章 单元测试

1、单选题:以下叙述中正确的是(    )。

A:用C程序实现的算法可以既没有输入也没有输出
B:用C程序实现的算法可以没有输入但必须要有输出
C:用C程序实现的算法必须要有输入和输出操作
D:用C程序实现的算法可以没有输出但必须要有输入
正确答案:【用C程序实现的算法可以没有输入但必须要有输出】

2、单选题:

以下不能定义为用户标识符的是( )。

A:_scanf
B:printf
C:_10
D:Main
正确答案:【printf】

3、单选题:

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

A:数字字符
B:下划线
C:小写字母
D:连接符
正确答案:【连接符】

4、单选题:

以下C语言用户标识符中,不合法的是(  )。

A:a–b
B:a_b
C:AaBc
D:_1
正确答案:【a–b】

5、单选题:

结构化程序由三种基本结构组成,三种基本结构组成的算法(   )。

A: 只能完成一些简单的任务
B:只能完成符合结构化的任务
C:可以完成任何复杂的任务
D:只能完成部分复杂的任务
正确答案:【可以完成任何复杂的任务】

6、单选题:

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

A:C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束
B:C语言程序将从源程序中第一个函数开始执行
C:可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
D:main可作为用户标识符,用以命名任意一个函数作为主函数
正确答案:【C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束】

7、单选题:

C语言源程序名的后缀是(    )。
A:.obj
B:.cpp

C:.exe
D:.c
正确答案:【.c】

8、单选题:

以下叙述中错误的是( )。
A:一个C程序中可以包含多个不同名的函数
B:C程序的主函数必须用main作为函数名
C:C程序在书写时,有严格的缩进要求,否则不能编译通过
D:一个C程序只能有一个主函数
正确答案:【C程序在书写时,有严格的缩进要求,否则不能编译通过】

9、单选题:下列关于C语言用户标识符的叙述中正确的是(  )。
A:用户标识符中不可以出现中划线,但可以出现下划线
B:

用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头

C:用户标识符中可以出现下划线和中划线(减号)
D:用户标识符中可以出现下划线,但不能放在用户标识符的开头
正确答案:【用户标识符中不可以出现中划线,但可以出现下划线】

10、单选题:下列4个选项中,(  )是合法的用户自定义标识符。
A:2a
B:

_isw

C:float
D:b–b
正确答案:【

_isw

第二章 单元测试

1、单选题:下列选项中,(  )可以将x、y定义成double类型变量,并赋同一初值3.14。
A:double x, y=2*3.14;
B:double x, y=3.14;
C:double x=y=3.14;
D:double x=3.14, y=3.14;
正确答案:【double x=3.14, y=3.14;  】

2、单选题:若变量已正确定义并赋值,表达式(  )不符合C语言语法。
A:2, b
B:a*b/c
C:3.14%2
D:a/b/c
正确答案:【3.14%2】

3、单选题:下列表达式中值为0的是(  )。
A:3/5
B:3/5.0
C:3%5
D:3.0/5
正确答案:【3/5】

4、单选题:以下选项中,(  )是不正确的字符常量。
A:’5 ‘
B:’103′
C:’A’
D:”a”
正确答案:【”a”】

5、单选题:以下选项中不正确的整型常量是(    )。
A:1,900
B:–100
C:82L
D:253U
正确答案:【1,900】

6、单选题:以下正确的字符串常量是()。
A:’123456 ‘
B:”5111″
C:HELLO
D:q1234ty
正确答案:【”5111″】

7、单选题:假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式  的表达式是(   )。
A:1.0/a/b/c
B:1/a/b/(float)c
C:1/a*b*c
D:1/(a*b*c)
正确答案:【1.0/a/b/c】

8、单选题:

以下能正确定义且赋初值的语句是(  )。

A:double x=12.3E2.5;
B:float f=f+1.1;
C:char ch=’A’;
D:int n1=n2=10;
正确答案:【char ch=’A’;】

9、单选题:设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,32+z)后,x的值为 (   )。
A:16
B:4
C:48
D:32
正确答案:【48】

10、单选题:C语言中,运算对象必须是整型数的运算符是(   )。
A:% 和/
B:*
C:/
D:%
正确答案:【%】

11、单选题:

有以下程序

main()

{

char a1=’M’,a2=’m’;

printf(“%c”,(a1,a2));

}

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

A:程序输出大写字母M
B:格式说明符不足,编译出错
C:程序运行时产生出错信息
D:程序输出小写字母m
正确答案:【程序输出小写字母m】

12、单选题:

在C语言中,下列属于构造类型的是(   )。
A:整型
B:数组类型
C:字符型
D:实型
正确答案:【数组类型】

13、单选题:设d为字符型变量,下列表达式不正确的是(   )。
A:d=’a’
B:d=”a”
C:d=’3’
D:d=99
正确答案:【d=”a”】

14、单选题:
A:3.600000,5.800000
B:5.800000
C:3.600000
D:输出符号不够,输出不正确值
正确答案:【5.800000 】

15、单选题:表达式(double)(20/3)的值为(    )。
A:6
B:2
C:3
D:6.0
正确答案:【6.0】

16、单选题:

表达式3.6-5/2+1.2+5%2的值是(  )。
A:4.3
B:4.8
C:3.3
D:3.8

正确答案:【3.8

17、单选题:表达式sizeof(“hello”)的值为(    )。
A:7
B:5
C:6

D:4
正确答案:【6

18、单选题:设整型变量a值为9,则下列表达式中使b的值不为4的表达式(    )。
A:b=a%2
B:b=a-5
C:b=a/2
D:b=8-(3,a-5)
正确答案:【b=a%2  】

19、单选题:已知ch是字符型变量,下面不正确的赋值语句是(   )。
A:ch=’m’;
B:ch=‘a+b’;
C:ch=7+9;
D:ch=‘7’+‘9’;
正确答案:【ch=‘a+b’;】

20、单选题:

有以下定义语句,编译时会出现编译错误的是(  )。
A:char a=’aa’;
B:char a=’0′;
C:char a=’-‘;
D:char a=’a’;
正确答案:【char a=’aa’; 】

第三章 单元测试

1、单选题:若变量已正确定义并赋值,下面符合C语言语法的表达式是(   )。
A:a:=b+1
B:int 18.5%3
C:a=a+7=c+b
D:a=b=c+2
正确答案:【a=b=c+2】

2、单选题:设变量已正确定义并赋值,表达式(  )不符合C语言语法。
A:a=4,3
B:a=b=5
C:++a
D:int(3.14)
正确答案:【int(3.14) 】

3、单选题:下列关于自增运算符++和自减运算符—的叙述中正确的是(  )。
A:它们的运算对象可以是任何类型的变量和常量
B:它们的运算对象可以是char型变量、int型变量和float型变量
C:它们的运算对象可以是int型变量,但不能是double型变量和float型变量
D:它们的运算对象可以是char型变量和int型变量,但不能是float型变量
正确答案:【它们的运算对象可以是char型变量、int型变量和float型变量】

4、单选题:若变量a、i已正确定义,且i已正确赋值,则合法的语句是(   )。
A:++i;
B:a=int(i);
C:a=a++=5;
D:a+2=1
正确答案:【++i;】

5、单选题:设x为int型变量,则执行以下语句后,x的值为(    )。

x=10;

x+=x-=x+x;
A:20
B:-20
C:10
D:0
正确答案:【-20】

6、单选题:以下叙述中正确的是(   )。
A:在C语言中,整数可以以十二进制、八进制或十六进制的形式输出
B:使用putchar函数时,必须在之前包含头文件stdio.h
C:调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码
D:调用printf函数时,必须要有输出项
正确答案:【使用putchar函数时,必须在之前包含头文件stdio.h】

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

#include “stdio.h”
main(){    int a=10;   a=(3*5,a+4);    printf(“a=%d”, a);}
A:a=19
B:a=15
C:a=18
D:a=14
正确答案:【a=14】

8、单选题:以下不能输出字符A的语句是(注:字符A的ASCIl码值为65,字符a的ASCIl码值为97)()。
A:printf(“%c”, ‘B’-1);
B:printf(“%c”,’a’-32);
C:printf(“%c”, 65);
D:printf(“%d”, ‘A’);
正确答案:【printf(“%d”, ‘A’); 】

9、单选题:若有以下定义和语句:

char c1=’c’,c2=’g’;

printf(“%d,%c”,c2–c1,c2–’a’+’A’);

则输出结果是(  )。
A:输出项与对应的格式控制不一致,输出结果不确定
B:5,G
C:4,G
D:3,G
正确答案:【4,G】

10、单选题:以下程序段的输出结果是(  )。   float m=34.567;   printf(“%3.2f”,m);
A:34.567
B:34.57
C:提示出错、无结果
D:34.5
正确答案:【34.57】

11、单选题:以下程序的输出结果是(  )。    #include “stdio.h”    main( )    {        char c=’z’;       printf(“%c”,c-25);    }
A:y
B:z-25
C:Z
D:a
正确答案:【a】

12、单选题:以下程序的输出结果是(    )。    #include “stdio.h”    main( )    {         int  k=27;       printf(“%d,%o,%x”,k,k,k);    }
A:27,33,1b
B:27,033,0x1b
C:27,0x1b,033
D:27,27,27
正确答案:【27,33,1b】

13、单选题:

以下程序的输出结果是(    )。    #include “stdio.h”    main( )    {  double d=3.2;  int x,y; x=1.2; y=(x+3.8)/5.0; printf(“%d “, d*y);    }
A:0
B:3
C:3.2
D:3.07
正确答案:【0】

14、单选题:

下列程序执行后的输出结果是(小数点后只写1位)(    )。    #include “stdio.h”    main( )    {  double d;  float f;  long k;  int i; i=f=k=d=20.0/3; printf(“%d %ld %.1f %.1f “, i,k,f,d);    }
A:6 6 6.0 6.7
B:6 6 6.0 6.0
C:6 6 6.7 6.0
D:6 6 6.7 6.7
正确答案:【6 6 6.0 6.7  】

15、单选题:

x、y、z被定义为double型变量,若从键盘上给x、y、z输入数据,则正确的输入语句是(  )。
A:scanf(“%.2lf%.2lf%.2lf”,&x,&y,&z);
B:scanf(“%d%d%d”,&x,&y,&z);
C:scanf(“%lf%lf%lf”,&x,&y,&z);
D:scanf(“%f%f%f”,&x,&y,&z);
正确答案:【scanf(“%lf%lf%lf”,&x,&y,&z);】

16、单选题:设i是int型变量,f是float型变量,若要通过语句“scanf(“i=%d,f=%f”,&i,&f);”给i赋值100,f赋值765.12,则正确的输入为()。
A:100 765.12
B:i=100,f=765.12
C:i=100f=765.12
D:100,765.12
正确答案:【i=100,f=765.12】

17、单选题:

设有以下定义

int a=0;

double b=1.25;

char c=’A’;

#define d 2

则下面语句中错误的是(  )。

A:a++;
B:c++;
C:b++;
D:d++;
正确答案:【d++; 】

18、单选题:

有以下程序    #include “stdio.h”    main()    { int a,b,d=25;  a=d/10%9;  b=a-1;  printf(“%d,%d”,a,b);    }  程序运行后的输出结果是(  )。
A:6,0
B:6,1
C:2,1
D:2,0
正确答案:【2,1 】

19、单选题:

有以下程序    #include “stdio.h”     main()    { char c1=’1′,c2=’2′; c1=getchar();  c2=getchar();  putchar(c1); putchar(c2);    } 当运行时输入:ab<回车> 后,以下叙述正确的是(  )。
A:程序将等待用户输入第2个字符
B:变量c1被赋予字符a,c2中仍是原有字符2
C:变量c1被赋予字符a,c2被赋予字符b
D:变量c1被赋予字符a,c2中将无确定值
正确答案:【变量c1被赋予字符a,c2被赋予字符b】

20、单选题:

下列程序的输出结果是16.00,请在程序中填空。    #include “stdio.h”    main( )    {         int a=9,b=2;      float x=________ , y=1.1,z;      z=a/2+b*x/y+1/2;      printf(“%5.2f”, z );    }
A:6.05
B:7.7
C:5.5
D:6.6
正确答案:【6.6】

第四章 单元测试

1、单选题:

若x=3,y=z=4,则下列表达式的值分别为(  )。

(1)z>=y>=x?1:0

(2)z>=y&& y>=x
A: 0  1
B: 1  1
C: 1  0
D: 0  0
正确答案:【 0  1】

2、单选题:

在嵌套使用if语句时,C语言规定else总是(   )。

A:和之前与其最近的if配对
B:和之前与其最近的且不带else的if配对
C:和之前与其具有相同缩进位置的if配对
D:和之前的第一个if配对
正确答案:【和之前与其最近的且不带else的if配对  】

3、单选题:判断字符型变量ch为大写字母的表达式是(  )。

A:(ch>=’A’)AND(ch<=’Z’)
B:(ch>=’A’)&&(ch<=’Z’)
C:    ’A’<=ch<=’Z’
D:(ch>=’A’)||(ch<=’Z’)
正确答案:【(ch>=’A’)&&(ch<=’Z’) 】

4、单选题:逻辑运算符的运算对象的数据类型(   )。

A:任何类型的数据
B:只能是整型或字符型
C:只能是.T.或.F.
D:只能是0或1
正确答案:【任何类型的数据】

5、单选题:

以下是if语句的基本形式:  if(表达式) 语句

其中“表达式”(   )。

A:必须是逻辑表达式
B:可以是任意合法的表达式
C:必须是关系表达式
D:必须是逻辑表达式或关系表达式
正确答案:【可以是任意合法的表达式】

6、单选题:下列条件语句中,功能与其他语句不同的是(    )。
A:if (a!=0) printf(“%d”,x); else printf(“%d”,y);
B:if(a==0) printf(“%d”,x); else printf(“%d”,y);
C:if(a) printf(“%d”,x); else printf(“%d”,y);
D:if(a==0) printf(“%d”,y); else printf(“%d”,x);
正确答案:【if(a==0) printf(“%d”,x); else printf(“%d”,y);】

7、单选题:以下程序段中与语句“k=a>b?(b>c?1:0):0;”功能等价的是(  )。
A:if((a>b)&&(b>c))

k=1;

else

k=0;

B:f((a>b)||(b>c))

k=1;

else

k=0;

C:if(a<=b)

k=0;

else

if(b<=c)  k=1;

D:if(a>b)  k=1;

else if(b>c)  k=1;

else k=0;

正确答案:【if((a>b)&&(b>c))

k=1;

else

k=0;

8、单选题:

下面程序的输出结果是(   )。

#include “stdio.h”

main( )

{

int x=40,y=4,z=4;

x=y==z;

printf(“%d “,x);

x=x==(y-z);

printf(“%d “,x);

}
A:1  1
B:1  0
C:4  0
D:4  1
正确答案:【1  0】

9、单选题:下列各语句序列中,能够将变量u和s中的较大值赋值到变量t中的是(   )。

A:t=s ; if(u>s)t=u;
B:if(u>s)t=u ; t=s;
C:t=u ; if(u>s)t=s;
D:if(u>s)t=s ; else t=u;
正确答案:【t=s ; if(u>s)t=u;】

10、单选题:

以下程序执行后的输出结果是(     )。#include “stdio.h”main( ){int a=5,b=4,c=3,d=2;    if(a>b>c)    printf(“%d”,d);    else if ((c-1>=d)==1)    printf(“%d”,d+1);    else    printf(“%d”,d+2);  }
A:编译时有错误,无结果
B:3
C:2
D:4
正确答案:【3】

11、单选题:

以下程序执行后的输出结果是(      )。#include “stdio.h”main( ){   char x=’d’;   x=(x>=’a’&&x<=’z’)?(x-32):x;   printf(“%c”, x);}
A:D
B:z
C:a
D:d
正确答案:【D】

12、单选题:

若有定义:float x=1.5; int a=1, b=3, c=2;,则正确的switch语句是(   )。
A:switch(x)

{

case 1.0: printf(“*”);

case 2.0: printf(“**”);

}

B:switch((int)x);

{

case 1: printf(“*”);

case 2: printf(“**”);

}

C:switch(a+b)

{

case 1: printf(“*”);

case 1+2: printf(“**”);

}

D:switch(a+b)

{

case 1: printf(“*”);

case c: printf(“**”);

}

正确答案:【switch(a+b)

{

case 1: printf(“*”);

case 1+2: printf(“**”);

}

13、单选题:

以下程序的输出结果是(   )。#include “stdio.h”main(){   int a=2,b=2,c;   c=a>=b;   printf(“c=%d”,c);}
A:不确定
B:c=2
C:c=1
D:c=0
正确答案:【c=1】

14、单选题:

下列程序执行后的输出结果是(  )。#include “stdio.h”main( ){  int n=0,m=1,x=2; if(!n) x-=1; if(m) x-=2; if(x) x-=3; printf(“%d”,x);}
A:-3

B:-1
C:-4
D:1
正确答案:【-4】

15、单选题:

以下程序执行后的输出结果是(  )。#include “stdio.h”main( ){    int p,a=5;  if(p=a!=0)    printf(“%d”,p);  else   printf(“%d”,p+2);}
A:1
B:0
C:3
D:5

正确答案:【1】

16、单选题:

以下程序的运行结果是(  )。

#include “stdio.h”

main( )

{

int a=2,b=3,c ;

c=a;

if(a>b) c=1;

else if(a==b)

c=0;

else

c=-1;

printf(“%d”,c);

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

17、单选题:

有以下程序

#include “stdio.h”

main( )

{

int x;

scanf(“%d”,&x);

if(x>15) printf(“%d  “,x-5);

if(x>10) printf(“%d  “,x);

if(x>5) printf(“%dn”,x+5);

}

若程序运行时从键盘输入12<回车>,则输出结果为(   )。
A:12
B:12   17
C:7
D:17
正确答案:【12   17】

18、单选题:若有表达式(p)?(–x):(++y),则其中与w等价的表达式是(  )。
A:p==0
B:p!=1
C:p!=0
D:p==1
正确答案:【p!=0】

19、单选题:

有以下程序

#include “stdio.h”

main( )

{

int a, b, c;

a=10; b=50; c=30;

if (a>b) a=b, b=c; c=a;

printf(“a=%d b=%d c=%d”, a,b,c);

}

程序的输出结果是(   )。
A:a=50 b=30 c=50

B:a=10 b=50 c=30
C:a=10 b=50 c=10
D:a=10 b=30 c=10
正确答案:【a=10 b=50 c=10 】

20、单选题:

有以下程序

#include “stdio.h”

main( )

{

int x=1, y=2, z=3;

if(x>y)

if(y<z)

printf(“%2d”, z+1);

else

printf(“%2d”, y+1);

printf(“%2d”, x+1);

}

程序的运行结果是(   )。

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

第五章 单元测试

1、单选题:

以下叙述中正确的是(    )。
A:do-while语句构成的循环不能用其他语句构成的循环来代替。
B:用do-while语句构成的循环,在while后的表达式为零时结束循环。
C:用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D:do-while语句构成的循环只能用break语句退出。
正确答案:【用do-while语句构成的循环,在while后的表达式为零时结束循环。】

2、单选题:

以下程序执行后的输出结果是(  )。

#include “stdio.h”

main( )

{

int x=0,y=5,z=3;

while(z>0&&x<5)

{y=y-1;z–; x++;}

printf(“%d,%d,%d”,x,y,z);

}
A:4,3,-1
B:3,2,-1
C:3,2,0
D:5,2,5
正确答案:【3,2,0 】

3、单选题:

以下程序执行后的输出结果是(  )。

#include “stdio.h”

main( )

{

int i;

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

switch(i)

{  case 1:printf(“%d “,i);

case 2: printf(“%d “,i);break;

default: printf(“%d “,i);

}

}
A:0 1 1 2
B:1 2 0

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

4、单选题:

以下程序执行后的输出结果是(   )。

#include “stdio.h”

main( )

{int i=0,s=0;

do {

if(i%2) {i++;continue;}

i=i+2;

s+=i;

}while(i<7);

printf(“%d”,s);

}

A:12
B:20
C:28
D:21
正确答案:【20】

5、单选题:下面的程序运行后,输出的结果是(    )。#include “stdio.h”main( ){  int x=3;  do  {   printf (“%d”, x-=2);  }   while (!(–x));}
A:3和0
B:1和-2
C:1
D:死循环
正确答案:【1和-2 】

6、单选题:

下面的程序运行后,输出的结果是(    )。#include “stdio.h”main( ){   int n=5,s=0;   while(n)   {     s+=n;     n–;    }    printf(“%d”,s);}
A:5
B:0
C:15
D:10
正确答案:【15 】

7、单选题:

以下程序执行后的输出结果是(   )。

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

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

发表回复

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