齐鲁理工学院《C语言程序设计》2019-2020学年期末试卷_第1页
齐鲁理工学院《C语言程序设计》2019-2020学年期末试卷_第2页
齐鲁理工学院《C语言程序设计》2019-2020学年期末试卷_第3页
齐鲁理工学院《C语言程序设计》2019-2020学年期末试卷_第4页
齐鲁理工学院《C语言程序设计》2019-2020学年期末试卷_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

考试类型闭卷)考试时间:120分钟一.单项选择题每题2分,共20分)下列各题A)、B)、C)、D)四个选项中只有一个是正确的,请将正确选项填在答题卡相应题目的横线上。答在试卷上不得分。1.执行程序:inta;printf("%d\n",(a=3*5,a*4,a+5));后,a的值是。A)60B)20C)15D)102.程序段:intx=023;printf("%d\n",--x);的输出是。A)19B)18C)23D)223.程序段:staticchars[10]={'C','h','i','n','a'};printf("%d\n",strlen(s));的输出是。A)6B)5C)11D)104.若fun(intx){printf(“%d\n”,x);},则fun。A)返回值为void类型B)返回值类型无法确定C)返回值为int类型D)没有返回值5.有宏定义:#defineMULT1(a,b)a*b#defineMULT2(a,b)(a)*(b)且引用宏:y=MULT1(3+2,5+8);z=MULT2(3+2,5+8);则y和z的值是。A)y=65,z=65B)y=21,z=65C)y=65,z=21D)y=21,z=216.程序段chars[]="Hello",*p;p=s;执行后,*(p+5)的值是。A)'o'B)'\0'C)'o'的地址D)不确定的值7.程序段:char*s=”ABCD”,*p;for(p=s;*p;p++)printf("%s\n",p);的输出是。A)ABCDB)AC)DD)ABCDBCDBCABCCDCBABDDAA8.若定义:int(*p)[3];则标识符p。A)定义不合法。B)是一个指针数组名,每个元素是一个指向整型变量的指针。C)是一个指针,它指向一个具有三个元素的一维数组。D)是一个指向整型变量的指针。9.定义:structsk{inta;floatb;}data,*p;且p=&data;则正确引用成员a的方式是。A)p.data.aB)(*p).aC)p->data.aD)(*p).data.a10.以二进制只读方式打开一个已有的文本文件file1,正确调用fopen函数的方式是。A)FILE*fp;fp=fopen("file1","rb");C)FILE*fp;fp=fopen("file1","r");B)FILE*fp;fp=fopen("file1","r+");D)FILE*fp;fp=fopen("file1","rb+");二.填空题每空1分,共20分)请将正确答案填在答题卡相应题目的横线上。答在试卷上不得分。1.C程序一个函数的定义由和两部分组成。2.C语言的整型变量可分为基本型、短整型、和。3.C语言在判断一个量是否为“真”时,以代表“假”,以代表“真”。4.C语言中的break语句只能用于和语句。5.对和型数组不赋初值,系统会对所有元素自动赋以0值。6.C语言中“文件包含”是通过命令完成的,而符号常量是通过命令定义的。7.对于数组x[5][5],*(x+2)+3表示,*(x[3]+2)表示。8.若定义:struct{inty,m,d;}today,*pdata;则为today分配内存字节,为pdata分配内存字节。9.C语言文件按数据的存放形式可分为文件和文件。10.C语言文件是一个序列,这类文件称为文件。三.程序归纳题(每题2分,共10分)阅读下列函数,总结其主要功能填在答题卡相应的横线上。答在试卷上不得分。1.intfun1(char*str){char*ptr=str;while(*ptr++);returnptr-str-1;}2.doublefun2(doublex,doubley,doublez){returnx>(y>z?y:z)?x:(y>z?y:z);}3.voidfuns3(intnum[],intsize){inti=0,tmp;while(i<size/2)tmp=num[i],num[i]=num[size-i-1],num[size-i-1]=tmp,i++;}4.voidfun4(char*f,char*t){for(;*f!='\0';f++,t++)*t=*f;*t='\0';}5.voidfun5(char*ps){inta1=0,a2=0;while(*ps!='\0'){if(*ps>='a'&&*ps<='z')a1++;elseif(*ps>='0'&&*ps<='9')a2++;p++;}printf("%d,%d\n",a1,a2);}四.程序分析题(每题2分,共10分)阅读程序,将其运行结果填在答题卡相应题目的横线上。答在试卷上不得分。1.#include"stdio.h"voidmain(){staticinta[]={1,2,3,4,5,6},*p;p=a;*(p+3)+=2;printf("%d,%d\n",*p,*(p+3));}2.#include"stdio.h"voidmain(){intx=1;{intx=2;}{intx=3;printf("%2d",x);}}}printf}}printf("%2d",x);3.#include<stdio.h>#include<string.h>voidsort(char**str,intn){char*tmp;inti,j;for(i=0;i<n-1;i++)for(j=0;j<n-i-1;j++)if(strcmp(str[j],str[j+1])>0)tmp=str[j],str[j]=str[j+1],str[j+1]=tmp;}voidmain(){char**ps,*str[3]={"BOOK","COMPUTER","CHINA"};inti;ps=str;sort(ps,3);for(i=0;i<3;i++)printf("%d%s",i+1,str[i]);}4.#include<stdio.h>intleap_year(intyear){returnyear%4==0&&year%100!=0||year%400==0;}voidmain(){intmonth_day[]={31,28,31,30,31,30,31,31,30,31,30,31},days,i;structdate{intyear;intmonth;intday;}mdate={2008,5,1};if(leap_year(mdate.year))month_day[1]++;for(i=1,days=mdate.day;i<mdate.month;i++)days+=month_day[i-1];printf("%d-%disthe%dthdayin%d",mdate.month,mdate.day,days,mdate.year);}5.#include<stdio.h>voidadd(int*x,int*y,intn){while(n--)*x+++=*y++;}voidmain(){inti=5;staticints1[]={2,1,0,3,2},s2[5];add(s2,s1,5);while(i--)printf("%2d",s2[i]);}五.程序设计题(每题10分,共40分)阅读下列程序,在指定位置上填入适当的内容使程序完整。请勿改动其它内容。请将正确答案填在答题卡上。答在试卷上不得分。1.函数insert将一个指定的单精度数按递减规律插入数组num中,注:数组num中已有12个按照递减顺序排好序的单精度数。voidinsert(floatnum[13],floatnew)/***answerbegin***/……/***answerend***/}2.编写函数mycmp实现库函数strcmp的功能:两个字符串的比较。intmycmp(char*p1,char*p2){/***answerbegin***/……/***answerend***/}3.设有三个候选人,每次输入一个得票的候选人的名字,要求最后输出各人得票结果。#include<string.h>structperson{charname[20];intcount;}leader[3]={“Li”,0,“Zhang”,0,”Wang“,0};main(){inti,j;charleader_name[20];for(i=1;i<=10;i++){/***answerbegin***/……/***answerend***/}for(i=0;i<3;i++)printf("%5s:%d\n",leader[i].name,leader[i].count);}4.从键盘上输入一个字符串,将其

温馨提示

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

评论

0/150

提交评论