文档库 最新最全的文档下载
当前位置:文档库 › c语言第3章练习题答案

c语言第3章练习题答案

c语言第3章练习题答案
c语言第3章练习题答案

第3章练习题

(一)标识符

1.下列可用于C语言用户标识符的一组是( )。C

A) void, define, WORD B) a33,123,Car

C) For, -abc, IFCase D) 2a, DO, sizeof

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

A) 大写字母B) 连接符C) 数字字符D) 下划线

3.下面各选项中,均是C语言合法标识符的选项组是( )。B

A) 33 we auto B) _23 me _3ew C) _43 3e else D) ER -DF 32

4.以下叙述中错误的是( )。A

A) 用户所定义的标识符允许使用关键字

B) 用户所定义的标识符应尽量做到"见名识意"

C) 用户所定义的标识符中,大、小写字母代表不同标识

D) 用户所定义的标识符必须以字母或下划线开头

5.下面四个选项中,均是不合法的用户标识符的选项是( )。C

A) c_b goto int B) A P0 do

C) float la0A D) 123 temp goto

6.下列是用户自定义标识符的是( )。A

A) w1 B) 3xy C) int D) LINE-3

7.以下选项中合法的标识符是( )。B

A) 1_2 B) _12 C) 2-1 D) 12_

8.以下可用作C语言用户标识符的是( )。C

A) void,define,WORD B) a3b3,123,IF

C) FOR,_abc,Case D) 2a,Do,Sizeof

9.正确的标识符是( )。A

A) y2 B) x=8 C) z.2 D) !at

10.以下能作为C语言变量名的是( )。D

A) float B) char C) do D) Double

11.请选出可用做C语言用户标识符的一组标识符( )。B

A) int B) a3b3 C) For D) 2a

define _123 3a DO

WORD IF switch sizeof

12.下列定义变量的语句中错误的是( )。B

A) int i; B) double int; C) char a; D) float cup;

(二)数据类型

1.以下符合C语言语法的实型常量是( )。A

A) 8E-2 B) 3.14.159E C) E14 D) 2.2E0.5

2.以下选项中不属于字符常量的是( )。A

A) "E" B) 'E' C) '\xCC' D) '\072'

3.以下不合法的字符常量是( )。B

A) '\"' B) '\018' C) '\xcc' D) '\\'

4.以下合法的十六进制数是( )。B

A) 0x B) 0x4de C) 0x1h D) oX77

5.若有说明语句:char c='\72';则变量c( )。A

A) 包含1个字符B) 包含2个字符

C) 包含3个字符D) 说明不合法,c的值不确定

6.以下选项中值为1的表达式是( )。B

A) 1-'0' B) 1-'\0' C) '1'-0 D) '\0'-'0'

7.以下选项中,不能作为合法常量的是( )。C

A) 1.234e05 B) 1.234e+5 C) 1.234e0.5 D) 1.234e0

8.以下选项中不属于C语言的类型的是( )。B

A) unsigned long int B) long short

C) unsigned int D) signed short int

9.有以下定义语句,编译时会出现编译错误的是( )。C

A) char a='a'; B) char a='\n';

C) char a='aa'; D) char a='\x2d';

10.C语言中,合法的字符串常量是( )。A

A) "M" B) '\t' C) 100 D) MUST

11.在C语言中,合法的长整型常数是( )。C

A) 0.123456 B) 4962 C) 9L D) 5.321e2

12.以下选项中可以作为C语言中合法整数的是( )。D

A) 01988 B) 110110B C) afbc D) 0Xbbc

13.设有语句char A='\65';,则变量a( )。B

A) 包含4个字符B) 包含1个字符

C) 包含3个字符D) a为不合法的定义形式

14.以下变量说明中,正确的是( )。B

A) char: x y z; B) int a,b; C) int a;b; D) char x;y;z;

15.以下数据中属于字符串常量的是( )。C

A) ASK B) 'ask' C) "ASK" D) 'm'

16.以下符号中,不属于转义字符的是( )。A

A) '\' B) '\x12' C) '\011' D) '\07'

17.以下正确的字符串常量是( )。D

A) "\\\" B) 'opqrst ' C) thank you D) "abc"

18.设有语句char a= '\010';,则变量a( )。A

A) 包含1个字符B) 包含2个字符

C) 包含3个字符D) 该语句不正确

19.以下选项中不能作为合法常量的是( )。B

A) 3.14e05 B) 3.14e0.5 C) 3.14e+5 D) 3.14e0

