C C++程序设计课后答案

发布时间 : 星期六 文章C C++程序设计课后答案更新完毕开始阅读

x1=x; else x2=x; }while(fabs(x2-x1)>eps); cout<

第四章 一、选择题

1.下列数组定义语句中,正确的是( )。C

A.int a[3,4]; B.int n=3,m=4,int a[n][m]; C.int a[3][4]; D.int a(3)(4); 2.以下不能对二维数组a初始化的语句是( )。A A. int a[2][]={{1},{2}}; B.int a[2][3]={1,2,3,4,5,6}; C. int a[2][3]={1}; D.int a[2][3]={ {1},{2}};

3.要使字符数组str中存放串”Lucky”并能正确处理,下列正确的定义语句是( )。C A.char str[]={?L?,?u?,?c?,?k?,?y?} ; B. char str[5]={?L?,?u?,?c?,?k?,?y?} ; C. char str[]=”Lucky”; D. char str [5]= ”Lucky” ;

4.已知有语句“int a[3][4]={{1,2,5,3},{2,4,7,9},{3,6,5,8}},*p=&a[0][0];”,则表达式(*p+2)+*(p+2)的值应为( )。D

A.10 B.5 C. 6 D.8 5.已知有语句“int a[5]={1,3,5,7,9},*p=&a[3];”,则表达式p[-1]的值为( )。C A.表达形式不合法 B.值不确定 C.5 D.6

6.要比较两个字符数组a、b中字符串是否相等,下面正确的是( )。B A.a==b B.strcmp(a,b)==0 C. strcpy(a,b) D. strcmp(a,b)=0 7.下面正确的描述是( )。A A.gets函数可以输入包括空格的字符串

B.cin可以输入包含空格的字符串

C.使用gets函数不需要声明头文件:#include “stdio.h” D.使用gets函数必须需要声明头文件:#include “iostream.h”

8.已知如下变量的定义“char s[10],*p;”下列正确的语句是( )。B

A.s=”asdfghj”; B.p=”asdfgh”; C.cin<

void main() {

char s[ ]=”1234567890”,*p; int i;

for(p=s+5;*p!=?\\0?;p++)cout<<*p; p=s+4;i=0;

while(i++<5)cout<

结果是:678904321

2.若分别输入4和8,则以下程序的输出结果各是什么? #include”iostream.h”

void main() {

char b[17]=”0123456789ABCDEF”; int i=0,h,n,c[10];long int m;

cin>>m>>h; do {

c[i++]=m%h;

}while((m=m/h)!=0); for(--i;i>=0;--i) {

n=c[i];cout<

结果是:4 3. #include”iostream.h”

void main() {

int a[ ]={-2,3,0,-5,-4,6,9},*p=a,m,n; m=n=*p;

for(p=a;p

{if(*p>m)m=*p; if(*p

cout <<”m-n=”<

三、程序填空题。

1.利用一维数组显示Fibonacci数列的前20项,每行显示5个数,每个数宽度5位。即:0,1,1,2,3,5,8,13,…,如图所示。

#include”iostream.h” #include\

void main() { int i;

int x[20]= ; for(i=2;i<20;i++) ; for(i=0;i<20;i++) {

if(i%5==0)cout<

cout<

}

填空为:(1){0,1} (2)x[i]=x[i-1]+x[i-2] (3)setw(5)<

#include\#include\void main() {

int a[6],i,j;

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

a[i]= ;

for(j=0; ;j++) cout<<'*'; cout<< <

填空为:(1)rand()1 (2)j

3.下列程序将数组a中的每4个相邻元素的平均值存放于数组b中。 #include\void main() {

int a[10],m,n; float b[7]; for(m=0;m<10;m++)cin>>a[m]; for(m=0;m<7;m++) {

;

for(n=m; ;n++) b[m]=b[m]+a[n]; ; } for(m=0;m<7;m++) cout<

填空为:(1)b[m]=0 (2)n

4.下面程序按字母顺序比较两个字符串s1和s2的大小,若相等,则输出0;否则输出其第一个不相等的字符的ASCII编码差值。 #include\void main() {

char ch1[40],ch2[40],*s1=ch1,*s2=ch2; int r; ; ; while(*s1!='\\0'&& ) {

s1++;s2++;

} if(*s1=='\\0'&&*s2=='\\0') ; else r=*s1-*s2; cout<<\}

填空为:(1)cin>>s1 (2) cin>>s2 (3)*s1==*s2 (4) r=0

5.已知数组a和b都是按由小到大顺序排列的有序数组,试将其合并后放入数组c中,使c也按由小到大的顺序排列。 #define M 3 #define N 3

#include\void main() {

int a[M],b[N],c[M+N],j,k,l; for(k=0;k>a[k]; for(k=0;k>b[k]; ; while(l

联系合同范文客服:xxxxx#qq.com(#替换为@)