哈工大C语言期末试题2004年A.doc_第1页
哈工大C语言期末试题2004年A.doc_第2页
哈工大C语言期末试题2004年A.doc_第3页
哈工大C语言期末试题2004年A.doc_第4页
哈工大C语言期末试题2004年A.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

班级: 学号: 姓名: 班号姓名哈工大2004年秋季学期C语言 考试题题号一二三四五六七八九十总分附加题分数说明:考试成绩分为三部分:实验成绩占10分,卷面笔试成绩占45分,机考成绩占45分,满分为100分。本试卷为卷面笔试部分,卷面满分为45分。一、填空题(6分,每题2分)1C语言中基本数据类型包括 。2已知能被4整除而不能被100整除的或者能被400整除的年份是闰年,则判断某一年year是否是闰年的表达式为: 。3设有下列登记表,采用最佳方式对它进行类型定义。姓名性别出生年月家庭收入状况家庭收入状况标记年月日低收入中等收入高收入姓名用name表示, 性别用sex表示, 出生年月用birthDay表示, 年用year表示,月用month表示,日用date表示,家庭收入状况用salary表示,低收入用low表示,中等收入用middle表示,高收入用high表示,家庭收入状况标记用mark表示。二、判断下列问题描述正确与否,正确的打“”,错误的打“”。(3分 ,每题1分)1#define PI=3.14159;不是C语句。( ) 2在C语言中,可以用typedef定义一种新的类型。( ) 3共用体所占的内存空间大小取决于占空间最多的那个成员变量。( )三、选择题:(10分,每题1分)1以下不正确的C语言标识符是( )。A. AB1 B. a2_b C. _ab3 D. 4ab2若有定义int (*p)4,则标识符p是一个 。A、指向整型变量的指针变量B、指向函数的指针变量C、指向有四个整型元素的一维数组的指针变量D、指针数组名,有四个元素,每个元素均为一个指向整型变量的指针 3若用数组名作为函数调用时实参,则实际上传递给形参的是( )。 A数组首地址 B. 数组的第一个元素值C数组中全部元素的值 D. 数组元素的个数4C语言中规定函数的返回值的类型是由( )。A. return语句中的表达式类型所决定B. 在定义该函数时所指定的函数类型所决定C. 调用该函数时系统临时决定D. 调用该函数时的主调用函数类型所决定5以下错误的描述是( )。A. 不同的函数中可以使用相同的变量名B. 形式参数是局部变量C. 一个函数内部定义的变量只能在本函数范围内有效 D. 在一个函数内部的复合语句中定义的变量可以在本函数范围内有效6为了判断两个字符串s1和s2是否相等,应当使用( )。A.if(s1 = s2) B. if(s1 = s2) C.if(strcpy(s1,s2) D.if(strcmp(s1,s2)=0)7在while(x)语句中的x与下面条件表达式等价的是: 。A. x!=0 B. x=1 C. x!=1 D. x=08若有以下说明和语句: struct stu int no;char *name; student, *p=&student; 则以下引用方法不正确的是( )。 A. student.no B. (*p).no C. p-no D. student-no9以下对二维数组进行正确初始化的是( )。A. int a23=1,2,3,4,5,6; B. int a23=1,2,4,5; C. int a3=1,2,3,4,5,6;D. int a2=1,2,3,4; 10二维数组a有m行n列,则在aij之前的元素个数为( )。A. j*n+i B. i*n+j C. i*n+j-1 D. i*n+j+1四、写出下列程序的运行结果。(4分,每题1分)1#includevoid fun(int x) x=20; main()int x = 10;fun(x);printf(x = %dn, x);运行结果是:注意行为规范,遵守考试纪律!2#include void fun(int b4) int j;for(j=0; j4; j+) bj=j; main() int a4 = 1,2,3,4, k;fun(a);for(k=0; k4; k+)printf(%dn, ak); 运行结果是:3#include main()int i = 10;switch(i) case 9: i+=10; case 10: i+=10; case 11: i+=10;break; default : i+=10;printf(i = %dn, i);运行结果是:4.#includevoid fun() static int a=5; a+; printf(a=%dn, a); main()int m;for(m=0; m=1; m+)fun();运行结果是:五、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。(3分,每空1分)从键盘输入10个整型数据,放入数组a 中,求其最大值及其所在元素的下标位置,并输出。main()int a10, n, pos, max;for (n=0; n10; n+) scanf(%d, &an);max = ; pos = ;for (n=0; n max) max = an; pos = ;printf(max=%d, pos=%dn, max, pos);六、下面程序是有错误的程序,请找出其中的错误,并将正确的语句写在相应错误语句的右方空白处。(5分)#include #include int isprime(int m)main()int n, flag; printf(Input n:); scanf(%d, n); flag = isprime(n);if(flag) printf(Yes!n) else printf(No!n);/* 函数功能:判断m是否为素数 函数参数:整型变量m 返回值: 返回1时,表示m是素数;返回0时,表示m不是素数*/int isprime(int *m)int i; for (i=2; i=sqrt(m); i+)if(m%i = 0) return 0;return 1; 注意行为规范,遵守考试纪律!七、在下面任意选择2道题编程(14分,每题7分)1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论