C语言期末笔试2009年1月A

更新时间:2024-07-08 15:03:01 阅读量: 综合文库 文档下载

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

专业年级 学号 姓名 授课教师 选课班上课时间 周 第 节 .中国海洋大学 2008-2009学年 第一学期 期末考试试卷

考试说明:本课程为闭卷考试,可携带书写与修正文具,满分为:100 分。 考试结束后请将后页答题卡与试卷 分.开.上.交. 。

一、单选题(每题2分,共30分)

1.以下叙述正确的是 ______ 。

A)C程序的每行只能写一条语句 B)语言本身没有输入输出语句 C)在C程序中,注释说明只能位于一条语句的后面

D)在多函数的程序中,main函数必须放在其它子函数的定义之前 2.以下不正确的常量表示形式是 ______ 。

A) 0.45 B)0XF5 C)‘\\85’ D) 32.67E-5 3. 以下不正确的变量名是 ______ 。 A) R&B B) _max C) INT D) SUM3 4. 以下正确的一组语句是 ________。

A) int x=y=5; B) int n; scanf(\ C) char a,*p; p=&a; D) char s[10]; s=\5. 若以下变量均已正确定义和赋值,则正确的语句是 ________。 A) a=b==5; B) y=x%2.0; C) x+y=10; D) n=8=2*4; 6.下面各组中与给出的程序段功能不等价的是 ________。

if(a>0) b=1;

else if(a==0) b=0; else b=-1;

A)if(a>0) b=1; B)if(a>0) b=1; C)if(a>0) b=1; D)if(a>=0) if(a==0) b=0; else if(a==0) b=0; if(a>0) b=1; if(a<0) b=-1; if(a<0) b=-1; else b=-1; if(a==0) b=0;

else b=0; if(a<0) b=-1;

7. 运行下面程序段,若输入abc#,则程序输出是:________。

char c;int v1=0,v2=0;

while((c=getchar())!='#') { switch(c) { case 'a':v1++; default :v1++;v2++; case 'c':v2++; } }

printf(\

A)2,2 B)3,5 C) 3,4 D)2,5

-------------------------------装装--------------------------------订订--------------------------------线线-------------------------------- -

共 8 页 第 2 页

中国海洋大学 2008-2009学年 第一学期 期末考试试卷

8.对for(表达式1; ;表达式3){…}可以理解为:________。 二、填空题(每空2分,共20分) A)for(表达式1;1;表达式3){…} B) for(表达式1;表达式1;表达式3){…65535} ,1. 若要定义一个变量x来存储数据,存储的数据都是正整数,最大值不超过C)for(表达式1;0;表达式3){…则变量x的定义为_【1】。 } D) for(表达式1;表达式3;表达式3){…} 9.若有定义char a[]=”china”,b[]={’c’,则表达式’h’,’i’,’n’,’a’};则下面正确的叙述为: 2. 设 float x=3.5 , y=4.8;int a =8; x + a % 3 * (int)(x+y) % 2 / A)数组a的长度小于数组b的长度 B)数组a和b的长度相同 4 的值是___【2】 。 C)数组a的长度大于数组b的长度 helloD)数组a和数组b后输出为中存储的内容完全一样3. 当执行下述程序段,从键盘上输入?jack! __【3】__。 10. 已知a,b,m,n,c,d变量的定义如下,则执行完下列程序段后m,n的值为:_____。 注:表示回车符,?表示空格。

int a=3,b=4,m=0,n=0,c=3,d=4; char a[20]; scanf(\

4. 若 (m=a

用数组元素的表达式为:________。 printf(\【6】___); } A) a[3][3] B) *(p+2)+2 C) p[2][1] D) *(a+1+1) 若找到显示6.下面程序的功能是调用find函数查找某个串中是否包含指定的字符。13. 下面正确的函数定义是:________。 找到的第一个匹配字符的下标。

A) double fun(int x, int y) B) int fun(int x, y) 如输入字符串为:hello,查找字符为 l,则输出:position=2 请补充程序。 { z=x+y; return z; } { int z; z=x+y; return z;} #include

C) double fun(x, y) D) fun(int x, int y) char *find(char *s, char c)

{ int x,y; double z; { int z; z=x+y; return z;} { while(*s!='\\0') z=x+y; return z;} {if(*s==c) ___【7】___;

14. 若有定义 int (*p)( ); 则下面叙述正确的是:________。 s++;

A) p是指向一维数组的指针变量 } B) p是指向整型数据的指针变量 return NULL;} C) p是一个函数名,该函数的返回值是指向整型数据的指针 void main() D) p是指向函数的指针变量,该函数的返回值是整型数据 { char a[80],ch,*p;

15. 设有如下定义语句,则下面的叙述不正确的是 ______ 。 gets(a); scanf(\

struct A p=find(a,ch); { int a; if(p==NULL) printf(\\\n\float x; else printf(\position=%d\\n\【8】___); } s; } A)a 和 x 都是结构体成员名 B)s是用户定义的结构体类型名 7.下面程序的功能是统计从键盘输入的一行英文中的单词个数,单词之间用空格分C)struct A是用户定义的结构体类型 D)struct是结构体类型的关键字 隔。请补充程序。

void main()

