南开大学理科《面向对象程序设计2-1》 2008级期末考试试卷(A 卷)2009年1月
任课教师______学院________系别(班级)_________姓名________学号_______
一、单项选择(每空1分,共20分)
(注意选项填写到下面表格中!)
1.将小写字母n 赋值给字符变量one_char ,正确的操作是( ) A) one_char='\n'; B) one_char="n"; C) one_char=110; D) one_char='N'; 2.已知:char ch=049; cout< A) 49 B) 1 C) 41 D) 程序报错 3.已知:int x=2; 则cout<<(x<<2);的输出结果为( ) A) 4 B) 8 C) 0 D) 1 4.在C++语言中,自定义的标识符( ) A) 能使用关键字并且不区分大小写 B) 不能使用关键字并且不区分大小写 C) 能使用关键字并且区分大小写 D) 不能使用关键字并且区分大小写 5.判断字符变量c 不是字母的逻辑表达式为( ) A) c>='a'&&c<='z'||c>='A'&&c<='Z' B) c<'a'||c>='z'&&c<'A'||c>'Z' C) c<'A'||c>'z' D) !(c>='a'&&c<='z'||c>='A'&&c<='Z') 6.下列语句正确的是( ) A) char str[4]={"word"}; B) char str[4]={ 'w', 'o', 'r', 'd', '\0'}; C) char str[6]="wo\0rd"; D) char str[5]; str="word"; 7.已知:int a=10,*p=&a; 则p 的值为( ) A) 10 B) a 的值 C) a 的地址 D) 随机值 8.下列语句正确的是() A) int a,*p; *p=&a; B) int a,*p; p=&a; C) int a,*p; &a=p; D) int a,*p; a=*p; 9.已知定义:int a[5],*p;则下列描述错误的是() A) 表达式p=p+1是合法的B) 表达式a=a+1是合法的 C) 表达式p-a是合法的D) 表达式a+2是合法的 10.下列程序段执行后,x的值为() x=0; for(i=0;i<90;i++) if(i) x++; A) 0 B) 30 C) 89 D) 90 11.一个指针类型的变量占用内存的字节数是() A) 1 B) 4 C) 8 D) 由指向地址的类型决定 12.当函数定义时指定的函数返回值类型为void时,表示() A) 函数没有返回值B) 函数肯定没有return语句 C) 函数肯定含有return; D) 函数返回任意类型的值 13.函数原型中,不必要给出的是() A) 函数参数的类型和参数名B) 函数名 C) 函数的类型D) 函数体 14.一个函数的参数的默认值应该在()中给出 A) 函数定义B) 函数原型C) 函数定义或原型D) 函数调用 15.下列关于函数的描述正确的是() A) 函数必须要有参数和返回值 B) 函数体中只能含有一条return语句 C) 函数通过return语句至多能够返回一个值 D) 函数必须定义在先,调用在后 16.关于内联函数的描述错误的是() A) 函数定义或函数原型前加上关键字“inline”,该函数成为内联函数 B) 内联函数一般是一个小函数 C) 内联函数在编译时进行内联置换,减少了调用的开销 D) 内联函数在运行时仍然被调用 17.有关函数的形参和实参描述错误的是() A) 函数调用时,实参的值传递给相应的形参,形参在函数体内的改变并不影响实参 B) 因为可以设定函数的默认参数值,所以调用函数时,实参的个数可以少于形参 C) 调用重载函数时,根据参数的不同决定去调用哪一个重载函数 D) 实参是数组名时,表示将数组的所有元素的值都传递到了函数中 18.下面程序段的输出结果为() for(int i=4;i<=10;i++) { continue; cout< A) 45 B) 457810 C) 69 D) 45678910 19.已知:char *s="abcde";则cout< 二、填空题(每空1分,共20分) (注意将结果填写到下面相应横线上!) ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑾ ⑿ ⒀ ⒁ ⒂ ⒃ ⒄ ⒅ ⒆ ⒇ 1.已知:char *p="abcde"; char s[10]="abcde"; 则strlen(p)的值为 ① ,strlen(s)的值为 ② , sizeof(s)的值为 ③ ,sizeof("abcde")的值为 ④ 2.已知:int x=10; 则表达式 50<=x<=100的值为 ⑤ 3.已知:int x=15; cout< 4.已知:int x= -15; cout< 5.已知:int *p; 为p 动态分配内存且为该内存赋值为整数10的语句是: ⑩ 。 6.具有相同函数名但参数表不完全相同的函数称为 ⑾ 。 7.已知:void fun(int a,int b=2,int c=3){cout< 9.C++源程序的扩展名是.cpp ,经过 ⒃ 生成目标文件的扩展名是 ⒄ ,再经过 ⒅ 生成可执行程序,最终执行的是.exe 文件。