南昌航空大学C语言期末考试试卷.pdf

上传人:无*** 文档编号:91264166 上传时间:2023-05-24 格式:PDF 页数:21 大小:2.30MB
返回 下载 相关 举报
南昌航空大学C语言期末考试试卷.pdf_第1页
第1页 / 共21页
南昌航空大学C语言期末考试试卷.pdf_第2页
第2页 / 共21页
点击查看更多>>
资源描述

《南昌航空大学C语言期末考试试卷.pdf》由会员分享,可在线阅读,更多相关《南昌航空大学C语言期末考试试卷.pdf(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、评阅人得分一、单项选择题(每题3分,共3 0分,注意:答案写在后面的答题卡内,否则0分)1、若有定义:inta=8,b=5,c;执行语句c=a/b+0.4;后,c 的 值 为()。A)1.4 B)1 C)2.0 D)22、以下程序中,w hile循环的次数是()。#include void main(void)int i=0;while(i10)if(il)continue;if(i=5)break;i+;A)1 B)死循环,不能确定次数 C)6 D)103、以下程序的输出结果是()。#include void main(void)int a=0,i;for(i=l;i5;i+)switch(

2、i)case 0:case 3:a+=2;case 1:case 2:a+=3;default:a+=5;)printf(dn”,a);)A)31 B)13 C)10 D)1)4、以下程序的输出结果是()。#include void main(void)int a=5,b=4,c=6,d;printf(dn”,d=ab?(ac?a:c):b);A)5 B)4 C)6 D)不确定5、执行以下程序后的输出结果是()#include void main(void)(char a=,abc0abc;printf(s”,a);)A)abc0abc B)abc C)abc0 D)d)c6、当调用函数时,实

3、参是一个数组名,则向函数传送的是()。A)数组的长度 B)数组的首地址C)数组每一个元素的地址 D)数组每个元素中的值7、执行以下程序后,a 的 值 为()i n t *p,a=1 0,b=l;p =&a;a=*p +b;A)1 2 B)编译出错 C)1 0 D)U8、以下正确的叙述是()。A)在C语言中,m a in函数必须位于文件的开头B)C语言每行中只能写一条语句C)C语言本身没有输入、输出语句D)对一个C语言进行编译预处理时,可检查宏定义的语法错误9、以下程序的输出结果是()。v o i d mai n(v o i d)i n t a=4,b=5,c=0,d;d=!a&!b II !c

4、;p ri mf(dn”,d);)A)1 B)0 C)非 0 的数 D)-l1 0、执行以下程序段后,变量y的 值 是()oi n t x,y;X=1;y =(+x*5);A)5 B)1 0 C)1 5 D)2 0单项选择题答题卡12345678BBACDBDC91 0AB评分标准:每题选对满分,选错0分。评阅人 得分-二、分析结果题(2 0分)1、(9 分)#i n clu de v o i d f(i n t c)i n t a=0;s t at i c i n t b=0;a+;b+;p ri n t f(%d:a=%d,b=%dn ,c,a,b);)v o i d mai n(v o

5、i d)i n t i;fo r(i=l;i =3;i+)f(i);)运行结果为:I :a=1 ,b=12:a=l,b=23:a=l,b=32、(1 1 分)#i n clu de v o i d mai n(v o i d)(i n t n u m,c;n u m=2 0 0 4;do c=n u m%1 0;p ri n t f(d”,c);w h i le(n u m/=1 0)0);p ri n t f(n”);)运行结果为:4 0 0 2评阅人 得分 三、程 序 填 空 题(每 空4分,共20分)1、求 1 !+2!+3!+o .o +1 0!#i n clu de v o i d

