欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    东华理工大学计算机C语言期末预测卷.docx

    • 资源ID:1381364       资源大小:154.47KB        全文页数:94页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    东华理工大学计算机C语言期末预测卷.docx

    case1:Printf("%d”,i);case2:rintf(*%dz,i);default:printf(*%c,i);执行后输出的结果是OA、011122B、012C、012020D、120【答案】A【解析】当执行SWitCh语句时,首先计算紧跟其后一对括号中的值,然后在语句体内寻找与该值吻合的CaSe标号。若相等,则执行该标号后开始的各语句,包括在其后的所有case和default后的语句,直到switch语句体结束。4、程序设计语言中oA、while循环语句的执行效率比do-while循环语句的执行效率高B、while循环语句的循环体执行次数比循环条件的判断次数多1,而do-while语句的循环体执行次数比循环条件的判断次数少1C、while语句的循环体执行次数比循环条件的判断次数少1,而do-while语句的循环体执行次数比循环条件的判断次数多1D、while语句的循环体执行次数比循环条件的判断次数少1,而CIOrhile语句的循环体执行次数等于循环条件的判断次数【答案】D5、C语言函数内定义的局部变量的隐含存储类别是AstaticB、 autoC、 registerD、 extern【答案】B6、下列变量定义中合法的是()。A、shorta=l-.Ie-I;B、doubleb=l+5e2.5;C、longdo=0xfda1.;Dsfloat2and=l-e-3;计算机C语言期末预测卷(一)(总分100分.考试时长60分钟题号、总分阅卷人分值100100得分考生应检查“答题卡”正反两面,如果发现“答题卡”字迹模糊,行列歪斜或单面缺印等现象,要及时向监考员报告。作答时须保持答题卡整洁,不得破损、折皱、沾水(汗考试结束前要离开考场的考生须先按答题卡、试卷、草稿纸从上到下的顺序平放在桌面上,再举手提出离场。一、单项选择题(每小题2分,共100分)1、设整型变量n的值为2,执行语句"n+=n-=n*n;"后,n的值是。A、0B、4C、-4D、2【答案】C2、该语句打印结果为(每个d后都有空格)printf("%d”,printf(*%d",printf%d",43);A、 4321B、 434343Cx4332D、4321【答案】C3、有以下程序main()inti;for(i=0;i<3;i+)switch(i)【答案】D12、关于C语言,下列说法正确的是。A、程序就是算法B、一个变量只能定义为一种数据类型C、一个变量只能存储一个字符D、若a和b类型相间,执行a=b;后,b中数值将丢失【答案】B13、下述程序的输出结果是。ftinclude<stdio.h>voidmain()(inta5=l,2,3,4,5;int*p=a,*q=½p;printf(W,*(p+);Printf("%d”,*q);A、22B、11C、34D、12【答案】D【解析】程序首先定义了一个指向一维数组a的指针p,一个指向指针变量P的指针变量q,输出*(p+)是先输出*p即a0的值,再将指针P指向数组的下一个元素al,输出*q是输出指针P所指向单元的内容,即al的值。14、对于以下递归函数f,调用f(3)的返回值是ointf(intn)(if(n)returnf(n-l)+n:elsereturnn;)A、10B、6C、3D、0【答案】B【答案】A7、在定义inta56;后,数组a中的第10个元素是(设a00为第一个元素)A、a25B、aC、 alDxal5【答案】C8、己知字母a的ascii码十进制值为97,则执行以下语句后的输出为。yhgchara='a,;printf(,%d,%cn,*,a+*2'-'0',a+*3*-*0*);A、b,cB、a-运算不合法,故有语法错C、98,cD、格式描述和输出项不匹配,输出无定值【答案】C9、设宏定义#出?门隧PI3.1415926,用宏名PI替换的是。A、算术表达式B、字符串C、单精度实型数D、双精度实型数【答案】B10、已知字母a的ascii代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是OA、kk>=A,&&kk<=Z,B、!(kk>='A'KKV=N)C、(kk+32)>=a&&(kk+32)<=zD、kk>=65&&kk<=90【答案】B11、函数的形式参数隐含的存储类型说明是。AexternB、staticC>registerD、 autoPrintf("%dn”,c&c);程序运行后的输出结果是OA、OB、70C、35D、1【答案】C【解析】按位与,因为0&0=0,所以任何数与自身按位与,结果仍为此数,不发生变化。19、若在某函数内部有定义:inta34;则数组a中各元素。A、可在程序的运行阶段得到初值0B、可在程序的编译阶段得到初值0C、不能得到确定的初值D、可在程序的编译或运行阶段得到初值0【答案】C【解析】在函数内部定义的存储类型为auto的变量或数组,如果没有进行初始化,就不能得到确定值。20、设有如下定义structss(charname10;intage;charsex;std3,*p=std;下面各输入语句中错误的是。A、scanf(飞d",&(*p).age);B、scanf("%s”,&std.name);C、sean(*%c*,&std0.sex);D、scanf(*%c*,&(p->sex);【答案】B【解析】本题考核的知识点是结构型数组的应用。选项A中“&(*p).age”代表的是stdOage的地址,是正确的,选项C也是正确的,选项D先用指针变量引用结构型的成员sex,然后取它的地址,也是正确的,选项B中的“std.name"是错误的引用,因为Std是数组名,代表的是数组的首地址,地址没有成员“name"。所以B选项为所选。15、下面程序段的输出为#include*stdio.h"main()printf(*%dn*,12<<2);)A、OB、47C、48D、24【答案】C【解析】考查位运算的运算原理。解题要点VV为左移运算符,运算符的左边是移位对象:右边是整型表达式,代表左移的位数,左移时,右端(低位)补0;左端(高位)移出的部分舍弃。16、若变量已正确定义,对以下*hilc循环结束条件的准确描述是A、item的绝对值小于O.OOOlB、item的绝对值大于O.OOOlC、item的绝对值等于O.OOOlD、iIem的绝对值不等于0.0001【答案】A17、若有函数调用语句:fun(a+b,(x,y),fun(n+k,d,(a,b,);那么在此函数调用语句中实参的个数是OA、3B、4C、5D、6【答案】A【解析】调用函数时,在函数名后面跟参数,参数用逗号隔开。调用时,实参与形参的个数相等,类型一致,且按顺序一一对应传递数据。且实参是实际调用函数时所给定的有确定值的常量、变量或表达式。本题函数调用语句中的实参个数为3个。18、有以下程序main()intc=35;赋值语句完成后数组中数据如下:024024024因为fun()函数打印的是第1行第2列的数据,所以为4。24、设j为int型变量,则下面for循环语句的执行结果是_for(j=10jj>3;j-)(if(j%3)j-;j;-j;printf(*d*,j);)A、63B、74C、62Ds73【答案】B25、c语言中数组名作为参数传递给函数,作为实在参数的数组名被处理为oA、该数组的长度B、该数组的元素个数C、该数组中各元素的值D、该数组的首地址【答案】D【解析】数组作为函数参数时,传入的是该数组的首地址。26、设有说明:Charc;intx;doublez;则表达式c*x+z值的数据类型为A、floatB、intC、 charD、 double【答案】D21、算法要有确定的含义,不能出现二义性指的是算法的咖个特性?A、有穷性B、确定性C、可行性D、输入【答案】B22、以下选项中,能用作用户标识符的是oAvoidB、8_8C、_0_D、unsigned【答案】C23、下列程序的输出结果是include,stdio.h"#defineN3JtdefineM3voidfun(intaMN)printf(*%dn*,*(al+2);mainOintaMN;inti,j;for(i=0;i<M;i+)for(j=0;j<N;j+)aij=i+j-(i-j);fun(八);)A、3B、4C、5D、6【答案】B【解析】若有以下定义:inta34,i,j;,且OWiV3,0j<4,则可以有以下几种方式来引用数组中的第i行,第j列的元素:aij,*(ai+j),*(*(a+i)+j),(*(a+i)j,*(fta00+4*i+j),)31、以下关于结构化程序设计的叙述中正确的是OA、一个结构化程序必须同时由顺序、分支、循环三种结构组成Bs结构化程序使用goto语句会很便捷C、在C语言中,程序的模块化是利用函数实现的D、由三种基本结构构成的程序只能解决小规模的问题【答案】C【解析】C语言是结构化程序设计语言,顺序结构、选择结构、循环结构是结构化程序设计的种基本结构,研究证明任何程序都可以由这三种基本结构组成。但是程序可以包含一种或者几种结构,不是必须包含全部三种结构。自从提倡结构化设计以来,goto就成了有争议的语句。首先,由于goto语句可以灵活跳转,如果不加限制,它的确会破坏结构化设计风格。其次,goto语句经常带来错误或隐患。它可能跳过了某些对象的构造、变量的初始化、重要的计算等语句。GOIo语句的使用会使程序容易发生错误并且也不易阅读,所以应避免使用。由三种基本结构构成的程序几乎能解决大部分问题。32、与二进制数101.OlOll等值的卜六进制数是。A、A.BB、5.51C、A.51D、5.58【答案】D【解析】二进制数0101、OlOl和100o所对应的十六进制数分别为5、5、833、以下叙述中正确的是OA、C程序中注释部分可以出现在程序中任意合适的地方B、花括号“”和“”只能作为函数体的定界符C、构成C程序的基本单位是函数,所有函数名都可以由用户命名D、分号是C语句之间的分隔符,不是语句的一部分【答案】A【解析】在C程序中/*/表示注释部分,注释只是让阅读程序的人更容易理解程序,对编译和运行不起作用,可以加在程序中任何位置,选项A)正确;花括号“”和“”不仅可以作为函数体的定界符,还可以构成复合语句,选项B)错误;系统提供的函数和main函数不能由用户命名,选项C)错误;所有的C语句都以分号结尾,选项D)错误。34、在说明一个结构体变量时系统分配给它的存储空间是。A、该结构体中第一个成员所需存储空间B、该结构体中最后一个成员所需存储空间C、该结构体中占用最大存储空间的成员所需存储空间【解析】两个不同类型的运算要转化成同类型的转换从低到高char->float->short>int->double27、以下关于排序算法的叙述中,正确的是oA、冒泡排序法中,元素的交换次数与元素的比较次数一定相同B、冒泡排序法中,元素的交换次数不少于元素的比较次数C、简单选择排序中,关键字相同的记录在排序前后的相对位置一定不变D、简单选择排序中,关键字相同的记录在排序前后的相对位置可能交换【答案】D【解析】本题考查算法方面的基础知识。冒泡排序法的基本思路是:将相邻位置的关键字进行比较,若为逆序则交换之。重复该过程,直到序列已排好序。显然,在这个过程中,元素间的比较次数应大于等于交换次数。简单选择排序的思路是:第一趟在n个记录中选取最小记录,将其与序列的第一个元素交换,第二趟在展1个记录中选取最小记录,将其与序列的第二个元素交换,第i趟在n-i+l个记录中选取最小的记录,将其与序列的第i个元素交换,直到序列的第n个元素为止。在这个过程中,关键字相同的两个记录在排序前后的相对位置可能发生变化。例如,序列为(30,30,12)时,选择排序法需要将第一个元素30与最后一个元素12进行交换,这样就使得两个30的相对位置改变了。28、在C语言中,字符型数据在内存中以()形式存放。A、补码B、ASCII码C、反码D、原码【答案】B29、判断两个字符串是否相等,正确的表达方式是oAxwhile(sl=s2)B、while(sl=s2)C、while(strcmp(sl,s2)=0)Dwhile(strcmp(sl,s2)=0)【答案】C30、C语言可执行程序从什么地方开始执行?()A、程序中第一条可执行语句B、程序中第一个函数C、程序中的main。函数D、包含文件中的第一个函数【答案】Cx=m2+n*ab+l2;printf(*%fn*,x);A、27.OOOOOOB、27.500000C、28.000000D、28.500000【答案】A39、以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能4defineMIN-2147463647intfindmax(intx,intn)(inti,max;for(i=0;i<n;i+)(max=MIN;if(max<xi)max=xi;returnmax;造成错误的原因是。A、定义语句inti,max中max未赋值B、赋值语句max=MIN;中,不应该给max赋MlN值C、语句if(maVi)max=xi;中判断条件设置错误D、赋值语句InaX=MIN;放错了位置【答案】D40、有以下程序structstucharname10;intnum;intscore;D、该结构体中所有成员所需存储空间的总和【答案】D35、有以下程序#definef(x)(x*x)main()intil,i2;il=f(8)f(4);i2=f(4+4)f(2+2);printf(*%d,%dn*,i1,i2);)程序运行后的输出结果是。A、 64,28B、4,4C、4,3D、64,64【答案】C36、在循环结构中可以使得同一组语句一次也不执行。A、当型循环B、直到型循环C、都不能实现D、do-while语句【答案】A37、宏定义用于将一个标识符定义为一个As常量B、字符串C、整数D、长整数【答案】B【解析】宏定义用于将一个标识符定义为一个字符串38、下列程序的输出结果为0main()intm=7,n=4;floata=38.4,b=6.4,x;C、算术表达式D、任意表达式【答案】D44、有如下程序#include<stdio.h>voidmain()(intx=23;do(printfC%d*,x);)while(!x);该程序的执行结果是0A、321B、23C、不输出任何内容D、陷入死循环【答案】B45、有如下程序段int*p,a=10,b=l;p=&a;a=*p+b;执行该程序段后,a的值为。A、12B、11C、10D、编译出错【答案】B46、能正确表示"当X的取值在1,10或200,210范围内为真,否则为假的表达式是OA、(x>=l)&&(x<=10)&&(x>=200)&&(x<=210)B、(x>=l)II(x<=10)I(x>=200)I(x<=210)C、(x>=l)M(x<=10)II(x>=200)&&(x<=210)D、(x>=l)11(x<=10)U(x>=200)(x<=210)【答案】Cmain()structstus5=*yangsan*,20041,703,*lisiguo*,20042,580,*wangyin*,20043,680,*sundan*,20044,550,*penghua*,20045,537,*p5,*t;inti,j;for(i=0;i<5;i+)pi=½si;for(i=0;i<4;i+)for(j=i+l;j<5;j+)if(pi->score>pj->scoi'e)(t=pi;pi=pj;pj=t;)printf(“5d%dn*,sl.score,pl->score);)执行后输出结果是OA、550550B、 680680C、 580550D、 580680【答案】C41、复合语句应用()括起来。A、小括号B、方括号C、大括号D、尖括号【答案】C42、有如下程序段int*p,a=l,b=2;P=&b;a=*p+a;执行该程序段后,a的值为。A、2B、3C、4D、编译出错【答案】B43、在C的if语句中,可用作条件的表达式是oA、关系表达式B、逻辑表达式【解析】根据C语言运算符的优先级,&&要高于II,所以先算“与”再算“或”,符合题意。C选项中,当X取值在1,10时,表达式(x>=l)&&(XV=IO)为真,又因为接下来是或逻辑运算,符故后面的表达式无需判断,整个表达式即为真。47、对二维数组的正确定义是_A、inta=1,2,3,4,5,6);B、inta2=1,2,3,4,5,6;Cxinta3=1,2,3,4,5,6);D、inta2,3=1,2,3,4,5,6);【答案】C48、若某计算机字长为32位,内存容量为2gb,按字编址,则可寻址范围为oAs1024MBB、IGBC、512MBD、2GB1答案】C【解析】内存容量2GB=2*1024*1024*1024*8位,按字编址时,存储单元的个数为2*1024*1024*1024*8/32=512*1024*1024,即可寻址范围为512MB049、判断字符串a和b是否相等,应当使用。A、 if(a=b)B、 if(a=b)C、if(strcmp(a,b)D、if(strcmp(a,b)=0)【答案】D50、下列叙述中错误的是oA、计赛机不能直接执行用C语言编写的源程序B、C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件C、后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件D、后缀为.obj和.exe的二进制文件都可以直接运行【答案】I)【解析】C源程序经过程序编译之后生成一个后缀为“.obj”的二进制文件(称为目标文件),然后由称为“连接程序”的软件包文件与C语言提供的各种库函数连接起来生成一个后缀为“.exe”的可运行文件。elseif(x=-0)y=O;elsey=-l;D、y=O;if(x>=O)if(x>=O)y=l;elsey=-l;【答案】B3、main()intx=1,a=0,b=O;switch(x)case0:b+;case 1: a+;case 2: a+;b+;printf("a=%d,b=,a,b);该程序的输出结果是()A、2,1B、1,1C、1,0D、2,2【答案】A4、下列C语言程序段中关于WhiIe循环体正确的说法是inti=l;while(5)(i+;if(i>3)break;A、三次循环B、四次循环C、五次循环D、六次循环【答案】A5、以下有关function过程的说法中,正确的是。A、函数名在过程中只能被赋值一次B、如果在函数体内没有给函数名赋值,则该函数无返回值计算机C语言期末预测卷(二)(总分100分.考试时长60分钟题号一总分阅卷人分值100100得分考生应检查“答题卡”正反两面.如果发现“答题卡”字迹模糊,行列歪斜或单而缺印等现象,要及时向监考员报告。作答时须保持答题卡整洁,不得破损、折皱、沾水(汗考试结束前要离开考场的考生须先按答题卡、试卷、草稿纸从上到下的顺序平放在桌面上,再举手提出离场。一、单项选择题(每小题2分,共100分)1、串是任意有限个(46)OA、符号构成的集合B、字符构成的序列C、字符构成的集合D、符号构成的序列【答案】B【解析】本题考查串的定义和特点。串是由零个或多个字符组成的有限序列。串中的内容可以是字母、数字或其他字符,串中字符的个数就是串的长度,如果没有字符,则是空串,其长度为零。2、与"y=(x>0?l:xV0?T:0)”;的功能相同的if语句是。A、if(x>0)y=l;elseif(x<0)y=l;elsey=0;B、if(x)if(x>O)y=l;elseif(x<0)y=-l:elsey=0;C、y=-lif(x)if(x>O)y=l;9、下面不能正确进行字符串赋值操作的语句是oA、chars5="ABCDE"B、chars5='A','B','C','D','E'C、char*s;s="ABCDEF”;D、char*s;scanf(*%s*,s);【答案】A10、设a、b和、C都是int型变量,且a=3、b=4、c=5,则下面的表达式中,值为0的表达式为()A、'a'&&'b'B、a<=bC、aIlb+c&&bcD、!(a-b)&&(!cIl1)【答案】DIk有如下函数定义;voidfunc(inta,int&b)a+;b+;若执行代码段:intx=0,y=l;func(x,y);则变量X和y的值分别是oA、0和1B、1和1C、0和2D、1和2【答案】C【解析】本题考查的知识点是:函数参数的传递方式。C的默认参数传递方式是传值,即将实参值的副本传递(拷贝)给被调用函数的形参。如果需要传地址,可通过传递指针、引用或数组类型的参数来实现。传值时,对形参的改变不会影响到实参;而传地址,则会同时改变实参。本题中形参a是普通参数,即传值调用,函数中对a增1不会影响到实参X的值;而形参b是引用,即传址调用,函数中对b增1同时也改变了实参y的值(y也增1了)。故最终结果是0和2,应该选择C。12、一个汉字的内码长度为2字节,其每个字节的最高二进制位的值分别为oA、0,0C、如果在定义函数时没有说明函数的类型,则该函数是无类型的D、执行函数过程中的EXitFUnCtion语句,将退出该函数,返回到调用点【答案】D6、以下选项中,与k=n+完全等价的表达式是oA、 k=n,n=n+lB、 n=n+l,k=nC、 k=+nD、 k+=n+l【答案】A【解析】k=n+的意思是先将n的值赋给k,然后n的值再加1,选项A)符合题意;选项B)和C)是先使n的值加1,然后再赋值给k;选项D)等价于k=k+(n+l).7、以下程序输出的结果为_main()char*alpha6=*abcd*,"efgh","ijkl","mnop","qrst","uvwx"char*p;inti;p=alpha;for(i=0;i<4;i+)printf(*%s*,pi):)a、AbcdefghijklB、 ABCDC、ABCDEFGHIJK1.NfNOPD、AEIM【答案】C【解析】alphaO指向“ABCD”的首地址;alpha"指向aEFGHw的首地址;alpha2指向“IJK1.”的首地址,依此类推。当执行p=alpha后,P指向指针数组alpha的首地址。for循环中输出了4个字符串。8、已知英文字母m的ascii码值为6dh,那么,码值为4dh的字母是。A、NB、MC、PD、1.【答案】B【解析】因为6DH和4DH相差32,故4DH是M的ASCII码。Char型指针变量,所指向的内存单元所占用的字节数是不同的,因而不能将字符指针变量P的值赋给整型指针变量s。15、程序段如下intk=0;while(k+<=2)printf(*%dn*,k);则执行结果是OA、1B、2C、0D、无结果【答案】A16、设i,j,k均为int型变量,则执行完下面的for循环后,k的值为for(i=0,j=10ji<=j;i+>j)k=i+j;A、12B、10C、11D、9【答案】B17、所有在函数中定义的变量及函数的形式参数,都属于.A、全局变量B、局部变量C、静态变量D、常量【答案】B【解析】全局变量是在所有函数定义、类定义和程序块之外声明的变量,局部变量是在某个函数定义、类定义或程序块之内声明的变量。用关键字StatiC声明的局部变量称为静态变量,故正确答案为B项。18下面程序段的运行结果是.chara7=wabcdef*;charb4="abc"strcpy(a,b);printf(*%cz,a5);A、空格B、0C、eD、f【答案】D19、设有以下语句,其中不是对a数组元素的正确引用的是:(其中0WiV6)inta6=11,22,33,44,55,66),*m=a;B、1,1C、1,OD、O,1【答案】B【解析】汉字的内码=汉字的国标码+8080H,所以汉字内码的最高位为1。13、下列定义数组的语句中不正确的是_A、staticinta23=1,2,3,4,5,6);B、staticinta23=1,4,5;C、 staticinta3=1,4);D、staticinta=1,2,3,4,5,6;【答案】D14、请选出正确的程序段A、 int*p;SCanf("%d”,p):B、 int*s,k;*s=100;C、 int*s,k;char*p,c;S=&k;p=&c;*p=,a,;D、 int*s,k;char*p,e;S=&k;p=&c;s=p;*s=l;【答案】C【解析】本题的选项A)和B)犯了一个同样的错误,即指针变量P定义后并没有指向具体的变量。也就是说,P中没有确定的地址值,它的值是不可预见的,所指向的单元也是不可预见的,因此不能进行赋值操作。另外,在选项D)中,S是int型指针变量,p是D、C语句是完成某种程序功能的最小单位【答案】D24、以下的for循环次数是多少次?for(x=0,y=0;(y!=123)|(x<4)x+);A、执行3次B、执行4次C、循环次数不定D、是无限循环【答案】D25、若有如下定义语句:inta10三1,2,3,4,5,6,7,8,9,10;则对数组正确的引用是Asa10B、 aa35C、 aa9D、aa4+4【答案】D26、vc6.0中int类型变量所占字节数是°A、1B、2C、3D、4【答案】D27、数组inta34;其中错误的数组引用为。A、a00B、al3C、a33D、 a0【答案】C28、结构化程序流程图中一般包括三种基本结构,下述结构中哪一种不属于基本结构()A、顺序结构B、条件结构C、选择结构D、嵌套结构【答案】D【解析】结构化程序流程图包括三种基本结构:顺序结构、条件结构和选择结构。29、下列哪个是C语言的有效标识符A、&(*(a+i)B、*(ai)C、 miD、 ai【答案】A20、设有以下语句typedefstructsintg;charh;t;则下面叙述中正确的是。A、可用S定义结构体变量B、可以用T定义结构体变量C、S是struct类型的变量D、T是StrUCtS类型的变量【答案】A21、以下关于long、int和Short类型数据占用内存大小的叙述中正确的是,A、均占4个字节B、根据数据的大小来决定所占内存的字节数C、由用户自己定义D、由C语言编译系统决定【答案】D22、有如下程序inta10=1,2,3,4,5,6,7,8,9,10),*p=a;则数值为9的表达式是As*P+9B、 *(P+8)C、 *P+=9D、P+8【答案】B23、以下叙述正确的是。A、在C程序中,主函数必须位于程序的最前面B、在C程序中,一行只能写一条语句C、C程序的基本结构是程序行A、实参可以是常量、变量、表达式B、形参可以是常量、变量、表达式C、实参可以为任意类型D、形参应与其对应的实参类型一致【答案】B33、若有定义:int*p3;,则以下叙述中正确的是OA、定义了一个类型为int的指针变量p,该变量具有三个指针B、定义了一个指针数组p,该数组含有三个元素,每个元素都是类型为int的指针C、定义了一个名为*p的整型数组,该数组含有三个int类型元素D、定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素【答案】B34、当定义一个结构体变量时,系统分配给它的内存是oA、各成员所需内存量的总和B、结构中第一个成员所需内存量C、结构中最后一个成员所需内存量D、成员中占内存量最大者所需的容量【答案】A35、有以下程序#inctude<stdio.h>include<stdlib.h>main()int*a,*b,*c;a=b=c=(int*)malloc(sizeof(int);*a=l:*b=2,*c=3;a=b;Printf("%d,%d,%dn”,*a,*b,*c);程序运行后的输出结果是。A、3,3,3B、2,2,3C、1,2,3D、1,1,3【答案】AA、_NolB、No.1C、12345D、int【答案】A【解析】标识符是一个以字母或下划线开始的,由字母、下划线和数字组成的字符串,标识符不能与任意关键字同名。30、已有文本文件1.tXt.,其中的内容为:IiaOningShenyang!。以下程序中,文件t.txt己正确为"读”而打开,由文件指针fr指向该文件,则程序的输出结果是o#include<stdio.h>main()file*fr;chars80;fgets(s,6,fr);Printf("%sn”,s);fclose(fr);)A、shenyangB、1iaoningshenyangC、IiaonD、Iiaoni【答案】C31、有以下程序段:Charcl,c2,c3;scanf(*%c%c%c*,&cl,&c2,&c3);若要给cl>C2、c3分别输入字母abe,则以下对输入形式的描述正确的是oA、字母ABC之间可以用空格分隔B、字母ABC之间不能有分隔符C、字母ABC之间可以用回车符分隔D、字母ABC之间可以用Tab键分隔【答案】B【解析】在使用scanf函数时要注意,在用“枇"格式输入字符时,分隔符(空格符、制表符(Tab键)、回车符)和转义字符都将作为有效字符进行输入。题目中要求以字符形式输入三个数据,空格、回车符、Tab键均会被视为有效字符赋给对应变量,所以字母ABC之间不能有分隔符,B选项正确。32、在C语言中以下说法不正确的是0D、 45.O【答案】B39、下列描述中正确的是。A、标识符首字符的后面可以跟数字B、标识符不区分大小写C、复合数据类型变量包括布尔型、字符型和浮点型D、数组属于基本数据类型【答案】A【解析】选项B错误,c语言标识符是区分大小写的:选项C错误,且合数据类型应该包括数组、类和接口;选项D错误,数组应该属于复合数据类型;选项A正确,标识符首字符的后面可以跟数字、字母、下划线和美元符号。40、对以下定义的表述中,正确的是structnode(intnum;charname10;)stud;A、stud是一个结构体变量B、SlUd是一个结构体类型C、node是一个结构体数据D、node是一个结构体变量【答案】A【解析】node结构体变量。41、以下叙述中不正确的是cA、在C程序中,逗号运算符的优先级最低B、在C程序中,APH和aph是两个不同的变量C、若a和b类型相同,在计算赋值表达式a=b后,b中的值将放入a中,而b中的值不变D、当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值【答案】D【解析】在C语言所有的运算符中,逗号运算符的优先级最低。C语言中区分大小写,所以APH和aph是两个不同的变量。赋值表达式a=b表示将b的赋付给a,而b本身的值保持不变;通过键盘可以向计算机输入允许的任何类型的数据。选项D)中当从键盘输36、若有以下程序ftinclude<stdio.h>main()inta=6,b=0,c=0;for(;a;)b+=a;a-=+c;)printf("%d,%d,%dn”,a,b,c);)则程序的输出结果是OA、0,14,3B、1,14,3C、0,18,3D、0,14,6【答案】A【解析】循环执行3次,使a为0,循环结束,最终abC分别为0

    注意事项

    本文(东华理工大学计算机C语言期末预测卷.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开