C习题及答案

C习题及答案
C习题及答案

第一、二章C语言概述与算法

一、选择题(四个选项中只有一个是正确的----下同)

1. 一个算法应该具有“确定性”等五个特性,下面对另外4个特性的描述中错误的是

A) 有零个或多个输入B) 有零个或多个输出

C) 有穷性D) 可行性

2. 以下叙述中正确的是

A) C语言的源程序不必通过编译就可以直接运行

B) C语言的每条可执行语句最终都将被转换成二进制的机器指令

C) C语言的源程序经编译形成的二进制代码可以直接运行

D) C语言的函数不可以单独进行编译

3. 对用C语言编写的代码程序,以下叙述中哪个是正确的

A) 可立即执行B) 是一个源程序

C) 经过编译即可执行D) 经过编译解释才能执行

4. 结构化程序由三种基本结构组成, 由这三种基本结构组成的算法

A) 可以完成任何复杂的任务B) 只能完成部分复杂的任务

C) 只能完成符合结构化的任务D) 只能完成一些简单的任务

5.有一个命名为C001.C的C语言源程序,当正常执行后,在当前目录下不存在的文件是

A)C001.OBJ B)C001.DAT C)C001.EXE D)C001.C

二、填空题

1.结构化程序由、、三种基本结构组成。2.模块化程序设计的设计原则是和。

3.组成C程序的基本单位是,其组成部分包括和。4.C程序中的main称,它可以出现在程序的位置。

5.由“/*”和“*/”括起来的内容称为,它的作用是。6.描述算法的常用方法有:。

第三章数据类型、运算符与表达式

一、选择题

1.与十进制数97不等值的字符常量是

A) ’a’ B) ’\101’ C) ’\x61’ D) ’\141’

2.在编写了一个C语言源程序C001.C并正确执行之后,当前目录下哪个文件不存在

A) C001.C B) C001.OBJ C) C001.DAT D) C001.EXE

3.以下选项中正确的整型常量是

A) 5.B)-10 C)1.000 D)4/5

4.以下选项中正确的实型常量是

A) 0 B)3. 1415 C)0.03x102D).32

5.以下选项中不正确的实型常量是

A)2.670E-1 B)0.05e+1.5 C)-77.77 D)456e-2

6.以下选项中不合法的用户标识符是

A)wb-1 B)file C)Main D)PRINTF

7.以下选项中不合法的用户标识符是

A)_123 B)printf C)A$ D)Dim

8.C语言中运算对象必须是整型的运算符是

A)% B)/ C)* D)+

9.可在C程序中用作标识符的一组标识符是

A)void B)as_b3 C)For D)2c

Define _123 -abc DO

WORD If case SiG

10.若变量已正确定义并赋值,符合C语言语法的表达式是

A)a=a+7; B)a=7+b+c,a++ C)int(12.3%4) D)a=a+7=c+b

11.以下非法的赋值语句是

A) n=(i=2,++i); B)j++; C) ++(i+1); D) x=j>0;

12.设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是

A) 6.500000 B) 6 C) 5.500000 D) 6.000000

13.已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是

A) 6 B) 0 C) 2 D) 1

14.以下叙述中正确的是

A)a是实型变量,C允许以下赋值a=10,因此可以这样说实型变量中允许存放整型值。

B)在赋值表达式中,赋值号右边既可以是变量也可以是任意表达式

C)执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0

D)已有a=3, b=5。当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为3 15.以下叙述中正确的是

A)在C程序中,无论是整数还是实数,只要在允许的范围内都能准确无误的表示。

B)C程序由主函数组成。

C)C程序由函数组成。

D)C程序由函数和过程组成。

16.Turbo C中int类型变量所占字节数是

A)1 B)2 C)3 D)4

17.不合法的八进制数是

A)0 B)028 C)07700 D)01

18.不合法的十六进制数是

A)oxff B)0Xabc C)0x11 D)0x19

19.若a、b、c、d都是int类型变量且初值为0,以下选项中不正确的赋值语句是A)a=b=c=100; B)d++; C)c+b; D)d=(c=22)-(b++); 20.以下选项中不是C语句的是

A){int i; i++; printf(“%d\n”, i); } B);

C)a=5,c=10 D){ ; }

21.以下合法的C语言赋值语句是

A)a=b=58 B)k=int(a+b); C)a=58,b=58 D)--i;

22.以下程序的输出结果是

main()

{ int x = 10, y = 3;

printf(“%d \n” , y = x / y);

}

A )0

B )1

C )3

D )不确定的值

23.C 语言中的简单数据类型有

A )整型、实型、逻辑型

B )整型、实型、字符型

C )整型、字符型、逻辑型

D )整型、实型、逻辑型、字符型

24.C 语言中,字符(char )型数据在微机内存中的存储形式是

A )反码

B )补码

C )EBCDIC 码

D )ASCII 码

25.设有语句char a= …\172?;,则变量a

A )包含1个字符

B )包含2个字符

C )包含3个字符

D )说明不合法

26.C 语言中不合法的字符常量是

A )?\xff?

B )?\65?

C )?&?

D )?\028?

27.C 语言中不合法的字符串量是

A )”\121”

B )?y=?

C )”\n\n”

D )”ABCD \x6d”

二、填空题

1.若k 为int 型变量且赋值11,请写出运算k++后表达式的值 和变量的值 。

2.若x 为double 型变量,请写出运算x = 3.2, ++x 后表达式的值 和变量的值 。

3.函数体由符号 开始,用符号 结束。

4.函数体的前面是 部分,其后面是 部分。

5.在C 语言程序中,用关键字 定义基本整型变量,用关键字 定义单精度实型变量,用关键字 定义双精度实型变量。

6.把a1、a2定义成单精度实型变量,并赋初值1的说明语句是 。

7.C 程序中定义的变量,代表内存中的一组 。

8.表达式3.5 + 1 / 2的计算结果是 。

9.对以下数学式,写出三个等价的C 语言表达式是 、 、 。

c b a

10.表达式s = 10应当读做“ ”。

11.计算机中内存储器的最小单位称为 ,其中能容纳的数是 个

12.通常一个字节包含 个二进制位。在一个字节中能存放的最大十进制整数是 ,它的二进制数的形式是 ;最小十进制整数是 ,它的二进制形式是 。

13.当计算机用两个字节存放一个整数时,其中能存放的最大十进制整数是 、最小十进制整数是 ,它们的二进制形式是 。

14.以下程序的输出结果是 。

main ()

{ int a=0;

a+=(a=8);

printf("%d\n",a);

}

第四章顺序结构程序设计

一、选择题

1.若变量已正确说明为int类型,要给a、b、c输入数据,以下正确的输入语句是

