收藏 分销(赏)

华南理工大学高级语言程序设计试卷及答案.doc

上传人:精*** 文档编号:9758668 上传时间:2025-04-06 格式:DOC 页数:5 大小:57.50KB
下载 相关 举报
华南理工大学高级语言程序设计试卷及答案.doc_第1页
第1页 / 共5页
华南理工大学高级语言程序设计试卷及答案.doc_第2页
第2页 / 共5页
点击查看更多>>
资源描述
华南理工大学计算机学院 高级语言程序设计(C++I)试卷 学生证号:____________________ 姓名: ____________________ 注意事项:1. 本试卷共五大题,满分100分,考试时间120分钟; 2. 所有答案请写在答卷上,试卷和答卷同时提交; 一.单项选择题(每小题2分,共20分) 1.下列字符列中,合法的长整型常量是: (A) 4.18e3 (B) 0.46793 (C) 4L (D) 956738 2.设变量x,y,a,b,c,d的值为1,计算表达式(x=a!=b)&&(y=c!=d)后,变量x,y的值分别是: (A) 0,0 (B) 0,1 (C) 1,0 (D) 1,1 3.以下运算符中,优先级最低的是: (A) *= (B) ?:: (C) && (D) >= 4.在C++中,char类型数据在内存的存储形式是: (A) 原码 (B) 反码 (C) 补码 (D) ASCII码 5.设变量定义int x = 6, y, z; 执行语句 y = z = x--; y = x == z; 后变量y的值是: (A) 0 (B) 1 (C) 5 (D) 6 6.下面的变量定义中,不正确的是: (A) char *p=”string” (B) int a[]={‘A’,’B’,’C’} (C) float *q=&b, b; (D) doudle a, *r=&a; 7.设有变量定义 doubleb[5], *p=b; 能正确表示b数组中元素地址的表达式是: (A) b (B) b+5 (C) *b[0] (D) &b 8.设有变量定义 int a[]={2,3,5,9,11,13},*pa=a, w; 执行语句w=++(*++pa); 后,变量w和*pa的值是: (A) 3和3 (B) 4和3 (C) 3和4 (D) 4和4 9.语句if(w) … ; else … ; 中的表达式w的等价表示是: (A) w==0 (B) w==1 (C) w!=0 (D) w!=1 10.设有函数说明和变量定义:int max(int x,int y); int(*p)(int,int)=max; int a, b; 以下正确调用函数的代码是: (A) *p(a,b) (B) p(a,b) (C) *(p(a,b)) (D) p(&a,&b) 二.简答题(每小题2分,共20分) 1.语句 cout<<setfill(‘*’)<<set(10)<<1234; 的输出结果是? 2.表述问题“x或y中有一个小于z”的C++表达式是? 3.设有变量定义 int y=2; 表达式 y+=y*=2*y+1 的值是? 4.设有变量定义 char s[10]=”student”, *p=s; 则*(p+7)的值? 5.设有变量定义int w[]={1,3,5,7,9}, *p=w; 表达式 *(p+2)**(w+3)的值? 6.变量定义 int (*pf)(int); 中pf是? 7.设有变量定义 int a[3][2]={1,2,3,4,5,6}, (*p)[2]=a; 表达式**(p+2)的值? 8.设有变量定义 struct{int x; int y; }d[2]={{1,4},{3,5}}; 表达式d[0].y / d[0].x * (d+1)->x 的值? 9.设有函数调用语句 Avegare(a,50,ave)的功能是求整型数组前50个元素的平均值ave。对应的函数原型是? 10.有说明 struct link{ int code; link *next; }; link *head,*p;已知head为单链表的头结点,在head之前插入p结点操作的语句是? 三.分析程序,写输出结果(每小题5分,共20分) - 5 - 1. #include<iostream.h> int gcd(int m, int n) {while(m!=n) if(m>n)m-=n;else n-=m; return m; } main() { cout<<gcd(26,gcd(26,65))<<endl; } 2. #include<iostream.h> int sum(int n) {int c=0; do{ c+=n%10; n/=10; } while(n); return c; } main() {cout<<sum(321)<<'\t'<<sum(4567)<<endl;} 3. #include<iostream.h> void s(int *a,int n) {int i,j,t; for(i=0;i<n;i++) { for( t=a[i],j=i-1; j>=0 && t<a[j]; j-- ) a[j+1]=a[j]; a[j+1]=t; } } void main() { int i,c[6]={15,5,48,7,3,23}; s(c,6); for(i=0;i<6;i++) cout<<c[i]<<" "; cout<<endl; } 4. #include<iostream.h> #include<string.h> void r(char *s) {int len,i; char c; len=strlen(s); for(i=0;i<len/2;i++) { c=s[i]; s[i]=s[len-i-1]; s[len-i-1]=c; } } void main() { char c[]="12345678"; r(c); cout<<c<<endl; } 四.根据程序功能填空。(每空2分,共20分) 1.以下程序求方程的全部整数解: 3x + 2y - 7z = 5 (0≤x,y,z≤100) #include<iostream.h> void main() { int x,y,z; for(x=0;x<=100;x++) for(y=0;y<=100;y++) { if((z=3*x+2*y-5)%7) ______(1)______; ______(2)______; //求出z的值 if(______(3)______;) //检查z的范围 cout<<"x="<<x<<" y="<<y<<" z="<<z<<endl; } } 2.函数sort()对n个元素的数组a[],用选择法从小到大排序。 void sort(int a[],int n) {int i,j,k,t; for(i=0;i<n-1;i++) { for(k=i, ______(4)______; j<n; j++) if(______(5)______)k=j; if(______(6)______) { t=a[k]; a[k]=a[i]; a[i]=t; } } } void main() { int x[]={4,7,1,9,7,4,80,34,25,13},y; sort(______(7)______); for(y=0;y<10;y++) cout<<x[y]<<" "; } 3.函数fun1( ),fun2( ),fun3( ) 分别用于计算3个整型数x,y,z的最大值、最小值和平均值(函数定义从略)。函数execute ( )则是可以完成这些计算的通用函数。请填空。 int fun1(int,int,int); int fun2(int,int,int); int fun3(int,int, int); void main ( ) { _____(8)______ ; // 对function的声明 int x, y, z, i; cin>>x>>y>>z; function[0]=fun1; function[1]=fun2; function[2]=fun3; for(i=0; i<3; i++) cout<<"fun No."<<i+1<<execute( x , y , z , ____(9)____ ) ; } float execute( _____(10)______ ) { return ((*funp)(a,b,c)); } 五.程序设计(第1小题6分,第2、3小题各7分,共20分) 1. 编写函数输出以下形状的图形,其中构成图形的符号和输出的行数通过参数传送。 # # # # # # # # # # # # # # # # 2. 编写一个函数countdigit(long k, int count[10]),求出整数k中0~9各数字出现的次数,结果存放于数组count[]中。 3. 有类型说明:struct node{ int date; node *next }; 函数 int delx(node *head, int x); 的功能是从以head为表头的单链表中删除date等于x的结点。如果成功删除,函数返回1;如果找不到x结点,函数返回0。设计函数delx。 华南理工大学计算机学院 高级语言程序设计(C++I)试卷参考答案 一.单项选择题(每小题2分,共20分) 1.C 2.B 3.A 4.D 5.A 6.C 7.A 8.D 9.C 10.B 二.简答题(每小题2分,共20分) 1.******1234 2.x<z||y<z 3.20 4.’\0’ 5.35 6.指向返回 int型,有一个int型参数是函数指针 7.5 8.12 9.void Avegare(int [],int, int &); 10.p->next=head; head=p; 三.分析程序,写输出结果(每小题5分,共20分) 1.13 2.6 22 3.3 5 7 15 23 48 4.87654321 四.根据程序功能填空。(每空2分,共20分) (1) continue (2) z=z/7 (3) z>=0&&z<=100 (4) j=i+1 或j=i (5) a[j]<a[k] (6) k!=i (7) x,10 (8) int( *function[3])() (9) function[i] (10)int a ,int b,int c,(* funp)() 五.略
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服