20.设变量a是int型,f是float型,i是double型,则表达式10+'a'+i*f值的数据类型为( )。C

A) int B) float C) double D) 不确定

21.现有定义int a;double b;float c;char k;,则表达式a/b+c-k值的类型为( )。B

A) int B) double C) float D) char

(三)运算符、表达式和变量赋初值

1.若函数中有定义语句:int a;,则( )。C

A) 系统将自动给a赋初值为0 B) 系统将自动给a赋初值-1

C) 这时a中的值无意义D) 这时a中无任何值

2.以下不能正确表示代数式4cd/ab的C语言表达式是( )。D

A) 4*c*d/a/b B) c*d/a/b*4 C) c/a/b*d*4 D) 4*c*d/a*b

3.下列关于单目运算符++,--的叙述中正确的是( )。D

A) 它们的运算对象可以是任何变量和常量

B) 它们的运算对象可以是char型变量和int型变量,但不能是float型变量

C) 它们的运算对象可以是int型变量,但不能是double型变量和float型变量

D) 它们的运算对象可以是char型变量、int型变量和float型变量

*4.以下定义语句中正确的是( )。B

A) int a=b=0; B) char A=65+1,b=?b?;

C) float a=1,*b=&a,*c=&b; D) double a=0.0;b=1.1;

5.设有定义:float x=123.4567;则执行以下语句后的输出结果是( )。A

Printf(“%f\n”,(int)(x*100+0.5)/100.0);

A) 123.460000 B) 123.456700 C) 123.450000 D) 123

6.设有定义:int m=0;。以下选项的四个表达式中与其他三个表达式的值不相同的是( )。C

A) ++m B) m+=1 C) m++ D) m+1

7.以下选项中正确的定义语句是( )。C

A) double a;b; B) double a=b=7;

C) double a=7,b=7; D) double,a,b;

8.已知大写字母A的ASCII码的值是65,小写字母a的ASCII码的值是97,以下不能将变量c中的大写字母转换为对应小写字母的语句是( )。D

A) c=(c-…A?)%26+?a?B) c=c+32 C) c=c-…A?+?a?D) c=(…A?+c)%26-…a?

9.若变量已正确定义并赋值,以下符合C语言语法的表达式是( )。B

A) a:=b+1 B) a=b=c+2 C) int 18.5%3 D) a=a+7=c+b

10.已知各变量的类型说明如下:

int k,a,b;

unsigned long w=5;

double x=1.42;

则以下不符合C语言语法的表达式是( )。A

A) x%(-3) B) w+=-2

C) k=(a=2,b=3,a+b) D) a+=a-=(b=4)*(a=3)

11.设变量x为float型且已赋值,则以下语句能将x中的数值保留到小数点后两位,并将第3位四舍五入的是( )。B

A) x=(x*100+0.5)/100.0 B) x=(int)(x*100+0.5)/100.0

C) x=x*100+0.5/100.0 D) x=(x/100+0.5)*100.0

12.设有定义:int k=1,m=2;float f=7;,则以下选项中错误的表达式是( )。C

A) k=k>=k B) -k++ C) k%int(f) D) k>=f>=m

13.以下不能正确计算代数式1/3×sin1/2×sin1/2值的C语言表达式是( )。A

A) 1/3*sin(1/2)*sin(1/2) B) sin(0.5)*sin(0.5)/3

C) pow(sin(0.5),2)/3 D) 1/3.0*pow(sin(1.0/2), 2)

14.下面程序的运行结果是( )。C

main()

{ int y=5, x=14; y=((x=3*y,x+6),x-1);

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

}

A) x=27,y=27 B) x=12,y=13 C) x=15,y=14 D) x=y=27

15.设有定义:int x=3;,以下表达式中,值不为12的是( )。D

A) x*=x+1 B) x++,3*x C) x*=(1+x) D) 2*x,x+=6

16.请选出合法的C语言赋值语句( )。B

A) a=10 B) a++; C) a=5,b=10; D) k=float(a+b);

17.下列程序的输出结果是( )。C

main()

{ double d=3.2; int x,y;

x=1.2; y=(x+3.8)/5.0;

printf(“%d\n”,d*y);

}

A) 3 B) 3.2 C) 0 D) 3.07

18.执行语句x=(a=10,b=a--)后,x、a、b的值依次为( )。D

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

19.在以下选项中,不正确的赋值语句是( )。C

A) i++; B) n1=(n2=(n3=0)); C) m+n=1; D) i=k==j;

