程序设计基础AB卷考试题及答案2套_第1页
程序设计基础AB卷考试题及答案2套_第2页
程序设计基础AB卷考试题及答案2套_第3页
程序设计基础AB卷考试题及答案2套_第4页
程序设计基础AB卷考试题及答案2套_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE第10页共10页考试课程程序设计基础考试日期考试卷(A)卷成绩课程号教师号任课教师姓名考生姓名学号(8位)年级专业注意:所有答案均写在答题纸上,写在试卷上无效;考试结束后请将试卷和答题纸一起交上来。试题中若出现C源代码,考虑源代码的大小写,不考虑标点符号的中英文状态;本试题中C代码的开发环境为MicrosoftVisualC++6.0,运行环境为Windows2000/XP系统;当题目中只有程序片段时,假设完整程序已经具有其它必要代码且能够正确运行,如包含相应的库文件、main()函数的定义等。试题一、单项选择题(每小题2分,共20分) 下面哪一个不是合法的常量。()-12.25B.’*’C.’hello’D.1.5e-3C语言中的基本数据类型包括()。A.整型,实型,逻辑型B.整型,实型,字符型C.整型,逻辑型,字符型D.整型,实型,逻辑型,字符型有定义inta=2.b=3,c=4;表达式(a<b&&!c)?++b:a--的值为()。A.1B.2C.3D.4C语言中的基本数据类型作为实参时,它和对应的形参之间的数据传递方式是()A、传地址 B、传数值,形参值改变后,影响实参值C、传数值,形参值改变后,不影响实参值 D、既可以传地址,也可以传值下面哪句论述是错误的?()A.在循环体中可以再嵌套循环体。B.循环语句由循环体及循环终止条件等组成。C.循环体至少执行一次。D.for语句的三个表达式都是可以省略的。有数组inta[3][3]={{1,2,3},{4,5,6},{7,8,9}},如要输出其中的整数5,以下哪项正确?()A.printf(“%d”,a[2][2]);B.printf(“%d”,a[2-1][1]);C.printf(“%d”,a[1]+1);D.printf(“%d”,a[1,1]);若有“floata[3]={1.5,2.5,3.5},*pa=a;*(pa++)*=3;”,则*pa的值是()。A.1.5B.2.5C.3.5D.4.5外部变量定义在所有函数之外,它的作用域为()。A.其定义位置开始到主函数结束B.其定义位置开始到整个文件结束C.其定义位置开始到程序结束D.调用时存在,退出函数时消失若有以下结构体数组的定义语句:structteacher{intnum;charname[10];}thr[2]={1,”zhangsan”,2,”lisi”}则以下能输出字符串”lisi”的语句是()A、printf(“%s”,thr[0].name);B、printf(“%s”,thr[1].name);C、printf(“%s”,thr[0].name[0]);D、printf(“%s”,thr[1].name[0]);下列代码段将打印出().#include<stdio.h>intmain(void){inta=2,*p1,**p2;p2=&p1;p1=&a;a++;printf("%d,%d,%d\n",a,*p1,**p2);return0;}A、3,2,3B、2,2,2C、3,3,3D、3,3,2试题二、程序填空题。按程序功能,在划线部分填写适当的内容(每空2分,共20分)功能:输入一个字符串,调用fun函数计算字符串中数字字符的个数。例如:输入字符串:48CTYP9E6,则输出6。#include<stdio.h>intfun(char*s){char*p=s;intn=0;while(_(1)_){if(__(2)__)n++;p++;}returnn;}voidmain(){charitem[100];intcount;gets(item); __(3)__; printf("%d\n”,count);}功能:分别求出一批非零整数中的偶数、奇数的平均值,用零作为终止标记。

