东南大学C++试题.doc

上传人:啊飒飒 文档编号:10772975 上传时间:2021-06-03 格式:DOC 页数:8 大小:61KB
返回 下载 相关 举报
东南大学C++试题.doc_第1页
第1页 / 共8页
东南大学C++试题.doc_第2页
第2页 / 共8页
东南大学C++试题.doc_第3页
第3页 / 共8页
东南大学C++试题.doc_第4页
第4页 / 共8页
东南大学C++试题.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《东南大学C++试题.doc》由会员分享,可在线阅读,更多相关《东南大学C++试题.doc(8页珍藏版)》请在三一文库上搜索。

1、东 南 大 学 交 通 学 院 练 习 卷姓名 学号 成绩 一、选择题:(20题,每题1分) 1、有如下定义语句char b5, *p=b;赋值的正确语句是(1) 。A)b=”abcd”;B)*b=”abcd”C)p=”abcd”;D)*p=”abcd”;2 下列选项中等价的是 (2) 。A) int a23=1,2,3,4,5,6与int a2=1,2,3,4,5,6B) int a23=1,2,3与int a3=1,2,3C) int a23=1,2与int a23=(1,2D) int a3=1,2,3,4,5,6与int a23=1,2,3,4,5,6)3、以下关于C+语言中数组的描述

2、正确的是 (3) A数组的大小是固定的,但可以有不同的类型的数组元素B数组的大小是可变的,但所有数组元素的类型必须相同C数组的大小是固定的,所有数组元素的类型必须相同D数组的大小是可变的,可以有不同的类型的数组元素4、设有说明:char a44; 与数组元素a33不等价表示的是 (4) .A.*(a3+3)B. *(*(a+3)+3)C.*&a33 D.(*(*(a+3)+3)5、在执行int a3=1,2,3,4,5,6;语句后,a11的值是 (5) 。A4 B1 C2 D56、为了判断两个字符串sl和s2是否相等,应当使用 (6) 。Aif (s1=s2)Bif (s1=s2)Cif(st

3、rcpy(S1,s2)Dif(strcmp(s1,s2)=O)7、在定义int a10;之后,对a的引用正确的是 (7) 。Aa10 Ba63 Ca(6) Da10-108、若有定义int*p,x;则语句x=*p+,与_(8)_等价。A. x=*p;p+; B.x=(*p)+; C.x=p;p+; D.x=(*p+);9、设有如下定义struct data int i; double f;char ch; s;结构变量s占用的字节数为 (9) 。A、8 B、13 C、15 D、1710、设内存分配语句int *p=new int ,选择合适的填充使P所指的存储单元赋初值28。 A、(28) B

4、、28 C、28 D、*2811、有说明语句char *name=newspaper; 则 (11) 可获取串中字符s A) name0+3 B) *name+3 C) *(name+3) D) name412、在C+语言中,对于存储类型为 (12) 的变量只有在使用它们时才占用内存单元。Astatic和auto Bregister和staticCregister 和extern Dauto和register 13、在一个源文件中定义的全局变量的作用域为 (13) 。A本文件的全部范围 B本程序的全部范围C本函数的全部范围 D从定义该变量的位置开始至本文件结束为止14、当接受用户输入的含空格的

5、字符串时,应使用 (14) 函数。Acin() Bgets() Cgetchar()Dcin.getline()15、当数组名作为函数的实参时,它传递给函数的是 (15) A、地址 B、数组名 C、数组元素 D、指针16设函数声明语句中的参数表为(int&a,int&b,im c),函数体中a,b,c三个变量的值都发生变化;主函数中调用此函数的实参表为(x,y,z),调用函数语句执行后,以下叙述正确的是 (16) 。 A、变量x和y的值发生变化 B、变量x和y的值不发生变化 C、变量x、y、z的值都发生变化D、只有变量z的值发生变化17、设有说明:char str1=”copy”, str21

6、0, str3=”hijklmn”, *str4, *str5=”abcd”下面不正确的字符串拷贝是(17) 。Astrcpy(str2, str1)Bstrcpy(str3,str1)Cstrcpy(str4,str1) Dstrcpy(str5,str1)18、在定义了变量char s=“AB”,*p;后,执行了语句p=s;这时*(p+2)的值是 (18) A.BB.0C.不确定D.字符B的地址19、判断两个字符串s1和s2是否相等,应当使用 (19) 、if (s1=s2) 、if (s1=s2) 、if (strcmp(s1,s2) 、if (!strcmp(s1,s2)20、函数vo

7、id AAA(char * s,char * t)while(*t+);t-;while(*t+=*s+);的功能是 (20) 。A.求串的长度B.将串s复制到t中C.比较两个串的大小D.将串s与串t连结为一个串二、填空及阅读程序1、若:typedef char* STRING;STRING p,s10;则: p和s的数据类型分别是 (1) , (2) 。 2、阅读下列程序,给出以下程序的执行结果。#includechar b=computer;char *a=COMPUTER;void main() int i=0; cout*ab+1; while(*(a+i) cout*(a+i);i+

8、; coutn; couti; while(-i) cout(*(b+i); coutn; cout&b3n;执行以上程序后,第二行的输出是 (3) ,第三行的输出是 (4) 。3、阅读下列程序,写出运行结果。#includevoid main() int i,j; static int a10=1,1,1,1,1,1,1,1,1,1; for(i=0; i10;i+) for(j=0;ji; j+) ai=ai+aj; for(i=2; i10; i+) coutai,; cout“n”; (5) 4、阅读下列程序,指出此程序的功能。void f2(int a,int k) int n,t,

9、j; for(j=0;jk-1;j+) /A for(n=0;nk-j;n+) if(anan+1) t=an; an=an+1; an+1=t; void main() int i,x=5,3,6,1,8; f2(x,5); for(i=0;i5;i+)coutxit; coutendl;问题一:主函数中调用函数f2()进行排序,排序的结果一般是使数据按升序或降序排列。 调用函数f2()的排序结果是_(6)_序 问题二:函数f2()中的排序算法可称为_(7)_法 问题三:如果将A行中的jk-1改为j2,主函数中输出结果是_(8)_,5、读下列程序,写出运行结果。void f(int a)if

10、(a0)cout“-”; a=-a; cout char(a%10+0);if(a=a/10)!=0)f(a);void main()int a=-2574;f(a);coutn;a=5647;f(a);cout“n”;执行以上程序后,输出结果的第一行是 (9) ;第二行是 (10) 。 三、完善程序1 1、下列函数检查给定的字符串左括号(和右括号)的使用是否合法。判别条件是:左括号(的个数应与右括号)的个数相同;右括号的个数在任何时候均不得超过左括号(的个数;若字符串同时满足上述两个条件,函数返回值1,否则返回值0。int check (char *s) int lf=0;rt=0; whi

11、le( (1) ) if (*s=( ) lf+; else if(*s=) rt+; if ( (2) ) return 0; ( (3) ); return ( (4) ); / 2、struct nodeint data;struct node *next;完善下列函数,要求在以head为头的链表中将整数y插在结点的值x的结点的后面,如果该链表中没有这种结点,则不做插入操作。void insert(struct node *head,int x,int y)struct node *p,*q;if(head=NULL)coutdata!=x)(5)if(p-data=x) p=new(6

12、); p-data=y;p-next=q-next; (7);elescoutx“ node not foundn”;3以下函数用于将用户输入的字符串所有小写字母改写为大写字母,并将修改后的字符串输出。(ASCII字符中A的值为0X41,a的值为0X61)#include#define SIZE 20char* char_to_caps(char *pdata)int i=0;while(*(pdata+i)!=0)if(8)*(pdata+i)-=0x20;(9);return(pdata);void main()char pdataSIZE;coutpdata;cout”nResult i

13、s :”(10);)4、函数find用来判断数组a中的数据是升序、降序还是无序。若为升序返回1,若为降序返回2,无序返回3。形参n为数组a中有效整数的个数,数组a从a1an中包含待判断的元素个数。int find(int a,int n)int s,i; if (a1a2) ( (11) ); else s=2; if (s=1) i=2; while(in) if ( (12) ) s=3; break; ( (13) ) ; if (s=2) for (i=2;( (14) );i+) if (aiai+1) ( (15) ); break; return s;6下面是一个对10个整型数排

14、序的程序。#include (16) ;void main() int a10=2,12,4,23,76,45,43,34,1,10; int *p; sort( (17) ); for (p=a;pa+10;) cout*p+t;coutendl; return;void sort(int *p,int n) int i,j, (18) ; for (i=0;i*(p+j) (20) ; (21) ; *(p+j)=temp; return; 参考答案选择题1C2D3C4D5D6D7D8A9B10A11C12D13D14D15A16A17BCD18B19D20D填空题1字符指针 2 字符指针数组3 8retupmoc4 puter5 4,8,16,32,64,128,256,5126 降 7 冒泡 8 6 5 8 3 19 -475210 7465完善程序1*s!=0 2 rtlf3 s+ 4 rt=lf5 p=p-next,q=p6 node 7 q-next=p;8*(pdata+i)=a&*(pdata+i)ai+1 13 i+ 14 in 15 s=316 void sort(int *p,int n); 17 (a,10) 18 temp19j=i+1;jn;j+ 20 temp =*(p+j) 21 *(p+i)= *(p+j)8

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1