昌吉职业技术学院2008至2009学年第一学期高职。
c语言程序设计》期末试卷(a卷)答案及评分标准jsjggks08091001a
一、 填空(共12分,每空0.5分)
1.c语言是由函数构成的,一个c程序中至少包含主函数 。因此, 函数是c程序的基本单位。
2.c语言的基本数据类型有整型 、 字符型 、 枚举类型和实型数据,其中实型数据又分为单精度和双精度。
3、c语言中,八进制整常量以 0 开头,十六进制整常量以 0x 开头。
4、十进制数77转化为八进制数为 0115 ,十进制数-2248转化为十六进制为 0xf738 。
5、将下列运算符优先级从高到底顺序排列:>>
6、‘x’在内存中占 1 字节,“x”在内存中占 2 字节,“\101”在内存中占 2 字节。
7、整型变量i和j,i的初始值为3,执行表达式语句j=(i++)i++)i++)后变量i的值为 6 ,变量j的值为: 9 。
8、整型变量a、b、c它们的初值都是0,运行表达式:++a&&+b&&+c后,a,b,c的值分别为: 1 , 1 , 0 。
若在同样的初值的条件下,运行表达式后++a||b++|c后,a,b,c的值分别为: 1 , 0 , 0 。
二、选择题(共15分,每题1分)
1)下列变量名中合法的是( c )
a)b.c.tom b)3a6b c)_6a7b d)$abc
2)“bb\\”在内存中占的字节数为( b ),此字符串的长度为( a )。
a)6 b)7 c)8 d)9 e)10 f)11
3)以下选项中可作为c语言合法整数的是(c )
a)10110b b)0386 c)0xffa d)x2a2
4)以下不能定义为用户标识符的是(d )
a)scanf b)void c)_3com_ d)int
5)以下选项中非法的表达式是(d )
a)0<=x<100 b)i=j= =0 c)(char)(65+3) d)x+1=x+1
6)有定义语句:int x, y;,若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是(a )
a)11 12《回车》 b)11, 12《回车》
c)11,12《回车》 d)11,《回车》
12《回车》
7)设有如下程序段:
int x=2002, y=2003;
printf("%d",(x,y));
则以下叙述中正确的是( d)
a)输出语句中格式说明符的个数少于输出项的个数,不能正确输出。
b)运行时产生出错信息。
c)输出值为2002
d)输出值为2003
8)设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是(c )
a)x=x*100+0.5/100.0b)x=(x*100+0.5)/100.0;
c)x=(int)(x*100+0.5)/100.0; d)x=(x/100+0.5)*100.0;
9)有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不为3的是( a )
a) if (ca)17 b)17.500000 c)17.5 d)16
12)有以下函数定义:
void fun(int n, double x)
若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是( )
a)fun(int y,double m); b)k=fun(10,12.5);
c)fun(x,nd)void fun(n,x);
13)已定义c为字符型变量,则下列语句中正确的是(a )
a)c='97'; b)c="97"; c)c=97; d)c="a";
14)以下不能正确定义二维数组的选项是(d )
a)int a[2][2]=,b)int a[2]=;
c)int a[2][2]=,2,3}; d)int a[2]
15)表达式:0?2.0,3/2:= 3》=2?55:6.0,4%3的值为( c )。
a)1.333333 b)1 c)6.0 f)1.5
三、写出以下程序的运行结果(共40分,每题5分)
1)有以下程序。
main()
int a; char c=10;
float f=100.0; double x;
a=f/=c*=(x=6.5);
printf("%d %d %3.1f %3.1f",a,c,f,x);
程序运行后的输出结果是 1 65 1.5 6.5
2)有以下程序。
main()
int a=1,b=2,m=0,n=0,k;
k=(n=b>a)||m=a(3)有以下程序。
main()
for(int i=0;i<8;i++)
printf(“%d,”,i);
printf(“%d,”,i++)
程序运行后的输出结果是: 1,3,5,7,8
4)有以下程序。
#include <>
main()
printf("%d",null);
程序运行后的输出结果是 0
5)有以下程序。
#include <>
#define f(x,y) (x)*(y)
main()
int a=3, b=4;
printf("%d", f(a++,b++)
程序运行后的输出结果是 12
6)有以下程序。
fun(int a, int b)
if(a>b) return(a);
else return(b);
main()
int x=3, y=8, z=6, r;
r=fun(fun(x,y), 2*z);
printf("%d", r);
程序运行后的输出结果是 12
7)有以下程序。
main()
int x=2;
while (x- -
printf(“%d ”,x);
程序运行后的输出结果是___1___
8)有以下程序。
main()
int x=3, y=2, z=1;
printf("%d",x/y-z);
程序运行后的输出结果是 0
四、程序填空(共12分,每空2分)
1.以下程序的功能是:从键盘上输入若干学生的成绩,统计并输出最高分和最低分,当输入负数时结束输入,请填空。
main()
float x,max,min;
scanf(“%f”,&x);
max=x; min=x;
while x>=0
{ if(x>max) max=x;
if x scanf(“%f”,&x);
printf(“max=%fmin=%f”,max,min);
2.计算两个数的最大公约数。
#include<>
main( )
int x,y,i,max;
int result=1;
scanf(“%d,%d”,&x,&y);
if(x>=y)
max=x;
elsemax=y
for(i=2; i<=max ;i++)
if( x%i= =0&&y%i= =0 )
result=i;
printf(“the max common divisor is %d”, result );
五、在计算机上编写下列程序、调试并输出结果。(以姓名加题号为文件名保存程序)(共21分)
1. 某考查课程分数和等级对应情况如下:100-90分 a,80-89分 b,70-79分 c,60-69分 d,0-50分 e,大于100分,小于0分为错误数据。编写程序,输入不同的分数(score)能得到相应的等级(grade)。
(7分)
main( )
int score;
char grade;
switch(score/10)
case 10:
case 9: printf(“grade is: \a\’”break;
case 8: printf(“grade is: \b\’”break;
case 7: printf(“grade is: \c\’”break;
case 6: printf(“grade is: \d\’”break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0: printf(“grade is: \e\’”break;
default:printg\f(“error data!”)
2. 计算s=1!+2!+3!+4!+…n! 要求用函数计算阶乘。(7分)
for(int i=1,s=0,c=1;i<=n;i++
2019秋C语言上机试卷C03答案
2007年秋二级 c语言上机试卷 试卷代号c03 答案。一 改错题 20分 程序功能 对于s数组中保存的五个字符串,删除其中不符合下列组成规则的字符串,输出s数组中剩余的字符串。字符串组成规则 由字母 数字 下划线组成,首字符非数字。测试数据与运行结果 s数组中五个字符串 a 1,a12,aaa,s...
2019秋C语言上机试卷C03答案
2008年秋二级 c语言上机试卷 试卷代号c03 答案。一 改错题 20分 程序功能 函数intersec的功能是 找出所有在两个字符串集合s1和s2中都出现的字符串,将这些字符串放入一个新集合s3中,函数返回新集合中字符串的个数。测试数据与运行结果 测试数据 s1集合 s2集合 运行结果 for ...
2019秋C语言上机试卷C01答案
2007年秋二级c语言上机试卷 试卷代号c01 答案。一 改错题 20分 程序功能 重新排列一维数组元素的顺序,使得左边的所有元素均为偶数并按由大到小的次序存放,右边的所有元素均为奇数并按由小到大的次序存放。测试数据与运行结果 数组原始数据为 17 15 10 14 16 17 19 18 13 1...