08-09学年第1学期《C语言程序设计》 补考试卷(3)

2019-03-21 20:46

printf(“%u\\n”,x); }

程序运行后的输出结果是?

(2)有以下程序:

#include void main(void) {

int k=5,n=0; switch(k){ case 1:

case 3: n+=1; break; default: n=0; k--; case 2:

case 4: n+=2; k--; break; }

printf(\}

程序运行后的输出结果是?

(3)有以下程序:

#include void mian(void) {

int i,j;

for(i=1;i<4;i++){

for(j=i;j<4;j++) printf(“%d*%d=%d “,i,j,i*j); printf(“\\n”); } }

程序运行后的输出结果是?

(4) 有以下程序

#include #include void main(void)

void f(char p[][10], int n ) {

char t[10]; int i,j; for(i=0; i

if(strcmp(p[i],p[j])>0){

strcpy(t,p[i]);

strcpy(p[i],p[j]);

strcpy(p[i],t); }

}

void main(void) {

char p[5][10]={“abc”,”aabdfg”,”abbd”,”dcdbe”,”cd”}; f(p,5);

printf(“%d\\n”, strlen(p[0])); }

程序运行后的输出结果是?

(5) 有以下程序

#include #include void main(void) {

char p[20]=”abcde”,q[]=”xyz”, r[]=”lmnopq”; strcpy(p+1,r); strcat(p,q);

printf(“%d,%d\\n”,sizeof(p),strlen(p)); } 程序运行后的输出结果是? 三、编程题(65

分)

(1)(13分)编写程序,计算数列1,1,2,3,5,8,13,21,??,的前20项之和。 (2)(12分)随机输入10个正整数,统计其中素数的个数。所谓素数,指该数只能被1和它本身整除。 (3)(12分)用二维数组data存储随机输入的(4×5)20个不重复整数,输出其中的最大整数及其输入的序号(序号可能值为1,2,3,... ,20)。 (4)(15分)完成递归函数void Output(int a[],int n){ ? }的定义,实现将数组a中的n个元素逆向输出。即输出a[n-1],a[n-2],a[n-3],...,a[1],a[0]。 (5)(13分)完成函数int fun(char *s){ ? },函数返回字符串s中所含空格的个数。

08-09学年第2学期《高级语言程序设计》重修试卷 参考答案

一、简答题(10分,每小题2分)

(1)5

(2)double

(3)scanf(“%lf”,&x);或scanf(“%le”,&x);

printf(“%f”,x);或printf(“%lf”,x);或printf(“%e”,x);或printf(“%E”,x);或printf(“%g”,x);或printf(“%G”,x);

(4)顺序、分支和循环

(5)可用于switch语句中的case子句中,也可以用于循环体中。

二、阅读下列程序,写出运行结果(25分,每小题5分)

(1)结果:65535

(2)结果:n=2,k=3 (3)结果:

1*1=1 1*2=2 1*3=3 2*2=4 2*3=6 3*3=9 (4) 结果:6 (5) 结果:20,10

三、编程题(65分)

(1)(13分)编写程序,计算数列1,1,2,3,5,8,13,21,??,的前20项之和。

#include void main(void) {

int a=1,b=1,c,i; long s=2;

for(i=3;i<=20;i++){ c=a+b; s+=c; a=b;b=c; }

printf(“s=%ld\\n”,s); } (2)(12分)随机输入10个正整数,统计其中素数的个数。所谓素数,指该数只能被1和它本身整除。

#include void main(void) {

int a[10],i,k,num=0;

