《C语言及程序设计》在线作业答案_c语言程序设计作业三

其他范文 时间:2020-02-27 13:29:17 收藏本文下载本文
【www.daodoc.com - 其他范文】

《C语言及程序设计》在线作业答案由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言程序设计作业三”。

一、单选题(共 15 道试题,共 75 分。)V 1.合法的C语言标识符是()。A.abc B.2ab C._a1 D./n

满分:5 分

2.有两个字符数组a、b,则以下正确的输入

语句是()。A.gets(a,b);B.“scanf(”“%s%s”“,a,b);” C.“scanf(”“%s%s”“,a,b);” D.“gets(”“a”“),gets(”“b”“);”

满分:5 分

3.若运行以下程序时,从键盘输入25,13,10回车,则输出结果为()。

main(){inta1,a2,a3;scanf(“%d%d%d”,a1,a2,a3);printf(“a1+a2+a3=%

dn”,a1+a2+a3);} A.a1+a2+a3=48 B.a1+a2+a3=25 C.a1+a2+a3=10 D.不确定值

满分:5 分

4.以下为一维整型数组a的正确说明是

()。A.inta(10);B.“intn=10,a[n];” C.“intn;scanf(”“%d”“,n);” D.“#defineSIZE10;inta[SIZE];inta[n];”

满分:5 分

5.以下能对二维数组a进行正确初始化的语句是()。

A.inta[2][]={{1,0,1},{5,2,3}};B.“inta[][3]={{1,2,3},{4,5,6}};” C.“inta[2][4]={{1,2,3},{4,5},{6}};” D.“inta[][3]={{1,0,1},{},{1,1}};”

满分:5 分

6.函数rewind(fp)的作用是:使文件位置

指针()。A.重新返回文件的开头 B.返回到前一个字符的位置

C.指向文件的末尾

D.自动移至下一个字符的位置

满分:5 分

7.以下叙述中不正确的是()

A.在C程序中,调用函数时,只能把实参的值传送给形参,形参的值不

能传送给实参

B.在C程序的函数中,最好使用全局变量 C.在C程序中,形参只是局限于所在函数 D.在C程序中,函数名的存储类别为外部

满分:5 分