5分#include<(1)>intmain(){intx,i=0,j=0;floats1=0,s2=0,av1,av2;while(scanf("%d",&x)&&(__(2)__){ if(x%2==0){ s1=s1+x;i++;} __(3)__{s2=s2+x;j++;} }if(i!=0)av1=s1/i;elseav1=0;if(j!=0)__(4)__;elseav2=0;printf("oushujunzhi:%7.2f,jishujunzhi:%7.2f\n",av1,av2);}功能:通过函数的递归调用计算阶乘。#include<stdio.h>longpower(intn){longf;if(n>1) f=__(1)__;else f=1;return(f);}voidmain(){intn;longy;scanf("%d",&n);y=__(2)__;printf("%d!=%ld\n",n,__(3)__);}试题三、程序阅读题:阅读程序,写出程序的正确输出结构(每题5分,共30分)写出下列程序的输出结果#include<stdio.h>voidmain(){charch; for(ch='a';ch<'f';ch++) {putchar(ch-32); putchar(ch); }}写出下列程序的输出结果#include<stdio.h>intmain(void){ intk=5,b=2; k*=b++; printf(“%d\n”,k); return0;}以下程序运行后的输出结果是#defineS(r)r*r#include<stdio.h>intmain(void){inta,area; a=3; area=S(a+a); printf("area=%d",area); return0;}写出下列程序的输出结果#include<stdio.h>intmain(void){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y) {case0:a++;break; case1:b++;break; } case2:a++;b++;break; case3:a++;b++;}printf("a=%d,b=%d",a,b);return0;}写出下列程序的输出结果#include<stdio.h>structst{intnum;charname[10];intage}x[3]={{1,”zhang”,19},{2,”li”,20},{3,”wang”,21}},*p=x;voidmain(){printf(“%s,%d\n”,(p+2)->name,(*p).age);}写出下列程序的输出结果#include<string.h>#include<stdio.h>intmain(void){chara[]="WhoamI?";charb[20],*p1,*p2;p1=a;p2=b;for(;*p1!='\0';p1++,p2++) *p2=*p1;*p2='\0';printf("stringais:%s\n",a);printf("stringbis:");p2=b;puts(p2);return0;}试题四、编程题(共30分,每题10分)编程,输入一个实数x,根据下式计算并输出y值。提示:C的math.h中包含:sin(x)、pow(a,x)、sqrt(x)函数输入10个学生的信息,输出最高分学生的信息和全部学生的平均成绩。要求:(a)学生信息包括:学号、姓名、成绩;(b)学生信息必须采用结构体类型;3.输入正整数n,将1~n中的所有完数一个占一行保存到文本文件”d:\\result.txt”中。要求:完数的判断必须采用函数形式。说明:完数是指一个正整数,它除本身之外的所有因子和等于自身。例如:正整数6除自身之外的因子为1,2,3,6=1+2+3所以6是完数。考试课程C语言程序设计考试日期成绩课程号教师号任课教师姓名考生姓名学号(8位)年级专业座位号参考答案(请把答案写到答题纸上)试题一、单项选择题(每小题2分,共20分)题号12345678910答案CBBCCBBBBC二、填空题(每空2分,共20分)1.(1)*p=s(2)*p++(3)fun(item)2.(1)stdio.h(2)x!=0(3)else(4)ar2=s2/j3.(1)power(n-1)*n(2)power(n)(3)y试题三、程序阅读题:阅读程序,写出程序的正确输出结构(每题5分,共30分):AaBbCcDdEe:10:area=15:a=2,b=1:wang,19stringaisWhoamIstringbisWhoamI试题四、编程题(共30分)(10分)考试卷(B)卷考试课程程序设计基础考试日期成绩课程号教师号任课教师姓名考生姓名学号(8位)年级专业注意:所有答案均写在答题纸上,写在试卷上无效;考试结束后请将试卷和答题纸一起交上来。试题中若出现C源代码,考虑源代码的大小写,不考虑标点符号的中英文状态;本试题中C代码的开发环境为MicrosoftVisualC++6.0,运行环境为Windows2000/XP系统;当题目中只有程序片段时,假设完整程序已经具有其它必要代码且能够正确运行,如包含相应的库文件、main()函数的定义等。试题一、单项选择题(每小题2分,共20分)1.下列可用于C语言用户标识符的一组是()

A.void,define,WORD

B.a3_b3,_123,Car

C.For,-abc,IFCase

D.2a,DO,sizeof2.以下叙述中正确的是()。

A.构成C程序的基本单位是函数

B.可以在一个函数中定义另一个函数

C.main()函数必须放在其他函数之前

D.所有被调用的函数一定要在调用之前进行定义3.程序段()的功能是将变量u、s中的最大值赋给变量t.A、if(u>s)t=u;t=s; B、t=u;if(t>s)t=s;C、if(u>s)t=s;elset=u; D、t=s;if(u>t)t=u;4.已知i=3,则printf(“%d”,-i++)的输出结果为() A、-4B、-3C、-2D、以上均不对5.有数组定义语句”chara[20]”,则正确的输入语句为()A、scanf(“%s”,&a)B、scanf(“%s”,a[])C、gets(a[20])D、gets(a)6.下面程序段的运行结果是()。char*s="abcde";s+=2;printf("%d",s);

A.cde

B.字符′c′

C.字符′c′的地址

D.无确定的输出结果7.以下能正确定义一维数组的选项是()。A.inta[5]={0,1,2,3,4,5};

