收藏 分销(赏)

C++期中考试试题.doc

上传人:xrp****65 文档编号:5973282 上传时间:2024-11-24 格式:DOC 页数:6 大小:61.50KB 下载积分:10 金币
下载 相关 举报
C++期中考试试题.doc_第1页
第1页 / 共6页
C++期中考试试题.doc_第2页
第2页 / 共6页


点击查看更多>>
资源描述
C++期中考试试题 一、 选择题(20*1) 1.设有说明“int a = 3,b = 5,m;”,则执行表达式“m = a<=3&& a+b<8”后,m的值为 。 A.tree B.false C.0 D.1 2.设有说明“int x=5, y=7, z=8;”,执行表达式“z += x++||y++||++z”后,则x、y、z的值分别为 。 A.6、7、9 B.6、8、10 C.6、8、8 D.6、8、1 3.设有以下语句序列: int x; cin>>x; float z, y[x]={1,2,3,4,5,6,7,8}; //A z=v[3]; //B 则以下说法中正确的是 。 A.z的值为4 B.z的值为3 C.B行语句错 D.A行语句错 4.有关函数重载的正确说法是 。 A.函数名不同,但参数的个数和类型相同 B.函数名相同,但参数的个数不同或参数的类型不同 C.函数名相同,参数的个数和类型也相同 D.函数名相同,函数的返回值不同,而与函数的参数和类型无关 5.数组作为函数的形参时,把数组名作为实参,传递给函数的是 。 A.该数组的首地址 B.该数组的元素个数 C.该数组中的各元素值 D.该数组的大小 6.执行以下语句序列: enum {Red,Blue,Yellow}cl,c2;cl=YeHow; //A cout << cl; //B 则 。 A.输出1 B.输出2 C.输出3 D.B行语法错 7.设有说明语句“int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; int * p=&a[0][0];”,能够正确表示数组元素a[2][2]的表达式是 。 A.p[2][2] B.*(*(p+2)+2) C.*(p+10) D.*(p+8) 8.在循环语句的循环体中使用break语句的作用是 。 A.结束本次循环 B.结束该层的循环 C.结束开关语句 D.结束程序执行 9.设有说明语句“int A[4][3]={{1,2},{3,4,5},{6,7,8},{9,10}};”,则A[0][2]和A[2][2]的初始化值分别为 。 A.0、7 B.3、8 C.3、7 D.0、8 10.设有语句“float(*p)(int,int);”,该语句的作用是 。 A.函数原型说明 B.p为指向函数的指针变量 C.函数定义 D.p为指向整数的指针变量 11.循环语句for(<表达式1>;<表达式2>;<表达式3>)<语句>中,<语句>的执行情况是 。 A.至少执行一次 B.至少执行两次 C.可能执行,也可能不执行 D.不执行 12.设有函数定义“int f1(void){return 100,200;}”,设用函数f1()时, 。 A.函数返回值100 B.函数返回两个值100和200 C.函数返回值200 D.语句“return 100,200;”语法错,不能调用函数 13.设有语句“int fun(char*,int &);char str[100];int k;”,则对函数fun的正确的调用形式是 。 A.fun(str, &k) B.fun (str, k) C.fun(str[100], k) D.fun(str[100], &k) 14.执行下列程序段后,变量i的值为 。 int i = 10; switch(i) { case 9: i+=1; case 10: i+=1; case 11: i+=1; default: i+=1; } A. 13 B.12 C.11 D.14 15.设有语句“for(int i=5, sum=0; i<10, sum++; i++)sum+=i;”,则for()语句的执行情况是 。 A.循环0次 B.循环4次 C.循环5次 D.循环6次 16.设有说明“int x[]={1,2,3,4,5}, *p=x;”,输出值不是5(数组x的元素个数)的是 。 A.cout<<sizeof(x)/sizeof(int)<<'\n'; B.cout<<sizeof(x)/sizeof(x[0])<<'\n'; C.cout<<sizeof(p)/sizeof(int)<<'\n'; D.cout<<sizeof(x)/sizeof(1)<<'\n'; 17.下列数组定义中错误的是 。 A.char s1['a']; B.char s2[6]="string"; C.static int a[4]={1}; D.char * p[]={"A","B","C"}; 18.在数学式中,变量x和y的取值为整数,而变量a和b的取值为实数,在C++程序中对应的正确表达式是 。 A.3/5*x*y/a/b B.3*x*y/5/a/b C.3*x*y/5*a*b D.3/a/b/5*x*y 19.编译以下程序时,结果是 。 #include<iostream.h> //第1行 #define aa 123; //第2行 void main(void) //第3行 {cout<<aa<<'\n';} //第4行 A.编译时第2行出错 B.编译时第4行出错 C.编译时第2行和第4行均出错 D.编译时无错误 20.若定义了说明语句:int m=10;下列选项中,能正确说明引用类型变量x的语句是 A.int &x=m; B.int &x=10; C.int &x; D.int &x=&m; 二、填空题(请将答案填写在答题纸的相应答题号内,每个答案只占一行) ● 基本概念题(6*1) 1.C++关系表达式中的关系成立时,则该关系表达式的值为 。 2.静态整型变量有确定的初值,其缺省的初值是 。 3.设有语句“char s[]="China\0Nanjin";int m=strlen(s);”,则m的值是 。 4.若有宏定义: # define T(x,y,z) x*y*z/4 则表达式T(3+4,2*4,4+4)的值是 。 5.以下语句输出结果为 。 int a = 10; int b = 6; int cbit = a | b; int clogic = a || b; cout << cbit << “\n” << clogic << “\n” ; 6.vector<int> b(10, 1) 请解释该语句的作用 : ● 阅读程序题(10*3) 7.以下程序输出的第一行是 ,第二行是 。 int a = 15; void main() { int a = 20, b = 40; { int a = 0, b = 0; for(int i = 1; i < 3; i++) { a += i; b += a; } cout << a << ' ' << b << ' ' << ::a << endl; } cout << a << ' ' << b << endl; } 8.以下程序输出的第一行是 ,第二行是 。 int f(int x=0) { static int t = 10; //A int a = 10; //B t += 5; a += 5; return x * a + t; //C } void main(void) { cout<<f()<<endl; cout<<f(5)<<endl; } 9.以下程序的输出结果是 。 void f(int &a, int&b){int t=a;a=b;b=t;} void main(void) {int x=100,y=200; f(x, y); cout<<x<<'\t'<<y<<'\n';} 10.以下程序的输出结果是 。 void p(int *a, int *b){int *t=a;a=b;b=t;} void main(void) { int x=100,y=200;p(&x,&y);cout<<x<<'\t'<<y<<'\n';} 11.以下程序输出的结果是 。 void main(void) { for(int a=1,b=1;a<=5;a++) { if(b>=8) break; if(b%2==1){b+=7;continue;} b-=3; } cout<<"a="<<a<<'\n'<<"b="<<b<<'\n'; } 12.以下程序输出的第一行是 ,第二行是 。 void main(void) { int x=6; do{x-=2; cout<<x<<'\n'; }while(--x); } 13.以下程序输出的第一行是 ,第二行是 。 int f(void) { static int a,b=10,c=1; a+=b;b+=c;return c=a+b; } void main(void) { cout<<f()<<endl;cout<<f()<<endl;} 14.以下程序输出的第一行至第三行分别是 、 和 。 int f(int x,int y) {return x*y;} void main(void) { int i,j,(* fun)(int,int); fun=f; for(i=1;i<4;i++) { switch(i) { case 1: case 2:j=(*fun)(i,i+1);break; case 3:j=(*fun)(i-1,i+2);break; } cout<<"j="<<j<<'\n'; } } 15.以下程序输出的第一行至第三行分别是 、 和 。 #include <vector> #include <iostream> #include <string> int main(void) { using namespace std; vector<string> vec; vector<string>::const_iterator i; vec.push_back("bird"); vec.push_back("girl"); vec.push_back("boy"); for(i=vec.begin(); i!=vec.end(); ++i){ cout<<(*i)<<endl; } return 0; } 16.以下程序输出的第一行至第三行分别是 、 和 。 #include <stack> #include <iostream> int main(void){ using namespace std; //创建堆栈对象 stack<int> s; //元素入栈 s.push(3); s.push(19); s.push(23); //元素依次出栈 while(!s.empty()) { cout << s.top() << endl; //打印栈顶元素 s.pop(); //出栈 } return 0; }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服