《大学大一C语言程序设计期末考试试卷及答案-.pdf》由会员分享,可在线阅读,更多相关《大学大一C语言程序设计期末考试试卷及答案-.pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机科学学院 C语言程序设计试卷 A 第 1 页(共 8 页)四川师范大学计算机科学学院20122013学年度第二学期期末考试C语言程序设计试卷试卷 A 答卷说明:1、本试卷共 6 页,答题纸 3 页,4 个大题,35 个小题,满分 100 分,120分钟完卷。2、闭卷考试,所有的答案都必须写在答题纸上,判卷以答题纸上答案为准。3、本试卷适用于 2011 级 1、2、3 班。题号一二三四总分总分人分数得分评卷人一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题1 分,共 20 分)1、在 C 语言中,下列标识符中合法的是()A).-int
2、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(%xn,xx);的结果是()A).ffffffff B).ff C).0 D).1 6、对于 while
3、 语句,错误的说法是()_学院_级_班姓名_学号_(密)(封)(线)密封线内答题无效计算机科学学院 C语言程序设计试卷 A 第 2 页(共 8 页)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,8 8、设 int a=9,b=20;则 printf(%d,%dn,a-,-b);的输出结果是()A).9,19 B).
4、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,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).369 11、执行完下列语句后,n 的值是()int n;for(n=0;n3);A).13 B).64 C)
5、.1 D).0 16、下列定义正确的是()A).enum t=a,bx;B).enum t1,2x;C).enum +,-x;D).enum ta,bx;I I I n 计算机科学学院 C语言程序设计试卷 A 第 3 页(共 8 页)17、设有定义:struct uint a4;float b3;char c16;aa;则 printf(%dn,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).
6、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.以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入.请填空.21:22:2.下面程
7、序的功能是比较字符数组a 和字符数组b 中的两个字符串是否相等(比较对应字符,全部相同输出0,如果不同,返回第一个不相同的字符差值,并输出)。#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;_学院_级_班姓名_学号_(密)(封)(线)密封线内答题无效计算机科学学院 C语言程序设计试卷 A 第
8、 4 页(共 8 页)23:24:3.就以下程序空缺的地方进行填空。4.以下程序对一个3 3 的矩阵进行行列互换。25:26:27:28:29:#include int main(void)char a100=Hello World!;char b100=Hello Chengdu!;23;/*完成对应字符的比较,并判定一个字符串是否结束了*/while(24)i+;printf(%dn,ai-bi);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
9、+)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;#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;计
10、算机科学学院 C语言程序设计试卷 A 第 5 页(共 8 页)得分评卷人三、阅读下列程序,将输出结果写到答题纸上对应的题号处。(本大题共4 小题,每小题 5 分,共 20 分)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+);31 题:#include int main(void)char str100=I am a pig.;char*p=&str7;int i;for(i=0;stri!=0;
11、i+,p+)if(*p=a&*pz)(*p)+;else if(*p=z)*p=a;puts(str);return 0;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;sub
12、1(a3,a4);sub1(a1,a2);printf(%d,%d,%d,%dn,a1,a2,a3,a4);_学院_级_班姓名_学号_(密)(封)(线)密封线内答题无效计算机科学学院 C语言程序设计试卷 A 第 6 页(共 8 页)得分评卷人四、程序设计题,将源代码规范地书写在答题纸上(第 34 小题 10 分,第 35 小题各 14 分,共 24 分)。34.设计函数实现将一个字符串中小写字母转化为大写字母。35.计算!1!21!111ne的值并输出(设 n=20)。四川师范大学计算机科学学院20122013学年度第二学期期末考试C语言程序设计试卷试卷 A 参考答案与评分标准一、单项选择题:
13、(每小题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:(ai=bi)&ai!=0 25:0 26:*sptr+27:j i 28:aij=aji 29:aji=temp=+计算机科学学院 C语言程序设计试卷 A 第 7 页(共 8 页)三、阅读程序题:(每小题5 分,共 20 分)30:7 9 31:I am a qjh.32:100,
14、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()
15、char str=123123asadAsadMNer;Convert(str);printf(%sn,str);其它答案可根据情况酌情给分。35 计算!1!211!111ne的值并输出(设 n=20)。(14 分)#include (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 分*/一一计算机科学学院 C语言程序设计试卷 A 第 8 页(共 8 页)void main()double e=1.0;for(int i=1;i=20;i+)e+=1/(double)factorial(i);printf(%lfn,e);其它答案可根据情况酌情给分。一卢二l