2016秋_高级程序设计语言_A卷(1)_第1页
2016秋_高级程序设计语言_A卷(1)_第2页
2016秋_高级程序设计语言_A卷(1)_第3页
2016秋_高级程序设计语言_A卷(1)_第4页
2016秋_高级程序设计语言_A卷(1)_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

1、装线订装线订装线订装线订装学院:年级:专业 :姓名:学号:封密线封密线密 封线封密线封青岛大学课程考试试卷2016 2017 学年秋季学期 计算机科学技术学院 2016 级考试时间:120 分钟课程名称 高级程序设计语言A 卷B 卷题号一二三四成绩复核得分阅卷注意事项:答卷前,考生务必把答题纸上密封线内各项内容填写清楚并且填写在密封线与装订线之间(学号应与教务在线中学号相同),否则可能得不到成绩。答案必须写在边框内。试卷中所有的程序, 默认包含头文件 stdio.hstdlib.h 和 string.h ,省略未印出。得分一、单选题(每小题 2 分,共 30 分。)提示:每题有一项最佳选项,请

2、将该选项字母填在括号内。如果你对题意有不同的理解,也可以将你的观点或你认为正确的答案写在括号或题后的空隙里。1. 以下名字,不能作为 C 语言标识符的是()A.heheB.a_2C.item-2D._(注: D 项为一个下划线)2. 要定义一个做减法运算的宏,以下最恰当的是( )A.#define SUB(X,Y)X-YB.#define SUB(X,Y)(X-Y)C.#define SUB(X,Y)(X)-(Y)D.#define SUB(X,Y)(X)-(Y)3. 对下列代码的描述,正确的是()int main( )int num=1;while(num 0) printf(%d: *n,

3、 num);return 0;A. 程序有编译错误,不能执行B. 循环条件永为真,循环无限次,程序根本停不下来,打印输出无限行C. 循环有限次,程序正常结束,打印输出有限行D. 程序运行过程中会出错(崩溃),结果打印输出有限行4.若 k 为整型,则 while 循环执行()次。k=2;while(k=0)printf(“%d”,k);k-; printf(“n”);A 10B. 9C. 0D. 15.对于定义 char str20 = hello; (注: 其中 o 为小写字母, 0 为数字零), strlen(str) 和sizeof(str)的值分别是()A. 5 20B. 20 5C.

4、6120D. 5 56.定义 int score = 75;则表达式 80 score 70 的值是()A. 1B. 0C. trueD. false7. 执行如下程序段: 以下说法中正确的是( ).A. C 语言程序总是从第一个的函数开始执行B. 在 C 语言程序中,要调用的函数必须在 main( )函数中定义C. C 语言程序总是从 main( )函数开始执行D. C 语言程序中的 main( )函数必须放在程序的开始部分8. 下列程序的运行结果是().void fun(int *a, int *b) int *k;k=a; a=b; b=k;int main() int a=3, b=6

5、, *x=&a, *y=&b;fun(x,y);printf(%d %d, a, b);return 0;A.6 3B. 3 6C. 编译出错D. 0 09.以下程序段,打印输出的内容是()int main( )int a=3;float d = (a+8) / 3 ;printf(%.2fn,d);return 0;A.4.00B. 3.67C. 3.00D. 3.6610.已知 A 的 ASCII 码是 65,a 的 ASCII 码是 97,对以下程序段,打印输出的内容是( )int main( )int key = 98;if(key=C-A+a) printf(%c is lower

6、of C, key);else printf(%c is Not lower of C, key);return 0;A. b is Not lower of CB. b is lower of CC. c is lower of C D. c is Not lower of C11. 执行下面程序:int x=5, y=7;void swap( )int z;z=x;x=y;y=z;int main( )int x=3, y=8;swap( );printf(%d, %dn, x, y);return 0;打印输出的内容是()A.3, 8B.8, 3C.5, 7D.7, 512. 设有如下定

7、义:char *aa2=abcd,ABCD;().A. aa 数组元素的值分别是abcd和ABCDB. aa 是指针变量,它指向含有两个数组元素的字符型一维数组密第 1 页,共 10 页第 2 页,共 10 页装线订装线订装线订装线订装学院:年级:专业 :姓名:学号:封密线封密线密 封线封密线封C. aa 数组的两个元素分别存放的是含有 4 个字符的一维字符数组的首地址D. aa 数组的两个元素中分别存放了字符a和A的地址13. 不能进行和运算的数据类型是( ).A. int 型B. long 型C. double 型D. 指针型14. 下面程序的输出结果是( ). int main() in

