大学大一C语言程序设计期末考试试卷及答案.doc
《大学大一C语言程序设计期末考试试卷及答案.doc》由会员分享,可在线阅读,更多相关《大学大一C语言程序设计期末考试试卷及答案.doc(8页珍藏版)》请在咨信网上搜索。
__________________学院__________级___________班 姓名_______________ 学号_______________ ………………………………(密)………………………………(封)………………………………(线)……………………………… 密 封 线 内 答 题 无 效 四川师范大学计算机科学学院 2012~2013学年度第二学期期末考试 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). int B). union C). char D). unsigned 3、 下面是对宏定义的描述。不正确的是( ) A). 宏不存在类型问题,宏名无类型,它的参数也无类型 B). 宏替换不占用运行时间 C). 宏替换只是字符串的简单替代 D). 宏替换时先检查类型,类型一致时才可以替换 4、 C语言中,″\\xfds″在内存中占用的字节数是( ) A).3 B).4 C).5 D).6 5、 设int x;则执行printf(″%x\n″,~x^x);的结果是( ) A). ffffffff B). ff C). 0 D). 1 6、 对于while语句,错误的说法是( ) A).用条件控制循环体的执行次数 B).循环体至少要执行一次 C).循环体有可能一次也不执行 D).循环体中可以包含若干条语句 7、 执行下列语句后输出的结果是( ) int a=8,b=7,c=6; if(a<b)if(b>c){a=c;c=b;} printf("%d,%d,%d\n",a,b,c); A).6,7,7 B).6,7,8 C).8,7,6 D).8,7,8 8、 设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是( ) A).9,19 B).9,20 C).10,19 D).10,20 9、 设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,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( ) for(i=0;i<3;i++) printf(″%d″,x[i][2-i]); A).147 B).159 C).357 D).369 11、 执行完下列语句后,n的值是( ) int n; for (n=0 ; n<100 ; n=2*n+1); A).125 B).126 C).127 D).128 12、 有以下语句:int a=6;a+=a-=a*a;printf(“%d”,a);输出结果( ) A).–132 B).–60 C). -24 D). 0 13、 为了连接两个字符串s1与s2,应当使用( ) A). strcat( s1,s2 ) B). strcpy( s1, s2 ) C). strlen( s1, s2 ) D). strcmp( s1, s2 ) 14、 设int a,*p;则语句p=&a;中的运算符“&”的含义是( ) A).位与运算 B).逻辑与运算 C).取指针内容 D).取变量地址 15、 下面输出的结果为( ) int a=13, b=64; printf(“%d\n”, !a || (b>>3) ); A).13 B).64 C).1 D).0 16、 下列定义正确的是( ) A).enum t={a,b}x; B). enum t{1,2}x; C). enum {′+′,′-′}x; D). enum t{a,b}x; 17、 设有定义:struct u{int a[4];float b[3]; char c[16];}aa; 则printf(″%d\n″,sizeof(aa));的输出是( ) A).32 B).36 C).12 D).8 __________________学院__________级___________班 姓名_______________ 学号_______________ ………………………………(密)………………………………(封)………………………………(线)……………………………… 密 封 线 内 答 题 无 效 18、 数据-54.78在文本文件中占用的字节个数是( ) A).4 B).5 C).6 D).8 19、 在宏定义#define p(r) 3.14*r中,请问宏名是( ) A). p B). p(r) C). 3.14*r D). p(r) 3.14*r 20、 要打开一个已存在的用于修改的非空二进制文件“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 <stdio.h> int main(int argc, char* argv[]) { float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while( 21 ) { if(x>amax) amax=x; if( 22 ) amin=x; scanf("%f",&x); } printf("\namax=%f\namin=%f\n",amax,amin); return 0; } 21: 22: 2. 下面程序的功能是比较字符数组a和字符数组b中的两个字符串是否相等(比较对应字符,全部相同输出0,如果不同,返回第一个不相同的字符差值,并输出)。 #include <stdio.h> int main(void) { char a[100]="Hello World!"; char b[100]="Hello Chengdu!"; 23 ; /* 完成对应字符的比较,并判定一个字符串是否结束了*/ while( 24 ) { i++; } printf("%d\n", a[i]-b[i] ); return 0; } 23: 24: 3. 就以下程序空缺的地方进行填空。 4.以下程序对一个3×3的矩阵进行行列互换。 #include <stdio.h> #include <ctype.h> int main(int argc, char* argv[]) { char str[81],*sptr; int i; for(i=0;i<80;i++) { str[i]=getchar(); if(str[i]=='\n') break; } str[i]= ( 25 ); sptr=str; while(*sptr) putchar( 26 ); return 0; } #include <stdio.h> int main(int argc, char* argv[]) { int i,j,temp; int a[3][3]={1,2,3,4,5,6,7,8,9}; for( i=0 ; i<3; i++) for( j=0; ( 27 )i; j++) temp=a[i][j], ( 28 ), ( 29 ); printf("\n the result array is:\n"); for(i=0;i<3;i++) { printf("\n"); for(j=0;j<3;j++) printf("%5d",a[i][j]); } return 0; } 25: 26: 27: 28: 29: __________________学院__________级___________班 姓名_______________ 学号_______________ ………………………………(密)………………………………(封)………………………………(线)……………………………… 密 封 线 内 答 题 无 效 得分 评卷人 三、阅读下列程序,将输出结果写到答题纸上对应的题号处。(本大题共4小题,每小题5分,共20分) 31题: #include <stdio.h> int main(void) { char str[100]="I am a pig."; char *p= &str[7]; int i; for (i=0; str[i] != '\0'; i++, p++ ) { if( *p>='a' && *p<'z' ) (*p)++; else if( *p == 'z' ) *p = 'a'; } puts( str ); return 0; } 30题: #include <stdio.h> 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;i<2;i++) printf("%5d",fun(x++)); } 33题: #include <stdio.h> int gcd(int m,int n) { if(m==n) return m; else if(m>n) return gcd(m-n,n); else return gcd(m,n-m); } void main( ) { printf("Gcd=%d\n",gcd(24,36)); } 32题: #include <stdio.h> 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,%d\n",a1,a2,a3,a4); } 得分 评卷人 四、程序设计题,将源代码规范地书写在答题纸上(第34小题10分,第35小题各14分,共24分)。 34.设计函数实现将一个字符串中小写字母转化为大写字母。 35. 计算的值并输出(设n=20)。 四川师范大学计算机科学学院 2012~2013学年度第二学期期末考试 C语言程序设计试卷 试卷A 参考答案与评分标准 一、单项选择题:(每小题1分,共20分) 1 2 3 4 5 6 7 8 9 10 B B D D A B C A A C 11 12 13 14 15 16 17 18 19 20 C B A D C D B C A B 二、填空题:(每空4分,共36分) 21: x >= 0 22: x < amin 23: int i=0 24: (a[i] == b[i]) && a[i] != '\0' 25: ‘\0’ 26: *sptr++ 27: j < i 28: a[i][j] = a[j][i] 29: a[j][i] = 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 <stdio.h> (1分) #include <ctype.h> (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("%s\n",str); } 其它答案可根据情况酌情给分。 35计算的值并输出(设n=20)。(14分) #include <stdio.h> (1分) /* 递归函数5分 */ long factorial(int n) (1分) { if (n == 1) return n; (2分) else return n * factorial(n-1); (2分) } /* 主函数8分,其中:变量定义正确2分,循环正确得2分,函数调用格式正确2分,输出正确2分*/ void main( ) { double e = 1.0; for (int i=1; i<=20; i++) { e += 1/(double)factorial(i); } printf("%lf\n",e); } 其它答案可根据情况酌情给分。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学 大一 语言程序设计 期末考试 试卷 答案
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文