华南理工大学高级语言程序设计(C++I)试卷及答案

合集下载

华南理工高级语言程序设计C++随堂练习问题详解

华南理工高级语言程序设计C++随堂练习问题详解

第一章基本数据与表达式> 1.1 概述1. 一个最简单的C++程序,可以只有一个()。

(A)库函数(B)自定义函数(C)main函数(D)空函数答题: A. B. C. D.参考答案:C2. 函数名是(),用于识别和调用函数。

(A)关键字(B)标识符(C)常数(D)语句答题: A. B. C. D.参考答案:B3. 用C++语言编写的源程序要成为目标程序必须要经过()。

(A)解释(B)汇编(C)编辑(D)编译答题: A. B. C. D.参考答案:D4. C++程序中的简单语句必须以()结束。

(A)冒号(B)分号(C)空格(D)花括号答题: A. B. C. D.参考答案:B5. 程序中把表达式“a+0.5”写为“a*0.5”,是()错误。

(A)编译(B)连接(C)运行(D)逻辑答题: A. B. C. D.参考答案:D> 1.2 C++语言的字符集与词汇1. 在下列选项中,全部都是C++关键字的选项为()。

(A)while IF Static (B)break char go(C)sizeof case extern (D)switch float integer 答题: A. B. C. D.参考答案:C2. 按C++标识符的语法规定,合法的标识符是()。

(A)_abc (B)new (C)π(D)"age"答题: A. B. C. D.参考答案:A3. 在C++语句中,两个标识符之间()不能作为C++的分隔符。

(A)数字(B); (C): (D)+答题: A. B. C. D.参考答案:A4. 可以用于命名变量的标识符是()。

(A)3x (B)const (C)name_2 (D)答题: A. B. C. D.参考答案:C5. 说明变量a是整型变量的正确语句是()。

(A)int a; (B)inta; (C)Int a; (D)INTa;答题: A. B. C. D.参考答案:A> 1.3 C++语言的基本数据类型与存储形式1. 下列正确的八进制整型常量表示是()。

华南理工《高级语言程序设计C》平时作业

华南理工《高级语言程序设计C》平时作业

一、分析程序,写输出结果1.#include<iostream.h>#include<math.h>void main(){int m, k, i ;for( m=1; m<=10; m+=2 ){ k = m/3;for( i=2; i<=k; i++ )if( m%i ) cout << m << " ";}}解:m 的取值为1,3,5,7,9 对应k的取值为0,1,1,2,3, 第二个for循环:只有当k=2和k=3时才执行,当k=2,i=2,m%i等于1为真,输出m为7 当k=3,i=2,m%i等于1为真,输出m为9, i=3,m%i等于0为假,无输出结果为: 7 92.#include<iostream.h>void fun();void main(){int i;for(i=1;i<5;i++) fun();cout<<endl;}void fun(){ static int a;int b=2;a += 2 ;cout<< a+b <<'\t';}解:主函数循环4次调用fun(); fun()函数内定义了静态局部变量a,所以a的值会保持到下一次调用。

结果为:4,6 ,8,103.#include<iostream.h>int fun(int n){ if(n==0) return 1;return 2*fun(n-1);}void main(){ int a=5;cout<<fun(a)<<endl;}解:fun()函数用递归求出2的n次方,结果为: 324.#include<iostream.h>void main(){ char *cp="word";for (int i=0 ; i<4; i++ )cout<<cp+i << '\t';}解:主函数4次循环中,第一次输出cp+i,此时cp指向“word”的第一个字符,所以输出“word”,之后cp依次往后移一个位置,输出此位置及后面的字符结果为:word ord rd d二、.根据程序功能填空。

华南理工大学C++程序设计C++第二章答案

华南理工大学C++程序设计C++第二章答案

《 高级程序设计语言C++ 》试卷 第 1 页 共 2 页《C++程序设计基础》第二章答案注意事项:1. 考前请将试卷和答题纸密封线内各项填写清楚; 2. 所有答案写在答题纸上,否则无效; 3.试卷和答题纸同时提交; 4.考试形式:闭卷;5. 本试卷共五大题,满分100分,考试时间120分钟。

一、 单项选择题(每小题2分,共30分)1. C2. A3. C4. D5. B6. C7. B8. A9. C 10. D 11. A 12. A 13. __A _ 14._ D_ _ 15.__ A __2. y/x 的值是1,由于a 是单精度浮点型,所以算数表达式y/a 强制类型转换,y/a 的值为2.4,赋值表达式右侧结果为5.9,由于z 是int 整型,所以再次强制类型转换,z 的值为5。