6、mai n(v o i d)(flo at s =0,t =1;i n t n;fo r(n=l;nv=10;n+)l=t*n;_ s=s+t _;p ri n t fC l!+2!+3!+。+1 0!=%f s);)2、以下函数的功能是,把两个整数指针所指的存储单元中的内容进行交换。v o i d ex ch an g e(i n t *x,i n t *y)(i n t t;t=*y;*y =*x;*x =t;评阅人 得分 四、程 序 设 计 题(30分)(1)s u m=2+5+8+1 1+1 4,输入正整数n,求sum的前n项和。(1 0分)v o i d mai n()i n t n

7、,i,t,s u m=O;s can f(%d,&n);t=2;/I分/I分/I分fo r(i=l;i =n;i+)/2 分(s u m=s u m+t;/2 分t=t+3;/2 分)p ri n t f(,s u m=%d,s u m);/I 分 (2)今 有1 0 0块砖,需1 0 0人来搬,男搬4,女搬3,两个小孩搬一砖。问男、女、小孩各几何?(8分)#i n clu de ns t di o.h v o i d mai n()i n t man,w o man,ch i ld;/I 分fbr(man=0;man =1 0 0;man+)1 分fo r(w o man=0;w o man

8、 =1 0 0;w o man+)/I 分fo r(ch i ld=0;ch i ld=1 0 0;ch i ld+)/I 分(i f(8*man+6*w o man+ch i ld=2 0 0&man+w o man+ch i ld=1 0 0)/2 分p ri n t f(%d%d%dn ,man,w o man,ch i ld);/2 分)(3)求个矩阵外围元素之和。(1 2分)#i n clu de#defi n e N 4#defi n e M 5do u ble mat ri x _s u m(do u ble mat ri x M)do u ble 5 u m=0;i n t k

9、;fo r(k=0;k N;k+)s u m=s u m+mat ri x k 0;s u m=s u m+mat ri x kM-l J;/3 分)fo r(k=l;k M-l;k+)s u m=s u m+mat ri x 0 k;s u m=s u m+mat ri x lN-1 J lkJ;/3 分)ret u rn s u m;/I 分)v o i d mai n()(i n t i,j;do u ble mat ri x _s o u rceN M;do u ble t;do u ble res u lt;fo r(i=0;i N;i+)for(j=O;j 设 a、b c、d、m、

10、n 均为 i n t 型变量,且 a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a b)&(n=c d)运算后,n的 值 为()AO Bl C 2 D 34、t 为 i n t类型,进入下面的循环之前,t 的值为0whi le(t=l)则以下叙述中正确的是()A 循环控制表达式的值为0 B 循环控制表达式的值为1C 循环控制表达式不合法 D 以上说法都不对5、设 i n t i=4,j=8,k;则表达式 k=(i+,+i,j+)的 值 为()A 4 B 8 C 9 D 1 06、有宏定义#d e f i n e MULTI(a,b)a*b#d e f i n e MULT2

11、(a,b)(a)*(b)宏引用 Y=MULTl(3+2,5+8);Z=MULT2(3+2,5+8)后,则丫和 Z 的 值 是()。A Y=6 5,Z=6 5 B Y=2 1,Z=6 5C Y=6 5,Z=2 1 D Y=2 1,Z=2 17、若定义a为 i n t型变量,则对指针变量p的正确初始化是()oA i n t*p=a;B i n t*p=*a;C i n t p=&a;D i n t*p=&a;8、以下程序的输出结果是()m a i n ()i n t a=3;p r i n tf(%d n”,(a+a-=a*a);)A -6 B 1 2 C 0 D -1 29、在一个源文件中定义的

12、全局变量的作用域为()。A本文件的全部范围 B本程序的全部范围C本函数的全部范围 D从定义该变量的位置开始至本文件结束1 0、设有i n t I;1=7/2;p r i n tf(d”,D;则执行结果为()A 3.5 B 3.5 0 C 3 D 3.01 1、在C语言中,合法的长整型常数是()A 0L B 4 9 6 2 7 1 0 C 3 2 4 5 6 2&D 2 1 6 D1 2、以下选项中合法的字符常量是()A B B 01 0 C 6 8 D D1 3、假定x和y为d o uble型,则表达式x=2,y=x+3/2的 值 是()A 3.5 00000 B 3 C 2.000000 D

13、 3.0000001 4、设x、y均为整型变量,且x=1 0,y=3,则以下语句的输出结果是()p r i n tf (/z%d,%d n”,x,y);A 1 0,3 B 9,3 C 9,2 D 1 0,21 5、x、y、z被定义为i n t型变量,若从键盘给x、y、z输入数据,正确的输入语句是()A INP UT x、y、z;B sc a n f(%d%d%d”,&x,&y,&z);C sc a n f(%d%d/d”,x,y,z);D r e a d(%d%d%d”,&x,&y,&z);单项选择题答题卡12345678CCCBBBDD91 01 11 21 31 41 5DCABDDB评分

14、标准:选对得满分,否则0 分。评阅人 得分-二、分析结果题(2 3 分)1、(6 分)#i n c lud e std i o.hvo i d m a i n()i n t 1=6,x,y;x=I+;y=+I;p r i n tf(%d,%d ,x,y);)运行结果为:6.8评分标准:写对一个数字得3分,全写对得6分。2、(5 分)#i n c lud e std i o.hvo i d m a i n()i n t a 3 3=1,2,3 4,5,6,7,8,9);p r i n tf(“d”,*(a l+2);运行结果为:6评分标准:写对得5分,否则0分。3、(6 分)#i n c lud

15、 e std i o.hvo i d sub(i n t s,i n t t)i n t w;w=s;s=t;t=w;)vo i d m a i n()i n t a,b;a=1 00;b=2 00;sub(a,b);p r i n tf(“d,%d”,a,b);)运行结果为:1 00,2 00评分标准:写对一个数字得3分,全写对得6分。4、(6 分)t t i n c lud e std i o.hvo i d m a i n()i n t n;f o r (n=l;n =2 0;n+)i f (n%3!=0)c o n ti n ue;p r i n tf (/B d ,n);)运行结果为