A)read(a,b,c) B)scanf(“%d%d%d”,a,b,c);

C)scnaf(“%D%D%D”,&a,&b,&C); D)scanf(“%d%d%d”, &a,&b,&c);

2.若变量已正确说明为float类型,要通过以下赋值语句给a赋予10、b赋予22、c赋予33,以下不正确的输入形式是

scanf(“%f %f %f”, &a, &b, &c);

A)10 B)10.0,22.0,33.0 C)10.0 D)10 22

22 22.0 33.0 33

33

3.已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是

A)scanf("%2d%2d%2d",&i,&j,&k);

B) scanf("%d %d %d",&i,&j,&k);

C)scanf("%d,%d,%d",&i,&j,&k);

D)scanf("i=%d,j=%d,k=%d",&i,&j,&k);

4.若有以下程序:

main()

{ int k=2, i=2, m;

m=(k+=i*=k); printf("%d,%d\n",m,i);

}

执行后的输出结果是

A) 8,6 B) 8,3 C) 6,4 D) 7,4

5 若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句是

A)a=a+b, b=a-b, a=a-b; B)t=a; a=b; b=t;

C)a=t; t=b; b=a; D)t=b; b=a; a=t;

6.有以下程序

main()

{ int i = 10, j = 1;

printf("%d,%d\n",i--, ++j);

}

执行后输出结果是

A) 9,2 B) 10,2 C) 9,1 D) 10,1

7.若变量已正确定义,以下程序段的输出结果是

x=5.16894;

printf(“%f\n”, (int)(x*1000+0.5)/(float)1000);

A)输出格式说明与输出项不匹配,输出无定值B)5.17000

C)5.168000 D)5.169000

8.若有以下程序段,c3中的值是

int c1 = 1, c2 = 2, c3;

c3 = c1 / c2;

A)0 B)1/2 C)0.5 D)1

9.若有以下程序段,其输出结果是

int a = 0, b = 0, c = 0;

c = ( a -= a - 5), (a = b, b+3);

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

A)0,0,-10 B)0,0,5 C)-10,3,-10 D)3,3,-10 10.当运行以下程序时,在键盘上从第一列开始,输入9876543210(此处表示Enter),则程序的输出结果是

main()

{ int a; float b, c;

scanf(“%2d%3f%4f”, &a, &b, &c);

printf(“\na=%d,b=%f,c=%f\n”,a, b, c);

}

A)a=98,b=765,c=4321 B)a=10,b=432,c=8765

C)a=98,b=765.000000,c=4321.000000 D)a=98,b=765.0,c=4321.0

11.以下程序的输出结果是

main()

{ int a = 2, b =5;

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

}

A)a=%2,b=%5 B)a=2,b=5 C)a=%%d,b=%%d D)a=%d,b=%d 12.若int类型占两个字节,则以下程序段的输出是

int a=-1;

printf(“%d, %u\n”, a, a);

A)-1,-1 B)-1,32767 C)-1,32768 D)-1,65535 13.以下程序段的输出是

int x = 496;

printf(“*%-06d*\n”, x);

A)*496 * B)* 496*

C)*000496* D)输出格式不合法

14.以下程序段的输出是

float a=3.1415;

printf(“|%6.0f|\n”, a);

A)|3.1415| B)| 3.0| C)| 3| D)| 3.| 15.以下程序段的输出是

pr intf(“|%10.5f|\n”, 12345.678);

A)|2345.67800| B)|12345.6780| C)|12345.67800| D)|12345.678| 16.若从终端输入以下数据,要给变量c赋以283.19,则正确的输入语句是

A)scanf(%f”,c) B)scanf(%8.4f”, &c); C)scanf(%6.2f”, &c); D)scanf(%8f”, &c);

17.若变量已正确说明,要求用以下语句给a赋予3.12、给b赋予9.0,则正确的输入形式

scanf(“a=%f,b=%f”,&a, &b);

A)3.12 9.0 B)a= 3.12b= 9 C)a=3.12,b=9.0 D)a=3.12 ,b=9 18.以下程序的输出结果是

#include “math.h”

main()

{ double a = -3.0, b = 2;

printf(“%3.0f %3.0f\n”, pow(b,fabs(a)), pow(fabs(a), b) );

}

A)9 8 B)8 9

C)6 6 D)以上三个都不对

19.以下程序的输出结果是

main()

{ char c1 = …A?, c2 = …Y?;

printf(“%d,%d\n”, c1, c2);

}

A)因输出格式不合法,无正确输出B)65,90

C)A,Y D)65,89

20.以下程序段的输出结果是

main()

{ char x = …A?;

x = (x>=?A? && x<=?Z?)?(x+32):x;

printf(“%c\n”, x);

}

A)A B)a C)Z D)z

21 以下程序段的输出结果是

main()

{ char ch1, ch2;

ch1 = …A? + …5? - …3?;

ch2 = …A? + …5? - …3?;

printf(“%d,%c\n”, ch1,ch2);

}

A)67, C B)B,C

C)C,D D)不确定的值

22.若变量已正确说明,要求用以下语句给c1赋予字符%、给c2赋予字符#、给a赋予2.0、给b赋予4.0,则正确的输入形式是

scanf(“%f%c%f%c”, &a, &c1, &b, &c2);

A)2.0 % 4.0 # B)2.0%4.0# C)2% 4# D)2 % 4 # 23.以下程序的输出结果是

main()

{ int w = 4, x = 3, y = 2, z = 1;

printf(“%d\n”, (w < x) ? w: z < y ? z: x));

}

A)1 B)2 C)3 D)4

24.下列程序段的输出结果是

int a=1234;

float b=123.456;

double c=12345.54321;

printf("%2d,%2.1f,%2.1f",a,b,c);

A)无输出

B)12,123.5,12345.5

C)1234,123.5,12345.5

D)1234,123.4,1234.5

二、填空题

1.若有以下定义,请写出以下程序段中输出语句执行后的结果。

(1)(2)(3)

int i = -200, j =2500;

printf(“(1) %d %d”, i, j);

printf(“(2) i = %d, j = %d\n”, i, j);

printf(“(3) i = %d\n j = %d\n”, i, j);

2.变量i、j、k已定义为int类型并赋初值0,用以下语句输入时

scanf(“%d”, &i); scanf(“%d”, &j); scanf(“%d”, &k);

当执行第一个输入语句时从键盘输入:

12.3 表示Enter键

则变量i、j、k的值分别是。

3.复合语句在语法上被认为是。空语句的形式是。

4.以下程序段,要求通过scanf语句给变量赋值,然后输出变量的值。写出运行时给k 输入100,给a输入25.81,给x输入1.89234时的三种可能的输入形式、、。

