77范文网 - 专业文章范例文档资料分享平台

C++习题(附答案)

来源:网络收集 时间:2020-05-18 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

一.单项选择题(每小题2分,共20分) 1.下列字符列中,合法的长整型常量是:c (A) 4.18e3 值分别是:b (A) 0,0 (A) *=

(B) 0,1 (B) ?::

(C) 1,0 (C) &&

(D) 1,1 (D) >=

(B) 0.46793

(C) 4L

(D) 956738

2.设变量x,y,a,b,c,d的值为1,计算表达式(x=a!=b)&&(y=c!=d)后,变量x,y的

3.以下运算符中,优先级最低的是:a

4.在C++中,char类型数据在内存的存储形式是:d (A) 原码 a (A) 0

(B) 1

(C) 5

(D) 6

6.下面的变量定义中,不正确的是:c (A) char *p=”string” (C) float *q=&b, b;

(B) int a[]={‘A’,’B’,’C’}

(D) doudle a, *r=&a;

(B) 反码

(C) 补码

(D) ASCII码

5.设变量定义int x = 6, y, z; 执行语句 y = z = x--; y = x == z; 后变量y的值是:

7.设有变量定义 doubleb[5], *p=b; 能正确表示b数组中元素地址的表达式是:a (A) b

(B) b+5

(C) *b[0]

(D) &b

8.设有变量定义 int a[]={2,3,5,9,11,13},*pa=a, w; 执行语句w=++(*++pa); 后,变量w和*pa的值是:d

(A) 3和3 (B) 4和3 (C) 3和4 (D) 4和4 9.语句if(w) ? ; else ? ; 中的表达式w的等价表示是:c (A) w==0

(B) w==1

(C) w!=0

(D) w!=1

10.设有函数说明和变量定义:int max(int x,int y); int(*p)(int,int)=max; int a, b; 以下正确调用函数的代码是:b

(A) *p(a,b) (B) p(a,b) (C) *(p(a,b)) (D) p(&a,&b)

二.简答题(每小题2分,共20分)

1.语句 cout<

2.表述问题“x或y中有一个小于z”的C++表达式是? x

3.设有变量定义 int y=2; 表达式 y+=y*=2*y+1 的值是? 20

4.设有变量定义 char s[10]=”student”, *p=s; 则*(p+7)的值? ’\\0’

5.设有变量定义int w[]={1,3,5,7,9}, *p=w; 表达式 *(p+2)**(w+3)的值? 35

1

6.变量定义 int (*pf)(int); 中pf是? 指向返回 int型,有一个int型参数是指针

7.设有变量定义 int a[3][2]={1,2,3,4,5,6}, (*p)[2]=a; 表达式**(p+2)的值? 5

8.设有变量定义 struct{int x; int y; }d[2]={{1,4},{3,5}}; 表达式d[0].y / d[0].x * (d+1)->x 的值? 12

9.设有函数调用语句 Avegare(a,50,ave)的功能是求整型数组前50个元素的平均值ave。

对应的函数原型是?

void Avegare(int [],int, int &);

10.有说明 struct link{ int code; link *next; }; link *head,*p;已知head为单链表

的头结点,在head之前插入p结点操作的语句是? p->next=head; head=p;

三.分析程序,写输出结果(每小题5分,共20分) 1.

#include int gcd(int m, int n) {while(m!=n)

if(m>n)m-=n;else n-=m; return m; } main()

{ cout<

2.

#include int sum(int n) {int c=0;

do{ c+=n; n/=10; } while(n); return c; } main()

