c++第四章作业
C语言PTA平台习题与答案

第二章作业 1①.本题要求编写程序,输出一个短句“Welcome to You!”#include<stdio.h>int main(){printf("Welcome to You!\n");return 0;}②.本题要求编写程序,计算华氏温度100°F对应的摄氏温度。
计算公式:C=5×(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。
fahr = 100, celsius = 计算所得摄氏温度的整数值#include<stdio.h>int main(){int fahr = 100;int celsius = 5*(fahr-32)/9;printf("fahr = 100,celsius = %d\n",celsius);return 0;}第二章作业2①求整数均值本题要求编写程序,计算4个整数的和与平均值。
题目保证输入与输出均在整型范围内。
在一行中按照格式“Sum = 和; Average = 平均值”顺序输出和与平均值,其中平均值精确到小数点后一位#include<stdio.h>int main(){int a,b,c,d,Sum;double Average;scanf("%d %d %d %d",&a,&b,&c,&d);Sum = a + b + c + d;Average = (a + b + c + d)/4.0;printf("Sum = %d,Average = %.1f\n",Sum,Average);return 0;}②整数四则运算本题要求编写程序,计算2个正整数的和、差、积、商并输出。
题目保证输入和输出全部在整型范围内输入在一行中给出2个正整数A和B。
在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商。
C语言PTA平台习题与答案

第二章作业1①.本题要求编写程序,输出一个短句“Welcome to You!”#include<stdio.h>int main(){printf("Welcome to You!\n");return 0;}②.本题要求编写程序,计算华氏温度100°F对应的摄氏温度。
计算公式:C=5×(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。
fahr = 100, celsius = 计算所得摄氏温度的整数值#include<stdio.h>int main(){int fahr = 100;int celsius = 5*(fahr-32)/9;printf("fahr = 100,celsius = %d\n",celsius);return 0;}第二章作业2①求整数均值本题要求编写程序,计算4个整数的和与平均值。
题目保证输入与输出均在整型范围内。
在一行中按照格式“Sum = 和; Average = 平均值”顺序输出和与平均值,其中平均值精确到小数点后一位#include<stdio.h>int main(){int a,b,c,d,Sum;double Average;scanf("%d %d %d %d",&a,&b,&c,&d);Sum = a + b + c + d;Average = (a + b + c + d)/4.0;printf("Sum = %d,Average = %.1f\n",Sum,Average);return 0;}②整数四则运算本题要求编写程序,计算2个正整数的和、差、积、商并输出。
题目保证输入和输出全部在整型范围内输入在一行中给出2个正整数A和B。
在4行中按照格式“A 运算符B = 结果”顺序输出和、差、积、商。
第四章 数组作业

第四章数组4.1 选择题1. 以下关于数组的描述正确的是( )。
A. 数组的大小是固定的,但可以有不同的类型的数组元素B. 数组的大小是可变的,但所有数组元素的类型必须相同C. 数组的大小是固定的,所有数组元素的类型必须相同D. 数组的大小是可变的,可以有不同的类型的数组元素2. 以下对一维整型数组a的正确说明是( )。
A.int a(10);B. int n=10,a[n];C.int n;D. #define SIZE 10scanf("%d",&n); int a[SIZE];int a[n];3. 在C语言中,引用数组元素时,其数组下标的数据类型允许是( )。
A. 整型常量B. 整型表达式C. 整型常量或整型表达式D. 任何类型的表达式4. 以下对一维数组m进行正确初始化的是( )。
A. int m[10]=(0,0,0,0) ;B. int m[10]={ };C. int m[ ]={0};D. int m[10]={10*2};5. 若有定义:int bb[ 8];。
则以下表达式中不能代表数组元bb[1]的地址的是( )。
A. &bb[0]+1B. &bb[1]C. &bb[0]++D. bb+16. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是( )。
A. 3B. 6C. 10D. 207. 若有以下说明:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c='a',d,g;则数值为4的表达式是( )A. a[g-c]B. a[4]C. a['d'-'c']D. a['d'-c]8. 以下程序段给数组所有的元素输入数据,请选择正确答案填入( )。
#include<stdio.h>main(){int a[10],i=0;while(i<10) scanf("%d",________ );┇}A. a+(i++)B. &a[i+1]C. a+iD. &a[++i]9. 执行下面的程序段后,变量k中的值为( )。
C语言PTA平台习题与答案

第二章作业1①.本题要求编写程序,输出一个短句“Welcome to You!”#include<stdio.h>int main(){printf("Welcome to You!\n");return 0;}②.本题要求编写程序,计算华氏温度100°F对应的摄氏温度。
计算公式:C=5×(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。
fahr = 100, celsius = 计算所得摄氏温度的整数值#include<stdio.h>int main(){int fahr = 100;int celsius = 5*(fahr-32)/9;printf("fahr = 100,celsius = %d\n",celsius);return 0;}第二章作业2①求整数均值本题要求编写程序,计算4个整数的和与平均值。
题目保证输入与输出均在整型范围内。
在一行中按照格式“Sum = 和; Average = 平均值”顺序输出和与平均值,其中平均值精确到小数点后一位#include<stdio.h>int main(){int a,b,c,d,Sum;double Average;scanf("%d %d %d %d",&a,&b,&c,&d);Sum = a + b + c + d;Average = (a + b + c + d)/4.0;printf("Sum = %d,Average = %.1f\n",Sum,Average);return 0;}②整数四则运算本题要求编写程序,计算2个正整数的和、差、积、商并输出。
题目保证输入和输出全部在整型范围内输入在一行中给出2个正整数A和B。
在4行中按照格式“A 运算符B = 结果”顺序输出和、差、积、商。
第四章作业(答案)

第四章生产者选择(1)一、选择题1、边际收益递减规律发生作用的前提是( D )A.存在技术进步B.生产技术水平不变C.只有一种可变要素的生产D.B与C2、当边际产量大于平均产量时,( A )A.平均产量增加B.平均产量减少C.平均产量不变D.平均产量达到最低点3、在规模报酬不变阶段,若劳动的使用量增加10%,资本的使用量不变,则( D )A.产出增加10% B.产出减少10% C.产出的增加大于10% D.产出的增加小于10%4、当劳动的(L)总产量下降时,( C )A/劳动的平均产量为负B劳动的平均产量为零C劳动的边际产量为负D劳动的边际产量为零5、当劳动的平均产量为正但递减时,劳动的边际产量是( D )A正 B 零C负D以上情况都有可能6、下列说法中错误的一种说法是( B )A只要总产量减少,边际产量一定是负数B只要边际产量减少,总产量一定也减少C随着某种生产要素投入量的增加,边际产量和平均产量增加到一定程度将趋于下降D边际产量曲线一定在平均产量曲线的最高点与之相交7、当劳动L的边际产量为负时,我们是处于( C )A L的第一阶段B L的第二阶段C 的第三阶段D 上述都不是8、等产量曲线是指在这条曲线上的各点代表(D )A.为生产同等产量投入要素的各种组合比例是不能变化的B.为生产同等产量投入要素的价格是不变的C.不管投入各种要素量如何,产量总是相等的D.投入要素的各种组合所能生产的产量都是相等的9、如果连续地增加某种生产要素,在总产量达到最大时,边际产量曲线( D )A. 与纵轴相交B. 经过原点C. 与平均产量曲线相交D. 与横轴相交10、如果等成本线与等产量线没有交点,那么要生产等产量曲线所表示的产量,应该(B )A. 增加投入B. 保持原投入不变C. 减少投入D. 上述均不正确11、等成本曲线围绕着它与纵轴(Y)的交点逆时针移动表明( C )A生产要素Y的价格上升了B生产要素X的价格上升了C生产要素X的价格下降了D生产要素Y的价格下降了四、分析讨论题1、已知生产函数Q=AL1/3K2/3,判断:(1)在短期生产中,该生产函数是否受边际报酬递减规律支配?(提示判断dMP/dL 的值是大于零还是小于零)(2)长期属于规模报酬的哪一种类型?解:(1)因为Q=F(L、K)=AL1/3K2/3,于是有:F(tL、tK)= A(tL)1/3(tK)2/3=t·F(L、K)所以,生产函数Q=AL1/3K2/3属于规模报酬不变的生产函数。
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语⾔中,逻辑运算通常⽤于使⽤逻辑运算符将关系表达式或其它逻辑量连接起来组成逻辑表达式⽤来测试真假值。
常见的逻辑运算符包括:&&、||、!等种类&&:与是双⽬运算符,要求有两个运算对象,表⽰两个运算对象都成⽴,则结果为真,否则结果为假。
《C程序设计》作业参考答案(1-4章)

第1章C语言概述习题(P13):1.3 写出一个C程序的构成。
答:C程序由一个main函数和0个或多个自定义函数构成,每个函数的构成如下:函数类型函数名(函数参数列表){说明部分执行部分}1.4 C语言以函数为程序的基本单位,有什么好处?答:一个函数实现一个相对独立的功能,便于实现程序的模块化。
1.5 请参照本章例题,编写一个C程序,输出以下信息:*************************************************Very good!*************************************************答:参照例1.1编程如下# include <stdio.h>void main(){printf("********************************************\n");printf(" Very good!\n");printf("********************************************\n");}1.6 编写一个C程序,输入a、b、c 3个值,输出其中最大者。
答:参照例1.3编程如下法一:修改例1.3的主函数,自定义max函数不变。
# include <stdio.h>void main(){int max(int x,int y); /*函数声明*/int a,b,c,m; /*定义4个变量,m用于存放最大值*/scanf("%d%d%d",&a,&b,&c);/*从键盘上输入3个整数*/m=max(a,b); /*第一次调用max函数求出前两个数的最大值放在m中*/m=max(m,c); /*再调max函数求出m和第三个数的最大数*/printf("max is %d\n",m); /*输出结果*/}int max(int x,int y) /*定义求两个数的最大数的函数max */{int z;if(x>y) z=x;else z=y;return(z);}法二:修改例1.3的主函数和max函数,将max函数改为求3个数的最大数。
《C语言程序设计》教材习题答案第4章

if(++n<10) printf("%d\n",n);
else printf("%d\n",--n);
}
3、若a、b、c1、c2、x、y均是整形变量,正确的switch语句是D
switch(a-b)
{default:y=a*b;break;
case 3:
case 10:y=a-b;break;
{
day+=a[ai][i];
}
day+=d;
printf("这是该年的弟%d天\n",day);
}
7、输入一个字符,判断输入字符的种类,即区分空格、回车、数字字符、英文字母和其他字符(要求分别用if…else if和switch语句编写)。
#include<stdio.h>
void main()
{
else x=6;
else x=7;
12、有如下程序段
int a=14,b=15,x;
char c='A';
x=(a&&b)&&(c<'B');
执行该程序段后,x的值为D 1
13、有如下程序段
int score=5;
switch(score)
{
case 5:printf("very good!");
case 4:printf("Good!");
default:printf("data error!");
}
程序输出结果为D Very good! Good! Data error!
第四章课后作业

(a)(b)图4-2 两种溶质再分配情况下凝固过程固液、液相成分随距离的分布第四章课后作业练习一一、判断题(T 或F )1、溶质再分配既受溶质扩散性质的制约,也受液相中的对流强弱等诸种因素的影响。
2、溶质再分配只影响凝固过程溶质宏观及微观分布及最终成分偏析现象,而不影响凝固组织形貌和晶粒大小,也不影响热裂、气孔等凝固缺陷的形成。
3、图4-1所示成分为C 0的合金熔体,实际凝固结束时,其组织中只有单相固溶体。
4、虽然实际凝固过程中固、液两相成分不可能完全遵从平衡相图来分配,凝固理论认为,固-液界面处成分C *S 与C *L 的比值在任一瞬时仍符合相应的溶质平衡分配系数K 0(处于局部平衡状态)。
这被称为“界面平衡假设”。
5、“平衡凝固”条件下,凝固后零件断面的成分均匀地为C S =C 0。
所以“平衡凝固”开始时晶体析出的成分即为C 0。
6、对于“平衡凝固”及“液相充分混合”所假设的溶质再分配条件下,固-液界面前沿不存在溶质富集层,即界面处及其前方的液相成分处处相同。
7、在“平衡凝固”及“液相充分混合”所假设的溶质再分配条件下,固-液界面处的固相及液相成分C *S 、C *L 随凝固过程的进行均始终在不断升高。
8、在“液相只有有限扩散”以及 “液相中部分混合(有对流作用)”溶质再分配条件下,固-液界面处的固相及液相成分C *S 、C *L 随凝固过程的进行始终不断升高。
9、在“液相只有有限扩散”以及液相容积很大的“液相中部分混合(有对流作用)”溶质再分配条件下,当达到稳定状态时,界面处及其前方液相成分均符合0)'(=∂∂tx C L ,且溶质富集层以外的成分均为C L =C 0。
二、解答题1、图4-2所示,为两种溶质再分配情况下凝固过程固液、液相成分随距离的分布。
(1) 分别指出图(a )及图(b)各属于哪种溶质再分配情况。
(2) 简述图(b)中C s C S =*、C L L C =*的物理内涵及原因。
C语言课后作业题参考答案

C 语言课后作业题参考答案第二章2.2 用赋值表达式表示下列计算1) c b a x y +=2) 2/5262)(lne d a x -+= 3) y X aX X=+sin cos π24) R R R R =++1111123 5)232)4(7)2(5)2(31x x x x x y ++++=参考答案:1) y=pow(x,a+pow(b,c))或者:exp((a+exp(c*log(b)))*log(x))2) x=pow(log(sqrt(a+d*d))-exp(26),5.0/2)或者:exp(5.0/2*log(log(sqrt(a+d*d))-exe(26)))3) y=sin(x)/(a*x)+fabs(cos(3.1415926*x/2))4) R=1.0/(1.0/R1+1.0/R2+1.0/R3)5) y=x/(1+(x/(3+(pow(2*x,2)/5+(pow(2*x,3)/(7+pow(4*x,2)))))))2.6 编写程序,输入两个整数,分别求它们的和、差、积、商、余数并输出。
参考答案:#include<stdio.h>void main(){int m,n;printf("请输入2个整数\n");scanf("%d%d",&m,&n);printf("%d+%d=%d\n",m,n,m+n);printf("%d-%d=%d\n",m,n,m-n);printf("%d*%d=%d\n",m,n,m*n);printf("%d 除以%d :%f\n",m,n,(float)m/n);printf("%d 除以%d 的余数:%d\n",m,n,m%n);} 2.9 已知摄氏温度C 与华氏温度F 的转换关系是)32(95-=F C ,编写一个摄氏温度与华氏温度转换的程序,输入C ,输出F.参考答案:#include<stdio.h>void main(){float f,c;printf("请输入摄氏温度的值:\n");scanf("%f",&c); //输入33//f=9*c/5+32; //结果为91.4f=9.0/5*c+32; //结果为91.4//f=9/5*c+32; //结果为65printf("转换为华氏温度是:%f\n",f);} 第3章 分支程序设计3.3 编写程序,输入一个字母,若其为小写字母,将其转换成相应的大写字母,然后输出。
颜晖《计算机程序设计C》配套作业