16、:3 6 9 1 2 1 5 1 8 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _评分标准:写对一个数字得1 分,全写对得6分。三、程序填空题(每空2分,共1 6分)1 .本程序能实现将若干个数按逆序存放,然后输出,请在横线上填写正确内容完成程序。例 如:原 顺 序 为 如 8,4,5,1 逆序后为1,5,4,8,6ttd e f i n e N 5vo i d m a i n()i n t i ,t;sta ti c i n t a N=6,8,4,5,1 ;f o r(i=0;i N/2 ;i+)t=a i;a i=a N-l-i;a N-

17、i =t;p r i n tf(n”);f o r(i=0;i N;i+)p r i n tf(%4 d ,a i);)评分标准:写对一个空得2分,全写对得8分。2 .以下程序实现:输入三个整数,按从大到小的顺序输出,请在横线上填写正确内容完成程序.vo i d m a i n()i n t x,y ,z,c ;sc a n f(%d%d%d ,&x,&y,&z);i f(V z )c=y;y=z;z=c;if(x z)c=X;x=z;z=c;if(xy)c=x;x=y;y=c;p rin tf(a%d,%d,%dw,x,y,z);)评分标准:写对一个空得2 分,全写对得8 分。四、程序设计题

18、(3 1 分)1.如果某个3 位数的各位数字的立方之和等于该数本身,则这个3 位数就是一个“水仙花”数,如 153=1M3+53O编程打印所有的“水仙花”数。(10分)#include stdio.hvoid main()int ge,shi,bai,x;/I 分for(ge=0;ge=9;ge+)/I 分for(shi=0;shi=9;shi+)/I 分for(bai=1 ;bai=9;bai+)/I 分(x=ge+10*shi+100*bai;/2 分if(x=ge*ge*ge+shi*shi*shi+bai*bai*bai)/3 分printf(%d”,x);/I 分)2.编程实现函数v

