上海交通大学_2007-2008年_程序设计基础(C++)期末考试试卷(附答案).doc

上海交通大学_2007-2008年_程序设计基础(C++)期末考试试卷(附答案).doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
选择填空:(每题1分,共10分) 1. 已知各变量的类型说明如下: int a=1, b=2; double x=1.42; 则以下不符合C++语言语法的表达式是( D ) A. b=xa?3:4; B. x+=b; C. x=(a=2, a+b); D. x%3; 2.下面的循环体哪个执行的次数与其他不同( C ) A for(i=0; i10; i++) { couti ; } B for(i=10; i=1; i--){ couti ; } C i=10; do { couti ; } while(i--0); D i=0; while(++i=10){ couti ; } 3. C++语言的跳转语句中,对于break和continue说法正确的是( B ): A break语句只应用于循环体中   B continue语句只应用于循环体中   C break是无条件跳转语句,continue不是   D break和continue的跳转范围不够明确,容易产生问题 4. 有如下定义语句:int a[]={1,2,3,4,5};,则对语句int *p=a;正确的描述是( B )。 A 语句 int *p=a;定义不正确 B 语句 int *p=a;初始化变量p,使其指向数组对象a的第一个元素 C 语句int *p=a; 是把a[0]的值赋给变量p D 语句int *p=a; 是把a[1]的值赋给变量p 5.当使用ofstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为( B )。 A ios::in|ios::app B ios::out|ios::trunc C ios::in | ios::out D 没有 6 若有以下定义和语句,则不能合法表示a数组元素的是:( D ) char a[]=”abcdefg”; int *p=a; A p[7] B a[p-a] C *a D a[8] 7 以下所列的各函数原型中,正确的是:( C ) 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[ ]); 8 下列程序中错误的语句是:(B) #includeiostream #includecstring using namespace std; main( ) { char *pt1=1234; char pt2[ ]=12; char *pt3=34; pt3=pt2; //A strcpy(pt1, pt2); //B strcpy(pt2, pt3); //C coutpt2; //D } 9 下列定义或者声明语句哪个是不正确的( D ) A void* f(int a[], int n); B void* (*f)(int a[], int n); C void* (*f[10])(int a[], int n ); D void f (int a[], int n) [10]; 10 下列语句正确的是( A ) A char a[2]={’a’}; B char 3a=’\0’; C char a[ ]=abc; D char a= \0; 程序理解:(每题4分,共32分) 1 写出下面函数的功能 void foo(char* fname) //可把以fname所指字符串作为文件标识符的文件称为fname文件, //假定该文件中保存着一批字符串,每个字符串的长度均小于20。 { ifstream fin(fname); char a[20]; int i=0; while(fina) { coutaendl; i++; } fin.close(); couti=iendl; } 答案: 打开一个文件,读出其中的字符串,并输出字符串到屏幕,每行一个,最后统计输出一共有多少个字符串在文件中 2 写出运行结果 #include stdafx.h #includeiostream using namespace std; main() { int a[3]={1, 2 , 3}, *p; int i, b[6]; p=a; b[0]=*p;

文档评论(0)

187****5045 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档