- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 麻醉中水电解质平衡管理.pptx
- 2025年新高考天津卷语文真题(解析版-).pdf VIP
- 腾势-腾势X-产品使用说明书-经典版(插混)-QCJ6490ST6HEV-腾势X插电式混动SUV用户手册20191212.pdf VIP
- 艾灸疗法ppt课件.ppt
- SHT 3225-2024 石油化工安全仪表系统安全完整性等级设计规范.docx VIP
- 装饰装修工装饰装修工试题二十二.doc VIP
- 装饰装修工装饰装修工试题六.doc VIP
- 三年级 上 音乐 苏教版.doc VIP
- 装饰装修工装饰装修工试题五.doc VIP
- 2024江西南昌凤凰城上海外国语学校教师招聘笔试模拟试题及答案解析.docx VIP
文档评论(0)