19、oid strcopy(char*dest_str,char*sour_str);要求该函数实现将sour_str中的内容拷贝到dest_stro(不许直接调用其他函数来实现,否则0 分处理)(8 分)void strcopy(char*dest_str,char*sour_str)(int i=0;/I 分while(sour_stri)/2 分(dest_stri=sour_stri;/2 分i+;/I 分)dest_stri=,O,;/2 分)3.用指针做形参编写一个子函数,计算学生的最低分、最高分以及平均分,然后在主函数中从键盘输入10个学生的分数,并调用子函数,最后输出最低分、最高分

20、及平均分(13分)#include stdio.hfloat CalculateScore(float*s,int len,float*max,float*min)float ave=*s;/I分*max=*s;/I分*min=*s;/I分int i;for(i=l;i*max)/I 分*max=*(s+i);if(*(s+i)*min)/I 分*min=*(s+i);ave=ave+*(s+i);/I 分ave=ave/len;/I 分return ave;/I 分)void main()float score 10,max,min,average;int i;printf(Please t

21、he score of studentnM);for(i=0;i10;i+)scanf(n%f;&scorei);/I 分average=CalculateScore(score,10,&max,&min);/2 分printf(,max=%f,min=%f,average=%fn,max,min,average);/I 分)一、单 选 题(15X2分)1、若有定义:inta=8,b=5,c;执行语句 c=a/b+0.4;后,c 的 值 为(B)。A)1.4 B)1 C)2.0 D)22、以下程序中,w hile循环的次数是(B)。#include void main(void)int i=0

22、;while(i10)if(il)continue;if(i=5)break;i+;)A)1 B)死循环,不能确定次数 C)6 D)103、以下程序的输出结果是(A)。#include void main(void)int a=0,i;for(i=l;i5;i+)switch(i)case 0:case 3:a+=2;case 1:case 2:a+=3;default:a+=5;)printf(44%dn,a);)A)31 B)13 C)10 D)2)4、执行以下程序段后的输出结果是(C)。int x=5;int m,n;n=(+x)+(+x);m =(x-)+(x);printf(%d%d

23、 n,m,n);A)1 4 1 0 B)1 3 1 3 C)1 4 1 45、以下程序的输出结果是(c#include D)1 4 12void main(void)inta=5,b=4,c=6,d;printf(d n”,d=a b?(a c?a:c):b);)A)5 B)4 C)6 D)不确定6、执行以下程序后的输出结果是(D )#include void main(void)(char a口 二 abc O abc;printf(%s”,a);)A)abc 0 abc B)abc C)abc 0 D)i)c7、当调用函数时,实参是一个数组名,则向函数传送的是(B )。A)数组的长度 B)

24、数组的首地址C)数组每一个元素的地址 D)数组每个元素中的值8、执行以下程序后,a的 值 为(D)。int*p,a=1 0,b=l;p=&a;a=*p+b;A)1 2 B)编译出错 C)1 0 D)1 19、以下正确的叙述是(C )。A)在C语言中,m a i n函数必须位于文件的开头B)C语言每行中只能写一条语句C)C语言本身没有输入、输出语句D)对一个C语言进行编译预处理时,可检查宏定义的语法错误1 0、下面正确的标识符是(A)A)1 2 b3 B)ht C)ht ibc D)2 1 3 b1 1、以下程序的输出结果是(A)ovoid main(void)int a=4,b=5,c=0,d

25、;d=!a&!b I I !c;printf(%d n”,d);A)1 B)0 C)非 0 的数 D)-l1 2、执行以下程序段后,变量y的 值 是(B)。int x,y;x=1;y=(+x*5);A)5 B)1 0 C)1 5 D)2 01 3、若已定义:inta 9 ,*p=a;并在以后的语句中未改变p的值,则不能表示a“地址的表达式是(C)。A)p+1 B)a+1 C)a+D)+p1 4、函数调用 strcat(strcpy(strl,str2),str3)的功能是(c)。A)将串strl复制到串str2中后再连接到串str3之后B)将串strl连接到串str2之后再复制到串str3之后

