最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

哈工程07级C语言期末考试题--A

来源:动视网 责编:小OO 时间:2025-10-02 10:54:11
文档

哈工程07级C语言期末考试题--A

哈尔滨工程大学本科生考试试卷(2007-2008年二学期)课程编号:06040020课程名称:C语言程序设计(A)注意:考试时间为120分钟。程序中表示空格。所有答案请写在答题卡上。一、基础知识(每题2分,共20分)1、若inta[3][4]={{1,3,5,7},{9,11,13,15},{17,19,21,23}};则数值为9的表达式是【1】。A)a[1]B)*(a+1)C)*(*(a+1))D)*a+12、以下语句的输出结果是【2】。printf("%d\\n",strlen("\\\"
推荐度:
导读哈尔滨工程大学本科生考试试卷(2007-2008年二学期)课程编号:06040020课程名称:C语言程序设计(A)注意:考试时间为120分钟。程序中表示空格。所有答案请写在答题卡上。一、基础知识(每题2分,共20分)1、若inta[3][4]={{1,3,5,7},{9,11,13,15},{17,19,21,23}};则数值为9的表达式是【1】。A)a[1]B)*(a+1)C)*(*(a+1))D)*a+12、以下语句的输出结果是【2】。printf("%d\\n",strlen("\\\"
哈尔滨工程大学本科生考试试卷

(  2007-2008  年  二  学期)

课程编号: 06040020   课程名称:C语言程序设计(A)       

    

注意:考试时间为120分钟。程序中表示空格。所有答案请写在答题卡上。

一、基础知识(每题2分,共20分)

1、若int a[3][4]={{1,3,5,7},{9,11,13,15},{17,19,21,23}}; 则数值为9的表达式是【  1  】。

A)a[1]        B)*(a+1)      C)*(*(a+1))    D)*a+1

2、以下语句的输出结果是【  2  】。

printf("%d\\n",strlen("\\\"\\065\\xff\\n"));

A)5          B)14          C)9           D)6

3、下面程序的输出结果是【  3  】。

int i=65536;

printf("%d\\n", i);

A)-1         B)1           C)0           D)65536

4、若有条件表达式(exp)?a++:b--; 则以下表达式中能完全等价于表达式(exp)的是【  4  】。

A)(exp= =0)                B)(exp!=0)

C)(exp= =1)                D)(exp!=1)

5、对一维数组 a 的正确说明是【  5  】。

A)int a(10);               B)int n=10,a[n];

C)int n;                   D)#define SIZE 10

      scanf("%d",&n);            int a[SIZE];

      int a[n];

6、以下程序的输出结果是【  6  】。

#include

void main()

{int i=010,j=10;

 printf("%d,%d\\n",++i,j--);

     }

    A)11,10                    B)9,10   

    C)010,9                    D)10,9

7、设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为【  7  】。

A)不定值      B)3           C)4           D)1

8、若a为int类型,且其值为12,则执行完表达式a+=a-=a*=a后,a的值是【  8  】。

A)-1          B)144         C)0            D)-126

9、不是无限循环的语句为【  9  】。

A)for(y=0,x=1;x>++y;x=i++)i=x;

B)for( ; ;x++=i);

C)while(1){x++;}

D)for(i=10; ;i--) sum+=i;

10、判断字符串a 和b 是否相等,应当使用【  10  】。

A)if(a==b)                 B)if(a=b)

C)if(strcpy(a,b))          D)if(strcmp(a,b))

二、输出结果(每题5分,共30分)

1、下列程序输出结果为【  1  】。

# include

void main()

{int a=15;

printf("%d",a=a<<2);

}

2、下列程序输出结果为【  2  】。

# include

void main()

{int n,i,s;

n=28;

s=1;

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

if(s==n)

  printf("%d  Yes\\n",n);

else

   printf("%d  No\\n",n);

}

3、下列程序输出结果为【  3  】。

# include

void main()

{int i,j,m,n;

m=n=0;

for(i=0;i<2;i++)

   for(j=0;j<2;j++)

    if(j>=i)m=1;n++;

printf("%d\\n",n);

}

4、下列程序输出结果为【  4  】。

#include

void fot(int *pl,int *p2)

{

printf("%d,%d\\n",*(pl++),++*p2);

}

int x=971,y=369;

void main()

{

fot(&x,&y);

 fot(&x,&y);

}

5、下列程序输出结果为【  5  】。

#include

struct abc

{int a,b,c;

};

void main()

{struct abc s[2]={{1,2,3},{4,5,6}};

 int t;

 t=s[0].a+s[1].b;

 printf("%d\\n",t); 

}

6、下列程序输出结果为【  6  】。

# include

void main()

{int a,b;

for(a=1,b=1;a<=50;a++)

{if(b>=20)

break;

if(b%3==1)

   {b+=3;

continue;

}

b-=5;

}

printf("%d\\n",a);

}

三、填空题(每空2分,共24分)

1、程序的功能是:用选择法对数组中10个整数按由小到大排序。

#include

void main()

{void sort(int array[],int n);

int a[10],i;

 printf("enter the array\\n");

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

   scanf("%d",&a[i]);

 sort(【  1  】);

 printf("the sorted array:\\n");

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

   printf("%d ",a[i]);

 printf("\\n");

void sort(int array[],int n)

{int i,j,k,t;

for(i=0;i   {k=i;

    for(【  2  】;jif(array[j]         【  3  】;

    t=array[k];

array[k]=array[i];

array[i]=t;

}

}

2、以下程序的功能是:将无符号八进制数字构成的字符串转换为十进制整数。例如:输入的八进制字符串为556,则输出十进制数366。

#include

void main()

{char *p,s[6];

 int n;

 gets(s);

p=【  4  】;

n=*p-'0';

 while(【  5  】!='\\0') n=n*8+*p-'0';

 printf("【  6  】\\n",n);

}

3、以下程序的功能是:求两整数的最大公约数。

# include

int gongyue(int a,int b)

{int temp;

 if(b>a)  

{temp=a;

【  7  】;

b=temp;

}

while(【  8  】)

{temp=a%b;

a=b;

b=【  9  】;

}

return(a);

}

void main()

{int x=12,y=16;

 printf("zui da gong yue shu wei :%d\\n",gongyue(x,y));

}

4、以下程序的功能是:用递归方法计算学生的年龄。已知第一位学生年龄最小,为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。

#include

int age(int n)

{int c;

 if (n==1)c=10; 

 else  c=【  10  】;  

 return (【  11  】);

}

void main()

{

printf("age:%d\\n【  12  】);

}

四、问答题(本题17分)

程序1、

# include

void main()

{void swap(int *p1,int *p2);

int a,b;

int *pointer_1,*pointer_2;

 scanf("%d,%d",&a,&b);

pointer_1=&a;

pointer_2=&b;

if(aswap(pointer_1,pointer_2);

printf("\\n%d,%d\\n",a,b);

}    

void swap(int *p1,int *p2)

{int temp;

 temp=*p1;

 *p1=*p2;

 *p2=temp;

}

问题1:如果要使a值为3,b值为8,应如何输入?(3分)

问题2:若按问题1中的要求输入,则输出结果是什么?(3分)

问题3:如果swap()函数如下,则输出结果是什么?(4分)

void swap(int *p1,int *p2)

{int *temp;

 temp=p1;

 p1=p2;

 p2=temp;

}

程序2、

# include

# include

void main()

{FILE *in,*out;

 char infile[10],outfile[10];

 printf("Enter the infile name:\\n");

 scanf("%s",infile);

 printf("Enter the outfile name:\\n");

 scanf("%s",outfile);

 if((in=fopen(infile,"r"))==NULL)

   {printf("cannot open infile\\n");

    exit(0);

   }

 if((out=fopen(outfile,"w"))==NULL)

   {printf("cannot open outfile\\n");

    exit(0);

   }

 while(!feof(in))fputc(fgetc(in),out);

 fclose(in);

 fclose(out);

}

运行时输入的两个字符串分别是“a.txt”和“b.txt”。

问题4:如果文件a.txt的内容是:“Hello!”,文件b.txt的内容是:“World!”,程序运行后,文件b.txt的内容是什么?(3分)

问题5:如果运行时显示“cannot open infile”,表示什么含义?(4分)

五、改错题(每题3分,共9分)

   (注:请在答题卡上写出正确的语句)

1、程序的功能是:逆置数组。若数组的值为:1,5,3,7,逆置后为:7,3,5,1。

# include 

void main()

{int i,t,a[]={1,7,3,6,5,9};

for(i=0;i<=5;i++)                 /*****Error*****/【  1  】

t=a[i],a[i]=a[5-i],a[5-i]=t;

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

printf("%3f",a[i]);            /*****Error*****/【  2  】

printf("\\n");

}

2、程序的功能是:输出斐波那契(Fibonacci)数列的第10项。

#include

void main()

{int i=1,j=1,k=0;

while(k++<=10)                 /*****Error*****/【  3  】

j=j+i,i=j-i;

printf("%d\\n",j);

}

文档

哈工程07级C语言期末考试题--A

哈尔滨工程大学本科生考试试卷(2007-2008年二学期)课程编号:06040020课程名称:C语言程序设计(A)注意:考试时间为120分钟。程序中表示空格。所有答案请写在答题卡上。一、基础知识(每题2分,共20分)1、若inta[3][4]={{1,3,5,7},{9,11,13,15},{17,19,21,23}};则数值为9的表达式是【1】。A)a[1]B)*(a+1)C)*(*(a+1))D)*a+12、以下语句的输出结果是【2】。printf("%d\\n",strlen("\\\"
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top