第4章选择结构习题答案
《C语言程序设计》课后习题答案解析[第四版]谭浩强
第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n"); printf(" Very Good!\n\n");printf ("**************************\n"); return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max);return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用N S流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次 p5=p*pow(1+r0/4,4*5); // 存活期存款。
数据结构答案第4章
第 4 章广义线性表——多维数组和广义表2005-07-14第 4 章广义线性表——多维数组和广义表课后习题讲解1. 填空⑴数组通常只有两种运算:()和(),这决定了数组通常采用()结构来实现存储。
【解答】存取,修改,顺序存储【分析】数组是一个具有固定格式和数量的数据集合,在数组上一般不能做插入、删除元素的操作。
除了初始化和销毁之外,在数组中通常只有存取和修改两种操作。
⑵二维数组A中行下标从10到20,列下标从5到10,按行优先存储,每个元素占4个存储单元,A[10][5]的存储地址是1000,则元素A[15][10]的存储地址是()。
【解答】1140【分析】数组A中每行共有6个元素,元素A[15][10]的前面共存储了(15-10)×6+5个元素,每个元素占4个存储单元,所以,其存储地址是1000+140=1140。
⑶设有一个10阶的对称矩阵A采用压缩存储,A[0][0]为第一个元素,其存储地址为d,每个元素占1个存储单元,则元素A[8][5]的存储地址为()。
【解答】d+41【分析】元素A[8][5]的前面共存储了(1+2+…+8)+5=41个元素。
⑷稀疏矩阵一般压缩存储方法有两种,分别是()和()。
【解答】三元组顺序表,十字链表⑸广义表((a), (((b),c)),(d))的长度是(),深度是(),表头是(),表尾是()。
【解答】3,4,(a),((((b),c)),(d))⑹已知广义表LS=(a,(b,c,d),e),用Head和Tail函数取出LS中原子b的运算是()。
【解答】Head(Head(Tail(LS)))2. 选择题⑴二维数组A的每个元素是由6个字符组成的串,行下标的范围从0~8,列下标的范围是从0~9,则存放A至少需要()个字节,A的第8列和第5行共占()个字节,若A按行优先方式存储,元素A[8][5]的起始地址与当A按列优先方式存储时的()元素的起始地址一致。
结构化学第四章习题及答案
第四章习题一、 选择题1. 下面说法正确的是:---------------------------- ( D )(A) 分子中各类对称元素的完全集合构成分子的对称群(B) 同一种分子必然同属于一个点群,不同种分子必然属于不同的点群(C) 分子中有 Sn 轴,则此分子必然同时存在 Cn 轴和σh 面(D) 镜面σd 一定也是镜面σv2. 下面说法正确的是:---------------------------- ( B )(A) 如构成分子的各类原子均是成双出现的,则此分子必有对称中心(B) 分子中若有C4,又有i ,则必有σ(C) 凡是平面型分子必然属于Cs 群(D) 在任何情况下,2ˆn S =E ˆ3. 如果图形中有对称元素S6,那么该图形中必然包含:---------------------------- ( C )(A) C6, σh (B) C3, σh (C) C3,i (D) C6,i二、 填空题1. I3和I6不是独立的对称元素,因为I3= +I ,I6= +σh 。
2. 对称元素C2与σh 组合,得到__ i __;Cn 次轴与垂直它的C2组合,得到_n 个C2__。
3. 有两个分子,N3B3H6和 C4H4F2,它们都为非极性,且为反磁性,则N3B3H6几何构型_平面六元环__,点群 _。
C4H4F2几何构型_平面,有两个双键_,点群 。
三、 判断题1. 既不存在C n 轴,又不存在σh 时,S n 轴必不存在。
---------------------------- ( × )2. 在任何情况下,2ˆnS =E ˆ 。
---------------------------- ( × ) 3. 分子的对称元素仅7种,即σ ,i 及轴次为1,2,3,4,6的旋转轴和反轴。
---------------------------- ( × )四、 简答题1. 写出六重映轴的全部对称操作。
《混凝土结构与砌体结构》第3版-第4章受弯构件的正截面承载力习题答案
第4章 受弯构件的正截面承载力4.1选择题1.( C )作为受弯构件正截面承载力计算的依据。
A .Ⅰa 状态;B. Ⅱa 状态; C. Ⅲa 状态; D. 第Ⅱ阶段; 2.( A )作为受弯构件抗裂计算的依据。
A .Ⅰa 状态;B. Ⅱa 状态; C. Ⅲa 状态; D. 第Ⅱ阶段; 3.( D )作为受弯构件变形和裂缝验算的依据。
A .Ⅰa 状态;B. Ⅱa 状态;C. Ⅲa 状态; D. 第Ⅱ阶段;4.受弯构件正截面承载力计算基本公式的建立是依据哪种破坏形态建立的( B )。
A. 少筋破坏;B 适筋破坏;C 超筋破坏;D 界限破坏;5.下列那个条件不能用来判断适筋破坏与超筋破坏的界限( C )。
A .b ξξ≤;B .0h x b ξ≤;C .'2s a x ≤; D .max ρρ≤6.受弯构件正截面承载力计算中,截面抵抗矩系数s α取值为:( A )。
A .)5.01(ξξ-; B .)5.01(ξξ+;C .ξ5.01-;D .ξ5.01+;7.受弯构件正截面承载力中,对于双筋截面,下面哪个条件可以满足受压钢筋的屈服( C )。
A .0h x b ξ≤;B .0h x b ξ>;C .'2s a x ≥;D .'2s a x <;8.受弯构件正截面承载力中,T 形截面划分为两类截面的依据是( D )。
A. 计算公式建立的基本原理不同;B. 受拉区与受压区截面形状不同;C. 破坏形态不同;D. 混凝土受压区的形状不同;9.提高受弯构件正截面受弯能力最有效的方法是( C )。
A. 提高混凝土强度等级;B. 增加保护层厚度;C. 增加截面高度;D. 增加截面宽度;10.在T 形截面梁的正截面承载力计算中,假定在受压区翼缘计算宽度范围内混凝土的压应力分布是( A )。
A. 均匀分布;B. 按抛物线形分布;C. 按三角形分布;D. 部分均匀,部分不均匀分布;11.混凝土保护层厚度是指( B )。
C语言程序设计第4章 选择结构程序设计-2018
(x<0&&y<0&&z>=0)|| (x>=0&&y<0&&z<0)|| (x<0&&y>=0&&z<0)
(2) x和y中至少有一个小于z。
设x、y、z均为int型变量,则对应表达式为: (x<z)||(y<z)
注意
– 可等价于一条语句 – 可以嵌套使用
• 格式
{ <语句序列> { <语句序列> } <语句序列>
}
4.3.2 复合语句
• 【例4-2】迪士尼门票规定65周岁及以上的老 年人,平日票价为280元,高峰日票价为375元。
– 语句1为内嵌语句,只允许是一条语句,可以是简单的语句、复合 语句或者另一个if语句等
• 执行过程
– 先求解表达式
– 如果表达式的值为“真”,则执行语句1
– 否则,如果表达式的值为“假”,则什么都不做
4.3.2 复合语句
• 复合语句
– 用一对大括号将一组语句序列括起来,通常可以出现在允 许单条语句出现的地方
第4章 选择结构程序设计
目录
4.1 门票价格问题 4.2 条件的表示 4.3 单分支结构 4.4 双分支结构 4.5 多分支结构 4.6 综合案例 练习 4
问题
– 如果今天下雨,我就不去植物园 – 鱼与熊掌不可兼得 – 同样一件衣服,京东、天猫、唯品会、
官网、实体店都有售,价格、送货时间、 品质保障、优惠方式等各不同,到底选 择买哪一家的呢 – 复杂决策问题
C程序设计(第五版)-第4章选择结构程序设计课后习题答案
C程序设计(第五版)-第4章选择结构程序设计课后习题答案1. 什么是算术运算?什么是关系运算?什么是逻辑运算?【答案解析】算熟运算:算术运算即“四则运算”,是加法、减法、乘法、除法、乘⽅、开⽅等⼏种运算的统称。
其中加减为⼀级运算,乘除为⼆级运算,乘⽅、开⽅为三级运算。
在⼀道算式中,如果有多级运算存在,则应先进⾏⾼级运算,再进⾏低⼀级的运算。
C语⾔中的算熟运算符包括:+、-、*、/、++、--、%等种类。
如果只存在同级运算;则从左⾄右的顺序进⾏;如果算式中有括号,则应先算括号⾥边,再按上述规则进⾏计算。
⽰例:$ (1 + 1)^{2} * 4+5 * 3$解析:1. 先进⾏括号内运算1+1,然后进⾏乘⽅运算得到结果4.2. 接下来与4相乘,得到结果163. 因为乘法优先级⼤于加法,因此先进⾏5*3,得到结果154. 最终相加得到结果31结果:31关系运算:关系的基本运算有两类:⼀类是传统的集合运算(并、差、交等),另⼀类是专门的关系运算(选择、投影、连接、除法、外连接等),⽽在C语⾔中,关系运算通常被认为是⽐较运算,将两个数值进⾏⽐较,判断⽐较结果是否符合给定的条件。
常见的关系运算符包括:<、<=、>、>=、==、!=等种类。
其中,前4种关系运算符(<、<=、>、>= )的优先级别相同,后2种(==、!=)也相同。
⽽前4种⾼于后2种。
例如, >优先于==。
⽽>与<优先级相同。
并且,关系运算符的优先级低于算术运算符,关系运算符的优先级⾼于赋值运算符(=)。
逻辑运算:在逻辑代数中,有与、或、⾮三种基本逻辑运算。
表⽰逻辑运算的⽅法有多种,如语句描述、逻辑代数式、真值表、卡诺图等。
⽽在C语⾔中,逻辑运算通常⽤于使⽤逻辑运算符将关系表达式或其它逻辑量连接起来组成逻辑表达式⽤来测试真假值。
常见的逻辑运算符包括:&&、||、!等种类&&:与是双⽬运算符,要求有两个运算对象,表⽰两个运算对象都成⽴,则结果为真,否则结果为假。
第4章 选择结构
第4章选择结构1、以下选项中,当x为大于1的奇数时,值为0的表达式是A) x%2==0B) x/2C) x%2!=0D) x%2==1参考答案:A【解析】算术运算符的优先级高于关系运算符的优先级,所以当x为大于1的奇数时,A选项的值为假,即0。B选项的值为不定值,但绝对不是0。C选项的值为真,即1。D选项的值为真,即1。2、当变量c的值不为2、4、6时,值为"真"的表达式是A) (c>=2 && c<=6)&&(c%2!=1)B) (c==2)||(c==4)||(c==6)C) (c>=2 && c<=6)&& !(c%2)D) (c>=2 && c<=6) || (c!=3) || (c!=5)参考答案:D【解析】逻辑或表达式中有一个值不为0,结果即为真,逻辑与表达式中只有两个运算对象均非零,结果才为真。所以只有选项D满足要求。3、以下叙述中正确的是A) 在C语言中,逻辑真值和假值分别对应1和0B) 关系运算符两边的运算对象可以是C语言中任意合法的表达式C) 对于浮点变量x和y,表达式:x==y 是非法的,会出编译错误D) 分支结构是根据算术表达式的结果来判断流程走向的参考答案:B【解析】A选项中,在C语言中,逻辑真值对应非0; C选项中,表达式:x==y 是合法的;D选项中,分支结构的流程走向是根据表达式的值,并不仅仅是算数表达式的值。
因此B选项正确。
4、下列关系表达式中,结果为"假"的是A) 3 <= 4B) (3 < 4) == 1C) (3 + 4) > 6D) (3 != 4) > 2参考答案:D【解析】B选项中,关系表达式(3<4)==1即1==1,结果为真; C选项中,(3+4)>6即7>6,结果为真;A选项中,3<=4结果为真。
数据结构 第1-4章选择题(有 答案)
2."1的末尾,它是小于或等于1的一个实数。
(8)将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是()。
A.n
B.2n-
1
C.2n
D.n-1
说明:
合并两个有序表的算法见课本算法
2."15和算法
2."1
6。"当两个表中的一个完全排在另一个表的前面时,比较的次数最少,此时只是后面表中的第一个元素与前面表中的元素逐一比较一次,然后就直接将两个表连接起来。
D.除第一个和最后一个元素外,其余每个元素都有一个且仅有一个直接前驱和直接后继。
(11)若指定有n个元素的向量,则建立一个有序单链表的时间复杂性的量级是()。
2A.O
(1)
B.O(n)
C.O(n)
D.O(nlog
2n)说明:
这道题其实有些问题。若题目的意思是,有n个元素,事先我们不知道元素的大小次序,我们依此将这些元素一个个插入单链表中并且使得单链表有序。注意这是单链表,第8章的一些快速排序算法在这里用不上。因为是单链表,每次插入一个元素,只能从表头开始逐一比较,寻找插入的位置。在最坏的情况下,需要比较n(n-1)/2次,时间复杂性为O(n2)。但平均却是O(n)。
A.r-f
B.(n+f-r)%n
C.n+r-f
D.(n+r-f)%n说明:
当用数组表示循环队列时,f、r是数组元素的下脚标。由于是循环的,所以有可能r<f。若r>f,则r-f即为队列的元素个数;当r<意当r>f时,(n+r-f)%n=(r-f)%n=r-f。
(4)链式栈结点为:
说明:
c语言第4章 选择结构程序设计习题答案
第4章选择结构程序设计习题(P111)4。
2 C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?答:C语言中用1表示真,0表示假;系统按照“非0为真,0为假”判断一个逻辑量的真假。
4.3 写出下面各逻辑表达式的值。
设a=3,b=4,c=5。
(1)a+b〉c&&b==c (2)a||b+c&&b-c (3)!(a〉b)&&!c||1(4)!(x=a)&&(y=b)&&0 (5)!(a+b)+c—1&&b+c/2解:该题在求解过程中注意:一、优先级。
逻辑运算符(&&和||)低于算术运算符和关系运算符而高于赋值运算符,在逻辑运算符中,逻辑非最高,逻辑与其次,逻辑或最低;二、逻辑表达式的求值规则。
(P94)所以得以上表达式的值分别为:(1)0 (2)1 (3)1 (4)0 (5)14。
4有3个整数a、b、c,由键盘输入,输出其中最大的数。
分析:这是一个规模较小的求最值的算法,习题1.6用函数的方法实现。
该题不用函数调用实现,但方法类似。
法一:先求前两个数的最值,再用前两个数的最值和第三个数比较即得结果。
法二:先假设第一个数是最值,再依次和第二、第三个数比较得结果。
其中都要用到单分支或双分支选择结构语句。
参考程序如下:法一:main(){ int a,b,c,max;/*定义4个整型变量,其中a,b,c存原始数据,max存最值*/ printf(”\ninput the value of a,b,c:"); /*提示输入*/scanf(”%d%d%d",&a,&b,&c);/*格式符之间无分隔符,输入时可以以空格、回车、跳格分隔*/if(a>b) max=a;else max=b;if(max<c) max=c;printf("\nmax=%d\n",max);}法二:main(){int a,b,c,max;printf(”\ninput the value of a,b,c:”);scanf(”%d%d%d",&a,&b,&c);max=a;if(max〈b) max=b;if(max<c) max=c;printf("\nmax=%d\n”,max);}4.6有一个函数:写一段程序,输入x,输出y的值。
(完整版)C语言基础练习题(含答案)
目录第1-3章C语言基础知识习题 (2)1 选择题 (2)2 填空题 (7)3 答案及部分解析 (9)第4章选择结构习题 (11)1 选择题 (11)2 填空题 (17)3 答案及部分解析 (23)第5章循环结构习题 (26)1 选择题 (26)2 填空题: (32)3 答案及部分解题分析 (39)第6章数组习题 (41)1. 单项选择题 (41)2. 填空题 (44)3. 判断题 (45)4. 程序填空题 (45)5. 阅读程序,分析程序的功能。
(49)第7章函数习题 (55)1. 单项选择题 (55)2. 填空题 (56)3. 判断题 (57)4. 程序填空题 (58)5. 写出下列程序运行结果 (59)第8章指针习题 (67)1 选择题 (67)2 填空题 (69)第1-3章C语言基础知识习题1 选择题1. 以下不是C语言的特点的是()。
A、语言简洁紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件操作D、C语言移植性好2.下列字符序列中,不可用作C语言标识符的是()。
A.abc123 B.no.1 C._123_ D._ok3.正确的C语言标识符是()。
A._buy_2 B.2_buy C.?_buy D.buy?4. 请选出可用作C语言用户标识符的一组标识符()。
A.void B.a3_b3 C.For D.2adefine _123 -abc DOWORD IF Case sizeof5. 下列符号中,不属于转义字符的是()。
A.\\ B.\0xAA C.\t D.\06.不属于C语言关键字的是()。
A.int B.break C.while D.character7.是C语言提供的合法关键字的是()。
A.Float B.signed C.integer D.Char8.以下不能定义为用户标示符的是()。
A.scanf B.Void C._3com_ D.int9.一个C程序是由()。
C语言全国计算机二级等级考试教程第四章选择结构(章节带习题)
2
a a
2 1
b 1
b
1
4.2 if语句和用if语句构成的选择结构
4.2.1 if语句
C语言的if语言有两种形式: if(表达式) 语句 关键字 不满足 单分支if语句 不含else子句 关键字 if(表达式) 语句1 else 语句2 不满足 双分支if语句 含else子句
表达式 满足 语句
表达式 满足 语句1
表达式2
表达式1
真
假
表达式3
真
假
表达式4
真
语句1 语句2 语句3
假
语句n
真
语句4
4.2 if语句和用if语句构成的选择结构
4.2.2 嵌套的if语句
例4.5 编写程序,根据输入的学生成绩给出相应的等级,大于或等于90分以上 的等级为A,60分以下的等级为E,其余每10分为一个等级。 Enter g:72<CR> 成绩(g)大于等于90分以上(g>=90):A g=72:C 成绩(g)大于等于80分以上(g>=80):B 程序的意思为: 成绩(g)大于等于70分以上(g>=70):C Enter g:55<CR> 成绩(g)大于等于60分以上(g>=60):D g=55:E 成绩(g)不及格(g<60):E #include <stdio.h> 假 g>=90 main() {int g; 真 g>=80 假 printf("Enter g:");scanf("%d",&g) 真 printf("g=%d:",g); g>=70 假 if(g>=90) printf("A\n"); 真 假 g>=60 else if(g>=80) printf("B\n"); else if(g>=70) printf("C\n"); 真 else if(g>=60) printf("D\n"); 输出A 输出B 输出C 输出D 输出E else printf("E\n"); }
(完整版)第四章分子结构习题及答案
第四章分子结构习题1。
是非判断题1-1化学键是相邻原子与原子(或离子与离子)之间的强烈相互作用。
1—2 50Sn2+是18+2电子构型,50Sn4+是18电子构型。
1-3 Al3+,Ba2+,Si(IV)的电子构型都属于8电子构型.1-4具有未成对电子的两个原子相互接近时可以形成稳定的共价键.1—5原子形成共价键的数目等于基态原子的未成对电子数。
1-6σ键的特点是原子轨道沿键轴方向重叠,重叠部分沿键轴呈圆柱形对称。
1-7一般来说,σ键的键能比π键键能小。
1—8 s电子与s电子配对形成的键一定是σ键,p电子与p电子配对形成的键一定为π键.1—9两个σ键组成一个双键.1-10键的强度与键长无关。
1-11所有非金属元素之间形成的化合物都不是离子化合物。
1—12μ=0的分子,其化学键一定是非极性键.1—13共价键具有饱和性的原因在于每个原子提供一定数目的自旋方向相反的未成对电子。
1—14原子核外有几个未成对电子,就能形成几个共价键。
1-15共价键类型可以分为σ键和π键,π键的键能小于σ键的键能,因此π键的稳定性弱于σ键. 1—16烷烃分子中C-H键的键能为413 KJ·mol -1,因此提供413KJ·mol -1的能量能使甲烷和乙烷分子中C-H键断裂。
1-17沿键轴方向的s轨道和p轨道进行重叠可形成π键。
1-18原子轨道相互重叠应满足最大重叠原理,所以沿键轴以“头碰头”方式才能成键。
1—19原子轨道之所以要发生杂化是因为能增大成键能力。
1—20 sp3杂化是,s轨道的主量子数和p轨道的主量子数可以是不同的,也可以是相同的。
1-21 1个s轨道和3个p轨道,形成1个sp3杂化轨道.1-22在sp,sp2,sp3杂化中,杂化轨道的成键能力随s轨道成分增多而增强。
1-23发生轨道杂化的原子轨道可以具有成对电子。
1-24原子轨道发生杂化,若轨道上有孤对电子存在,这类杂化是不等性的。
1-25 NH3和H2O分子中的中心原子都是发生sp3杂化,但氧原子的2对孤对电子占据2 个杂化轨道而产生更大的斥力,使O—H键键角大于氨分之中N—H键键角。
计算机一级选择题练习题及答案_第4章
第四章选择题卷一及答案[11-1]下列N-S中的图形符号表示的是。
当PA[答] C,A) 选择结构B) 顺序结构C) 当型循环结构D) 直到型循环结构解:这个N-S中的图形符号表示的是当型循环结构。
当条件P成立是反复执行操作A,直到P 不成立时为止。
[11-2]下面关于算法的描述中,错误的概念是。
[答] C,A) 一个算法应当有0个或多个输入B) 一个算法应当有一个或多个输出C) 一个算法所包含的计算步骤可以是无限的D) 算法中的每一个步骤必须要有确切的含义解:从算法的形式化定义中得出一个结论:一个算法是对于任何的输入元素X,都在有穷步骤内中止的一个计算方法。
因此“算法所包含的计算步骤可以是无限的”这种说法是不正确的。
[11-3]按照程序设计语言的发展及分类方法,C语言属于。
[答] C,A) 机器语言B) 汇编语言C) 面向过程语言D) 面向对象语言解:C语言是一种算法语言,它侧重于问题处理过程,其与具体的机器无关,与机器的具体实现无关;接近于数学语言表示,增强了可读性和易排错性;提供了更强大的语句功能和函数库,进一步扩充了语言提供的设施,大大地降低了程序设计的难度。
因此,C语言属于面向过程语言。
[12-1]以下概念中正确的描述是。
[答] C,A) 计算机可以直接执行高级语言源程序B) 解释方式获得的目标代码效率优于编译方式C) 无论是解释方式或编译方式最终获得的都是机器可执行的目标代码D) 源程序经编译后得到的是可执行程序解:用任何一种高级程序设计语言编写的问题求解程序都需要翻译成机器语言程序,完成这种翻译工作的程序称之为翻译器。
把高级语言程序翻译成机器语言程序的方法有两种。
一种是编译方式,一种是解释方式,因此无论是解释方式或编译方式最终获得的都是机器可执行的目标代码。
[12-2]数组是一种应用广泛的数据类型,它属于。
[答] B,A) 简单类型B) 结构类型C) 指针类型D) 文件类型解:数组是每一种高级程序设计语言都提供了的数据结构,是最重要也是最基本的结构数据类型,程序设计人员可以利用数组模拟实现他所需要的一些结构。
计算机网络技术第4章习题参考答案
第4章习题参考答案1. 选择题⑴如果要用非屏蔽双绞线组建以太网,需要购买带[ D ]接口的以太网卡。A. AUIB. F/OC. BNCD. RJ-45⑵连接局域网中的计算机与传输介质的网络连接设备是[ C ]。A. 网卡B. 集线器C. 交换机D. 路由器⑶以太网交换机的100Mbps全双工端口的带宽是[ D ]。A. 20 MbpsB. 200 MbpsC. 10 MbpsD. 100 Mbps⑷在千兆以太网标准中,单模光纤的最大长度可以达到[ D ]。A. 300 mB. 1000 mC. 550 mD. 3000 m⑸当以太网中的连网节点数增加一倍时,每个节点平均能分配到的带宽大约为原来的[ A ]。A. 不变B. 1/2C. 两倍D. 1/10⑹在快速以太网中,支持5类非屏蔽双绞线的标准是[ A ]。A. 100BASE-T4B. 100BASE-LXC. 100BASE-TXD. 100BASE-FX⑺ [ B ]可以通过交换机多端口间的并发连接实现多节点间数据并发传输。A. 以太网B. 交换式局域网C. 令牌环网D. 令牌总线网⑻交换式局域网的核心设备是[ D ]。A. 集线器B. 中继器C. 路由器D. 局域网交换机⑼ [ C ]是一种以光纤作为传输介质的高速主干环网技术。A. WDWM技术B. ATM技术C. FDDI技术D. 以太网⑽把计算机网络分为有线局域网和无线局域网的分类依据是[ B ]。A.网络的地理位置B. 网络的传输介质C.网络的拓扑结构D.网络的成本价格2. 简答题⑴局域网的主要特点是什么?其局域网体系结构与ISO模型有什么异同之处?答:局域网是指分布地理范围在几公里以内的计算机网络。
特点:地理分布范围小;数据传输率高;误码率低;由单一组织机构管理。
局域网中不需要中间数据交换,也即没有路由选择问题,因此在局域网中没有网络层及以上层次,只有OSI参考模型下面的两层,但是局域网中的数据链路层又分为逻辑链路子层LLC和媒体访问控制子层MAC两个子层。
C语言 第四章 选择结构程序设计期末测试习题与答案
D.其之前最近的没有else配对的if
参考答案:D
12、在下面的条件语句中,只有一个在功能上与其它三个语句不等价,它是( )。
A.if (a)语句1 else语句2
B.if (a!=0)语句1 else语句2
C.if (a==0)语句2 else语句1
D.if (a==0)语句1 else语句2
printf(“a=%d,b=%d\n”,aa=2,b=2
C.a=1,b=0
D.a=1,b=1
参考答案:B
16、假定所有变量均已正确说明,以下程序段运行后的输出结果是( )。
int a=1,b=5,c=3;
if(a>b)
a=b;
b=c;
c=a;
printf("a=%d b=%d c=%d\n",a,b,c);
D.if(a==0) printf("%d\n",x); else printf("%d\n",y);
参考答案:D
2、假定所有变量均已正确说明,下列程序段运行后x的值是( )。
a=b=c=0;x=12; if(!a)x--; else x=5; if(c) x=3; else x=4;
A.3
B.4
C.12
int a=1,b=3,c=5; if(c=a+b) printf("yes\n"); else printf("no\n");
A.3
B.5
C.1
D.2
参考答案:A
5、当把以下4个表达式用作if语句的控制表达式时,有一个选项与其他3个选项含义不同,这个选项是( )。
A.k%2==1
数据结构课后习题答案第四章
第四章串一、单项选择题1.B2. B3.B4.C5. C二、填空题1.空、字符2.由空格字符(ASCII值32)所组成的字符串空格个数3.长度、相等、子、主4.55.011223126.(1)char s[ ] (2) j++ (3) i >= j7.[题目分析]本题算法采用顺序存储结构求串s和串t的最大公共子串。
串s用i指针(1<=i<=s.len)。
t串用j指针(1<=j<=t.len)。
算法思想是对每个i(1<=i<=s.len,即程序中第一个WHILE循环),来求从i开始的连续字符串与从j(1<=j<=t.len,即程序中第二个WHILE循环)开始的连续字符串的最大匹配。
程序中第三个(即最内层)的WHILE循环,是当s中某字符(s[i])与t中某字符(t[j])相等时,求出局部公共子串。
若该子串长度大于已求出的最长公共子串(初始为0),则最长公共子串的长度要修改。
(1) i+k<=s.len && j+k<=t.len && s[i+k]==t[j+k] //所有注释同上(a)(2) con=0 (3) j+=k (4) j++ (5) i++三、应用题1.空格是一个字符,其ASCII码值是32。
空格串是由空格组成的串,其长度等于空格的个数。
空串是不含任何字符的串,即空串的长度是零。
2.(a)A+B “ mule”(b)B+A “mule ”(c)D+C+B “myoldmule”(d)SUBSTR(B,3,2) “le”(e)SUBSTR(C,1,0) “”(f)LENGTH(A) 2(g)LENGTH(D) 2(h)INDEX(B,D) 0(i)INDEX(C,”d”) 3(j)INSERT(D,2,C) “myold”(k)INSERT(B,1,A) “m ule”(l)DELETE(B,2,2) “me”(m)DELETE(B,2,0) “mule”3.朴素的模式匹配(Brute-Force)时间复杂度是O(m*n),KMP算法有一定改进,时间复杂度达到O(m+n)。
C语言程序设计习题与参考答案
习题与参考答案第1章 C语言程序设计基础思考与练习一、填空题1、C程序是由构成的,一个C程序中至少包含。
2、C程序的注释是由和所界定的文字信息组成的。
3、开发一个C程序要经过编辑、、和运行4个环节。
4、C语言中,头文件的扩展名是。
5、C语言源程序的扩展名;经过编译后,生成文件的后缀是;经过连接后,生成文件的扩展名是。
二、简答题1、简述C语言程序的运行步骤。
2、软件编程中的可读性原则一般包括那些内容?3、什么是算法?算法的特点有哪些?4、参照本章例题,编写一个C程序,输出以下内容。
**************************************************Hello,world!**************************************************5、写出算法。
已知圆的半径,求周长和面积。
第1章思考与练习参考答案一、填空题1、函数、一个主函数main()2、/*、*/3、编译、连接4、.h5、.c、.obj、.exe二、简答题1、简述C语言程序的运行步骤。
答:(1)编辑C程序源文件;(2)编译,将编辑好的源程序文件“*.c”,翻译成二进制目标代码文件“*.obj”;(3)连接,将编译生成的各个目标程序模块和系统或第三方提供的库函数“*.lib”连接在一起,生成可以脱离开发环境、直接在操作系统下运行的可执行文件“*.exe”;(4)运行程序。
如果运行出错,这说明程序处理的逻辑存在问题,需要再次回到编辑环境针对程序出现的逻辑错误进一步检查、修改源程序,重复编辑→编译→连接→运行的过程,直到取得预期结果为止。
2、软件编程中的可读性原则一般包括那些内容?答:1.编程规范概要(1)程序结构清晰,简单易懂,单个函数的程序行数不得超过100行。
(2)打算干什么,要简单,直截了当,代码精简,避免垃圾程序。
(3)尽量使用标准库函数和公共函数。
(4)不要随意定义全局变量,尽量使用局部变量。
VB第4章 选择结构
教案讲稿第四章选择结构程序设计[旧课复习]:复习内容:1.已学过的几个常用的控件2.控件中输入输出语句的使用复习目的:让学生掌握基本控件的使用复习时长:大约10分钟[新课导入]:导入方式:以日常生活中的实例让学生理解什么是选择结构导入目的:增强学生的理解能力导入时长:大约5分钟[新课讲授]:重点:各种分支结构语句的使用难点:选择结构的嵌套方法:运用多媒体辅助教学,采用讲授法和案例教学法4.1算法介绍4.1.1算法介绍一、算法概述所谓算法,是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每个指令表示一个或多个操作。
算法有以下特征:(1)有穷性(2)确定性(3)可行性(4)输入(5)输出4.1.2算法的表示常用的表示算法的方法有:自然语言、伪代码、流程图,本章重点介绍用流程图表示算法。
流程图用一些图框、流程线以及文字说明来表示算法。
用图来表示算法,直观、形象、容易理解。
包括:传统流程图、结构化流程图。
因传统流程图中流程线的使用无限制可能导致流程图毫无规律。
结构化流程图使用3中基本结构,即:顺序结构、选择结构和循环结构(如图4-1所示),从而大大提高流程图的规律性。
图4-1(a)顺序结构流程图图4-1(b)选择结构流程图图4-1(c)循环结构流程图4.2条件语句VB中选择结构通过条件语句来完成,包括:单分支、双分支和多分支等。
4.2.1单分支结构语句单分支结构语句包括单行结构和块结构。
1.“单行结构”格式为:If <条件表达式> Then <语句序列>2. “块结构”格式为:If <条件表达式> Then<语句序列>说明:(1)“条件表达式”可以是关系表达式、布尔表达式或者数值表达式。
如果是数值表达式,则非0值为真,0为假。
(2)当条件表达式的值为真时执行语句序列。
【例4-1】已知两个数x和y,比较它们的大小,使得x>y。
分析:对任意的两个数x、y,其中x若为大的数,直接输出即可,若 y为大的数,则交换两数即可。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章选择结构习题参考答案:
一、选择题
1-10:A CABD CADD A
11-20:C CBDC ACACB
21-30:D CB B D AC A BA
31-40:DCDCB BAACB
41-50:CDDDA A A D DB
二、填空题
(1) 2 (2) 4,5,99 (3) 10 20 0 (4) 2 1 (5) -4 (6) 3 (7) yes (8) 1
(10) 20,0 (11) 585858 (12) 0
三、编程题
1,
.#include<stdio.h>
void main()
{ int x,y;
scanf(“%d”,&x);
if(x>-1)
{if(x>5) y=2*x+5;
else if(x>2) y=x*(x+2);
else y=2*x;
printf(“y=%d\n”,y);
}
else printf(“输入值范围错误!”) ;
}
2, .
#include<stdio.h>
void main()
{float a,b;
scanf(“%f”,&a);
if(a<2000) b=0;
else if(a<4000) b=a*0.03;
else if(a<5000) b=a*0.04;
else b=a*0.05;
printf(“收入所得税为:”,b);
}
3,题目:输入某年某月某日,判断这一天是这一年的第几天?
方法一:
#include<stdio.h>
void main()
{
int year,month,daily,sum;
printf("请输入年月日:/n");
scanf("%d%d%d",&year,&month,&daily);
switch(month)
{
case 1:{sum=daily;break;}
case 2:{sum=31+daily;break;}
case 3:{sum=31+28+daily;break;}
case 4:{sum=31+28+31+daily;break;}
case 5:{sum=31+28+31+30+daily;break;}
case 6:{sum=31+28+31+30+31+daily;break;}
case 7:{sum=31+28+31+30+31+30+daily;break;}
case 8:{sum=31+28+31+30+31+30+31+daily;break;}
case 9:{sum=31+28+31+30+31+30+31+31+daily;break;}
case 10:{sum=31+28+31+30+31+30+31+31+30+daily;break;}
case 11:{sum=31+28+31+30+31+30+31+31+30+31+daily;break;} case 12:{sum=31+28+31+30+31+30+31+31+30+31+30+daily;break;} default:{printf("你输入的月份不对,请重新输入。
/n");};
}
if((year%400==0||(year%4==0 && year%100!=0) ) &&month>=2) printf("你输入的日子是%d年的第%d天。
/n",year,sum+1);
else
printf("你输入的日子是%d年的第%d天。
/n",year,sum);
}
方法二:
#include<stdio.h>
void main()
{int day,month,year,sum,leap;
printf("/nplease input year,month,day/n");
scanf("%d,%d,%d",&year,&month,&day);
switch(month)/*先计算某月以前月份的总天数*/
{case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=334;break;
default:printf("data error");break;
}
sum=sum+day; /*再加上某天的天数*/
if(year%400==0||(year%4==0&&year%100!= 0))/*判断是不是闰年*/
leap=1;
else
leap=0;
if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/
sum=sum+1;
printf("这一天是这一年的第%d 天.",sum);
}。