B.chara={′A′,′B′,′C′};

C.inta[5]="0123";

D.chara[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′};8.设有以下说明语句typedefstruct{intn;charch[8];}PER;则下面叙述中正确的是()。A.PER是结构体变量名

B.PER是结构体类型名

C.typedefstruct是结构体类型

D.struct是结构体类型9对于以下递归函数f,调用f(3)的返回值是()。intf(intn){if(n)returnf(n-1)+n;elsereturnn;}A、10B、6C、3D、010.指针变量p1,p2类型相同,要使p1,p2指向同一变量,哪个语句是正确的()A、p2=*&p1;B、p2=**p1;C、p2=&p1;D、p2=*p1; 试题二、程序填空题。按程序功能,在划线部分填写适当的内容(每空2分,共20分)1.功能:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。#include<stdio.h>intmain(){intlength(__(1)__);intlen;charstr[20];printf("pleaseinputastring:\n");scanf("%s",str);len=length(__(2)__);printf("thestringhas%dcharacters.",len);}intlength(char*p){intn;n=0;while(*p!='\0'){__(3)__;p++;}returnn;}2.功能:将一个字符串中下标为m的字符开始的全部字符复制成为另一个字符串。#include<stdio.h>voidstrcopy(char*str1,__(1)__,intm){char*p1,*p2;p1=__(2)__;p2=str2;while(*p1)*p2++=__(3)__;*p2=’\0’;}voidmain(){inti,m;charstr1[80],str2[80];gets(str1);scanf("%d",&m);strcopy(str1,__(4)__,m);puts(str1);puts(str2);}3.功能:函数sort是使用选择法将一维整型数组中各元素按值从大到小排序。voidsort(inta[],intn){inti,j,k,temp; for(i=0;i<n-1;i++){ (1) for(j=i+1;j<n;j++) if((2))(3) if(k!=i) {temp=a[k];a[k]=a[i];a[i]=temp;}}}试题三、程序阅读题:阅读程序,写出程序的正确输出结构(每题5分,共30分)以下程序运行后的输出结果是#include<stdio.h>intmain(void){inti,j,x=0;for(i=0;i<2;i++){x++;for(j=0;j<=3;j++){if(j%2)break;++x;}x++;}printf("x=%d\n",x);return0;}以下程序运行后的输出结果是#include<stdio.h>intmain(void){char*name[]={"John","Goldy","Richard","Jackson","Lenovika"}; char**p; inti;p=name; for(i=0;i<5;i++){ printf("%c,%s\n",**p,*p+i);p++;} return0;}输入15246,以下程序运行后的输出结果是#include<stdio.h>voidmain(){ inta,b; scanf("%d",&a); b=0; while(a>0) { b=b*10+a%10; a=a/10; } printf("%d\n",b);}以下程序运行后的输出结果是#include<stdio.h>intf(inta){intb=0;staticintc=3;a=c++,b++;returna;}intmain(void){inta=2,i,k;for(i=0;i<2;i++)k=f(a++);printf("%d\n",k);return0;}以下程序运行后的输出结果是#include<stdio.h>inti;intmain(void){ voidprt();for(i=0;i<5;i++){prt();}return0;}voidprt(){for(i=0;i<5;i++)printf("%c",'*');printf("\n");}以下程序运行后的输出结果是#defineSQURARE(n)((n)*(n))#include<stdio.h>intmain(void){inti=1;while(i<=4)printf("%d\n",SQURARE(i++));return0;}试题四、编程题(每题10分,共30分)编程计算两点间的直线距离。要求:点坐标采用结构体类型,屏幕获取输入两点,并输出距离(小数点后保留两位)。编写函数实现功能:删除一个字符串中的所有数字字符,处理后的字符串仍然存放在原来的字符串中。例如:传入的字符串为:48CTYP9E6,则处理后该字符串为:CTYPE。函数的形式为:voiddeldigits(char*str)

其中str为传入要处理的字符串的指针。编程计算下列级数和。要求:屏幕获取输入x,计算精度直至末项绝对值小于为止,并将结果保存在文本文件”d:\\program\\result.txt”中。考试课程程序设计基础考试日期18日成绩课程号教师号任课教师姓名考生姓名学号(8位)年级专业座位号参考答案(请把答案写到答题纸上)试题一、单项选择题(每小题2分,共20分)题号12345678910答案BADBDCDBBA二、填空题(每空2分,共20分)1.(1)char*p(2)str(3)n++2.(1)char*str2(2)str1+m(3)*p1++(4)str23.(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论