20.以下程序的输出结果是( )。A

main()

{ int a=052;

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

}

A) 41 B) 42 C) 51 D) 52

21.以下非法的赋值语句是( )。D

A) n=(i=9,++i); B) ++ j; C) x=a+b; D) ++(j+1);

22.设a为5,执行下列语句后,b的值不为2的是( )。C

A) b=a/2 B) b=6-(--a) C) b=a%2 D) b=a>3?2:2

23.以下语句中符合C语言语法的赋值语句是( )。A

A) m=n ; B) a=10+b,b+=a+10; C) m+n=10; D) a=7+b,c=a+7;

24.以下选项中与a=i++完全等价的表达式是( )。C

A) a=++i B) i=i+1,a=i C) a=i,i=i+1 D) a+=i+1

25.设int a=10,则执行完语句a+=a-=a*a后,a的值是( )。B

A) -90 B) -180 C) 100 D) -100

26.执行下面程序中的输出语句后,

main()

{ int a;

printf(“%d\n”,(a=4*6,a*2),a+5);

}

a的值是( )。B

A) 48 B) 24 C) 29 D) 53

27.设有条件表达式:(a)?i++:j--,则以下表达式中与(a)完全等价的是( )。A

A) (a!=0) B) (a==0) C) (a==1) D) (a!=1)

28.以下选项中非法的表达式是( )。A

A) a+1=a+1 B) a=b==0 C) (char)(100+100) D) 7<=x<60

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

A) 1 B) 12 C) 0 D) 5

30.以下程序运行后的输出结果是( )。D

main()

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

if(i++==1&&(++j==3||k++==3))

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

}

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

31.当变量c的值不为2、4、6时,值也为”真”的表达式是( )。B

A) (c==2)||(c==4)||(c==6)

B) (c>=2&& c<=6)||(c!=3)||(c!=5)

C) (c>=2&&c<=6)&&!(c%2)

D) (c>=2&& c<=6)&&(c%2!=1)

32.有以下程序:

main()

{ int a=1, b=2,j=0, n=0,i;

i=(n=b>a)||(j=a

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

}

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

A) 1,0 B) 0,1 C) 0,0 D) 1,1

33.表示关系M<=N<=P的C语言表达式为( )。B

A) (M<=N)AND(N<=P) B) (M<=N)&&(N<=P)

C) (M<=N<=P) D) (M<=N)&(N<=P)

34.设ch是char型变量,其值为C,且有下面的表达式ch=(ch>='A'&&ch<='Z')?(ch+32):ch

上面表达式的值是( )。A

A) c B) Z C) C D) z

35.已有定义:char c;,程序前面已在命令中包含ctype.h文件。不能用于判断c中的字符是否为大写字母的表达式是( )。B

A) isupper(c) B) 'A'<=c<='Z'

C) 'A'<=c&&c<='Z' D) c<=('z'-32)&&('a'-32)<=c

36.设a、b和c都是int型变量,且i=3、j=4、k=5,则下面的表达式中,值为0的表达式是( )。D

A) 'i'&&'j'&&'k' B) i<=j C) i||+k&&j-k D) !((i

37.下列语句中,符合C语言语法的语句是( )。D

A) i=1+j+k=i+2; B) 1=1+i++=i+5; C) i=7+1,i++,1+4 D) i=1+2,k=j+2;

38.以下程序的输出是( )。C

main()

{ char x=040;

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

}

A) 32 B) 20 C) 64 D) 40

39.设有以下语句:

char a=3,b=6,c;

c=a^b<<2;

则c的二进制值是( )。A

A) 00011011 B) 00010100 C) 00011100 D) 00011000

40.有以下程序:

main()

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

printf(“%d\n”,x|y&~z);

}

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

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

(四)输入与输出函数

1.阅读以下程序:

#include

main()

{ int case;float printF;

printf("请输入2个数:");

scanf("%d%f",&case,&printF);

printf("% d%f\n",case,printF);

}

该程序在编译时产生错误,原因是( )。A

A) 定义语句出错,case是关键字,不能用作用户自定义标识符

B) 定义语句出错,printF不能用作用户自定义标识符

C) 定义语句无错,scanf不能作为输入函数使用

D) 定义语句无错,printf不能输出case的值

2.现有格式化输入语句,scanf("x=%d],sum]y=%d,line]z=%dL",&x,&y,&z);,已知在输入数据后,x,y,z 的值分别是23,56,78,则下列选项中正确的输入格式是( )。D

