C语言程序设计A卷_第1页
C语言程序设计A卷_第2页
C语言程序设计A卷_第3页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、号学注意行为规X遵守考试纪律工业大学威海20072008学年秋季学期C语言程序设计笔试试题 A卷题 号一一一二二二-三四五六笔试(70%)综合(30%)总分分 数试卷说明:1. 笔试卷面总分100分,取卷面成绩的70%计入总分;2. 综合成绩为平时成绩(10%和实验成绩(20%之和,占总分的30%;3. 答题时制止拆开试卷钉,试卷反面即为草稿纸;4. 答题时间120分钟。得分:、单项选择题。请把答案填入下面框中,不允许出框线。此题16分,每题2分题号12345678答案1.以下选项中合法的C语言用户标识符是()。A) long B) _2Test C) 3Dmax D) A.dat 2有以下程

2、序mai n()int a=0,b=0,c=0,d=0;if(a=2) b=2;c=4;else d=3;prin tf("%d,%d,%d,%dn",a,b,c,d);那么程序输出()。A)0,1,2,0 B)0,0,0,3C)1,1,2,0 D)编译有错3. 用语句 seanf( %c%c%C,&c1,&c2,&c3);输入"a,b,c"时,变量 cl、 c2、c3的值分别为()。A) a: bB) a : bC) / b ' D) a : , c 4. 有以下程序段mai n()int k=0;while(k=1)

3、k+;那么while循环执行的次数是()。A)无限次B)有语法错,不能执行C) 一次也不执行D)执行1次5. 有以下程序:#i nclude <stdio.h>#i nclude <stri ng.h>mai n()char *p= " abc1010fghijk0 "printf( %d" ,strlen(p);执行后的输出结果为()。A) 6 B) 4 C) 12D)146. 设有说明语句:int a=1, b=2, c=3, d=4, m=2, n=2;那么执行(m=a>b)&&(n二c>d)后 n 的值为

4、()。A) 1B) 2C) 3D)47. 表达式0x13&0x17和0x13|0x17的值分别是()。A) 19, 23B) 23,19 C) 248, 232D) 236, 2008. 设有以下语句typedef struct TTchar c;int a4; CIN;那么下面表达中正确的选项是()。A)可以用TT定义构造体变量B) TT是struct类型的变量C)可以用CIN定义构造体变量 D) CIN是struct TT类型的变量二、填空题。请按序号把答案填入下面框中,得分:不允许出框线。此题20分,每空1分题号答案题号答案1112123134145156167178189191

5、0201下面程序的功能是输出二维数组的所有元素值,请完成程序 mai n()i nta34=1,3,5,7,9,11,13,15,17,19,21,23;int *p;for(【1】;pv ;p+)prin tf("%dt", *p);2. 有以下函数int fun (char *s) char *t=s; while(*t+); return(t-s-l);该函数的功能是【3】3. 读入三个浮点数,取出其小数局部分别输出,完成以下程序。void splitfloat(float x,float *fracpart)int in tpart= 【4】x;*fracpart=

6、x -【5】;mai n()int i;float x,temp;pri ntf("E nter 3 float point nu mbers: n");for(i=0;i<3;i+)sca nf("%f", &x);splitfloat(x,【6】);printf("Fraction Part二 %5.4fn", temp);4. 以下程序段为链表结点类型定义,请填空。【7】stude ntint num;char n ame20;int score;【8】n ext;5. 如以下图所示,设指针 p指向的结点已经申请空

7、间,并进展了赋值,写出将结点p插入头节点h之前的C程序语句。【9】1016. 如以下图所示,设指针q指向要删除的结点,写出删除该结点的语句datan extt data NULL【11】;【12】;7. 下面程序的运行结果为【13】。mai n()enum weekdaysun,mon ,tue,wed,thu,fri,sata,b,c;a=s un ;b=tue;c=sat;prin tf("%d%d%d",a,b,c);8. 在C语言中,对于文件的操作主要是通过调用包含在头文件stdio.h ”的标准库函数来实现的。因此,在对文件操作的C程序中,必须添加包含此头文件的预

