ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:22.79KB ,
资源ID:24399471      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24399471.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(哈工大C语言03秋EMK.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

哈工大C语言03秋EMK.docx

1、哈工大C语言03秋EMK哈工大 2003 年 秋 季学期班号姓名高级语言程序设计试题 题号一二三四五六七八九十总分分数(说明:卷面总分85,另有8分选做题。平时成绩15分)一、判断(5分)(1) 自动变量和外部变量都是局部变量。 ( )(2) 在函数调用过程中,不能通过改变形参的值而使实参的值也改变;但可以通过改变指针形参的值而使指针实参的值也改变。 ( )(3) 数组可以在定义时整体赋初值,但不能在赋值语句中整体赋值。 ( )(4) 对于printf()函数,通过字符数组名或者字符指针变量做参数可以输出一个字符串,而对一个数值型数组是不能用数组名做参数输出它的全部元素的。 ( )(5) 实参

2、和形参(均为变量)各占独立的存储空间。 ( )二、解释下列语句含义(10分)(1) int *p(); 语句含义:_(2) int (*p)(); 语句含义:_(3) int (*p)3; 语句含义:_(4) int *p4; 语句含义:_(5) int *p; 语句含义:_三、单选题(13分)(1) 下列哪种说法是正确的? ( )A. 程序编译时的警告(warning)可以全不在乎B. 编译通过,程序就是没有问题的C. 程序在一台计算机运行无误,而在另一台计算机按同样步骤运行,却可能出错D. 程序发生编译错误(error),仍可以运行(2) 下列说法正确的是 ( )A. 一个int类型的变量

3、占两个字节B. 一个结构体变量占的字节数,是每个成员变量字节数的总和C. 任何类型的指针变量占的字节数,与其指向的类型所占字节数相等D. 一个long类型变量可能与一个int类型变量占用相同大小的内存(3) 下列关于程序调试的说法,错误的是 ( )A. 可以一条语句一条语句地执行B. 调试过程中如果修改了源代码,不需要重新编译就能继续运行C. 可以随时查看变量值D. 可以跟踪进入自己编写的函数内部(4) 下面这些名词,没有“地址”的是: ( )A. 变量 B. 函数 C. 宏 D. 指针(5) 在C语言中 ( )A. 函数的定义可以嵌套,但函数的调用不可以嵌套B. 函数的定义不可以嵌套,但函数

4、的调用可以嵌套C. 函数的定义和函数的调用均不可以嵌套D. 函数的定义和函数的调用均可以嵌套(6) 阅读程序选择正确答案填空程序功能:检查给定字符串s是否满足下列两条件:1、从字符串首字符起,在顺序检查s中的字符的过程中,遇到的右括号“)”的个数在任何时候均不超过所遇到的左括号“(”的个数;2、字符串s中左括号“(”的个数与右括号“)”的个数相同。若字符串s同时满足上述条件1和条件2,函数返回非0值,否则返回0值。int check( (1) ) ( ) int lp, rp; lp = 0; rp = 0; while ( (2) ) ( ) if ( *s = ( ) lp+; else

5、if ( *s = ) ) rp+; if ( (3) ) ( ) return 0; (4) ; ( ) return (lp != rp) ? 0 : 1);(1) A. char *s B. char s C. char s D. char s(2) A. *s B. *s = 0 C. *s != 0 D. s(3) A. rp lp B. rp lp C. rp = lp D. rp != lp(4) A. s+ B. (*s)+ C. +(*s) D. +s四、阅读程序(22分)(1) 下面程序运行会出错吗?如果会,请改正。(4分)#include main() char buff

6、er128; int c; int pos=0; while(c=getchar() != EOF) bufferpos+ = c; printf(%s, buffer);(2) 对下面这个程序谈谈你的看法。(3分)#include main() int i, j; for (i=1, j=1; i!=0; j+) i+;(3) 给下面程序找错。请标注在程序上,并给予恰当的文字说明。(6分)#include main() int size=10, i; float fsize; for (i=0; i=size; i+) scanf(%f, fi); if (f0 = f10) printf(