int k; flaot a; double x;

scanf(“%d%f%lf”, &k, &a, &x);

printf(“k = %d, a = %f, x = %f\n”, k, a, x);

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

int x = 0177;

printf(“x = %3d, x = %6d, x = %6o, x = %6x, x = %6u\n”, x, x, x, x, x);

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

double a = 513.789215;

printf(“a = %8.6f, a = %8.2f, a = %14.8f, a = %14.8lf\n”, a, a, a, a);

7.若要通过以下语句给a、b、c、d分别输入字符A、B、C、D,给w、x、y、z分别输入10、20、30、40,正确的输入形式是。请用代表Enter键。

scanf(“%d%c%d%c%d%c%d%c”, &w, &a, &x,&b, &y, &c, &z, &d);

8.若有以下说明和输入语句,要求给c1、c2输入字符A和B,给a1、a2输入7.29和101.298,从键盘正确输入数据的形式是。

char c1, c2; float a1, a2;

scan f(“%f%f”, &a1, &a2);

scanf(“%c%c”, &c1, &c2);

9.若有以下说明和输入语句,要求给c1、c2、c3输入字符A、B和C,请写出从键盘正确输入数据的形式是。

char c1, c2, c3;

scanf(“%4c”, &c1);

scanf(“%4c”, &c2);

scanf(“%4c”, &c3);

10.下列程序的输出结果是16.00,请填空。

main()

{ int a=9, b=2;

float x=, y=1.1,z;

z=a/2+b*x/y+1/2;

printf("%5.2f\n", z );

}

第五章选择结构程序设计

一、选择题

1.下面的程序片断所表示的数学函数关系是

y = -1;

if(x != 0) y = 1;

if(x > 0) y = 1;

else y = 0;

-1 (x < 0) 1 (x < 0)

A)y = 0 (x = 0) B)y = -1 (x = 0)

1 (x > 0) 0 (x > 0)

0 (x < 0) -1 (x < 0)

C)y = 0 (x = 0) D)y = 1 (x = 0)

1 (x > 0) 0 (x > 0)

2.运行以下程序后,输出的结果是

main()

{ int k = -3;

if(k <= 0)

printf(“****\n”),

else printf(“&&&&\n”);

}

A)**** B)&&&&

C)****&&&& D)有语法错误不能通过编译3.有如下程序

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\n",a,b);

}

该程序的输出结果是

A)a=2,b=1 B)a=1,b=1 C)a=1,b=0 D)a=2,b=2 4.有以下程序

main()

{

int a=5, b=4, c=3, d=2;

if(a>b>c)

printf("%d\n",d);

else if((c-1 >= d) == 1)

printf("%d\n",d+1);

else printf("%d\n",d+2);

}

执行后输出结果是

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

5.有以下程序

main()

{

int i=1,j=1,k=2;

if((j++||k++)&&i++)

printf("%d,%d,%d\n",i,j,k);

}

执行后输出结果是

A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3 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("%f\n",y);}

该程序的输出结果是

A)0.000000 B)0.250000 C)0.500000 D)1.000000 7.若执行以下程序时从键盘上输入3和4,则输出结果是

main()

{

int a, b, s;

scanf(“%d%d”, &a, &b);

s = a;

if(a < b) s = b;

s *= s;

pritnf(“%d\n”, s);

}

A)14 B)16 C)18 D)20 8.假定所有变量均已正确定义,下面语句段执行后的x的值是

a =

b =

c = 0; x = 35;

if(!a) x--; else if(b) ; if(c) x = 3; else x = 4;

A)34 B)4 C)35 D)3 9.判断char型变量c是否为大写字母的C表达式是

A)?A?<=c<=?Z? B)(c>=?A?&(c<=?Z?)

C) (…A?<=c)AND(…Z?>=c) D)(c>=?A?)&&(c<=?Z?)

10.下列运算符中优先级最高的运算符是

A)!B)% C)-= D)&& 11.下列运算符中优先级最低的运算符是

A)|| B)!= C)<= D)+ 12.为表示关系x≥y≥z,应使用的C语言表达式是

A)(x>=y)&&(y>=z) B)(x>=y)AND(y>=z)

C)(x>=y>=z)D)(x>=y)&(y>=z) 13.设a、b和c都是int变量,且a=3,b=4,c=5;则以下的表达式中,值为0的表达式是A)a&&b B)a<=b

C)a||b+c&&b-c D)!((a

main()

{ int a = 2, b = -1, c = 2;

if(a

if(b < 0) c = 0;

else c += 1;

printf(“%d\n”, c);

}

A)0 B)1 C)2 D)3

二、填空题

1.请写出以下程序的输出结果。

main()

{ int a = 100;

if( a > 100) printf(“%d\n”, a > 100);

else printf(“%d\n”, a <= 100);

}

2.将上题中的双分支if语句改写成条件表达式语句:

3.当a = 1、b = 2、c = 3时,以下if语句执行后,a、b、c中的值分别为:

、、。

if(a > c)

b = a; a = c;

c = b;

4.若变量已正确定义,以下语句段的输出结果是。

x = 0; y = 2; z = 3;

switch(x)

{ case 0: switch( y == 2)

{ case 1: printf(“*”); break;

case 2: printf(“%”); break;

}

case 1: switch( z )

{ case 1: printf(“$”);

case 2: printf(“*”); break;

default : printf(“#”);

}

}

5. 以下程序的输出结果是。

main()

{ int x=100, a=10, b=20, ok1=5, ok2=0;

if(a

else if(ok2)x=10;

else x=-1;

printf("%d\n", x);

}

6.若从键盘输入58,则以下程序输出的结果是。

main()

{

int a;

scanf"%d",&a);

if(a>50)printf("%d",a);

if(a>40)printf("%d",a);

if(a>30)printf("%d",a);

}

7.以下程序的执行结果是。

main()

{

int k=8;

switch(k)

{

case 9: k+=1;

case 10: k+=1;

case 11: k+=1; break;

default: k+=1;

}

printf("%d\n",k);

}

8.阅读下面程序,程序执行后的输出结果是。

#include "stdio.h"

main()

{

int x,y,z;

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

if(x>y)

if(x>z)printf("%d",x);

else printf("%d",y);

printf("%d\n",z);

}

9.C语言中用表示逻辑真,用表示逻辑假。

10.根据C语言运算符的优先顺序和结合性,按从先到后的顺序写出以下表达式中,运算符“+”、“>”、“*”、“&&”、“!=”、“||”、“!”和“/”的先后顺序:

、、、、、、、。

(a + b) > c * 2 && b != 5 || !(1 / 2)

11.若表达式(a + b) > c * 2 && b != 5 || !(1 / 2)中,a、b、c的定义和赋值为int a = 3, b = 4, c = 2;

则表达式的值为。

12.将下列数学式改写成C语言的关系表达式或逻辑表达式是A)B)。

