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

2019-03-21 20:46

程序运行后的输出结果是( )。 A) 2 B) 4 C) 6 D) 3 (25) 有以下程序 #include

void main( int argc, char *argv[] ) {

int n=0,i;

for(i=1; i

编译连接后生成可执行文件tt.exe,若运行时输入以下命令行 tt 12 345 678

程序运行后的输出结果是()。

A) 12 B) 12345 C)12345678 D)136 (26) 有以下程序 #include int a=4; int f(int n) { int t=0; static int a=5; if(n%2) { int a=6; t+=a++; } else {int a=7; t+=a++;} return t+a++; }

void main(void) { int s=a,i=0;

for(;i<2;i++) s+=f(i); printf (\}

程序运行后的输出结果是( )。

A)24 B)28 C)32 D)36

(27) 有一个名为init.txt的文件,内容如下: #define HDY(A,B) A/B

# define PRINT(Y) printf(“y=%d\\n”,Y) 有以下程序

#include “init.txt” void main(void) {

int a=1,b=2,c=3,d=4,k; k=HDY(a+c,b+d); PRINT(k); }

下面针对该程序的叙述正确的是()。

A)编译有错 B)运行出错 C)运行结果为 y=0 D) 运行结果为 y=6 (28) 有以下程序

struct S {int n; int a[20];}; void f(struct S *P) {

int i,j,t;

for(i=0;i

if(p->a[i]>p->a[j]){ t=p->a[i]; p->a[i]=p->a[j]; p->a[j]=t; } }

void main(void) {

int i; struct S s={10,{2,3,1,6,8,7,5,4,10,9}}; f(&s);

for(i=0;i

程序运行后的输出结果是()。

A)1,2,3,4,5,6,7,8,9,10, B)10,9,8,7,6,5,4,3,2,1, C)2,3,1,6,8,7,5,4,10,9, D)10,9,8,7,6,1,2,3,4,5, (29)有以下程序 void main(void) {

unsigned char a=2,b=4,c=5,d;

d=a|b; d&=c; printf(“%d\\n”,d); }

程序运行后的输出结果是()。

A)3 B)4 C)5 D)6 (30) 有以下程序 #include void main (void) {

FILE *fp;

int i,a[6]={1,2,3,4,5,6}; fp=fopen(\ fwrite(a,sizeof(int),6,fp);

fseek(fp,sizeof(int)*3,SEEK_SET);

/*该语句使读文件的位置指针从文件头向后移动3个int型数据*/ fread(a,sizeof(int),3,fp); fclose(fp); for(i=0;i<6;i++) printf(\}

程序运行后的输出结果是( )。

A)4,5,6,4,5,6, B)1,2,3,4,5,6, C)4,5,6,1,2,3, D)6,5,4,3,2,1, 二、填空题(16分,每小题8分)

(1)以下程序的功能是:求出数组x中各相邻两个元素的和依次存放到a数组中,然后输

出。请填空。 #include void main(void) {

int x[10],a[9],i;

for (i=0;i<10;i++) scanf(“%d”,(a)); for( (b) ;i<10;i++) a[i-1]=x[i]+ (c) ;

for(i=0;i<9;i++) printf(“%d”,a[i]); printf(“\\n”); }

(2)以下程序的功能是:利用指针指向三个整型变量,并通过指针运算找出三个数中的最大值,输出到屏幕上,请填空: #include void main(void) {

int x,y,z,max,*px,*py,*pz,*pmax; scanf(“%d%d%d”,&x,&y,&z); px=&x; py=&y; pz=&z;

pmax=&max; (a) ;

if(*pmax<*py) *pmax=*py; if((b)) *pmax=*pz;

printf(“max=%d\\n”, (c)); }

三、编程题(24分,每小题12分)

(1)完成其中的函数fun2(int a[],int n,int b[],int c[])实现: 将数组a中大于-20的元素,依次存放到数组b中,将数组b中的元素按照从小到大的顺序存放到数组c中,函数返回数组b中的元素个数。 #include

int fun1(int a[],int n,int b[],int c[]) { ? }

void main(void) {

int n=10,i,nb;

int aa[10]={12,-30,22,20,15,-39,11,23,-46,100}; int bb[10],cc[10];

printf(\ printf(\

for(i=0;i

printf(\ printf(\

for(i=0;i

printf(\ printf(\

for(i=0;i

(2)完成其中函数fun(char *s),统计输入字符串中空格的个数。 #include

int fun2(char* s){ ? } void main() {

char str[255]; gets(str);

printf(\

}

华大08-09第1学期《C语言程序设计》 补考试卷参考答案

一、选择题(60分,每题2分)

(1)D)(2)B) (3)C) (4)A) (5)D) 6)A) (7)B) (8)C) (9)D) (10)C) (11)A) (12)B) (13)A) (14)A) (15)A) D) (16)B)(17)D) (18)A) (19)B)(20)B)(21)D) (22)B) (23)C) (24)C) (25)D) (26)B) (27)D) (28)A) (29) B) (30)A)

二、填空题(16分,每小题8分)

(1)(a)&x[i] (b)i=1 (c)x[i-1]

(2)(a) *pmax=*px(或*pmax=x) (b)*pmax<*pz或max<*pz (c) max或*pmax 三、编程题(24分)

(1)int fun1(int a[],int n,int b[],int c[])

{

int i,b_index=0,k,t; for(i=0;i-20){ b[b_index]=a[i]; b_index++; }

for(i=0;i

c[i]=b[i];

for(i=1;i

if(c[k]>c[k+1]){t=c[k];c[k]=c[k+1];c[k+1]=t;}

return b_index; }

(2)int fun2(char* s)

{

int i=0,count=0; while(s[i]!='\\0'){ if(s[i]==' ') count++; i++; }

return count;

}

华侨大学08-09学年第2学期《高级语言程序设计》重修试卷

专业(班级) ____________________ 考试时间 2 0 0 9 年 7 月 15 日 学 号 ________________________ 姓名___________ 成绩______ 注意:请将所有答案写在答卷上!

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

(1)若有int a=3,b=6; ,则表达式(a++) , (--b)的值是多少?

(2)若有int a; double d; char ch;,则表达式a+ch+d的类型是什么?

(3)若double x;,则应如何使用scanf函数输入值给变量x?如何使用printf函数输出变量x的值?

(4)简述结构化程序设计的三种基本结构。 (5)简述break语句使用的场合。

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

(1)有以下程序:

#include void main(void) {

unsigned int x=0xFFFF;


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

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

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

马上注册会员

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