《C语言程序设计试题期末试卷二答案.doc》由会员分享,可在线阅读,更多相关《C语言程序设计试题期末试卷二答案.doc(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言程序设计试题期末试卷二答案 答案题号一二三四五六总计分值得分阅卷人 一、 填空(每题1分,共24分)。1、 c语言中实现循环的语句有( for )、(while )和( do-while )。2、 c语言由一个个(函数 )组成,其中必须有一个(主函数),模块间通过(函数调用 )来实现相互连接。3、 多分支选择可以用嵌套的if语句和( switch )语句来实现。4、 c语言是一种结构化的程序设计语言,它具有(顺序)、(选择)、(循环 )三种基本结构。5、 程序执行过程中其值不发生变化的量是(常 )量,其值发生变化的量是(变 )量。6、 字符常量是用(单引号)括起来的单一字符。单引号的字符
2、常量表示形式为( ),反斜线的字符常量表示形式为( )。7、 长度为n的字符串常量,在计算机的存储中占用(n+1)个字节,分别存放各字节的编码,最后一个字节是(空 )字符。8、 在循环控制中,break语句用于结束( 循环 ),continue语句用于结束( 本次循环 )。9、 C语言规定,标识符只能由(字母 )、(数字 )、( 下划线 )三种字符组成,而且,第一个字符必须是(字母 )或( 下划线 )。二、 单项选择(每空2分,共28分)。1、 下面用户定义的标识符符合C语言规定的是( C )A b.c.tom B 3a6bc C _signed D a-b2、 字符型常量在内存中存放的是(
3、A )A ASCII代码 B BCD代码 C 内部码 D十进制码3、 C语言的switch语句中,case后( B )A 只能为常量 B 只能为常量和常量表达式 C 可为常量及表达式或有确定值的变量及表达式 D 可为任何量或表达式4、 整型变量x=1,y=3,经下列计算后,x的值不等于6的是( D )A x=(x=1+2,x*2) B x=y2?6:5 Cx=9-(-y)-(-y) Dx=y*4.8/25、 表达式x0?1:(x0时的结果是( C )A 0 B 1 C 1 D 不确定6、 下边的表达式哪个满足当x为偶数时值为“真”,为奇数时值为“假”( A )A x%2=0 B !x%2!=0
4、 C 2*x/2-x=0 D !(x%2)7、 下边的表达式哪个满足:-10=x=10,和100=xx)&(x-10)|(100x-100)B !(x10)|!(x110)C (x-10)&(x100)&(x-10)&(x10)|(x100)8、 下边的表达式哪个满足:当x和y的值都大于0,小于n时值为“真”,否则为“假”( A )A (x0)&(y0)&(xn)&(yn)B (xn)&(yn)&x&yC !(x=0)|(y=n)|(x=n)D !(x=0)&!(y=n)&!(x=n)9、 在c语言中,while语句中的条件取( A )值时,结束循环,for语句中的条件表达式取( E )值时,
5、执行循环体,do-while语句中的条件取( A )值时,结束循环。A 0 B 1 C true D false E 非010、c语言中逻辑值“真”用( C )表示,“假” 用( D )表示。A true B 大于0的数 C 非0 D 011、有整型变量x,单精度变量y=5.5,表达式x=float(y*3+(int)y)%4)执行后,x的值为( C )A 17 B 17.500000 C 17.5 D16三、 读程序,写出程序的输出结果(每题5分,共20分)。1、有程序段:Int x,y,z;X=20,y=40,z=60;While(xy)x+=4,y-=4;z/=2;printf(“%d,
6、%d,%d”,x,y,z);其输出结果为:322872、有程序段:Int j=0,k=0,a=0;While(j2) j+;a=a+1;k=0;while(k=3)k+; if(k%2!=0) continue; a=a+1;a=a+1;printf(“%dn%dn%dn”,j,k,a);其输出结果为:2483、#include main() float score; printf(“n Enter a score:”); scanf(“%f”,&score); if (score=90) printf(“A n”); else if (score=80) printf(“B n”); els
7、e if (score=70) printf(“Cn”); else if (score=60) printf(“D n”); else if (score=0) printf(“E n”); else printf(“Error Data!n”); 输入为:82输出为:B4、有程序段:int x,y;scanf(“%d”,&x);do y=x%10; printf(“%d”,y);x/=10; while(x0) 输入为12345输出数据为54321四、 程序填空(每题8分,共16分)。1、用户输入一个4*4的整数矩阵,求其两对角线上元素的和。#include “stdio.h”main()
8、 int matrix44;int k,j,result1=0,result2=0;for(k=0;k4;k+) printf(“one line:”); for(j=0;j4;j+) scanf(“%d”,&matrixkj);if( k=j ) result1=(result1+ matrixkj );if( k+j=3 ) result2=( result2+ matrixkj );printf(“the result:%d ,%dn”,result1,result2);2、求输入的100个数中正数的个数及其平均值。#include main() int i,n; float sum,f
9、; n=( 0 ); sum=( 0 ); for (i=0;i=100;i+)printf(“enter a real number:”);scanf(“%f”,&f); if (f=0) (continue ); sum+=f; n+; printf(“sum=%f”,sum); printf(“average=%f”, sum/n );五、 按要求编程序(每题6分,共12分)。1、 请定义一个能被其它函数调用的求三个数中最小值的函数min(x,y,z)。int min(x,y,z)int x,y,z;int m;if(xz)m=z;return(m);2、使用冒泡法对5个整数按从大到小的顺序排序。#include void main()int a5=5,96,45,123,0;int i,j,temp;for(i=0;i4;i+)for(j=0;j4;j+)if(ajaj+1)temp=aj;aj=aj+1;aj+1=temp;for(i=0;i5;i+)printf(“%dn”,ai);第 6 页 共 6 页
限制150内