6. 逻辑表达式&&左侧若为逻辑假false(0),则直接判定逻辑表达式为逻辑假false(0),不执行右侧。

该题中由于m=0,所以m++&&n++只执行左侧的m++,而不执行n++,且该条逻辑为假false(0),不执行if 语句中的m++。

7. A 项switch(a)后不应有分号。

switch(表达式)中的表达式只能为整形,字符型或枚举型,不能使是浮点型,case 后只能接常量表达式,且只能为一个值。

C 项不应为浮点型,且case 后接了两个值。

D 项case 后接的a 是变量,不是常量。

9. if 语句里的a=3不是逻辑表达式,是赋值表达式,将3赋值给a ,语句为true 。

10. 同9题,k=3是赋值表达式,该条语句为逻辑真true(1),所以程序陷入死循环。

(区分k=3和k==3)13. int x(1),a(0),b(0);相当于int x=1,a=0,b=0;只是不同的写法。

15. 无论E 取何值,选项应于!E 真假性相同。

所以while(!E)中!E 等价于E==0。

华南理工大学《C++程序设计基础》第四、五章练习题及参考答案

华南理工大学《C++程序设计基础》第四、五章练习题及参考答案

(A) a[1][3]
(B) a[2][3]
(C) a[3][1]
7. 假定 p 指向的字符串为"string",则 cout<<p+3 的输出结果为(
(D) a[2][1] )
(A) string (B) ring
(C) ing
(D) i
8. 设有定义语句:char a[10], *p=a; 以下赋值语句中,正确的是( )
} 3. 下面的程序的输出结果是:
4 3 2 1 10 9 8 7 6 5 请在下划线上填入恰当的内容,将程序补充完整。
#include <iostream>
_____________ ________ 学院
姓名
学号
专业
座位号
(密封线内不答题) ……………………………………………密………………………………………………封………………………………………线……………………………………
诚信应考,考试作弊将带来严重后果!
华南理工大学期末考试
《C++程序设计基础》第四、五章
(D) 6
15. 设有如下程序段:int *point; point=new int(4);其含义是( )
(A) 用动态分配了存放 int 类型数据的内存空间,将初值 4 存入该空间中,并将首地址
赋给指针 point
(B) 用动态分配了存 4 个字节,
(A) for(i=0;i<6;i++) cout<<*(p++)<<endl;
(B) for(i=0;i<6;i++) cout<<*(p+i)<<endl;

华南理工大学《C程序设计》期末复习练习题及参考答案(1)

华南理工大学《C程序设计》期末复习练习题及参考答案(1)

《C程序设计》期末复习练习题及参考答案(1)一、单项选择题1. 以下不能对二维数组a进行正确初始化的语句是A)int a[2][3]={0};B)int a[][3]={{1,2},{0}};√C)int a[2][3]={{1,2},{3,4},{5,6}};D)int a[][3]={1,2,3,4,5,6};2.有以下程序片断float fun(int x,int y){ return(x+y);}main(){int a=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}程序运行后的输出结果是:A)编译出错√B)9 C)21 D)9.03.若有以下调用语句,则不正确的fun函数的函数原型是main(){ …int a[50],n;…fun(n, &a[9]);…}A)void fun(int m, int x[]); B)void fun(int s, int h[41]);C)void fun(int p, int *s); √D)void fun(int n, int a);4.下面程序片段的执行结果是:#define MAX 10int a[MAX], i;main( ){ printf("\n");sub1( );sub3(a);sub2( );sub3(a);}sub2( ){int a[MAX], i, max=5;for(i=0; i<max; i++) a[i]=i;}sub1( ){for(i=0; i<MAX; i++) a[i]=i+i;}sub3(int a[ ]){ int i;for(i=0; i<MAX; i++)printf("%d",a[i]);printf("\n");}A) 0 2 4 6 8 10 12 14 16 180 1 2 3 4 10 12 14 16 18B) 0 1 2 3 40 2 4 6 8 10 12 14 16 18C) 0 1 2 3 4 5 6 7 8 90 1 2 3 4√D) 0 2 4 6 8 10 12 14 16 180 2 4 6 8 10 12 14 16 185. 下列程序执行后的输出结果是#include <stdio.h>main(){ int a[3][3], *p, i;p = &a[0][0];for (i=1; i<9; i++){p[i]=i+1;}printf("%d\n",a[1][2]);}A)3 √B)6 C)9 D)随机数6. 下列关于C语言程序的描述正确的是()。

