惠州学院c语言期末考试试卷A

  • 格式:pdf
  • 大小:145.29 KB
  • 文档页数:6

惠州学院期末考试试卷(A卷).(2006——2007学年度第二学期).考试科目程序设计基础考试时间2007.07专.业...装....班学.级号.姓.名.不.能.超.过.装.学订订号线.否.则.作.废...姓.名线...7)设a,b和c是int型变量,且a=5,b=3,c=11则下面表达式中值不为0的是。

A)(a<b)&&c||1B)!('a'||'b')C)!(a||b+c&&b–c)D)a+b>=b(8)设有程序段int i=1;while(i!=0)i--;以下描述正确的是。

A)循环体语句一次也不执行。

B)循环是无限循环。

C)while循环语句执行两次。

D)循环体语句执行一次。

(9)以下for循环的执行次数是。

for(a=1,b=2;(b==1)&&(a<2);a++);A)无限次。

B)4次。

C)0次。

D)3次。

(10)若有说明:int x[5];则对x数组元素的正确引用是。

A)x[5]B)x[2*2-1]C)x(2)D)x[6]二、.填空(每空2分,共20分):请在()处添上正确答案。

(1)条件"a>1同时a<8或a>9"的C语言表达式是()(2)设a和b均为int型变量,且a=9,b=10,则以下表达式的值为().21.82+a/b(3)设i,j,k均为int型变量,则执行完下面的for循环后,k的值为().for(i=50,j=100;i<=j;i++,j--)k=i+j;(4)设有以下定义的语句:int x[3][4]={10,20,30,40,50,60,25,12,5,6,9,7};(*w)[3];w=x;则*(*(w+2)+1)值为().(5)若i为int类型,且其值为2,则执行完表达式i-=i+=i*i+8后,i的值是()6)设a、b、c均为int型变量,则执行语句:a=0;b=1;c=a++||--b;后,c的值为()题次一二三四五六七八九十总分得分评卷人签名一、选择题:下列各题A)、B)、C)、D)四个选项中只有一个是正确的,请填写正确的答案。

(每小题2分,共20分) (1)C语言规定:在一个源程序中,自定义函数的位置。

A)必须在最后B)必须在main函数的后面。

C)必须在最开始。

D)可以任意,但不能定义在一个函数的里面。

(2)C语言中char型数据在内存中占有_________个字节。

A)1B)2C)4D)8(3)若有定义:int a=13;float x=1.7,y=5.7;则表达式x+a%3*(int)(x+y)%2/4的值是。

A) 2.750000B) 2.00000C)1.700000D)2.500000(4)C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符。

A)必须为字母或下划线。

B)必须为下划线。

C)必须为字母D)可以是字母、数字和下划线中的任一种字符。

(5)下面四个选项中,均是正确的八进制数或十六进制数的选项是。

A)220x56-014B)036-0xff0x25C)0dc-0560xb D)0d45-0x32-0x21(6)若定义char ch;下面不正确的赋值语句是。

A)ch=33+12;B)ch='a+b';C)ch='\0';D)ch='9'+'2';..专.业...装....班学.级号.姓.名.不.能.超.过.装.学订订号线.否.则.作.废...姓.名线...3、#include"stdio.h"main(){int i,j;printf("\n");for(i=1;i<10;i++){for(j=1;j<10;j++)printf("%d+%d=%-3d",i,j,i+j);printf("\n");}}4、main(){int i,k,a[10],p[3]:k=2;for(i=0;i<10;i++)a[i]=2*i;for(i=0;i<3;i++)p[i]=a[i+1];for(i=0;i<3;i++)k+=p[i]*3;printf("%d\n",k);}(7)若变量ch为char类型,能正确判断出ch为阿拉伯数字的表达式是()(8)当调用函数时,实参是一个数组名,则向函数传送的是().(9)表示关系a=b≠c的c语言表达式为().(10)设int a=9,b=2,c=5,d=8;则表达式:a>b?a:c<d?b:d的结果为().三、程序分析,给出下列各程序的执行结果(输出)(每小题5分,共20分)1、main(){int i;scanf("%d",&i);if(i++<200)printf("%d\n",i);else printf("%d\n",i--);}从键盘上输入992、main(){int a,b;printf("Please input a and b:");scanf("%2d%*6d%d",&a,&b);printf("a=%d,b=%d,a+b=%d\n",a,b,a+b);}从键盘上输入987654321.四、填空题(每小题5分,共20分)请在下画线上填空完成程序1、#include<stdio.h>该程序是找最高分数及其对应学生的学号. #define ARR_SIZE40main(){float score[ARR_SIZE],maxScore;int n,i;long maxNum,num[ARR_SIZE];printf("Please enter total number:");scanf("%d",&n);printf("Please enter the number and score:\n");for(i=0;i<n;i++)scanf("%ld%f",&num[i],&score[i]);maxScore=_________;maxNum=__________;for(i=1;i<n;i++)if(score[i]>maxScore){maxScore=____________;maxNum=_____________;}printf("maxScore=%.0f,maxNum=%ld\n",maxScore,maxNum);}..专.业...装....班学.级号.姓.名.不.能.超.过.装.学订订号线.否.则.作.废...姓.名线...2、该程序是完成a+aa+aaa+aaaa+……+aaa…a main()n个a{long term=0,sum=0;int a,i,n;printf("Input a,n:");scanf("%d,%d",___,___);for(i=1;i<=n;i++){term=___________;sum=sum+term;}printf("sum=%ld\n",sum);}3、该程序是通过指针引用法来交换所指变量的值. main(){int a,b;printf("Please enter a,b:");scanf("%d,%d",&a,&b);printf("Before swap:a=%d,b=%d\n",a,b);Swap(___,___);printf("After swap:a=%d,b=%d\n",a,b);}void Swap(int*x,int*y){int temp;temp=_____;_____=_____;_____=temp;}2、古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?试程序。

..专.业...装....班学.级号.姓.名.不.能.超.过.装.学订订号线.否.则.作.废...姓.名线...4、下面程序的运行结果是___________.main(){struct cmplx{int x;int y;}cnum[2]={1,3,2,7};printf("%d\n",cnum[0].y/cnum[0].x*cnum[1].x);}a)0b)1c)3d)6五、编程题.(每小题10分,共20分)1、试编程:请按顺序输入你们全班同学某一门课程的考试成绩;统计不及格的人数并输出;把不及格的分数按顺序号输出,且每行输出5个成绩;最后输出全班同学该门课程的及格率。

如:顺序号-成绩顺序号-成绩顺序号-成绩顺序号-成绩顺序号-成绩。