A) 23,56,78 B) x=23,y=56,z=78

C) x=23C,sumy=56,z=78 D) x=23],sum]y=56,line]z=78 [注]:"]"表示空格,表示回车

3.x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是( )。B

A) INPUT x、y、z; B) scanf("%d%d%d",&x,&y,&z);

C) scanf("%d%d%d",x,y,z); D) read("%d%d%d",&x,&y,&z);

4.有以下程序

#include

main()

{ char c1='1',c2='2';

c1=getchar(); c2=getchar(); putchar(c1); putchar(c2);

}

当运行时输入:a<回车>后,以下叙述正确的是( )。A

A) 变量c1被赋予字符a,c2被赋予回车符

B) 程序将等待用户输入第2个字符

C) 变量c1被赋予字符a,c2中仍是原有字符2

D) 变量c1被赋予字符a,c2中将无确定值

*5.若在定义语句int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是( )。D

A) scanf("%d",a,b,c); B) scanf("%d%d%d",a,b,c);

C) scanf("%d", &p); D) scanf("%d", p);

6.设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(注:□代表空格字符)( )。D

A) 10□X□20□Y<回车> B) 10□X20□Y<回车>

C) 10□X<回车> D) 10X<回车>

20□Y<回车> 20Y<回车>

7.执行以下程序时输入1234567,则输出结果是( )。D

#include

main()

{ int a=1,b;

scanf("%3d%2d",&a,&b);

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

}

A) 12367 B) 12346 C) 12312 D) 12345

8.有以下程序,其中%u表示按无符号整数输出:

main()

{ unsigned int x=0xFFFF; /* x的初值为十六进制数*/

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

}

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

A) -1 B) 65535 C) 32767 D) 0xFFFF

*9.当用户要求输入的字符串中含有空格时,应使用的输入函数是( )。C

A) scanf() B) getchar() C) gets() D) getc()

*10.以下4个选项中,不能看作一条语句的是( )。C

A) ; B) a=5,b=2.5,c=3.6; C) if(b!=5)x=2;y=6; D) return j;

11.以下程序的输出结果是( )。B

main()

{ int a=20;

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

}

A) 20, 024,0x14 B) 20, 24,14 C) 20, 0x14,024 D) 20, 20,20

12.有以下程序:

#include

main()

{ char a,b,c,d;

a=getchar(); b=getchar();

scanf("%c%c",&c,&d);

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

}

当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意,回车也是一个字符) 1

234

则输出结果是( )。C

A) 1234 B) 12 C) 1 D) 1

34 23 234

13.使用scanf("a=%d,b=%d",&a,&b)要使a,b均为50,正确的输入是( )。C

A) a=50 b=50(空格分开) B) 50 50(空格分开)

C) a=50,b=50 D) 50,50

14.已知a、b、c、d为int型变量,若从键盘输入:1,3,5,7<回车>,使a的值为1、b的值为3、c的值为5、d的值为7,,以下选项中正确的输入语句是( )。D

A) scanf("%2d%2d%2d%2d ",&a,&b,&c,&d);

B) scanf(""%d %d %d %d ",&a,&b,&c,&d);

C) scanf("a=%d,b=%d,c=%d,d=%d ",&a,&b,&c,&d);

D) scanf("%d,%d,%d,%d ",&a,&b,&c,&d);

15.设有定义:long a=-123456L;,则以下能够正确输出变量a值的语句是( )。A

A) printf("a=%ld\n",a); B) printf("a=%8LD\n",a);

C) printf("a=%8dL\n",a); D) printf("a=%LD\n",a);

16.以下程序的输出结果是( )。A

main( )

{ int k=21;

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

}

A) 21,25,15 B) 21, 21,21 C) 21, 0x25,015 D) 21,21,15

17.下面程序的输出是: ( )。C

main( )

{ int k=12;

printf("k=%d,k=%o,k=%x\n",k,k,k);

}

A) k=12,k=12,k=12 B) k=11,k=12,k=13

C) k=12,k=14,k=c D) k=12,k=013,k=0b

c语言第五章习题答案

第一题: 1. 从键盘输入10个数,求和。 #include "stdio.h" void main( ) { int x,s=0; int i; for(i=0;i<10;i++) {scanf("%d",&x); s+=x;} printf("s=%d\n",s ); } 2. 从键盘输入10个数,求平均值。#include "stdio.h" void main( ) { int x,s=0,ave; int i; for(i=0;i<10;i++) {scanf("%d",&x); s+=x;}

