C程序期中考试卷.doc

上传人:飞****2 文档编号:52749602 上传时间:2022-10-23 格式:DOC 页数:5 大小:67.50KB
返回 下载 相关 举报
C程序期中考试卷.doc_第1页
第1页 / 共5页
C程序期中考试卷.doc_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《C程序期中考试卷.doc》由会员分享,可在线阅读,更多相关《C程序期中考试卷.doc(5页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、昆明学院2011 2012学年 下 学期期中考试卷考试科目 高级程序设计 信息技术 系 计算机科学与技术 专业 2011 级 1-3 班 学生姓名 学号 任课教师 何红玲 教研室主任 题号一 二 三 四 五 六 总 分评分 一、判断题(每题1分 共10分)1字符指针变量指向的字符串常量中的内容都是可以改变的。如:char *b=” House”; b2=rA对 B错2 int a10,*p=a;p=a;的作用是把数组a各元素的值赋给p。 A对 B错3.在同一函数内定义的静态局部变量与非静态局部变量的生存期不同但作用域相同。 A对 B错4C语言中,函数调用时,只有当实参与其对应的形参同名时,才共

2、占同一个存储单元。 A对 B错5 指针变量的值在程序执行中可以改变,但类型不能改变。 A对 B错6. 若有说明:int a34; 则a1+10是对a数组元素的正确引用。A对 B错7. 全局变量可以被任何一个函数中的任何一个表达式使用。A对 B错8. 字符串This大于字符串that。A对 B错9.一个函数可以带回一个整型值、字符值、实型值等,也可以带回指针型的数据。A对 B错10.若有int a10,则 *(a+i) 与ai是等价的。A对 B错二、单项选择(1-5每题1分 6-10每题3分 共20分)1.一个指针数组的定义为 。A int (*ptr)5; B int *ptr5; Cint

3、*(ptr5); Dint ptr5;2.已知 int a,*p=&a; 则为了得到变量a的值,下列正确的表达式是()。 Ap B*p Cp0 D*a3.下列对字符串的定义中,错误的是: 。A. char str7 = FORTRAN;B.char str = FORTRAN;C.char *str = FORTRAN;D.char str = F,O,R,T,R,A,N,0;4. char *p10;该语句声明了一个: 。A. 指向含有10个元素的一维字符型数组的指针变量pB. 指向长度不超过10的字符串的指针变量pC. 有10个元素的指针数组p,每个元素可以指向一个字符串D. 有10个元素

4、的指针数组p,每个元素存放一个字符串5若有定义int (*p)4,则标识符p是一个 。A.指向整型变量的指针变量B.指向函数的指针变量C.指向有四个整型元素的一维数组的指针变量D.指针数组名,有四个元素,每个元素均为一个指向整型变量的指针 6.若有以下定义和语句:double r=99,*p=&r; *p=r;则以下正确的叙述是: A.以下两处的*p含义相同,都说明给指针变量p赋值B.在“double r=99,*p=&r;”中,把r的地址赋值给了p所指的存储单元C.语句“*p=r;”把变量r的地址值赋给指针变量pD.语句“*p=r;”取变量r的值放回r中7下面程序的输出结果是。#includ

5、e int main ( ) int a=1, 2, 3, 4, 5 ;int x, y, *p;p=&a0;x=*(p+2);y=*(p+4);printf(%d,%d,%dn, *p, x, y);A 1,3,5 B. 1,2,3 C. 1,2,4 D. 1,4,58.下面程序的输出结果是_。#include int main() char *alpha7=ABCD,EFGH,IJKL,MNOP,QRST,UVWX,YZ;char *p;int i;p=alpha;for(i=0;i4;i+)printf(%c,*(pi);printf(n);A.ABCD B. BFJN C. AEIM

6、D. DHLP9.下面程序的输出结果是_。#include char *p = abcdefghijklmnopq ;int main() int i=0;while( *p+!=e );printf(%cn, *p); A.c B. d C. e D. f10.下面程序的输出结果是_。#include f(int x, int y) return (y-x);main( ) int a=5, b=6, c;int f(), (*g)()=f;printf(%dn, (*g)(a,b) );A. 1 B. 2 C. 3 D. 前面三个参考答案均是错误的三、程序填空:(每空2分 共20分)1用递

7、归的方法计算下列函数的值:px(x,n) = x - x2 + x3 - x4 + .(-1)n-1xn n0已知程序:double px (int x, double n ) double result; if (n=1) ; else result= x * ; return result;2.下面的程序是main函数利用函数abcd来交换main中的两个变量的值。#include void abcd( )float temp; temp= ; ; ;int main()float x=10,y=20; abcd( ); printf(“%f,%f”,x,y); 3.从键盘输入10个整型数

8、据,放入数组a 中,求其最大值及其所在元素的下标位置,并输出。int main()int a10, n, *max;for (n=0; n10; n+) scanf(%d, &an);max = ; for (n=0; n10; n+)if ( ) max = ; printf(Maxvalue=%d, position=%dn, *max, max-a);四、阅读程序,并写出程序的运行结果。(每题5分 共20分)1.#include int fun(int d) int a=0; 程序运行结果: static b=3; a=a+1; b=b+1; return(d+a+b);int main

9、() int x=2,i; for(i=0;i3;i+) printf(“%dn”,fun(x); return 0;2.#include 程序运行结果:int main() char a = Hello ; char *p = NULL; for (p=a; pa+5; p+) printf(%sn, p); 3.#include int main() int a34=1,2,3,4,3,4,5,6,5,6,7,8; int i; int (*p)4=a,*q=a0; 运行结果: for(i=0;i3;i+) if(i=0) *(*p+i)=*q+1; else p+,+q; for(i=0

10、;i3;i+) printf(%d,aii); printf(%d,%dn,*(*p),*q);4.#includevoid Fun(int *y) printf(*y = %dn, *y);*y = 20; printf(*y = %dn, *y);main() 程序运行结果:int x = 10;printf(x = %dn, x); Fun(&x);printf(x = %dn, x); 五、编写程序(第1题 10分,第2题 (1)、(3)各5分 ,(2)10分 共30分)1.不能使用strlen()函数,自定义一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。函数原型:int mystrlen(char *s1)2. 输入8个整数放入一维数组w中,输出交换前的数组;找出其中最小和最大数,并将他们分别与数组中的第一个元素和最后一个元素交换位置;输出交换后的数组。用函数实现下列功能:(1) 输入数据void input (int *p,int n)(2) 处理数据void process(int *p,int n)(3) 输出数据void print(int *p,int n)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com