




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
辽宁工程技术大学2005-2006年冬季学期试卷 2006.3课程名: 程序设计基础(C) 学分: 5 学号: 姓名: 学院/教师: 题号一二三四卷面上机总分题分21368127723100得分考生须知:1. 试卷和答题纸上的“学号、姓名、学院、教师”都要填上;2. 所有答题内容都写在答卷纸上,交卷时将试卷和答卷纸一起交上;3. 不遵守上述要求者考试成绩将为零分。4. 本卷考试的得分为卷面分,电脑上机考试(另行安排)的得分为上机分,考试成绩为卷面分与上机分之和。一、基础题(21分,第1小题3分,其它每小题2分)1定义int x=51,y=26,z; 写出z=(x+ / 2=-y)?10:20;执行后各变量的值。2定义int n=8,a=15;写出a*=(n%=3);执行后变量n与a的值。3定义int b=7;float a=5.2,c=6.3;计算表达式b*(int)(a+c)/2与(float)b/(int)a的值。4将二进制11001000分别转化为十六进制和十进制数。5分别写出判断表达式:a小于b和c,a加b不大于c。6设n为正整数,分别写出表达式:计算n的个位数和十位数。7. 定义int a=5,b=6,c=3; 分别计算表达式!(a & b) | (b=a+c)与(a & b) | c的值。8定义int a10; 写出语句片段:输入a数组中的10个整数。9定义char *p10; 试用gets写出语句:输入数组中下标0对应的字符串。10设从星期日至星期六为一周,星期日用0表示,星期一用1表示,依此类推,星期六用6表示,某个月的天数使用变量n表示,该月1日的星期使用变量d表示,试写出表达式计算该月所跨的周数(如d=6,n=30时为6周)。二、阅读程序(36分,每小题4分)仔细阅读下列程序,将各程序的运行结果写在答卷纸上。(1)程序#include main()int m,n,i,k=1;scanf( %d%d, &m, &n );if ( mn )k=-1;for ( i=m; i!=n; i+=k )printf( %dt, i );printf( n );/*输入:30 22*/输出:?(2)程序#include main()int i, n=0;for ( i=1; 1; i+ )if ( (i%2=0) & (i%3=0) )n+;printf( %4d, i );if ( n%4=0 )printf( n );if ( n=12 )break;输出:?(3)程序#include void prt2( long n )int a10, i, j;long k=1, d=0, e=0;for ( i=0; n0; i+ )ai = n%10;n /= 10;for ( j=0; ji; j+=2, k*=10 )d += aj*k;if ( j+1 i )e += aj+1*k;printf( Data d=%ldn, d );printf( Data e=%ldn, e );main()long d;scanf( %ld, &d );prt2( d );/*输入:123456789 */输出:?(4)程序#include chara56;void fill1(void)inti, j;for ( i = 0; i 5; i+ )for ( j = 0; j 5; j+ )aij = *;void fill2(void)int i;for ( i = 0; i 5; i+ )aii = #;ai4-i = ;ai5 = 0;void output(void)int i;for ( i = 0; i 5; i+ )puts( ai );main()fill1();fill2();output();输出:?(5)程序#include #include char *toucase( char *str )char *p;for (p=str; *p!=0; p+ )if ( *p=a & *p=z )*p = *p - a + A;return str;main()char str81, a81=;int n;gets( str );n=strlen( str );printf( Length=%dn, n );strcat( str, a );strcat( a, str );puts( a );puts( toucase(a) );a6=0;puts( a );/*输入:abcde */输出:?(6)程序#include main()int a=10,11,12,13,14, *p, n;p=&a0;n=*(p+);n+=*(+p);n+=(*(p+=2)+;n-=(*(-p)-;n-=*(-p-1);printf(n=%dn,n);printf(a2=%d,a3=%d,a4=%dn,a2,a3,a4);输出:?(7)程序#include int func1( int n )if ( n=1 )return 1;return 2*func1(n-1);int func2( int n )if ( n=1 )return 1;return 2*func2(n-1) + func1(n-1);main()int i;for ( i=1; i=4; i+ )printf( Data1=%d, Data2=%dn, func1(i), func2(i) );输出:?(8)程序#include #include main()int n, *p, i, j, t;scanf( %d, &n );p=malloc( n*sizeof(int) );for ( i=0; in; i+ )scanf( %d, p+i );for ( i=0; in-1; i+ )for ( j=0; jn-1-i; j+ )if ( pj pj+1 ) t=pj;pj=pj+1;pj+1=t; for ( i=0; in; i+ )if ( (i=0) | (pi!=pi-1) )j=i+1;printf( No=%d, Data=%dn, j, pi );free( p );/*假设内存分配函数总是成功的*/*输入:4 33 66 33 55*/输出:?(9)程序#include main()FILE *fp;int i,j;fp=fopen(file4.txt,w);for ( i=1; i=4; i+ )for ( j=1; j=4; j+ )fprintf( fp, %3d, i*j );fprintf( fp, n );fclose( fp );/*假设文件操作总是成功的*/请写出程序运行后文件file4.txt的内容三、改错程序(8分,每错误点2分)下列程序各有两个错误(两个错误分别是在不同的行上),按原来程序的要求,纠正错误,并将错误所在行号以及错误行完整的正确内容写在答卷纸的对应栏内。(1)以下程序输入整数n和n个整数,将n个整数向前移动一个位置,第一个数字移到最后,并输出移动位置后的结果。#include main()int a100,n,i,t;/*1*/scanf( %d, &n );/*2*/for ( i=0; in; i+ )/*3*/scanf( %d, ai );/*4*/t = a0;/*5*/for ( i=0; in-1; i+ )/*6*/ai = ai-1;/*7*/an-1 = t;/*8*/for ( i=0; in; i+ )/*9*/printf( %dt, ai );/*如输入:5 1 2 3 4 5 */*则输出:2 3 4 5 1*/(2)以下程序中insert1函数将新结点插入到链表的表头处,printlist函数输出链表的内容,主函数main用于测试两个函数。#include #include #include struct node/*链表结点定义*/intnum;/*学号*/char name20;/*姓名*/struct node *next;/*指向下一结点的指针*/;struct node *insert1(struct node *head, int num, char *name)/*将结点插入到链表的表头,并返回新链表的表头*/struct node *p;/*1*/p = (struct node *)malloc(sizeof(struct node);/*2*/p-num = num;/*3*/strcpy( p-name, name );/*4*/p-next = head;/*5*/return head;void printlist(struct node *head)/*输出链表的内容*/struct node *p;/*6*/for ( p=head; p!=NULL; p+ )/*7*/printf( %4dt%sn, p-num, p-name );main()/*先定义空链表,接着插入二个结点,最后输出链表*/struct node *head = NULL;head = insert1( head, 111, wang );head = insert1( head, 222, chen );printlist( head );/*链表的结点删除部分略*/*运行结果为:*/* 222 chen*/* 111 wang*/四、程序填空(12分,每填空2分)阅读下列问题描述和相应的C程序,把应填入其中 (n) 处的内容写在答卷纸的对应栏内。(1)以下程序输入一行字符,判断其是否对称,是则输出Yes,否则输出No。#include #include main()char a80;int n, i;gets( a );n = (1) ;for ( i = 0; i n/2; i+ )if ( (2) )break;if ( (3) )printf( Non );elseprintf( Yesn );(2)以下程序中listhigh函数列出所有取得最高分数的学生信息,main函数使用5个学生测试listhigh函数。#include #include #include struct student/*学生结构体定义*/intnum;/*学号*/float score;/*成绩*/;void listhigh( struct student stu, int n )float max;int i;max = (4) ;for ( i=1; i ma
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 艺人经纪合同范本
- 指南针数学题目及答案
- 互联网广告市场数据监测
- 2025年宪法期末考试试题及答案
- 2025年手卫生规范考试题库(附答案)
- 2025年审计舞弊试题分析及答案
- 2025年山西省朔州市事业单位工勤技能考试题库及答案
- 2025年山东省医疗卫生系统招聘卫生法律法规+医学检验训练题及答案
- CN223011311U 一种铜带表面刷洗处理设备 (瑞安市五星铜业股份有限公司)
- CN120273893A 甲醇泵和甲醇燃料温度控制系统 (湖北文理学院)
- GB/T 18847-2002聚氯乙烯覆膜金属板
- 广州越秀区卫生局事业单位考试真题
- 基因工程制药-课件
- 基础教育改革与发展中的热点问题课件
- 流动式起重机械检验记录表
- 蛛网膜下腔出血的个案护理
- 大学信息与网络安全保密管理办法
- 音乐《上学歌》课件
- 防止电力电力建设施工安全事故三十项重点要求考试题
- 绿色校园创建资料
- 污水处理池 (有限空间)作业安全告知牌及警示标志
评论
0/150
提交评论