C语言程序设计1-4、12章习题解答
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章C语言程序设计概述
1.1一个C程序的执行是从 A 。
A.从main()函数开始,直到main()函数结束
B.第一个函数开始,直到最后一个函数结束
C.第一个语句开始,直到最后一个语句结束
D.main()函数开始,直到最后一个函数结束
1.2在C程序中,main()的位置 C 。
A.必须作为第一个函数B.必须作为最后一个函数
C.可以任意D.必须放在它所调用的函数之后
1.3C语言源程序的基本单位是 B 。
A.过程 B.函数 C.子程序 D.标识符
1.4一个C源程序有且仅有一个一个函数和__零个或多个_____个其他函数。
1.5C语言源程序的语句分隔符是__分号___。
1.6C语言开发的四个步骤是_编辑源程序→对源程序进行编译→与库函数连接→运行
目标程序__ 。
1.7C语言有哪些主要特点?
C主要特点有:
1.C语言简洁、紧凑,使用方便、灵活;
2.运算符丰富;
3.数据类型丰富;
4.C语言是结构化语言;
5.语法限制不太严格,程序设计自由度大;
6.可直接与机器硬件打交道,直接访问内存地址;
7.生成的目标代码质量高,程序执行效率高;
8.C语言适用范围广,可移植性好。
1.8简述C编译和运行的基本方法。
略。
1.9常用的集成开发工具有哪些?各有什么特点?
略。
1.10编写一个程序,在屏幕上输出以下内容:
***************************
* You are welcome! *
***************************
#include
void main( ) /*主函数 */
{ /*函数体开始*/
printf ("***************************\n"); /*输出语句*/
printf ("* You are welcome! *\n");
printf ("***************************\n");
}
1.11 编写一个C程序,输入a、b、c 3个值,输出其中最大者。
#include
void main( ) /* 主函数*/
{
float max(float x,float y); /* 对被调用函数max的声明 */
float a,b,c,d,result; /*声明实型变量a、b、c */
printf("a,b,c="); /*输出提示信息a,b,c= */
scanf("%f%f%f",&a,&b,&c); /*输入变量a,b和c的值*/
d=max(a,b); /*调用max函数,将得到的返回值赋给d */
result=max(c,d); /*调用max函数,将得到的返回值赋给result */ printf("max=%f\n",result); /*输出result的值*/
}
float max(float x,float y) /* 定义max函数,函数值为实型,形式参数x,y为实型*/ {
float z; /* max函数中的声明部分,声明本函数中用到的变量z为实型*/
if(x>y)
z=x; /*如果x>y ,则将x 值赋给z */
else
z=y; /*否则将y 值赋给z */
return (z); /*将z的值返回给主调用函数*/
}
第2章数据类型,运算符和表达式
2.1以下标识符中不属于C语言的基本数据类型的是 C 。
A.char
B.long
C.bool
D.float
2.2以下选项中属于C语言的数据类型是 C 。
A.复数型
B.逻辑型
C.双精度型
D.集合型
2.3下列标识符中,合法的标识符是 C 。
A.-abc1
B.1abc
C._abc1
D.for
2.4在标准C语言中,不正确的int类型的常数是 A 。
A.32768
B.0
C.037
D.0xAF
2.5以下所列的C语言常量中,错误的是 B 。
A.0xFF
B.1.2e0.5
C.2L
D.'\72'
2.6在C语言中,合法的长整型常数是 B 。
A.0L
B.
C.&
D.216D
2.7以下不正确的语句(设有int p,q)是 D 。
A.p*=3; B.p/=q; C.p+=3; D.p&&=q;
2.8以下使i的运算结果为4的表达式是 D 。
A.int i=0,j=0; (i=3,(j++)+i); B. int i=1,j=0; j=i=((i=3)*2);
C. int i=0,j=1; (j==1)? (i=1): (i=3);
D. int i=1,j=1; i+=j+=2;
2.9设n=10,i=4,则赋值运算n%=i+1执行后,n的值是 A 。
A.0
B.3
C.2
D.1
2.10逗号表达式(a=3*5,a*4),a+15的值为 C ,a的值是 C 。
①A.15 B.60 C.30 D.不确定
②A.60 B.30 C.15 D.90
2.10如果a=1,b=2,c=3,d=4,则条件表达式a>b?a:c>d?c:d的值为 D 。
A.1
B.2
C.3
D.4
2.12 在C语言中,不同类型数据混合运算时,要先转换成同一类型后进行运算。设一表达式中包含有int,long,unsigned和char类型的变量和数据,则表达式最后的运算结果是
D 类型的数据。这四种类型数据的转换规律是 C 。
①A.int B.char C.unsigned D.long
②A.int->unsigned->long->char
B.char->int->long->unsigned
C.char->int->unsigned->long
D.char->unsigned->long->int
2.13 写出经过下列运算后变量a的值,设a的初值为15:
(1) a+=a; (2) a-=2;
(3) a*=2+3; (4) a/=a+a;
(5) a%=(5%=2) (6) a+=a-=a*=a
(1) 30 (2) 13 (3) 75 (4) 0 (5) 0 (6) 0
2.14 假定x=10,y=20,z=30;试判断下列逻辑表达式的真(1)假(0)。
(1) x<10||x>10 (2) (x