第四章作业1.试用流程图分别表示以下三个if语句。
(1)if(x>0) (2)if(x>0) (3)if(x>0)if(y>0) if(y>0) { if(y>0)n=1; n=1; n=1;else else ; }n=2; else n=2; else n=2;2.用switch语句描述以下计算要求。
3. 某运输公司在计算运费时,按运输距离(s)对运费打一定的折扣(d),其标准如下:s<250km 没有折扣250≤s<500 2.5%折扣500≤s<1000 4.5%折扣1000≤s<2000 7.5%折扣2000≤s<2500 9.0%折扣2500≤s<3000 12.0%折扣3000≤s 15.0%折扣试编制程序,输入基本运费price,货物重量weight,距离s,计算总运费freight。
总运费的计算公式为:freight=price*weight*s*(1-d)其中d为折扣,由距离s根据上述标准求得。
4. 编制求出下面方程的全部整数解的程序3x+2y-72 = 5其中x,y,z∈[0,100]。
5.求以下级数和的近似值s(x)=x-x3/3*1!+x5/5*2!+x7/7*3!+…令x=0.5,1.0,2.0和3.0分别计算s(x)。
约定求和的精度为10-6。
5. 设计一个计算s的程序。
6.试按以下要求,求最小整数n。
用3除余2,用5除余3;用7除余4。
7.阅读以下程序,回答程序的输出结果。
#define N 50main(){int b,i,k;for(i=3 ; i<N ; i++){k=2;b=1;while(k<=i/2&&b)b=i%k++ ;if (b) printf(“%4d”,i );}printf(“ \n”) ;}8.试编程序输出以下形式的图案(行数为奇数)。
5 5 5 5 5 5 5 5 54 4 4 4 4 4 43 3 3 3 32 2 212 2 23 3 3 3 34 4 4 4 4 4 45 5 5 5 5 5 5 5 59.写出下程序的运行结果。
cnc规范管理制度

