内蒙古民族高等专科学校C语言程序设计试卷_第1页
内蒙古民族高等专科学校C语言程序设计试卷_第2页
内蒙古民族高等专科学校C语言程序设计试卷_第3页
内蒙古民族高等专科学校C语言程序设计试卷_第4页
内蒙古民族高等专科学校C语言程序设计试卷_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、内蒙古民族高等专科学校C语言程序设计试卷系 班级 学号 姓名 考场题号一一二四五总分得分考生注意:1.试卷和答题纸上的系,班级,学号,姓名,考场”项目都要填上;2 .所有答题内容皆写在答题纸上,交卷时将试卷和答题纸一起交上3 .不遵守上述者将不给予登记这次考试成绩.、概念题(每小题4分)iog8(xy)1 试写出 数学式w = 的C语言表达式.x y2 设有如下定义int x = 6;执行语句X+ = X- =X*X;后请写出x的值.3 .设有如下定义int x = 5, y = 6;请写出:如下程序段执行后的输出结果.printf("= %d",( +x = y+ 川(x

2、 = 8)?-x : -y );printf("# %d, %dn", x, y);4 . 请写出:如下程序段执行后的输出结果int a; a = -1;a = a | 0377; printf( "%d %o n ”, a, a );5 .设有定义 char st80, i, c;今要求将字符串This is a string.”完整记录于 st中,试问如下四种输入方法中哪些方法能达到这个要求.A. gets( st );B. scanf( '%20s ”, st );C. for( i=0; i<16; i+ )sti=getchar(); st

3、i= 0';D. i=0; while( ( c = getchar() ) != n' ) sti+ = c; sti= 0";6 请写出:如下程序段执行后的输出结果char *alpha5 = "ABCD ,“ EFGK ,“IJKL” ,“ MNOP ,“ QRST ;char *p = alpha; int i = 0;while ( i < 4 ) printf( " %c ”,*( *(p+i+)+1 );7 . 设有定义int a4 = 0,4,5,13, *p;请写出 : 如下程序段执行后的输出结果.p = &a2;p

4、rintf("*-p%dn", *-p);printf("*p+ %dn", *p+);printf("+(*p) %dn", +(*p);printf("%d %d %d %dn",a0,a1,a2,a3);8 . 设有定义struct dateint day;char month;int year; dd, *pd = &dd;请写出 : 引用结构体成员 dd .day的其它两种描述形式阅读题(每小题5分) ( 阅读下列程序, 写出程序的输出结果,或根据要求回答)1 。 程序 2.1#include &

5、quot;stdio.h"main() int n,a,x; char cc = '#'scanf("%d", &n);for( x=0; x<n; x+) for( a=n-x-1;a>0; a- )putchar(cc);for( a=0; a<n; a+ ) printf( "%c", 97+a );printf("n");/*/输入 4/*/2 。 程序2.2int d=1;func2 ( int p ) static int d=4;d += p+;printf("

6、;- p= %d d= %d ", p, d);main() int i, a=5;for(i=0; i<2; i+) func2 (a);d += a+;printf("= a= %d d= %dn", a, d); 3 程序 2.3main() char a10="ABCD", b10="12345678" int i, j=1;for(i=3; bi-1!='0' i+)ai=bi-1;a-i='0'printf(" Result 1 "); puts(a);w

7、hile ( aj+ != '0' )bj=aj;printf(" Result 2 "); puts(b);4 .程序 2.4double func4 ( double d, int n )return ( n ? d*func4 ( d, n -1 ): 1.0 );main() double x, w; int n;x = 6.0;w = func4 ( x, 4 );printf("x=%lf ", x);printf("w=%lfn", w);5 .程序 2.5void func5 ( int *a, int

8、 n );main() int i = 0;static int ab8 = 9,3,2,5,8,1,6,0;func5 ( ab, 8 );while ( i < 8 )printf(" %d,' ", abi+);void func5 ( int *a, int n ) int i, t, *p;for(i=1; i<n; i+) for( p=a; p<a+n-i-1; p+ ) if( *p>*(p+1) ) t=*p; *p=*(p+1); *(p+1)=t; 6 .程序2.6 分析如下指针函数模块sample( )的功能 :若一次

9、键入数据: 11 20 9 24 16 0 38 46<enter>请写出 printf 输出结果 , 并且画出 head 所指向的链表示意图 .#include "stdio.h"typedef struct nodeint data; struct node *next; JD;JD *sample ( ) JD *head, *q, *p; int count=0, sum=0;head=(JD*)malloc(sizeof(JD);q=(JD*)malloc(sizeof(JD);head->next=q;for(scanf("%d&qu

10、ot;,&q->data); q->data!=0; scanf("%d",&q->data) q->next=(JD*)malloc(sizeof(JD); q=q->next; q->next=NULL;p=head->next;while( p!=NULL ) count+; sum += p->data; p = p->next; printf("count= %d",count);printf("sum= %dn", sum);return (head);

11、三 改错题 (8 分 ) 下列程序中有八个错误 , 按程序功能的要求, 指出和纠正所有错误,(程序行序不能改)并以将"#xx行改为 yyyy "的形式进行解答.例答:#3行改为int max=0,min=100, f=1;程序功能 :(1)输入若干个学生成绩, 若输入数据大于100 或小于0(除 -999 外), 则不作记录, 重新输入;当输入 399 ,则输入结束.统计所有输入成绩的最大值,最小值,成绩个数,平均值, 并输出之 .# 1 main()# 2 int mark, n = 0, sum = 0;# 3 int max = 0 , min = 100;# 4fo

12、r( ; ; );# 5 scanf("%d", mark);# 6if ( mark = -999 )break;# 7if ( mark > 100 )# 8 printf("mark>100, Reinput!n");# 9break; # 10n+; sum += mark;# 11if ( mark>max ) max = mark# 12else min = mark;# 13# 14sum %= n;# 15printf("%d,%d,%d,%dn", max,min,n,sum);# 16 7. 填空

13、题 (16 分)(阅读下列程序说明和相应的C 程序 , 把缺少的内容填入处, 完善该程序.)1. 程序 7 说明 本程序运行的结果, 输出 如右下 所示结果 .程序 7#define N 8main() int i, j, k ;int aN;for( i=0;i<N-1;i+ )a i = i +2 ;a N-1 = (1);for(j=0; j<N ;j+) gosub( (2) ;for(k=0; k<N; k+)1 2 3 48 1 2 37 8 1 26 7 8 15 6 7 84 5 6 73 4 5 62 3 4 55 6 7 84 5 6 73 4 5 62

14、3 4 51 2 3 48 1 2 37 8 1 26 7 8 1printf(" %2d ", ak);(3)gosub(int a, int n) int t, i;t=an;for(i=n; i>0; i-)(4)a0=t;2 程序 8 说明 本程序中函数 hw() 用于判断一给定字符串是否为 回文(即顺序读与反序读一样,例:字符串ABCBA”是回文)若是回文,则hw()返回1,否则返回0. 程序 8 int hw( char *s ) char *head, *tail;int i=0;while ( (1)i+;head = s;tail = (2);whi

15、le ( head < tail ) if ( *head+ != (3)return 0;(4);main() char cc="ABCDefgfeDCBA"printf("nnt= %d n", hw( cc );五.编程题(14分)(按指定功能、要求和程序框架,在虚线部位完善语句(段),编成可运行的C程序)1 .程序功能:建立信息数据文件现有一批学生(50个),每个学生信息包括学号,姓名,成绩.试将这批学生信息以文本文件的方式 存储到磁盘文件d:db料stu_list.dat中(这里子目录 d:dbf已经存在).操作要求:全部信息先存储在内存,再成批写入外存.#include <stdio.h>struct student_type stu50, *ps main()for( i = 0; i < ;i+ )/*写打开文本文件语句*/ps+ )for( ps = stu ; ps < -2 .查找功能:对一个4父5阶的矩阵(元素

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论