大学大一C语言程序设计期末考试试卷和答案.doc_第1页
大学大一C语言程序设计期末考试试卷和答案.doc_第2页
大学大一C语言程序设计期末考试试卷和答案.doc_第3页
大学大一C语言程序设计期末考试试卷和答案.doc_第4页
大学大一C语言程序设计期末考试试卷和答案.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

._学院_级_班 姓名_ 学号_(密)(封)(线)密 封 线 内 答 题 无 效四川师范大学计算机科学学院20122013学年度第二学期期末考试C语言程序设计试卷 试卷A答卷说明:1、 本试卷共6页,答题纸3页,4个大题,35个小题,满分100分,120分钟完卷。2、 闭卷考试,所有的答案都必须写在答题纸上,判卷以答题纸上答案为准。 3、 本试卷适用于2011级1、2、3班。 题号一二三四总分总分人分数得分评卷人 一、 单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题1分,共20分)1、 在C语言中,下列标识符中合法的是( )A). -int B). in1_3 C). A_B!D D). const 2、 不属于C语言基本数据类型的是( )A). intB). unionC). charD). unsigned3、 下面是对宏定义的描述。不正确的是( ) A). 宏不存在类型问题,宏名无类型,它的参数也无类型B). 宏替换不占用运行时间C). 宏替换只是字符串的简单替代D). 宏替换时先检查类型,类型一致时才可以替换4、 C语言中,xfds在内存中占用的字节数是( )A).3 B).4 C).5 D).65、 设int x;则执行printf(%xn,xx);的结果是( )A). ffffffffB). ffC).0 D). 16、 对于while语句,错误的说法是( )A).用条件控制循环体的执行次数B).循环体至少要执行一次C).循环体有可能一次也不执行 D).循环体中可以包含若干条语句7、 执行下列语句后输出的结果是( )int a=8,b=7,c=6;if(ac)a=c;c=b;printf(%d,%d,%dn,a,b,c);A).6,7,7 B).6,7,8 C).8,7,6 D).8,7,88、 设int a=9,b=20;则printf(%d,%dn,a-,-b);的输出结果是( )A).9,19 B).9,20 C).10,19 D).10,209、 设static char x =12345,y =1,2,3,4,5,0;那么( )A).x数组的长度等于y数组的长度 B).x数组的长度大于y数组的长度C).x数组的长度少于y数组的长度 D).x数组与y数组的存储区域相同10、 设int i,x33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是( )for(i=0;i3;i+)printf(%d,xi2-i);A).147 B).159 C).357 D).36911、 执行完下列语句后,n的值是( )int n;for (n=0 ; n3) );A).13 B).64 C).1 D).016、 下列定义正确的是( )A).enum t=a,bx;B). enum t1,2x;C). enum +,-x; D). enum ta,bx;17、 设有定义:struct uint a4;float b3; char c16;aa;则printf(%dn,sizeof(aa);的输出是( )A).32 B).36C).12 D).8_学院_级_班 姓名_ 学号_(密)(封)(线)密 封 线 内 答 题 无 效18、 数据-54.78在文本文件中占用的字节个数是( )A).4 B).5C).6 D).819、 在宏定义#define p(r) 3.14*r中,请问宏名是( )A). p B). p(r)C). 3.14*rD). p(r) 3.14*r20、 要打开一个已存在的用于修改的非空二进制文件“hello.txt”,正确语句是()A). fp=fopen( hello.txt ,r ) B). fp=fopen( hello.txt ,ab+ )C). fp=fopen( hello.txt ,w ) D). fp=fopen( hello.txt ,r+ )得分评卷人 二、填空题(仔细阅读每小题的说明和源代码,并将正确答案写到答题纸上对应的题号处。每小题4分,共36分)1. 以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入.请填空.#include int main(int argc, char* argv)float x,amax,amin;scanf(%f,&x);amax=x; amin=x;while( 21 ) if(xamax) amax=x;if( 22 ) amin=x;scanf(%f,&x); printf(namax=%fnamin=%fn,amax,amin); return 0;21: 22: 2. 下面程序的功能是比较字符数组a和字符数组b中的两个字符串是否相等(比较对应字符,全部相同输出0,如果不同,返回第一个不相同的字符差值,并输出)。#include int main(void)char a100=Hello World!;char b100=Hello Chengdu!; 23 ;/* 完成对应字符的比较,并判定一个字符串是否结束了*/while( 24 ) i+;printf(%dn, ai-bi );return 0;23: 24: 3. 就以下程序空缺的地方进行填空。 4.以下程序对一个33的矩阵进行行列互换。#include #include int main(int argc, char* argv)char str81,*sptr;int i;for(i=0;i80;i+) stri=getchar();if(stri=n)break;stri= ( 25 );sptr=str;while(*sptr) putchar( 26 );return 0;#include int main(int argc, char* argv)int i,j,temp;int a33=1,2,3,4,5,6,7,8,9;for( i=0 ; i3; i+)for( j=0; ( 27 )i; j+)temp=aij, ( 28 ), ( 29 );printf(n the result array is:n);for(i=0;i3;i+) printf(n);for(j=0;j3;j+)printf(%5d,aij); return 0;25: 26: 27: 28: 29: _学院_级_班 姓名_ 学号_(密)(封)(线)密 封 线 内 答 题 无 效得分评卷人 三、阅读下列程序,将输出结果写到答题纸上对应的题号处。(本大题共4小题,每小题5分,共20分)31题:#include int main(void)char str100=I am a pig.;char *p= &str7; int i;for (i=0; stri != 0; i+, p+ )if( *p=a & *pz )(*p)+;else if( *p = z )*p = a;puts( str );return 0;30题:#include int fun(int x) int y=0; static int z=3; z+;+y; return(x+y+z);void main( ) int i,x=2; for(i=0;i2;i+)printf(%5d,fun(x+);33题:#include int gcd(int m,int n)if(m=n)return m;else if(mn) return gcd(m-n,n);else return gcd(m,n-m);void main( )printf(Gcd=%dn,gcd(24,36);32题:#include int a1=300,a2=400;void sub1(int x,int y) a1=x;x=y;y=a1;void main( )int a3=100,a4=200;sub1(a3,a4);sub1(a1,a2);printf(%d,%d,%d,%dn,a1,a2,a3,a4);得分评卷人 四、程序设计题,将源代码规范地书写在答题纸上(第34小题10分,第35小题各14分,共24分)。34.设计函数实现将一个字符串中小写字母转化为大写字母。35. 计算的值并输出(设n=20)。四川师范大学计算机科学学院20122013学年度第二学期期末考试C语言程序设计试卷 试卷A参考答案与评分标准一、单项选择题:(每小题1分,共20分)12345678910BBDDABCAAC11121314151617181920CBADCDBCAB二、填空题:(每空4分,共36分)21: x = 0 22: x amin 23: int i=0 24: (ai = bi) & ai != 0 25: 0 26: *sptr+ 27: j i 28: aij = aji 29: aji = temp 三、阅读程序题:(每小题5分,共20分)30: 7 9 31: I am a qjh. 32:100,400,100,200 33:Gcd=12 四、程序设计题:(第34小题10分,第35小题各14分,共24分)34.设计函数实现将一个字符串中小写字母转化为大写字母。(10分)#include (1分)#include (1分)/* 转换函数4分,其中:循环正确1分,判断、转换正确各1分,其余1分 */void Convert(char * str) while (*str != 0)if(islower(*str )*str = toupper(*str);str+;/* 主函数4分,其中:变量定义初始化正确1分,函数调用正确2分,输出正确1分*/void main( )char str = 123123asadAsadMNer;Convert(str);printf(%sn,str);其它答案可根据情况酌情给分。35计算的值并输出(设n=20)。(14分)#include (1分)/* 递归函数5分 */long factorial(int n)

温馨提示

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

评论

0/150

提交评论