




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计_A卷C语言程序设计_A卷C语言程序设计_A卷C语言程序设计_A卷编制仅供参考审核批准生效日期地址:电话:传真:邮编:哈尔滨工业大学(威海)2007/2008学年秋季学期C语言程序设计笔试试题(A卷)题号一二三四五六笔试(70%)综合(30%)总分分数号学号学名姓1.笔试卷面总分100分,取卷面成绩的70%计入总分;2.综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%;3.答题时禁止拆开试卷钉,试卷背面即为草稿纸;4.答题时间120分钟。一、单项选择题。请把答案填入下面框中,不允许出框线。(本题16分,每小题2分)题号12345678答案注意行为规范遵守考试纪律1.以下选项中合法的C语言注意行为规范遵守考试纪律A)longB)_2TestC)3DmaxD)2.有以下程序main(){ inta=0,b=0,c=0,d=0; if(a=2)b=2;c=4; elsed=3; printf("%d,%d,%d,%d\n",a,b,c,d);}则程序输出()。A)0,1,2,0 B)0,0,0,3C)1,1,2,0 D)编译有错教研室主任签字:教研室主任签字:3.用语句scanf(“%c%c%c”,&c1,&c2,&c3);输入”a,b,c”时,变量c1、c2、c3的值分别为()。A)‘a′,′b′,′c′ B)′a′,′b′,′′C)′a′,′,′,′b′ D)′a′,′′,′c′4.有以下程序段main(){intk=0;while(k=1)k++;}则while循环执行的次数是()。A)无限次 B)有语法错,不能执行C)一次也不执行 D)执行1次5.有以下程序:#include<>#include<>main(){ char*p=”abc\101\0fghijk\0”; printf(“%d”,strlen(p));}执行后的输出结果为()。A)6 B)4 C)12 D)146.设有说明语句:inta=1,b=2,c=3,d=4,m=2,n=2;则执行(m=a>b)&&(n=c>d)后n的值为()。A)1 B)2 C)3 D)47.表达式0x13&0x17和0x13|0x17的值分别是()。A)19,23 B)23,19 C)248,232 D)236,2008.设有以下语句typedefstructTT{charc;inta[4];}CIN;则下面叙述中正确的是()。A)可以用TT定义结构体变量 B)TT是struct类型的变量C)可以用CIN定义结构体变量D)CIN是structTT类型的变量二、填空题。请按序号把答案填入下面框中,不允许出框线。(本题20分,每空1分)题号答案题号答案11121231341451561671781891910201.下面程序的功能是输出二维数组的所有元素值,请完成程序。main(){ inta[3][4]={{1,3,5,7},{9,11,13,15},{17,19,21,23}};int*p;for(【1】;p<【2】;p++) printf("%d\t",*p);}2.有以下函数intfun(char*s){char*t=s;while(*t++);return(t-s-1);}该函数的功能是【3】。3.读入三个浮点数,取出其小数部分分别输出,完成下列程序。voidsplitfloat(floatx,float*fracpart){ intintpart=【4】x; *fracpart=x-【5】; }main() { inti; floatx,temp; printf("Enter3floatpointnumbers:\n"); for(i=0;i<3;i++) { scanf("%f",&x); splitfloat(x,【6】); printf("FractionPart=%\n",temp); } }4.下列程序段为链表结点类型定义,请填空。【7】student{ intnum; charname[20]; intscore; 【8】next;};5.如下图所示,设指针p指向的结点已经申请空间,并进行了赋值,写出将结点p插入头节点h之前的C程序语句。datadatanextdatanextdataNULL·····datanextph【9】;【10】;6.如下图所示,设指针q指向要删除的结点,写出删除该结点的语句。hdatanexthdatanextdataNULL·····qdatanext【11】;【12】;7.下面程序的运行结果为【13】。main(){enumweekday{sun,mon,tue,wed,thu,fri,sat}a,b,c;a=sun; b=tue; c=sat;printf("%d%d%d",a,b,c);}8.在C语言中,对于文件的操作主要是通过调用包含在头文件””的标准库函数来实现的。因此,在对文件操作的C程序中,必须添加包含此头文件的预处理指令,该指令为【14】。假设在C盘根目录下有一文本文件,现在要以读写方式打开此文件并在打开后立即关闭。请完成下面的C程序语句: 【15】fp;fp=fopen(【16】,“rw”);【17】;9.若有定义语句:inta=7;floatx=,y=;则表达式x+a%3*(int)(x+y)%2/4的值是【18】;10.以下函数的功能是:输出三个变量中的最小值,请完成该函数。intGetMin(intx1,intx2,intx3){intt1=【19】;intt2=【20】;return(t1>t2t2:t1);}三、请把下列程序运行结果填入答案框中,不允许出框线,用“↙”表示回车。(本题24分,每小题3分)题号12345678答案1.#include<>main(){intp=30;printf("%d\n",(p/3>0p/10:p%3));}2.#include<>main(){ charc1,c2,c3,c4,c5,c6; scanf("%c%c%c%c",&c1,&c2,&c3,&c4); c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf("%c%c\n",c5,c6);}程序运行后,若从键盘输入(↙代表回车换行):1357↙ 24↙请把输出结果填入答案框中。3.#include<>main(){ inta=1,b; for(b=1;b<=10;b++){ if(a>=8)break; if(a%2==1){ a+=5; continue; } a-=3; } printf("%d\n",b);}4.#include<>main(){ inta[]={1,2,3,4,5,6},*p=a; *(p+3)+=2; printf("%d,%d",*p,*(p+3));}5.#include<>char*fun(char*str){ returnstr="fun";}main(){ char*str="ction"; printf("%s,%c\n",fun(str)+1,*fun(str)+1);}6.#include<>main(){ char*s[]={"two","three","four","five"}; char*p=s[1]; char*q=s[3]; q+=2; printf("%s,%s",(++p),(q--));}7.#include<>structst{ intx; int*y;}*p;intdt[4]={10,20,30,40};structststMatrix[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};main(){ p=stMatrix; printf("%d,%d",++(p->x),*((p+2)->y));}8.#include<>main(){ inta=0,b=2,c=3; switch(a) { case0:switch(b==2) { case1:printf("&");break; case2:printf("%");break; } case1:switch(c) { case1:printf("$"); case2:printf("*");break; default:printf("#"); } }}四、根据功能描述改正程序中的错误。不得增行或删行,不得更改程序结构。(本题10分)1.要求以下程序的功能是计算1+1/2+1/3+……+1/10的和。(本小题4分)#include<>main(){intn;floats;for(n=10;n>1;n--)s+=1/n;printf("%\n",s);}2.下面函数Squeez()的功能是删除字符串s中所出现的与变量c相同的字符。(本小题6分)voidSqueez(chars[],charc);{inti,j; for(i=0,j=0;s[i]!='\0';i++) { if(s[i]!=‘c’) { s[j]=s[i]; j++; } s[i]='\0'; }}五、请用标准程序流程图描述下列问题的算法(本题10分,每小题5分)1.依次从键盘输入10个不同的整型数据,请查找1.依次从键盘输入10个不同的整型数据,请查找出这些数据中的最大值和最小值,并指出它们分别是第几次输入的。2.某人身上有人民币50张,面值分别为20元、10元、5元和1元。请分别统计出这些不同面值人民币的张数并计算出这50张人民币的总面值来。六、编程题(本题20分)1.请从键盘输入一个长度为29的字符串,要求分别统计出该字符串中所包含的英文字符、数字字符、空格字符以及其他字符的个数。请写出解决该问题的完整C程序。(本小题6分)2.输入任意长度的字符串str1和子字符串str2(str2的长度要小于str1的长度),请统计出str1中包含有几个子字符串str2,并计算str1中出现最后一个子串str2之前已有多少个字符出现。(本小题8分)3.某数理化三项竞赛训练组有4个人,其中有且仅有一个人的一项成绩不及格(小于60),请找到此人并输出其所有成绩。要求使用指针函数,完成下列程序。(本小题6分)#include<>int*seek(int){ inti,*pnt_col;/*定义一个(列)指针变量pnt_col*/ pnt_col=; for(i=0;i<3;i++) if(){ } return(pnt_col);}main(){ intgrade[4][3]={{65,65,75},{6
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 项目部借支管理办法
- 融资担保中心管理办法
- 镇互助资金管理办法
- 调休单使用管理办法
- 行政差旅报销管理办法
- 阳光周转房管理办法
- 镇债务债权管理办法
- 血浆检疫期管理办法
- 群租房归属管理办法
- 面试完要写管理办法
- 国家职业技术技能标准 4-03-02-10 调饮师 人社厅发202338号
- 2025年浙江省杭州市杭州第二中学高考化学试题模拟训练试题含解析
- 小型公司合伙合同范本
- 老带新活动方案
- T-CAS 952-2024 基于荧光标记二抗的免疫组织化学检测 质量控制规范
- 企业员工健康管理方案
- 2025年宿迁市公需考试试题
- 2025年福建省现场流行病学调查职业技能竞赛理论参考试题库(含答案)
- 2024国家安全教育大学生读本题库
- 样品确认流程培训
- 《基于管理需求下的酒店设计研究》
评论
0/150
提交评论