26、C)将串str2复制到串strl中后再将串str3连接到串strl之后D)将串str2连接到串strl之后再将串strl复制到串str3中1 5、在下列选项中,不正确的赋值语句是(D )oA)+t;B)nl=(n2=(n3=0);C)k=i=j;D)a=b+c=1;二、程序填空(1 6分)1、求 1!+2!+3!+ooo+1 0!#include void main(void)(float s=0,t =1;int n;for(n=l;nv=1 0;n+)t=t*n;s=s+t;printfC l!+2!+3!+1 0!=%f s);)2、以下程序是用来统计从键盘输入的一个正整数中各位数字中零

27、的个数,并求各位数字中最大者。例如:1 0 8 0其零的个数是2,各位数字中最大者是8。#include void main(void)(unsigned long num,max,t;int count;count=max=0;s c a n f&n u m);do t=num%10;if(t=0)+count;elseif(max t)max=l;num/=1 0;while(num);p r i n t f(ncount=%d,max=%1 d n”,count,max);)3、下面程序的功能是:输出1 0 0以内能被3整除且个位数字为6的所有整数。#include void main(

28、void)(int i,j;for(i=0;ivlO;i+)j=i*1 0+6;if(j%3 !=0)continue;4、以下函数的功能是,把两个整数指针所指的存储单元中的内容进行交换。void exchange(int*x,int*y)int t;t=*y;*x=t;三、阅读程序,写出程序的输出结果(24分)1、include stdio.hvoid m ain()int i,j;for(i=0;i4;i+)for(j=0;ji;j+)p rin tf(z,);for(j=0;j4+i;j+)p rin tf(*);p rin tf(n);)*2、#include void f(int c

29、)int D;static int b=0;a+;b+;printf(n%d:a=%d,b=%dn;c,a,b);)void main(void)int i;for(i=l;i=3;i+)f(i);)1:a=l,b=l2:a=l,b=23:a=l,b=33、#include void main(void)int num,c;num=2004;do c=num%10;printf(H%d,c);while(num/=10)0);printf(n);)4002五、编 程(30分)(1)sum=2+5+8+11+14,输入正整数n,求 sum的前n 项和。void main()int n,i,t,s

30、um=0;scanf(%d,&n);t=2;for(i=l;i=n;i+)(sum=sum+t;t=t+3;)printf(sum=%d,sum);)(2)编程实现函数void strcopy(char*dest_str,char*sour_str);要求该函数实现将sour_str中的内容拷贝到dest_str。(不许直接调用其他函数来实现,否则。分处理)void strcopy(char*dest_str,char*sour_str)(int i=0;while(sour_stri)(dest_stri=sour_stri;i+;)dest_stri=,O,;)(3)求个矩阵外围元素之和。

31、#include#define N 4#define M 5double matrix_sum(double matrixM)double ium=0;int k;for(k=0;kN;k+)sum=sum+matrixk 0;sum=sum+matrixk M-1 ;)for(k=l;kM-l;k+)sum=sum+matrixOJlkJ;sum=sum+matrixN-1 k;re t u rn s u m;v o i d m a i n()(i n t i,j;d o u b l e m a t ri x _s o u rc e NM;d o u b l e t;d o u b l e

32、re s u l t;f o r(i=0;i N;i+)f o r(j=O;j s 2,则返回+1;若串s l s 2,则返回-1。(5)编程找出1 0 0 0以内的满足勾股定理/+。2=。2的整数组g,b,c)评阅人 得分-三、选择题(共 40分)1、以下选项中合法的标识符是(2分)A.a b c!B.a b c#C._a b c D.2 b c2、以下说法中正确的是()。(2分)A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在m a i n。函数中定义C.C语言程序总是从m a i n。函数开始执行D.C语言程序中的m a i n ()函数必须放在程序的开

33、始部分3、设有:i n t c l=5,c 2=2,c 3;则执行 c 3=c l/c 2;后,c 3 的 值 是()。(2 分)A.2 B.5/2 C.2.5 D.34、设 有:i n t i =4 ,j ;j =i +;则执行 p r intf(后,屏 幕 上 显 示 的是()o (2分)A.5,5 B.5,4 C.4,5 D.4,45、程序中出现的&是()。(2分)A.取 地 址 运 算 符B.逻 辑 与 运 算 符C.按 位 与 运 算 符D.标识符6、以下程序中,w h i l e循环的次数是()。(2分)f t i n c l u d e v o i d m a i n ()i n

34、 t i=0;w h i l e (i 1 0)i f (i=5)b re a k;i+;)A.0 B.1 0 C.5 D.67、程序中出现的“5”是()。(2分)A.整 数 常 量 B.字 符 常 量 C.字 符 串 常 量 D.标识符8、若定义a为 i n t 型变量,则对整型指针变量p 的正确初始化()。(2分)A.i n t *p=a;B.i n t *p=*a;C.i n t p=&a;D.i n t *p=&a;9、x、y、z 被定义为i n t 型变量,若从键盘给x、y、z 输入数据,正确的输入语句 是()。(2分)A.INPUT x、y、z;B.s c a n f (册 d%d

35、”,&x,&y,&z);C.s c a n f (“猊猊%d”,x,y,z);D.re a d (“%d%d%d”,&x,&y,&z);1 0、设有:i n t x,a,b;根据a 和 b的大小关系确定x的值,从下列式中选出合法的i f 语 句(A.i f (a=b)x+;B.i f (a=b)x+;1 1、设有:i n t a 4=2,3,4,i;则执行完 i=a l+a 2;后,i 的 值 为().(2 分)A.5 B.7 C.2 D.41 2、以下正确的叙述是()o(2分)A.在 C 程序中,语句之间必须要用分号“;”分隔B.若 a是实型变量,C 程序中允许赋值a=1 0,因此实型变量中

36、允许存放整型C.在 C 程序中,无论是整数还是实数,都能准确无误地表示D.在 C 程序中,“/”是只能用于整数运算的运算符1 3、设有:i n t a=2,b=4,c=3,d=4,m=4,n=3;执行(m=a b)&(n=c d)后,n 的值为()o (2 分)。(2 分)A.1 B.4 C.3 D.01 4、在下列运算符中,优先级最低的是()。(2 分)A.&B.=C.|D.=15、以下选项中,与 k=+n 完全等价的表达式是()。(2 分)A.k=n;n=n+l;B.n=n+l;k=n;C.k=+n;D.k+=n+l;16、以下选项中合法的字符常量是()。(2 分)A.B”B.6 8 C.

37、I)D.D 17、函数调用s t r c a t(s t r l,s t r 2)的功能是()。(2 分)A.将串s t r l 连接到串s t r 2之后B.将串s t r 2连接到串s t r l 之后C.将串s t r 2复制到串s t r l 中D.将串s t r l 和串s t r 2进行比较18、以下选项中,不合法的赋值语句是()o (2 分)A.a+=3;B.k=3;C.a=b=c=0;D.a=3*4=2*l;19、以下选项中,合法的长整型常数是()。(2 分)A.0L B.6 5 5 34 C.327 5 6&D.4 5 3D20、在一个源文件中定义的全局变量的作用域为()。(

38、2 分)A.本源文件的全部范围 B.本函数的全部范围C.从定义该变量的位置开始至本源文件结束 D.本程序的全部范围评阅人得分填 空 题(共40分)1、本程序功能是求解1 X 3 X 5 X 7 X 9 X 1 1,请在横线上填写正确内容完成程序。(6分)#i n c l u d e void main()int i,t;t=l;i=3;_ (3 分)t=t*i;_(3 分)printfC4%d,t);)2、本程序功能是求a,b二个数中的较大者,请在横线上填写正确内容完成程序。(6 分)#include void main()int a,b,max;scanfC%d,%d;&a,&b);if(3

39、 分)_(3 分)elsemax=b;printf(umax=%d ;max);3、本程序功能是求一分数序列:2/1,3/2,5/3,8/5 前10项之和。请在横线上填写正确内容完成程序。(9 分)#include void main()int i,t;float a=2,b=l,s=0;for(i=1;i+)(3 分)(3 分)t=a;_(3 分)b=t;)printf(sum=%f,s);)4、本程序功能是输入十个整数,并统计大于0、等于0、小于0 的个数。请在横线上填写正确内容完成程序。(9 分)#include void main()int a 10,j,m=0,n=0,k=0;for

40、(;j 0)m=m+1;i f(a j=0)n=n+1;i f(a j 0)k=k+l;)p r i n t f Cm=%d,n=%d,k=%d,m,n,k);5、分析本程序,并在横线上填入程序的输出。(5分)#i n c l u d e v o i d m a i n()(c h a r a,b;a=*a;b=b;a=a-32;b=b-32;p r i n t f(%c%c n u,a,b);)输出:(5分)6、分析本程序,并在横线上填入程序的输出。(5分)#i n c l u d e s t d i o.h v o i d m a i n()i n t n;f o r (n=l;n=20;

41、n+)i f(n%3!=0)c o n t i n u e;p r i n t f(d t”,n);)输出:(5分)评阅人 得分-三、编程题(共20分)1、编写程序判断m是否为素数,m值由用户输入。(1 0分)2、编写程序用函数递归方法求n!。(1 0分)评阅人 得分-四、单项选择题(每题2分,共3 0分)1有以下程序m a i n()i n t x 8=8,7,6,5,0,0,*s;s=x+3;p r i n t f (%d n,s );执行后输出结果是(B )A)随机值 B)0 C)5 D)62 以下叙述中正确的是(B )A)全局变量的作用域一定比局部变量的作用域范围大B)静态(s t a

42、 t i c)类别变量的生存期贯穿于整个程序的运行期间C)函数的形参都属于全局变量D)未在定义语句中赋初值的a u t o 变量和s t a t i c 变量的初值都是随机值3 设有如下定义s t r u c t s s c h a r n a m e 10;i n t a g e;c h a r s e x;s t d 3,*p=s t d;下面各输入语句中错误的是(B )A)s c a n f&(*p).a g e);B)s c anf&std.n a m e);C)scanf&std 0.s e x);D)scanf&(p-s e x);4以下叙述中正确的是(A )A)C程序中注释部分可

43、以出现在程序中任意合适的地方B)花括号 和只能作为函数体的定界符C)构成C 程序的基本单位是函数,所有函数名都可以由用户命名D)分号是C语句之间的分隔符,不是语句的-部分5 以下选项中可作为C 语言合法整数的是(C)A)10 110 B B)0 386 C)O X f f a D)x 2a 26 以下不能定义为用户标识符的是(D)A)s c a nf B)V oi d C)_ 3c om_ D)i nt7 以下选项中非法的表达式是(D yA)0 =x 1,2,3,4);C)i nt a 2 2 =l ,2,3;D)i nt a 口=1,2,3,4 ;13 i nt a =l,2,3,4,5,6

44、,7,8,9,10 ,*p=a,i=2;数组元素地址的正确表示(D)A)&(a+1)B)a+C)&p D)&p i 14 i nt a 3 4,*p;则下面哪一个指针变量的用法与其他三个不同(D)A)p=*a;B)p=&a 0 0 ;C)p=(i nt *)a;D)p=a;15 有宏定义#d e f i ne M U L T I (a,b)a*bt t d e f i ne M U L T 2(a,b)(a)*(b)宏引用 Y=M U L T I (3+2,5+8);Z=M U L T 2(3+2,5+8)后,则 Y 和 Z 的 值 是(B)。A)Y=65,Z=65 B)Y=21,Z=65 C

