程序设计基础模拟练习.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序设计基础模拟练习 (考试时间:150分钟) 2008.2.28. 一、简答题(10题,20分) ⒈ 写出下列语句的C语言表达式,计算一元二次方程ax2+bx+c=0的一个根。 ⒉ 执行下列语句后,i, j, k的值是多少? for (i=k=0, j=6; ij; i++, j--) k+=4*i-5*j; ⒊ 写出下列语句的C语言逻辑表达式:a为偶数且b为奇数。 ⒋ 写出下列语句的C语言算术表达式:实数x小数点后第三位四舍五入。 ⒌ 写出一个结构体类型定义:结构体名为stuinfo,成员分量num为整型,成员分量score为实型。 ⒍ 写出printf(%u,%d, -2, 65530);的运行结果。 ⒎ 写出下列语句的C语言表达式:若x大于等于0结果为x+1,否则结果为x-1。 ⒏ 已知有程序段如下(x为整型): x = 0; if ( a ) x = 1; else if ( b ) ; else x = 1; 则上述程序段与以下哪句赋值语句等价: x=ab;或x=a||b;或x=a||!b;或x=a!b;或x=(a!=0); ⒐ 已知有职工结构体数组 struct { int num; char name[20]; } per[100]; 使用scanf函数写出:输入下标为i的职工的num和name的语句。 ⒑ 写出结束当前循环或switch语句的C语言语句;写出结束当前函数并返回的C语言语句。 二、填空题(4题、24分) ⒈ 以下函数(fsadd)计算两个分数相加,结构体fs描述一个分数,其成员fenzi与fenmu分别表示分数的分子与分母。试填空以完成fsadd函数。 struct fs /*分数*/ { int fenzi; /*分子*/ int fenmu; /*分母*/ }; void fsadd( (1) , struct fs *a, struct fs *b ) { r-fenzi = a-fenzi*b-fenmu + (2) ; r-fenmu = a-fenmu*b-fenmu; } ⒉ 以下函数计算year年month月1日到year年1月1日之间的天数,如countdays(2000,1)为0、countdays(2000,2)为31。 int countdays( int year, int month ) { int days = 0; switch( (1) ) { case 11: days += 30; case 10: days += 31; case 9: days += 30; case 8: days += 31; case 7: days += 31; case 6: days += 30; case 5: days += 31; case 4: days += 30; case 3: days += 31; case 2: if ( (year % 400==0) || ((year%4==0) (year%100!=0)) ) days += 29; else days += 28; case 1: days += 31; } return (2) ; } ⒊ 以下程序计算“百钱百鸡”问题:已知公鸡5元1只,母鸡3元1只,小鸡1元3只。要正好100元钱买100只鸡,输出所有可能。程序中用x表示公鸡只数,y表示母鸡只数,z表示小鸡只数。 main() { int x, y, z; for ( x = 0; x = 100; x++ ) for ( y = 0; y = 100; y++ ) { z = (1) ; if ( (2) ) printf( “x=%d, y=%d, z=%d\n”, x, y, z ); } } ⒋ 以下函数删除链表中指定职工的节点,并返回删除后链表头节点的指针。参数head为原链表头节点指针,若原链表为空,则head为NULL,参数num为要删除职工的工号。 #include stdio.h struct worker /* 职工 */ { int num; /* 工号 */ float pay; /* 工资 */ struct worker *next; /* 下一节点指针 */ }; struct worker *del( struct

文档评论(0)

82393aa + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档