cnc规范管理制度第一章总则第一条为规范CNC(Computer Numerical Control,计算机数控)系统管理,提高生产效率和质量,保障设备和操作人员安全,制定本制度。
第二条本制度适用于公司内所有采用CNC技术的设备,涉及到CNC系统的管理、维护、运行和操作等相关工作。
第三条公司内设备部门负责CNC系统的管理工作,由专门负责CNC系统的管理人员负责实施。
第四条所有使用CNC设备的操作人员必须接受相关培训,合格后方可上岗操作,未经培训不得擅自操作设备。
第五条操作人员必须按照相关规范和操作流程进行作业,不得随意更改程序和参数,确保生产过程稳定和安全。
第六条操作人员在操作设备时,必须穿着工作服和安全帽,严禁擅自解除安全防护措施或改变设备的运行状态。
第七条禁止在运行中的设备周围乱放杂物,必须保持设备周围的通道通畅,确保操作和紧急情况的处理。
第八条操作人员发现设备异常情况时,应及时报告相关负责人员,暂停作业并进行相关检修或维护工作。
第九条设备部门负责制定设备的例行维护计划,并按照计划进行维护和保养,确保设备长期稳定的运行。
第十条相关人员应定期对CNC系统进行性能检测,确保设备在最佳状态下运行,提高设备的使用寿命和性能。
第十一条一些关键的设备参数和程序应定期备份和存档,以防数据丢失造成生产中断和损失。
第十二条在CNC系统运行中,必须严格遵守相关规范和操作流程,不得私自修改参数和程序。
第十三条禁止私自接入外部设备或程序调试CNC系统,必须由专业人员进行调试和维护。
第十四条对于设备的维修和维护,必须由经过培训和考核的专业维修人员进行,确保维修质量和设备安全。
第十五条对于未经授权人员擅自操作设备或设备损坏造成的损失,将根据公司规定进行处罚。
第十六条对于CNC系统的改进和更新,必须经过相关部门的评估和审批,确保新系统能够满足生产需求。
第十七条对于CNC设备的报废和更新,必须经过相关部门的评估和决策,确保新设备的性能和质量。
C语言第四章选择结构程序设计作业-雨课堂