for(i=0;i<10;i++) scanf(“%d”,&a[i]); for(i=0;i<10;i++){

if(a[i]==1) { num++; continue;}

for(k=2;k

(3)(12分)用二维数组data存储随机输入的(4×5)20个不重复整数,输出其中的最大整数及其输入的序号(序号可能值为1,2,3,... ,20)。 #include void main(void) {

int a[4][5],i,j,max,row,col; for(i=0;i<4;i++) for(j=0;j<5;j++)

scanf(“%d”,&a[i][j]); max=a[0][0];row=0;col=0; for(i=0;i<4;i++) for(j=0;j<5;j++)

if{a[i][j]>max}{max=a[i][j];row=i;col=j;} printf(“max=%d,order=%d\\n”,max,row*5+col+1); }

(4)(15分)完成递归函数void Output(int a[],int n){ ? }的定义,实现将数组a中的n个元素逆向输出。即输出a[n-1],a[n-2],a[n-3],...,a[1],a[0]。 void Output(int a[],int n) {

if(n==1) printf(“%d “,a[0]); else{

printf(“%d “,a[n-1]); Output(a,n-1); } }

(5)(13分)完成函数int fun(char *s){ ? },函数返回字符串s中所含空格的个数。

int fun(char *s) {

int num=0;

wile(*s!=’\\0’) {

if(*s==’ ’) num++; s++; }

return num; }

华侨大学2009-2010第2学期《C语言程序设计》 补考试卷

学号________________ 姓名___________ 班级___________ 成绩______ 注意:请将所有答案写在答卷上! 一、单项选择题(50分,每小题2分) 1.在一个可运行的C源程序中,( )。 A.可以有一个或多个主函数 C.可以没有主函数

2.以下定义语句中正确的是( )。 A.char a='A' b='B';

B.float a=b=10.0;

C.int a=10, *b=&a;

D.float *a, b=&a;

B.必须有且仅有一个主函数 D.必须有主函数和其他函数

3.以下选项中合法的字符常量是( )。 A.\

B.'\\101'

C.65

D.W

4.若有定义:int m=4,n=5; float k; 则以下符合C语言语法的表达式是( )。 A m=(n==5)

B k=float(n)/m

C n%2.5

D (m+n)*=k

5.若有定义: int x,y,z; 语句x=(y=z=3,++y,z+=y); 运行后,x的值为( )。 A. 7

B. 6

C. 3

D. 8

6.以下程序段运行后x的值为( )。

int a=3,b=6,x; x=(a==b)?a++:--b;

B. 3

C. 6

D. 5

A. 4

7.若有定义:int a=3,b=4,c=5; 则表达式 !(a-b)||(c-b) 的值为( )。 A. 3

B. 2

C. 0

D. 1

8.若有定义:int a=3,b=5; 要实现输出形式为:3*5=15 正确的printf( )函数调用语句为( )。 A. printf(\C. printf(\9.以下程序段的运行结果是( )。 int s=10;

switch(s/4){ }

B. C

C. B

D. BCD

case 2: case 3:

printf(\printf(\

case 1: printf(\

B. printf(\D. printf(\

default: printf(\A. BC

10.在下列数组定义、初始化或赋值语句中,正确的是( )。 A.int x[]={1,2,3,4,5,6}; C.int a[8]; a[8]=10;

11.以下程序段运行后,s的值是( )。

int a[3][3]={1,2,3,1,2,3,1,2,3}; int i,j,s=0; for(i=0;i<3;i++)

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

s+=a[i][j];

B. 6

C. 10

D. 14

B.int x[5]={1,2,3,4,5,6}; D.int n=8; int score[n];

printf(\

A. 4

12.若已有定义:int i; char c[8]=\则下列语句中,不正确的是( )。 A.puts(c); C.printf(\

B.for(i=0;c[i]!='\\0';i++) printf(\D.for(i=0;c[i]!='\\0';i++) putchar(c);

13.设已定义:char str1[20]=\ \ str2[20]=\若要形成字符串\ World!\正确语句是( )。

A strcpy (str2,str1)

B strcat(str1,str2)

C strcpy (str1,str2)

D strcat(str2,str1)

14.以下程序的运行结果是( )。 #include


08-09学年第1学期《C语言程序设计》 补考试卷(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:大体积混凝土裂缝产生原因及其预防控制措施

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: