《大学大一C语言程序设计期末考试试卷及标准答案.docx》由会员分享,可在线阅读,更多相关《大学大一C语言程序设计期末考试试卷及标准答案.docx(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、大学大一C语言程序设计期末考试试卷及标准答案 大学大一C语言程序设计期末考试试卷及答案 作者:日期: 四川师范大学计算机科学学院 20222022学年度第二学期期末考试 C 语言程序设计试卷 试卷A 答卷说明: 1、 本试卷共6页,答题纸3页,4个大题,35个小题,满分100分,120分钟 完卷。 2、 闭卷考试,所有的答案都必须写在答题纸上,判卷以答题纸上答案为准。 3、 本试卷适用于2022级1、2、3班。 题号 一 二 三 四 总分 总分人 分数 得分 评卷人 壱、 单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的 序号填在题干的括号内。每小题1分,共20分) 1、
2、 在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(
3、%x n,xx);的结果是( ) A). ffffffff B). ff C). 0 D). 1 6、 对于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,8 8、设int a=
4、9,b=20;则printf(%d,%dn,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,x33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是( ) for(i=0;i3) ); A).13 B).64 C).1 D).0 16、下列定义正确的是( ) A).enum t=a,b
5、x; 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).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、要打开一个已存在的用于修改的非空二进制
6、文件“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. 下面程序的功能是比较字符数组a 和字符数组b 中的两个字符
7、串是否相等(比较对应字符,全部相同输出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 ) _学院_级_班 姓名_ 学号_ (密)(封)(线) 密 封 线 内 答 题 无 效 23: 24: 3. 就以下程序空缺的地方进行填空。 4.以下程序对一个33的矩阵进行行列互换。 25: 26: 27: 28: 29: #include int ma
8、in(void) char a100=Hello World!; char b100=Hello Chengdu!; 23 ; /* 完成对应字符的比较, 并判定一个字符串是否结束了*/ while( 24 #include int main(int argc, char* argv) int i,j,temp; int a33=1,2,3,4,5,6,7,8,9; #include #include int main(int argc, char* argv) char str81,*spt 得分 评卷人 三、阅读下列程序,将输出结果写到答题纸上对应的题号处。(本大题共4小题,每小题5分,共
9、20分) 30题: #include int fun(int x) int y=0; static int z=3; 31题: #include int main(void) c har str100=I am a pig.; char *p= &str7; int i; 33题: #include int gcd(int m,int n) if(m=n) return m; 32题: #include int a1=300,a2=400; void sub1(int x,int y) a1=x; x=y; _学院_级_班 姓名_ 学号_ (密)(封)(线) 密 封 线 内 答 题 无 效 得
10、分 评卷人 四、程序设计题,将源代码规范地书写在答题纸上(第34小题10分,第35小题各14分,共24分)。 34.设计函数实现将一个字符串中小写字母转化为大写字母。 35.计算 !1!21!111n e 的值并输出(设n=20)。 四川师范大学计算机科学学院 20222022学年度第二学期期末考试 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分,
11、共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分,其中:
12、循环正确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计算 !1!211!111n e 的值并输出(设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分*/ void main( ) double e = 1.0; for (int i=1; i=20; i+) e += 1/(double)factorial(i); printf(%lfn,e); 其它答案可根据情况酌情给分。