数组体育彩票C语言代表运动,中国海洋大学c程c语言试卷2009年秋A答案

中国海洋大学 2009-2010学年 第二学期 期末考试试卷 计算机基础部 《C程序设计》 课程试题(A卷) 共 8 页 第 1 页 考试说明:本课程为闭卷考试,可携带书写与修正文具,满分:100 分。 考试结束后请将答题卡与试卷分开上交。 一、单选题(每题2分,共30分) 1.以下叙述正确的是________。 A) C程序的每行只能写一条语句 B) C语言本身没有输入输出语句 C) 在C程序中,注释说明只能位于一条语句的后面 D) 在对C程序进行编译的过程中可发现注释中的拼写错误 2.下面正确的int型常量表示是________。 A)0xag B)16.700 C)089 D)0XABC 3.以下C语言标识符中错误的是________。 A)_3max B)s_1_2 C)int3 D)psum 4.以下关于C语言数据类型使用的叙述中错误的是________。 A)若要准确无误差的表示自然数,应使用整数类型 B)若要保存带有多位小数的数据,应使用双精度类型 C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型 5.当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符),则输出结果是________。 12 34 void main() { char a,b,c,d; scanf(%c%ca, c=getchar(); d=getchar(); printf(%c%c%c%cn,a,b,c,d);} A)1234 B)12 C)12 D)12 3 34 6. 设有如下程序段,则描述中正确的是 ______ 。 int i=5; while(i=0) i=i-1; A)while循环执行5次 B) 循环是无限循环 C)循环体语句一次也不执行 D) 循环体语句只执行一次 授课教师命题教师或

命题负责人签字 年 月 日 院系负责人签字 年 月 日

1536085884.jpg

共8 页 第 2 页 7.以下不正确的一组语句是________。

A)char a[10]=hello B)char *p=hello

C)char a[10]; a=hello D)char *p; p=hello

8.若有struct complex

{ int real,unreal;} data1={1,8},data2;

则以下赋值语句中错误的是________。

A)data2=9; B)data2.real= 9;

C)data2.real=data1.real; D)data2.real=data1.unreal;

9.若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是________。

A)a=a++,i++; B)i=(a+k) C)i=a%11; D)i=!a;

10.下列对C语言字符数组的描述中错误的是________。

A)字符数组可以存放字符串

B)字符数组中的字符串可以整体输入、输出

C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值

D)不可以用关系运算符对字符数组中的字符串进行大小比较

11. 以下不正确的if语句形式是 ______ 。

A)if xz x++;

B)if(x==y) x+=y;

C)if(x!=y) scanf(%dx); else scanf(%d,

D)if(xy) { m=x;}

12.以下能对二维数组a进行正确初始化的语句是:________。

A) int a[2][]={{1,0,1},{5,2,3}}; B) int a[][3]={{1,2,3},{3,2,1}};

C) int a[2][4]={{1,2,3},{4},{5,6}}; D) int a[12] ={{1,2},{},{5,2,3}};

13.设有定义double a[10],*s=a;,以下能够代表数组元素a[3]的是________。

A)(*s)[3] B)*(s+3) C)*s[3] D)*s+3

14.若有定义int(*p)[3];,则下列说法正确的是________。

A)定义了类型为int的三个指针变量

B)定义了类型为int的具有三个元素的指针数组p

C)定义了一个名为*p、具有三个元素的int型数组

D)定义了一个名为p的指针变量,可用它指向每行有三个int元素的二维数组

15.下面程序运行后的结果是________。

void main()

{ char c[5] = { 'a', 'b', '', 'c', '' };

printf(%s

}

A) 'a' 'b' B) ab C)ab c D) ab0c0

