2022 兰州文理学院c考试大纲分析.docx
《2022 兰州文理学院c考试大纲分析.docx》由会员分享,可在线阅读,更多相关《2022 兰州文理学院c考试大纲分析.docx(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、考核知识点1指针运算的本质是什么。指针可以进行哪些运算。举例 说明指针数组、行指针。编写具体的程序实例,并说明其区别,分别 介绍其适用场合。指针就是地址,当一个地址作为一个变量存在时,它就被叫做指针,该变量的类型,自然 就是指针类型,指针运算本质就是地址之间的运算。指针的作用就是,给出一个指针,取出该指针指向地址处的值;指针变量的加减运算只能对数组指针变量进行,对指向其它类型变量的指针变量作加减运 算是毫无意义的。char a100char *p = &a50;*(p-50) = a;*(p+40) = b;P-20 = c;p10 = d;类型相同指针之间的运算:(+-(b)?(a):(b)
2、普通函数:MAX(a,b) return ab?a:b;宏定义:方面修改宏值,提高程序的运行效率。函数调用:用定义函数的方式代替主函数里面复杂的运算,主函数根据其所用的相应运算 来进行相应的函数调用。+宏定义:#define P 3.14#includeVoid main()Int r;Float s;s=p*r*r*r*4/3;Printf( f”,s);函数调用#includevoid S (int i) Float s ;for(inti= 0;i 20;i+) printf( %d ,arr_2i);) intsum = 0;for(inti= 0;i 20;i+)(sum= sum+
3、arr_2i;) printf( sum %d, sum);主函数intmain()(intx = 6;printf(费波数列前15项为:);for(inti= 0;i = 15;i+)(printf( %d ,fbi(i);)printf(n);printip*蕨数列前d 项和为d”,x,sum_fbi(x);system, pause”);returnO;)递归好处:代码更简洁清晰,可读性更好递归坏处:由于递归需要系统堆栈,所以空间消耗要比非递归代码要大很多。而且,如果递归深度 太大,可能系统撑不住。考核知识点12在一个数列中,从键盘输入一个数,要求找出该数是 数组中第几个元素,如果该数不
4、存在,那么输出查找失败提示。用至 少两种查找方法实现,并详细阐述查找原理,列举每一种方法的优 点和缺点。顺序查找:#include voidmain()inti,num;intlist10=1,3,5,7,9,13,15,17,19,21;scanf(,num);for(i=0;i10;i+)(if(listi=num)printf ( d”,i+1)break;elseprintf(查找失败!”);)优点,算法简单,缺点,数据量大的情况下查找速度慢。二分法ttinclude ttdefine M 10voidmain() intaM = -12, 0, 6, 16, 23, 56, 80,
5、100,110, 115;intn, flag, low, mig, high;flag= 0;low= 0;high= MT;printf (zzPlease input a number : n); scanf (级d,&n);*while(low amid) low= mid + 1;elsehigh = mid - 1;*if (flag = 1) printf (/zThe index of %d is %dz,, n, mid);)elseprintf (Z/There is not n);优点适用数据区域比拟大,较顺序方法来说查找快捷,缺点:二分法查找确保数组有序S=P*r*r*
6、r*4/3;Void main () Int i ;Float mj ;Mj=S (i);Printf ( f” , mj);考核知识点3使用一维数组模拟一个无序且不重复的数列,并完成数 列元素的增删改查操作,试用c语言编程实现。(1)增删改查功能用函数定义实现;(2)删除和修改函数需要嵌套调用查找函数;(3)查找功能使用经典查找算法实现为加分项。#include#define maxsize 100int fine(int n,lnt amaxsize) 查找函数int i;for(i=0;ia.length;i+)lf(ai=n)Return i+1;)int add(int n,int
7、amaxsize) 增加函数int i;for(i=0;ia.length;i+)lf(ai=O)ai=n;)Return ai;)int del(int njnt amaxsize) 删除函数int ij;fine (n); 调用查找函数,返回所在的下标+1for(i=j;ia.length;i+)ai=ai+l;)return 0;)int alt(int n,int amaxsize) 修改函数int ij;j=fine (n); 调用查找函数,返回所在的下标+L赋值给jai-l=n;return 0;)Void main()Intn, i;n用来储存,用来判断进行什么操作,。查找,1增
8、加,2修改,3删除,i储存具 体数值。Int amaxsize=2,6z9,8,6,32,59,48,23 一维数组初始化。Printf(“提示语句:0查找,1增加,2修改,3删除)Scanf ( d” , &n);Printf(“提示语句:修改的数字”)Scanf ( d” , &i);Switch (n) Case 0 : fine (i,a) ; break;: add (i,a) ; break;Case 1 : alt (ia) ; break;: del (i,a) ; break;)考核知识点4编写程序,要求使用gets函数从终端输入一个字符串, 计算其中单词的个数,要求单词之间
9、有空格,和普通的句子一样,例 如:I am a Chinese,并将字符串用puts函数输出一次。试想上述功能 假设改用printf、scanf函数进行操作,能否实现,请说明原因并阐述两类 函数的区别。scanf()配合s使用,但是这种方法只能获取一个单词,即遇到空格等空字符就会返回。如 果要读取一行字符串,比方:I love you!1这种情况,scanf()就无能为力了。这时我们最先想到的是用gets。读取.gets。函数从标准输入(键盘)读入一行数据,所谓读取一行,就是遇到换行符就返回。gets。函数并不读取换行符它会把换行符替换成空字符VT,作为c语言字符串结束的 标志。#includ
10、e void main()(char string100;char c;int i=0, num = 0, word = 0; word为0,即使开头就为空格,认为是新单词的开始 gets(string);while (c = stringi+)!=O)(if(c =) 为空格,就是代表新单词开始(word = 0;)else if (word = 0)/c既不等于空格又是新单词的开始(num+;单词个数加1word = 1 ;/word=l就不是新单词printf (n%dnH,num);考核知识点5函数之间数据传递有哪几种形式。请选择至少两 种以上的传递方式进行介绍,请编写程序详细阐述参数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 兰州文理学院c考试大纲分析 兰州 文理学院 考试 大纲 分析
限制150内