大学计算机C语言期末考试复习试题及答案(20套)(1)

发布时间 : 星期六 文章大学计算机C语言期末考试复习试题及答案(20套)(1)更新完毕开始阅读

答案:B

三、程序填空 共2题 (共计24分)第1题 (12.0分) 题号:425 /*------------------------------------------------------ 【程序填空】

------------------------------------------------------ ---

题目:当输入“2,5”的时候输出为“2 5 5” ------------------------------------------------------*/ #include

#define max 100 main() {int f[max],i,j,k,m;

scanf(\

/***********SPACE***********/ for(i=0;i<=【?】;i++)f[i]=0; /***********SPACE***********/ f[【?】]=1; for(i=k;i<=m;i++) /***********SPACE***********/ for(j=i-k;j<=i-1;j++)f[i]【?】f[j];

printf(\}

答案:

=======(答案1)======= m =======(答案2)======= k-1

=========或========= k -1

=======(答案3)======= +=

=========或========= =1+

第2题 (12.0分) 题号:438

/*------------------------------------------------------ 【程序填空】

------------------------------------------------------ --- 题目:求出二维数组中的 大元素值。 ------------------------------------------------------*/ #include \main() {int

a[3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}}; /***********SPACE***********/

printf(\【?】); }

max_value(m,n,array)

/***********SPACE***********/ int m,n,【?】;