华南理工大学 华南理工2004年高级语言程序设计 考研真题及答案解析

华南理工大学 华南理工2004年高级语言程序设计 考研真题及答案解析

22. 执行语句 Print Format(12345.678,"###,###.##") 后,输出为 (25) 。 (25) A) 12,345.67 B) 012,345.67 C) 12,345.68 D) 012,345.68 23.阅读下列事件过程: Private Sub Form_Click() Dim A As Integer Do A = A + 1 Print A Call ZCX Loop Until A > 3 End Sub Sub ZCX() Dim A A = A + 2 Print A End Sub 程序运行后一共打印输出了 (26) 个数, (26) A) 3 B) 4 C) 6 输出的最后一个数的值为 (27) 。 (27) A) 2 B) 4 C) 5 (28)A) Open B) Open ”d:\file1.dat” For Random As #1 ”d:\file1.dat” For Output As #1 D) 8 D) 6 (28) 。
409
华南理工大学 2004 年攻读硕士学位研究生入学考试试卷
(试卷上做答无效,请在答题纸上做答,试后本卷必须与答题纸一同交回) 科目名称:高级语言程序设计 适用专业:建筑技术科学 共 9 页
说 明
1. 2. 3. 4.
请把答案写到答卷内, 不写入答卷内的不得分。 试题包括微机应用基础及 Visual BASIC 语言两部分。 试题及答案中均以“ㄩ”表示一个空格。 全部试题共 4 大题, 满分 150 分。
C) 软盘驱动器 C) 操作系统
2.将二进制数 10101011011 转换成十进制数,所得的十进制数是 (3) B) 1371 C) 1441 D) 1471 (3) A) 1341 量已达到 (4) 。 (4) A) 650MB

华南理工大学高级语言程序设计(ci)试卷及答案

华南理工大学高级语言程序设计(ci)试卷及答案

华南理工大学计算机学院高级语言程序设计(C++I)试卷学生证号:____________________姓名:____________________注意事项:1.本试卷共五大题,满分100分,考试时间120分钟;2.所有答案请写在答卷上,试卷和答卷同时提交;一.单项选择题(每小题2分,共20分)1.下列字符列中,合法的长整型常量是:(A) 4.18e3(B) 0.46793(C) 4L(D) 9567382.设变量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,13.以下运算符中,优先级最低的是:(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) 66.下面的变量定义中,不正确的是:(A) char *p=”string”(C) float *q=&b, b;(B) int a[]={‘A’,’B’,’C’}(D) doudle a, *r=&a;7.设有变量定义doubleb[5], *p=b;能正确表示b数组中元素地址的表达式是:(A) b(B) b+5(C) *b[0](D) &b8.设有变量定义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和49.语句if(w)…; else…;中的表达式w的等价表示是:(A) w==0(B) w==1(C) w!=0(D) w!=110.设有函数说明和变量定义:intmax(intx,inty);int(*p)(int,int)=max;inta,b;以下正确调用函数的代码是:(A) *p(a,b) (B) p(a,b) (C) *(p(a,b)) (D) p(&a,&b)- 1 -二.简答题(每小题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。

《C++程序设计(I)》试卷A

《C++程序设计(I)》试卷A

《C++程序设计(I)》试卷AC++程序设计(I) 试卷A 第1页(共10页),考试作弊将带来严重后果!华南理⼯⼤学期末考试《C++程序设计(I)》试卷 A1. 考前请将密封线内各项信息填写清楚;所有答案请直接答在试卷上;.考试形式:闭卷;本试卷共五⼤题,满分100分,考试时间120分钟。

1. Select the correct results and mark them on the answer sheet. (40 scores) nswer sheet :( 2) [A][B][C][D] ( 3) [A][B][C][D] ( 4) ( 6) [A][B][C][D] ( 7) [A][B][C][D] ( 8)(10)[A][B][C][D] (11)[A][B][C][D] (12)[A][B][C][D](14)[A][B][C][D] (15)[A][B][C][D] (16)[A][B][C][D](18)[A][B][C][D] (19)[A][B][C][D] (20)[A][B][C][D] Which of the following is true? ( B )A )Structures may contain many data types.B )Members of different structures must have unique names.C )Keyword typedef is used to define new data types.D )Structures are always passed to functions by reference. Which of the following is false? ( D )A ) char a[20]=”abcdefg”;B ) char a[]=”x+y=55.”;C ) char a[15]={’1’,’2’};D ) char a[10]=’5’;Which of the following logical expression is equal to !(x>0 || y==5)( B )。

华南理工大学计算机学院