7、您输入的第一个数和最后一个数相等n);(4) 阅读程序,写出输出结果。(4分)#include main() int i, j, k, sum, temp; sum = 0; temp = 0; for (i=1; i=2; i+) for (j=1; j=3; j+) for (k=1; k=i; k+) temp = temp + k; sum = sum + temp; printf (sum = %d, sum);(5) 阅读程序,写出输出结果。(5分)#include main() int a20, *p4; int i, k=0; for (i=0; i20; i+) ai = i

8、; for (i=0; i4; i+) pi = &ai*(i+1); for (i=0; i4; i+) k += *(pi+i); printf(%d, k);五、简答题(11分)(1) 请定义一个结构student,其成员包括姓名、学号、性别、出生年月日、籍贯、身高(单位:米)、体重(单位:公斤)。(6分)(2) 请谈谈你对高级语言程序设计的看法。(5分)(注:后面两道大题答在试卷的附页上)六、程序设计。请从下面5道题中任选3题,按题意要求编写程序。(24分)(1) 编写一个函数int IsPrime(int data),判断data是否为素数(除了1和其本身以外,不能被其他正整数整除的

9、正整数),若是返回-1,否则返回0。(2) 一个函数void func(void),现在想统计这个函数一共被调用了多少次,并在函数被调用的时候打印此数值。请用两种方法实现,并推荐一种最好的方法,说明理由。(3) 用户输入若干个(不超过20个)小于100的正整数,编程求出这些数的最大值、最小值和平均值。用户输入一个负数表示输入结束。(4) 输入一行字符(最多80个),统计其中的大写字母,小写字母,数字,空格及其它字符的个数。(5) 利用memcpy()函数实现char* my_strcpy(char* dst, char* src)函数,把字符串src拷贝到dst内,并返回dst。注:Turbo

10、 C 2.0对memcpy的联机帮助如下 memcpy: copies a block of n bytes from src to dest void *memcpy(void *dest, const void *src, size_t n); Prototypes in mem.h Returns dest七、选做题。此题分数不在试卷总分之内。如作答,则此题得分额外加入总分,否则不加分(8分)用户输入一行字符串,可能输入的字符个数不定,以回车作为结束标志。统计用户的输入中一共有多少个单词。单词之间以空格或者t作为分隔。Key to Part VI(1)#include int IsPri

11、me(int data) int i; int result=0; int limit=(int)sqrt(double)data); for(i=2;i=limit;i+) if(data%i=0) i=-1; break; return result;(2)1、全局变量法int invoked=0;void func(void)invoked+;printf(“%dn”,invoked);2、静态变量法void func(void)static int invoked=0;invoked+;printf(“%dn”,invoked);喜欢哪个看个人喜好(3)/*这题让输入正整数,负数表示结

12、束,输入0咋整*/#include main()int i=0,temp;int max=0,min=100,sum=0;int num20;while(scanf(“%d”,temp)=1) if(tempmax)max=temp; if(tempmin)min=temp; sum+=temp; numi=temp; i+;if(i=0)printf(“No input.n”);else printf(“Max: %dn”,max); printf(“Min: %dn”,min); printf(“Average: %lfn”,sum/(double)i);(4)#include #defi

13、ne UCASE 0#define LCASE 1#define NUM 2#define SPACE 3#define OTHER 4main() int i=0;char temp;int letter5=0;while(temp=getchar()!=n) if(temp=A&temp=a&temp=0&temp=9)letterNUM+; else if(temp= )letterSPACE+; else letterOTHER+;printf(“Upper case: %dnLower case: %dnNumber: %dnSpace: %dnOther: %dn”,letter0

14、,letter1,letter2,letter3,letter4);(5)char* my_strcpy(char *dst,char *src)int i=0;while(*(src+(i+);return (char *)memcpy(dst,src,i);Key to Part VII#include #include using namespace std;int main() int word=0;string input;getline(cin,input);for(int i=0;iinput.size();i+) if(inputi= |inputi=t)word+;if(inputinput.size()-1!= |inputinput.size()-1!=t)word+;coutwordendl;return 0;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1