A)a = b 或a < c B)| x | > 4

13.请写出与以下表达式等价的表达式是A) B) 。

A)!(x > 0) B)!0

第六章循环控制

一、选择题

1.以下不是死循环的语句是

A)for( ; ; x += i) ;

B)while(1) {x ++; }

C)for(i = 10; ; i++) sum += i;

D)for(; (c = getchar()) != …\n?; ) printf(“%c”, c);

2.下面程序的运行结果是

#include

main()

{

int y=10;

do{y--;}while(--y);

printf("%d\n",y--);

}

A)-1 B)1 C)8 D)0 3.以下程序段的输出结果是

int n = 10;

while(n > 7)

{ n--;

pritnf(“%d”, n);

}

A)1098 B)987 C)10987 D)9876 4.以下程序段的输出结果是

int x = 3;

do

{ printf(“%3d”, x -= 2);

} while(!(--x));

A) 1 B) 3 0 C) 1 -2 D)死循环5.以下程序的输出结果是

main()

{ int i, sum;

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

sum += i;

printf(“%d\n” sum);

}

A)15 B)16 C)不确定D)0 6.以下程序的输出结果是

main()

{ int y = 10

for(; y > 0; y --)

if(y % 3 == 0)

{ pritnf(“%d”, --y);

continue;

}

}

A)741 B)852 C)963 D)875421 7.有以下程序

main()

{ int i;

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

switch(i)

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

case 2: printf("%d", i);

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

}

}

执行后输出结果是

A) 011122 B) 012 C) 012020 D) 120

8.以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:

main()

{ int n,k;

float score,sum,ave;

sum=0.0;

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

{

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

{

scanf("%f",&score);

sum+=score;

}

ave=sum/4.0;

printf("NO%d:%f\n",n,ave);

}

}

上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是

A) sum=0.0; B) sum+=score;

C) ave=sum/4.0 D) printf("NO%d:%f\n",n,ave);

9.若x是int类型变量,以下程序段的输出结果是

for(x = 3; x < 6; x++)

printf( (x%2)?(“**%d”):(“##%d\n”),x);

A)**3 B)##3 C)##3 D)**3##4 ##4 **4 **4##5 **5

**5 ##5

10.以下程序的输出结果是

#include

main()

{

int i;

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

{

if(i % 2)

putchar(…

else

continue;

putchar(…>?);

}

putchar (…#?);

}

A)< > < > < > # B)> < > < > < # C)< > < > # D)> < > < # 11.以下叙述正确的是

A)do-while语句构成的循环不能用其它语句构成的循环来代替。

B)do-while语句构成的循环只能用break语句退出。

C)用do-while构成循环时,只有在while后的表达式为非零时结束循环

D)用do-while构成循环时,只有在while后的表达式为零时结束循环12.以下程序的输出结果是

A)39 81 B)42 84 C)26 68 D)28 70 main()

{ int x, i;

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

{ x = i;

if( ++x % 2 == 0)

if( ++x % 3 == 0 )

if( ++x % 7 == 0)

printf(“%d “, x);

}

printf(“\n”);

}

13.以下程序段的输出结果是

int k, j, s;

for(k = 2; k < 6; k++, k++)

{ s = 1;

for(j = k; j < 6; j++)

s += j;

}

printf(“%d\n”, s);

A)9 B)24 C)15 D)10 14.以下程序段的输出结果是

int i, j, m = 0;

for(i = 1; i <= 15; i += 4)

for(j = 3; j <= 19; j += 4)

m++;

printf(“%d\n”, m);

A)12 B)15 C)20 D)25 15.下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。

#include

main()

{

int i=0,j,k;

do{i++;k=316-13*i;}while(______);

j=k/11;

printf("316=13*%d+11*%d",i,j);

}

A)k/11 B)k%11 C)k/11==0 D)k%11==0 16.在下述程序中,判断i > j共执行了多少次

#include

main()

{

int i = 0, j = 10, k = 2, s = 0;

for( ; ; )

{

i += k;

if(i > j)

{

printf(“%d\n”, s);

break;

}

s += i;

}

}

A)4 B)7 C)6 D)8 二、填空题

1.执行以下程序后的输出结果是。

main()

{

int a, b, c, d, i, j, k;

a = 10;

b =

c =

d = 5; i = j = k = 0;

for( ; a > b; ++b)

i++;

while( a > ++c )

j++;

do

k++;

while(a > d++);

printf(“i = %d, j = %d, k = %d\n”, i, j, k);

}

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

int k, n, m;

n = 10; m = 1; k = 1;

while( k <= n )

m *= 2;

printf(“%d\n”, m);

3.以下程序的输出结果是。

main()

{ int x = 2;

while ( x-- );

printf(“%d\n”, x);

}

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

int i = 0, sum = 1;

do

{ sum += i++;

} while( i < 5);

printf(“%d\n”, sum);

5.有以下程序段:

s = 1.0;

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

s = s + 1.0 / (k * (k + 1));

printf(“%f\n”, s);

请填空,使下面的程序段的功能完全与之等同。

s = 0.0;

;

k = 0;

do

{ s += d;

;

d = 1.0 / (k * (k + 1));

}while( );

printf(“%f\n”, s);

6.以下程序的功能是:从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。请填空。

main()

{ float x, amax, amin;

scanf(“%f”, &x);

amax = x; amin = x;

while( )

{ if( x > amax ) amax = x;

if( ) amin = x;

scanf(“%f”, &x);

}

printf(“\namax = %f\naming = %f\n”, amax, amin);

}

7.若依次输入字符AB,在以下while语句执行后ch的值是。

while( ch = getchar() == …A?);

8.阅读下面程序,程序执行后的输出结果为。

#include "stdio.h"

main()

