高级语言程序设计期中试卷B

更新时间:2023-10-01 15:01:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

上海电机学院 2010–2011学年第 2 学期

《高级语言程序设计》期中考试试卷B 2011.5

开课学院:电子信息学院, 考试形式:闭卷, 所需时间 90 分钟 考生姓名: 学号: 班级

题序 得分 一 二 三 四 五 六 总 分 一、填空题(共20分,每空格1分)

sin(x2)1.将数学式转换成C语言表达式 。

a?b2.getchar函数的作用是 。

3.C语言程序的基本单位是函数。程序的执行总是从 开始。 4.在C程序中,逻辑运算符的操作对象,用 表示“真”,用 表示“假”。在求逻辑值时,用 表示逻辑表达式值为“真”,用 表示逻辑表达式值为“假”。 5.执行 printf(\的输出结果是 。 6.C语言提供的三种逻辑运算符为: 、 和 。 7.设整型变量 x、y、z均为3:则 ①执行\-=y+x\后,x=

②执行\%=y+z\后,x=

8. 设有说明语句:int a=21, b=6; 则a/b的十进制数值为________

9. 设有说明语句:int x=3, y=2; 则计算表达式(x=5) || (y=6*x) 后变量y的值是________ 10 设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1&&b+c/2后,

t的值是

11.结构化程序设计的三种基本结构是 结构, 结构和 结构。 12.设定义 int k=1,n=163;执行下面程序段后,k的值是 。

do {

k*=n; n/=10; }

while(n);

二、选择题 (共17分,每小题1分)

1.表达式3/5的值为: ( )

A. 0 B. 0.6 C. 0.600000 D.1

2.表达式“9!=9”的值是 ( )

A. true B.非0值 C. 0 D.1 3.设ch是char型变量,其值为‘A’,则下面表达式的值是 ( )

1

ch=(ch>=‘A’&& ch<=‘Z’)?(ch+32):ch A.'A' B.'a' C.'Z' D.'z ' 4.在C语言中,要求运算数必须是整型的运算符是( )。

A./ B.++ C. != D.%

5. 十进制数123转换成十六进制数是( )。

A. 7A B. 7B C. 7C D.7D

6.以下符合语法规则的用户标识符是( )。 A.float B.4ab C.sum one D.sum1 7. 若已定义: int x;

则表达式 ((x=4*5,x*5),x+25) 的值是( )。

A. 20 B. 100 C. 125 D. 45

8. 若x是int类型变量,y是float类型变量,则为了将数据55和55.5分别赋给x和y,则执行语句: scanf(“x=%d, y=%f”,&x,&y,); 时,正确的键盘输入是 ( ) 。 A. 55 55.5↙ B. x=55, y=55.5↙ C. 55↙55.5↙ D. x=55↙y=55.5↙ 9. 若有说明语句:int x=10,y=20,z=30;

则执行语句:if(x>y) z=x; x=y; y=z; printf(“%d,%d,%d”,x,y,z);后,输出是( ) A. 10,20,30 B. 20,30,10 C. 20,30,30 D. 20,30,20 10. 程序段:int num=1; while(num<=3)

printf(“%d ,”,num++);

的运行结果是( )

A. 0,1, B. 1,2, C. 0,1,2, D. 1,2,3,

11.设变量x,y,a,b,c,d均为1,执行“( x=a>b)&&(y=c>d)”后x,y的值是( ) A. 0,l B. 0,0 C.1,0 D. 1,l

15. 以下不正确的描述是( )

A.break语句不能用于循环语句和switch语句外的任何其它语句 B.在switch语句中使用break语句或continue语句的作用相同

C.在循环语句中使用continue语句结束本次循环,但不会终止整个循环 D.在循环语句中使用break语句是,会跳出循环体,提前结束循环 16.字符串”123”在计算机内所占用的字节数是 ( ) 个。

A. 1 B. 2 C. 3 D. 4 17. C语言中合法的字符常量是 ( )。

A. '\\058' B.'ab' C.'\\xab' D. ”\\0”

18. 要把高级语言编写的源程序转换为目标程序,需要使用 ( )

A. 编辑程序 B. 驱动程序 C. 诊断程序 D. 编译程序 19.假定x和y为int型,且x=10,y=3,则以下语句的输出结果是 ( )

printf(\

A.10,4 B.9,3 C. 9,4 D. 10,2

20.以下程序运行后的输出结果是 ( )

void main() {int a=3;

printf(\ }

2

A. -6 B. 12 C. -12 D.0

三、改错题(共8分)

1.下列程序的功能为:输出如下的图形,要求顶端的*定位在第21字符位置,请纠正程序中存在错误,使程序实现其功能。 * *** ***** *******

#include

/*1*/ void main() /*2*/ { int i,j;

/*3*/ for (i=0;i<=4;i++) /*4*/ { for (j=0;j<=20;j++) /*5*/ printf(\

/*6*/ for (j=0;j<2*i+1;j++) /*7*/ printf(\/*8*/ printf(\/*9*/ } }

2、下列程序的功能有: (1)输入若干个学生成绩,若输入数据大于100或小于0(除 -999外),则不作记录,重新输入;当输入 –999, 则输入结束。(2) 统计所有输入成绩的最大值、最小值、成绩个数、平均值,并输出之。请找出错误并改正。 main() /*1*/ { int mark, n = 0, sum = 0; /*2*/ int max = 0 , min = 100; /*3*/ for( ; ; ); /*4*/ { scanf(\ /*5*/ if ( mark = -999 ) break;

/*6*/ if ( mark > 100 ) /*7*/ { printf(\ /*8*/ break; } /*9*/ n++; sum += mark; /*10*/ if ( mark>max ) max = mark; /*11*/ else min = mark; /*12*/ }

/*13*/ sum %= n; /*14*/ printf(\ }

四、程序填空(共13分,每空格1分)

3

1.编一个C程序,判断从键盘上输入的一个字符,并按下列要求输出。

若该字符是数字 输出字符串\若该字符是大写字母 输出字符串\若该字符是小写字母 输出字符串\

若该字符是其他字符 输出字符串\,@,?\

#include

main() { char ch;

scanf( ① ); if(ch >='0' &&ch<='9')

_________②________________ else if(____③__________________) printf(\

____④___________( ch>='a'&&ch<='z') printf(\ else

printf(\,@,?\\n\

}

2.以下程序计算某年某月有几天。其中判别闰年的条件是:能被4整除但不能被100整除的年是闰年,能被400整除的年也是闰年。

#include main() {

int yy,mm,len;

printf(\

scanf(\ switch(mm) {

case 1:case 3:case 5:case 7:

case 8:case 10:case 12: ⑤ ;break; case 4:case 6:case 9:case 11:len=30;break; case 2:

if(yy%4==0&&yy0!=0||yy@0==0) ⑥ ; else ⑦ ; break;

default:printf(\ break; }

printf(\ %d %d is %d\\n\

}

3.从键盘输入3个整数x、y、z,要求把y的值给x,把x的值给z,把z的值给y,然后输出x、y、z的值。(提示:使用中间变量)

#include

4

main ()

{ int x,y,z, ⑧ ; printf(\scanf(\ ⑨ ); ⑩ ; ⑾ ; ⑿ ; ⒀ ; printf(\}

五、程序分析题(共18分,每题3分)

请写出执行下述程序的输出结果 。

六、编程题 (共24分,每小题6分)

2x x<-7

1.从键盘输入实数x,按照下列公式计算并输出y值: y= 5+3x -7≤x≤7

3x2 x>7

2.从键盘输入一个小写字母,转换成对应大写字母的后一个字母输出。例如:‘a’将转换成‘B’、?、‘y’将转换成‘Z’,其中的‘z’将转换成‘A’。

3.编一个程序,输入20个整数,统计并输出其中正数、负数和零的个数。

4.编写一个程序实现如下功能:用下列公式计算s的值。

5

本文来源:https://www.bwwdw.com/article/s7vd.html

Top