还剩2页未读,继续阅读
文本内容:
C语言程序设计试卷
(八)
一、选择题(每小题1分共20分)
1、下面关于算法特性的叙述中,错误的是()A)有穷性B)没有输入和输出C)可行性D)确定性
2、以下程序段执行后的输出结果是()inta=1b=2;printf(a=%db=%dab);A)12B)12C)a=1b=2D)a=1b=
23、c语言标识符不可以用()作为开头字符A)字母B)字母或下划线C)下划线D)数字
4、若变量已正确定义为int类型,要给a、b输入数据;以下正确的输入语句()A)scanf(%d%dab);B)scanf(ab);C)scanf(%d%dab);D)read(ab);
5、若有定义inta=5b=4;则下面表达式的值不为4的是()A)a—B)-aC)b―D)b++
6、假如指针p已经指向某个整型变量x则权p相当于()A)xB)pC)xD)xx
7、以下不正确的说法是()A)实参可以是常量,变量或表达式B)形参可以是常量,变量或表达式C)形参与实参的个数应相同D)形参应与其对应的实参类型一致
8、以下能正确定义一维数组的选项是()A)intnum[];B)intnum[]={123};C)intnum[0:100];D)intn=100;intnum[n];
9、若有说明inta
[3]
[4];则a数组元素的非法引用是()A)a
[0][2*1]B)a
[1]
[3]C)a[4-2]
[0]D)a
[0]
[4]
10、凡是在函数中未指定存储类型的局部变量,其存储类型隐含为()A)自动(auto)B)静态(static)C)外部(extern)D)寄存器
二、填空题(每空2分,共20分)
1、若有定义inta=29b=3;则表达式(float)(a+b)/2的值为[1式
2、设有以下程序段,输出的结果是
[2]main()intxy;x=6;y=-1;ifx!=0ifx0y=1;eIsey=0;printf%d”,y;
3、以下程序的输出结果是[3]main{inti=1s=1;do{s-s*i;i++;}whilei=2;printfn%ds;
4、printfC%d^a=2b=--2;语句的输出结果是[4]
5、若有inta[5]*p=a;则p+2表示数组元素[5]的地址
6、以下程序的输出结果是[6]incIudestdio.hmain{inta;fora=2;a4;a++{ifa%2=0continue;printf%da;
7、假设变量已定义,则下面程序段执行后t的值为[7]fori=1t=0;i5;i++forj=1;j6;j+t++;
8、c语言源程序文件经过编译和连接后,生成可执行文件的文件名后缀是⑻
9、若有以下宏定义,则执行语句x=2M;后,x的值为[9]defineN3defineMN*N
10、设有如下的程序段,执行程序段后,*ptx+5的值为[10]charstr[]=He11ov;char*ptr;ptr=str;
三、程序填空题2个小题,共20分
1、请补充函数,该程序的功能是:输入10个学生的成绩,统计总成绩和平均分,最后输出总成绩和平均分.请勿改动函数中的任何内容,仅在程序中的横线上填入所编写的若干表达式或语句incIudestdio.hmain{int
[10]Isum=0ave;fori=0;
[1];i++{printf请输入成绩“;scanfC%cTa[i];sum=sum+
[2];ave=
[3];printf总分是:%d,平均分是:%d”sumave;
2、请补充函数funO它的功能是计算并输出n包括n以内能被3或7整除的所有自然数的倒数之和incIudestdio.hdoubIefunintnint1;doubIesum=
0.0;ifn0uxn=100fori=1;
[1];i++if
[2]sum+=
[3];returnsum;voidmainintn;doubIes;printf\nInputn:;scanfn%dn;s=funn;printfn\n\ns=%f\nns;
四、程序改错题10分下列给定程,序中main函数的功能是由键盘任意输入一串字符,将其存入-个字符数组,统计其中的大写字母、小写字符、数字以及其他字符的个数请改正程序中的错误,使它能得到正确结果注意不要改动main函数,不得增行或删行,也不得更改程序的结构incIudestdio.hincIudestring.hvoidmainvoldunsignedint11intcap=01ow—0dig=Ooth—0;charstr
[80];printfpleaseenterstr:;/不不亭亭亭亭亭error1亭亭亭不不不不/getsstr;/不小卞卞小不小error幺小不平小小不不/fori=0;istr1enstr;i一ifstr[i]=Astr[i]=Zcap++;eIseifstr[i]=,astr[i]=zIow++;elseifstr[i]=0str[i]=9dig++;eIseifoth+;printfcap=%d\ncap;printf1ow=%d\n1ow;printfdig=%d\ndig;printfoth=%d\noth;
五、阅;读程序题2个小题,共20分
1、阅读并分析下列程序printfsum=%d\nnsum;/*第9行*/}/*第10行*/1程序中第7行的功能是.⑵程序输出结果是.
2、阅读并分析下列程序#incIudestdio.hmain{inta
[10];Intmynt;form=0;m10;m++scanf%d、a[m];form=0;m9;m++forn=0;n9;n++ifa[n]a[n+1]t=a[n];a[n]=a[n+1];a[n+1]=t;}form=0;m10;m++printf%d,a[m];1在主函数中第一个for循环的作用是.2语句{t=a[n];a[n]=a[n+1];a[n+1]=t;}的作用是.3在主函数中最后一个for循环的作用是.4程序的功能是.
六、编程题共10分输入一个百分制成绩,要求输出该成绩的等级A、B、C、D、E,O90分或90分以上为,,80~89分为缶,70~79分为,C60~69为60分以下为‘Eo。