版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2008级电气类程序设计试题1表达式:2&-2的值是2.(b= = d+ +) ?b: +d 的结果 是4_3若b=6, d=5,则表达式:(b= = d+ +) ? d+:b 的结果是6表达式执行完后d的值为 4. 若 有 定 义inta【3【4=1,2,3,4,5,6,7,8,9,10,11,12;则*a2之值是 95. 若有宏定义 #define f(x) x*x则当b=4时,执行f(b+3)的结果 是6.#in cludemai n()inta5= 3,7,9,1,5,*p=a,*q=a;printf(“d,%dn” ,*p+3,*(q+2);其运行结果为69一.下列各程序中每个程序各
2、有2个错误, 指出错误语句,写出对应正确语句(每 小题4分,共20分)1 现已知a、b的值,求.a b的值,并 当.a b不小于10时,将其输出。1. #in clude文件开头加float c;写在 a=2; b=3;之前main()float a, b;a=2; b=3;float c;c=sqrt (a+b);if(c=10)printf( c=%fn ”c);2.从键盘输入变量a的值,已有关系式: b j(a 12),求出变量b的值并输出。main( )seanf(“f ”a); 改成 seanf( “f ”&a);b=5/8*(a-12);改成 b=5.0/8*(a-12);floa
3、t a,b;seanf ( %f ”a);b=5/8*(a-12);printf ( b=%f n ”,b);3 用递归语句编函数计算6!longf(intm)在子函数f中:加语句 if(m= =0)a=1;和 语句 return(a)long a;if(m0)printf( dataerror! ”;else a=f(m 1)*m;mai n()int n;n=6;printf( %d!=%ld ”,n,f (n);1234 已知矩阵a= 4 5 6,求该矩阵7 8 9对角线元素之和。mai n()变量定义中加语句int sum=0;for(i=1;i=3;i+) 改为 for(i=0;i3
4、;i+) int i;inta【3【3=1,2,3,4,5,6,7,8,9;for(i=1;i=3;i+) sum=sum+aii;printf( sum=%d ”sum);5.设整数x位于1,10区间内,依次输 出 2x 的值(2、4、6、8,20 )。mai n() int x,y;for(x=1;x=10;x+)将语句y=2x;改为y=2*x ;在语句y=2x;之前加在语句 printf( “ %d ,y); 之后加y=2x;printf( “ %d ,y);简答题(每小题6分,共18分)1.对于同样的循环体和同样的循环判 断条件而言,while 语句和do-while 语句有什么区别?
5、while循环是首先判断循环条件是否成 立,若成立则执行循环,若不成立循环 则一次也不执行;do-while循环是先执 行循环,再判断循环条件是否满足,若 满足则继续执行循环,若不满足则终止 循环的运行。在do-while循环中,循环 体至少要执行一次。2、试说明break语句和continue 语 句在循环程序应用上的区别。break语句是当break语句前的判断条 件成立时,立即结束循环,跳出循环体, 不再进行条件判断;continue语句是当 continue语句前的判断条件成立时,结 束本次循环,跳过本次循环体进行下面 尚未执行的语句,接着“增”或“减” 循环控制变量,再继续判断条件是
6、否满 足。3、若已有定义:int a10; int *p; p=a;试说明* (p+)与* ( +p)有什么区 另U?* (p+)是先取*p的值,后使p加1, 对本例即先得到a0的值,然后p指针 指向a1 ; * (+p)使先使p加1,后 取*p的值,对本例即p指针指向a1, 再得到a1的值。.下列各程序中,有若干条语句未被写 出。试根据题意,补全程序,每条横线 填一个语句。(每小题6分,共18分)1.求2,400以内的最大的素数f(int x) int i,z;z=0;for(i=2; i+)if(x%i= =0) z=1; break; mai n() int i,max;for(i=2;
7、i=400;i+)if max = i;printf( “最大的素数=%dn ”,max);2.若某一自然数等于其所有真因子(因子不包括该数本身)之和,则称该数为完全数。例如:6的真因子有:1、2、3;且6=1+2+3;则6为完全数试求5,100之间的最大完全数和完全 数的个数mai n() int a, b, sum, n um, max;for(a=5;a=100;a+) sum=0; for(b=1;ba;b+) if- sum=sum+b;if num=nu m+1;max=a;prin tf(the nu mber is %d, the max value is %dn, num,
8、max);3.输入一个四位正整数,将其反向输出, 并输出原来的数和变换后的数的乘积 如:输入2104,反向输出4012,并输出二者的乘积 2104X 4012=8441248mai n() int num, new, a, b, c, d;long result;printf(请输入一个四位数n ”);(1)a=num/1000;/*a为千位上的数字*/ /*b为百位上的数字*/c=num/10%10;/*c为十位上的数字*/d=num%10;/*d为个位上的数字*/(3)/*new为反向输出的数*/result=num*new/*result 为两者的乘积*/printf(反向的四位数为d
9、:两个数的 乘积为:%ld ” new, result);四阅读下列程序,与出运行结果(每小 题6分,共12分)1 #in cludeint i=0;static int j=1;sub() int k=0;static int x=1;k+;x+;printf( sub i=%d j=%d k=%d x=%d ”,j,k,x);mai n() int k=1; i+;j+;k+;j=%dprin tf( mai n i=%d k=%dn ”,j,k);sub();sub();运行结果是2. main() int x23=4,7,2,5,6,1;char *str =tha nk,right,good;char *p; int i,j;prin tf(%d,%dn,*x0,*(x1+2)/3); for(i=0;i2;i+)for(j=0;j3;j+)prin tf(%d,*(xi+j);p=str;prin tf(%c,%s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 达拉特旗安全培训课件
- 达县液化气安全培训会
- 物业消防演练方案及流程内容
- 车险理赔服务培训课件
- 2025年劳动关系科工作总结(2篇)
- 银行合规通报制度
- 2026年工程项目隐患排查治理工作制度范文
- 车间现场巡检培训课件
- 车间杜邦安全管理培训课件
- 集团公司动火作业与涉燃气管道安全施工专项整治
- 油锯操作与安全知识培训课件
- 2024年青岛黄海学院公开招聘辅导员笔试题含答案
- 医院信息科员工考核标准及细则
- 执业兽医考试题库(含答案)
- 铁路安规培训课件
- 施工进度保证措施及应急响应措施
- 2025年高阻隔膜行业当前市场规模及未来五到十年发展趋势报告
- 宫颈癌科普宣传课件
- 融合叙事策略-洞察及研究
- 口腔修复牙体预备
- 核电行业防造假管理制度
评论
0/150
提交评论