{int i,num=0,word=0; char s[80]; gets(s);

for(i=0;s[i]!='\\0';i++)

if(s[i]==' ') ___【9】___ ;

else if(word==0)

{ ___【10】__;num++;} printf(\

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

1.若系统为int型分配2个字节

void main()

{ unsigned int x=0xFFFF; printf(\ 2. void main()

{int i=1,j; char ch='F'; j=!ch&&i++;

printf(\\\n\ 3. void main()

{ int x,y;

for(x=1,y=2; y<=20;y++) { if(x>=10) break;

if(x%2==1) { x+=5; continue;} x-=3; }

printf(\ 4.void main()

{int a[3],i,j,k;

for(i=0;i<3;i++) a[i]=0; k=2;

for(i=0;i

for(j=0;j

{ int *t; t=x; x=y; y=t; } void main() {int a=3,b=4; swap(&a,&b);

printf(\

第 4 页

计算

6. int a=1;

void fun2()

{ static int c=6; a=c++;

printf(\\\n\}

void main()

{fun2(); fun2();} 7. #define N 3

#define Y(n) ((N+1)*n) void main() { int s;

s=2*(N+Y(5+1));

printf(\ 8. #include

void f(char **,int); void main()

{char a[2][10]={\ p[0]=&a[0][0];p[1]=&a[1][0]; f(p,2); }

void f(char **p,int n) { int i;

for(i=0;i

puts(*(p+i));} 9. int fun1(int x,int y) {return x+y;}

void main()

{int a=5,b=8,s;

int (*p)(int,int); p=fun1;

s=(*p)(a,b);

printf(\}

10. struct S{ int x; char n[10];};

void main()

{ struct S a={1, \

printf(\

四、编程题(分值依次为6、7、8、9分,共30分) 1.编写程序计算下面分段函数的值并输出。注:x和 y都是整型,x通过键盘输入。 x+10 (x<0) y = 3x+5 (0?x<15) 2x-10 (x?15) 2. 编写程序,将键盘输入的一个long型整数逆序构成一个新整数输出。如输入654321,输出123456(假设其逆序数值也在long范围之内)。 3. 编写程序实现如下功能: (1)输入一个3阶方阵, (2)分别求出并输出该方阵两条对角线上元素之和。 例如如下3阶方阵的两条对角线之和分别为15和15。 1 2 3 4 5 6 7 8 9 4.下面程序的功能是从多个字符串中寻找最长串输出。请根据给出的主函数内容补充find函数的函数声明和函数定义。 #include #include /*find函数声明*/ void main() { char a[6][20];int i,row; for(i=0;i<6;i++) gets(a[i]); row=find(a,6); printf(\} /*find函数定义*/ 答案请答于答题卡上,答题卡上请写清楚考生个人信息与任课教师、选课时间。任课教师按答题卡评分。 考试结束后请将答题卡与试卷 分.开.上.交. 。 《C程序设计》答案A 2008.12 考试说明:本课程为闭卷考试,可携带书写与修正文具,满分为:100 分。 题号 得分 一 二 三 四 总分 一、单选题(每题2分,共30分)(请将所选答案涂黑 如 A B C D ) 1. A B C D 2. A B C D 3. A B C D 4. A B C D 5. A B C D 6. A B C D 7. A B C D 8. A B C D 9. A B C D 10. A B C D 11. A B C D 12. A B C D 13.A B C D 14. A B C D 15. A B C D 二、填空题(每空2分,共20分)注意题号与空格号不一致,以空格编号为准 【1】___ unsigned int __【2】_____3.5____________【3】_____ hello ______ 【4】_______-1___________【5】_____’\\0’___________【6】______ a[i]-b[i]_____ 【7】___ return s ___【8】___ p-a _____【9】__word=0____ 【10】____word=1____ 三、读程序写结果(每题2分,共20分) 1._____-1_______2 ._____i=1,j=0____ 3.___7,10_________4.__3____________ a=6,c=7 5._____a=3,b=4_________ 6.______________________7._____s=48____________ a=7,c=8 China 8._____________________ 9.______s=13___________10.__________1,fox______ America 四、编程题(分值依次为6、7、8、9分,共30分)

《C程序设计》答案A 2008.12 考试说明:本课程为闭卷考试,可携带书写与修正文具,满分为:100 分。 题号 得分 一 二 三 四 总分 一、单选题(每题2分,共30分)(请将所选答案涂黑 如 A B C D ) 1. A B C D 2. A B C D 3. A B C D 4. A B C D 5. A B C D 6. A B C D 7. A B C D 8. A B C D 9. A B C D 10. A B C D 11. A B C D 12. A B C D 13.A B C D 14. A B C D 15. A B C D 二、填空题(每空2分,共20分)注意题号与空格号不一致,以空格编号为准 【1】___ unsigned int __【2】_____3.5____________【3】_____ hello ______ 【4】_______-1___________【5】_____’\\0’___________【6】______ a[i]-b[i]_____ 【7】___ return s ___【8】___ p-a _____【9】__word=0____ 【10】____word=1____ 三、读程序写结果(每题2分,共20分) 1._____-1_______2 ._____i=1,j=0____ 3.___7,10_________4.__3____________ a=6,c=7 5._____a=3,b=4_________ 6.______________________7._____s=48____________ a=7,c=8 China 8._____________________ 9.______s=13___________10.__________1,fox______ America 四、编程题(分值依次为6、7、8、9分,共30分)

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

Top