ave=s/10; printf("s=%d,ave=%d\n",s ,ave ); } 3. 从键盘输入10个数,求偶数的和。 #include "stdio.h" void main( ) { int x,s=0; int i; for(i=0;i<10;i++) {scanf("%d",&x); if(x%2==0) s+=x;} printf("s=%d\n",s ); } 4. 从键盘输入10个数,求偶数的平均值。#include "stdio.h" void main( ) { int x,s=0,ave; int i; int k=0;

for(i=0;i<10;i++) {scanf("%d",&x); if(x%2==0) {s+=x;k++;} } ave=s/k; printf("s=%d,ave=%d\n",s,ave ); } 5. 从键盘输入n个数,求偶数的平均值。#include "stdio.h" void main( ) { int x,s=0,ave; int i; int k=0; int n; scanf("%d",&n); for(i=0;i

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 语言理论上机考试选择题部分(共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语言程序设计课后习题答案 第五章

/*练习5-3*/ #include int prime(int m) { int i; for(i=2;i<=m-1;i++) if(m%i==0) break; if(i==m) return 1; else return 2; } main() { int i,m,n,sum=0,a=0; printf("enter m and n:(1<=m<=n<=500)\n"); scanf("%d",&m); scanf("%d",&n); for(i=m;i<=n;i++) { if(prime(i)==1) sum=sum+i; a=a+1; } printf("之间的素数和为:%d\n",sum); printf("之间的素数个数为:%d\n",a); } /*习题5.1*/ #include int fn(int a,int n) { int i,sum=0,m=1,c; for(i=1;i<=n;i++) { sum=sum+m; m=m*10; } c=sum*a; return c; }

main() { int a,n,i,x,y=0; printf("enter a and n:\n"); scanf("%d",&a); scanf("%d",&n); for(i=1;i<=n;i++) { x=fn(a,i); y=y+x; } printf("y=%d\n",y); } /*习题5.2*/ #include int countdigit(int number,int digit) { int sum=0; while(number>0) { if(number%10==digit) sum=sum+1; number=number/10; } return sum; } main() { int number,y; printf("enter a number:\n"); scanf("%d",&number); y=countdigit(number,2); printf("y=%d\n",y); }

C语言预习及课后习题(参考答案1-5)

第一章C语言概述 课前预习题 1.函数 2.main()函数3.单行注释、块注释、A 参考分析:C语言总是从main函数开始,main函数结束。但是C语言中存在一个exit(0)函数,它可以使得程序在任何时候、任何位置结束程序的运行。如果不考虑exit(0)等函数的特殊作用,C则总是在main函数结束。 2.C 参考分析:C程序对main函数的位置没有任何要求;其书写格式自由,一行可以写多条语句,一条语句(多关键字语句)可以写在多行;C语言忽略注释,把注释看作是一个空格,不会对注释中的内容进行语法检查。因此,如果注释中存在错误,系统是不可能发现的。另外,C语言的I/O操作均通过函数实现,系统本身未提供相应的语句。 3.D 参考分析:C语言中,注释语句的位置是任意的,当然,它不能破坏标识符的完整性。C语言只是将一个注释看作是一个空格,因此对注释内的任何错误都不作检查。 4. C 5.B 参考分析:通常许多语言程序由主程序和子程序构成,但是C语言是函数式语言,整个程序由众多函数组成。尽管有时习惯上称main函数为主程序,显然,严格地讲还是B更为符合C语言的规则。 6.C 7.B 8.C 9.C 10.C 11.绘制NS算法流程图。 (1)输入10个数,求其中的最大值。 (2)输入3个数,将它们升序排列输出。 (3)输入2个数,求它们的最大公约数。(4)输入一元二次方程的系数a、b、c,判断其根。

第二章数据类型、运算符与表达式 课前预习题 1.变量在内存中所占的字节数、变量的表数范围、变量允许参与的运算2.1、4、8 3.float、double 4.八进制、十进制、十六进制5.1 6.26 7.12、4 8.6、4、2 9.-60 10.2 11.10、6 12.13.14.4 15.1 16.0 17.9 18.字符、数字、下划线19.'f' 20.21.int型22.m/10%10*100+m/100*10+m%10 课后习题 1.A 分析:在不同的计算机系统中,不同的C语言系统中,其各种数据类型所占据的存储空间是不同的,但是有一个总的原则,即:char<=short<=int<=long<= float<=double,只有A符合16位PC机中的具体环境。 2.C 参考分析:逗号表达式的计算结果是最后一个表达式的值。k=23是括号内最后一个表达式,因此x变量的值来自k变量的值。 3.B 参考分析:逗号表达式的计算结果是最后一个表达式的值。b++在所在表达式参与运算时的值是5,该表达式计算完成后,b进行自增运算,故a+b的值为2+6=8。 4.A 参考分析:是关键字的有:char、case、while。 5.B 参考分析:不是关键字的:include、scanf、type 6.C 参考分析:合法的有:A、P_0、la0、_A、_123、temp、INT。 7.C 参考分析:教材中只是强调首字符必须为字母,我们应当知道,在语言系统中,下划线和字母具有同等的“法律效力”。 8.A 参考分析:不合法的B2,C2,C3,D2。解释:A2:-0xffff十六进制数本身已经包含了符号位,一般不前面加符号位,但加上符号位也不错误;C3:0668在有些C系统中,八进制数中允许出现8,但是通常不允许使用8;D3:0x显然后面缺少数值,但在TC中是允许的。 9.D 参考分析:不合法的A1,B3,C1,C3,D。解释:A1:--0f1十六进制数没有0x,显然不合法,这里需要讨论的是常

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语言程序设计课后习题答案高等教育出版社

#include<> main() { float x=,y=,z=; printf("x=%f\n",x); printf("y=%f\n",y); printf("z=%f\n",z); } (1) #include<> main() { int a=12,b=3; float x=,y=; printf("%f\n",(float)(a*b)/2); printf("%d\n",(int)x%(int)y); } (2) #include<> main() { int x=32,y=81,p,q; p=x++; q=--y; printf("%d %d\n",p,q); printf("%d %d\n",x,y); } #include<> main() { int x,b0,b1,b2,s; printf("Inputx:"); scanf("%d",&x); b2=x/100; printf("骰子出现 2 printf("骰子出现 3 printf("骰子出现 4 printf("骰子出现 5 printf("骰子出现 6

} (1) void Swap(int *x,int *y) { int *pTemp;.\n"); else if(strcmp(userInput,password)<0) printf("Invalid password!user inputpassword...\n"); return 0; } #include<> #define N 24 unsigned int CountLetter(char str[]); int main() { char a[N]; printf("Input a letter:\n"); gets(a); printf("The length of the letter is:%d\n",CountLetter(a)); return 0; } unsigned int CountLetter(char str[]) { char *p=str; int c=0,flag=0; while(*p!='\0') { if(*p!=' ') flag=1; else if(flag==1) { c++; flag=0; } p++; } return c+1; } #include<>

C语言课后练习题答案第五章

作业四:简单程序设计 1.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式(B);如果字符串长度小于5,则输出按方式(C)。(5分)(重要) A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出 C) 右对齐输出该字符串,左补空格 D) 输出错误信息 2.阅读以下程序,当输入数据的形式为:25,13,10(注:表示回车),则正确的输出结果为(D)。(5分) main() { int x,y,z; scanf(“%d%d%d”,&x,&y,&z);要和这里一样 printf(“x+y+z=%d\n”,x+y+z); } A) x+y+z=48 B) x+y+z=35 C) x+z=35 D) 不确定值 3.根据下面的程序及数据的输入和输出形式,程序中输入数据的正确形式应该为(WXY)。(5分) main() { char ch1,ch2,ch3;

scanf(“%c%c%c”,&ch1,&ch2,&ch3); printf(“%c%c%c”,ch1,ch2,ch3); } 4.以下的输出结果是(x=1,y=2*sum*=3 10 Squard is : 100)。(5分) main() { int x=1,y=2; printf(“x=%d y=%d * sum * =%d\n”,x,y,x+y); printf(“10 Squared is : %d\n”,10*10); } 5.若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=’a’,c2 =’b’,想得到以下的输出格式和结果,请写出程序(包括定义变量类型和设计输出)。要求输出的结果如下:(20分) a= 3 b= 4 c= 5 x=1.200000,y=2.400000,z=-3.600000 x+y= 3.6 y+z=-1.20 z+x=-2.40 u= 51274 n= 128765 c1=’a’ or 97(ascll) c2=’b’ or 98(ascll) main()

