C++期中考试试题(201405)
更新时间:2024-04-28 02:41:01 阅读量: 综合文库 文档下载
C++期中考试试题
一、 选择题(20*1)
1.设有说明“int a = 3,b = 5,m;”,则执行表达式“m = a<=3&& a+b<8”后,m的值为 C 。
A.tree
B.false
C.0
D.1
2.设有说明“int x=5, y=7, z=8;”,执行表达式“z += x++||y++||++z”后,则x、y、z的值分
别为 A 。
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}; z=v[3];
B.z的值为3
//A //B
C.B行语句错
D.A行语句错
则以下说法中正确的是 D 。
A.z的值为4
4.有关函数重载的正确说法是 C 。 A.函数名不同,但参数的个数和类型相同
B.函数名相同,但参数的个数不同或参数的类型不同 C.函数名相同,参数的个数和类型也相同
D.函数名相同,函数的返回值不同,而与函数的参数和类型无关 5.数组作为函数的形参时,把数组名作为实参,传递给函数的是 C 。 A.该数组的首地址 C.该数组中的各元素值 6.执行以下语句序列:
enum {Red,Blue,Yellow}cl,c2;cl=YeHow; //A cout << cl;
则 C 。
//B
B.该数组的元素个数 D.该数组的大小
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]的表达式是 C 。
A.p[2][2]
B.*(*(p+2)+2)
C.*(p+10)
D.*(p+8)
8.在循环语句的循环体中使用break语句的作用是 B 。
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]的初始
化值分别为 D 。
A.0、7
B.3、8
C.3、7
D.0、8
10.设有语句“float(*p)(int,int);”,该语句的作用是 B 。
A.函数原型说明 C.函数定义
B.p为指向函数的指针变量 D.p为指向整数的指针变量
11.循环语句for(<表达式1>;<表达式2>;<表达式3>)<语句>中,<语句>的执行情况是
C 。
A.至少执行一次
B.至少执行两次 D.不执行
C.可能执行,也可能不执行
12.设有函数定义“int f1(void){return 100,200;}”,设用函数f1()时, B 。
A.函数返回值100
B.函数返回两个值100和200 C.函数返回值200
D.语句“return 100,200;”语法错,不能调用函数
13.设有语句“int fun(char*,int &);char str[100];int k;”,则对函数fun的正确的调用形式是
C 。
A.fun(str, &k) C.fun(str[100], k)
B.fun(str, k) D.fun(str[100], &k)
14.执行下列程序段后,变量i的值为 C 。 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()语句的执行情况是
C 。
A.循环0次
B.循环4次
C.循环5次
D.循环6次
16.设有说明“int x[]={1,2,3,4,5}, *p=x;”,输出值不是5(数组x的元素个数)的是 D 。
A.cout< 17.下列数组定义中错误的是 B 。 A.char s1['a']; C.static int a[4]={1}; B.char s2[6]=\; D.char * p[]={\; 3xy18.在数学式5ab中,变量x和y的取值为整数,而变量a和b的取值为实数,在C++程序 中对应的正确表达式是 B 。 A.3/5*x*y/a/b C.3*x*y/5*a*b 19.编译以下程序时,结果是 D 。 #include A.编译时第2行出错 C.编译时第2行和第4行均出错 //第1行 //第2行 //第3行 //第4行 B.编译时第4行出错 D.编译时无错误 B.3*x*y/5/a/b D.3/a/b/5*x*y 20.若定义了说明语句:int m=10;下列选项中,能正确说明引用类型变量x的语句是 A A.int &x=m; B.int &x=10; C.int &x; D.int &x=&m; 二、填空题(请将答案填写在答题纸的相应答题号内,每个答案只占一行) ● 基本概念题(6*1) 1.C++关系表达式中的关系成立时,则该关系表达式的值为 1 。 2.静态整型变量有确定的初值,其缺省的初值是 0 。 3.设有语句“char s[]=\\\0Nanjin\,则m的值是 5 。 4.若有宏定义: # define T(x,y,z) x*y*z/4 则表达式T(3+4,2*4,4+4)的值是 112 。 int a = 10; 5.以下语句输出结果为 。 int b = 6; int cbit = a | b; int clogic = a || b; cout << cbit << “\\n” << clogic << “\\n” ; ● 阅读程序题(10*3) 7.以下程序输出的第一行是 3 4 15 ,第二行是 20 40 。 int a = 15; void main() { } int a = 20, b = 40; { } cout << a << ' ' << b << endl; } cout << a << ' ' << b << ' ' << ::a << endl; int a = 0, b = 0; for(int i = 1; i < 3; i++) { a += i; b += a; 8.以下程序输出的第一行是 15 ,第二行是 95 。 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) { } 9.以下程序的输出结果是 200 100 。 10.以下程序的输出结果是 100 200 。 11.以下程序输出的结果是 a=2 b=8 。 void main(void) { for(int a=1,b=1;a<=5;a++) { if(b>=8) break; if(b%2==1){b+=7;continue;} void main(void) { int x=100,y=200;p(&x,&y);cout< void p(int *a, int *b){int *t=a;a=b;b=t;} 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< b-=3; } cout<<\} 12.以下程序输出的第一行是 4 ,第二行是 1 。 编程1: 1. 输入3个系数a,b,c,求解一元二次方程根。 #include #define ESSP 0.00000001 void main() { double a,b,c,delta,root1,root2; cout<<\cout<<\cout<<\delta=b*b-4*a*c; if(delta<-ESSP) cout<<\ else if(delta>ESSP) { root1=(-b+sqrt(delta))/(2*a); root2=(-b-sqrt(delta))/(2*a); cout<<\ } else { void main(void) { cout< void main(void) { int x=6; do{x-=2; cout< { static int a,b=10,c=1; a+=b;b+=c;return c=a+b; } 13.以下程序输出的第一行是 21 ,第二行是 53 。 root1=-b/(2*a); cout<<\} } 2. 输入两个正整数,求其最大公约数和最小公倍数。 main() {int p,r,n,m,temp; printf(\请输入两个正整数 n,m:\scanf(\if(n{temp=n; n=m; m=temp; } p=n*m; while(m!=0) {r=n%m; n=m; m=t; } printf(\它们的最大公约数为:%d\\n\printf(\它们的最小公倍数为:%d\\n\} 3. 输入一个正整数n,求出n以内的所有素数。 #include\#include\void main() { int n,m,i,j; printf(\请输入一个正整数n:\ scanf(\ printf(\少于%d的素数为:\ for(i=2;i<=n;i++) { m=sqrt(i); for(j=2;j<=m;j++) if(i%j==0) break; if(j>=m+1) printf(\ } printf(\} 4. 输入一个十进制正整数,将其转换为二进制。 #include void main() { int a,i=0,j;// int c[16]; cout<<\输入一个十进制的正整数:\ cin>>a; if(a<0) cout<<\输入错误,请输入正整数!\ if(a==0) cout<<\转为二进制后为:0 \ while(a) { c[i]=a%2; i++; a=a/2; } for(j = i-1;j>=0;j--) cout<
正在阅读:
C++期中考试试题(201405)04-28
双证在职研究生数学试卷结构及各科目分值12-07
货币银行学试题A卷110-20
2019小学生观察蚂蚁的作文06-13
探究产生感应电流的条件06-29
orCAD - PADS学习笔记05-20
苗木花卉遭遇雪灾抢救技术06-06
退休人员劳务合同(标准版)范本04-08
置业顾问邀约客户说辞12-30
如何构建绩效管理的指标体系 课后测试05-14
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- C++
- 期中
- 试题
- 考试
- 201405
- 人教版2017-2018年度物理八年级下学期期末复习练习题及答案
- 《诚信就在身边》教案
- 公司制冷技术实习报告范文-word范文模板(6页)
- 小升初语文知识点专项复习:错别字总复习
- 保险学练习题
- 2013厦门事业单位行测考试:常识判断之政治常识
- 理论试题二
- 179儿科护理练习_第四章 新生儿及新生儿疾病理.练习
- 通风试题
- 2018保险业反洗钱考试题库
- Vivi(Bootloader)源代码分析与移植 - 图文
- 【恒心】【好卷速递】甘肃省张掖市2012届高三4月高考诊断试卷 文
- 文明礼仪评比细则 - 图文
- 江苏建筑节能工程施工质量验收资料 - 图文
- 高三数学第二轮复习教案 第5讲 解析几何问
- 2013高考生物常见难题大盘点:细胞呼吸
- 可口可乐并购汇源案例分析
- 林两传与康拜玉手法精髓
- 路遥《平凡的世界中孙少安和孙少平形象的对比分析》
- 005计量经济学模拟试题(六套)及答案