版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言复习资料《C语言程序设计》期末复习资料一、考试题型及其分数分布:1、单项选择题(每小题2分,共30分)2、填空题(每空1分,共20分)3、程序阅读分析题(每小题3分,共30分)4、编程题(每小题10分,共20分)二、复习要点1、构成C程序的基本单位是?函数2、字符型常量的正确使用方式。3、合法的用户标识符是?4、强制类型转换的正确运用。(float)(5/2)5、自增自减运算符使用要点。6、逗号表达式值的概念及其正确运用。(例如:已知inta,b;执行语句a=(b=3*4,b*2),b+9;变量a的值是?)7、scanf函数多数据输入时的格式控制问题(空格或逗号的使用)"%d%d%d"是按十进值格式输入三个整数值。输入时,在两个数据之间可以用一个或多个空格、tab键、回车键分隔。8、二维数组定义时下标值缺省的规则。9、printf函数输出数据时总长度和小数位数的确定。12d10、指向数组的指针灵活运用的问题。(例如:已知:chars[10],*p=s;下列错误的表达式是:s=p+5p=s+5s[2]=p[3]*p=s[0])11、自增自减运算符“先用后增减,先增减后用”的问题。12、字符串复制函数和字符数组(串)长度的概念和运用。(例如:saticcharstr[]=”beijing”;则执行下列语句后的输出结果为?printf(“%d\n”,strlen(strcpy(str,”hello!”)));另外:chara[]=”abcde”,b[]={a’,’b’,’c’,’d’,’e’};中a与b的区别和联系。staticcharstr[]=”beijing”;printf(“%d\n”,strlen(strcpy(str,”hello!”)));#includemain(){inta,b;staticcharstr[]="beijing";a=strlen(str);strcpy(str,"hello!");b=strlen(str);printf("%d,%d\n",a,b);}8,6strlen()求数组中存放的字符串的长度!(不算\0)13、“循环条件”与“循环结束条件”的概念。14、字符串比较函数strcmp返回值的概念。较大字符串的正确语句是:A.if(strcmp(str1,str2))printf(“%s”,str1);B.if(str1>str2)printf(“%s”,str1);C.if(strcmp(str1,str2)>0)printf(“%s”,str1);D.if(strcmp(str1)>strcmp(str2))printf(“%s”,str1);当str1<str2时,返回值str2时,返回值>0即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。如:"A"<"B""a">"A""computer">"compare"</str2时,返回值15、函数值类型的定义缺省时函数值的隐含类型是?void16、调用一个函数,且此函数中没有return语句,意味着什么?该函数没有返回值17、main函数调用自定义函数时返回值的使用。18、在一个文件中定义的全局变量的作用域为?从定义该变量开始至本文件结束19、以下叙述中错误的是()。A)二进制文件打开后可以先读文件的末尾,而顺序文件不可以。B)在程序结束时,应当用fclose函数关闭已打开的文件。C)用fread函数从二进制文件中读数,可以用数组名给数组所有元素读入数据。D)不可以用FILE定义指向二进制文件的文件指针。20、三种循环结构的区别与联系。21、当说明一个结构体变量时系统分配给它的内存是()。A)各成员所需内存的总和B)结构中第一个成员所需内存量C)成员中占内存量最大者所需的容量D)结构中最后一个成员所需内存量22、二维数组转换成等价的一维数组,原二维数组中元素转换成一维数组后在一维数组中的下标应该是?23、在位运算中,操作数每右移一位,其结果相当于什么?若左移1位,其结果相当于什么?24、当顺利执行了文件关闭操作时,fclose()函数的返回值是什么?当使用完一个文件后,应该将该文件关闭,以防止它再被调用。“关闭”就是是文件指针变量不再指向该文件,也就是文件指针变量与该文件“断开”,此后不能通过该指针变量对原来与其相联系的文件进行读写操作,除非再次打开,使文件变量重新指向该文件。【调用形式】fclose(文件指针变量名)【功能】关闭文件指针变量所指向的文件,同时自动释放分配给文件的缓冲区。【返回值】文件能正常关闭,则返回0,否则返回非0.25、实型变量的类型说明符有哪些?float、double26、表达式8+9>2&&25%5的结果是什么?27、编写从键盘输入的字符中统计数字字符的个数的程序,字符用getchar()获得,循环条件由判断是否回车构成。intn=0,ch;ch=getchar();while(ch=getchar()!=’\n’){if(ch>=0&&ch<=9)n++;}28、putchar()函数的功能是什么?29、定义fp为文件型指针变量的定义方法是什么?file*fp30、若s是int型变量,且s=9,则表达式s%2+(s+1)%2的值是多少?31、通常a和b的值可以借助中间变量t进行交换,写出它们交换的语句;若不借助任何变量把a、b中的值进行交换,也请写出相关语句,并注意使用缩减赋值符号+=和-=等。{t=a;a=b;b=t;}{a+=b;b=a-b;a-=b;}32、编写求出矩阵a的主对角线上的元素之和的程序。main(){inta[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j;for(i=0;i<3;i++)for(j=0;j<3;j++)if(i==j)sum=sum+(a[i][j]);printf("sum=%d\n",sum);}33、以下程序的运行结果是?main(){increment();increment();increment();}increment(){staticintx=0;x+=2;printf("%d",x);}非常重要,自行分析!34、以下程序的运行结果是?voidmain(){staticinta[10],i;for(i=0;i<10;i++)a[i]=i+1;for(i=0;i<10;i=i+2)printf(“%d”,*(a+i));}非常重要,自行分析!35、编写程序输出所有大写字母和其对应的ASCII码值。程序填空,有1处,非常简单,但也要注意!36、编写程序将一个字符串S的内容颠倒过来。程序填空,有2处,例如:voidreserve(chars[],intn){inti,j,k;for(i=0,j=strlen(s)-1;i<=""p="">{k=s[i];s[i]=s[j];s[j]=k;}}37、编写程序由键盘输入三个数a,b,c,计算以这三个数为边长的三角形面积。s=(a+b+c)/2s=sqrt(s*(s-a)*(s-b)*(s-c))程序填空,有2处,注意根据边长求面积公式38、从键盘输入一个字符串,把它输出到文件中,文件名由键盘输入。#includevoidmain(){FILE*fp;charch,*fn;scanf(“%s”,fn);if((fp=fopen(fn,“W”))==NULL){printf(“打开e文件出错\n”);exit(1);}while((ch=getchar())!=EOF){fputc(ch,fp);putchar(ch);}fclose(fp);}请填充下划线处的内容以完善本程序。39、编写程序输出所有的“水仙花数”,所谓“水仙花数”就是指一个3位数,其各位数的立方和等于该数本身。例如:153是一个水仙花数,因为153=13+53+33。程序填空,有1处,注意如何从一个三位整数中取得百位、十位和个位!40、充分分析和理解是猴子吃桃问题:猴子第1天摘下若干个桃子,当即吃了1半,还不过瘾,又多吃了1个。第2天早上又将剩下的桃子吃掉1半,又多吃了1个。以后每天早上都吃了前天剩下的1半零1个。到第10天早上想再吃时,见只剩1个桃子了。求第1天共摘了多少个桃子。程序填空,有1处,注意表达式的理解!41、有15个数按从小到大的顺序存放在1个数组中。输入1个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,输出“不在表中”。解题思路:假如有已按由小到大排好序的9个数,a[1]----a[9],其值分别为:1,3,5,7,9,11,13,15,17。若输入一个数3与a[5]比较,a[5]的值是9。发现a[5]>3,显然3应该在a[1]到a[5]范围内,而不会在a[6]到a[9]范围内。这样就可以缩小查找范围,甩掉a[6]到a[9]这一部分,即将查找范围缩小为1半。在找a[1]到a[5]范围内的居中的数,即a[3],将要找的数与a[3]比较,a[3]的值是5,发现a[3]>3,显然3应该在a[1]到a[3]的范围内。依次类推,直到找到为止。下面是折半查找函数。intbinsearch(seqlistr,keytypek){//折半查找intlow=1,high=n,mid;while(low<=high){mid=(low+high)/2;if(r[mid].key==k)retur
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025建设工程勘察合同范本
- 装修委托合同范本
- 个人承租土地合同
- 机电单元收购合同范例
- 单间住宅出售合同范例
- 民房涂料装修合同范例
- 地区代理授权合同范例
- 家具安装外包协议合同范例
- 叉车货架租赁合同范例
- 个人独资加油站合同范例
- 2021~2022学年广东广州越秀区八年级上学期期末语文试卷(含答案)
- 战争与谋略:第二次世界大战经典战役评析知到智慧树章节测试课后答案2024年秋西安交通大学
- 中建一期工程履带吊安拆方案
- 2024游乐新“室”界室内乐园洞察与趋势研究报告
- 2023年益阳市安化县招聘乡镇卫生院护理人员考试真题
- 国开(内蒙古)2024年《创新创业教育基础》形考任务1-3终考任务答案
- 食品安全日管控、周排查及月调度记录表
- 2024-2024年江苏省普通高中学业水平测试物理试卷(含答案)
- 《新疆大学版学术期刊目录》(人文社科)
- 2023年秋季国家开放大学-01467-土木工程力学(本)期末考试题带答案
- (完整版)建筑水电暖消防施工方案
评论
0/150
提交评论