8、t a =1,2,3,4,5,6,7,8,9,0,*p; p=a;printf(%dn,*p+9); return 0;A. 0B. 1C. 10D. 915. 下面程序的输出结果是( ). int main()char *str=“welcome”, “to”, “beautiful”, “laoshan”; char *p=str+1;str0=(*p+)+2;str1=*(p+1);str2=p1+3; str3=p0+(str2-str1); printf(“%s”, str3); return 0;A. laoshanB. shanC. nD. utiful得分二、写出程序运行结果(

9、本题共 20 分,每小题 5 分)1.将答案写在题目的右边空白区域main()int a,b,s;a=3;b=4;s=a;if(ab)s=b;s*=s;printf(s=%d,s);2.main()int a=0;while(a=2)a=a+1;printf(%dn,a);3.#include void main()int i,k,a10,p3;k=10;for(i=0;i10;i+) ai=i;for(i=0;i3;i+) pi=ai*(i+1);for(i=0;i3;i+) k+=pi*2;printf(%dn,k);4.int sum (int n)int i,s=0;for(i=1;i

10、=n;i+)s=s+i;return i;main()int n=10,t;t=sum(n);printf(t=%dn,t);得分三、程序填空(本题共 20 分,每空 2 分)密第 3 页,共 10 页第 4 页,共 10 页装线订装线订装线订装线订装学院:年级:专业 :姓名:学号:封密线封密线密 封线封密线封1.下面程序的功能是:由键盘输入字符,当输入字符$时结束,统计并打印所输入字符中空格及字符 0 的个数。请填空补充完整。(3 空,共 6 分)int main( ) int c, space=0, zero=0;while( _ ) switch(c) case _ :_;case :s

11、pace+;printf(space:%dtzero:%dn , space, zero);2.若直接使用=判断两个浮点数相等,可能会因为精度问题得到错误结果。下面的程序通过一个函数 Equal( )设置精度 1e-5,完成比较单精度数相等的操作,请填空补充完整。(1 空,共 2 分)int Equal(float, float);int main( ) printf(%dt, 3.366667=10.1/3); /* 结果显示不相等 */ printf(%d, Equal(3.366667,10.1/3) ); /* 结果显示相等 */ return 0;int Equal(float a,

12、 float b) const float precision = 1e-5;if( _ ) return 1;return 0;3.如果一个字符串逆序与原文相同,则称为“回文”(Palindrome),例如level、abccba都是回文,而abcde不是回文。下面程序的功能是:键盘输入一个长度小于 100 的字符串 testStr,借助函数 IsPalindrome( )判断该串是否属于“回文”。请填空补充完整。(3 空,共 6 分)int IsPalindrome(char *);int main( ) char testStr100;gets(testStr);if( _ )print

13、f(输入的字符串是回文);else printf(输入的字符串不是回文);return 0;int IsPalindrome(char *str) int i, length;length = strlen(str);for(i=0; _; i+)if( _ ) return 0;return 1;4、功能:以下程序是用选择法对 10 个整数按升序排序。_main() int i,j,k,t,aN;for(i=0;i=N-1;i+)scanf(%d,&ai);for(i=0;iN-1;i+) _for(j=i+1; _;j+)if(ajak) k=j;if(_) t=ai;ai=ak;ak=t

14、;密第 5 页,共 10 页第 6 页,共 10 页装线订装线订装线订装线订装学院:年级:专业 :姓名:学号:封密线封密线密 封线封密线封密printf(output the sorted array:n);for(i=0;i=N-1;i+)printf(%5d,ai);printf(n);得分四、编程题(每小题 10 分,共 30 分。)1.已知自然对数 e 的级数展开式是:请编程输出 e 的值(若某项小于 0.000001 时结束计算)。第 7 页,共 10 页2.编写 isPrime 函数,该函数原型为 int isPrime(int n),实现判断一个整数是否是素数的功能。之后,在主函数中调用该函数,计算 10 到 1000 之间的素数的和,并将结果输出。第 8 页,共 10 页装线订装线订装

温馨提示

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

评论

0/150

提交评论