8.以下程序段()。intx=1,y=4;printf(x

B.输出:x=1 C.输出:y=1 D.输出:y=4

满分:5 分

9.下列四组选项中,均是不合法的用户标识符的选项是______。

A.AP_0do B.floatgoto_A C.b-agotoint D._123tempINT

满分:5 分

10.已知字母A的ASCII码为(65)10,变量ch1为字符型,则执行语句

ch1='A'+'6'-'3';后,ch1中的值为()。

A.D B.68

C.一个不确定的值

D.C

满分:5 分

11.若x为float型变量,则以列程序段结果是()x=1234.6789;printf(“%-

2.1f”,x);

A.输出格式描述符的域宽度不够,不能输

B.输出为1234.7

C.输出为1234.6 D.输出为-1234.6

满分:5 分 12.sizeof(float)是()。A.双精度型表达式 B.一个整型表达式 C.一个函数调用 D.一个不合法的表达式

满分:5 分 13.071^052的结果是()

A.32 B.16 C.23 D.22

满分:5 分

14.若有定义:intx=7;floata=2.5,b=4.7;则表达式a+x%3*(int)(a+b)%2/4的值是()。

A.2.5 B.2.75 C.3.5

D.0

满分:5 分

15.有下列语句和赋值语句:(1)charstr[]=”iamaboy.”(2)charstr

[12]=”iamaboy.”(3)char*p=”iamaboy.”(4)p=”iamaboy.”下列说法正

确的是()A.只有(1)、(2)正确 B.只有(3)、(4)正确 C.只有(1)、(3)、(4)正确

D.只有(3)正确

满分:5 分

1c2c 3 D4d5b6a 7b8c9c 10a

11B12B13A14A15B

二、判断题(共 5 道试题,共 25 分。)V 1.声明语句int a[]={0};可以对

一维数组a进行正确初始化。

A.错误

B.正确

T满分:5 分

2.在c语言中,函数形参的存储类型是自

动类型的变量 A.错误 B.正确

F 满分:5 分

3.函数必须有返回值,否则不能使用函数

A.错误 B.正确

F 满分:5 分

4.已知int a[]={1,2,3,4},y,*p=&a[1];则执行语句y(*--p)++;变量y的值是3。

A.错误 B.正确

F 满分:5 分

5.C语言fread()函数的功能是从文件fp中读取n个字符存入指定的内存

。A.错误 B.正确

T 满分:5 分

第一章 程序设计算法概述

一.选择题

(一)基本概念

1、一个C语言程序总是从()。

A、主过程开始执行

B、主

函数开始执行

C、子程序开始执行

D、主

程序开始执行

【答案】B2、下面四个选项中,均是C语言关键字的选项是()。

A、auto enum include

B、switch typedef continue

C、signed union scanf

D、if

struct type

【答案】B3、下面四个选项中,均是合法整型常量的选项是()。

A、160-0xffff 01B、-0xcdf 01a 0xe

C、-01 986,012 0668

D、-0x48a 2e5 0x

【答案】A4、以下不正确的C语言标识符是()。

A、int

B、a_1_2

C、ab1exe

D、_x

【答案】A5、以下是正确的C语言标识符是()。

A、#define

B、_123

C、%d

D、n

【答案】B6、下列四组选项中,均不是C语言关键字的选项是()。

A、define IF type

B、getc

char printf

C、include scanf case

D、while

go pow

【答案】A7、下列不属于C语言关键字的是()。

A、default

B、register

C、enum

D、external

【答案】D8、合法的C语言标识符是()。

A、ab&c

B、2ab

C、_a1

D、/n

【答案】C9、下列四组选项中,均是不合法的用户标识符的选项是______。

A、A P_0 do

B、float goto _A

C、b-a goto int

D、_123 temp INT

【答案】C

二.填空题

1.在C语言中的实型变量分为两种类型,它们是

和。

【答案】单精度型(或float型)

双精度型(或:double型)

2.C语言规定,可执行程序的开始执行点是。

【答案】程序中的main()函数

3.C语言中三中基本的程序结构

是、和。

【答案】顺序结构;分支(选择)结构;循

环结构

4.一个C源程序必须包含一个。

【答案】main函数

5.在C语言中,char型数据在内存中的存

储形式是。

【答案】ASCII码

6.用计算机实现算法的过程称

为。

【答案】程序设计

7.C源程序的基本单位是。

【答案】函数

8.int型数据(2byte)可表示的数值范围

为。

【答案】-32768—32767

9.C语言的标识符只能由三种字符组成,它们是

【答案】字母、数字、下划线

三.判断题:(正确:T;错误:F)

1.在C程序中main函数必须位于程序的最

前面

【答案】F

2.C语言本身没有输入输出语句

【答案】T

3.一个C源程序可由一个或多个函数组成【答案】T

4.在C程序中,注释说明只能位于一条语

句的后面

【答案】F

四.简答-完善程序-分析程序

1、c语言程序的总体结构是怎样的。

【答案】

一个完整的c语言程序,是由一个、且只能由一个main()函数(又称主函数)和若

干个其他函数结合而成的,或仅由一个

main()函数构成。

2、c语言程序的基本单位是什么?它的结构

又如何?

【答案】

函数是c语言程序的基本模块单元。

任何函数(包括主函数main())都是由函数说明和函数体两部分组成。其一般结构如

下:

[函数类型]

函数名(函数参数表)

{ 说明语句部分;

执行语句部分;}

3、主函数main()在程序中的地位如何。程序总是从哪个函数开始执行,到哪个函数执

行完后结束?

【答案】

main()函数的作用相当于其他高级语言中的主程序;其他函数的作用相当于子程序。

一个c语言程序,总是从main()函数开始执行,而不论其在程序中的位置。当主函数执行完毕时,亦即程序执行完毕。习惯上,将主函数main()放在最前头。

4、C语言用户标识符的定义方式是什么?

【答案】

c语言规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线,同时c语言还规定标识符不能为

c语言的关键字。

5、说明算法可以采用哪几种控制结构组合。

【答案】

算法的控制结构给出了算法的基本框架,不仅决定了算法中各操作的执行顺序,也直接反映了算法的设计是否符合结构化原则。一个算法一般可以用顺序、选择、循环三种基本控制结构,通过顺序或嵌套组合而成。

6、算法的基本特征是什么?

【答案】

一个算法,一般应具有以下几个基本特征。可行性、确定性、有穷性、一个输入、零个

或多个输出。

7、常见的过程设计工具有哪些?为什么可以N-S图代替传统的程序流程图?

【答案】

常见的过程设计工具有:程序流程图、N-S图、PAD图和HIPO图。为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图

称为N-S图。

8、“在源文件的一行上可以有多条预处理命令”是否正确,为什么?

【答案】

通常,预处理命令位于源文件的开头,也可以写在函数与函数之间;不能在一行上写多条预处理命令:宏名一般习惯用大写字母表示,以便与变量名相区别,但这并非规定,也可用小写字母。

五.程序设计题

1.已知三角形的三边长,求其面积。假设输入的三边能构成三角形,三角形的面积公式

为:

Area=,其中S=(a+b+c)/2。

【参考答案】

#include “math.h”

Main()

{ Float a,b,c,s,area;

Printf(“请输入三角形的三边:”);

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

S=(a+b+c)/2.0;

Area=sqrt(s*(s-a)*(s-b)*(s-c));

Printf(“三角形的三边为:%7.2f, %7.2f, %7.2fn”,a,b,c);

Prinft(“三角形的面积为:%7.2fn”,area);

}

2.编写程序读入3个双精度数,求它们的平均值,并保留此平均值小数点一位,对小数点后第二位进行四舍五入,并输出结果。

【参考答案】

#include “stdio.h”

mian()

{ double x,y,z;

double aver;

long temp;

printf(“n请输入三个双精度数:”

scanf(“%lf%lf%lf”,&x,&y,&z);

aver=(x+y+z)/3;

temp=aver*10;

temp=(aver*10-temp)*2+temp;

aver=temp/10.0;);

printf(“n平均值为:%.1lf”,aver);

}

3.输入两个整数,求出它们的商数和余数并

进行输出。

【参考答案】

#include “stdio.h”

main()

{ int x,y;

int shang ,yu;

printf(“n请输入两个整数:”);

scanf(“%d%d”,&x,&y);”

shang=x/y;

yu=x%y;

printf(“%d%d的商为:%d,余数为%d”,x,y,shang,yu);

}

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

一.选择题

1、若num、a、b和c都是int型变量,则执行表达式num=(a=4,b=16,c=32)后num的值为()。

A、4B、16

C、32 C

D、52

【答案】C2、若有变量说明:int a=0,b=0,c=0;,以下符合C语言语法的赋值表达式是()。

A、a=9+b+c=a+9

B、a=9+b;c=a+9;

C、a=(9+b,b++)

D、a=9+b++=a+7

【答案】C3、若有以下类型说明语句:char a;int b;float c;double d;则表达式a*b-2*d+c的结果类型为()。

A、float

B、char

C、int

D、double

【答案】D4、下面四个选项中,均是合法浮点数的选

项是()。

A、+1e+1 5e-9.4 03e2

B、-.60

12e-4-8e5

C、123e 1.2e-.4 +2e-1

D、-e3.8e-4 5.e-0

【答案】B5、下面四个选项中,均是合法转义字符的选项是()。

A、''' '' 'n'

B、''

'17' '“'

C、'18' 'f' 'xab'

D、''

'101' 'xlf'

【答案】A

6、下面正确的字符常量是()。

A、'X17'

B、'80'

C、''

D、”n“

【答案】C

7、下面四个选项中,均是正确的数值常量或字符常量的选项是()。

A、0.0 0f 8.9e '&'

B、”a“

3.9E-2.5 1e1 '”'

C、'3' 011 0xFF00 0a

D、+001

0xabcd 2e2 50.【答案】D8、已知字母A的ASCII码为(65)10,变量ch1为字符型,则执行语句ch1='A'+'6'-'3';后,ch1中的值为()。

A、D

B、68

C、一个不确定的值

D、C

【答案】A9、若有定义:int x=7;float a=2.5,b=4.7;则表达式a+x%3*(int)(a+b)%2/4的值是()。

A、2.500000

B、2.7500000

C、3.500000

D、0.000000

【答案】A10、sizeof(float)是()。

A、双精度型表达式

B、一个整型表达式

C、一个函数调用

D、一个不合法的表达式

【答案】B11、设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是()。

A、0~25

5B、0~65535

C、-32768~+32767

D、-256~+255

【答案】B12、若有以下定义:int m=7,n=12;则能得到值为3的表达式是()。

A、n%=(m%=5)

B、n%=(m-m%5)

C、n%=m-m%

5D、(n%=m)-(m%=5)

【答案】D13、若有说明:int a=1,b=2,c=3,d=4;则表达式a

)。

A、4B、C、D、1

【答案】D14、putchar函数可以向终端输出一个()。

A、整型变量值

B、实型变量值

C、字符串

D、字符或字符型变量值

【答案】D15、若运行以下程序时,从键盘输入25,13,10,则输出结果为()。

main()

{

int a1,a2,a3;

scanf(“%d%d%d”,&a1,&a2,&a3);

printf(“a1+a2+a3=%dn”,a1+a2+a3);

}

A、a1+a2+a3=48

B、a1+a2+a3=25

B、a1+a2+a3=10

D、不确定值

【答案】D

16.若有定义int a=2,b=9,k;k=a+b++/a++;则k的值是()

A、6.5

B、7

C、6

D、8

【答案】C

17.标有/* */语句的输出结果为()

int x=20;

printf(“%d,%o,%x”,x,x,x);/*

*/

A、20,20,20

B、20,24,14

C、20,14,24

D、20,024,14

【答案】B

18.若x为float型变量,则以列程序段结果

是()。

x=1234.6789;

printf(“%-2.1f”,x);

A、输出格式描述符的域宽度不够,不能输出

B、输出为1234.7

C、输出为1234.6

D、输出为-1234.6

【答案】B

19.下列语句中,符合语法的语句式()。

A、a+b=3

B、a=7

C、a=c+b+3=6;

D、a=8,b=a+7;

【答案】D

20.C语言中,逻辑“真”等价于()。

A、大于零的数

B、大于零的整数

C、非零的数

D、非零的整数

【答案】C

21.已知字母a的ASC||的十进制代码为97,则执行下列语句后输出为()。

Char a=„a‟;

a--;

printf(“%d,%cn”,a+„2‟-„0‟,a+„3‟-„0‟);

A、a,c

B、a—运算不合法,故有语法错误

C、98,c

D、)格式描述和输出项不匹配,输出无定值

【答案】C

22.对于条件表达式(M)?(a++):(a--),其中的表达式M等价于()。

A、M= =0

B、M= =1

C、M!=0

D、M!=1

【答案】C

23.在x值处于-2到2,4到8时值为“真”,否则为“假”的表达式是()。

A、(2>x>-2)||(4>x>8)

B、((x=2)||((x>4)||(x>=8))

C、(x=-2)&&(x>4)&&(x

D、(x>-2)&&(x>4)||(x

【答案】D

24.定义a为整型,下列表达式a=3>6的运行后,a的值为()。

A、0

B、1

C、3

D、表达式错误

【答案】A

25.若使用下述程序段将整数12和浮点数13.6分别赋给变量a和b,那么输入应该式

()。

int a;float b;

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

A、12 13.6

B、a=12, b=13.6

C、12, 13.6

D、a=12

b=13.6

【答案】B

26.以下程序段()。

int x=1,y=4;

printf(x

A、输出控制格式错误

B、输出:x=1

C、输出:y=1

D、输出:y=4

【答案】C

27.下面程序的输出是()。

main()

{

int x=10,y=3;

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

}

A、0

B、1

C、3

D、不

确定的值

【答案】B

二.填空题

1.若有定义int m=5,y=2;,则执行表达式y+=y-=m*=y后y的值是____

__。

【答案】-16.2.能表达“10

【答案】x>10&&x>200||x

3.表达整型变量a能被3整除但不被5整除的表达式是____

__。

【答案】a%3==0&&a%5!=0

4.C语言中唯一的三元运算符是。

【答案】?

5.设有:int a=1,b=2,c=3,则!(a>b)&&!c||

1的值为。

【答案】1

6. Sizeof(float)是。

【答案】一个整型表达式

7.当m=2,n=1,a=1,b=2,c=3时,执行完d =(m=a!=b)&&(n=b>c)后;n的值为,m的值为。

【答案】0 1

8.设I,J和K是int型变量,且I=3,J=4,K=5,则表达式!((I

是。

【答案】0

9.判断char型变量c1是否为小写字母的正确表达式为。

【答案】(c1>= ’a’)&&(c1

10.若a=5,b=2,c=1,则表达式a-b

【答案】0

11.若a是int型变量,且a的初值是6,则计算表达式a+=a-=a*a后a的值__

____。

【答案】-60

12.假设x=5,y=6,则表达式x++*++y的值为

______。

【答案】35

13.x2/(3x+5)的C表达式为。

【答案】x*x/(3*x+5)

14.若有说明:int m=5,y=2;则执行表达式y+=y-+m*=y后的y值是

【答案】y=-16

15.在C语言中,表示逻辑“真”值用

【答案】非0数字

16.若w=1,x=2,y=3,z=4,则条件表达式w

【答案】1

17.若a是int型变量,则计算表达式a = 25/3%3后a的值为。

【答案】 2

18.C语言提供的三种逻辑运算符是、和。

【答案】 && ||!

19.设ch是char类型变量,其值是A,则

表达式ch=(ch>='A'&&ch

是。

【答案】 a

20.若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值为。

【答案】 2

21.设a=3,b=4,表达式a>b?b:a的值

是。

【答案】 3

22.表达式(int)3.6*3的值为。

【答案】9

23.标有/* */语句的输出结果为。

int x=20;

printf(“%d,%o,%x”,x,x,x);/*

*/

【答案】20,24,14

24.如果x、i、j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为

______。

【答案】32

三.判断题:(正确:T;错误:F)

1.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实

型数值

【答案】F

2.在C程序中,逗号运算符的优先级最低

【答案】T

3.在C程序中,APA和apa是两个不同的变量

【答案】T

4.如果a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值

保持不变。

【答案】T

5.在C程序中,%是只能用于整数运算的运算符。

【答案】T

6.代数式2lnxcosx/3x,正确的c语言表达式是2*log(x)*cos(x)/(3*x)

【答案】T

7.sizeof(float)是一个整型表达式

【答案】T

8.有变量说明:int a=0,b=0,c=0;则表达式a=9+b++=a+7是符合c语言语法的赋值表达

式。

【答案】F

四.简答-完善程序-分析程序

1、c语言中不同数据类型的数据在运算是采用的规则是什么?

【答案】

c语言中,各类数值型数据在进行混合运算时,不同类型的数据要先转换成同一类型,然后进行运算。转换的规则为:总是转换为精度更大的数据类型,字符数据转换为整数,short型转为int型,float型数据在运算时转换成双精度型,以提高运算精度。

2、字符(char)型数据在微机内存中以什么形

式存储?

【答案】

将一个字符常量放到一个字符变量中,实际上并不是把该字符本身放到内存单元中去,而是将该字符的ASCII码值放到存储单元

中。

3、数据处理的最小单位是什么?

【答案】

数据处理的最小单位是数据项;由若干数据项组成数据元素;而数据是指能够被计算机识别、存储和加工处理的信息载体;数据结构是指数据之间的相互关系和数据运算。

4、若变量a是int类型,分析在执行了语句:a='A'+1.056;后a的值多少?

【答案】

在赋值表达式中,赋值符右边的值的类型会自动转换成赋值符左边的变量的类型。在本题中,先用“A”的ASCII码(65)值加上1.056得到66.056,将其强制转换成int型,实数的小数部分全部清除保留证书部分。所

以a的值为66。

5、c语言的基本类型数据有哪几种?

【答案】

[signed]char;unsigned char;[signed]short[int];unsigned short[int];[signed]long[int];unsigned long[int];float;

double.

6、分析下面程序的执行过程,给出输出结

果。

main()

{ int a=5,b=4,c=6,d;

printf(“%d\n”,d=a>c?(a>c?a:c):(b));

} 【答案】

本题最重要的语句在于d=a>c?(a>c?a:c):(b)),首先运算括号内的式子a>c?a:c,它的值是c的值6,即式子化成d=a>c?6:4。显然a=c,所以将4赋给d。

7、分析下面程序的执行过程,给出输出结

果。

main()

{ int a=4,b=8,c;

c=(“b==a)&&(a+b!=20);

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

}

【答案】

如果在表达中出现多种运算符时,一定要按照他们的优先级别进行运算,否则其结果可能会产生错误。本题中,由于赋值表达中式c=(a/b==a)&&(a+b!=20)中有两个括号,而且两个括号是进行逻辑与运算。当第1个括号内的值为假时,不管后面括号内的值是否为假,两个括号内的值进行逻辑与(&&)运算时,其结果肯定为假。所以结果为:4,8,0

第三章 程序控制结构

一.选择题

1.对下面的程序说法正确的是(main()

{int x+3,y=0,z=0;

if(x=y+z)

printf(“****”);

else)。

printf(“####”);

}

A、有语法错误,不能通过编译

输出为****

C、输出为# # # #

通过编译,但是不能运行

【答案】C

2.程序的结果为()

main()

{

int a=3,b=4,t=1;

if(a>b)

B、D、

下载《C语言及程序设计》在线作业答案word格式文档
下载《C语言及程序设计》在线作业答案.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

    热门文章
      整站推荐
        点击下载本文