期末复习(2013级软件系、网络系和游戏系).doc_第1页
期末复习(2013级软件系、网络系和游戏系).doc_第2页
期末复习(2013级软件系、网络系和游戏系).doc_第3页
期末复习(2013级软件系、网络系和游戏系).doc_第4页
期末复习(2013级软件系、网络系和游戏系).doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

期末复习一、 题型:共有5大题:1、单项选择题(每小题1.5分,小计30分)2、填空题(每空2分,小计20分)3、写出下列程序的运行结果(每小题5分,小计20分)4、程序填空(每空2分,小计10分)5、程序设计题(有3小题,其中:第1、2小题各6分,第3小题8分,小计20分)二、 考试形式、时间、涉及内容考试形式为闭卷,时间为90分钟涉及内容:各讲内容均有涉及三、 样题(与考题无必然联系,仅供参考)(1) 单选题:1、C语言中,运算对象必须是整型的运算符是【 】A./B.%C.+D.!2、下列标识符中,不合法的是【 】A. x2B.sizeofC. _123D. char23、若x, i, j和k都是int型变量,则计算表达式x=(i=4, j=16, k=32)后,x的值为【 】A. 4B.16C. 32D. 524、设有数组定义:char a =China; 则数组 a所占的空间为【 】字节A. 4B.5C. 6D. 75、 设d 是double型变量,若要从键盘输入数据给d,正确的语句是【 】 A. scanf(d);B. scanf( %f, d); C. scanf( %f, &d); D. scanf( %lf, &d);6、以下程序段的输出结果是【 】 int x=3;doprintf(%d,x-=2); while(!(-x);A. 1-2B.30C. 1D. 无输出7、下列程序段执行之后,输出的结果是【 】double x=4,y;if (x0)y=0;else if(xaC. p-ex.a D. p.ex.a11、判断字符串s1和s2是否相等的表达式是【 】A. s1=s2B. s1=s2 C. strcpy(s1,s2)=0D. strcmp(s1,s2)=012、数字11与13进行“位或”运算(即11|13)的结果是【 】A.1B.11C.13D.15(2) 填空题1、一个C语言程序的执行是从 函数开始的。2、结构化程序的三种基本结构是:顺序结构、 和循环结构。3、在VC+ 2008环境下,C语言源程序的扩展名是_,经过编译、链接后得到的可执行文件的扩展名是_。4、C语言中字符串的结束标志符是_;转义字符_具有换行功能。5、指针就是 , 指针变量就是用来 的变量。6、若a=5,b=3,则表达式ab?a+b:a-b 的结果是 _。7、数学式:0x13对应的C语言表达式是_ _。8、一个函数的原型是 void func(int),现要求定义一个函数指针p指向该函数,那么p的正确定义格式是_ _。(3)写出下列程序的运行结果1、#include int main()char c1,c2;c1=A+8-5;c2=A+8-4;printf(%c,%dn,c1,c2);return 0;已知字母A的ASCII码为65,程序运行后的输出结果是 2、#include int a=5;void fun(int b)int a=10;a+=b;printf(%d,a);int main() int c=20;fun(c);a+=c;printf(%dn,a);return 0;程序运行后的输出结果是 3.#include void bubbsort(int a,int n)int i,j,temp;for(i=0;in-1;i+) for(j=0;jaj+1) temp=aj;aj=aj+1;aj+1=temp;int main()int array=3,15,9,6,12;bubbsort(array,5);for(int i=0;i5;i+)printf(%d ,arrayi);printf(n);return 0;程序运行后的输出结果是 (4) 程序填空1、以下程序的功能是: 从键盘输入若干学生的成绩,统计并输出最高成绩和最低成绩,当输入的是负数时结束输入。 #include int main()float x, max, min;printf(请输入学生成绩:);scanf(%f,&x);max=min=x; while ( (1) )if ( (2) ) max=x; if (xmin) min=x;scanf(%f,&x);printf(max=%f, min=%fn,max,min);return 0;2、以下程序的功能是: 先从键盘输入一个文件名,然后将输入的字符以文本方式依次存放到该文件中,用#作为输入的结束标志。 #include #include int main()FILE *fp;char ch,fname30;printf(请输入文件名: n);gets(fname);if(fp= (3) )=NULL)printf(不能打开文件!n);exit(0);printf(请输入数据:n);while(ch=getchar()!= (4) )fputc( (5) ,fp);fclose(fp);return 0;(5)编程题:1、 课件第3讲 例3 输入三角形的三边长,求其面积#include #include int main()float a,b,c,s,area;printf(请输入三角形的三边长度:);scanf(%f%f%f,&a, &b,&c);s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);printf(三角形的三边长度:a=%f, b=%f, c=%fn,a,b,c);printf(三角形的面积:area=%fn,area);return 0;2、 课件第6讲 循环结(2) 例1例1:#include int main()int sign=-1;double s=0,PI;int i;for (i=1;1.0/i=1e-7;i=i+2)sign=-sign;s=s+1.0/i*sign;PI=s*4;printf(i=%dn,i-2);printf(PI=%10.8fnn,PI);return 0;3、 课件第6讲 循环结(2) 例2: 输入一批学生成绩,输出其中的最高分、最低分#include int main()int score,min,max;printf(请输入成绩(0-100),其它成绩结束: );scanf(%d,&score);max=min=score;/min、max赋初值while(score=0) & (scoremax)max=score;if (scoremin)min=score;printf(请输入成绩(0-100),其它成绩结束: );scanf(%d,&score);printf(max=%d, min=%dn,max,min);return 0;4、课件 第7讲 数组例5: 已知一个int型数组,数据元素分别为9,8,5,4,2,0。要求按由小到大的顺序,重新排列数组元素#include int main()int a6,i,j,t;printf(input 6 numbers :n);for (i=0;i6;i+)scanf(%d,&ai); printf(n);for(j=0;j5;j+) for(i=0;iai+1) t=ai;ai=ai+1;ai+1=t;printf(the sorted numbers :n);for(i=0;i6;i+)printf(%d ,ai);printf(n);return 0;5、课件 第8讲 数组例6 选择排序#include#includeconst int M=5;/定义常量,下同const int N=30;void SelectSort(char strMN)/对字符串进行选择排序函数int i,j,k;char tempN;/用于字符串交换时当作中间存放空间for(i=0;iM-1;i+)/进行M-1次选择和交换k=i;/给k赋初值for(j=i+1;j0) /进行字符串比较k=j;/记录较小值的位置/利用字符串拷贝函数交换stri与strk的值if (i!=k)strcpy(temp,stri);strcpy(stri,strk);strcpy(strk,temp);int main ( )char sMN; / 定义二维字符数组int i;printf(请输入%d个字符串:n);for (i=0;iM;i+)gets (si); SelectSort(s); /调用函数进行选择排序printf(n排序后字符串:n);for (i=0;iM;i+)puts (si); printf(n);return 0;6、实验_12 第2题:请参考教材P226-229图示,请说明下列函数中,哪些能实现主函数的实参数据交换功能,哪些不能实现或程序存在问题,为什么?(最好上机验证)(1)void swap1(int *p1,int *p2)int temp;temp=*p1;*p1=*p2;*p2=temp;(2)void swap2(int *p1,int *p2)int *temp;*temp=*p1;*p1=*p2;*p2=*temp;(3)void swap3(int x,int y) int temp; temp=x; x=y; y=temp;(4)void swap4(int *p1,int *p2)int *p;p=p1;p1=p2;p2=p;7、实验_8 2、输入一个字符串,请编程统计其中的字母、数字、空格(含制表符)、标点符号的个数并输出。如下图所示:(提示:在教材的p385-386中有字符和字符串函数,可以直接引用。如isalpha()判断字母函数、isdigit()判断数字函数、isspace()判断空格函数、ispunct()判断标点函数等)#include #include int main()char str201;printf(请输入一个长度不超过的字符串: n);gets(str);int n1,n2,n3,n4;n1=n2=n3=n4=0;for(int i=0;stri;i+)if (isalpha(stri)n1+;else if (isdigit(stri)n2+;else if (isspace(stri)n3+;else if (ispunct(stri)n4+;printf(该字符串的字母个数:%d,数字个数:%d, 空格个数:%d,标点个数:%dnn,n1,n2,n3,n4);return 0;8、实验_10 1、编程计算数组各元素的平方和,要求如下:(1)void array_input(int array, int n)的功能是:输入整型数组array的各元素值,参数n是数组元素的个数;(2) int square_sum(int array, int n)的功能是:对整型数组array的各元素的平方求和,参数n是数组元素的个数;(3)主函数的功能:定义一个是长度为6的整型数组,通过调用array_input()输入各元素的值,再调用square_sum()得到各元素平方和,最后输出结果;(4)主函数在前,上述两个函数在后面定义。程序运行如下图所示:#include int main()void array_input(int array,int n);int square_sum(int arrya ,int n);int a6;array_input(a,6);int array_square_sum=square_sum(a,6);printf(数组a的各元素平方和: %dnn,array_square_sum);return 0;void array_input(int array,int n)/输入数组元素的函数printf(请输入整型数组的%d个元素:n,n);for(int i=0;in;i+)scanf(%d,&arrayi);int square_sum(int array ,int n)/计算数组元素平方和函数int i;int sum=0;for(i=0;in;i+)sum=sum+arrayi*arrayi;return sum;9、实验_11 结构体、共用体和枚举类型 3、学生有三门课程:A、B、C,3名学生的成绩如下表所示:姓名ABC平均分张三788467李四889095王五667980请先定义一个结构体Student,其成员包括:name(姓名)、A、B、C、aver(平均分),再定义一个Student类型的数组stud3来存放学生资料。现欲先输入学生三门课程成绩,再计算平均分,最后输出学生信息,要求用“模块化程序设计”方法来设计程序。请根据题意、注释在代码段1-代码段5中填写程序所缺代码。#include /定义结构体Student,学生姓名不超过10个字符/三门课程成绩均为百分制,只取整数;平均分带小数struct Student/代码段1;int main()/定义结构体数组stud3/对input()、average()、pri

温馨提示

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

评论

0/150

提交评论