华南理工大学计算机学院

华南理工大学计算机学院高级语言程序设计(C++I)试卷学生证号:____________________ 姓名: ____________________ 注意事项:1. 本试卷共五大题,满分100分,考试时间120分钟;2. 所有答案请写在答卷上,试卷和答卷同时提交;一.单项选择题(每小题2分,共20分)1.下列字符列中,合法的长整型常量是:(A) 4.18e3 (B) 0.46793 (C) 4L (D) 9567382.设变量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,13.以下运算符中,优先级最低的是:(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) 66.下面的变量定义中,不正确的是:(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) &b8.设有变量定义 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和49.语句if(w) … ; else … ; 中的表达式w的等价表示是:(A) w==0 (B) w==1 (C) w!=0 (D) w!=110.设有函数说明和变量定义: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。

华南理工高级语言程序设计C++随堂练习答案

华南理工高级语言程序设计C++随堂练习答案

第一章基本数据与表达式> 1.1 概述1. 一个最简单的C++程序,可以只有一个()。

(A)库函数(B)自定义函数(C)main函数(D)空函数答题: A. B. C. D.参考答案:C2. 函数名是(),用于识别和调用函数。

(A)关键字(B)标识符(C)常数(D)语句答题: A. B. C. D.参考答案:B3. 用C++语言编写的源程序要成为目标程序必须要经过()。

(A)解释(B)汇编(C)编辑(D)编译答题: A. B. C. D.参考答案:D4. C++程序中的简单语句必须以()结束。

(A)冒号(B)分号(C)空格(D)花括号答题: A. B. C. D.参考答案:B5. 程序中把表达式“a+0.5”写为“a*0.5”,是()错误。

(A)编译(B)连接(C)运行(D)逻辑答题: A. B. C. D.参考答案:D> 1.2 C++语言的字符集与词汇1. 在下列选项中,全部都是C++关键字的选项为()。

(A)while IF Static (B)break char go(C)sizeof case extern (D)switch float integer答题: A. B. C. D.参考答案:C2. 按C++标识符的语法规定,合法的标识符是()。

(A)_abc (B)new (C)π(D)"age"答题: A. B. C. D.参考答案:A3. 在C++语句中,两个标识符之间()不能作为C++的分隔符。

(A)数字(B); (C): (D)+答题: A. B. C. D.参考答案:A4. 可以用于命名变量的标识符是()。

(A)3x (B)const (C)name_2 (D)a.答题: A. B. C. D.参考答案:C5. 说明变量a是整型变量的正确语句是()。

(A)int a; (B)inta; (C)Int a; (D)INTa;答题: A. B. C. D.参考答案:A> 1.3 C++语言的基本数据类型与存储形式1. 下列正确的八进制整型常量表示是()。

华南理工大学年C++试卷及标准答案

华南理工大学年C++试卷及标准答案

华南理工大学2012年C++试卷及答案————————————————————————————————作者:————————————————————————————————日期:诚信应考,考试作弊将带来严重后果!华南理工大学期末考试《 高级程序设计语言C++(1)》试卷A注意事项:1. 考前请将试卷和答题纸密封线内各项填写清楚; 2. 所有答案写在答题纸上,否则无效; 3.试卷和答题纸同时提交; 4.考试形式:闭卷;5. 本试卷共五大题,满分100分,考试时间120分钟。

