您好,欢迎访问三七文档
当前位置:首页 > 学术论文 > 经济论文 > 中央电大2008年秋C语言程序设计A试题5
1中央广播电视大学2008秋季C语言程序设计A课程试卷(5)题号一二三四五总分得分2012年1月考一、单选题(每小题2分,共20分)1.程序运行中需要从键盘上输入多于一个数据时,各数据之间默认使用()符号作为分隔符。A.空格或逗号B.逗号或回车C.逗号或分号D.空格或回车2.逻辑表达式(x0&&x=10)的相反表达式为()。A.x=0||x10B.x=0&&x10C.x=0||x=10D.x0&&x103.当处理一个问题时的循环次数已知时,最好采用()循环来解决。A.forB.whileC.do-whileD.switch4.假定i的初值为0,则在循环语句“while(in){s+=i*i;i++;}”中循环体被执行的总次数为()。A.n-1B.nC.n+1D.n/25.假定一个二维数组的定义语句为“inta[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为()。A.2B.4C.6D.86.在下列选项中,不正确的函数原型格式为()。A.intFunction(inta);B.voidFunction(char);C.intFunction(a);D.voidint(double*a);7.假定p是一个指向float类型的数据指针,则p+1所指向的数据的地址比p所指向的数据的地址大()个字节。A.1B.2C.4D.88.假定有一条定义语句为“intm=7,*p;”,则给p赋值的正确表达式为()。A.p=mB.p=&mC.*p=&mD.p=*m9.假定指针变量p定义为“int*p=malloc(sizeof(int));”,要释放p所指向的动态存储空间,应调用的函数为()。A.free(p)B.delete(p)C.free(*p)D.free(&p)10.C语言中的系统函数fopen()是()一个数据文件的函数。2A.读取B.写入C.关闭D.打开二、填空题(每小题2分,共26分)1.用于输出表达式值的标准输出函数的函数名是________。2.每个C语言程序文件在编译时可能出现有致命性错误,其对应的标识符为________。3.已知'A''Z'的ASCII码为6590,当执行“intx='C'+3;”语句后x的值为________。4.表达式(int)14.6的值为________。5.假定不允许使用逻辑非操作符,则关系表达式x+y5的相反表达式为___________。6.假定x=5,则执行“a=(x?10:20);”语句后a的值为________。7.假定一维数组的定义为“char*a[M];”,则该数组所占存储空间的字节数为________。8.存储字符串a需要至少占用存储空间中的________个字节。9.strlen()函数用于计算一个字符串的________。10.在C语言中,一个函数定义由函数头和__________这两个部分组成。11.假定p所指对象的值为25,p+1所指对象的值为46,则执行表达式*(p++)后,p所指对象的值为________。12.假定p是一个变量,则用________表示该变量的地址。13.把间接访问表达式p-name改写成对应的直接访问表达式为____________。三、写出下列每个程序运行后的输出结果(每小题6分,共30分)1.#includestdio.hvoidmain(){intn=6,y=1;while(n--)y+=3;printf(y=%d\n,y);}2.#includestdio.hvoidmain(){3inti,s=0;for(i=1;i8;i++)if(i%2==0||i%3==0)s+=i;printf(s=%d\n,s);}3.#includestdio.hvoidmain(){chara[]=abcdbfkgamd;inti1=0,i2=0,i=0;while(a[i]){if(a[i]'e')i1++;elsei2++;i++;}printf(%d%d\n,i1,i2);}4.#includestdio.hvoidmain(){inta[8]={4,8,12,16,20,24,28,32};int*p=a;do{printf(%d,*p);p+=3;}while(pa+8);printf(\n);}5.#includestdio.hstructWorker{charname[15];intage;doublepay;};voidmain(){structWorkera[4]={{abc,20,2420},{defa,50,3638},{ghin,40,2560},{jklt,36,2375}};inti,s=0;for(i=0;i4;i++)s+=a[i].age;printf(s=%5.2Lf\n,(double)s/4);}4四、写出下列每个函数的功能(每小题6分,共12分)1.intSC(inta,intb,intc){if(a=b&&a=c)returna;if(b=a&&b=c)returnb;returnc;}函数功能:2.int*LI(intn){int*a=malloc(n*sizeof(int));inti;for(i=0;in;i++)scanf(%d,a+i);returna;}函数功能:五、按题目要求编写函数(每小题6分,共12分)1.编写一个函数,函数原型为“intfun4(char*a)”,请采用while循环求出由字符指针a所指向的字符串中包含的十进制数字的个数,并把这个值作为函数值返回。2.编写一个主函数,计算并输出表达式1+22+32+...+n2的值,假定正整数n的值由键盘输入。5中央广播电视大学2008秋季C语言程序设计A课程试卷答案及评分标准(5)(供参考)一、单选题(每小题2分,共20分)1.D2.A3.A4.B5.C6.C7.C8.B9.A10.D二、填空题(每小题2分,共26分)1.printf2.error3.704.145.x+y=56.107.4*M8.29.长度10.函数体11.4612.&p13.(*p).name三、写出下列每个程序运行后的输出结果(每小题6分,共30分)评分标准:根据答案正确程度酌情给分。1.y=192.s=153.744.416285.s=36.50四、写出下列每个函数的功能(每小题6分,共12分)评分标准:根据叙述的正确与完整程度酌情给分。1.求出a,b,c三个数中的最大值并返回。2.首先建立一个动态整型数组a[n],接着从键盘上输入n个整数到a[n]中,最后返回数组a[n]的首地址。五、按题目要求编写函数(每小题6分,共12分)评分标准:根据编写函数的正确与完整程度酌情给分。1.intfun4(char*a){intn=0;//1分while(*a){//2分if(*a='0'&&*a='9')n++;//4分a++;//5分}returnn;//6分}2.#includestdio.hvoidmain(){intn,i,s=0;//1分scanf(%d,&n);//2分for(i=1;i=n;i++)s+=i*i;//5分printf(s=%d\n,s);//6分}注:若s的初值为1,则循环变量i的初值应修改为2。
本文标题:中央电大2008年秋C语言程序设计A试题5
链接地址:https://www.777doc.com/doc-8688677 .html