《C语言程序设计》自检自测题及答案

  • 格式:doc
  • 大小:34.50 KB
  • 文档页数:10

1 / 10 《C++语言程序设计》自检自测题(三)及答案

一、给出下列程序运行后的输出结果

1.

#include

void main(){

int s1=0,s2=0;

for(int i=0;i<10;i++)

if(i%2)s1+=i;

else s2+=i;

cout<

}

2.

#include

void main(){

int a[8]={8,19,26,15,6,24,27,18};

int i2=0,i3=0;

for(int i=0;i<8;i++)

if(a[i]%2==0)i2++;

else if(a[i]%3==0)i3++;

cout<

}

3.

#include

void main(){

int a[3][4]={{1,2,7,8},{5,6,11,12},{9,20,3,4}};

int m=a[0][0];

int ii=0,jj=0;

for(int i=0;i<3;i++)

for(int j=0;j<4;j++)

if(a[i][j]>m){m=a[i][j];ii=i;jj=j;}

cout<

}

4.

#include

void main(){

int a=10,b=15;

cout<

{a*=3;

int b=a+20;

cout<

} 2 / 10 cout<

}

5.

#include

void main(){

int x=20,y=40,*p;

p=&x;

cout<<*p<<’’;

*p=x+10;

p=&y;

cout<<*p<

*p=y+20;

cout<

}

6.

#include

void SB(char ch){

switch(ch){

case ’A’:case ’a’:

cout<<”well!”;break;

case ’B’:case ’b’:

cout<<”good!”;break;

case ’C’:case ’c’:

cout<<”pass!”;break;

default:

cout<<”bad!”;break;

}

cout<

}

void main(){

char a[6]=”Abcaf”;

for(int i=0;a[i];i++)SB(a[i]);

}

7.

#include

void main(){

int a[8]={36,25,48,14,55,40,72,40};

int b1,b2;

b1=b2=a[0];

for(int i=1;i<8;i++)

if(a[i]>b1){

if(b1>b2)b2=b1; 3 / 10 b1=a[i];

}

cout<

}

8.

#include

void main(){

int a[8]={3,5,7,9,11,13,15,17};

int *p=1;

for(int i=0;i<8;i++){

cout<

if((i+1)%3==0)cout<

}

}

9.

#include

void LG(int* & a,int& m){

a=new int [m];

int *p=a;

for(int i=0;i

*p++=i*i;

}

void main(){

int *b,n=5;

LG(b,n);

for(int i=0;i

cout<

cout<

delete[]b;

}

10.

#include

#include

struct Worker{

char name[5];//姓名

int age; //年龄

float pay; //工资

};

void main(){ 4 / 10 Worker x;

char *t=”WeiRong”;

int d=45;float f=1235;

strcpy(,t);

x.age=d;x.pay=f;

cout<<<<’’<

}

11.

#include

void main(){

int s=0;

for(int i=1;i<=5;i++)

s+=i*i;

cout<<”s=”<

}

12.

#include

void main(){

int s=0;

for(int i=1;;i++){

if(s>50)break;

if(i%2==0)s+=i;

}

cout<<”i,s=”<

}

13.

#include

int LB(int *a,int n){

int s=1;

for(int i=0;i

s*=*a++;

return s;

}

void main(){

int a[]={1,2,3,4,5,6,7,8};

cout<

cout<

}

14.

#include 5 / 10 struct Worker{

char name[15];//姓名

int age; //年龄

float pay; //工资

};

void main(){

Worker x{“wangfong”,43,640};

Worker y,*p;

y=x;p=&x;

cout<<<<’’<

cout

}

二、写出下列每个函数的功能

1.

#include

int S(int a,int b){

if(a>b)return 1;

else if(a==b)return 0;

else return -1;

}

2.

#include

bool SG(int x){ //x为大于等于2的整数

int a=int(sqrt(x));//取x的平方根

int i=2;

while(i<=a){

if(x%i==0)break;

i++;

}

if(i<=a)return 0;

else return 1;

}

3.

// struct Worker{

// char name[15];//姓名

// int age; //年龄

// float pay; //工资

};

void Q(Worker a[],int n){

for(int i=0;i

cin>>a[i].name>>a[i].age>>a[i].pay; 6 / 10 }

4.

#include

#include

void JD(char *fname)

//可把以fname所指字符串作为文件标识符的文件称为fname文件

//假定该文件保存着一批整数

{

ifstream fin(fname,ios::in|ios::nocreate\ios::binary)

int x,s=0,n=0;

while(fin.read((char*)&x,sizeof(x))){

s+=x;n++;

}

cout<

fin.close();

}

5.

float FI(int n){

//n为大于等于1的整数

float x,y=0;

do{

cin>>x;

n--;y+=x*x;

}while(n>0);

return y;

}

6.

#include

void WA(int a[],int n){

for(int i=0;i

int k=i;

for(int j=i+1;j

if(a[j]

int x=a[i];a[i]=a[k];a[k]=x;

}

}

7.

#include

void LI(int n){

int *a=new int[n];