大学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语言第五章习题带答案更新Word版

练习5-1答案 一、选择题 1.合法的数组说明语句是( B )。 A.int a[]="string"; B.int a[]={0,1,2,3,4,5}; C.char a="string"; D.char a[5]={'0', '1', '2', '3', '4', '5'}; 2.以下对一维整型数组a的说明正确的是( D )。 A.int a(10); B.int n=10, a[n]; C.int n; D.#define SIZE 10 scanf("%d", &n); int a[SIZE]; int a[n]; 3.已知:int a[10];,则对a数组元素的正确引用是( D )。 A.a[10] B.a[3.5] C.a(5) D.a[10-10] 4.以下对一维数组a进行正确初始化的语句是( C )。 A.int a[10]=(0, 0, 0, 0, 0); B.int a[10]={}; C.int a[]={0}; D.int a[2]={10, 9, 8}; 5.对以下说明语句的正确理解是( B )。 int a[10]={6, 7, 8, 9, 10}; A.将5个初值依次赋给a[1]至a[5] B.将5个初值依次赋给a[0]至a[4] C.将5个初值依次赋给a[6]至a[10] D.因为数组长度与初值的个数不相同,所以此语句不正确 二、填空题 6.求所有不超过200的N值,N的平方是具有对称性质的回文数。所谓回文数就是将一个数从左到右与从右到左读都是一样的,例如:34543和1234321都是回文数。 例如:满足题意要求的数有:N=1,11*11=121;N=111,111*111=12321。 #include main() {int m[16], n, i, t, count=0; long a, k; printf("Result is:\n"); for (n=10; n<200; n++) { k=0; t=1; a=n*n; for (i=1; a!=0; i++) { ①; a/=10; }

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++程序设计》课后习题参考答案 ――武汉大学出版社 习题1参考答案 一、选择题 1. A 2. D 二、填空题 1. BASIC、FORTRAN、AL_GOL60和COBOL 2. 8 3. 关键字 4. 编辑、编译、链接和运行 三、简答题 1.答: (1)C语言具有结构化的控制语句。C语言提供了结构化程序所必需的基本控制语句,实现了对逻辑流的有效控制。 (2)C语言具有丰富的数据结构类型。C语言除提供整型、实型、字符型等基本数据类型外,还提供了用基本数据类型构造出的各种复杂的数据结构,如数组、结构、联合等。C语言还提供了与地址密切相关的指针类型。此外,用户还可以根据需要自定义数据类型。(3)C语言具有丰富的运算符。C语言提供了多达34种运算符,丰富的数据类型与丰富的运算符相结合,使C语言的表达力更具灵活性,同时也提高了执行效率。 (4)C语言简洁、紧凑,使用方便、灵活,程序书写自由,有9种控制语句。 (5)C语言既具有高级语言的功能,又具有低级语言的许多功能,通常被称为中级计算机语言。它既是成功的系统描述语言,又是通用的程序设计语言。 (6)C语言与汇编语言相比,可移植性好。 (7)功能强大。C语言具有低级语言的一些功能,所以,生成目标代码质量高,程序执行效率高。现在许多系统软件都用C语言来描述,可以大大提高了编程效率。 2.答:运行一个C语言程序,一般需要经过如下几个步骤:①上机输入并编辑源程序;②编译源程序;③与库函数连接;④生成可执行目标程序;⑤运行目标程序。 3.答: (1)操作系统的设计与实现。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语言考试题库 第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 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。

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

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

C语言函数习题及答案

第6章函数习题 一、选择题 1. 一个完整的C源程序是【】。 A)要由一个主函数或一个以上的非主函数构成 B)由一个且仅由一个主函数和零个以上的非主函数构成 C)要由一个主函数和一个以上的非主函数构成 D)由一个且只有一个主函数或多个非主函数构成 2. 以下关于函数的叙述中正确的是【】。 A)C语言程序将从源程序中第一个函数开始执行 B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行 C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束 D)main可作为用户标识符,用以定义任意一个函数 3. 以下关于函数的叙述中不正确的是【】。 A)C程序是函数的集合,包括标准库函数和用户自定义函数 B)在C语言程序中,被调用的函数必须在main函数中定义 C)在C语言程序中,函数的定义不能嵌套 D)在C语言程序中,函数的调用可以嵌套 4. 在一个C程序中,【】。 A)main函数必须出现在所有函数之前 B)main函数可以在任何地方出现 C)main函数必须出现在所有函数之后 D)main函数必须出现在固定位置 5. 若在C语言中未说明函数的类型,则系统默认该函数的数据类型是【】 A)float B)long C)int D)double 6. 以下关于函数叙述中,错误的是【】。 A)函数未被调用时,系统将不为形参分配内存单元 B)实参与形参的个数应相等,且实参与形参的类型必须对应一致 C)当形参是变量时,实参可以是常量、变量或表达式 D)形参可以是常量、变量或表达式 7. C程序中各函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是【】。 A)参数的形实(哑实)结合 B)函数返回值 C)全局变量 D)同名的局部变量 8. 若函数调用时参数为基本数据类型的变量,以下叙述正确的是【】。 A)实参与其对应的形参共占存储单元 B)只有当实参与其对应的形参同名时才共占存储单元 C)实参与对应的形参分别占用不同的存储单元 D)实参将数据传递给形参后,立即释放原先占用的存储单元 9. 函数调用时,当实参和形参都是简单变量时,他们之间数据传递的过程是【】。 A)实参将其地址传递给形参,并释放原先占用的存储单元 B)实参将其地址传递给形参,调用结束时形参再将其地址回传给实参 C)实参将其值传递给形参,调用结束时形参再将其值回传给实参

