C语言程序设计含答案.doc
华南农业大学期终考试试卷B学年第二学期 考试科目高级语言程序设计姓 名 专 业_ 学号_评阅人_ 成绩题号一二三四五总分分数1524162025得分一、填空题每空1分,共15分1. 字符常量是用 括起来的字符序列2. 结构化程序的3种基本结构是 3. C程序的语句是以 作为语句的结束符4. int a; 则a能表示的数据的范围是 5. float a8.3; int b3; 表达式ab/2的值是 6. 流程图及NS图都是一种 的工具7. char c A ; 要想输出c的ASCII码,输出控制是printf , c ;8. 要定义一个能容纳10字符的字符串的一维数组a,定义格式是9. 定义一个带参的宏AREA,求圆的面积,定义是10.int a45; 则排列在数组中的第9个元素是11. struct s int a; float b 则sizeofstruct s的值是12.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为 13.要计算 0.5sinxcosx的值,需要的头文件是 14.将一文件以二进制打开进行只读操作,格式是fpa.dat, ;15. enum day Mon,Tue,Wed,Thu,Fri,Sta,Sun; 则Tue的实际值是 二、选择题每小题2分,共24分1. 有以下程序, 执行后输出结果是( )mainintx102,y012;printf“2d,2dn”,x,y;A 10,01 B 02,12 C 102,10 D 02,102. 以下叙述正确的是 A 在C程序中,main函数必须位于程序的最前面 B C程序的每行中只能写一条语句 C C语言本身没有输入输出语句 D 在对一个C程序进行编译的过程中,可发现注释中的拼写错误3. 若有说明语句 char c 86chars10 computer Bchartcomputer, *st;Cchars10; scomputer Dchars10; strcpys, computer;6. 执行printfx,100;后的输出结果是()。)100 )0 x100 )0X64 )647. 设有程序段 int k0; while k1 k k-1; 则下面描述中正确的是 A while循环执行10次 B循环是无限循环 C 循环体语句一次也不执行 D循环体语句执行一次8. 以下程序的运行结果是 main int m5; ifm 5 printf dn, m; else printfdn, m ; A 4 B 5 C 6 D 79. 如果要打开c盘file文件夹下的abc.dat文件,函数中第一个参数正确的格式是A cfileabc.datB cfileabc.datC cfileabc.dat D cfileabc.dat10. 若有以下定义int a5,*pa;则对数组a元素的正确引用是( )A *a5 B a2 C *p5 D *a211. 有如下说明int a10 1,2,3,4,5,6,7,8,9,10, *pa;则值为9的表达式是( )A *p9 B *p8 C *p9 D p812. 有如下程序, 程序的输出结果是 main int x1,a0,b0;switchxcase 0 b;case 1 a;case 2 a; b;printfad, bdn, a, b;A a2,b1 B a1,b1 C a1,b0 D a2,b2三、程序填空题每空2分,共16分1、打印9X9乘法表。输出格式要求为1X111X22 2X241X33 2X36 3X39 1X99 2X918 3X927 9X981mainint m, n; for m1; m9; m for n1; ; n printf“ ”, m, n, ; 2找出大于1000的第1 个素数includemath.hmainint i, j, k;for i1000; ; iksqrti;for j2; ; jif ij 0 if printf d, i; 四、看程序、写结果每题5分,共20分1 includestdio.hmaincharch1,ch2;intn1,n2; ch1getchar;ch2getchar; n1 ch1 0n2 n1*6 ch2 - 0; printf“dn”,n2;程序运行时输入12回车,输出结果2 includestdio.h main int i, j, k, a 3, b 2; i ); jprintf( id,jd,kdn,i , j, k; 运行结果3 int fint a int b1; static int c 0; a; b; c; returnabc;main int a,b,c; a b c 2; printfd, dn , a, fa ; printfd, dn , a, fa ;运行结果4 void fun int *p ;main int a10, i; int *p a; fori0;i5;i *p i; funp; fori0; i5; i printfd , ai;void funint *p *p; p; 运行结果五、编程题共25分1、编程实现计算s值 s 1 1/2 1/4 1/6 1/8 - 1/100 2、有一幅扑克牌共有52张,每张牌的信息有花色和牌值两个信息。牌的信息所定义的数据结构如下char poke_v A, 2, 3, 4, 5, 6, 7, 8, 9, 0, J, Q, K, , , ; /*花色*/struct cardchar suit; /*花色*/ char value; /*牌值*/ struct card *nextpoke;编程实现如下功能主函数中完成1-3项,并调用函数实现4-5项1 定义52张牌的变量poke52,使所有牌的初值是空值。2 现在手上有三张牌poke0-poke2红桃A,方块6,方块8,编程建立一个链表,将它按顺序链接起来。3 又有一张牌poke3是红杏7,要求插入到链表的方块6与方块8之间,编程实现。4 编制一个函数getnumstruct card *p,求出手头有多少张牌5 编制一个函数getsuitstruct card *p, char s /*s是花色*/,求出相应的花色的牌有多少张 高级语言程序设计B卷参考答案与评分标准一、填空题 评分标准,每空1分,不填或错误不得分 1、单引号2、顺序结构、选择结构、循环结构3、分号 4、-32768-327675、9.36、程序框图7、d8、char a11 9、define AREAr 3.14159*r*r10、a13 11、612、auto13、math.h14、rb15、1二、选择题每题2分,错误或不答不得分题号123456789101112答案CCABCDBCDDBA三、程序填空题每空2分,共16分1、nm 如果填ni也算对2、dxd-2d 如果填dxdd也算对3、m*n 或者n*m4、printfn;5、jk6、continue7、jk 如果填jk也算对8、break;四、看程序写结果每小题5分1、82、i1,j1,k3 答对1个给1分,对两个给3分3、2, 6 答对1行给2分,两行给5分,只答对其中一个给1分 2, 74、1 2 3 4 5 如果是0 1 2 3 4 给2分五、编程题1、本小题10分,评分细则如下main/*有主函数及相关结构,得1分*/ float s1; /*1分*/int i; /*1分*/ fori1; i100; i2/*2分*/ s s float1/i;/*3分,如果没有float则扣1分*/ printfsf, s;/*2分*/2、本小题15分,评分细则如下/*会定义以下变量和头文件得1分*/include stdio.hinclude malloc.h char poke_v A,1,2,3,4,5,6,7,8,9,0,J,Q,Ks,h,c,dchar value;struct card *nextpoke;main /*会定义以下变量及函数得1分,其中如果没有函数定义也可得分*/ int i,j; struct card poke52; struct card *p; int getnumstruct card *p; int getsuitstruct card *p, char s; /*会进行初始化清空,得2分*/ fori0; i51; i pokei.suit 0; poke.value0; poke.nextpokeNULL; /*有以下赋初值,得1分*/ poke0.suit poke_f1; poke0.value poke_v0; poke1.suit poke_f3; poke1.value poke_v7; poke2.suit poke_f7; poke2.value poke_v2;/*有以下建立链表,得2分*/ poke0.nextpokepoke1; poke1.nextpokepoke2; poke2.nextpoke NULL; poke3.suit poke_f3; poke.value poke_v6;/*有以下建立插入链表过程,得2分*/ p poke3; poke3.nextpoke poke1.nextpoke; poke1.nextpoke p;/*此函数写对得3分*/int getnumstruct card *p int i; fori1; p-nextpokeNULL; p, i ; returni;/*此函数写对得3分*/int getsuitstruct card *p, char s int i; fori0; p-nextpoke NULL; p ifp-suit s i; ifp-suit s i; returni;