C语言程序设计实例教程(第三版)练习题答案1_第1页
C语言程序设计实例教程(第三版)练习题答案1_第2页
C语言程序设计实例教程(第三版)练习题答案1_第3页
C语言程序设计实例教程(第三版)练习题答案1_第4页
C语言程序设计实例教程(第三版)练习题答案1_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、练习 1一选题、个 程是由( B A一个主程序和若干子程序组成 B一个或多个函数组成C干过程组成D干程序组成解析: 语称为函数式语言,其程序是由至少一个主函数 main和其他更多的函数组成,答案选 、个 程的执行是从( A A 函开始,直到 main 函结束 第一个函数开始,直到后一个函数结束C一个语句开始,直到最后一个语句结束 D 函开始,直到最后一个函数结束解析: 语执行都是从主函数 函开,不论 函放置的位置,答案选 A、 语语句的结束符是( A回车符 B分号 号 D逗号解析: 语语句是以分号结束,答案选 B、面标识符中( )不是 C 语的关键字。A B D解析:char 声明字符型变量关

2、键字 为 结构中开关句分支关键字, 为条件跳转语 句关键字,在 C 语言中 include 不属于关键字,属于预处理命令,故答案选 D;、下说法正确的是( )AC 程序的注释可以现在程序的任何位置,它对程序的编译和运行不起任何作用。B 程的注释只能是一行。C 程的注释不能是中文文字信息。D 程的注释中存在的错误会被编译器检查出来。解析:在 程中注释只是起到增加程序的可读性,编译器并不会对注释进行检查,且 程序中存在 多行注释。故答案选 A、下说法正确的是( )AC 程序中的所有标符都必须小写 BC 程中关键字必须小写,其他标识符不区分大小写 C 程中所有标识符都不区分大小写 DC 程序中关键字

3、必须小写,他标识符区分大小写。 解析: 程中的关键字均是小写定义的,且标识符定义可以使用大写和小写,但是严格区分大小写; 故答案选 D。、 、y 均 型变量,则以下不合法的值语句是( B )A+x ; By=(x%2)/10 ; Cx*=y+8; ;解:算%求两端的操作数必须整型,而在答案 B 中%号两端的操作数为 x 和 ,x 为型 所以是错误的。、列不正确的转义字符是( C )A B C 19 D 0 解:义字符是由单引号括起来的带反斜线的字符,这字符具有特殊的含义,反斜线后可以是数字 来代表某个字符,而这些数字只包括两种:八进制 位和十六进制(1-2 位六制前面要加 x(或 X里的 答反

4、斜线后是数字,但不是 x 开,所以应该是八进制数,但是数值里有 9和八进制数不符,所以是错误的。、列不是 语常量的( A )A B074 Ca D 解: 语的常量分为整型、实型、字符型和字符串整常的书写形式分为十进、八进制和十 六进制,十进制是 的数值表示;八进制以 0 开,07 数值表示,十六进制是以 0 x(或 0X) 开头, 与 af或 )示。实常的写分为数形式和指数形式,小数形式指只包含小数 点的形式,如: 300.57;数形式只指用包含 (或 E)的书写形式,要求 e(或 E)前面必 须有数值,后面必须是整数的书写规则符常指单引号引起来单个字符或转义字符字符常 量指双引号引起的多个字

5、符这里答案 A 是型的指数书写形式但是这种书写形式要求 面必须 有数值,后面必须是整数,而这里所以是错误的。、 int 类的数据长度为 字节,则 int 类型数据的取值范围是( )A0255 B C-3276832767 D-256255解析: 字节为 个二进制位,且是无符号,故范围为 到 -1=65535,答案选 B11若定义了 int x; 则将 x 强转化成双精度类型应写成( A)Adouble)x B x() C () 解析:A 为 C 语强制转换的标准书写形式;Dx)double、 语中,要求参加运算的数必须是整数的运算符是(C) 。A/ B* % D =解析: 选的为求余运算符,其

6、要求两端的算数必须为整型。、了计算 s=10!即 10 的乘 s 变应定义为( D ) 。Aint Bunsigned D以上三种类型均可解析: 下,此题答案是 , VC6.0 下此题答案是 D因为两个编译器对 int 类数据的空间分 配的大小不一样,在 下是 字,在 VC6.0 是 4 字,所以取值范围也就不一样。、 ( 函数可以向终端出一个( D ) 。A整型变量表达式值 、实型变量值C、符串D、字符或字符型变量值解析 数的作用是向终端输出一个字符,其参数可以是变量或量,但是输出的结果ASCII 码表中显示的字符;答案选 D;、有如下定义和输入语句,若要求 a1,a2,c1,c2 的分别为

7、 ,A 和 B,当从第一开始输入数 据时,正确的数据输入方式是( ) ( 代表空格代表 )int char c1,c2;scanf(%d %c%d %c,&a1,&c1,&a2,&c2);AA20B B、B C、10A20 D10A20B解:格是有效字符,所以会被 scanf 函数常读取。A 答案将 10 送给 a1空格送给 c1而 A 字 符不属于 a2 的取范围scanf 数非正常结束a2 与面的 c2 都有正常获取数值B 答会将 10 送给 a1,A 送给 c1 送给 ,空格送给 c2然后 scanf 函数读取正常结束,后面的 字将留给 下一输入函数读取; 答与 A 答类似;只有 答案正

8、确地将将 10 送给 a1,A 送给 c1,20 送 a2, B 送给 c2,后 scanf 函数取常结束。、行下列程序片段时输出结果是( C int x=13,y=5;A3 B、2 C、1 D0解:是一个表达式的运算,x%=()是一个赋值表达式,赋值表达式的运算方向是从右向左进行。即 先运算表达式 y/=2,其运算结果是 y=2再将表达式转换为 ,算此表达式得到最后结果为 1 。有如下定义和输入语句要求 a1,a2,c1,c2 的分别为 和 当从第一列开始输入数据时, 正确的输入方式是( D 代空格,代表 Enter)int char c1,c2;A B C、20AB D、1020AB解:题

9、与 题类似,这里的回车符也属于有效字符,所以会被 scanf 函正读取 答案的 1020 后面字符 A,不属于数值第一个 scanf 函数读取时将 1020 看成个整体送给 ,后的 A 不属于 a2 获类型,这个 函非正常结束a2 没有取到数值;第二个 scanf 执行c1 获取 字符 A,c2 获到字符 B 答案的 10 后面空格,所以第一个 scanf 函数将 10 送给 a1,再将空 格后的 20 送给 ,一个 scanf 函数常结束,第二个函数是读取字符型,这时的缓冲区中首先是回 车符,当数字型读取时可以忽略此字符,但是字符型读取却不能忽略,所scanf 函数将回车符送给了 c1,将

10、A 送给 c2 函数正结束 答中 10 后是空格,所以第一个 scanf 数现将 10 送 a1,20 后面是字符 A,所以将 20 送给 a2第一个 scanf 函数正常结束;第二个函数是读取字符型,这 时的缓冲区中首先是 A 函数将 A 给 c1 后的空格送给 c2,第二个 scanf 函数常束 答中 10 后面空格,所以第一 函数现将 10 送 a1,20 后面字符 A,所以将 20 送 a2, 第一个 scanf 函正常结束;第二个函数是读取字符型,这时的缓冲区中首先是 A,scanf 函将 A 送 给 c1,A 后的 B 送 c2,第二个 scanf 函正常结束。所以 D 答是正确的

11、。、运行时输入则下列程序运行结果为( A #includeint ( int a,b; 0;A B、579 、5690 D、出错解:scanf 中的 2 是读取数值的位数,所以 scanf 函读取前两个字 送给 ,接着读取后面两个 数字 送 b最后读取 三个字,但是后面没有对应的参数所以不送给任何变量 函数执 行结束,所以 a+b=12+34=46,所以输出为 。、知 i,j,k 为 型量,若从键盘输入:1,2,3,使 i 值为 ,j 的为 ,k 的值为 ,以下选项 中正确的输入语句是( 代空格,代表 )A B、%d,&i,&j,&k);C、 D、scanf(i=%d,j=%d,k=%d,&i

12、,&j,&k);解:据键盘输入时数据只是用逗号进行分隔的,所以 scanf 函中格式符之间的分隔符也必须要用分号,故答案选 。、输入语句scanf(a=%d,b=%d,c=%d,&a,&b,&c);为使变量 a 的为 1 值为 3c 值为 2 则正确的数据输入方式是( D 表空格,代表 )A B、1,3,2 C、c=2 D、解:scanf 函要求非格式字符必须原样键入,所以根据 scanf 句,答案应该是 D。二填题 语源程序件的后缀_经编译后生成目标文件的扩名_.obj_经过连接后生 成可执行文件的扩展名是_.exe_。、 程注释是_/*和_*/所界定的文字信息组成的。、程序的执行要经_编辑

13、 、 编译 _、_连接和_行_个步骤。、 C 语中,一个 数在内存中所占字节数为 1 ,数值范围为 -128+127 ;一个 int 数在内存中所占字节数为 2 ,数值范围为 -32768+32767 ;一个 数在内存中 所占字节数为 ,数值范围为 -2147483648+2147483647 ;一个 float 数在内存中所占 字节数为 ,数值范围为 04294967295 。、C 语的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字必须为 小字 母下线 。、符常量使用一对 引 界定单个字符,而字符串常量使用一对 双号 来定若干个字 符的序列。、 在 C 语中,不同运算符之间运

14、算次序存在 优级 的区,同一运算符之间运算次序存在 结合 性 的规。、符串thev034Willn的长度是_12_、知有如下定义,写出下列表达式的值。int a=17b=5 a/b a%b a&b a&b ab 3 _2 _ _ 20_ !a a2 a|b a|b 0 _4 _ _ _72_解析:第 题点是数据自动类型转,整型与整型的运算最后结果仍为整型;、 函和 scanf 函的格式说明都使用 % 字开始。 处理输入数据时遇下列情况时该数据认为结束 空格 回车 。 、有 int i,j; float x;将-10 赋 i 赋给 j410.34 赋 x;则对应以下 函调用语句的数据输入形式是

15、scanf(%d %d %f ,&i,&j,&x);。、 语言本身不提供输入输出语句,其输输出操作是由 函数 来现的。、般地,调用标准字符或格式输入输出库函数时,文件开头应有以预编译命 。 三程阅,出序行果、 int ( c1=a,c2=b,c3=c,c4=101,c5=116;printf(a%c b%ctc%ctabcn,c1,c2,c3);printf(tb%c 0;运结: abcA N、下面的 函输入数据,使 问键盘上如何输入? #includeint ( int a,b;float x,y; b=%d,&a,&b); %e,&x,&y); 0;输数 代空格,代表 Enter)a=3b

16、=78.57.182e1Aa、 int ( int printf(%d %dn,(+x,y+),z+2); 0;运行结果: 、#includeint ( int float b=-198.345, printf(a=%4d,b=%-10.2e,c=%6.2fn,a,b,c); 0;运行结果: 、 int ( int x=-float y=printf(%6d,%6.2f,x,y); 0;运行结果:2345,12.30、 int ( int printf(%6d#,%-6d#n,a,a);printf(a=%o a=%xn,a,a);printf(%14.10lfn,b); 0;运行结果:12#

17、,12 a=14 a=c3.1415926000四编题、知 int x=10,y=12;写将 x 和 y 的值互相交换的表达式。表式 y=x-y, 分: 为 的之,一执 x-y 其果 来值给 ,时 就编原的 , 二执 x-y,注这 x 依然还 x+y 的和但 已经程来 x故 x-y 的结为来 值 将赋给 ,实了 x 与 的换扩:可定一中代量 int t ; t=x,x=y,y=t;执行后 x 与 也互;、 3.6,u=51274,n=128765,c1=a 请写出程序(包括定义变量类型和设计输出 c=5-3.600000 y+z= z+x=2.40u=51274 n=128765 97(ASC

18、II)c2=b or 98(ASCII)编:int main ( )int a=3,b=4,c=5; unsigned u=51274,n=128765; printf(a=%d b=%d c=%dn,a,b,c);printf(x=%lf,y=%lf,z=%lfn,x,y,z);printf(x+y=%.2lf y+z=%.2lf z+x=%.2lfn,x+y,y+z,z+x);printf(u=%u n=%un,u,n); or %d(ASCII)n,c1,c1); or %d(ASCII)n,c2,c2);return 、圆半径 r=1.5圆柱高 h=3,求圆周长圆面积,圆球表面积,圆球体积,圆柱体积。用 scanf 输 入数据,输出计算结果;输出时要求有文字说明,取小数点后 数字,请编写程序。分:出种形求公,面序按式行算输出算果圆周长公式2 圆面积公式r 圆球体积公式: r圆柱体积公式:r2编:int main()圆球表面积公式4rfloat h,r,l,s,sq,vq,vz;float printf(请输圆径 r,圆柱 :);l=2*pi*r;s=r*r*pi;sq=4*pi*r*r;vz=pi*r*r*h;printf(圆周为: l=%.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论