单选题 3分
18.若变量已正确定义并赋值,以 下符合C语言语法的表达式是( )
A a:=b+1 B a=b=c+2 C int 18.5%3 D a=a+7=c+b
单选题 3分 19.若有条件表达式 (exp) ?a++:b--,则以下表达式 中能完全等价于表达式(exp) 的是( )
A (exp==0)
单选题 3分
2.下列运算符中优先级最高 的是( )
A< B+
& C& D !=
单选题 3分
3.能正确表示“当x的取值在 [1,10]和[200,210]范围内为真, 否则为假"的表达式是( )
A
(x>=1)&&(x<=10)&&(x >=200)&&(x<=210)
B
(x>=1)||(x<=10)||(x>=2 00)||(x<=210)
单选题 3分
5.下列运算符中优先级最低 的是( )
A ?: &
B& C+ D !=
单选题 3分
6.以下程序的运行结果是( ) #include<stdio.h> main() {int a,b,d=241; a=d/100%9; b=(-1)&&(-1); printf(“%d,%d”,a,b);}
正常使用主观题需2.0以上版本雨课堂
主观题 10分 24.程序设计题 编一个程序,输入3个整数, 按从大到小的顺序输出。 要求拍照或截图提交(1)算 法(2)编写的程序(3)程序 运行结果答案
正常使用主观题需2.0以上版本雨课堂
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语言-第四章作业