8、处理指令,该指令为【14】。假设在C盘根目录下有一文本文件hit.txt,现在要以读写方式翻 开此文件并在翻开后立即关闭。请完成下面的C程序语句:【15】 fp;fp = fopen(【16】, rw ”);【17】;9. 假设有定义语句:int a=7; float x=2.5, y=4.7;那么 表达式x+a%3*(int)(x+y)%2/4 的值是【18】;10. 以下函数的功能是:输出三个变量中的最小值,请完成该函数。in tGetMi n(int x1, i nt x2, i nt x3)int t1 =【19】;int t2 =【20】;return (t1 > t2 ? t

9、2 : t1);三、请把以下程序运行结果填入答案框中,不允.许出框线,用“ / 表示回车。此题24分,每题3分题号12345678答案1. #i nclude <stdio.h>mai n()int p=30;printf("%dn",(p/ 3>0 ? p/10 : p%3);2. #i nclude <stdio.h>mai n()char c1,c2,c3,c4,c5,c6;sca nf("%c%c%c%c", &c1, &c2, &c3, &c4); c5=getchar(); c6=

10、getchar();putchar(c1);putchar(c2);prin tf("%c%cn",c5,c6);程序运行后,假设从键盘输入(/代表回车换行):1357/ 24/请把输出结果填入答案框中。3. #i nclude <stdio.h>mai n()int a=1,b;for(b=1;b<=10;b+)if(a>=8)break;if(a%2=1)a+=5;con ti nue;a-=3;prin tf("%dn",b);4. #i nclude <stdio.h>mai n()int a = 1,2, 3

11、, 4, 5, 6, *p = a;*(p+3) += 2;printf ( "%d,%d", *p, *(p+3);5. #i nclude <stdio.h>char * fun( char *str)return str="fu n"mai n()char *str="ctio n"prin tf("%s,%cn", fun (str)+1, *fu n(str)+1); 6. #i nclude <stdio.h>mai n()char *s="two",&quo

12、t;three","four","five"char *p=s1;char *q=s3;q+=2;prin tf("%s,%s",(+p),(q-);7. #i nclude <stdio.h>struct stint x;int *y;*P;int dt4=10,20,30,40;struct st stMatrix4=50, &dt0,60, &dt1,70, &dt2,80, &dt3;mai n()p=stMatrix;prin tf("%d,%d",+

13、(p->x),*(p+2)->y);8. #i nclude <stdio.h>mai n()int a=0,b=2,c=3;switch(a)case 0:switch(b=2)case 1:pri ntf("&");break;case 2:pri ntf("%");break;case 1:switch(c)case 1:pri ntf("$");case 2:pri ntf("*");break;default:pr in tf("#");四、根据功能描述

14、改正程序中的错误得分:不得增行或删行,不得更改程序构造。此题10分1. 要求以下程序的功能是计算1+1/2+1/3+ +1/10的和。(本小题4分)#i nclude <stdio.h>mai n()int n;float s;for(n=10;n>1;n-)s += 1n;prin tf("%6.4fn",s);2. 下面函数Squeez()的功能是删除字符串s中所出现的与变量c一样的字 符。(本小题6分)void Squeez(char s, char c);int i,j;for (i=0,j=0; si!='0' i+)if (si

15、!= c'sj = si;j+;si='0'五、请用标准程序流程图描述以下问题的算法得分:(此题10分,每题5分)1.依次从键盘输入10个不同的整 型数据,请查找出这些数据中的最 大值和最小值,并指出它们分别是 第几次输入的。2.某人身上有人民币 50X,面值 分别为20元、10元、5元和1元。 请分别统计出这些不同面值人民 币的X数并计算出这50X人民币 的总面值来。六、编程题此题20分得分:1.请从键盘输入一个长度为29的字符串,要求分别统计出该字符串中所包含的英文字符、数字字符、空格字符以及其他字符的个数。请写出解决该冋题的完整C程序。(本小题6分)2.输入任意长

16、度的字符串strl和子字符串str2str2的长度要小于strl 的长度,请统计出strl中包含有几个子字符串str2,并计算strl中 出现最后一个子串str2之前已有多少个字符出现。(本小题8分)3. 某数理化三项竞赛训练组有 4个人,其中有且仅有一个人的一项成绩 不及格小于60,请找到此人并输出其所有成绩。要求使用指针函 数,完成以下程序。(本小题6分)#i nclude <stdio.h>int * seek( int )int i, *pnt_col;/* 定义一个(列)指针变量 pnt_col */pnt_col二;for(i=0;i<3; i+)if()retur n(p nt_col);mai n()in t grade

温馨提示

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

评论

0/150

提交评论