{int i,j,max; max=array[0][0]; for(i=0;i

/***********SPACE***********/ if(max

答案:

=======(答案1)=======

max_value(3,4,a) =======(答案2)======= array[][4]

=======(答案3)======= max=array[i][j]

四、程序改错 共2题 (共计22分)第1题 (11.0分) 题号:384

/*----------------------------------------------------- 【程序改错】

------------------------------------------------------ --

题目:给定程序 MODI1.C 中函数 fun 的功能是:输入两 个双精度数,函数返回它们的平方和的平方根值。

例如输入:22.936 和 14.121,输出为:y

= 26.934415。

------------------------------------------------------ --

注意:不可以增加或删除程序行,也不可以更改程序的结构。

-----------------------------------------------------*/ #include #include #include

/**********FOUND**********/ double fun (double *a, *b) { double c;

/**********FOUND**********/ c = sqr(a*a + b*b);

/**********FOUND**********/ return *c; }

main ( ) { double a, b, y; printf ( \scanf (\y = fun (&a, &b);

printf (\}

答案:

=======(答案1)=======

double fun (double *a, double *b)

=======(答案2)======= c = sqrt(*a * *a + *b * *b); =======(答案3)======= return c;

第2题 (11.0分) 题号:415

/*----------------------------------------------------- 【程序改错】

------------------------------------------------------ --

题目:一球从100米高度自由落下,每次落地后反跳 回原高度的一半;再落下,求它在第10次落地 时,共经过多少米?第10次反弹多高?

------------------------------------------------------ --

注意:不可以增加或删除程序行,也不可以更改程序 的结构。

-----------------------------------------------------*/ #include\main() {

/**********FOUND**********/ float sn=100.0;hn=sn/2; int n;

/**********FOUND**********/ for(n=2;n<10;n++) {

sn=sn+2*hn;

/**********FOUND**********/ hn=hn%2; }

printf(\printf(\}

答案:

=======(答案1)=======

float sn=100.0,hn=sn/2; =======(答案2)======= for(n=2;n<=10;n++) =========或=========

for(n=2;n<11;n++) =======(答案3)======= hn=hn/2;

五、程序设计 共1题 (共计14分)第1题 (14.0分) 题号:40 /*------------------------------------------------ 【程序设计】

--------------------------------------------------

题目:请用 for 循环编写函数 fun,它的功能是:判断 m 是否为素数

。主函数的功能是:求出100到200 之间的素数的 个数。

-------------------------------------------------- 注意:部分源程序给出如下。请勿改动主 函数 main 和其 它函数中的任何内容,仅在函数fun 的花括号中填 入所编写的若干语句。

------------------------------------------------*/ #include \main() {

int m,k=0;

for(m=100;m<200;m++) if(fun(m))

{ printf(\k++; if(k%5==0) printf(\printf(\ yzj(); }

int fun(int m) {

/**********Program**********/

/********** End **********/ } yzj() {

FILE *IN,*OUT; int iIN,iOUT,i;

IN=fopen(\if(IN==NULL)

{printf(\May Be Changed\}

OUT=fopen(\ {printf(\May Be Changed\}

for(i=0;i<10;i++)

{ fscanf(IN,\iOUT=fun(iIN);

fprintf(OUT,\}

fclose(IN); fclose(OUT); }

答案:---------------------- int i,k=1; if(m<=1)

k=0; for(i=2;i

一、判断 共10题 (共计10分)第1题 (1.0分) 题号:13 char *p=\的含义是定义字符型指针变量 p,p 的值是字符串\。答案:N

第2题 (1.0分) 题号:1268

C 语言的当型循环是先执行循环后判断条 件.

答案:N

第3题 (1.0分) 题号:1272 C 语言中的整型常量有3种表示方法. 答案:Y 第4题 (1.0分) 题号:1475 表达式1/4+2.75的值是3. 答案:N 第5题 (1.0分) 题号:24 C 语言中只能逐个引用数组元素而不能一次引用整个数组。答案:Y 第6题 (1.0分) 题号:1487

静态变量和外部变量都是全局变量,它们的存储是静态的. 答案:N

第7题 (1.0分) 题号:1249 若有 int i=10,j=2; 则执行完 i*=j+8;后 i 的值为28. 答案:N

第8题 (1.0分) 题号:1469

char a[]={'a','b','c'};char b[]={\数组a 和数组 b 占用的内存空间大小不一样. 答案:Y 第9题 (1.0分) 题号:549 \运算符的优先级比\运算符的优先 低.

答案:N

第10题 (1.0分) 题号:1256 unsigned 和 void 在 C 中都是保留字. 答案:Y 二、单项选择 共30题 (共计30分)第1题 (1.0分) 题号:3009 若 char a[10];已正确定义,以下语句中不能从键盘上给 a 数组的所有元素输入值的语句是(). A:gets(a);

B:scanf(\

C:for(i=0;i<10;i++)a[i]=getchar(); D:a=getchar();

答案:D

第2题 (1.0分) 题号:3175 变量的指针,其含义是指该变量的(). A:值 B:地址 C:名

D:一个标志

答案:B 第3题 (1.0分) 题号:2956 以下程序的输出结果为().

main() {int

a=1,b=2,c=3,d=4,e=5;

printf(\ } int func(int x,int y) { return(x+y); } A:15 B:13 C:9

D:函数调用出错

答案:B 第4题 (1.0分) 题号:596

下面四个选项中,均是不合法的用户标识符的选项是()。 A:A P_0 do B:float la0 _A C:b-a goto int D:_123 temp int

答案:C 第5题 (1.0分) 题号:493

C 语言的注释定界符是()。 A:{ } B:[ ] C:\\* *\\ D:/* */

答案:D

第6题 (1.0分) 题号:508 int

a=1,b=2,c=3; if(a>c)b=a;a=c;c=b;则 c 的值为()。 A:1 B:2 C:3

D:不一定

答案:B 第7题 (1.0分) 题号:471

以 下 程 序 段 char *alp[]={\int j; puts(alp[1]); 的输出结果是()。

A:A B:B C:D D:DEF

答案:D 第8题 (1.0分) 题号:579

在 C 语言中,char 型数据在内存中的存储形式是()。 A:补码 B:反码 C:原码 D:ASCII 码

答案:D 第9题 (1.0分) 题号:121 以下不符合 C 语言语法的赋值语句是()。 A:a=1,b=2 B:++j; C:a=b=5;

D:y=(a=3,6*5);

答案:A 第10题 (1.0分) 题号:3137

若使用一维数组名作函数实参,则以下正确的说法是().

A:必须在主调函数中说明此数组的大小 B:实参数组类型与形参数组类型可以不匹 配

C:在被调用函数中,不需要考虑形参数组的大小 D:实参数组名与形参数组名必须一致

答案:A 第11题 (1.0分) 题号:125 下列程序的输出结果是()。 main() {int a=7,b=5;

printf(\} A:0 B:5 C:1

D:不确定值

答案:A 第12题 (1.0分) 题号:2857 经过下列的语句 int j,a[10],*p;定义后,下列语句中合法的是(). A:p=p+2; B:p=a[5]; C:p=a[2]+2; D:p=&(j+2);

答案:A 第13题 (1.0分) 题号:378

下列字符序列中,不可用作 C 语言标识符的是()。 A:b70 B:#ab C:symbol D:a_1

答案:B 第14题 (1.0分) 题号:3096 以下不是无限循环的语句为().

A:for(y=0,x=1;x>++y;x=i++) i=x; B:for(;;x++=i); C:while(1){x++;}

D:for(i=10;;i--) sum+=i;

答案:A 第15题 (1.0分) 题号:407 若 ch 为 char 型变量,k 为 int 型变量(已知字符 a 的 ASCII 十进制代码为97),则以下程序段的执行结果是()。

ch='a'; k=12; printf(\printf(\

A:因变量类型与格式描述符的类型不匹配, 输出无定值 B:输出项与格式描述符个数不符,输出为零值或不定值 C:61,141,k=%d D:61,141,k=

答案:C

第16题 (1.0分) 题号:484

在位运算中,操作数每右移一位,其结果相当于()。 A:操作数乘以2 B:操作数除以2 C:操作数乘以16 D:操作数除以16

答案:B 第17题 (1.0分) 题号:543 若有 int

a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;

则输出结果不为5 的语句为()。

A:printf(\C:printf(\D:printf(\

答案:D

第18题 (1.0分) 题号:301

以下标识符中,不能作为合法的 C 用户定义标识符的是()。

联系合同范文客服:xxxxx#qq.com(#替换为@)