数据结构
练习
数据结构
设有一个二维数组A[m][n]按行优先顺序存储,假设A[0][0] 存放位置在644(10),A[2][2]存放位置在676(10),每个元素 占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示 用10进制表示。
答:设数组元素A[i][j]存放在起始地址为Loc ( i, j ) 的存储单 元中
Байду номын сангаас
练习
数据结构
设有二维数组A[10,20],其每个元素占两个字节, A[0][0]存储地址为100,若按行优先顺序存储,则 元素A[6,6]的存储地址为 352 ,按列优先顺序存储 ,元素A[6,6]的存储地址为 232 。
答:(6*20+6)*2+100=352 (6*10+6)*2+100=232
练习
数据结构
1、 设有二维数组a[6][8],每个元素占相邻的4个字节,存储 器按字节编址,已知a的起始地址是1000,试计算:
数组a的最后一个元素a[5][7]起始地址; 按行序优先时,元素a[4][6]起始地址; 按列序优先时,元素a[4][6]起始地址。
课本作业
4.5 4.8 4.10
∵ Loc ( 2, 2 ) = Loc ( 0, 0 ) + 2 * n + 2 = 644 + 2 * n + 2 = 676.
∴ n = ( 676 - 2 - 644 ) / 2 = 15
∴ Loc ( 3, 3 ) = Loc ( 0, 0 ) + 3 * 15 + 3 = 644 + 45 + 3 = 692.
C语言第4章程序题

c语言程序设计练习题第三章顺序结构一、选择题1、下面程序的输出是______main(){int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=13B) k=11,k=13,k=13C) k=11,k=013,k=oXbD) k=11,k=13,k=b2、以下合法的C语言赋值语句是A)a=b=58; B)k=int(a+b) ; C)a=58,b=58; D)-- i;3、以下程序的输出结果是A)0 B)1 C)3 D)不确定main(){ int x=10,y=3;printf(“%d\n”,y=x/y);}4、若变量已正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句是A)read (a,b,c); B)scanf(“%d%d%d”,a,b,c);C)scanf(“%D%D%D”,%a,%b,%c); D)scanf(“%d%d%d”,&a,&b,&b);5、执行下面程序段后,c3中的值是_____A)0B)1/2 C)0.5 D)1int c1=1 , c2=2 , c3;c3=c1/c2;6、若执行以下程序段,其输出结果是______A)3,0,-10 B)0,0,5C)-10,3,-10 D)3,0,5int a=0 , b=0 , c=0;c=(a-=a-5) , (a=b,b+3) ;printf(“%d , %d , %d\n” , a,b,c);7、以下程序段的输出是_______A)*0000057.66* B)* 57.66*C)*0000057.67*D)* 57.67*float a=57.666;printf(“*%010.2f*\n”, a);8、若有以下定义和语句:int a=5a++;此处表达式a++的值是____A) 7 B) 6C) 5 D) 49、若有以下定义和语句:char c1='b',c2='e';printf("%d,%c\n",c2-c1,c2-'a'+"A")则输出结果是_______A) 2,M B) 3,EC) 2,e D) 输出结果不确定10、以下程序的输出结果是______main(){ int x=10,y=10;printf("%d%d\n",x--,--y);}A) 10 10 B) 9 9C) 9 10 D) 10 911、★在C语言中,如果下面的变量都是int类型,则输出结果是______ sum=pad=5;pad=sum++,pad++,++pad;printf("%d\n",pad);A) 7 B) 6C) 5 D) 412、★以下程序的输出结果_____#include<stdio.h>main(){int i=010,j=10;printf("%d,%d\n",++i,j--);}A) 11,10 B) 9,10C) 010,9 D) 10,913、请读程序int i =65536printf("%d\n",i);上面程序的输出结果是_____A) 65535 B) 0C) 有语法错误,无输出结果 D) 114、已知字符A的ASCII码为十进制的65,下面程序的输出是_____main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,CC) C,D D) 不确定的值15、★若有定义和语句:char s[10]; s="abcd"; printf("%d\n",s);则结果是_____A) 输出 abcd B) 输出 aC) 输出 adcb D) 编译不能通过16、★若有定义:int x,y; char a,b,c; 并有以下输入数据(此处<CR>代表换行,代表空格):1 2 <CR>A B C<CR>则能给X赋整数1,给Y赋数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是_______A) scanf("x=%d y=%d",&x,&y); a=getchar(); c=getchar();B) scanf("%d%d",&x,&y); a=getchar(); b=getchar(); c=getchar();C) scanf("%d%d%c%c%c",&x,&y,&a,&b,&c);D) scanf("%d%d%c%c%c%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c);17、★两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是____ main(){int x;scanf("%d",&x);if (x++>5) printf("%d",x)else printf("%d\n",x--);}A) 7和5 B) 6和3C) 7和4 D) 6和418、★若执行下面的程序从键盘输入3和4,则输出是_______main(){ int a,b,s;scanf("%d%d",&a,&b);s=a;if (a<b) s=b;s=s*s;printf("%d\n",s);}A) 14 B) 16C) 18 D) 2019、★设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:scanf("i=%d,f=%f",&i,&f);为了把100和765.12分别赋给i和f,则正确的输入为A)100<空格>765.12<回车> B)i=100,f=765.12<回车>C)100<回车>765.12<回车> D)x=100<回车>,y=765.12<回车>20、★以下程序的输出结果是____#include<stdio.h>main(){printf("%d\n",NULL);}A) 不确定B) 0C) –1 D) 1二、填空题1、复合语句在语法上被认为是___分程序_____,空语句的形式是___;___。
C语言第三、四章作业题答案

东华理工大学:C语言第三章作业题C程序设计第三章闭/开卷课程类别:考试/考查第三章顺序结构程序设计一、选择题1。
C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。
如果格式说明的个数小于输出项的个数,多余的输出项将 A ;如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0)。
A)不予输出B)输出空格C)照样输出D)输出不定值或02.在scanf函数的格式控制中,格式说明的类型与输入的类型应该一一对应匹配.如果类型不匹配,系统 B 。
A)不予接收B)并不给出出错信息,但不可能得出正确信息数据C)能接受正确输入D)给出出错信息,不予接收输入3。
下列说法正确的是 D 。
A)输入项可以是一个实型常量,如scanf(”%f",4。
8);B)只有格式控制,没有输入项也能进行正确输入,如scanf(”a=%d,b=%d”);C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(”%5。
3f",&f);D)当输入数据时,必须指明变量的地址,如scanf("%f”,&f);4。
根据题目中已给出的数据的输入和输出形式,程序中输入/输出语句的正确是B 。
main(){int a;float x;printf("input a,x:”);输入语句输出语句}输入形式input a,x:3 2.1输出形式a+x=5。
10A)scanf("%d,%f",&a,&x);printf("\na+x=%4。
2f",a+x);B)scanf(”%d %f",&a。
&x);printf("\na+x=%4。
2f”,a+x);C)scanf(”%d %f”,&a,&x);printf(”\na+x=%6。
1f",a+x);D)scanf("%d %3.1f”,&a,&x);printf(”\na+x=%4。
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
C语言第四章习题及答案(课余练习,不用提交)

第四章习题答案一、选择题1)以下是if语句的基本形式:if(表达式) 语句其中"表达式"A)必须是逻辑表达式B)必须是关系表达式C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式2)以下选项中,值为1的表达式是()。
A)1-'0' B)1-'\0' C)'1'-0 D)'\0'-'0'3)若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是:A)1 B)0 C)2 D)不知道a的值,不能确定4)若变量已正确定义,在if (W)printf(“%d\n”,k);中,以下不可替代W的是A)a<>b+c B)ch=getchar()C)a==b+c D)a++5)设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是A)if(x++); B)if(x>y&&y!=0);C)if(x>y) x- - D)if(y<0) {;}else y++; else x++;6) 以下选项中,当x为大于1的奇数时,值为0的表达式A)x%2==1 B)x%2 C)x%2!=0 D)x%2==07) 设有条件表达式:(EXP)?i++;j--,则以下表达式中(EXP)完全等价的是A)(EXP= =0) B)(EXP!=0)C)(EXP= =1)D)(EXP!=1)8) 在以下给出的表达式中,与while(E)中的(E)不等价的表达式是A)(!E=0) B) (E>0||E<0) C) (E==0) D) (E!=0)9)若有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++):(y++)中的条件表达式(x-y)等价的是()。
A)(x-y>0) B)(x-y<0) C)(x-y<0||x-y>0) D)(x-y==0)10) 若有表达式(w)?(--x):(++y),则其中与w等价的表达式是 ( )A)w==1 B) w==0 C) w! =1 D) w! =011) 设有定义: int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是A)if(a>b) c=a,a=b,b=c; B)if(a>b){c=a,a=b,b=c;}C)if(a>b) c=a;a=b;b=c; D)if(a>b){c=a;a=b;b=c;}12) 已知字母A的ASCⅡ代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是A)kk>='A'&&kk<='Z' B)!(kk>='A'‖kk<='Z')C)(kk+32)>='a'&&(kk+32)<='z' D)isalpha(kk)&&(kk<91)isalpha(c) 判断参数c是否为英文字母头文件:ctype.hisupper(c) 判断参数c是否为大写英文字母是返回非零值,否则返回零islower(c ) 检查参数c是否为小写英文字母13)已有定义:char c; ,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是A)isupper(c) B)’A’<=c<=’Z’C)’A’<=c&&c<=’Z’D)c<=(‘z’-32)&&(‘a’-32)<=c14) 当变量c的值不为2、4、6时,值也为“真”的表达式是A)(c==2)‖(c==4)‖(c==6) B)(c>=2&&c<=6)‖(c!=3)‖(c!=5)C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&&c<=6)&&(c%2!=1)15) 若变量已正确定义,有以下程序段int a=3,b=5,c=7;if(a>b) a=b; c=a;if(c!=a) c=b;printf("%d,%d,%d\n",a,b,c);其输出结果是A)程序段有语法错 B)3,5,3 C)3,5,5 D)3,5,7 16)有以下程序#includemain(){int a=1,b=0;if(!a) b++;else if(a==0) if(a) b+=2;else b+=3;printf("%d\n",b); }程序运行后的输出结果是A)0 B)1 C)2 D)317)在嵌套使用if语句时,C语言规定else总是()。
C语言程序设计习题集第4章 循环结构(答案)