{

char a,b;

for(a=′0′,b=′9′;a

printf("%c%c",a,b);

printf("\n");

}

9.阅读下面程序,则执行后程序的结果为。

#include "stdio.h"

main()

{

int a=0,b=0;

while(a<15)

a++;

while(b++<15);

printf("%d,%d\n",a,b);

}

10.下列程序的功能是输入一个整数,判断其是否是素数,若为素数输出1,否则输出0.请填空。

main()

{ int i, x, y=1;

scanf("%d", &x);

for(i=2; i<= ; i++)

if { y=0; break;}

printf("%d\n", y);

}

答案

第一、二章C语言概述与算法

一、选择题

1-5:BBBAB

二、填空题

1.顺序结构、选择结构、循环结构

2.自顶向下和逐步求精

3.函数,函数首部和函数体

4.主函数,任何

5.注释,提高程序的可读性

6.自然语言、流程图、N-S图、伪代码和计算机语言

第三章数据类型、运算符与表达式

一、选择题

1-5: BCBDB 6-10: ACABB 11-15: CDDBC 16-20: BBACC 21-27: DCBDADB

二、填空题

1. 11 , 12

2. 4.2 , 4.2

3. { , }

4.说明语句,执行语句

5. int , float , double

6. flaot a1 = 1.0, a2 = 1.0;

7.存储单元

8. 3.5

9. a/(b*c) 、 a/b/c 、 a/c/b

10.将10赋给变量s

11.位, 0和1

12. 8 , 255 , 1111 1111 , -128 , 1000 0000 13. 65535 、 -32768 、 1111 1111 1111 1111 、 1000 0000 0000 0000

14. 16

第四章顺序结构程序设计

一、选择题

1-5: DBCCC 6-10: BDABC 11-15: DDACC 16-20: DCBDB 21-24: ABAC

二、填空题

1.(1) -200 2500 (2) i = -200,j = 2500 (3) i = -200

j = 2500

2.12 、0 、0

3.一条语句,;

4.100 25.81 1.8923↙、100 25.81↙1.8923↙、100↙25.81↙1.8923↙其中:↙表示回车

5. x = 127,x = 127,x = 177,x = 7f,x = 127

6. a = 513.789215,a = 513.79,a = 513.78921500,a = 513.78921500 7. 10A20B30C40D

8. 7.29 101.298AB

9. AAAABBBBCCCC↙

10. 6.6

第五章选择结构程序设计

一、选择题

1-5: CAABC 6-10: CBBDA 11-14: AADC

二、填空题

1. 1

2. printf(“%d\n”, (a > 100) ? (a > 100) : (a <= 100) );

3. 3 、 2 、 2

4. *#

5. -1

6. 585858

7 9

8 3

9.非0 , 0

10. + 、 * 、 > 、 != 、 && 、 / 、 ! 、 || 11. 1

12. a==b || a4 (或 abs(x)>4)

13. x <= 0 , 1

第六章循环控制

c语言试题及答案

1、以下正确的说法是( B ) (A) 用户若需要调用标准库函数,调用前必须重新定义 (B) 用户可以重新定义标准库函数,若如此,该函数将失去原有含义 (C) 系统根本不允许用户重新定义标准库函数 (D) 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调 2、以下正确的函数声明形式是( A ) (A) double fun(int x, int y) (B) double fun(int x; int y) (C) double fun(int x, int y); (D) double fun(int x,y); 3、以下正确的函数形式是( D ) (A) double fun(int x, int y) { z=x+y; return z;} (B) fun(int x,y) { int z; return z;} (C) fun(x,y) { int x,y; double z; z=x+y; return z;} (D) double fun(int x, int y) { double z; z=x+y; return z;} 4、以下正确的说法是( A ) 在C语言中 (A) 实参和与其对应的形参各占用独立的存储单元 (B) 实参和与其对应的形参共占用一个存储单元 (C) 只有当实参和与其对应的形参同名时才共占用存储单元 (D) 形参是虚拟的,不占用存储单元 5、若调用一个函数,且此函数中没有return语句,则正确的说法是( A ) 该函数 (A) 没有返回值 (B) 返回若干个系统默认值 (C) 能返回一个用户所希望的函数值 (D) 返回一个不确定的值 6、以下不正确的说法是( B ) C语言规定 (A) 实参可以是常量、变量和表达式 (B) 形参可以是常量、变量和表达式 (C) 实参可以为任意类型 (D) 形参应与其对应的实参类型一致 7、以下正确的说法是( C ) (A) 定义函数时,形参的类型说明可以放在函数体内 (B) return后边的值不能为表达式 (C) 如果函数值的类型与返回值类型不一致,以函数值类型为准 (D) 如果形参与实参的类型不一致,以实参类型为准 8、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( B ) (A) 地址传递 (B) 单向值传递 (C) 由实参传给形参,再由形参传回给实参 (D) 由用户指定传递方式

C语言题库及答案

C语言题库及答案

姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。

c 试题及答案

一、单项选择题 1、下列哪个类型的对象是https://www.360docs.net/doc/f412046684.html,在非连接模式下处理数据内容的主要对象? (D ) A. Command B. Connection C. DataAdapter D. DataSet 2、枚举类型是一组命名的常量集合,所有整形都可以作为枚举类型的基本类 型, 如果类型省略,则定义为( A )。 A. int B. sbyte C. uint D. ulong 3、创建数据库连接使用的对象是( A )。 A. Connection B. Command C. DataReader D. DataSet 4、C#中导入某一命名空间的关键字是( A )。 A. using B. use C.import D. include 5、一般情况下,异常类存放在什么命名空间中?( B )。 A. 生成异常类所在的命名空间 B. System.Exception命名空 间 C. System.Diagnostics命名空间 D. System命名空间 6、若将数据库中的数据填充到数据集,应调用SqlDataAdapter的( C )方 法。 A. Open B. Close C. Fill D. Update 7、若将数据集中所作更改更新回数据库,应调用SqlAdapter的(A )方法。 A. Update B. Close C. Fill D. Open 8、在使用FileStream 打开一个文件时,通过使用FileMode 枚举类型的( A ) 成员,来指定操作系统打开一个现有文件并把文件读写指针定位在 文件尾部。 A. Append B. Create C. CreateNew D. Truncate 9、在菜单项File中,为将F设为助记符,应将该菜单项的Text属性设置为 (B )。 A. @File B.&File C. %File D._File 10、指定操作系统读取文件方式中的FileMode .Create的含义是( D)。 A. 打开现有文件 B. 指定操作系统应创建文件,如果文件存在,将出现异常 C. 打开现有文件,若文件不存在,出现异常 D. 指定操作系统应创建文件,如果文件存在,将被改写 11、枚举类型是一组命名的常量集合,所有整形都可以作为枚举类型的基本类 型,如果类型省略,则定义为( D )。 A. uint B. sbyte C. ulong D. int 12、当运行程序时,系统自动执行启动窗体的( C )事件。 A. Click B.DoubleClick C. Load D. Activated

C语言考试题库及答案复习整理

C 语言理论上机考试选择题部分(共200题) 1、下面程序的输出是___D______ #include void main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b 2、在下列选项中,不正确的赋值语句是__D______. A) ++t; B) n1=(n2=(n3=0)); C) k=i=j; D) a=b+c=1; 3、下面合法的C 语言字符常量是______A____. A) '\t' B) "A" C) 65 D) A 4、表达式: 10!=9的值是 ________D____. A) true B) 非零值 C) 0 D) 1 5、C 语言提供的合法的数据类型关键字是_____B____. A) Double B) short C) integer D) Char 6、字符(char)型数据在微机内存中的存储形式是__D__. A) 反码 B) 补码 C) EBCDIC 码 D) ASCII 码 7、C 语言程序的基本单位是_____C______. A) 程序行 B) 语句 C) 函数 D) 字符 8、设 int a=12,则执行完语句

a+=a-=a*a 后,a 的值是____D____ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__. #include void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 10、下面程序的输出是____B______. #include void main() {int x=023; printf("%d\n",--x); } A) 17 B) 18 C) 23 D) 24 11、下面程序的输出的是_____C____. #include void main() {int x=10,y=3; printf("%d\n",y=x/y); } A) 0 B) 1 C) 3 D) 不确定的值 12、已知字母A 的ASCII 码为十进制的65,下面程序的输出是______A_____. #include void main() {char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf("%d,%c\n",ch1,ch2); } A) 67,D B) B,C C) C,D D) 不确定的值 13、若要求在if 后一对圆括号中表示a 不等于0的关系,则能正确表示这一关系的表达式为____D__. A) a<>0 B) !a C) a=0 D) a

C期末考试题及答案

C期末考试题及答案 Revised at 2 pm on December 25, 2020.

一、填空题(每空0.5分,共30分) 1、世界坐标系简称__WCS_用户自定义坐标系简称__UCS_。 2、工作空间的切换:“工具”/“工作空间”或“工作空间”工具栏。 3、工具栏包括30种,系统默认的显示工具栏包括:“标准”、“属性”、“绘图”和“修改”等工具栏。 4、多线的对正方式有_上(T)_、_无(Z)_和_下(B)_。 5、文字标注包括标注单行文字和标注多行文字。 6、渲染环境是指在渲染对象时进行的雾化和深度设置。 7、漫游和飞行用户可以通过键盘和鼠标来控制视图显示,并创建导航动画。 8、编辑实体的边的种类:压印边、复制边、着色边。 9、动态块是通过自定义夹点或自定义特性定义的块。在图形中使用动态块,用户可以随时对组成块的对象进行修改。 10、三维实体是具有体积、质量、重心、回转半径、惯性距等特征的三维对象。 11、在AutoCAD 2007中,用户可以创建的光源有电光源、聚光灯光源和平行光光源。 12、相切、相切、半径法是指:通过指定圆的两个切点和半径来绘制圆。 13、绘制圆环的步骤中,先输入圆环的内径和外径,后确定圆环的中心点。 14、计算机辅助设计是:工程技术人员在CAD系统的辅助下,根据产品的设计程序进行设计的一项新技术。 15、菜单栏包括11种,每一种菜单中都含有四种显示情况:命令后跟右三角 、后跟省略号、后跟快捷键或功能键或命令呈灰色。 16、要对图形对象进行编辑就必须选中图形对象,在AutoCAD 2007中,选择对象的方法很多,常用的有_直接拾取_、矩形框选择_、_不规则区域选择_和快速选择。 17、在设置显示精度时,如果设置的精度越高,即分辨率就越高,计算机计算的时间 也越长,显示图形的速度也就越慢。 18、三维基本实体的种类包括:多段体、长方体、楔体、圆柱体、圆锥体、球体、圆环体、棱锥面。 19、布尔运算中只留重复的一部分的运算是交集运算。从一个图形中去掉与另一个图形重复部分的运算是差集运算。

C语言试题及答案

第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. A B. B C. D D. E (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由主程序和子程序组成 C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 32 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。 (3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。 (4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。 (5) C 语言的程序中有特殊含义的英语单词称为保留字。 (6) C 语言标识符的长度是前 8 位有效。 (7) C 语言中,标识符的定义规则是以字母或下划线为开头。 (8) C 语言程序的注释可以出现在程序中的任何地方,它总是以 /* 符号作为开始标记,以 */ 符号作为结束标记。 第2章数据类型运算符和表达式习题 1. 单项选择题 (1) 以下选项中,正确的 C 语言整型常量是 D 。 A. 32L B. 510000 C. -1.00 D. 567 (2) 以下选项中, D 是不正确的 C 语言字符型常量。

C语言程序设计程序填空题库及答案

程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); }

【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

C语言试题及答案

一、单项选择题 1. 软件危机具有下列表现( d )。 I. 对软件开发成本估计不准确II. 软件产品的质量往往靠不住 III. 软件常常不可维护IV. 软件成本逐年上升 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 2. 软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是( A )。 A. 运行和维护阶段 B. 设计阶段 C. 代码实现阶段 D. 测试阶段 3. 下列属于软件的特点的是(D )。 A. 软件是一种逻辑实体,具有抽象性 ~ B. 软件在使用过程中没有磨损、老化的问题 C. 软件不同于一般程序,它的一个显著特点是规模庞大,复杂程度高 D. 以上都正确 4. 软件工程的出现是由于(D )。 A. 软件危机的出现 B. 计算机硬件技术的发展 C. 软件社会化的需要 D. 计算机软件技术的发展 5. 软件开发技术不包含( d )。 A. 软件开发方法学 B. 软件工程环境 C. 软件工具 D. 软件质量度度量 6. 软件工程的课程特点( D )。 【 I. 学科理论及其知识应用的多维性 II. 工程化 III. 浓厚的方法学色彩 IV. 实践性、指导性强 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 7. 下列属于应用软件的是( b )。 I. 计算机辅助教学软件II. 软件测试工具 III. 办公自动化软件IV. 工程与科学计算软件

A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 8. 需求分析阶段最重要的技术文档是( b )。 - A. 设计说明书 B. 需求规格说明书 C. 可行性分析报告 D. 用户手册 9. 以下关于数据流图的说法错误的是( c )。 A. 数据流图舍去了具体的物质,只剩下数据的流动、加工处理和存储 B. 数据流图是用作结构化分析的一种工具 C. 传统的数据流图中主要由加工、数据源点/终点、数据流、控制流、数据存储组成 D. 数据流图的绘制采用自上向下、逐层分解的方法 10. 数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( c )。 A. 数据库设计 B. 数据通信 C. 数据定义 D. 数据维护 11. 需求分析阶段的研究对象是( b )。 ¥ A. 系统分析员要求 B. 用户要求 C. 软硬件要求 D. 系统要求 12. 结构化方法的基本原则是( b )。 A. 模块化 B. 抽象与分解 C. 信息隐蔽 D. 逐步求精 13. 耦合度最高的是(b)耦合。 A. 环境 B. 内容 C. 控制 D. 数据 14. 内聚程度较低的是( a )内聚。 A. 偶然 B. 通讯 C. 顺序 D. 时间 15. 对一个程序来说,组成系统的模块数目( b ),则开发成本越小。 A. 越多 B. 越少 C. 顺序 D. 时间> 16. 画软件结构图时应注意调用关系只能是(B )。 A. 从下到上 B. 从上到下 C. 从左到右 D. 从右到左 17. 程序流程图中的箭头代表( b )。 A. 数据流 B. 控制流 C. 顺序流 D. 调用 18. 软件测试是软件质量保证的重要手段,下述( B )是软件测试的最基础环节。

C试题及答案一

C++程序设计模拟试卷(一) 一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中 只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无 分。 1. 编写C++程序一般需经过的几个步骤依次是() A. 编辑、调试、编译、连接 B. 编辑、编译、连接、运行 C. 编译、调试、编辑、连接 D. 编译、编辑、连接、运行 答案:B 解析:经过编辑、编译、连接和运行四个步骤。编辑是将C++源程序输入计算机的过程,保 存文件名为cpp。编译是使用系统提供的编译器将源程序cpp生成机器语言的过程,目标文件为 obj,由于没有得到系统分配的绝对地址,还不能直接运行。连接是将目标文件obj转换为可执行 程序的过程,结果为exe。运行是执行exe,在屏幕上显示结果的过程。 2. 决定C++语言中函数的返回值类型的是() A. return语句中的表达式类型 B. 调用该函数时系统随机产生的类型 C. 调用该函数时的主调用函数类型 D. 在定义该函数时所指定的数据类型 答案:D 解析:函数的返回值类型由定义函数时的指定的数据类型决定的。A项的表达式的值要转换 成函数的定义时的返回类型。 3. 下面叙述不正确的是() A. 派生类一般都用公有派生 B. 对基类成员的访问必须是无二义性的 C. 赋值兼容规则也适用于多重继承的组合 D. 基类的公有成员在派生类中仍然是公有的 答案:D 解析:继承方式有三种:公有、私有和保护。多继承中,多个基类具有同名成员,在它们 的子类中访问这些成员,就产生了二义性,但进行访问时,不能存在二义性。赋值兼容规则是指 派生类对象可以当作基类对象使用,只要存在继承关系,所以单继承或多继承都适用。基类中的 公有成员采用私有继承时,在派生类中变成了私有成员,所以D项错误。 4. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体 也就是() A. 类 B. 对象 C. 函数体 D. 数据块 答案:A 解析:类即数据和操作的组合体,数据是类的静态特征,操作是类具有的动作。 5. 在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中 的() A. 私有成员 B. 公有成员 C. 保护成员 D. 保护成员或私有成员 答案:A 解析:在派生类中基类的保护或者基类公有都可以直接访问,基类的私有成员只能是基类 的成员函数来访问。所以选择A项。 6. 对基类和派生类的关系描述中,错误的是() A. 派生类是基类的具体化 B. 基类继承了派生类的属性 C. 派生类是基类定义的延续 D. 派生类是基类的特殊化 答案:B 解析:派生类的成员一个是来自基类,一个来自本身,所以派生类是基类的扩展,也是基 类的具体化和特殊化,派生类是对基类扩展。B项基类不能继承派生类成员,所以错误。 7. 关于this指针使用说法正确的是() A. 保证每个对象拥有自己的数据成员,但共享处理这些数据的代码

大学C语言考试题库及答案

精选考试类应用文档,如果您需要使用本文档,请点击下载,另外祝您生活愉快,工作顺利,万事如意! 大学C语言考试题库及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题库吧。加油! 一单项选择题库 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是(B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是(C )。 A)%x B)a+b C)a123 D)123 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。