{cout<

答案:6 22

3. #include

void s(int *a,int n) {int i,j,t; for(i=0;i

{ for( t=a[i],j=i-1; j>=0 && t

void main()

{ int i,c[6]={15,5,48,7,3,23}; s(c,6);

for(i=0;i<6;i++) cout<

2

cout<

答案:3 5 7 15 23 48

4. #include

#include void r(char *s) {int len,i; char c; len=strlen(s); for(i=0;i

{ c=s[i]; s[i]=s[len-i-1]; s[len-i-1]=c; } }

void main()

{ char c[]=\ r(c);

cout<

答案:87654321

四.根据程序功能填空。(每空2分,共20分) 1.以下程序求方程的全部整数解:

3x + 2y - 7z = 5

void main() { int x,y,z;

for(x=0;x<=100;x++) for(y=0;y<=100;y++) { if((z=3*x+2*y-5)%7)

______(1)______ continue; ______(2)______ z=z/7; //求出z的值

if(______(3)______ z>=0&&z<=100 ;) //检查z的范围 cout<<\ } }

(0≤x,y,z≤100)

#include

2.函数sort()对n个元素的数组a[],用选择法从小到大排序。

void sort(int a[],int n) {int i,j,k,t;

for(i=0;i

{ for(k=i, ______(4)______ j=i+1 或j=i; j

3

if(______(5)______ a[j]

{ t=a[k]; a[k]=a[i]; a[i]=t; } } }

void main()

{ int x[]={4,7,1,9,7,4,80,34,25,13},y; sort(______(7)______ x,10 ); for(y=0;y<10;y++) cout<

3.函数fun1( ),fun2( ),fun3( ) 分别用于计算3个整型数x,y,z的最大值、最小值和平均值(函数定义从略)。函数execute ( )则是可以完成这些计算的通用函数。请填空。

int fun1(int,int,int); int fun2(int,int,int); int fun3(int,int, int); void main ( )

{ _____(8)______ int( *function[3])(); // 对function的声明 int x, y, z, i; cin>>x>>y>>z;

function[0]=fun1; function[1]=fun2; function[2]=fun3; for(i=0; i<3; i++)

cout<<\fun No.\<

float execute( _____(10)______ int a ,int b,int c,(* funp)()) { return ((*funp)(a,b,c)); }

五.程序设计(第1小题6分,第2、3小题各7分,共20分)

1. 编写函数输出以下形状的图形,其中构成图形的符号和输出的行数通过参数传送。

# # # # # # # # # # # # # # # #

2. 编写一个函数countdigit(long k, int count[10]),求出整数k中0~9各数字出现的

次数,结果存放于数组count[]中。

3. 有类型说明:struct node{ int date; node *next };

4

函数 int delx(node *head, int x); 的功能是从以head为表头的单链表中删除date等于x的结点。如果成功删除,函数返回1;如果找不到x结点,函数返回0。设计函数delx。

参考答案

一.单项选择题(每小题2分,共20分) 1.C 2.B 3.A 4.D 5.A 6.C 7.A 8.D 9.C 10.B

二.简答题(每小题2分,共20分)

1.******1234 2.x

5.35 6.指向返回 int型,有一个int型参数是函数指针 7.5 8.12 9.void Avegare(int [],int, int &); 10.p->next=head; head=p;

三.分析程序,写输出结果(每小题5分,共20分) 1.13

2.6 22

3.3 5 7 15 23 48 4.87654321

四.根据程序功能填空。(每空2分,共20分)

(1) continue (5) a[j]

(2) z=z/7 (4) j=i+1 或j=i (6) k!=i

(3) z>=0&&z<=100

(9) function[i] 五.略

(8) int( *function[3])()

(10)int a ,int b,int c,(* funp)()

1、用关系表达式或逻辑表达式表示下式: (1) n是大于整数k的偶数;

(2) 年份Year能被4整除,但不能被100整除或者能被400整除。 2、 输入一个五位整数,将之反方向输出。

3、 输入五个整数,求出其中最大、最小数(要求使用条件表达式)

第一章 基本数据与表达式

一.单项选择题

1.下列字符列中,合法的标识符是:( A )

5

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库C++习题(附答案)在线全文阅读。

C++习题(附答案).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1053428.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: