快讯网首页 |资讯 |财经 |娱乐 |汽车 |时尚 |房产 |健康 |数码 |社会 |图片 |消费 |大盘 |互联网金融 |新车 |试驾 |化妆品 |奢侈品 |二手房 |两性 |曝光台

c语言期末考试(c语言期末考试)

发布时间:2024-04-19 22:36:47 游览:59 次

本试卷共8页,共5大题,考生在作答前应先检查是否有缺页、白页,以防漏答。答题前,请先填写学号、姓名、专业及班级。

-353

一、单项选择题(共10题,每题2分,共20分。在备选答案中选择一个最佳答案。多选、错选、不选不得分)

1、不是C语言基本数据类型的是( )。

A、指针类型 B、整型

-337

C、字符型 D、实型

-306

2、设有:int a=3, b= 4, c= 5,x , y; 表达式0 && (x=a)&&(y=b)的值为( )。

A、1 B、0 C、3 D、4

3、设有语句 int a=3 ; 则执行了语句 a+=6;后,变量a 的值为( )。

A、18 B、-3 C、9 D、12

4、执行以下程序段后,输出的y值为( )

void main()

{ int a[]={2,4,6,8,10};

int y, *p;

p=&a[0];

y=*p; printf(“%d”,y);

}

A、2 B、4 C、6 D、8

5、有定义语句:float a[4];则分配给数组a的内存空间为( )字节。

A、 20 B、 12 C、 16 C、10

6、以下描述错误的是( )。

A、break语句可用于while语句。

B、break语句和continue语句的作用是一样的。

C、在循环语句中使用break语句是为了跳出循环,提前结束循环。

D、在循环语句中使用continue语句是为了结束本次循环,而不终止整个循环。

7、C语言中规定,if语句的嵌套结构中,else总是( )。

A、与最近的if 配对 B、与第一个if 配对

C、按缩进位置相同的if配对 D、与最近的且尚未配对的if 配对

8、说明语句“int (*p)( ); ”的含义是( ) 。

A、p是一个指向一维数组的指针变量。

B、p是指针变量,指向一个整型数据。

C、p是一个指向函数的指针,该函数返回一个int型数据。

D、以上都不对。

9、以下对二维数组c的正确声明是 ( ) 。

A、int c[3][ ]; B、int c(3,4);

C、int c(2)(2); D、int c[3][2];

10、下述程序段执行后输出结果为( )。

int x=100, y=200;

printf ("% d", (x, y));

A、100 B、200 C、100,200 D、编译出错

二、填空题(共7题,共10空,每空1分,共10分。将答案填在题中横线上)

1、C语言提供的三种逻辑运算符是 && 、 || 和!;

2、函数的返回值是通过函数中的 return 语句获得的。

3、在"int a[ ][3]={{1},{3,2},{4,5,6},{0}};"定义后,a[2][2]的值为_6__ _;

4、对于"int *pa[5];" pa是一个具有5个元素的_数组指针_,每个元素是一个指向int型变量的__指针__;

5、单向链表的尾节点next指针应赋值__ NULL___;

6、在语句for(x=1,y=3;x>y;y++)中循环体执行的次数为 0 。

7、int a[5];数组a的首地址为2000,则元素a[1]的地址为 2002 ,元素a[2]的地址为 2004 。

三、程序填空题(共2题,共5空,每空4分,共20分)

1、以下程序完成计算1-1/2+1/3-1/4+1/5+……前n 项和,请填空。

#include

int main( )

{ int i, n, flag;

float sum;

scanf("%d", &n);

flag= 1 ;

sum=0;

for(i=1;i<=n; i++ )

{ sum+=(float)flag/i;

flag=-flag ;

}

printf("%.3f\n", sum);

}

2、以下程序的功能是从键盘输入n个整数,统计其中正数、0、负数的个数,请填空。

#include

void main( )

{int a, i, count1,count2,count3;

count1=count2=count3=0 ;

for(i=1;i<=n;i++)

{ scanf(“%d”, &a);

if(a>0) count1++;

else if(a==0) count2++ ;

else count3++;

}

printf(“正数:&d个,零:%d个,负数:%d个\n”, count1,count2,count3 );

}

四、运行程序结果题(共4题,每题6分,共24分)

1、写出程序运行结果。

void main( )

{ int x=1,y=2,t;

int *p1,*p2;

p1=&x; p2=&y;

t=*p1;*p1=*p2;*p2=t;

printf("x=%d,y=%d\n",x,y);

}

运行结果为:

程序有错,不能运行!或写:

x=2,y=1

2、写出程序运行结果。

#include

int max(int a,int b)

{ int c;

c=a>b?a:b;

return(c);

}

int min(int a,int b)

{int c;

c=a

return(c);

}

void main()

{ int a=2,b=6;

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

printf(“min=%d\n”,min(a,b));

}

运行结果为:

程序有错,不能运行!或写:

max=6

min=2

3、写出程序运行结果。

#include

void main()

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

int i,j,sum=0;

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

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

if(i==j) sum=sum+a[i][j];

printf(“sum=%d\n”,sum);

}

运行结果为:

程序有错,不能运行!或写:

sum=15

4、写出程序运行结果。

void main( )

{ int n,f;

n=1;

while(n<=10)

{ f=f*n;

n+=2;

}

printf(“f=%d\n”,&f);

}

运行结果为:

程序有错,不能运行!或写:

f=不确定

五、程序设计题(共2题,每题13分,共26分)

1、将一个数组按逆序存放,如元素1、2、3、4、5,按逆序存放后为5、4、3、2、1。

2、求出1!+2!+3!+…+8!的和并输出。

#include

float fact(int n)

{ float f;

if(n==1||n==0) f=1;

else f=fact(n-1)*n;

return(f);

}

void main( )

{float sum;

int i;

sum=0;

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

sum+=fact(i);

printf("sum=%f\n",sum);

}

不会是上机的,但是会有程序题目的

填空选择判断这些就不说了,关键是这几类题目:

1、读程序,判断程序是做什么(要能写出输出结果)

2、补充程序,给你一个程序,告诉你程序要做什么,然后有几个地方空着,让你补全程序。

3、简单的算法:程序与算法分离不开,既然考程序,就要有算法。不过不会难

题目就这些,只是好多的,预祝你考试成功

猜您喜欢
热点图片/ Hot picture
排行搒/ The total ranking
热点推荐/ Hot recommendation
  • Copyright © 2012-2024 物联网, All Rights Reserved 版权所有
    欢迎广大网友来本网站投稿,网站内容来自于互联网或网友提供 邮箱:21620564#outlook.com