教育
 -高级语言程序设计-章节资料考试资料-中国矿业大学【】
 第1周 单元测试
 1、【单选题】存储以下数据,占用存储空间最多的是( )。
 A、0
 B、0.0
 C、‘0’
 D、“0”
 参考资料【 】
 2、【单选题】C++源程序的扩展名是( )。
 A、.c
 B、.cpp
 C、.obj
 D、.exe
 参考资料【 】
 3、【单选题】下列关于主函数的说法,正确的是( )。
 A、一个C++程序总是从主函数开始执行
 B、一个C++程序中可以有多个主函数
 C、主函数的名称可以由用户指定
 D、程序编译时总是先编译主函数,再编译其他函数
 参考资料【 】
 4、【单选题】下列常量中,十六进制int型常量是( )。
 A、0X5F
 B、x2A
 C、046
 D、12E-5
 参考资料【 】
 5、【单选题】下列常量中,不是字符常量的是( )。
 A、’\n’
 B、“y”
 C、‘x’
 D、’\101’
 参考资料【 】
 6、【判断题】C++语言支持封装性和继承性,不支持多态性。
 A、正确
 B、错误
 参考资料【 】
 7、【判断题】C++语言程序的实现要经过编辑、编译、连接和运行等步骤。
 A、正确
 B、错误
 参考资料【 】
 8、【判断题】字符串常量与字符常量的区别仅在定义形式上不同,一个用双引号,另一个用单引号。
 A、正确
 B、错误
 参考资料【 】
 9、【判断题】signed int与unsigned int的主要区别在于分配的空间大小不同。
 A、正确
 B、错误
 参考资料【 】
 10、【判断题】C++程序中的每条语句以分号作为结束,一条语句可以分写在多行上。
 A、正确
 B、错误
 参考资料【 】
 第二章课后作业
 第2周 单元测试
 1、【单选题】下列表达式中,其值为0的是( )。
 A、5/10
 B、!0
 C、2>4?:1 
 D、2&&2||0
 参考资料【 】
 2、【单选题】下列变量名中,非法的是( )。
 A、_A2
 B、My_car
 C、3da
 D、abc
 参考资料【 】
 3、【单选题】已知:int a=3; 下列表达式中,错误的是( )。
 A、a%20
 B、a–+2
 C、(a-2)++
 D、a>>=2
 参考资料【 】
 4、【单选题】已知:int b=5; 下列表达式中,正确的是( )。
 A、b=“a”
 B、++(b-1)
 C、b%2.5
 D、b=3, b+1, b+2
 参考资料【 】
 5、【单选题】已知int a=15,b=16; 则cout(b,a);的输出结果是( )。
 A、15
 B、16
 C、15,16
 D、16,15
 参考资料【 】
 6、【单选题】若希望当A的值为奇数时,表达式的值为真,A的值为偶数时,表达式的值为假,则以下不能满足要求的表达式是( )。
 A、A%21
 B、!(A%20)
 C、!(A%2)
 D、A%2
 参考资料【 】
 7、【单选题】表达式3%3/3的计算结果是( )。
 A、3
 B、2
 C、1
 D、0
 参考资料【 】
 8、【单选题】使i的执行结果为4的表达式是( )。
 A、int i=0,j=1; i=3, (j++)+i;
 B、int i=1,j=0; j=i=(i*3)*2;
 C、int i=0,j=1; (j1)(i=1):(i=3);
 D、int i=1,j=1; i+=j+=2;
 参考资料【 】
 9、【单选题】判断char型变量c1是否为小写字母的正确C++表达式为( )。
 A、‘a’<=c1<= ‘z’
 B、(c1>=A)&&(c1<=z)
 C、(c1>=a)&&( c1<=z)
 D、(‘a’ <= c1)&&( ‘z’ >=c1)
 参考资料【 】
 10、【单选题】表达式 !3+2315%5+2 的值是( )。
 A、0
 B、1
 C、2
 D、3
 参考资料【 】
 第三章课后作业
 第3周 单元测试
 1、【单选题】已知int x=10,y=20,z=30,则执行if(xy) z=x;x=y;y=z;语句后,x、y、z的值分别是( )。
 A、x=10, y=20, z=30
 B、x=20, y=30, z=30
 C、x=20, y=10, z=10
 D、x=20, y=30, z=10
 参考资料【 】
 2、【单选题】以下程序的输出结果是( )。int i,j;for(j=10; j11; j++){ for(i=9; ij; i++) if(!(j%i)) break; if(i=j-1) coutj;}
 A、11
 B、10
 C、9
 D、10 11
 参考资料【 】
 3、【单选题】设x和y均为int型变量,则执行下面的循环程序,y的值为( )。for(y=1,x=1;y=50;y++){ if(x=10) break; if(x%21) { x+=5; continue; } x-=3;}
 A、2
 B、4
 C、6
 D、8
 参考资料【 】
 4、【单选题】已知:int i=3; 下列do-while循环语句的循环次数是( )。 do{ couti–endl; i–; }while(i!=0);
 A、0
 B、1
 C、3
 D、无限
 参考资料【 】
 5、【单选题】下列for循环语句的循环次数是( )。 for(int i=0, j=5; i=3; i++, j–);
 A、3
 B、5
 C、0
 D、无限
 参考资料【 】
 6、【单选题】假定所有变量均已正确定义,下列程序段运行后x的值是( )。k1=1; k2=2; k3=3; x=15;if(!k1) x–;else if(k2) x=4; else x=3;
 A、14
 B、15
 C、4
 D、3
 参考资料【 】
 7、【单选题】从以下给出的表达式中选出与while(E)语句中的(E)不能等价的表达式为( )。
 A、(!E0)
 B、(E>0)||(E<0)
 C、(E0)
 D、(E!=0)
 参考资料【 】
 8、【单选题】执行语句 for(i=1;i++4;); 后变量 i 的值是( )。
 A、3
 B、4
 C、5
 D、不定
 参考资料【 】
 9、【单选题】设n为自然数,在下面循环语句中内层循环体S语句的执行总次数为( )。for(int i=0; in; i++) for(int j=i; jn; j++) S;
 A、n2(平方)
 B、(n+1)/2
 C、n(n-1)/2
 D、n(n+1)/2
 参考资料【 】
 10、【单选题】下列while循环语句的循环次数是( )。 while(int i=0) i–;
 A、0
 B、1
 C、2
 D、无限
 参考资料【 】
 第四章课后作业
 第4周 单元测试
 1、【单选题】以下叙述不正确的是( )。
 A、函数是构成C++程序的基本元素
 B、程序总是从第一个定义的函数开始执行
 C、主函数是C++程序中不可缺少的函数
 D、在函数调用之前,必须要进行函数的定义或声明
 参考资料【 】
 2、【单选题】以下函数声明正确的是( )。
 A、double fun(int x,int y)
 B、double fun(int x;int y)
 C、double fun(int x,int y);
 D、double fun(int x, y);
 参考资料【 】
 3、【单选题】下列关于函数声明说法不正确的是( )。void fun(void);
 A、函数声明是一条独立的语句,必须以分号结尾
 B、函数声明通常放在程序的开始部分
 C、函数fun无参数传入
 D、函数fun返回一个值,其类型为void
 参考资料【 】
 4、【单选题】有如下函数调用语句fun(rec1,rec2+rec3,(rec4,rec5));则该函数调用中共有( )实际参数。
 A、3
 B、4
 C、5
 D、有语法错误
 参考资料【 】
 5、【单选题】下列关于return语句的说法错误的是( )。
 A、在函数中通过return语句返回一个函数值
 B、return语句中表达式的类型决定函数返回的类型
 C、在无返回值的函数体中可以没有return语句
 D、当函数返回值的类型为void时,函数中不应出现return(表达式)
 参考资料【 】
 6、【单选题】一个函数为void f(int,float=2.3),另一个函数为void f(int),则它们( )。
 A、不能在同一个程序中定义
 B、可以在同一个程序中定义并可重载
 C、可以在同一个程序中定义,但不可重载
 D、以上说法均不正确
 参考资料【 】
 7、【单选题】下列选择重载函数的不同实现的判断条件中,错误的是( )。
 A、参数类型不同
 B、参数个数不同
 C、参数顺序不同
 D、函数返回值不同
 参考资料【 】
 8、【单选题】在C++中,关于下列设置缺省参数值的描述中,( )是正确的。
 A、不允许设置缺省参数值
 B、在指定了缺省值的参数右边,不能出现没有指定缺省值的参数
 C、只能在函数的定义性声明中指定参数的缺省值
 D、设置缺省参数值时,必须全部都设置
 参考资料【 】
 9、【单选题】下列关于函数模板的描述中,正确的是( )。
 A、函数模板是一个实例函数
 B、使用函数模板定义的函数没有返回类型
 C、函数模板的类型参数与函数的参数相同
 D、通过使用不同的类型参数,可以从函数模板得到不同的实例函数
 参考资料【 】
 10、【单选题】执行完下列语句后,输出的结果正确的是( )。for (int i=1; i3; i++) fun();fun函数的定义如下:void fun(){ static int n=10; n++; cout n=n“ ”;}
 A、n=11 n=11
 B、n=11 n=12
 C、n=10 n=11
 D、n=10 n=10
 参考资料【 】
 第5周 单元测试
 1、【单选题】下列数组说明和初始化正确的是( )。
 A、int a[5]=0;
 B、int b[3]={1,2,3,4};
 C、float c[ ]={1,2,3};
 D、float d={5.3,6.0};
 参考资料【 】
 2、【单选题】执行int a[10]={10*1};后,以下说法正确的是()。
 A、语法错误
 B、10个元素均为1
 C、第1个元素为10,后面9个均为0
 D、10个元素均为0【C】
 参考资料【 】
 3、【单选题】下列二维数组说明和初始化错误的是( )。
 A、int a[2][3]={1,2,3,4,5,6};
 B、int b[ ][3]={2,3,4,5};
 C、int c[3][2]={{1},{2},{3}};
 D、float d[3][ ]={5.3,6.0,6.8};
 参考资料【 】
 4、【单选题】若有以下定义,则对a数组元素错误的引用是( )。 int a[5]={1,2,3,4,5};
 A、a[0]
 B、a[2]
 C、a[a[4]-2]
 D、a[5]
 参考资料【 】
 5、【单选题】下列对字符数组s初始化错误的是( )。
 A、char s[5]={“abc”};
 B、char s[5]={ ‘a’, ‘b’, ‘c’};
 C、char s[5]= " ";
 D、char s[5]=“abcde”;
 参考资料【 】
 6、【单选题】下列关于数组下标的描述中,错误的是( )。
 A、C++语言中数组元素的下标是从0开始的
 B、数组元素下标只能是常量
 C、数组元素可以通过数组名和下标来表示
 D、数组元素的某维下标值应小于该维的大小
 参考资料【 】
 7、【单选题】已知:int ab[ ][3] = {{1, 5, 6}, {3}, {0,2}}; 数组元素ab[1][1]的值为( )。
 A、0
 B、1
 C、2
 D、3
 参考资料【 】
 8、【单选题】已知:char s[ ]=abcd;输出显示字符’c’的表达式是( )。
 A、s
 B、s+2
 C、s[2]
 D、s[3]
 参考资料【 】
 9、【单选题】有如下程序段,则( )。char a[3],b= CUMT;a=b;couta;
 A、运行后输出CUMT
 B、运行后输出CU
 C、运行后输出CUM
 D、编译错误
 参考资料【 】
 10、【单选题】下列程序的运行结果是( )。int fun(char s[]){ int i=0; while(s[i]) i++; return i;}void main( ){ coutfun(abcdefg)endl; }
 A、0
 B、6
 C、7
 D、8
 参考资料【 】
 第五章课后作业
 第6周 单元测试
 1、【单选题】若有以下定义,则对字符串的操作错误的是( )。char s[10]= program,t[ ]= test ;
 A、strcpy(s,t)
 B、cout<<strlen(s);
 C、strcat(s,t)
 D、cin>>t;
 参考资料【 】
 2、【单选题】下列程序的运行结果是( )。void main( ){char s1[10]= abcde ,s2[10]= 123,s3[ ]= ABC;coutstrcat(s2,strcpy(s1,s3))endl;}
 A、ABC123
 B、123abc
 C、123ABC
 D、123ABCde
 参考资料【 】
 3、【单选题】已知:char ss[ ][6]={while, for, else, break};输出显示reak字符串的表达式是( )。
 A、ss[3]
 B、ss[3]+1
 C、ss+3
 D、ss[3][1]
 参考资料【 】
 4、【单选题】以下程序段的输出结果是( )。char alp[][5]={ABC,DEF,GHI}; coutalp[1];
 A、A
 B、B
 C、D
 D、DEF
 参考资料【 】
 5、【单选题】char s1[10]=abcdef, s2[20]=inter;cins1; int k=0,j=0; while(s2[k]) k++;while(s1[j]) s2[–k]=s1[++j]; 时,若键盘输入的是net,则couts1 s2;的输出结果是( )。
 A、net in
 B、net net
 C、netdef inter
 D、netdef net
 参考资料【 】
 6、【单选题】为了判断两个字符串s1和s2是否相等,应当使用( )。
 A、if(s1s2)
 B、if(s1=s2)
 C、if(strcmp(s1,s2))==0)
 D、if(strcat(s1,s2)==0)
 参考资料【 】
 7、【单选题】下列关于定义一个指向double型变量的指针,正确的是( )。
 A、int a=5; double *pd=a;
 B、double d=2.5, *pd=&d;
 C、double d=2.5, *pd=d;
 D、double a=2.5, pd=d;
 参考资料【 】
 8、【单选题】下列关于指针概念的描述中,错误的是( )。
 A、指针中存放的是某变量或对象的地址值
 B、指针的类型是它所存放的数值的类型
 C、指针是变量,它也具有一个内存地址值
 D、指针的值(非常量指针)是可以改变的
 参考资料【 】
 9、【单选题】设int a=3,*p=a;,则p的值是( )。
 A、变量a的地址值
 B、无意义
 C、变量p的地址值
 D、3
 参考资料【 】
 10、【单选题】设int *p2=x, *p1=a; *p2=*b; 则变量a和b的类型分别是( )。
 A、int和int
 B、int * 和int
 C、 int和int *
 D、 int * 和int *
 参考资料【 】