45、)Y=65,Z=21 D)Y=21,Z=21评阅人得分_、分 析 结 果 题(20分)1、(5 分)#i nc l u d e s t d i o.h v oi d ma i n()i nt 1=6,x,y;x=I+;y=+I;pr i nt f(d,%d”,x,y);)运行结果为:6.8评分标准:写对一个数字得2.5分,全写对得5分。2、(5 分)#i nc l u d e s t d i o.h v oi d ma i n()i nt a 3 3=123,4,5,6,7,8,9;pr i nt f(d”,*(a l +2);)运行结果为:6评分标准:写对得5分,否则0分。3、(5 分)#i

46、 nc l u d e s t d i o.h v oi d s u b(i nt s ,i nt t)i nt w;w=s;s=t;t=w;)v oi d ma i n()i nt a,b;a=10 0;b=20 0;s u b(a,b);pr i nt f(64%d,%d,a,b);)运行结果为:10 0 ,20 0评分标准:写对一个数字得2.5分,全写对得5分。4、(5 分)t f i nc l u d e v oi d s w a p(i nt *r,i nt *s)i nt *t;t=*r;*r=*s;*s=t;)ma i n()i nt a=l,b=2,*p,*q;p=&a;q二&

47、b;s w a p(&p,&q);pr i nt f C%d,%d n,z,*p,*q);)运行结果为:2 1评分标准:写对个数字得2.5分,全写对得5分。评阅人 得分 三、程 序 填 空 题(每 空2分,共16分)3.本程序能实现将若干个数按逆序存放,然后输出,请在横线上填写正确内容完成程序。例如:原顺序为6,8,4,5,1逆序后为1,5,4,8,6#define N 5void main()inti,l:static int aN=6,8,4,5,l);for(i=0:i N /2;i+4-)t=ai:a i =a N-L i l:=t ;printf(n);for(i=Q;i N :i+

48、4-)printf(ti%4d,ai);)评分标准:写对一个空得2分,全写对得12分。4.以下程序实现:输入三个整数,按从大到小的顺序输出,请在横线上填写正确内容完成程序。void main()intx,y,z,c ;scanf(%d%d%d”,&x,&y,&z);if(V z )c=y;y=z;z=c;if(x z )c=x;x=z;z=c;)if(x v )c=x;x=y;y=c;printf(%d,%d,%d”,x,y,z);)评分标准:写对一个空得2分,全写对得8分。评阅人 得分 四、程 序 设 计 题(3 0 分)2.如果某个3 位数的各位数字的立方之和等于该数本身,则这个3 位数就

49、是一个“水仙花”数,如 1 5 3=13+33+53。编程打印所有的“水仙花”数。(1 0 分)#include Hstdio.hHvoid main()int ge,shi,bai,x;/I 分for(ge=0;ge=9;ge+)/I 分fbr(shi=0;shi=9;shi+)/I 分for(bai=l;bai=9;bai+)/I 分 x=ge+10*shi+100*bai;/2 分if(x=ge*ge*ge+shi*shi*shi+bai*bai*bai)/3 分printf(n%d*x);/I 分)2.3个学生各学4门课,计算总平均分,并输出第n 个学生成绩(要求:计算总平均分利用函数

50、实现,形参是指向变量的指针变量;输出第n 个学生成绩利用函数实现,形参是指向一维数组的指针变量;最后在主函数中调用这2个 子 函 数)(2 0 分)void average(float*p,int n)1 分 float*p_end,sum=0,aver;p_end=p+n-l;2 分for(;p=p_end;p+)sum=sum+(*p);/2 分aver=sum/n;/1 分printf(naverage=%5.2fn,aver);/1 分)void search(float(*p)4,int n)3 分 int i;printf(No.%d:n,n);for(i=0;i4;i+)prin

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