题 号 一 二 三四五总分得 分 评卷人一、 单项选择题(每小题2分,共22 分1. 表达式65/10*2.0+100%3的结果为(D )。

(A)14(B) 12(C) 1(D) 132. 设变量定义int x =10, y, z; 执行语句 y = z = x --; y = x = = z; 后变量y 的值是( A )。

(A) 0(B) 1(C) 9(D) 103. 下面for 语句执行时循环次数为(B )。

int i,j;for ( i=0, j=3; i=j; ) {cout << i << j << endl; i++; j--; } (A)(B)3(C) 10(D) 无限4. 下列不合法的标识符名称是( B )。

(A) word(B) continue(C) cpp(D) _ab5. 假定有以下说明语句,则下面引用形式错误的是( B )。

struct Student {char sno[20] ; double score ; };Student stu[3]={{“201011111”,80}, {“201011112”,75}, {“201011113”,91}}, *p=stu ; (A)p->sno;(B) (p++).sno;(C) (p++)->sno;(D) (*p).sno ;_____________ ________姓名 学号学院 专业 座位号( 密 封 线 内 不 答 题 )6. 已知int i = 1 ; int *Ptr1 , *Ptr2 ;下面哪条语句不合法( C )。

华南理工大学高级语言程序设计(C++ II)试卷及答案

华南理工大学高级语言程序设计(C++ II)试卷及答案

华南理工大学计算机学院高级语言程序设计(C++ II)试卷学生证号:____________________ 姓名: ____________________【注意事项】1. 严格遵守考场纪律,考试时间120分钟。

2. 试卷共6页。

答卷上必须填写参考人所属的学院名称、专业及本人姓名。

3. 试题总分100分。

所有作答必须按题号对应填写在答卷上,否则无效。

4. 考试结束,试卷、答卷和草稿纸必须完整无损地一起递交。

一、给出一个有理数类,实现有理数的加法运算。

请按后列要求作答。

1.仔细、完整地阅读程序,对应题号填写注释。

注释的内容包括两部分:1.本行的语句是什么;2.简述其功能或特点。

例如,注释可以这样写:“友员函数;重载加法运算符(+)。

”(每小题1分,共10 分)#include<iostream.h>#include<math.h>#include<iomanip.h>class Rational{ private:int numerator,denominator; //(例)数据成员;表示一个有理数的分子、分母。

int maxcommonFactor(int,int);void simplify( );void DtoF(double,int&,int&);public:Rational(int n,int d=1);Rational(double x=0);~Rational();void plus(const Rational&);Rational operator + (const Rational&); //(例)公有成员函数;重载加法运算符(+)。

void showFraction( );operator double( );friend ostream &operator<<(ostream &output, Rational &t);};2.对应题号把函数的定义补充完整。

2017年华南理工大学高级语言C++程序设计

2017年华南理工大学高级语言C++程序设计

2017年华南理工大学高级语言C++程序设计复习资料一一、单选题1. 由C++源程序文件编译而成的目标文件的缺省扩展名为( A )。

A. objB. likC. exeD. cpp2. 程序运行中需要从键盘上输入多于一个数据时,各数据之间需用( D ) 符号作为分隔符。

A. 空格或逗号B. 逗号或回车C. 逗号或分号D. 空格或回车3. 设x是一个bool型的逻辑量,y的值为10,则表达式 x && y的值为( C )。

A. 1B. 0C. x的值D. x的相反值4. 任何for语句都能够被改写为( D )语句。

A. 复合B. ifC. switchD. while5. break语句叫做( A )语句。

A. 中断退出循环或开关B. 返回C. 转向D. 继续6. 在下面的一维数组定义中,( C )语句有语法错误。

A. int a[]={1,2,3};B. int a[10]={0};C. int a[];D. int a[5];7. 下面的( A )保留字不能作为函数的返回类型。

A. voidB. intC. newD. long8. 下面的函数声明中,( B )是“void BC(int a, int b);”的重载函数。

A. int BC(int x, int y);B. void BC(int a, char b);C. float AA(int a, char b);D. int BC(int a, int b=0);9. 当一个字符指针指向具有n个字节的存储空间时,它所能存储字符串的最大长度为( C )。

A. nB. n+1C. n-1D. n-210. 假定AB为一个类,则该类的拷贝构造函数的声明语句为( D )。

A. AB&(AB x);B. AB(AB x);C. AB(AB* x);D. AB(AB&);11. 下面的保留字( C )不能作为函数的返回类型。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

华南理工大学计算机学院高级语言程序设计(C++I)试卷学生证号:____________________ 姓名: ____________________ 注意事项:1. 本试卷共五大题,满分100分,考试时间120分钟;2. 所有答案请写在答卷上,试卷和答卷同时提交;一.单项选择题(每小题2分,共20分)1.下列字符列中,合法的长整型常量是:(A) 4.18e3 (B) 0.46793 (C) 4L (D) 9567382.设变量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,13.以下运算符中,优先级最低的是:(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) 66.下面的变量定义中,不正确的是:(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) &b8.设有变量定义 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和49.语句if(w) … ; else … ; 中的表达式w的等价表示是:(A) w==0 (B) w==1 (C) w!=0 (D) w!=110.设有函数说明和变量定义: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分)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.A4.D 5.A6.C 7.A8.D9.C 10.B二.简答题(每小题2分,共20分)1.******1234 2.x<z||y<z3.20 4.’\0’5.35 6.指向返回 int型,有一个int型参数是函数指针7.5 8.129.void Avegare(int [],int, int &);10.p->next=head; head=p;三.分析程序,写输出结果(每小题5分,共20分)1.132.6 223.3 5 7 15 23 484.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)()五.略。

相关文档
最新文档