C语言基础知识作业(含解答)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在内存中的存放示意图:
01100100 11111111
11111111
11111111
2. 数据在计算机中存放时,由于受到计算机存储器字长的限制,所能表示出来的数据的 大小总是有限的。例如 16 位机,所能表示出的最大 int 型数据为 32767。如果,实际 问题需要处理更大的数,例如 400000,怎样解决?
答案:c)
13. 若已正确定义了各变量,下面表达式中正确的 C 语言表达式是:
a) a+b=c+d
b) x=++x
c)s*5=100
d) x++=x
答案:b) 解答:
1. 赋值表达式中“=”的左侧必须是变量名; 2. “++”运算符不能和“=”组成符合运算符。
14. C 程序中,语句结束符是:
a) :
输出 float 类型数据 应该 用%f 格式。
四、下面程序的功能是将变量 x 的平方保留两位小数后输出,请将程序补充完整。
main() {
float x=3.1415926;
/*在此补充内容;*/
float y; y=x*x; printf(“y=%10.2f\n”, y);
}
五、请编写程序,求圆锥的体积。已知圆锥的底面直径和高均为 10cm。
2、 4 、8 、1 。
解答:(验证程序) #include<stdio.h> #include<malloc.h> void main() { printf("%d\n",sizeof(int)); printf("%d\n",sizeof(short)); printf("%d\n",sizeof(float)); printf("%d\n",sizeof(double)); printf("%d\n",sizeof(char)); }
a) ++
b) %
c) /
d) *
答案:b)
8. 假设 x,y,z 为整型变量,且 x=2,y=3,z=10,则下列表达式中值为 1 的是:
a) x && y||z
b)x>z c) (!x && y)||(y>z) d)x && !z ||!(y && z)
答案:a) 解答:
C 程序中,进行逻辑运算时,所有的非 0 数都处理成逻辑真;0 处理成逻辑假。 逻辑运算的优先级为顺序:!、&& 、||; 关系运算时:如果关系成立,则关系运算的结果为 1;否则为 0;
a) 3.9
b)3.900000
c)1.100000
d)1.85
答案:b) 解答:
c 程序中的算数表达式的计算严格按运算符的优先级进行。
ab
12. 将数学表达式
改写成 C 语言表达式,正确的是
c df
a) ab/(c+df)
b) a*b/c+d*f
c) a*b/(c+d*f)
d)(a*b)/(c+d)*f
b) /*
c) ;
d),
答案:c) 解答:
c 程序中的每条语句都必须以分号(;)结束。
15. 在 VC++环境中,long 数据类型在内存中所占的字节数为
a) 2
b)8
c)4
d)16
答案:c) 解答:使用如下的程序验证:
#include<stdio.h> #include<malloc.h> void main() {
2. 下面叙述正确的是: a) C 程序中的变量定义语句可以写在函数体中任何位置。 b) C 程序中不能有空语句。 c) C 程序中的变量必须先定义后使用。 d) C 程序中所有简单数据类型都可以准确无误的表示。
答案:c) 解答:
C 程序中,变量定义语句的作用是通知编译系统为变量分配存储空间,所以必须先定义后 使用。
算出
表达式“ 10 < a ”的值,其值或者为 0 或者为 1;然后计算表达式“ 0 < 20 ”或“ 1
< 20 ”
的值,显然结果必定为 1。正确表示出表达式“ 10 < a < 20 ”的 c 表达式形式,必须将其表
示成“a > 10 && a < 20”
11. 表达式 1/5+3%4+4.5/5 的值是:< 20 ”或“a > 30”的正确表达式为
a) (a > 10 && a < 20)&& (a >30) b)(a > 10 && a < 20)|| (a >30)
c) (a > 10 || a < 20)|| (a >30) d)(a > 10 && a < 20)|| !(a <30)
}
16. C 语言中,“#define PRICE 2.56”将 PRICE 定义为
a) 符号常量
b)字符常量
c)关系运算符
d)赋值运算符
答案:a)
17. “==”代表 C 语言中的 a) 条件运算符
b)逻辑运算符
c)关系运算符
d)赋值运算符
答案:c)
18. C 语言中,错误的转义字符是:
a) ‘\n’
基础知识作业解答(1)
一、选择题:
1. 下面叙述错误的是: a) C 程序中,各种括号应成对出现。 b) C 程序中,赋值号的左边不可以是表达式。 c) C 程序中,变量名的大小是有区别的。 d) C 程序中,若未给变量赋初值,则变量的初值自动为 0。
答案:d) 解答:C 程序中,若未给变量赋初值,则变量的初值不一定为 0。按变量被定义的位置来区分,变 量可分为局部变量和全局变量; 在{ … } 之间定义的变量称为局部变量,编译系统对局部变量是不进行初始化的,即,不赋初 值。未赋初值的局部变量的值为机内随机值。 在{ … } 之外定义的变量称为全局变量,编译系统自动对全局变量进行初始化。未赋初值的全 局部变量的值为 0。
答案:b)
解答:
将算数表达式表示成 c 程序中的表达式要注意其间的区别:表达式“ 10 < a < 20 ”在数
学中的意义很明确,表示 a 的取值在(10,20)之间;但在 c 程序中,无论 a 为何值,其计
算结
果都为 1。为什么呢?在 c 程序中,表达式“ 10 < a < 20 ”的处理过程式这样的:先计
10. C 语言中,unsigned int 数据类型的取值范围(VC++环境)为 0 ~4294967295 。
三、改错题:
1. 以下程序有若干语法错误,请修改: main { float a=1.3
missing“;”
float 类 型变 量 不可 以做自增运算。
++a;
print(“a=%d\n”, a); }
printf("sizeof( int )= %d\n",sizeof( int )); printf("sizeof( long )= %d\n",sizeof( long int )); printf("sizeof(unsigned int )= %d\n",sizeof( unsigned int ));
解答: 1. 使用扩展的数据类型:long int,unsigned int 2. 使用 float 或 double 类型 3. 使用数组类型
答案:c) 解答:C 语言可以通过系统调用对硬件进行操作,但不可以直接操作硬件。可以直接操作硬件的是机 器语言。
20. C 程序中,main()的位置 a) 必须作为第一个函数 c) 可以任意
答案:c)
b)必须作为最后一个函数 d)必须放在它所调用的函数之后
二、填空题:
1. 表达式(double)(1/3+.6*5+5%3)的计算结果为 5.000000 。 2. 若有定义“float a=1.5,b=3.5,c=5.2;”,则表达式(a>=b&&c!=b)||(!a&&c-b)的计算结果为 0 。 3. 若有定义 “ int x=5;” , 则表达式 x+=x*=x 的计算结果为 50 。 4. 表达式 a=10 是 赋值 表达式;表达式 a==10 是 关系表达式 表达式; 5. 表达式 sqrt(4)的计算结果的数据类型为 double 。 6. 若有定义“char c=‘\089’; ”,则 c 的值为 不确定 。 7. C 语言中,关系表达式及逻辑表达式的值为 1 或 0 。 8. C 语言中的标识符分为 关键字 、 标准标识符 、 用户标识符 。 9. 在 VC++6.0 环境中,int、short、float、double、char 数据类型变量所占的字节数分别为 4 、
4. C 程序中,合法的关键字的是:
a) Float
b)while
答案:b)
c)Int
d)Integer
5. 下面选项中,优先级最高的运算符是:
a) &&
b)/=
答案:c)
c) !
d)<=
6. 下面选项中,优先级最低的运算符是:
a) !=
b) ||
c)++
d),
答案:d)
7. C 程序中,运算对象必须为整型数据的运算符是
#include<stdio.h> #include<math.h> #define pi 3.1425926 void main() {
float d=10,h=10; float v; v=pi*(d*d)/(2*2)*h/3; printf("v=%-10.2f\n",v); }
六、思考题: 1. int 型数据 -156 在计算机内存中是如何表示的?请写出-156 的二进制数的形式, 并画出在内存中存放的具体示意图。 int 型数据 -156 在计算机内存中是以 156 的补码形式表示的;其二进制形式: 11111111 11111111 11111111 01100100
b)‘\101’
c)‘ \” ’
d)‘\108’
答案:d) 解答:转义字符‘\ooo’中的三个数字表示的是一个八进制数;‘\108’中出现了数字 8,所以错误。
19. 以下并非 C 语言的特点的是: a) C 语言简洁和紧凑 b) C 语言能够编织出功能复杂的程序 c) C 语言可以直接对硬件进行操作 d) C 语言移植性好
3. 以下合法的用户标识符的是:
a) long
b)\t
c)5a
d)user
答案:d) 解答:
C 程序中,合法的用户标识符的定义是:以字母或下划线开头的由字母、数字和下划线组成的字 符串,不可以使用系统的关键字作为用户的标识符。 常见的关键字有:int, float ,char ,double ,long, short,unsigned,if,switch,case,break, continue ,do ,for ,while ,struct ,union, auto, static, extern, register; 标准函数名可以用作用户标识符,但不提倡。
9. C 语言中,合法的字符常量是
a) n
b)‘\n’
c) 110
d) “n”
答案:b) 解答: C 程序中,合法的字符常量是:用单引号(‘’)括起来的一个字符以及一些特殊作用的转义字符。 转义字符有:‘\a’ 、‘\b’ 、‘\t’ 、‘\r’ 、‘\n’ 、‘\\’ 、‘\’’ 、‘\’’’ 、‘\f’ 、 ‘\v’ 、‘\?’、‘\ooo’ 、‘\xhh’