《吉林师范大学往年C语言程序设计专升本题目含答案解析.docx》由会员分享,可在线阅读,更多相关《吉林师范大学往年C语言程序设计专升本题目含答案解析.docx(72页珍藏版)》请在优知文库上搜索。
1、往年C语言程序设计专升本题目(一)(总分100分,考试时长90分钟)一、单项选择题(每小题2分,共40分)1、若需要利用形参直接访问实参,则应把形参变量说明为()参数。A、指针B、引用C、传值D、常值2、可在c程序中用作用户标识符的一组标识符是oA、 voiddefineWORDB、 as_b3_123IfC、 For-abccaseD、 2cDOSIG3、分析下列程序:#includemain()int*pl,*p2,*p;inta=6,b=9;pl=&a;p2=&b;if(a9,69,64、下面程序的运行结果是omain()inti,j,a=0;for(i=0;i2;i+)for(j=0;
2、j75、以下叙述中不正确的是oA、空字符串(即两个双引号连写)只占个存储单元B、字符型常量可以放在字符型变量中C、字符型常量可以放在字符串变量中D、字符型常量可以与整数混合运算,而字符串常量不可以6、若有定义floata=25,b,*p=&b;,则下列对赋值语句“*p=a;和p=&a;的正确解释为()oA、两个语句都是将变量a的值赋予变量PB、*P二a是使P指向变量a,而P二&a是将变量的值赋予变量指针PC、*p二a是将变量a的值赋予变量b,而&a是使P指向变量aD、两个语句都是使P指向变量a7、若有说明语句chara=itismine;char*p=itismine”;则以下不正确的叙述是o
3、A、a+1表示的是字符t的地址B、P指向另外的字符串时,字符串的长度不受限制C、P变量中存放的地址值可以改变D、a中只能存放10个字符8、编写C语言程序并上机调试运行的一般过程是oA、编辑一编译一连接一运行B、编译一编辑一连接一运行C、编辑一连接一编译一运行D、编译一连接一编辑一运行9、宏定义用于将-个标识符定义为一个A、常量B、字符串C、整数D、长整数10、int(*p)6;它的含义为。A、具有6个元素的一维数组B、定义了个指向具有6个元素的维数组的行指针变量C、指向整型指针变量D、指向6个整数中的一个的地址11、以下叙述中不正确的是oA、在C中,调用函数时,只能把实参的值传送给形参,形参的
4、值不能传送给实参B、在C的函数中,最好使用全局变量C、在C中,形式参数只是局限于所在函数D、在C中,函数名的存储类别为外部12、有输入语句:scanf(a=%d,b=%d,c=%d,&a,&b,&c);为使变量a的值为1,b为3,c为2,从键盘输入数据的正确形式应当是o(注:1.J表示空格)A、132V回车B、1,3,2V回车C、a=l1.Jb=31.Jc=2V回车D、二14二33=2回车13、以下各语句或语句组中,正确的操作是oA、 chars3二abcde”;B、 char*s;gets(三);C、 char*s;s=abcdc”;Dchars5;SCanf(%s,&s);14、有以下程序
5、includeincludestructa(inta;charb10;doublec;);voidf(structat);main()(structaa=1001,nzhangda,1098.0;f(八);pringt(n%d,%s,%6.lfn,a.a,a.b,a.c);)voidf(structat)(t.a=1002;strcpy(t.b,changrong);t.c=1202.0;)程序运行后的输出结果是oA、1001,ZhangDa,1098.0B、1002,ChangRong,1202.0C、1001,ChangRong,1098.0D1002,ZhangDa,1202.015、以
6、下4组用户定义标识符中,全部合法的组是A、_mainencludesinB、If-maxturboCtxtREA1.3C0MDintk_2_00116、以下程序段的输出结果为()。charc二abc;inti=0;do;while(ci+!=,0,);printf(d,i-l);A、abcB、abC、2D、317、若有以下说明和语句:structst(intn;char*ch;)9structsta3(5, abc,7,def,9,ghk),*p=a则值为6的表达式是oA、p+-nB、p-n+C、(*.n+D、+p-n18、有以下程序intf(intb114)inti,j,s=0;for(j=
7、0;j2)i=3-j;s+=bij;)returns;)main()(inta44=1,2,3,4,0,2,4,5,3,6,9,12,3,2,l,0;printf(%dr,f(八));)执行后的输出结果是OA、12B、11C、18D、1619、若有定义:intw35;则以下不能正确表示该数组元素的表达式是A、 *(*w3)B、*(w+l)4C*(*(w+l)D、*(&w00+l)20、以下对c语言中共用体类型数据的叙述正确的是A、可以对共用体变量名直接赋值B、 个共用体变量中可以同时存放其所有成员C、 个共用体变量中不可以同时存放其所有成员D、共用体类型定义中不能出现结构体类型的成员二、填空题
8、(每小题2分,共20分)1、ftincludeinti=010,j=10;printf(z,%d,%dn,+i,j-);2、符合结构化原则的三种基本控制结构是:选择结构、循环结构和。3、用&写出判断一个字母是否为大、小写的语句4、在一个C源程序中,注释部分两侧的分界符分别为和。5、下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。intn=0,ch;ch=getchar();while()(if()n+;c=getchar();)6、以下程序运行的结果为oftincludeintd=1;fun(intp)(intd=5;d+=p+;Printf(%d,”,d);voidmai
9、n()(inta=3;fun(八);d+=a+;Printf(%dn”,d);)7、字符读写函数是用于从磁盘文件中读出一个字符。8、以下程序功能是:借助指针变量找出数组元素中的最大值及其元素的F标值。请填空。#includemain()(inta10,*p,*s;for(p=a;p-a10;p+)scanf(,%d,p);for(p=a,s=a;p-a*s)S=;printf(nindex=%dn,s-a);)9、若从键盘输入58,则以F程序输出的结果是omain()(inta;scanf&a);if(a50)printf(%d,a);if(a40)printf(%c,a);if(a30)pr
10、intf(%c,a);10、a=3;a+=(al)?a:1;printf(z,%d,z,a);结果是O三、编程题(每小题分,共40分)1、编写程序:判断101到200之间的素数。(本题10分)2、编写程序:从键盘上输入一个数字组成的字符串(字符串长度小于8),将该字符串转换成一个十进制数例如:从键盘上输入2345,则程序运行的结果应当为:2345()(本题14分)3、题目描述万里十佳歌手比赛终于开始了,评委席坐了N(N大于等于3,并且N小于80)个评委,他们商量了很久,终于找出一个公正合理的评分方法。每次歌手唱完后,每个评委自己打一个分,然后在N个评委的打分中,去掉一个最高分,一个最低分。然后
11、再把剩下的评委的打分求平均值。但是问题是他们嫌每次拿计算器按实在太烦。作为一名计算机专业学生你用个程序帮帮他们搞定吧。输入输入有多组数据。每组2行,第一行是一个N,代表有N个评委。然后第二行有N个数,每个数用空格隔开,代表每个评委的打分。当输入的N为0的时候结束输入。输出对于每组输入,输入最终这个选手的得分(小数点后面保留2位有效数字)。样例输入3743634716972726749688样例输出36.0062.20(本题16分)参考答案一、单项选择题1、B【解析】在进行参数传递时,引用参数是利用形参直接访问实参,形参的变化直接影响实参的变化,而传值参数不会影响实参变量。2、B【解析】C语言规定,标识符是由字母、数字或下划线组成,并且它的第一个字符必须是字母或下划线,关键字不能用作用户标识符。3、A【解析】通过Pl二&a,p2=&b分别将a、b的地址赋给指针pl、p21接着执行if语句,发现an得到P指向的结构体变量中成员n的值使之加K因为p指向数组a起始地址,P-n的值为5,再执行自加1运行,结果为6。18、D19、B【解析】本题考查的是通过指针引用二维数组元素C通过一维数