第4章循环结构一、选择题1、有以下程序段int k=0;while(k=1)k++;while 循环执行的次数是( A)A) 无限次B) 有语法错,不能执行C) 一次也不执行D) 执行1次2、t为int类型,进入下面的循环之前,t的值为0while( t=1){ …… }则以下叙述中正确的是( B)A) 循环控制表达式的值为0B) 循环控制表达式的值为1C) 循环控制表达式不合法D) 以上说法都不对3、在C程序中,与while(m)中表达式m完全等价的是(B )A) m==0 B) m!=0 C) m==1 D) m!=14、有以下程序,程序运行后的输出结果是(C )。
main(){int i=1,sum=0;while(i<=4){sum=sum+i;i=i+1;}printf(“%d\n”,sum);}A)4 B)5 C)10 D)死循环5、有以下程序,程序运行后的输出结果是(D )。
main(){ int i=1,sum=0;while(i<=4)sum=sum+i;i=i+1;printf(“%d\n”,sum);}A)4 B)5 C)10 D)死循环6、有如下程序main(){int n=9;while(n>6){n--;printf(“%d”,n);}}该程序段的输出结果是(B)A) 987 B) 876 C) 8765 D) 98767、以下程序的输出结果是( B )main(){ int num= 0;while(num<=2){ num++; printf(“%d\n”,num);}}A) 1 B) 1 C)1 D) l2 2 23 348、有以下程序,若运行时输入3.6 2.4<回车>,则输出的结果是( B)。
main(){float x,y,z;scanf(“%f%f”,&x,&y);z=x/y;while(1){if(fabs(z)>1.0){x=y;y=z;z=x/y;}elsebreak;}printf(“%f\n”,y);}A)1.500000 B)1.600000 C)2.000000 D)2.4000009、执行以下程序段时x=-1;do{ x=x*x; }while(! x);则下面描述正确的是(A )A) 循环体将执行一次B) 循环体将执行两次C) 循环体将执行无限次D) 系统将提示有语法错误10、有以下程序段其输出结果是(C )int x=3;do{ printf("%d",x-=2); }while (!(--x));A) 1 B) 3 0 C) 1 -2D) 死循环11、有如下程序main(){int x=23;do{printf(“%d”,x);x--;}while(!x);}该程序的执行结果是(B )A) 321 B) 23 C) 不输出任何内容D) 陷入死循环12、有以下程序段int n=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345 &&n<3);此处do—while循环的结束条件是( D)A) P的值不等于12345并且n的值小于3B) P的值等于12345并且n的值大于等于3C) P的值不等于12345或者n的值小于3D) P的值等于12345或者n的值大于等于313、以下不构成无限循环的语句或语句组是(A)A) n=0;do {++n;}while(n<0);B) n=0;while(1){n++;}C) n=10;while(n);{n--;}D) for(n=0,i=1; ;i++)n+=i;14、若i为整型变量,则以下循环执行的次数是(B)for(i=2;i= =0;) printf(“%d”,i--);A)无限次B)0次C)1次D)2次15、执行语句for(i=1;i++<4;)后,变量i的值是(C)A) 3 B) 4 C) 5 D) 不定16、有以下程序main(){int y=9 ;for( ; y>0 ; y--)if(y%3==0 ) printf("%d" , --y) ;}程序的运行结果是(C)A) 741 B)963 C)852 D)87542117、以下程序执行后sum的值是( C)A)15 B)14 C) 不确定D)0main(){ int i , sum;for(i=1;i<6;i++) sum+=i;printf(“%d\n”,sum);}18、有如下程序main(){ int i,sum=0;for(i=1;i<=3;sum++) sum+=i;printf(“%d\n”,sum);}该程序的执行结果是(C)A) 6 B) 3 C) 死循环D) 019、执行语句for(i=3;i>0;i--);i--;后,变量i的值是(C )A)0 B)10 C)-1 D)120、执行下面程序片段的结果是(A )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章
4-1 解释public和private的作用,公有类型成员与私有类型成员有哪些区别?
答:公有类型成员用public关键字声明,公有类型定义了类的外部接口;私有类型的成员用private关键字声明,只允许本类的函数成员来访问,而类外部的任何访问都是非法的,这样,私有的成员就整个隐蔽在类中,在类的外部根本就无法看到,实现了访问权限的有效控制。
4-2 protected关键字有何作用?
答:protected用来声明保护类型的成员,保护类型的性质和私有类型的性质相似,其差别在于继承和派生时派生类的成员函数可以访问基类的保护成员。
4-3 构造函数和析构函数有什么作用?
答:构造函数的作用就是在对象被创建时利用特定的值构造对象,将对象初始化为一个特定的状态,使此对象具有区别于彼对象的特征,完成的就是是一个从一般到具体的过程,构造函数在对象创建的时候由系统自动调用。
析构函数与构造函数的作用几乎正好相反,它是用来完成对象被删除前的一些清理工作,也就是专门作扫尾工作的。
一般情况下,析构函数是在对象的生存期即将结束的时刻由系统自动调用的,它的调用完成之后,对象也就消失了,相应的内存空间也被释放。
4-4 数据成员可以为公有的吗?成员函数可以为私有的吗?
答:可以,二者都是合法的。
数据成员和成员函数都可以为公有或私有的。
但数据成员最好定义为私有的。
4-5 已知classA中有数据成员int a,如果定义了A的两个对象a1,a2,它们各自的数据成员a的值可以不同吗?
答:可以,类的每一个对象都有自己的数据成员。
4-6 什么叫做复制构造函数?复制构造函数何时被调用?
答:复制构造函数是一种特殊的构造函数,具有一般构造函数的所有特性,其形参是本类的对象的引用,其作用是使用一个已经存在的对象,去初始化一个新的同类的对象。
在以下三种情况下会被调用:在当用类的一个对象去初始化该类的另一个对象时;如果函数的形参是类对象,调用函数进行形参和实参结合时;如果函数的返回值是类对象,函数调用完成返回时;
4-7 复制构造函数与赋值运算符(=-)有何不同?
答:赋值运算符(=)作用于一个已存在的对象;而复制构造函数会创建一个新的对象。
4-8 定义一个dog类,包含了age,weight等属性,以及对这些属性操作的方法实现并测试这个类。
4-9 设计并测试一个名为rectangle的矩形类,其属性为矩形的左下角与右上角两个点的坐标,根据坐标能计算矩形的面积。
、
4-10 设计一个用于认识管理的“人员”类。
由于考虑到通用性这里只抽象出所有类型人员都具有的属性:(编号)(性别)(出生日期)(身份证号)等。
其中“出生日期”定义为一个期”类内嵌对象。
用成员函数实现对人员信息的录入和显示。
要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、带缺省形参值的成员函数、聚集。
4-11 定义一个矩形类,有长、宽两个属性,有成员函数计算矩形的面积。
4-12 定义一个datatype(数据类型)类,能处理包含字符型、整型、浮点型三种类型的数据,给出其构造函数。
4-13 定义一个circle类,有数据成员radius(半径)、成员函数getarea,计算圆的面积。
构造一个circle的对象进行测试。
4-14 定义一个tree(树)类,有成员ages(树龄),成员函数grow(int years),对ages
加上years,age()显示tree对象的ages值。
4-20 定义一个负数类complex,使得下面的代码能够工作。
Complex c1(3,5)//用复数3+5i定义初始化c1
Complex c2=4.5 //用实数4.5初始化c2
C1.add(c2)//将c1与c2相加,结果保存在c1中
C1.show()//将c1输出(这时的结果应该是7。
5+5i)。