第二次作业
作业说明
给你的是各章习题的word文档,你在计算机上打开该文档,直接把你的作业答案敲在每一道题目的下面。在规定的期限内,作完后,把作业的word文档以电子邮件附件的方式发给李老师。 [email protected] 邮件名称为你的班级和姓名。
提醒1:李老师收到你用邮件发来的作业后,会给你一个回复邮件,明确告诉你本次作业通过还是没有通过。没有通过的会告诉你要不要重新作(抄袭雷同者几方不得重新作)。作业雷同者一律不予通过,本次作业无成绩,重作无效。没有班级和姓名的作业无效。 提醒2:平时作业和上机实习合计占30分,期末试卷占70分。如果你的平时成绩为0分,则试卷必须是满分,才能得到70分。你如果有意见,欢迎沟通(面谈或发邮件),你说的有理,就按你的办。
提醒3:“编程,唯有编程,才可能提供给你一个技术性的就业岗位”,这是近年来计算机信息类大学毕业生用金钱买来的一个常识。“时间,唯有时间,才可能教会你编程”,这是每一个程序员都知道的道理。
提醒4:你如果在网吧里做作业,就赶紧做,作完就离开。你还有好多大事要做,网吧里面不安全也不卫生。沉溺网络聊天,是因为你还不够成熟。迷恋网络游戏,是因为你忘却了责任。喜欢乱七八糟的网页,是因为你没有足够的自控能力。
=======================================================
习题二
一、 单项选择题
1-1. 以下_____B_不是C语言的特点。
A. 语言的表达能力强 B. 语法定义严格
C. 数据结构系统化 D. 控制流程结构化
1-2. C编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的是_D_____。
A. 编辑和编译 B. 编译和连接
C. 连接和运行 D. 编辑和运行
1-3. 以下__C____不是二进制代码文件。
A. 标准库文件 B. 目标文件
C. 源程序文件 D. 可执行文件
1-4. 下面各选项组中,均属于C语言关键字的一组是____B__。
A. auto,enum,include B. switch,typedef,continue
C. signed,union,scanf D. if,struct,type
1-5 下面四组字符串中,都可以用作C语言程标识符的是___A___。
A. print B. I\am C. sign D. if
_maf scanf 3mf ty_pe
mx_2d mx_ a.f x1#
aMb6 AMB A&B 5XY
1-6. 以下不属于流程控制语句的是_A_____。
A. 表达式语句 B. 选择语句
C. 循环语句源程序文件 D. 转移语句
1-7.下面描述中,不正确的是_B___。
A. C程序的函数体由一系列语句和注释组成。
B. 注释内容不能单独写在一行上。
C. C程序的函数说明部分包括对函数名、函数类型、形式参数等的定义和说明;
D. scanf和printf是标准库函数而不是输入和输出语句。
1-8.下面描述中,正确的是__C__。
A. 主函数中的花括号必须有,而子函数中的花括号是可有可无的。
B. 一个C程序行只能写一个语句。
C. 主函数是程序启动时唯一的入口。
D. 函数体包含了函数说明部分。
二、 填空题
1-9. 一个完整的C程序至少要有一个_____main__函数。
1-10. 标准库函数不是C语言本身的组成部分,它是由____编译系统___提供的功能函数。 1-11. C程序是以___函数___为基本单位,整个程序由__函数____组成。
1-12. 常用的标准库函数有数学函数、字符函数和字符串函数、动态分配函数、随机函数和__输入_____函数等几个大类。
1-13. 标准库函数存放在____函数库___文件中。
1-14. 目标程序文件的扩展名是____。exe__。
1-15. 程序连接过程是将目标程序、___库函数___或其他目标程序连接装配成可执行文件。 1-16. 因为源程序是__文本____类型的文件,所以它可以用具有文本编辑功能的任何编辑程序完成编辑。
三、 应用题
1-17. 你认为C语言的主要特点和用途是什么?它和其它高级语言有什么不同?
答:生成的执行程序短,代码效率高,运行速度快,适合开发一些小的软件 。具有很广的适用面。
1-18. C语言以函数为程序的基本单位,它有什么好处?
答:便于调试和阅读。
1-19. C语言程序结构的特点是什么?由哪些基本部分组成?
答:都是由函数组成,都是从main函数开始的,以分号结束。
1-20. C语言标识符的作用是什么?命名规则是什么?与关键字有何区别?
答:给变量 函数 常量 文件等的命名。 以字母或者下划线开头 后面跟数字或者下划线。不能与关键字同名,且不超过8字符。
1-21. 指出下列符号中哪些是C语言标识符?哪些是关键字?哪些既非标识符亦非关键字?
stru au_to _auto sizeof 3id file m_i_n 关键字:sizeof
-min call..menu hello A BC SIN90 n*m x.y 标识符:stru au-to -auto file m-i-n
x1234 until cos2x 1234 1234hello s+3 s_3 hello ABC SIN90 x1234 until cos2x s-3 其余为非关键字和非标识符
1-22. 什么是标准C和ANSI C? :
1-23. 为什么可以称C为"中级语言"?
答:可以嵌入汇编语言 可以直接对地址栏进行操作
1-24.编写一个能输出一个简单课表的C程序,并上机运行该程序。
1-25.编写任意两数交换的C程序,要求分别输出交换前的两数和交换后的两数。上机运行该程序。
1-26.已知银行整存整取存款不同期限的月息利率分别为:
0.315% 期限一年
0.330% 期限二年
月息利率 = 0.345% 期限三年
0.375% 期限五年
0.420% 期限八年
要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。试编程。
1-27.输入年份year和月month,求该月有多少天。判断是否为闰年,可用如下C语言表达式:year%4==0 && year%100!=0 || year%400==0。若表达式成立(即表达式值为1),则year为闰年;否则,表达式不成立(即值为0),year为平年。试编程。
习 题 三
一、单选题
1-1.C语言中字符型(char)数据在内存中的形式存储是 。 D
A.原码 B.补码 C.反码 D. ASCII码
1-2. 运算符有优先级,在C语言中关于运算符优先级的正确叙述是 。B
A. 逻辑运算符高于算术运算符,算术运算符高于关系运算符
B. 算术运算符高于关系运算符,关系运算符高于逻辑运算符
C. 算术运算符高于逻辑运算符,逻辑运算符高于关系运算符
D. 关系运算符高于逻辑运算符,逻辑运算符高于算术运算符
1-3. C语言并不是非常严格的算法语言,在以下关于C语言的不严格的叙述中,错误的说法是 。A
A. 任何不同数据类型都不可以同用
B.有些不同类型的变量可以在一个表达式中运算
C.在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
D.同一个运算符号在不同的场合可以有不同的含义
1-4.以下选项中属于C语言的数据类型是 。C
A.复数型 B. 逻辑型 C. 双精度型 D. 集合型
1-5在C语言中,int、char和short三种类型数据所占用的内存 。C
A. 均为2个字节 B. 由用户自己定义
C. 由所用机器的机器字长决定 D. 是任意的
1-6.下列常数中不能作为C的常量的是 。D
A. 0xA5 B. 2.5e-2 C. 3e2 D. 0582
1-7.设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是 。A
A. 0至255 B. 0至65535 D.-256至255 C.-32768至32767
1-8. 在C语言中,数字029是一个 。D
A. 八进制数 B. 十六进制数 C. 十进制数 D. 非法数
1-9.下列可以正确表示字符型常数的是 。 A. "a" B. '\t' C. "\n" D. 297 1-10.以下错误的转义字符是 。B
A. '\\' B. '\'' C. '\81' D. '\0'
1-11.C语言中整数-8在内存中的存储形式是 。A
A. 1111 1111 1111 1000 B. 1000 0000 0000 1000
C. 0000 0000 0000 1000 D. 1111 1111 1111 0111
1-12.已知 int i;float f;正确的语句是 。D
A.(int f)%i B. int(f)%i C. int(f%i) D. (int)f%i
1-13.已知:char a;int b;float c;double d;执行语句 c=a+b+c+d;后,变量c的数据类型是 。B
A. int B. char C. float D. double
1-14.已知 int i,a;执行语句"i=(a=2*3,a*5),a+6;"后,变量i的值是 。C
A. 6 B. 12 C. 30 D. 36
1-15.已知 int i=5;执行语句 i+=++i;i的值是 。C
A. 10 B. 11 C. 12 D. A,B,C答案都不对
1-16.字符串"\\\22a,0\n"的长度是 。B
A. 8 B. 7 C. 6 D. 5
1-17.已知:char c='A';int i=1,j;执行语句 j=!c&&i++;则i和j的值是 。C
A.1,1 B.1,0 C. 2,1 D. 2,0
1-18.已知:int x=1,y=2,z;则执行:z=x>y?++x:++y;则z的值为 。C
A. 1 B. 2 C. 3 D. 4
1-19.为求出s=10!的值,则变量s的类型应当为 。C
A. int B. unsiged C. long D. 以上三种类型均可
1-20.已知:float x=1, y; 则:y=++x*++x的结果为 。A
A. y=9 B. y=6 C. y=1 D. 表达式是错误的
1-21.已知"int a=4,b=5,c;",则执行表达式"c=a=a>b"后变量 a 的值为 。A
A. 0 B. 1 C. 4 D. 5
1-22.已知:char w;int x;float y;double z;则表达式w*x+z-y结果的类型是 。D
A. float B. Char C. int D. double
1-23.选出使变量i的运行结果为4的表达式 。B
A. int i=0, j=0; B. int i=1, j=0;
(i=3,(j++)+i); j=i=((i=3)*2);
C. int i=0, j=1; D. int i=1, j=1;
(j==1) ? (i=1):(i=3); i+=j+=2;
1-24.已知:int x;则使用逗号运算的表达式"(x=4*5, x*5), x+25"的结果为 ① ,变量x的值为 ② 。
① A. 20 B. 100 C. 表达式不合法 D. 45
② A. 20 B. 100 C. 125 D. 45
1-26.执行下面语句后x的值为 。 int a=14, b=15, x; char c='A'; x = ( (a&b) && (c
A. TRUE B. FALSE C. 0 D. 1
1-27.若定义了int x;则将x强制转化成双精度类型应该写成 A。 A. (double)x B. x(double) C. double(x) D.(x)double
1-28.要判断char型变量m是否是数字,可以使用下列表达式 。D
A. 0
二、填空题
1-29. 负数在计算机中是以___补吗____形式表示。
1-30. 双精度型实数的表示范围是_______,其有效位是_16______。
1-31. 关系表达式的运算结果是______值。
1-32. 逻辑运算符!是___单目___运算符,其结合性是由_______从右到左。
1-33. 表达式的运算对象可以是常数、变量和____函数___。
1-34. 已知char c;表达式(c>=48&&c=65&&c=97&&c
1-35. 已知:a=15,b=240;则表达式(a&b)&b||b 的结果为 。
1-36. 已知在ASCII代码中,字母A的序号为65,以下程序的输出结果是 。65 89 #include
main()
{char cl='A',c2='Y';
printf("%d,%d\n",c1,c2);
}
三、应用题
1-37.下面程序的输出是 。 10 9
main( )
{ int x=10, y=10; printf("%d %d\n", x――, ――y);
}
1-38. 分析下面程序执行后的结果。
main ( )
{ int a=3, b=7;
printf ("%d\n", a++ + ++b); /* ① */ 11
printf ("%d\n", b%a); /* ② */ 0
printf ("%d\n', !a>b); /* ③ */ 0
printf ("%d\n", a+b); /* ④ */ 12
printf ("%d\n", a&&b); /* ⑤ */ 36
}
1-39.分析表达式( c>=48&&c=65&&c=97&&c
1-40.在C语言中,怎样区分求负与减法运算?怎样区分取地址运算和按位与运算?