完整版C试题及答案

C++考试试卷 1. 已知:char *s=S456; 则cout<>s; C) char *s1=abcd,*s2=efghijk;strcpy(s1,s2); D) char *s=abcdefg; cout<<*s; 4. C++中,关于构造函数和析构函数,正确的描述是()。 A) 在定义类时,必须自定义构造函数和析构函数,在创建对象时自动调用构造函数,在释放对象时自动调用析构函数 B) 构造函数和析构函数均可以重载 C) 已知类Student以及Student *p; 在使用p=new Student;时自动调用无参构造函数创建动态对象,在delelte p;时自动调用析构函数释放动态对象 D) 构造函数和析构函数都可以成为虚函数 )。关于拷贝构造函数的描述正确的是(5. A) 通常的拷贝构造函数的参数是对象的指针类型 B) 如果不自定义拷贝构造函数,系统提供默认的拷贝构造函数 C) 如果有自定义的构造函数,系统就不再提供拷贝构造函数 D) 如果需要用已有对象为新创建的对象初始化时,就必须自定义拷贝构造函数 6. 有关静态成员的描述错误的是()。 A) 某个类的静态数据成员由该类的所有对象所共享 B) 类的公有静态数据成员既可以用类的对象访问,也可以直接用作用域运算符“::”通过类名来访问 C) 静态数据成员既可以是私有成员,也可以是公有成员 D) 类中一旦定义了静态数据成员,就必须定义静态成员函数,以便对静态数据成员进行操作

