下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2017年上半年C语言程序设计课程考试考前导学资料一、单选题1、 以下一维数组初始化语句中,正确的是(A int a 5=1,2)2、 已知字母 A的ASCII码是65,以下程序的执行结果是(B 65 , 89 )#includemain() char c1=A,c2=Y; printf(%d,%dn,c1,c2);3、 若a是数值类型,则逻辑表达式(a=1) | (a!=1 )的值是:(A 1)4、 下面关于语句执行情况的叙述中正确的是(A循环体再执行一次)。5、C语言中* ”称为(间址运算符)运算符。6、 C语言中char型数据在内存中占(1)个字节。7、以下不合法的C语言标识符是(D a
2、-b ).8、 当调用函数时,实参是一个数组名,则向函数传送的是数组的首地址设 a 和 b 均为 float 型变量,且 a=5.5 , b=2.5,则表达式(int ) a+b/b 的(D 6.000000 )9、 以下叙述错误的是(C C程序在书写时,有严格的缩进要求,否则不能编译通过)10、 若有 char c5=c,d,0,e,0;则执行语句printf(%s,c);结果是(Ccd)。11、 设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是(Dn=x+;print f(“ d/n” ,n )。12、在c语言程序中,从/*开始,到/*结束的部分称为()13、下面程序的输
3、出结果是(C 8 2) 。main() int i,x33=9,8,7,6,5,4,3,2,1;for(i=0;i4;i+=2) printf( d , xi1);若 k 是 int 类型变量,且有以下for 语句 for (k=-1;kb)?a:b 后,t的值是9。2、 字符串” a”的占内存长度是 2_字节。假定指针p所指对象的值为25, p+1所指对象的值为42,则*p+的值为25。3、C程序的基本组成单位是语句(说法错误)4、strlen( apple ” )的值为 5 。5、 下面正确的定义语句是(double y3=0)6、根据变量的作用域可将变量分为局部变量和全局变量,定义在函数
4、内部的变量和函数的 形参都是局部变量。7、在C语言中,二维数组元素的内存中存放顺序是按行存放。8、已知定义:int a10;则VG编译器中数组a占用内存的字节数是409、表达式sqrt(16)和pow(6,3)的值分别为4和216_。10、C语言只有32个关键字和9种控制语句11、在格式输入语句scanf中,用于double输入的格式是 f 。12、 若z,i均为int类型,i的当前值为1,则为表达式z=i+,i+,i+求值后,z的值为213、 设有 int y32=5,4,6,7,8,9;则 y11的值为 7。14、 根据定义和数据输入的方式,输入语句的正确形式为scanf( %f%f ,&
5、f1,&f2)三、程序分析题1、C语言有哪几种控制语句?并简述各控制语句的功能。答:(1) 顺序控制语句顺序顾名思义,所谓顺序结构,就是指按照语句在程序中的先后次序一条一条的顺次执行。控制语句是一类简单的语句,上述的操作运算语句即是顺序控制语句,包括表达式语句, 输入/输出等。表达式语句任何一个表达式后面加上一个分号就构成了表达式语句(没有分号的不是语句)。表达式是指用运算符连接各个运算对象,合乎语法规则的式子。常见的表达式语句有以下几种:空语句、赋值语句、函数调用语句。转向语句: break语句、continue语句、return语句等等(2.)选择控制语句选择语句又称为分支语句,它通过对给
6、定的条件进行判断,从而决定执行两个或多个分支中的哪一支。因此,在编写选择语句之前,应该首先明确判断条件是什么,并确定当判断结果为“真”或“假”时应分别执行什么样的操作(算法) 。2、 阅读程序,写出运行结果10。fun c(i nt x)x=20;main () int x=10;fun c(x);printf( “ %d ,x);21 阅读程序,写出运行结果7,8,7。Int *f(i nt*x,i nt *y)If (*x*y) retur n x;else retur n y;Ma in ()Int a=7,b=8,*p,*q,*r;P=& a;q=&b;R=f(p,q);Print f
7、( “ d,%d,%dn,*p,*q,*r);3、C语言中指针和数组有何区别和联系?答:区别:C语言把内存划分成四个区,它把一般的变量和数组等存在于内存中的栈区,所以数组在C语言的定义中只是一组同类型的普通变量,即使这个变量有可能是指针。所以他的作用比指针小的很多,而指针可以指向任何区的任何数据,所以就会觉得指针和数组名很像,但是必须要注意的是,数组名只是指针中的一种,它是指针中只指向栈区的且指针的移动范围是有限的,即数组长度。而且数组在定义之初就已经有了自己的内存,一般的指针如果未指向某一个内存块时,它是没有自己的内存的,即所谓的野指针。联系:如上面所说,数组只是定义在栈区的一个连续变量,它
8、的首地址就是一个指针。总结:不仅数组有指针,所有变量都有指针,指针说白了就是内存中的地址,就像一个房间必须有一个房间号。在 C/C+语言中定义一个指针,就是在栈区开辟一个内存空间用来存放它指向的内存地址,然后给指针赋值,就是把地址值赋值给刚才开辟的内存空间,然后通过访问该内存中的地址值来间接访问该地址下存放的数据。如果该地址值指向的是一块静态存储区,如字符串常量等,当然就不可以修改指向的内容啦。4、用数组处理 Fibonacci 数列问题 1,1,2,3,5,8,13,”。main () int i;int f20;(1)/*给数列赋初值*/for(i=2;i20;i+)fi= fi-1+ f
9、i-2; /*计算后继元素值 */for( 2);i20;i+)printf(“ %12d ,fi); /*打印输出数列前20个数*/(1)f0=f1=1(2)i=024.有三个整数a,b,c由键盘输入,输出其中最大的数#i ncludevoidmain ()int a,b,c;pri ntf(”输入三个数:”);scanf (%d%d%d,&a,&b,&c); Jif(ab&ac)prin tf(最大值为:%d,a);else if(ba&bc)prin tf(最大值为:%d,b);else prin tf( 最大值为:%d,c);5、讨论static关键字在C语言中的作用,请从以下三个方面
10、阐述(1)static全局变量和普通的全局变量有什么区别答:全局变量(外部变量)的说明之前再冠以static就构成了静态的全局变量。全局变量本身 就是静态存储方式,静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。而静态全局变量则限制了其作用域,即只在定义该变量的源文件内有效,在同一源程序的其它源文件中不能使用它。由于静态6、全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用,因此可以避免 在其它源文件中引起错误。(2)Static局部变量和普通
11、局部变量有什么区别答:把局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期。把全局变量改变为静态变量后是改变了它的作用域,限制了它的使用范围。(3)Static函数与普通函数有什么区别答:static函数与普通函数作用域不同,仅在本文件。只在当前源文件中使用的函数应该说明 为内部函数(static),内部函数应该在当前源文件中说明和定义。对于可在当前源文件以外使 用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件 输入三角形的三边长,求三角形面积.#in clude#includevoid main()float a,b,c,s,area;printf(”依次
12、输入a,b,c(空格识别一个数):);scanf(%f%f%f,&a,&b,&c); s=(float)0.5*(a+b+c);area = (float)sqrt(s*(s-a)*(s-b)*(s-c); printf( 面积为: %f,area);7求1*2*3* *10的结果输出答: #includemain()int i,sum=1;for(i=1;i11;i+)sum *= iprintf(sum);&编写一个排序子函数void sort(int x,int n ),将X数组中的n个数据从小到大排序。答: #include #include / 选择插入法排序void sort(int a, int n) int i, j, k, tmp; for (i = 0; i n; i+) for (j = 0; j i; j+) if (ai j; k-) ak = ak - 1; / 插入 aj = tmp; int main() int *a, n, i; scanf(%d, &n); / 输入数据数量 if (n 0) a = (int *)malloc(n * sizeof
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广西第二荣军优抚医院聘用人员招聘笔试备考题库及答案解析
- 钢结构工程物资管理方案
- 2026江西南昌大学第一附属医院医师助理岗招聘计划笔试备考题库及答案解析
- 施工期间交通疏导方案
- 中医院虚拟现实培训系统方案
- 施工工艺噪声减排措施方案
- 混凝土结构耐久性研究方案
- 道路交叉口人行道宽度优化方案
- 预制构件运输施工方案
- 建筑物防水施工技术培训方案
- 2025-2030法律服务产业集群化发展调研与资源配置专项资本介入本质分析框架报告
- 乡卫生院卫生统计制度
- 7.1《北方地区的自然特征与农业》课件-人教版地理八年级下册
- 2026年妇联岗位面试考点梳理练习题及答案
- 露天矿山应急管理课件
- 医疗设备残值评估中的折旧方法选择
- 2025广西桂林国民村镇银行招聘30人笔试历年典型考题及考点剖析附带答案详解
- (正式版)DB51∕T 3335-2025 《合成氨生产企业安全风险防控规范》
- 排水管道施工环境保护方案
- 互联网+健康科普内容用户画像
- GB/T 31703-2025陶瓷球轴承氮化硅球
评论
0/150
提交评论