您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 畜牧/养殖 > 华南农业大学2004学年第2学期C语言程序设计期末试卷
1华南农业大学期末考试试卷(A卷)2004学年第2学期(2005.7.7)考试科目:程序设计考试类型:(闭卷)考试时间:120分钟班级学号姓名考试须知:1.答案必须写在“答题卡”上,写在试卷上不得分。2.考试结束时,只回收答题卡,不回收试卷。3.必须在答题卡上正确填写班级、学号、姓名等内容,否则没有考试成绩。题号一二三四五总分得分评阅人一、单项选择题(每小题2分,共30分)1、下面标识符中,均为不合法的用户标识符为()A)AB、x_0、forB)float、1a0、_YC)x-y、goto、123D)_123、tmp、CHAR2、C语言中,int型数据在内存中的存储形式是()A)ASCII码B)原码C)反码D)补码3、执行printf(“%x”,100);后的输出结果为()A)100B)0x100C)0x64D)644、能表示条件-100≤x≤100的C语言表达式是()A)-100=x=100B)x=-100,x=100C)-100≤x≤100D)x=-100&&x=1005、C程序中,注释部分的位置()A)必须在一行的开始B)必须在语句之后C)必须在一行的最后D)以上三种都可以6、对数组的描述正确的是()A)数组一旦定义其大小是固定的,但数组元素的类型可以不同B)数组一旦定义其大小是固定的,但数组元素的类型必须相同2C)数组一旦定义其大小是可变的,但数组元素的类型可以不同D)数组一旦定义其大小是可变的,但数组元素的类型必须相同7、有输入语句:scanf(a=%d,b=%d,c=%d,&a,&b,&c);为使变量a的值为1,b为3,c为2,从键盘输入数据的正确形式应当是()A)132(回车)B)1,3,2(回车)C)a=1b=3c=2(回车)D)a=1,b=3,c=2(回车)8、已知ch是字符型变量,下面正确的赋值语句是()A)ch='123';B)ch='\xff';C)ch=\08;D)ch=\;9、以下程序的输出结果是:()main(){intx=2,y=-1,z=2;if(xy)if(y0)z=0;elsez+=1;printf(%d\n,z);}A)3B)2C)1D)010、下面程序段的运行结果是:()a=1;b=2;c=3;while(abc){t=a;a=b;b=t;c--;}printf(%d,%d,%d,a,b,c);A)1,2,0B)2,1,0C)1,2,1D)2,1,111、下述对C语言字符数组的描述中错误的是()A)字符数组可以存放字符串B)字符数组的字符串可以整体输入或输出C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值D)不可以用关系运算符对字符数组中的字符串进行比较12、以下正确的函数定义形式(即定义函数时函数首部的形式)是()A)doublefun(intx,inty)B)doublefun(intx;inty)C)doublefun(intx,y)D)doublefun(intx,inty);13、C语言程序中,若对函数类型未加显式说明,则函数的隐含类型为()类型。A)voidB)doubleC)intD)char14、下面程序段输出结果是()charstr[]=adcd,*ps=str;3printf(%d\n,*(ps+4));A)100B)0C)字符'd'的地址D)不确定15、下面四个程序中,被调用函数的实参、形参使用正确的是()A)B)C)D)main()main()main()main(){inta[10],*p;{inta[10],*p;{inta[10],*p;{inta[10],*p;p=a;p=a;p=a;p=a;f(&p);f(p);f(p);f(&p);}}}}f(int*x)f(int*x)f(intx)f(intx[]){.....}{.....}{.....}{.....}二、判断题(对的打“√”,错的打“×”,每小题1分,共10分)1、C程序执行的入口是main函数,所以main函数必须放在程序的开头。2、注释内容太多会影响程序的执行效率。3、若i,sum都为整型,则语句:for(i=1,sum=0;i=100;i++){sum=sum+i;}执行完毕之后i为100。4、若定义inta[5][10],则数组中最后一个有效元素是a[5][10]。5、若运行时输入:100(回车)时,下面的程序运行结果是:nomain(){inta;scanf(“%d”,&a);printf(“%s”,(a%2)!=0?“no”:“yes”);}6、字符串“that”小于字符串“The”。7、若调用一个函数,且此函数中没有return语句,则没有返回值。8、若i为整型变量,则以下循环体执行次数是0次。for(i=2;i==0;)printf(“%d”,i--);9、对于“do{循环体}while(循环条件);”,这个循环结构有可能一次循环体的内容都无法执行。10、当定义了一个结构体变量时,系统分配给它的内存是各成员所需内存量的总和。4三、程序填空题(每空2分,共20分)1、下面程序的功能为:从字符串ComputerandC中删去所有空格,请填空。#includestring.hmain(){charstr1[80]=ComputerandC,str2[80];inti,j=0;for(i=0;i(1);i++)if(str1[i](2)''){str2[j]=str1[i];(3);}str2[j]='\0';printf(%s,str2);}2、下面程序的功能为:把100~200之间的不能被3整除的数输出,请填空。main(){intn;for((4);(5);(6)){if(n%3==0)(7);printf(%d\n,n);}}3、下面程序的功能为:求两个同心圆面积差,请填空。structpoint{floatx;floaty;}structcircle{structpointdot;floatr;}main(){structcirclecir1,cir2;5floatarea1,area2;printf(“Pleaseinputthefirstcircleinformation:\n”);scanf(“%f,%f,%f”,&cir1.dot.x,(8),&cir1.r);printf(“Pleaseinputthesecondcircleinformation:\n”);scanf(“%f,%f,%f”,&cir2.dot.x,&cir2.dot.y,&cir2.r);area1=3.14*cir1.r*cir1.r;area2=(9);if(area1=area2)printf(“Area=%f\n”,(10));elseprintf(“Area=%f\n”,area2-area1);}四、读程序写结果题(每小题4分,共20分)1、有下列程序运行时,从键盘输入:ah2MA_Aha(回车)(注:_代表空格),请写出该程序的运行结果。提示:小写字母的ASCII码减去32为对应大写字母的ASCII码,反之,大写字母的ASCII码加上32为对应小写字母的ASCII码。#include“stdio.h”main(){chars[80],c=’a’;inti=0;scanf(“%s”,s);while(s[i]!=‘\0’){if(s[i]==c)s[i]=s[i]-32;elseif(s[i]==c-32)s[i]=s[i]+32;i++;}puts(s);}运行结果:62、请写出下面程序的运行结果。#include“stdio.h”main(){inta,s,n,count;a=2;s=0;n=1;count=1;while(count=5){n=n*a;s=s+n;count++;}printf(“s=%d”,s);}运行结果:3、当从键盘键入abcd(回车)时,请写出下面程序的输出结果。#include“stdio.h”try_me(){charch;scanf(“%c”,&ch);if(ch!=‘\n’){try_me();printf(“%c”,ch);}}main(){try_me();}运行结果:74、请写出下面程序的输出结果。func(intx){x=1;return(x);}main(){intx=3;func(x);printf(%d,%d\n,x,func(x));}运行结果:5、请写出下面的C程序段输出结果。intx1=3,x2=4;main(){intx3=1,x4=2;sub(x3,x4);sub(x1,x2);printf(“x1=%d,x2=%d,x3=%d,x4=%d”,x1,x2,x3,x4);}sub(intx,inty){intx1;x1=x;x=y;y=x1;}运行结果:五、编程题(每小题10分,共20分)1、打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。(10分)提示:对于一个三位数n,百位数i=n/100;十位数j=n/10%10;个位数k=n%10。82、编写函数实现下面问题。题意要求:输入若干整数,其值均在1至4范围内,用-1做为输入的结束标志,请编写函数f用于统计每个整数的个数。#defineM50main(){inta[M],c[5]={0},n=0,i,x;printf(“Enter1or2or3or4,toendwith-1\n”);scanf(“%d”,&x);while(x!=-1){if(x=1&&x=4){a[n]=x;n++;}scanf(“%d”,&x);}f(a,c,n);/*调用函数f*/printf(“Outputtheresult:\n”);for(i=1;i=4;i++)printf(“%d:%d\n”,i,c[i]);printf(“\n”);}f(inta[],intc[],intn){……}1)请补充f函数,将f函数实现完整。f函数的功能:对a数组的前n个元素进行统计,为1的个数存放在c[1]中,……,为4的个数存放在c[4]中,c[0]弃之不用。(6分)2)请用流程图(或N-S流程图)描述出f函数的实现流程。(4分)9华南农业大学期末考试试卷(A卷)2004学年第2学期(2005.7.7)考试科目:程序设计考试类型:(闭卷)考试时间:120分钟班级学号姓名题号一二三四五总分得分评阅人一、单项选择题(每小题2分,共30分)123456789101112131415二、判断题(对的打“√”,错的打“×”,每小题1分,共10分)12345678910三、程序填空题(每空2分,共20分)1、1)2)3)2、4)5)6)107)3、8)9)10)四、读程序写结果题(每小题4分,共20分)1、2、3、4、5、11五、编程题(20分,每题10分)1、122、13华南农业大学期末考试试卷(A卷)2004学年第2学期(2005.7.7)考试科目:程序设计考试类型:(闭卷)考试时间:120分钟班级学号姓名题号一二三四五总分得分评阅人一、单项选择题(每小题2分,共30分)1C2D3D4D5D6B7D8B9B10C11C12A13C14B15B二、判断题(对的打“√”,错的打“×”,每小题1分,共10分)1×2×3×4×5×6×7×8√9×10√三、程序填空题(每空2分,共20分)1、1)strlen(str1)2)!=3)j++2、4)n=1005)n=2006)n++7)continue3、8)&cir1.dot.y9)3.14*cir2.r*cir2.r10)area1-area2四、读程序写结果题(每小题4分,共20分)141、Ah2Ma评分细则:此程序段功能将空格之前的字符串大写字符A转化为小写字符a,而小写字符a转化为大写字符A,其余字符不变。答案对,得4分;若未考虑空格问题,而是将整个字符串转化,扣1分。若未能将大写转化为
本文标题:华南农业大学2004学年第2学期C语言程序设计期末试卷
链接地址:https://www.777doc.com/doc-5184109 .html