C-C++习题一期末考试例题(附答案)
更新时间:2023-08-13 03:36:01 阅读量: 小学教育 文档下载
- 数据流图期末考试例题推荐度:
- 相关推荐
C/C++语言程序设计单元测试(一)
班级:学号:姓名:得分:
一、选择题
1.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( C )
A.必须为字母
B.必须为下划线
C.必须为字母或下划线
D.可以是字母,数字和下划线中任一种字符
2.以下4组用户定义标识符中,全部合法的一组是(A)
A._main enclude sin1 B.If -max turbo
C.txt REAL 3COM D.int k_2 _001
3. 下列不是C++语言合法的关键字是( D )
A. swicth
B. char
C. sizeof
D. cin
4.下面正确的字符常量是( C)
A."a"
B.'\\''
C.'W'
D. ' '
5.下面不正确的字符串常量是( A )
A.'abc'
B."12'12"
C."0"
D." "
6. 字符串“cp”存放在内存中占用字节数为( C)
A.2
B.4
C. 3
D. 1
7.设有数组定义:char array[ ]="good!"; 则数组所占的空间是(C)。
A.4个字节 B. 5个字节 C. 6个字节 D. 7个字节
8. 设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;功能是( D )
A. 把x和y按从大到小排列
B. 把x和y按从小到大排列
C. 无确定结果
D. 交换x和y中的值
9.字母A的ASCII码为65,且c2为字符型,则执行语句c2='A'+'6'-'3';后,c2中的值为( B )
A.D
B.68
C.不确定的值
D.C
10.若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是(B)
A.2.500000
B.2.7500OO
C.3.500000
D.0.000000
11.设有说明: char w; int x; f1oat y; double z;则表达式w* x+z一y值的数据类型为( D )
A.float
B.char
C.int
D.double
12.若有以下定义,则能使值为3的表达式是(D)
int k= 7,x =12;
A.x%=(k%=5)
B.x%=(k-k%5)
C.x%=k- k%5
D.(x%=k)-(k%=5)
12.若希望当A的值为奇数时,表达式的值为"真",A的值为偶数时,表达式的值为“假”。则以下不
能满足要求的表达式是( C )
A. A%2= =1
B.!(A%2 = =0)
C.!(A%2)
D.A%2
13.设有int a = 1,b=2,c =3, d =4, m=2, n=2;
执行(m= a>b)&&(n=c>d)后n的值为(B)
A.1
B.2
C.3
D.4
14.若w=1,x = 2,y= 3,z=4,则条件表达式w<x?w:y<z?y:z的值是( B)
A.4
B.3
C.20
D.1
1
15.若s是int型变量,则表达式s=17/3%3的值为(C)。
A.25 B.1C.2 D.3
16. 设有程序段int m=0; while (m=2) m=m++;则下面描述中正确的是(D)。
A. while 循环执行2 次
B. 循环体语句执行1次
C. 循环体语句1次也不执行
D. 循环是无限循环
17. 若已定义int a[10];则在下列表达式中不表示a[1]的地址的是(A)
A.a++ B.a+1 C.&a[0]+1 D.&a[1]
18. 面有关C语言函数的叙述正确的是( B)。
A.可嵌套定义B.嵌套调用和递归调用均可
C.不可以嵌套调用D.可嵌套调用但不可递归调用19.定义int a=10; int *p=&a; 下列描述( D)是正确的。
A.&a和&p的值相同;B.&a和*p的值相同;
C.a和p的值相同;D.&a和p的值相同;
20.下列关于结构体描述中,错误的是(C)。
A.结构体可以包括基本数据类型变量
B.结构体可以包含其他已定义的结构体变量
C.结构体可以包含自身类型的变量
D. 结构体可以包含自身类型的指针变量
21. 下面对于友元函数描述正确的是( C)。
A. 友元函数是类的成员函数
B. 友元函数的实现必须在类的内部定义
C. 友元函数破坏了类的封装性
D. 友元函数不能访问类的私有成员
15. 公有继承时,子类函数只可访问父类中的(B)和子类自己的公有成员。
A.非私有成员;B.公有成员;C.私有成员;D.保护成员;
二、程序分析题
1. 以下程序的运行结果 10-9
#include<iostream.h>
int main( )
{
int x=1, y=0, a=10, b=10;
switch(x)
{
case 1:
switch(y)
{
case 0: a--; break;
case 1:b++; break;
}
case 2:a++;b--;break;
}
cout<<a<<’-’<<b;
return 0;
}
2.以下程序的输出结果是___________13*20_________________________________ #include<iostream.h>
int f(int n)
{
static int k = 1;
int m=2;
k++;
2
return 3*n + k +m;
}
int main()
{
cout<< f(3)<<’*’;
cout<<f(5)<<endl;
return 0;
}
3.以下程序运行时,若从键盘上输入元素:10 9 8 7 6 1 2 3 4 5,请写出程序的运行
结果:1*5 。
#include<iostream.h>
int main()
{
int a[10],*p,*s,i;
for(i=0;i<10;i++)
cin>>a[i];
p=a; s=a;
for(; p<a+10; p++)
{
if(*p<*s)
s=p;
}
cout<<*s<<"*"<<s-a<<endl;
return 0;
}
4.以下程序的运行结果是( 6 )
#include<iostream.h>
int main()
{
int m=5;
if(m++> 5)
cout<<m<<endl;
else
cout<<m--<<endl;
return 0;
}
三、程序完善题
1. 以下程序的功能是输出200~300之间所有素数,请完善代码。
#include<iostream.h>
#include <math.h>
int prime(int x)
{
int i,k;
k=sqrt(x);
for(i=2;i<=k;i++)
{
if ( x%i==0 )
break;
}
if ( (1) ) i<=k
return 0;
else
return 1;
}
3
int main()
{
int m,i,k;
for (m=200;m<=300;m++)
{
if ( (2) ) prime(m)
cout<<m<<‘ ’;
}
return 0;
}
2.以下程序用1-16给一个4行4列的数组赋值,并计算右上半三角元素的和,请完善代码。#include<iostream.h>
int main( )
{
int s[4][4];
int i,j,k=1,sum=0;
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
s[i][j]=k;
(1); k++
}
}
for(i=0;i<4;i++)
{
for(j=0; (2); j++) j<=I for(j=i; j<4 ; j++)
sum+= (3); s[j][i] sum+= s[i][j];
}
cout<<"sum="<<sum<<endl;
return 0;
}
下列程序功能是采用“顺序查找法”查找数组中是否存在元素n,请完善代码。
#include<iostream.h>
void main( )
{
int a[6]={ 1, 3, 2, 6, 4, 8};
int i, n;
cin>>n;
for (i=0; i<6; i++)
{
if ( (1)) a[i]==n
(2); break
}
if ((3)) i<6
cout<<“ 找到了!数组下标为”<<i;
else
cout<<“数组中未找到!”;
}
4
四、程序设计题
1. 编写子函数double fact(int n)计算n!,要求主函数键盘输入整数n,调用子函数计算n! ,并显示结果。
#include<iostream.h>
double fact(int n);
int main( )
{
int a;
cin>>a;
cout<<fact(a)<<endl;
}
double fact(int n){
if(n==1) return 1;
return n*fact(n-1);
}
2. 用公式求 的近似值,直到某一项的绝对值小于0.0001为止。
#include <iostream>
using namespace std;
#include<math.h>
int main()
{
double a, b = 3, c, d = 0;
for (a = 1; 1 / b > 0.0001; a =a + 4,b=b+4)
{
c = 1 / a - 1 / b;
d = c + d;
}
cout<<4*d<<endl;
return 0;
}
3.编写程序比较两个字符串,若相等,返回0;前字符串大,返回1;否则,返回-1;请完成子函数。#include<iostream.h>
int stringCompare(char s1[10],char s2[10]);
void main( )
{
char str1[10],str2[10]; int flag;
cout<<"Please input 2 strings:\n";
cin>>str1>>str2;
5
flag=stringCompare(str1,str2);
cout<<"flag= "<<flag<<endl;
}
int stringCompare(char s1[10],char s2[10])
{ int n;
for(int i=0;i<10;i++){
n=s1[i]-s2[i];
if(n==0)return 0;
else if(n>0)return 1;
else return -1;
}
}
4. 下列代码是CmyPoint类的定义,请写出类的构造函数。class CmyPoint
{
private:
int X,Y;
public:
CmyPoint(int x,int y);
CmyPoint(CmyPoint& p);
CmyPoint(){}
~CmyPoint(){}
int getX() { return X; }
int getY() { return Y; }
};
CmyPoint::CmyPoint(int x,int y){
X=x;
Y=y;
}
CmyPoint::CmyPoint(CmyPoint& p){
X=p.X;
Y=p.Y;
}
6
正在阅读:
C-C++习题一期末考试例题(附答案)08-13
java达内培训学习笔记01-14
13届会计系09级(本科)毕业论文动员会07-21
企业并购整合风险研究09-27
加工贸易违规操作实例04-10
镁铝合金应用状况06-07
Photoshop题库03-08
视听语言笔记03-08
热爱生命的故事,珍爱生命的故事02-07
- 通信原理实验报告
- 2016年上半年安徽省临床医学检验技术中级技师职称试题
- 传智播客刘意老师JAVA全面学习笔记
- 星级酒店客房部保洁服务标准与工作流程操作规范 - PA新员
- 算法竞赛入门经典授课教案第1章 算法概述
- 《微信公众平台架起家校互通桥》结题报告
- 2018年宁夏银川市高考数学三模试卷(理)Word版含解析
- 大学生创业基础 - 尔雅
- 2016年6月英语六级真题写作范文3套
- 中国磁性材料纸行业专项调查与发展策略分析报告(2015-2020)
- 云南省2018届高三普通高中学业水平考试化学仿真试卷二Word版缺答案
- 窗函数法设计低通滤波器
- 第三章 绩效考评方法与绩效管理模式
- 高等数学教案
- 个人独资合伙企业习题及答案
- 小学语文沪教版三年级上册第六单元第30课《想别人没想到的》公开课优质课教案比赛讲课获奖教案
- 曳引钢丝绳及其他曳引系统校核计算 - 图文
- 淮阴工学院管理学期末试卷7 - 图文
- 受力分析方法(1)
- 2013-2014学年陕西省西安市西工大附小五年级(上)期末数学试卷及解析
- 例题
- 习题
- 期末
- 答案
- 考试
- 五金价格表
- 标准二手房买卖合同一完整版
- 《莎士比亚悲剧集》读后感施红
- 大连东软信息学院第十届学生会学生干部360度绩效考评方案
- 有关增值税发票的问题
- 超磁致伸缩材料的特性及其发展应用
- 2010年二级建造师考试《公路工程管理与实务》真题_附考题答案及答案解析
- CSS相关学习内容总结
- U-BOOT源码分析及移植
- Keys for free in description logics
- 呼伦贝尔市新巴尔虎右旗2021年中考物理一模试卷D卷
- 论文模板健胃愈疡颗粒对胃溃疡大鼠胃组织核因子_B的活化和IL_8表达的影响
- 喝电解水注意事项和适应性
- 小学语文毕业考试试卷及答案
- 第8章 化学动力学自测题(章节练习)
- 炊事员工作职责
- 戦後日本女性结婚観の変迁(毕业论文)
- 散步教案及练习题(含答案)
- 2013年日历表(含农历、节假日-完全版)
- 郑州市2011年度师德先进个人推荐表