中国海洋大学 2009-2010学年 第二学期 期末考试试卷 计算机基础部 《C程序设计》 课程试题(A卷) 共8 页 第 3 页 二、填空题(每空2分,共20分) 1.若有定义unsigned long x=200; char a[10]= hello则语句 printf(___【1】___, x, a) ; 将两个数据按x=200, a=hello的形式输出。 2.若a=1,b=3,c=’A’, 则表达式 !ab||0(c+=3)的结果是___【2】___ 3.语句printf(%d,strlen(ab021n的输出结果是___【3】__ 4.下面程序段的输出是___【4】__ int i,j; for(i=1;ii++) for(j=1;jj++) {if(i==j) continue; printf(i=%d,j=%dn} 5. 下面find函数的功能是查找字符串s中是否包含字符c,若有,返回该字符在串中第1次出现的位置;若无,返回空指针。请完善程序 char *find(char *s, char c) { while(*s!='') {if(*s==c) ___【5】___; s++;} return NULL; } void main() { char a[20],key,*p; gets(a); scanf(%ckey); p=find(a,key); if(p==NULL) printf(no find.n else printf(The first position is %d } 6.下面程序中main函数调用output函数将二维数组的两个字符串输出,请补充完整函数output形参部分。 #include string.h void output(___【6】___ ,int n) { int i; for(i=0;ii++) puts(*(p+i)); } void main() { char a[2][10]={china,japan output(a,2);}

2787752979.jpg

共8 页 第 4 页 7.以下程序的功能是输出100-300之间所有的素数。函数isprime()用于判断形参a是否为素数。若a是素数,返回1,否则返回0。请完善程序。

#includemath.h

int isprime(int a)

{ int i;

for(i=2;i=sqrt(a);i++)

if(a%i==0) 【7】 ;

return 1;}

void main()

{ int m;

for(m=101;mm+=2)

if( 【8】 ) printf(%d

printf(n}

8.下面fun函数的功能是:首先对a所指的N行N列的二维数组,找出各行中的最

大的数,再求这N个最大值中的最小的那个数作为函数值返回。请完善程序。 #include stdio.h

#define N 100

int fun(int(*a)[N])

{int row,col,max,min;

for(row=0;rowrow++)

{for(max=a[row][0],col=1;colcol++)

if( ____【9】____) max=a[row][col];

if(row==0) min=max;

else if( ____【10】____) min=max;

}

return min;

}

三、读程序写结果(每题2分,共20分)

1. #include stdio.h

void main()

{ int a=11,b=22,t=33;

if(aa=b;b=t;

printf(a=%d,b=%dn

}

2. void main()

{char a[10]={12and34

int i, s=0;

for( i=0;a[i]='0' a[i] i++)

s=10*s+a[i]-'0';

printf(%dn

}

中国海洋大学 2009-2010学年 第二学期 期末考试试卷 计算机基础部 《C程序设计》 课程试题(A卷) 共8 页 第 5 页 3.下面程序运行若输入china,则输出是:______。 #include stdio.h void main() {char c;int a=0,b=0; while((c=getchar())!= 'n') switch(c) {case 'a': case 'b': a++; break; default : a++; case 'c': b++;} printf(a=%d,b=%dn } 4.#include stdio.h void f() { static int a=1; int b=1; a++;b++; printf(%5d,a+b) ;} void main() { f();f();} 5.#define SUB(a) (a)-(a) void main() { int a=2,b=3,c=5,d; d=SUB(a+b)*c; printf(%dn } 6. #include stdio.h void main( ) { char b[]=ABCDEFG char *p= while(--pb[0]) putchar(*p); } 7. struct A{int no; char name[10];int level;} ; void main() { struct A a[3]={{1,tiger,3},{2,"pig,2},{3,sheep,1}}, *p=a; for(;pp++) if(p-level==1) printf(%d,%sn,p-no,p- }

317440723.jpg

共 8 页 第 6 页 8. #include stdio.h

int swap(int *x,int *y)

{ int *t;

t=x; x=y; y=t;}

void main( )

{int a=4,b=3;

swap(b);

printf(%d %dn}

9. void main()

{char a[]=YouAndMe

p+=3; puts(p);}

10. void main()

{ char a[20]=open,b[10]=the,*c=window

strcpy(b,c) ; strcat(a+4,b);

puts(a);

}

四、编程题(分值依次为6、7、8、9分,共30分)

1.编写程序实现功能:运行程序用户输入任意三个整数后,程序求出其中最小值并显示。2.编写程序,输入一个整数x,按下式输出对应的y值。

y???1?3?5???x

?2?4?6???xx为奇数x为偶数

3.函数void mystrcpy(char *s1,char *s2)的功能是:将s2所指向的数组中的串复制到s1所访问的数组中,请完成函数体的补充。(禁止使用任何库函数)

void mystrcpy(char *s1,char *s2)

{ }

4. 编写程序,要求用户输入一个分数,然后将其约分为最简分式。输入输出如下所示: Enter a fraction: 6/12

In lowest terms : 1/2

提示:为了把分数约分为最简分式,首先计算分子和分母的最大公约数,然后分子和分母分别都除以最大公约数。

答案请答于答题卡上,答题卡上请写清楚考生个人信息与任课教师、选课时间。任课教师按答题卡评分。

考试结束后请将答题卡与试卷 分.开.上.交. 。

2469291748.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值