C语言函数题库及答案

C语言函数题库及答案 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

第六部分函数 一、单项选择题 1.C语言中的函数返回值的类型是由(D)决定 A.return语句中的表达式B.调用函数的主调函数 C.调用函数时临时D.定义函数时所指定的函数类型 2.下面不正确的描述是(B)。 A.调用函数时,实参可以是表达式 B.调用函数时,实参和形参可以共用内存单元 C.调用函数时,将形参分配内存单元 D.调用函数时,实参与形参的类型必须一致 3.在C语言中,调用一个函数时,实参变量和形参变量之间的数据传递是 (D) A.地址传递B.值传递 C.由实参传递给形参,并由形参传回给实参D.由用户指定传递方式 4.下面的函数调用语句中含有(A)个实参 inta,b,c; intsum(intx1,intx2); …… total=sum((a,b),c); A.2B.3C.4 D.5 5.在C语言中(C) A.函数的定义可以嵌套,但函数的调用不可以嵌套

B.函数的定义和调用均不可以嵌套 C.函数的定义不可以嵌套,但是函数的调用可以嵌套 D.函数的定义和调用均可以嵌套 6.关于C语言中的return语句正确的是(C) A.只能在主函数中出现 B.在每个函数中都必须出现 C.可以在一个函数中出现多次 D.只能在除主函数之外的函数中出现 7.两个形参中,第一个形参为指针类型、第二个形参为整型,则对函数形参的说明有错误的是(D) (floatx[],intn) (float*x,intn) (floatx[10],intn) (floatx,intn) 8.在C语言中,函数的数据类型是指(A) A.函数返回值的数据类型 B.函数形参的数据类型 C.调用该函数时的实参的数据类型 D.任意指定的数据类型 9.已知如下定义的函数: fun1(a) {printf("\n%d",a); } 则该函数的数据类型是(C)

历年C语言考试题库及答案

C语言理论上机考试选择题部分(共200题,仅针对11级定向专业) 1、下面程序的输出是___D______ #include<> void main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b 2、在下列选项中,不正确的赋值语句是__D______. A) ++t; B) n1=(n2=(n3=0)); C) k=i=j; D) a=b+c=1; 3、下面合法的C语言字符常量是______A____. A) '\t' B) "A" C) 65 D) A 4、表达式: 10!=9的值是________D____. A) true B) 非零值 C) 0 D) 1 5、C语言提供的合法的数据类型关键字是_____B____. A) Double B) short C) integer D) Char 6、字符(char)型数据在微机内存中的存储形式是__D__. A) 反码 B) 补码 C) EBCDIC码 D) ASCII码 7、C语言程序的基本单位是_____C______.A) 程序行 B) 语句 C) 函数 D) 字符 8、设 int a=12,则执行完语句a+=a-=a*a后,a的值是____D____ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__. #include<> void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 10、下面程序的输出是____B______. #include<> void main() {int x=023; printf("%d\n",--x); } A) 17 B) 18 C) 23 D) 24 11、下面程序的输出的是_____C____. #include<> void main() {int x=10,y=3; printf("%d\n",y=x/y); }

c语言试题及答案

c语言试题及答案 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

1、以下正确的说法是(B) (A)用户若需要调用标准库函数,调用前必须重新定义 (B)用户可以重新定义标准库函数,若如此,该函数将失去原有含义 (C)系统根本不允许用户重新定义标准库函数 (D)用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调 2、以下正确的函数声明形式是(A) (A)doublefun(intx,inty) (B)doublefun(intx;inty) (C)doublefun(intx,inty); (D)doublefun(intx,y); 3、以下正确的函数形式是(D) (A)doublefun(intx,inty){z=x+y;returnz;} (B)fun(intx,y){intz;returnz;} (C)fun(x,y){intx,y;doublez;z=x+y;returnz;} (D)doublefun(intx,inty){doublez;z=x+y;returnz;} 4、以下正确的说法是(A ) 在C语言中 (A)实参和与其对应的形参各占用独立的存储单元 (B)实参和与其对应的形参共占用一个存储单元

(C)只有当实参和与其对应的形参同名时才共占用存储单元 (D)形参是虚拟的,不占用存储单元 5、若调用一个函数,且此函数中没有return语句,则正确的说法是(A) 该函数 (A)没有返回值 (B)返回若干个系统默认值 (C)能返回一个用户所希望的函数值 (D)返回一个不确定的值 6、以下不正确的说法是(B) C语言规定 (A)实参可以是常量、变量和表达式 (B)形参可以是常量、变量和表达式 (C)实参可以为任意类型 (D)形参应与其对应的实参类型一致 7、以下正确的说法是(C) (A)定义函数时,形参的类型说明可以放在函数体内 (B)return后边的值不能为表达式 (C)如果函数值的类型与返回值类型不一致,以函数值类型为准 (D)如果形参与实参的类型不一致,以实参类型为准

C语言试题及答案

大学C语言考试题库 第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. A B. B C. D D. E (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由主程序和子程序组成 C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 32 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。

C试题及答案

C#模拟练习 一.选择填空 1. 面向对象的语言具有继承性、多态性和____性。 A) 封装 B) 拆箱 C) 封闭 D) 逻辑 2. 以下叙述正确的是____ A) 接口中可以有虚方法。 B) 一个类可以实现多个接口。 C) 接口可以被实例化。 D) 接口中可以包含已实现的方法。 3. .当整数a赋值给一个object对象时,整数a将会被____。 A)拆箱 B)丢失 C) 装箱 D)出错 4. float f=-123.567F; int i=(int)f;i的值现在是_____? A) 123f B) 123.56 C) -123f D)-123 5. 委托声明的关键字是____。 A) delegate B) delete C) public D)interface 6. 在.Net中所有可序列化的类都被标记为____。 A) (serializable) B) [serializable] C) serializable D) serialize 7. C#中的索引器类型应该是_____类型。 A)整型 B)字符型 C)任意类型 D)数组8.在c#中using关键字的作用是_____ A)定义命名空间 B)新建实例 C)调用类 D)引入命名空间9.在c#中new关键字的作用是_____ A)新建对象实例 B)定义命名空间 C)调用类 D)引入命名空间 10.在c#中利用sealed修饰的类_____。 A)密封,不能继承 B)密封,可以继承 C)表示基类 D)表示抽象类 二.阅读程序,指出划线部分的含义或功能 ① using ; ②namespace ConAAAA { ③ class FirstThread { public void Task() { ("This is a Task"); } static void Main(string[] args) { ④FirstThread ft = new FirstThread(); Thread t1 = new Thread(new ThreadStart); (); ⑤(); } } } 三.写出下列程序的运行结果。 1.namespace TestAAA { class TestArray

2020最新C语言题库及答案

2020最新C语言题库及答案

姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。

3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age

C语言试题及答案解析

C语言 一、选择题(第题2分,共20分) 1.一个C程序的执行是从 A 。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 2.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。 x=(i=4,j=16,k=32) A) 4 B) 16 C) 32 D) 52 3.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。 A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647 4.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。 A) float B) char C) int D) double 5. putchar函数可以向终端输出一个 D 。 A) 整型变量表达式 B) 实型变量值 C) 字符串 D) 字符或字符型变量值 6. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。 A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出 C) 右对齐输出该字符串,左补空格 D) 输出错误信息 7.判断char型变量ch是否为大写字母的正确表达式是 C 。 A) ‘A’<=ch<=‘Z’ B) (ch>=‘A’)&(ch<=‘Z’) C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch) 8.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。 if(x>y) z=x; x=y; y=z; A) x=10, y=20, z=30 B) x=20, y=30, z=30 C) x=20, y=30, z=10 D) x=20, y=30, z=20 9.以下程序段______C__. x=-1; do{ x=x*x; } while(!x); A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误 10.以下正确的描述是___B____. A)continue语句的作用是结束整个循环的执行

2020年C语言题库及答案

2020年C语言题库及答案

姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油!一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行

5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

相关文档
最新文档