浙江理工大学04-05级c语言期末试卷b卷(含答案)

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

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

浙江理工大学

2004/2005学年第二学期期末考试B C程序设计 试题

一、判断题(判断下列各小题,正确的在题后括号内打\√\,错的打\×\。每小题1分,共10分)

1. 结构体变量可以被整体赋值. 2. 字符型数组中可以存放字符串

3. 可以对整型数组进行整体输入、输出

4. 在C语言程序中,在函数内部定义的变量称为静态局部变量。 5. 语句“b=+3;”和“b+=3;”运行后的结果是不一样的。 6.?\\f?是不正确的字符常量。 7. 运算符“+”不能作为单目运算符。 8. (a*x*x+b+c)/(2*a)是合法的C语言表达式。 9.表达式!!3的值是1。

10.表达式~(2<<1)的值是-5。

二、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题2分,共20分)

1.在C语言中,不正确的unsigned char类型的常数是________ A 32768 B 0 C 037 D 0xDF

2.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是______ A c=b=a; B (a=c)‖(b=c); C (a=c)&(b=c); D a=c=b;

3.在C语言类型中,int ,char, short等类型的长度是_________

A.固定的 B.由用户自己定义 C.任意的 D.与机器字长有关

4.以下程序的输出结果是________ main( ){

int a= -1,b=1,k;

if((++a<0) | | ! (b-- <=0))

printf(\,a,b); else

printf(\,b,a);

}

A -1--1 B 0--1 C 1--0 D 0--0

5. 设有程序段: t=6;a=7;b=8; if(a=b)t=a;,这段程序执行后,t的结果是______

A. 6 B.7 C.8 D.0

6.设a=1,b=2,c=3,d=4,则表达式:a>b?a:c>d?a:d的结果为___________ A 4 B 3 C 2 D 1

7. 若a为二维数组,它有m列,则a[i][j]在数组中的位置是_________ A. i*m+j B. j*m+i C. i*m+j-1 D. i*m+j+1

8.设有如下定义:int x=l,y=-1;,则语句:printf(\,(x--&++y));的输出结果是____ A 1 B 0 C -1 D 2

9.下面程序段不是死循环的是_____________ A. int j=100;

while(1){j=j0+2;if(j>100)break;}

B. for( ; ; ); C. int k=0; do{ ++k;}while(k>=0); D. int s=36; while(s);--s;

10.下列表达式中,错误的是______.

A.2>1 ? a:b B.ij C.4.0%++2.0 D.x*=y+8 三、程序填空题(阅读以下程序说明和相应程序(段),在每小题提供的若干可选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题2分,共20分) 1.【程序说明】

下面程序是查找学生的成绩,完成该程序。输入值为学生序号,当输入为-1时程序结束。 【程序】

#include main( ){

void seek(float (*p) [3], int i );

float score [4][3]={{75,78,82},{66,72,77},{85,90,81},{74,89,68}}; while (1){

scanf (“%d” &i ); if(___1____)

break;

search(_____2_______);

} }

void seek (float (*p)[3],int i ){

int k;

print (“The score of No %d are \\n”,i ); for(_____3_______)

printf( “%5.2f”,_____4_________); }

(1) A、i= =0 B、break C、i = = -1 D、return (2) A、p B、score, i C、&score, i D、p, i

(3) A、i=0;i<3; i++ B、k=1;k<=3;k++i C、k=2; k>0; k-- D、k=0,k<3,k++ (4) A、*score[i]+k B、*p[i]+k C、score[i][k] D、p[i][k]

第 2 页 共 6 页

2.【程序说明】

输入一个只有字母的字符串,将其中的小写字母转换为大写字母后输出。 【程序】

#include void main( ){

char str[80]; int k; gets(str);

for (k=0;str[k]!=?\\0?;k++); if ( (5) )

(6) ;

puts(str); }

(5) A、k= =0 B、str[k]?Z? D、k > = 80

(6) A、k-- B、k - = 32 C、str[32] - = k D、str[k]=str[k]-32

3.【程序说明】

在 n 行 n 列的矩阵中,每行都有最大的数,本程序求这 n 个最小数中的最大一个 【程序】

#include〈stdio.h〉 #define N 100 int a[N][N]; void main(){

int row ,col ,max ,min ,n;

/*输入合法 n (〈100 〉,和输入 n×n 个整数到数组 a 的代码略*/ for ( row = 0;row < n;row++) {

for ( min = a[row][0],col = l ;col < n;col++) if (__7_)

min = a[row][col];

if (__8__)

max = min;

else if(__9__)

max = min;

}

printf (\}

(7) A、mina[row][col] C、max>a[row][col] D、min = =a [i][j] (8) A、manmin D、row= =0 (9) A、minmin D、max = =min (10) A、%5i B、_ C、] D、\

四、阅读理解题(阅读下列程序或程序段,写出运行结果,每小题5分,共20分)

1. 阅读下面程序,给出输出结果。

main( ){ int i, j, k;

第 3 页 共 6 页

for(i=1; i<5; i++){ for(j=1; j<=i; j++){ printf(“#”); printf(“* “); }

printf(“\\n”); } }

2. 阅读下面程序,写出运行结果。 #include void main( ){

long fun(long number); printf(“\\n”,fun(-9)); }

long fun(long number){ int flag;

long retval=0;

flag=number<0 ? -1:1;

if (number<0) number=-number; retval=retval+number*flag; return retval; }

3. 阅读下面程序,指出下面程序所完成的功能 main(){

int a=5,b=6; int c,d,x; c=-1; d=-1; a++;

if (a

x=1;

else if(ac)

x=3;

else

x=6;

printf(“x=%d”,x); }

4.分析以下程序:

#include “string.h”

main(){

char c,string[81];

第 4 页 共 6 页

int i,a=0,b=0; gets(string);

for(i=0;(c=string[i])!='\\0';i++) if (c==' '){ b++; }

printf(\ }

若输入:hello word!,则程序运行后,?输出结果为______, 且c的值为______,i的值为______.

五、编程题(每题10分,共30分)

(1) 有函数f(x)=1-x /3+x/5-x/7+x/9…

编写函数程序求f(x),使误差小于0.0000001。

(2) 有一函数:

??ax2?bx?c(x?0)?? y??acosx?sinx2(0?x?10)

?3x?10(100?x?10)??5(其他)?10.0 写一程序,输入x, 输出y 值。

(3)15个数按由从小到大顺序存放在一个数组A[15]中,输入一个数,要求用二分折半查找法找出该数是数组中的第几个元素的值。如果该数不在数组中,则打印出“无此数”。假设inputdata()和sort()函数已存在,用来输入数据和排序用的。请完成该程序。

main(){

float A[15];

inputdata(A,15); sort(A,15);

printf(“请输入数:”); }

2005年春04级C程序设计期末考试答题纸B答案

班级:

学号:

姓名:

成绩:

一、

1 判断题(本题共10分,每小题1分)

2 3 4 5 6 7 8 9 10 √ 二、

1 √ × × √ √ × √ √ √ 单选题(本题共20分,每小题2分)

2 3 4 5 6 7 8 9 10 第 5 页 共 6 页

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

Top