上海交大2010至2011学年第1学期程序设计试卷.doc_第1页
上海交大2010至2011学年第1学期程序设计试卷.doc_第2页
上海交大2010至2011学年第1学期程序设计试卷.doc_第3页
上海交大2010至2011学年第1学期程序设计试卷.doc_第4页
上海交大2010至2011学年第1学期程序设计试卷.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

上 海 交 通 大 学 试 卷(A)( 2010 至 2011 学年 第_一_学期 )班级号_ 学号_ 姓名 课程名称 程序设计思想与方法 成绩 ACM试点班上海交通大学C程序设计试卷 2007.1.13一二一。选择填空(每空1分,共20分)1. 以下可以正确表示字符型常数的是 。A “c” B。 297 C。 t D。 “n”2. 下列语句应将小写字母转换为大写字母,其中正确的是_。Aif (ch = a & ch = a & ch = a & ch = a & ch j ) break;s += i;A、 4 B、 7 C、 5 D、 6 11、下列表达式为真的有 A!false BA Z C true & (2 4) D-2 -1 012、执行以下程序段时 , x = -1;do x = x * x; while( !x);A、 循环体将执行一次 B、 循环体将执行两次C、 循环体将执行无限次 D、 系统将提示有语法错误13、设 int a = 12; 表达式a += a -= a *= a的值是 。 A、0 B、 12 C、132 D、 14414、已知各变量的说明如下:char ch = B; int m = 3, n;执行语句n = !ch & +m; 后,m和n的值为 。A、4, 1 B、 4, 0 C、 3, 1 D、 3, 0 15、int a = 0123, 则a的十进制值为 A、 123 B、 83 C、 291 D、 9616、以下所列的各函数原型中,正确的是 A、 void &play(int a , b); B、 void* play(int a , int b = 1, double c);C、 int* play(int *a , int *b); D、 int* play(int &a ; int b );17、下列语句正确的是 A、 char 3a = 0; B、char a2 = a; C、char a = abc; D、char a = 0;18、若有说明:char a4=0;则下面正确的叙述是 A 只有元素a0可得到初值0 ,其他元素是随机值B 数组a中每个元素均可得到初值0 C 数组a中各元素都可得到初值,但其值不一定为0 D。 此语句不正确19、函数f声明为void f( int &n),在主程序中定义变量m为 int m=10,则下面调用正确的是 。A。f(10) B。f(&m) C。f(m) D。 f(10+m)20、函数f的原型:void f(int a, int size)。当调用函数f(b, 5)时(b是整型数组的名字),向函数传送的是 。A。b数组的首地址B。 b数组的第0个元素值C。b数组每一个元素的地址 D。 b数组每个元素中的值二。程序理解(每题5分,共40分)1写出下面程序的执行结果void foo(int i);int main() foo(6);foo(11); return 0;void foo(int i) int j;static int n = 0; for(j = 1; j = i / 2; j+) if (i % j = 0) n = n + j; cout n endl; 2.写出该函数的功能和输出结果 int main()char fruit30 = banana apple pineapple;int count1 = 0, count2 = 0, count3 = 0;for (int index = 0; fruitindex != 0; +index) switch (fruitindex) case a: +count1; break; case b: +count2; break; default: + count3; cout count1 “ “ count2 “ ” count3 endl; return 0; 3写出下列程序执行的结果void main( ) int i, s = 0, n = 0;for(i = 1; i 10; i+) if (i % 2 = 0 | i % 3 = 0) continue; n+; s += i;cout “n=” n ”,s=” s endl;4、写出下面程序的执行结果int main() for (char ch = A ; ch G; +ch) switch(ch) case A : case B : cout ch; case C: cout C endl; break; case D: case E: cout ch endl; break; case F: cout ch; default: cout ch = 0 & *p = 9) t += *p - 0;return t;int main()char s = sjtu 1895;cout f(s);return 0;6、 写出下面程序的执行结果template T calc(T a, T b, int c) return (a + b) * c; double calc(double x, double y = 5.5) return x + y; int calc(int x , int y = 1) return x * y; int main() cout calc(1.6) endl;cout calc(1.6, 3.5) endl;cout calc(2) endl;cout calc(3, 5) endl;cout calc(1, 3, 5) endl;return 0;7、 写出运行结果int global = 5;int &refFunction( int &a) a+= global; return global; int main() int a = 10, b = a; refFunction(b) = a; refFunction(a);cout a b “ “ global endl;return 0;8写出下列程序执行结果void removeHat(char ch) for (char c = ch; c G; +c) cout *; if (ch G) cout ch endl; removeHat(ch+1); else cout “Woo” endl;int main() removeHat(A);return 0;三。程序填空(每空1分,共20分)1. 以下程序的功能是输出如下形式的方阵,请填空。17 18 19 2013 14 15 169 10 11 125 6 7 81 2 3 4void main() int i, j, x = 17; for (j = 1; ; +j) for (i = 1; ; +i) cout t ; ; ; 2、下面的程序是在指定位置打印一个由随机产生的字符*或者#组成的等腰三角形,例如 * #*# *# *#*#*请补充完整。#include #includeusing namespace std;int main()int height, location;int i, j, k; ; coutlocation;coutheight;for for(j =1; j height-i-1+location; +j) cout ;for(k = 0; k ; k+) ;cout endl;return 0;5、下面的程序输入任意年份和月份可以计算出该月有几天,如2010年2月有28天。请补充完整,每空一条语句#includeusing namespace std;int MonthDays(int month, int year);bool IsLeapYear(int year);int main() int year,month; cout year month; ; return 0;int MonthDays(int month, int year) switch (month) case 2: ; return (28); case 4: case 6: case 9: case 11: return (30); default: ; bool IsLeapYear(int year) ;4、 完成下面的程序,输出数组a中的最大值。#includeusing namespace std;void findMax(int * arr, int len, _ _ maxValue)maxValue = 0;for(int i=0; i maxValue )maxValue = _ _ ;int main()int a = 10, 6, 9, 3, 1;int maxValue;findMax(_4_ , _5_, _6_);cout num;digit = countAndPrint(num);cout endl “总共有” digit “位” endl;return 0;该函数有一个整型参数n,函数按逆序打印出各位数字,返回值表示n有几位数。如果输入num为1234,则上述程序的输出为:4 3 2 1总共有4位,2、(5分)王伟书架上有n本书,如果每天读剩下未读书数量的一半,

温馨提示

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

评论

0/150

提交评论