书签 分享 收藏 举报 版权申诉 / 255
上传文档赚钱

类型2021年湖北文理学院《C语言程序设计》专升本精选模拟(十二套....docx

  • 上传人(卖家):最好的沉淀
  • 文档编号:7603044
  • 上传时间:2024-04-13
  • 格式:DOCX
  • 页数:255
  • 大小:607.30KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《2021年湖北文理学院《C语言程序设计》专升本精选模拟(十二套....docx》由用户(最好的沉淀)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    C语言程序设计 2021 湖北 文理学院 语言程序设计 精选 模拟 十二
    资源描述:

    1、专 业 班 级 : 身 份 证 号 : 姓 名 : 准考证号: 密- -封-线-一、单项选择题(共20题,每题2分,共计40分)湖北文理学院2021 年C语言程序设计专升本精选模拟(一)考试时间: 【120分钟】出 题 人 : 【任雪梅】考试方式: 【闭卷、笔试】总 分 : 【150分】题号一二三总分得分答案一律写在答题纸上,写在试卷上无效试卷不得带出考场考试中途不能无端离场得分评卷人( )1、 设x和y均为int 型变量,则以下语句:x+=y;y=x-y;x-=y; 的功能是 ,A、把x和y按从大到小排列B 、把x和y按从小到大排列C、无确定结果D、交换x和y中的值( )2、 在int a3

    2、=1,4,3,2,4,5,6,0;中,a21 的值是 。A、5B 、0C 、6D、2( )3、 有以下程序:main()int a=3,b=4,c=5,d=2;if(ab)if(bc)printf(%d,d+1);else printf(%d,+d+1);printf(%dn,d);程序运行后的输出结果是 。A、2B 、3C、43D、44。( )4、 以下不能将s所指字符串正确复制到t所指存储空间的是A 、do*t+=*s+;while(*s);B 、for(i=0;ti=si;i+);第1/10页C 、while(*t=*s)t+;s+;D、for(i=0,j=0;ti+=sj+;);( )

    3、5、 若有说明:inta,b=2,*p=&a; 则能完成a=b赋值功能的语句是 。A 、a=*p;B 、*p=*&b;C 、a=&b;D 、a=*p;( )6、 决定c语言中函数的返回值类型的是 。A 、return 语句中的表达式类型B、调用该函数时系统随机产生的类型C、调用该函数时的主调用函数类型D、在定义该函数时所指定的数据类型。( )7、 下列关于数组初始化的说法,正确的是 A、对于int a5; 它的数组元素初值为0B 、int a5=1,3,5,7,8,9;是可以的,这时数组长度自动变为6C 、static int a5;的数组元素初值为0D、int a5=1.3,5;是不合法的,

    4、因为数组长度为5,而仅有3个数据,不知赋给哪个元素( )8、 在下列字符中,其ascii 码值最小的一个是 。A、空格字符B、0C、AD 、a( )9、 以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是 ,A 、char s10=”abcdefg”;B 、char t=”abcdefg,*s=t;C 、char s10;s=”abcdefg”;D 、char s10;strcpy(s,abcdefg);( )10、 若希望下列的程序运行后输出25,程序空白处的正确选项是 main()int i,j=50,a=7,4,10,5,8;for( )j+=ai;print(”%d”,j-40

    5、);A 、i=1;i4;+iB 、i=1;i2;i-D 、i=2;inB、p-n+C 、(*.n+D、+p-n( )15、 下面程序的输出结果是 。main()int a=1,2,3,4,5,6,7,8,9,0,*p;p=a;printf(%dn,*(p+9)A、0B 、1C、10D、9( )16、 若有int x=1;,执行下列程序段后,变量x的正确结果是第3/10页switch(x*10)case 9:x+=1;break;case 10:x+=1;case 11:x+=1;default:x+=1;A 、1B 、2C 、3D 、4( )17、 有以下程序:#include struct

    6、sint a,b;data2=10,100,20,200 ;main()struct s p=data1;printf(%dn,+(p.a);程序运行后的输出结果是 A 、10B 、11C 、20D 、21( )18 、 语句:printf(%dn,12&012);的输出结果是 。A 、12B 、8C 、6D 、012( )19、 二维数组a 的成员是6个字符组成的串,行下标i的范围从0到8,列下标j的范围从1到10,则存放a 至少需要(44)个字节。A 、90B 、180C 、240D 、540( )20、 有以下程序struct s第4/10页二、填空题(共10题,每题2分,共计20分)i

    7、nt n;int a20;void f(int *a,int n)int i;for(i=0;in-1;i+)ai+=i;main()int i;struct s s=10,2,3,1,6,8,7,5,4,10,9;f(s.a,s.n);for(i=0;is.n;i+)printf(%d,s.ai);程序运行后的输出结果是 。A、2,4,3,9,12,12,11,11,18,9,B、3,4,2,7,9,8,6,5,11,10,C 、2,3,1,6,8,7,5,4,10,9,D 、1,2,3,6,8,7,5,4,10,9,得分评卷人21、 在c 语言中,每个变量都具有存储类别属性。存储类别是指数

    8、据在内存中存储的方法。并且存储方法分为 类。22、 以下程序运行后的输出结果是main()int i,m=0,n=0,k=0;for(i=9;i=11;i+)switch(i/10)case 0:m+;n+;break;case 10:n+;break;default:k+;n+;printf(%d %d %dn,m,n,k);结构,这三种基本结构构成23、 结构化程序设计的3种基本结构是:顺序结构、选择结构、了复杂的c 语言程序。24、 当执行以下程序时,如果输入abc, 则输出结果是:#include 第5/10页#include void main()char ss10=1,2,3,4,

    9、5;gets(ss);strcat(ss,6789);printf(%sn,ss);25、 下面程序根据以下函数关系,对输入的每个x 值,计算出y值。请分析程序填空。 main()int x,y;scanf(“%d”,&x);if(【1】 )y=x*(x+2);else if(【2】 )y=x-1;else 【3】 ;if(y!=-1)printf(%d,y);else printf(error);26、 以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空。void main()float x1000,sum=0.0,av

    10、e,a;int n=0,i;printf(enter mark:n);scanf(%f,&a);while(a=0.0&n1000)sum+ ;xn= 2 ;n+;scanf(“%f”,&a);ave= 3 printf(output:n);printf(ave=%fn,ave);for(i=0;i9)break ;printf(“%dn”,m);30、 下列程序段的运行结果是 struct sttlong num;char name20;char sex;float score;第7/10页p=1021103,jiang main()ping,m,85.5;printf(%cn,p.sex)

    11、;得分评卷人31、 编写程序:判断输入字符的字母的个数,以*结束输出。 (本题10分)32、 编写程序,使用循环结构语句打印输出如下图形。* (本题14分)33、编写程序:从键盘输入 n(nc) 配对。由于ab 不成立,因此整个程 序只输出printf(“%dn”,d), 即输出2。4、A【解析】do*t+=*s+;while(*s); 不能。因为当*s=0 时 ,while(*s) 跳出循环,这样字符串结束标志0 没有复制给*t, 造成 *t 不完整。注意,*t+=*s+是先执行*t=*s, 然后才进行t=t+1,s=s+1 。 选项B、C、D都能将0 复制过去。5、B6、D【解析】C语言中

    12、,在定义该函数时所指定的数据类型决定函数的返回值类型。7、C【解析】数组一旦定义,其长度就不可变了;初始化数组的数据个数不要大于数组长度,否则会出现逻辑错;初始化 数组的数据个数若小于数组长度,则先赋给前边的元素,后边的元素值自动初始化为0;静态数组如果没有初始化自动初始化为0。8、A【解析】ASC码值(用十进制表示)分别为:空格对应32,0对应48,A对应65,a 对应97。9、C10、D【解析】要想使程序输出25,则j-40=25,j=65, 而j初值是50,所以填入for 循环的语句,使引用的数组元素累加65- 50=15即可, D选项中, i 下标从0开始, i=2 指向第3个数50+

    13、a2=50+10=60, 继续循环60+a3=65+5=65, 此时i=4 跳出,循环结束。11、A【解析】在程序设计时,用一个个小模块来实现不同的功能,个程序设计人员分别完成一个或多个小模块,称这样的程序 设计方法为“模块化”由一个个功能模块构成的程序结构称为模块化结构,使用模块化结构程序设计,有利于任务的分 解简化,选项 B 正确;C 语言允许对函数单独进行编译,从而可以实现模块化,选项 C 正确;采用模块化结构,可以使不 同模块的程序员分别编写和调试,大大提高了编程效率,选项 D 正确;在语言程序中,每个模块并不一定能够单独编译运行,选项 A 错误,本题答案 A12、C【解析】选项C中的

    14、a是单字节它是不允许被赋值的。所以选项C是非法的表达式。选项A是逻辑表达式,是正确的。选项B是字符a 的值与3进行求余运算。是正确的。选项D参加运算的也是字符a 的值,所以这个表达式也是正确的。13、A14、D【解析】根据结构变量的存储特点, p+1意味着增加地址值为结构体数组a 的一个元素所占的字节数,即p+使p由a0指向a1 起始地址。本题+p-n 得到p指向的结构体变量中成员n 的值使之加1。因为p指向数组a 起始地址,p-n 的值为5,再执行自加1运行,结果为6。第8/10页15、A16、D17、D【解析】声明data 是结构S数组。初始化data0.a=10;,data0.b=100

    15、;,data1.a=20:,data1.b=200。主函数中p=data1;, 即p.a=data1.a;,p.b=data1.b;。 执行语句printf(%dn,+(p.a);打印输出时p.a先增1再打印,即p.a=data1.a=20, 先增1等于21。18、B【解析】位运算12&012即1100&1010,结果是1000,转化成十进制数是8,所以,输出结果是8。19、D【解析】行下标i 的范围从0到8,列下标j的范围从1到10,则数组的共有9*10=90个元素。每一个元素都占用6个字节。所以选D。20、A二、填空题21、2#两22、13223、 循环#重复24、abc6789【解析】g

    16、ets 函数将使用字符串 “ABC” 覆盖原来的“12345”字符串,然后再将字符串“6789”连接到ABC 上,故输出为“ABC6789”。25、【1】2x&x=10 【2】-1x&x=2 【3】y=-126 、(1)=a(2)a(3)sum/n(4)xiave【解析】很明显,该程序中使用sum表示总成绩,使用x1000 数组存储学生成绩,使用n表示学生个数,使用ave 表示平均分。弄明白这些变量的含义后,程序该怎么填写, 一目了然。27 、*t28、%1d29、1130、m三、简答题31 、#includemain()char ch;int i=0;ch=getchar();while(c

    17、h!=*)if(ch=a&ch=a&ch=z)i+;ch=getchar();第9/10页printf(%dn,i);32 、#include void main()int i,j,k;for(i=0;i =9;i+)for(j=1;j=4-i;j+)putchar();for(k=1;k=2*i-1;k+)putchar(*):putchar(n);33 、#include #define N 8typedef struct studentint no;int score;student;int main()student s1000:int n,i;int max;scanf(%d,&n)

    18、:for(i=0;in;i+)scanf(%d,&si.no);scanf(%d,&si.score);max=s0.score;if(maxsi.score)max=si.score;for(i=0;i0)if(a3)c=2;else c =3;else c =4;A 、1B 、2C 、3D 、4( )4、 有以下程序段int n=0,p;doscanf(%d,&p);n+;while(p!=12345&n3);此 处do-while 循环的结束条件是A 、p的值不等于12345并且n 的值小于3第1/11页B 、p的值等于12345并且n的值大于等于3C 、p的值不等于12345或者n 的

    19、值小于3D 、p的值等于12345或者n 的值大于等于3( )5、 下面关于数组的描述错误的是 。A、在C语言中数组的名字就是指向该数组第一个元素的指针B 、长度为n的数组,下标的范围是0n-1C 、数组的大小必须在编译时确定D、数组只能通过值参数和引用参数两种方式传递给函数( )6、 若要求在if 后一对圆括号中表示a 不等于0的关系,则能正确表示这一关系的表达式为 cA 、a0B 、aC、!aD、a=0( )7、 若有以下定义 int x10,*pt=x; 则对x数组元素的正确引用是 A 、*&x10B 、*(x+3)C、*(pt+10)D 、pt+3( )8、 宏定义是最常用的预处理功能

    20、之一,它用于将一个标识符定义为一个 A、单精度数B 、双精度数C 、常量D、字符串( )9 、 、/ 、mod 、* 等4个算术运算符中,优先级最低的是 _。A、B、/C 、ModD 、*( )10、 对以下说明语句的正确理解是 int a10=6,7,8,9,10 ;A、将5个初值依次赋给a1 至a5B、 将5个初值依次赋给a0至a4C、 将5个初值依次赋给a6至a10D 、因为数组长度与初值的个数不相同,所以此语句不正确( )11 、c 语言中函数返回值的类型是由决定的.A、 函数定义时指定的类型B 、return 语句中的表达式类型C 、调用该函数时的实参的数据类型第2/11页D、形参的

    21、数据类型( )12、 已定义c为字符型变量,则下列语句中正确的是 。A 、c=97;B 、c=97;C 、c=97;D 、c=a;( )13、 定义file *fp; 则文件指针fp 指向的是 ,A、文件在磁盘上的读写位置B、文件在缓冲区上的读写位置C、整个磁盘文件D、文件类型结构体( )14、 已知函数的原形如下,其中结构体a 为已经定义过的结构,且有下列变量定义 struct a*f(int tl,int*t2,struct a t3,struct a*t4)struct a p,*plint i;则正确的函数调用语句为&p=f(10,&i,p,pl);pl=f(i+,(int*)pl,p

    22、,&p);p=f(i+1,&(i+2),*p,p);f(i+1,&i,p,p);A、B、C、D、( )15、。执行printf(%x,100); 后的输出结果是 A、100B、0x100C、0X64D、64( )16、 下列while 循环,将执行int i=4;while(-i)printf(%d,i);A、3 次B 、4 次C、0 次D、无限次( )17、 若有以下定义的语句struct studentint age;int num;struct student stu3=1001,20,1002,19,1003,21;main()struct student *p;p=stu;第3/11

    23、页。则以下不正确的引用是 A 、(p+)-numB、p+C 、(*p).numD 、p=&stu.age( )18、 有以下程序:#include #define PT 3.5;#define S(X)PT*x*x;main()int a=1,b=2;printf(%4.1fn,s(a+b);程序运行后的输出结果是 。A 、7.5B、31.5C 、程序有错无输出结果D、14.0( )19、 有以下程序#include void fun(int *a,int n)/*fun函数的功能是将a所指数组元数从大到小排序*/int t,i,j;for(i=o;in-1;j+)for(j=j+1;jn;j

    24、+)if(aiaj)t=ai;ai=aj;aj=t;main()int c10=1,2,3,4,5,6,7,8,9,0,i;fun(c+4,6);for(i=0;i10,i+)printf(%d,ci);程序的运行结果是 。A 、1,2,3,4,5,6,7,8,9,0,B 、0,9,8,7,6,5,1,2,3,4,C 、0,9,8,7,6,5,4,3,2,1,D 、1,2,3,4,9,8,7,6,5,0,( )20、 以下程序的输出结果是#includestruct st第4/11页二、 填空题 (共10题,每题2分,共计20分)int x;int *y;*p;int dt4=10,20,30

    25、,40;struct st aa4=50,&dt0,60,&dt0,60,&dt0,60,&dt0,;main()p=aa;printf(%dn,+(p-x);A、10B、11C、51D、60得分评卷人21、 已知t=5, 则表达式t-=t+=3 的值是22、 变量y满足以下两条件中的任意一个:能被4整除,但不能被100整除;能被400整除。请用逻辑表达式表示所给条件。 。23、 仅由顺序、选择(分支)和重复(循环)结构构成的程序是 程序。24、 在c 语言中,将字符串中大写字母转换成小写字母的函数是25、 下列程序段的运行结果是 。第5/11页#definemain()intsub(x,y)

    26、x-ya,b,s;A=5,b=6;S=sub(a,b);printf(“s=%dn”,s);26、 请补充main() 函数,该函数的功能是:把一个整数插入一个已经按从小到大排序的数组中。插入后,数组仍然有序。 例如,在数组bbM=10203040506070808595中插入75,结果为 bbM=1020304050607075808595注意:部分源程序给出如下。 请勿改动main() 函数和其他函数中的任何内容,仅在main() 函数的横线上填入所编写的若干表达式或语句。 试题程序:#define M 10void main()int i,j;int n;int bbM+1=10,20,

    27、30,40,50,60,70,80,85,95;system(CLS);printf(nlnput n n);scanf(%d,&n);printf(“nn=%d”,n);printf(n*original list*n);for(i=0;iM;I+)printf(%4d,bbi);for(i=0;iM;I+)if(n=bbi)for(j=M; ;j-) bbj=n;if(i=M)bbi=n:printf(n*new list*n);for(i=0;iM+1;I+)printf(%4d,bbi);27、 以下程序中函数f 的功能是在数值x的n个数(假定n个数互不相同)中找出最大最小数,将其中最

    28、小的数与第一个数对换,把最大的数与最后一个数对换。请填空。#include void f(int x,int n)int pO,pl,i,j,t,m;i=j=x0;p0=pl=0;for(m=0;mi)i=xm;p0=m;else if(xmj)j=xm;p1=m;不t=xp0;xp0=xn-1;xn-1=1;t=xpl;xp1=14 ;15=t;main()int a10,u;for(u=0;u10;u+)scanf(*%d,&au);f(a,10);for(u=0;u4)breakprintf(%dn,s)30、 下列程序段的运行结果是 。struct stlongnum;charname20;charsex;floatscore;w=1021103,jiangping,m,85.5;main()printf(%sn,w.name);得分评卷人31、 编写程序:利用指针方法,输入3个数a,b,c, 按大小顺序输出。 (本题10分)32、 编写程序:使用结构体,创建一个长度为n 的链表。 (本题14分)33、 编写程序:用结构体和函数处理学生成绩,学生信息包括:学号姓名3门课成绩平均分1 ) 用input 函数来输入数据和求各学生的平均成绩2 ) 用max函数来找平均分最高的学生3 ) 用print

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:2021年湖北文理学院《C语言程序设计》专升本精选模拟(十二套....docx
    链接地址:https://www.163wenku.com/p-7603044.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库