2016年计算机二级c语言题库及参考答案

2016年计算机二级c语言题库及答案 一、选择题(每小题1分,共40小题,共40分) 1.设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为( )。 A.20 B.0或35 C.15 D.16 2.下列关于栈的叙述中,正确的是( )。 A.栈底元素一定是最后入栈的元素 B.栈操作遵循先进后出的原则 C.栈顶元素一定是最先入栈的元素 D.以上三种说法都不对 3.下列链表中,其逻辑结构属于非线性结构的是( )0、 A.双向链表 B.带链的栈 C.二叉链表 D.循环链表 4.在关系数据库中,用来表示实体间联系的是( )。 A.网状结构 B.树状结构 C.属性 D.二维表 5.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是( )。 A.1:m联系 B.m:n联系 C.1:1联系 D.m:l联系 6.右两个关系R和S如下:

则由关系R得到关系S的操作是( )。 A.自然连接 B.并 C.选择 D.投影 7.数据字典(DD)所定义的对象都包含于( )。 A.软件结构图 B.方框图 C.数据流图(DFD图) D.程序流程图 8.软件需求规格说明书的作用不包括( )。 A.软件设计的依据 B.软件可行性研究的依据 C.软件验收的依据 D.用户与开发人员对软件要做什么的共同理解 9.下面属于黑盒测试方法的是( )。 A.边界值分析 B.路径覆盖 C.语句覆盖 D.逻辑覆盖 10.下面不属于软件设计阶段任务的是( )。 A.制订软件确认测试计划 B.数据库设计 C.软件总体设计 D.算法设计 11.以下叙述中正确的是( )。 A.在C语言程序中,main函数必须放在其他函数的最前面 B.每个后缀为C的C语言源程序都可以单独进行编译 C.在C语言程序中,只有main函数才可单独进行编译 D.每个后缀为.C的C语言源程序都应该包含一个main函数 12.C语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述正确的是( )。 A.预定义标识符(如库函数中的函数名)可用做用户标识符,但失去原有含义

C程序设计第五章课后习题答案

循环结构程序设计 P115 5.1 用while计算1至100的合. #include int main() { int i=1,sum=0; while(i<=100) //对于需要运算的值,要么在运算前可以赋值,要么一开始要指定. { sum=sum+i; i++; } printf("The sum is %d .\n",sum); return 0; } P117 5.2 用do-while来做1至100的合. #include int main() { int i=1,sum=0; do// do-while可以做的事,用while都可以做到. { //do-while先做一次执行,再判断条件,而while却是先做一个条件,再执行. sum=sum+i; i++; }while(i<=100); printf("The sum is %d .\n",sum); return 0; } P118 5.3 比较do-while与while的差别. #include

{ int i,sum=0; printf("Please input a number :"); scanf("%d",&i); //输入10以内,正常,11的话,则sum仍然是0. while(i<=10) { sum=sum+i; i++; } printf("The sum of 1-10 is %d .\n",sum); return 0; } #include int main() { int i,sum=0; printf("Please input a number :"); scanf("%d",&i); //输入10以内,结果一样.输入11的话,先做操作,所以sum=11. do { sum=sum+i; i++; }while(i<=10); //此重点在于理解二者的差别. printf("The sum of 1-10 is %d .\n",sum); return 0; } P126 5.4 break的例子. #include int main() { int i,b=0,a,c; for(i=0;i<=1000;i++) { printf("Please input amount :"); //循环体内套有输出语句以及跳出语句. scanf("%d",&a); b=b+a; if(b>=100)

相关文档
相关文档 最新文档