版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、单项选择题(每小题2分,共40分)1、以下关于c语言标识符的描述中,正确的是。A、标识符可以由汉字组成B、标识符只能以字母开头C、关键字可以作为用户标识符2、当变量c的值不为2、4、6时,值也为"真"的表达式是3、下列程序的输出结果是{{}4、结构化程序设计思想的核心是要求程序只由顺序、循环和三种结构组A、分支D、有规则GOTO5、在c语言中,函数返回值的类型最终取决于()。A、函数定义时在函数首部所说明的函数类型B、return语句中表达式值的类型C、调用函数时主调函数所传递的实参类型D、函数定义时形参的类型6、若变量x、y已正确定义并赋值,以下符合c语言语法的表达式是7、若二维数组a有m列,则计算任一元素a[i][j]在数组中位路的公式为(假设a[0][0]位于数组的第一个位路上)c9、下列字符串中不能作为c标识符使用的是。pp=p则对数组元素的错误引用是。intk[10]=1,2,3,4,5,6,7,8,9,10,i;for(i=2;i<8;i++)print程序的运行结果是。12、判断实数x属于闭区间[a,b]的表达式为设a为整型变量,不能正确表达数学关系10<a<15的c语言表达是13、以下叙述中正确的是。A、书写源程序时,必须注意缩进格式,否则程序会有编译错误B、程序的主函数名除main外,也可以使用main或_mainC、程序可以包含多个主函数,但总是从第一个主函数处开始执行D、在C程序中,模块化主要是通过函数来实现的14、c语言中的基本数据类型包括B、整型、字符型、数组D、整型、实型、结构体15、下面程序段的运行结果是.intn=0;while(n++<=2);intk=4,n=0;{19、设charstr[100];inti=5;则引用数组元素的错误形式的是{{,*p=a则值为6的表达式是。二、填空题(每小题2分,共20分)1、已知t=5,则表达式"t-=t+=3"的值是2、以下程序的输出结果是{printf(“%d\n”,(x=2*4,x+53、字符串函数用于把一个字符串写入指定的磁盘文件中。4、已知"floata=3.5;”,则算术表达式"a+b/5"的值是。{{{程序的输出结果a的值为。6、一个c程序总是从函数开始执行的。7、使文件指针重新定位到文件读写的首地址的函数是。8、在c语言中,如果采用printf函数将整个字符串一次输出,那么对应的格式控制符为”9、下面程序的功能是统计正整数的各位数字中零的个数,并求各位数字中的最大者。请分析程序填空。(本题14分){{{break三个整数,分别表示年、月、日。保证输入是实际存在的日期,且年份在1000至3000之间(包含1000和3000)。输出356(本题16分)【解析】结构化设计方法的基本要求是:在详细设计阶段为了确保逻辑清晰,应该对所【解析】选项A)为C语言中的逗号表达式。赋值表达式的左侧不能是表达式。在进行强【解析】此题考查的是C语言中标识符的定义。标识符由字母、数字或下划线构成,但【解析】考查指向数组的指针。[解题要点]本题综合考查一维数组和多维数组指针变量的表示方法。在C语言中,引用数组元素的方法有两种,即:下标法和指针法。下标法如值p=a。再如*(*(p+2)+2)是a[2][2]的值,注意语句中指针“(*数组名)[长度]”,因为这是定义指向含有“长度”个元素的一维数组的指针变量。例型数组,其3个元素p[0],p[1],p[2]分别指向B个整型变量a,b,c。[考点链接]数【解析】在主函数中,定义了一维数组k,并通过调用fun函数将形参数组a指向实参数当于对相应数组k的元素值的改变。在fun函数中,通过for循环对数组元素a[0]与a[4]、a[1]与a[3]的值分别作了交换,也即相当于主函数中k[0]与k[4]、k[1]与k[3]的值分别作了交换,此时k中各元素的值为5,4,3,2,1,6,7,8,9,10,故输出k[2]到k[7]的值为321678。【解析】C语言的源程序中对缩进没有要求所以A选项错误。C语言中区分大小写止本次循环,不执行循环体内continue语句后面的其他语句,继续下次循环的条件判断。首先在for循环中n自加1(值变为1),然后执行后面的if语句,由于if语句后面括号的表达式1%3!=0的值为真,程序执行continue语句,回到for循环的开始部分,并且判断for循环中的条件表达式(n<k)为真,重复执行“n++;”语句判定条件中表达式3%3!=0的值为假,程序执行if语句后面的“k--;”语句,此时k的值为3,不满足n<k,退出for循环。故最后的k和n的值为3和3,选项C符合题量中成员n的值使之加1。因为p指向数组a起始地址,p->n的值为5,再执行自加1运intj;intb=n-1;{C语言专升本相关题目(二)一、单项选择题(每小题2分,共40分)1、在16位编译器环境下,double类型占多少字节?2、已知字母a的ascii代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是C、(kk+32)>='a'&&(kk+32)<='z’3、若a的值为3时,下列程序段被执行后,c的值是。4、下列关于do…while语句的叙述中正确的是A、do…while语句所构成的循环不能用其他语句构成的循环来代替B、do…while语句所构成的循环只能用break语句跳出C、do…while语句所构成的循环只有在while后面的表达式非零时才结束D、do…while语句所构成的循环只有在while后面的表达式为零时才结束5、下列一维数组定义正确的是_。6、下列四个选项中,均是C语言关键字的选项是()。A、数组a的每个元素都可得到初值0C、因为二维数组a中第二维大小的值除经初值个数的数为1D、有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0A、’\n’C、’0’D、’\0’C、p变量中存放的地址值可以改变D、a中只能存放10个字符A、判断m是否能被5或者7整除B、判断m是否能被5和7整除C、判断m被5或者7整除是否余1D、判断m被5和7整除是否都余1A、包含1个字符B、包含2个字符C、包含3个字符p=a[5]15、分析以下程序,下列说法正确的是。elseprintf("##typedefstructstub={"zhao",’m',85for(i=0;i<2;i++)a.scoprintf("%s,%c,%2.0f,%2.0f",,d.sex,d.score[{{{o{{{二、填空题(每小题2分,共20分)1、若变量a,b已定义为int类型并赋值21和55,要求用printf函数以3、表达式(int)((double)(5/2)+2.5)的值是c6、有以下程序执行后输出结果是c7、C标准库函数中,字符串的处理函数包含在头文件中,数学函数包含在math.h头文件中。8、字符串函数用于从指定的磁盘文件中读出一个字符串。9、以下程序输出x,y,z三个数中的最小值,请填空使程序完整intx=4,y=5,z=8;10、以下程序运行的结果为。#include<stdio.h>{{利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%;高于100万元时,超过100万元的部分按1%提成。从键盘输入当月利润I,求应发放奖金总数?(本题10分)2、编写程序,从输入的一行字符串中抽取一部分(从第n个字符开始,抽取m个字符)构成一个新的字符串,并输出。其中n>0且n<=字符串的长度,否则打印“起始位置n越界”“abcde”,若n=2,m=3,则抽取结果为“bcd”;若n=3,m=5,则抽取结果为“cde”;若n=0,m=4则输出:起始位置0越界;若n=6,m=2则输出:起始位置6越界(本题14分)第一行有一个整数n,表示以下有n个学生的信息将会输入。保证n不大于以后的n行中,每一行包含对应学生的学号、名字、性别和年龄开。保证每一个人名都不包含空格且长度不超过15,性别用M和F两个字符来有n行,每行输出一个学生的学号、名字、性别和年龄,用空格隔开。请注意行尾输出换行。310104WangMinF20(本题16分)【解析】在16位编译器环境下,double类型占8个字节。【解析】此题主要考查if-else的使用,当if语句中的条件为真时执行后的语句,并跳过else执行下面的语句;当条件为假时执行else后的语句。【解析】for语句、while语句以及do…while语句构成的循环可以相互转换。do…while循环的结束条件是while后面的表达式为0(即循环条件为“假”)。【解析】数组的下标不能是变量,不能为非整数,定义为常量的标识符不能再用来赋值,只能在定义时初始化。【解析】定义二维数组时编译器会根据给出数值的个数和列数确定二维数组的行数。不足一行补0。【解析】解析:本题考查字符串数组和指针的引用方式。在C语言中,系统在每个字符串或数组的最后自动加入一个字符’\0',作为字符的结束标志,在本题中,chara[]=“Itismine”;所表示的。字符串实际含有11个字符。C语言的字符型常量中,允许用一种特殊形式的字符常量,就是以一个“\”开头的字符。其中,“\ddd”表示用ASCⅡ码(八进制数)表示一个字符,本题中的charc=‘\72’即表示占一个字符的变量c的ASCⅡ码值。【解析】本题中定义了一个整型数组a和一个整型指针变量p。选项A中将一个整型数赋值给一个指针变量,C语言规定,只能将地址赋给指针变量,故选项A不正确。选项B中a[5]为一数组元素,同样不是一个地址,故选项B不正确。选项c中a[2]为一数组元素,同样是一个整型数据,不是个地址,故选项C不正确。数组名a代表数组首地址,首地址加2代表第3个元素的地址,将该地址赋值给指针变量,故选项D正确。所以,4个选项中选项D符合题意。【解析】本题程序的功能是对数组元素赋值,难点是对表达式4*(i-2*(i>3))%5的分【解析】给结构体数组赋韧值时,由于数组中的每个元素都是一个结构体,因此要将其成员的值依次放在一对花括号中,以便区分各元素。s[0]={"20021",90,95,85},s[1]={doublebonusl,bonus2,bonus4,bonus6,bonus10,bonus;bonus2=bonus1+100000*bonus4=bonus2+200000bonus6=bonus4+200000bonus10=bonus6+400000*bonus=bonus1+(i-100000)*0.07bonus=bonus2+(i-200000)*0.0bonus=bonus4+(i-400000)*0.bonus=bonus6+(i-600000)*0.01bonus=bonus10+(i-1000000)【解析】请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。{for(i=n-1;i<n+m-1;i++){}C语言专升本相关题目(三)一、单项选择题(每小题2分,共40分)4、下面程序段中,循环体的执行次数是{7、以下对一维数组a的正确说明是。8、表达式5!=3的值是。B、非零值则指针变量s指向的字符串所占的字节数是10、如果用数组元素作为函数调用时的实参,则该实参向函数的形参传送的是A、数组元素的地址B、数组的首地址C、数组元素的值D、数组名elsereturn(fun(--a,--b));printf("%d\n",fun(4,2程序的运行结果是。A、在C程序中,整数和实数都能被准确无误地表示出来B、在C程序中,任何一个变量名都代表存储器中的一个位置C、静态变量的生存期与整个程序的运行期相同D、C语言中,任何变量都必须先声明才能进行引用13、两次运行下面的程序,如果从键盘上分别输入3和2,则输出结果是elseprintf("%d\n",x--);{若有p=&data,则对data中的a域的正确引用是inty=1,x=2,z=3;printf(“%d,%d\n”,(++x,y++),z执行后的输出结果是basic=3,assembly,ada=100,cA、6个字节C、8个字节D、9个字节20、有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是二、填空题(每小题2分,共20分)1、inta=2,b=3;表达式a>b?a++:++b的值为2、访问变量的方式有和3、在c语言中,以开头的常量代表的是八进制数。4、若有以下定义语句floatx[3][3]={{1.0,2.0,3.0},{4.0,5.0,6.0}};,则表5、c语言程序的三种基本结构是顺序结构、选择结构和6、以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入请填空{{该程序的功能是三、编程题(每小题分,共40分)1、编写程序:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n(利用指针函数)。(本题10分)3、编写程序:创建一个长度为n的链表,然后反向输出该链表。(本题16【解析】在ASCII码表中,根据码值由小到大的排列顺序是:控制符、数字符、大写英【解析】程序执行的实际计算工作量不仅与程序的控制结构有一定的关系,还与处理的数据量有关,与数据的存储结构密切相关。所以,选项A正确,选项B和C错误。所以,【解析】注意:VC编译器分配给整数的内存是4字节。【解析】由程序可知,函数fun(inta,intb)是一个递归函数。所以当主函数中调用【解析】此题考查C语言的基本概念。变量的实质就是在内存中占据一定的存储单元,存储单元里存放的是该变量的值,变量的值可以根据需要进行修改;【解析】本题考查if-else语句。首先,scanf函数通过键盘读入x的值。当x=3时,第一个if语句先判断条件,取x的值3和2比较,然后将x的值加1,if条件成立,执行下面的printf语句,输出x的值4。当x=2时,第一个if语句先判断条件,先取x的值2和2比较,然后将x的值加1(x的值变为3),if条件不成立,执行下面的else语句,先输出x的值3,再将x的值减1。【解析】本题考查逗号表达式。逗号表达武的求解步骤是先求解表达式1,然后依次求解表达式2,直到表达式N的值。整个逗号表达式的值就足最后一个表达式N的值。(++x,y++)这个表达式的返回值是y++,先使用y的债,然后将y加1,所以输出第一个值为1。【解析】选项B中for循环了5次,而每次循环的时候,都将p的值重新赋值为1后,再乘以当前数字i,最后的结果为5,显然不是5!的值,同样的分析可知选项A、选项C和选项D计算的都是5!。所以,4个选项中选项B符合题意。【解析】要把结点b连接到结点a之后,必须把b的地址给a的next指针,选项A中,指针变量q保存的就是变量b的地址,选项B中的p是指针变量,应该是p->next=&b;在选项D中,用*运算符取出结构体变量,并且保存的就是b的地址,所以正确。2、直接访问间接访问doubleevenumber(doubleoddnumber(intr=(*pfunc)(n);}typedefstructLNode{LinkListCreateList(intn){p=(LinkList)malloc(sizeof(LNovoidprint(LinkListh)LinkListp=h->next;C语言专升本相关题目(四)一、单项选择题(每小题2分,共40分)6、下列()是合法标识符。的元素()的起始地址相同。设每个字符占一个字节。D、%8x不是错误的格式符,其中数字8规定了输出字段的宽度12、C源程序中的命令#include与#define是在阶段被处理的。D、执行structpersonclass[10]={"johu",17,“adam”,16};15、以下程序的输出结果是。{{j=i;4、已知a=5,则表达式"a+=a*=3"的值是5、下列程序段的运行结果是_。{6、有以下程序#include<strin{chara[]={’a',’b','c','d','e','f','g','h','\0'};intj;j=strlen(a)程序运行后的输出结果是。7、在传值调用中,实际是把实参的_。8、字符读写函数是用于从磁盘文件中读出一个字符。9、有以下程序#include<string.h>{chara[]={’a',’b',’\intj;j=strlen(a);程序运行后的输出结果是。10、已知字母a的ascii码为65。以下程序运行后的输出结果是{三、编程题(每小题分,共40分)1、求1+2!+3!+...+20!的和(本题10分)2、有一篇文章,共有多行文字(不超过10行),最后一行为end。要求分别统计出其中英文大写字母、小写字母、空格以及其它字符的个数。统计结果不包括最后一行的end。(本题14分)3、若有以下银行卡信息:请编写程序,从键盘输入5条银行卡记录,使用结构体数组存储这些数据,并按金额升序排序,输出排序后的结果。【输入形式】5条银行卡记录分行输入,每行数据用空格间隔【输出形式】分5行输出数据,每行数据均使用空格间隔【输入样例】【输出样例】100280(本题16分)【解析】实型常量有两种书写形式:①小数形式,它由符号、整数部分、小数点及小数部分组成;②指数形式,由十进制小数形式加上指数部分组成,其形式为十进制小数e指数或十进制小数E指数。注:e或E后面的指数必须是整数,并且在e或E的前面必须有数字。本题中,选项A)中E的前面没有数字,因此错误。选项C)中0.8不是整数,因此错误。选项D)中4是整型常量而不是实型常量。【解析】if(表达式)的“表达式”为C语言中任意合法的表达式。本题答案为D选【解析】二维数组A[0:8,1:10],设起始地址为0,数组元素A[i,j]按行存储公式为:Loc(A[i,j])=L1+(i-1)×U2×d+(j-1)×d,数组元素A[i,j]按列存储公式为:Loc(A[i,j])=L1+(j-1)×U2×d+(i-1)×d,可得i=3,j=10。【解析】%x表示十六进制输出方式,%8x中的8规定输出字段的宽度,其中8前的正负【解析】本题考核指针的运算。C语言中,指向同一字符串的指针之间能且只能进行减运【解析】本题考查了continue和break语句在循环语句中的作用。break语句的作用是结束本层循环,而continue语句的作用是结束本次循环直接进入到下次循环。【解析】本题考查了一维数组元素的引用方法。题中数组a为一字符串数组,通过数组【解析】node结构体变量。二、填空题{{}#include<string.h>inti=0,j,space=0,lwr=0,upr=0,number=0,other=0;if(strcmp(s[i],"end")elseif(s[i][j]>='printf("大写字母有%d个\n",upr);printf("小写字母有%d个\n",lwr);#include<stdlib.h>intbonus;//printf("%d%d\n",a[j].id,a[j].bonuC语言专升本相关题目(五)一、单项选择题(每小题2分,共40分)1、以下叙述中不正确的是()。D、以下是正确的宏定义#defineIBM_PC{程序的输出结果为。5、以下关于宏的叙述中正确的是。A、宏名必须用大写字母表示B、宏定义必须位于源程序中所有语句之前C、宏替换没有数据类型限制D、宏调用比函数调用耗费时间6、下列不属于简单数据类型的是。A、整数类型C、浮点数类型7、对以下说明语句inta[10]={6,7,8,9,10};的正确理解是()。A、将5个初值依次赋给a[1]至a[5]B、将5个初值依次赋给a[0]至a[4]C、将5个初值依次赋给a[6]至a[10]D、因为数组长度与初值的个数不相同,所以此语句不正确8、一个汉字的国标码需用2字节存储,其每个字节的最高二进制位的值分别为 o9、下列选项中,能够满足"若字符串s1等于字符串s2,则执行st"要求的是 oA、十进制数10B、八进制数10C、十六进制数10不能表示a数组元素的表达式是。{15、执行下面程序后,运行结果是16、以下程序的输出结果是_。printf('’’’)17、有以下程序{voidfun(int*x,inty)19、有语句charstr1[10],str2[10]={"china"};{structstus[2]={{"sustructstus[3]={{"yangsan",20041,703},{"lisiguo",2004printf("%s%d%3.0f\n",s[1].name,s2、写一个表达式表示n既能被3整除又能被5整除5、if语句与语句一起可以构成循环结构。6、若运行以下程序时,从键盘输入adescriptor/,则下面程序的运行结果是 c{case'a’printf("v0=%d,v1=%8、在c语言中,按函数在程序中出现的位置可分为以下9、下列程序段的运行结果是。_则返回0。请填空intisprime(inta){ 1、编程序求1+3+5+7+9+,,这样的数之和。如果累加数大于750时,则程序终止并输出结果。(本题10分)2、编写程序:输入两个字符串str1和str2,将字符串str2倒置后接在字符串do?”。(本题14分)3、编写程序:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出请输入5个同学的信息:学生号,姓名,3门成绩:5d43887869(本题16分)参考答案及解析一、单项选择题【解析】通过pl=&a,p2=&b分别将a、b的地址赋给指针p1、p2,接着执行if语句,发现a<b成立,则通过交换pl、p2的值,即交换a、b所在存储单元的地址,但是a、b的值并没有发生变化。【解析】[知识点]计算机中数据的表示中各进制数之间的比较八进制数10转化为十进制数是8,十六进制数10转化为十进制数是16,二进制数10转换为十进制数是2,所以表示的值最大的应该是引十六进制数的10。【解析】共用体uu占8个字节;因为结构体在内存中占位符的存在,所以结构体test中成员m2占4个字节;结构体test占用内存的大小是sizeof(int)+sizeof(char)+3+sizeof(float)+sizeoy||10<y#y>10||-10>y#-10>y||【解析】getchar函数取字符直到回车为此,且将回车算在内,“while(c!=’\n');”三、编程题{For(;*p2;i++)*(pl+itypedefstruct{scanf("%d%s%d%d%d",&(stu[i].ID),stu[i].name,&(stu[i].math)stu[i].avargrade=(stu[i].math+stu[i].Enif((fp=fopen("stud","w"一、单项选择题(每小题2分,共40分)A、charb[10如果在下面的程序中调用该函数,则输出结果是14、有以下程序printf("%d,",++p->xprintf(“%d\n”,++p->程序的运行结果是。其输出结果是D、程序进入无限循环structstudentstu}则以下不正确的引用是_。18、下列程序的输出结果是。intb=2;{19、以下程序输出的结果为char*alpha[6]={"abcd","efgh","ijkl","mnop","qrst","uvwx"};for(i=0;i<4;i++)print20、有以下程序structaf(a);pringt("%d,%s,%6.1f\n",a.a,a.b,a.{二、填空题(每小题2分,共20分)1、在c语言中除了使用c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 47418-2026非常规水开发利用规划编制规程
- 幼儿园教师文化响应性教学行为观察-基于2023年多元文化班级教学视频编码
- 安全生产费用使用监督管理办法
- 施工安全草原生态失波长安全为波长安全管理制度
- 广播电视播音员主持人资格考试(广播电视播音主持业务)试题及答案(云浮2026年)
- 2025年综合评标专家库评标专家考试(水利类实务)第二阶段模拟试题及答案解析(甘孜州)
- 西藏自治区昌都地区新闻记者职业资格考试(新闻基础知识)复习题库含答案(2025年)
- 2025年四川南充综合评标专家库评标专家考试(第二阶段水利类实务)模拟试题及答案解析
- 四川省巴中市广播电视播音员主持人资格考试(广播电视播音主持业务)试题及答案(2026年)
- 天然气管道段施工方案解析
- 儿童夏日防暑安全知识课堂
- 2026年陕西好猫卷烟材料有限责任公司招聘(10人)笔试模拟试题及答案解析
- 临床老年人腹泻“防”与“护”
- 甲状腺疾病的预防与护理
- 小学一年级语文下册《荷叶圆圆》跨学科融合教学设计(导学案)
- 2026年上海市杨浦区中考数学二模试卷(含解析)
- 2026 GOLD慢性阻塞性肺疾病全球倡议:COPD诊断、治疗与预防全球策略解读
- 2026年专升本高等数学真题(附答案)
- 住建行政执法培训
- 行政单位会计监督制度
- 中国科学技术大学研究生院岗位招聘笔试真题2024
评论
0/150
提交评论