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

    黑龙江八一农垦大学C语言程序设计期末(含六卷).docx

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

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

    黑龙江八一农垦大学C语言程序设计期末(含六卷).docx

    D、3【答案】B5、若i、j已定义成int型,则下列程序段中内循环体的总执行次数是for(i=6;i>0;i)for(j=0;j<4;j+)A、20氏24C、25D、30【答案】B6、若各选项中所有变量已正确定义,函数fun中通过retum语句返回一个函数值,以下选项中错误的程序是OAxmain()x=fn(2,10);floatfun(intA,intb)Bsfloatfun(intA,intb)main()x=fun(i,j);Csfloatfun(intint);mainOx=fun(2,10);floatfun(intA,intb)D、main()(floatfun(inti,intj);x=fun(i,j);floatfun(intA,intb);答案A7、以下不能正确计算代数式值的C语言表达式是。A、l3*sin(l2)*sin(l2)B、sin(0.5)*sin(0.5)/3C、pow(sin(0.5),2)/3D、1/3.0*pow(sin(1.0/2),2)【答案】A8、有如下定义语句:inta=1,2,3,4,5,则对语句int*p=a;正确的描述是:OAs语句int*p=a;定义不正确B、语句int*p=a;初始化变量P,使其指向数组对象a的第一个元素C、语句int*p=a;是把a0的值赋给变量PD、语句int*p=a;是把al的值赋给变量P【答案】B9、以下关于C语言的叙述中正确的是。A、C语言中的注释不可以夹在变量名或关键字的中间B、C语言中的变量可以再使用之前的任何位置进行定义C语言程序设计期末(一)(总分100分.考试时长90分钟)一、单项选择题(每小题2分,共40分)1、下列字符中,ascii码值最小的是A、aB、AC、XD、Y【答案】B【解析】a、A、x、Y对应的ASCIl码值分别是OooIll0、0001100.1000111.1001101,故正确答案为B。2、inta=l,b=2tc=3;if(a>c)b=a;a=c;c=b;则C的值为oA、1B、2C、3D、不一定【答案】B3、C语言的基本数据类型包括oA、字符型和数值型B、字符型和逻辑型C、整型和实型D、指针型和数据型答案A4、假定所有变量均已正确定义,下列程序段运行后X的值是()。kl=l;k2=2;k3=3;x=15;if(!kl)X;elseif(k2)x=4;elsex=3;A、14B、4C、15就得到小写字母,所以选项B和C是正确的。选项A中(c>A')%26可以求出变量C中的字母与字母A相差几位,那么小写字母a的ASCll码向后移动相差的位数就是对应的小写字母,所以选项A也是正确的。14、若有定义"floata=25,b.*p二&b;",则下列对赋值语句"*p=a;"和"p4aj的正确解释为()。A、两个语句都是将变量a的值赋予变量PB、*p=a是使P指向变量a,而P=&a是将变量的值赋予变量指针PC、*p=a是将变量a的值赋予变量b,而&a是使P指向变量aD、两个语句都是使P指向变量a【答案】C15、下面程序的输出结果为omain()(inta,b;b=(a=3*5,a*4,a*5);Printf(mb);A、60B、75Cs65D、无确定值【答案】B16、下面程序的运行结果是onain()(inti,j,a=0;for(i=0;i<2;i+)(for(j=0;j<4;j+)if(j%2)break;a+;)a+:)printfC,%dn",a);)A、4B、5C、6C、在C语言算术的书写中,运算符两侧的运算数类型必须一致D、C语言的数值常量中夹带空格不影响常量值的正确表示【答案】B【解析】C语言中的注释"/*/“或者"“可以放在程序中的任何位置,但是不可以加在变量名或者关键字中间,会导致该变量名和关键字不被C语言识别,选项A)正确;C语言中变量的定义必须在变量使用之前,而且定义时该变量的作用域一定要能涵盖该变量的使用,所以定义的位置不是任意的,选项B)错误;算术运算符两侧的运算数类型可以不一致,如加减乘除运算符都没有对运算数类型进行限制,如果不一致,系统会对其进行相应的数据类型转换,选项C)错误;空格一般作为分隔符使用,数值常量中夹带空格就会把该数值常量分作两部分:123和123是不一样的,选项D)错误;答案选A)。知识模块:数据类型、运算符与表达式10、以下能正确定义字符串的语句是oA、charstr=,064,;B、 charstr="kx43"C、 charstr=";D、charstr=,'0";【答案】D11、若有以下语句,则正确的描述是Chara=,'toyou"charb='t,'o',y','o','u/;A、a数组和b数组的长度相同B、a数组长度小于b数组长度C、a数组长度大于b数组长度D、a数组等价于b数组【答案】C12、以下正确的函数头定义形式是oA、 doublefun(intx,inty)B、 doublefun(intx;inty)C、 doublefun(intx,inty):D、 doublefun(intx,y);【答案】A【解析】函数的形式参数之间以逗号“,”隔开,且每个变量均需说明其数据类型,圆括号后面不能有分号。只有选项A)符合要求。13、已知大写字母a的ascii码是65,小写字母a的ascii码是97,以下不能将变量C中的大写字母转换为对应小写字母的语句是oA、c=(c-',)%26+,a,B、c=c+32C、c=c-'A,+'a'D、c=('A,+c)%26-,a,【答案】D【解析】由97-65=32可知大写字母对应的小写字母之间相差32,所以将大写字母加上32D、aa+1【答案】C20、有以下程序structstu(charname10;intnum;intscore;main()(structstus5=',yangsan",20041,703,'lisiguon,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->score)(t=pi;pi=pLj;pj=t;)printf("5d%dn",sl.score,p1->score);)执行后输出结果是。A、550550B、 680680C、 580550D、 580680【答案】C二、判断题(每小题2分,共20分)()1、关于C语言C语言是结构化程序设计语言。答案正确()2、一个变量在内存中占据一定的存储单元【答案】正确()3、在if语句中,else前一个语句可不加D、7答案A17、以下对结构体类型变量的定义中,不正确的是。A、 typedefstructaaintn;floatm;AA;AAtdl;B、 defineAstructaaintn:floatm;)tdl;C、 structintn;floatm;aa;structaatdl;D、 structintn:floatm,tdl;【答案】C18、有以下程序#includCVStdio.h>main()ints,t,a=10;doubleb=6;s=sizeof(a);t=sizeof(b);printf(n%d,%dnn,s,t);)在vc6平台上编译运行,程序运行后的输出结果是oA、2,4B、4,4C、4,8D、10,6【答案】C19、若有定义:intaa8;则以下表达式中不能代表数组元aal的地址的是A、&aa0+lB、 &aalC、 &aa0+I2、编写一个函数,从传人的m个字符中找出最长的一个字符串,并通过形参指针max传回;该串地址(用*作为结束输入的标志)。注意:部分源程序给出如下。请勿改动main。,函数和其他函数中的任何内容,仅在函数ProC()的花括号中填人所编写的若干语句。试j题程序:char*proc(char(*a)81,intnum)IIvoidmain()charss1081,*max;intn,i=0;Printf("输入若干个字符串:");gets(ssi);puts(ssi);whiIe(!Strcmp(ssi,"*)=0)(i+;gets(ssei);puts(ssi);)n=i;max=proe(ss,n);printf(,nmax=%sn",max);(本题14分)答案char*proc(char(*a)81,intm)(char*max;inti=0:max=aO:for(i=0;i<m;i+)if(strlen(max)Vstrlen(ai)找出最长的字符串max=ai;Ireturnmax;返回最长字符串的地址)3、题目描述输入一组学生的成绩,按照成绩降序输出成绩表。如有相同成绩,较小的学号排位靠前;输入输入格式为每行两个数值,学号N为10位数字,成绩S取值为整数(0S100)读取输:入直到输入结束(数据总量不超过50行,且不会出现重复的学号)输出【答案】错误()4、循环语句不能嵌套使用。【答案】错误()5、C语言约定'0'计入字符串的长度。【答案】错误()6、要使用标准输入、输出函数,正常情况下应该在文件的开头加上以下内容:#includeVgraphics.h>或#include"graphics.h"0【答案】错误()7、数组名能与其它变量名相同。数组名后是用方括号括起来的常量表达式,不能用圆括号。【答案】正确()8、函数形参的存储单元是动态分配的。【答案】正确()9、以“r”方式打开一个文件时,文件指针指向文件首。答案正确()10、文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件。【答案】正确三、编程题(每小题分,共40分)1、从键盘输入n和a的值,计算a+aa+aaa+.+aa.a(n个a)的值。(本题10分)【答案】#includevoidmainO(inti,a,n;longintsum=0,st=O;Printf("请输a和n:");scanf("%d%dw,&a,&n);for(i=l;i<=n;i+)(st=st+a;sum=sum+st;a=a*10;printf("%ldn*,sum);t.score=->score;->score=y->score;y->score=t.score;)voidbubbIeSort(STUa,intn)for(inti=1;i<n;i+)for(intj=0;j<n-i;j+)if(aj.score<aj+1.score)swap(aj,&aj+1);if(aj.score=aj+1.score)if(strcmp(aj.no,aj+1.no)>0)swap(aj,&aj+1);)输出格式为每行两个数值,学号N之后有一个空格,成绩值的输出宽度占3个位置样例输入20#04057820#04268020#(MO26120#03779520#042780样例输出20#03779520#04268020#04278020#04057820#040261(本题16分)【答案】ftinclude<stdio.h>ttinclude<string.h>constintN=50+5;typedcfstructstudentcharno15;intscore;)STU;voidswap(STU*,STU*);voidbubbleSort(STU,int);intmain()STUstuN;intn=0;while(scanf("%s%dn,stun.no,&stun.score)!=EOF)n+;bubbleSort(stu,n);for(inti=0;i<n;i+)printf(n%s%3dn",stui.no,stui.score);return;Ivoidswap(STU*x,STU*y)STUt;strcpy(t.no,->no);strcpy(->no,y->no);strcpy(y->no,t.no);A、执行3次B、执行4次C、循环次数不定D、是无限循环【答案】D6、下列函数的功能是ointfunl(char*X)(char*y=x;while(*y+);return(y-l);)A、求字符串的长度B、比较两个字符串的大小C、将字符串X复制到字符串YD、将字符串X连接到字符串Y后面【答案】A7、该语句打印结果为(每个d后都有空格)printf("%d",Printf(M%d”,Printf('%d",43);A、 4321B、 434343C、 4332D、 4321【答案】C8、在C语言中,引用数组元素时,其数组下标的数据类型允许是A、整型表达式B、整型常量C、整型常量或整型表达式D、任何类型的表达式【答案】C【解析】在C语言中,引用数组元素时,其数组下标的数据类型可以是整型常量,也可以是整型表达式。9、数据是信息的符号表示;信息是数据的内涵,是数据的。A、语法解释B、语义解释C、语句说明D、用法说明【答案】B10、判断两个字符串是否相等,正确的表达方式是,OA、 while(sl=s2)Bswhile(sl=s2)C语言程序设计期末(二)(总分100分.考试时长90分钟一、单项选择题(每小题2分,共40分)1、运行下面程序时,若从键盘输入5后回车,则程序的输出结果是oA、7B、6C、5D、4【答案】B2、设C语言中,一个int型数据在内存中占2个字节,则UnSignCdint型数据的取值范围为OA、0-255B、 0-32767C、0-65535D、0-2147483647【答案】C3、使下列程序段输出”123,456,78",键盘输入数据,正确的输入是。inti,j,kscanf("%d3d%d,i,ftj.ftk);printf("%dddn*,i,j,k);A、12345678B、123,456,78C、123,45678D、123,*45678【答案】C4、以下if语句书写正确的是。A、 if(x=0;)printf(l,%f",x);elseprintf("%f",-x);B、if(x>O)x=x+l;printf("%f",x);elseprintf(w%f",-);C、if(x>O);x=x+l;printf("%fff,x);elseprintf("%f",-);D、if(x>O)x=x+l;printf("%fn,x)elseprintf(,%f"t-);【答案】B5、以下的for循环次数是多少次?for(x=0,y=0;(y!=123)(x<4);x+);intx,y;scanfC*%d",Ax);y=x>12?x+10:-12;printf(*%dnff,y);)A、3B、22C、1D、O【答案】D16、有如下程序#defineN3defineMN+l#defineNUM2*M+1mainO(inti;for(i=l;i<=NUM;i+)printf("%d,i);)该程序中的for循环执行的次数是oA、5R、8C、7D、6【答案】B17、C语言中,定义结构体的保留字是一。A、unionB、 structC、 enumD、 typedef【答案】B18、下面程序的功能是计算1至50中是7的倍数的数值之和,请填空:main()(inti,sum=0;for(i=l;i<=50;i+)if()sum+=i;printfC,%d",sum);A、i%7=0B、 i%7=0C、while(strcmp(si,s2)=0)D、while(strcmp(si,s2)=0)【答案】C11、若有以下定义:inta=1,2,3,4,5,6,7);charcl=,b,tc2='2,;则数值不为2的表达式是OA、alB.,d'-clC、 a,3,-c2D、 c2-0【答案】D【解析】本题考查数组的定义、初始化及其引用,以及对字符ASCll码值的熟悉程度。解本题的关键在于熟悉字符的ASCII码值。字符在进行数学运算时取其ASCII码值,其中'b',的ASCn码值为98,'d'的ASCll码值为100,字符'2'的ASCIl码值为50。根据以上知识,可知D)选项中表达式C2-0的值为50。12、有如下函数调用语句func(rec1,rec2+rec3,(rec4.rec5);该函数调用语句中,含有的实参个数是。A、3B、4C、5D、2【答案】A13、以下选项中合法的字符常量是oA、"B"B.,010,C、68D、D【答案】B14、二维数组mi,j的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i范围从0到4,列下标,i的范围从0到5。m按行存储时元素m3,5的起始地址与m按列存储时元素()的起始地址相同。A、 M2,4)B、 M3,4)C、 M3,5D、 M4,4)【答案】B【解析】M按行存储时元素M3,5位于第4行第6列(下标从0开始),也就是处在第3X6+6=24个存储位置,设与它存储的起始位置相同的,按列存储时的元素行下标为X,列下标为y,则有yX5+x+l=24,解得x=3,y=4,即选项B是正确答案。15、若运行时给变量X输入12,则以下程序的运行结果是。main()二、判断题(每小题2分,共20分)()1、在定义一个共用体变量时,系统分配给她的存储空间是该共用体中占有最大存储;空间的成员所需的存储空间。【答案】错误()2、在C语言中,逗号既可以作为运算符,也可以作为分隔符。【答案】正确()3、同一个SwitCh语句中的所有CaSe后面的常量表达式的值都必须互不相同。【答案】正确()4、若变量已正确定义,执行以下程序段,输入0或者负数时,循环结束。total=0;scanf(",&score);while(score>0)total=total+score;scanf("%d",&score);I【答案】正确()5、宏定义用宏名代替一个字符串,在替换时,只是作简单的替换,不作语法检查。【答案】正确()6、Inain函数也是C语言的关键字()【答案】错误()7、指针数组的每个元素都是一个指针变量【答案】正确()8、可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数。【答案】正确()9、有如下程序段:inti,j=2,k,*p;&i;k=*p+j;这里出现的两个号,含义是一样的。I【答案】错误()10、C语言程序是从源文件的第一条语句开始执行的【答案】错误C、 i%7!=0D、 i%7=l【答案】A19、下列一维数组定义正确的是一。A、 x=5;intnumx;B、 constihtx=5;floatnumx;C、 constfloatx=5;intnumx;D、 constintx:x=5:intnumx;【答案】B【解析】数组的下标不能是变量,不能为非整数,定义为常量的标识符不能再用来赋值,只能在定义时初始化。20、有以下程序structs(intn;inta20:voidf(int*a,intn)(inti;for(i=0;i<n-l;i+)ai+=i;)main()(inti;structss=10,(2,3,1,6,8,7,5,4,10,9;f(s.a,s.n);for(i=0;i<s.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,【答案】Achartem20;strcpy(tern,strl);strcpy(str1,str2);strcpy(str2,tern);:3、定义一个结构体变量(包括年、月、日)。编写一个函数days,计算该日期在本年中是;第几天(注意闰年问题)。由主函数将年月日传递给days函数,计算之后,将结果传回到:主函数输出。(本题16分)【答案】include<stdio.h>structDate(intday;intmonth;intyear;.、intmain()(voiddays(structDatedatel,int*q);structDatedatel;structDate*p;intn;Printf("请输入年份:");scanf(n%d",&datel.year);Printf("请输入月份:");scanf(w%d",ftdatel.month);Printf("请输入日期:");scanf("%d",&datel.day);p=&datel;days(*p,&n);*使指针指向变量n,存放计算的总天数*/printf("%d年d月%d日是该年的第%d无。n”,datel.year,datcl.month,»datel.day,n);return(0):voiddays(structDatedatel,int*q)intmonth2;三、编程题(每小题分,共40分)1、编写程序:实现求解下面的式子的结果s=l*2+2*3+3*4+20*21(本题10分)【答案】main()intm,n,sum=0;for(m=l;m<=20;m+)sum=sum+m*(m+l):printf("%s",sum);)2、编写程序:字符串排序。如下:请输入3个字符串,每个字符串以回车结束!:bat排序后的结果为:abt(本题14分)【答案】ttinclude<stdio.h>ttinclude<stdlib.h>#include<string.h>voidswap(char*str1,char*str2);intmain()Icharstrl20,str220,str320;Printf("请输入3个字符串,每个字符串以回车结束!:n");fgets(strl,(sizeofstrl/sizeofstrl0),stdin);fgets(str2,(sizeofstr2/sizeofstr20),stdin);fgets(str3,(sizeofstr3/sizeofstr30).stdin);if(strcmp(strl,str2)>0)swap(strl,str2);if(strcmp(sti'2,str3)>0)swap(str2,str3);if(strcmp(strl,str2)>0)swap(str1,str2);Printfe1排序后的结果为:n");printf("%sn%sn%sn",strl,str2,str3);return0;Ivoidswap(char*strl,char*str2)if(datel.year%400=0(datel.year%100!=0&&datel.year0)month2=29;*判断为润年,其该年的二月为29天*/elsemonth2=28;switch(datel.month)(casecase1:*q=datcl.day;break;2:*q=31+datel.day;break;casecasecasecasecasecasecasecasecasecase)3:*q=month2+31+datel.day;break;4:*q=31*2+month2+datel.day;break;5:*q=31*2+month2+30+datel.day;break;6:*q=31*3+month2+30+datel.day;break;7:*q=31*3+30*2+month2+datel.day;break;8:*q=31*4+30*2+month2+datel.day:break;9:*q=5*31+30*2+month2+datel.day;break;10:*q=5*31+3*30+month2+datel.day;break;11:*q=6*31+3*30+month2+datel.day;break;12:*q=6*31+4*30+month2+datel.day;/把计算的总天数赋值给*p/case1;case2:a+=2;default:a+=3;)printf("%d",a);)A、19R、1C、6D、8【答案】A5、要求通过WhiIe循环不断读人字符,当读入字母n时结束循环,若变量已正确定义,下列正确的程序段是OA、whiIe(ch=getcharO)!=,N,)printf(n%c”、ch);Bswhile(ch=getcharO!=,N')printf(,cw,ch);C,while(ch=getchar()=,N,)printf(n%c",ch);D、while(chgetchar()=,N,)printf(w%c",ch);【答案】A6、对于Void类型函数,调用时不可作为()。A、自定义函数体中的语句R、循环体里的语句C、if语句的成分语句D、表达式【答案】D7、将十进制数35转换成二进制数为一A、 100OllB、 100llOC、 IlOOOlD、 IlOOll【答案】A8、定义如下变量和数组:intk,a33=lt2,3,4,5,6,7,8,9);则下面语句的输出结果是ofor(k=0;k<3;k+)printf("%d*,ak2-k);A、357B、369Cs159E、 147【答案】A9、在C语言中,char型数据在内存中的存储形式是。A、补码C语言程序设计期末(三)(总分100分.考试时长90分钟一、单项选择题(每小题2分,共40分)1、若变量均已正确定义并赋值,以下合法的c语言赋值语句是oA、x=y=5;B、x=n%2.5;C、x+n=l;D、x=5=4+l【答案】A2、以下选项中,合法的一组C语言数值常量是。A、028.5e-3-OxfB、12.0Xa234.5e0C、 .1774cl.5OabcD、 0x8A10,0003.e5【答案】B3、已知i,j,k为int型变量,若从键盘输入:1,2,3V回车>,使i的值为l,j的值为2.k的值为3,以下选项中正确的输入语句是。A、 SCanf("%2d%2d%2d”B、 scanf(rt%d_%d_%dwC、 scanf(w%d,%d,%dM,&i,&j,&k);D、 scanf(i=%dJ=%d,k=%d【答案】C4、下列程序的输出结果是。main()(inta=0,i;for(i=l;i<5;i+)(switch(i)case0:case3:a+=l;【解析】C语言规定,if(表达式)语句中的“表达式可以是关系表达式、逻辑表达式,甚至;是数值表达式,允许函数调用,但调用函数的返回值必须符合要求,因此选项ABC错;误,选项D正确;本题答案为D15、有以下程序intfl(intx,inty)(returnx>y?x:y;intf2(intx,inty)(returnx>y?y:x;main()(inta=4,b=3,c=5,d,e,f;d=fl(a,b);d=fl(d,c);e=f2(a,b):e=f2(e,c);f=a+b+c-d-e;printfC%d.%d,%dn,d,f,e);)执行后输出的结果是OA、3,4,513、5,3,4C、5,4,3D、3,5,4【答案】C16、执行下列语句后,r的值是charch=,a';intr=6;switch(ch+5)case'a,:r=r+3;case,b,:r=r+5;case*c,:r=r+5;break;default:i*/=2;A、19B、3B、反码C、原码D、ASCII码【答案】D10、以下关于字符串的叙述中正确的是OA、C语言中有字符串类型的常量和变量B、两个字符串中的字符个数相同时才能进行字符串大小的比较C、可以用关系运算符对字符串的大小进行比较D、空串一定比空格打头的字符串小【答案】DIls以下一维数组a的正确定义是.Asintn=10,an;B、intn;C、WefineSIZE10SCanf("n);intaSIZE;intan;D、inta(10);【答案】C12、下面正确的函数定义形式为oAsvoidfunO;)B、voidfun(intx;intC、voidfun()D、voidfun(intx,()【答案】C【解析】选项A函数声明与函数体之间没有分号;选项D形参之间用逗号隔开;选项D形参y没有类型。13、下列字符中,其ascii码值最大的是oA、6B、空格字符C、ZD、a【答案】D【解析】由ASCII码值表可知,其大小顺序由小到大依次是空格字符、数字符、大写英文字母、小写英文字母。14、对于if(表达式)语句,以下说法正确的是oA、“表达式”的值只能是整数值B、在“表达式”中不能调用返回整数的函数C、在“表达式”中不能含有函数调用D、“表达式”可以是算术表达式【答案】DD、intarray3;【答案】A20、有如下定义structpersoncharname9;intage;structpersonclass10="john",17,"paul",19,"mary",18,"adam",16);根据上述定义,能输出字母a的语句是°A、printf("%cn",class3.name);B、printf("%cn",class3.name0);C、printf("%cn",class4.name1):D、printf("%cn",class4.name0);【答案】B二、判断题(每小题2分,共20分)()1、宏定义是用宏名来表示一个数,在宏代换时以该数取代宏名。【答案】错误()2、CaSe后面不必有空格,紧接着是变量表达式。【答案】错误()3、对于如下的switch语句(使用break)的一般形式,其执行流程是:首先求解表达!式,如果表达式的值与某个常量表达式的值相等,则执行该常量表达式后的相应语句段;如果表达式的值与任何一个常量表达式的值都不相等,则执行default后的语句段,最后j执行break语句,跳出SWiICh语句。switch(表达式)case常量表达式1:语句段1;break;case常量表达式2:语句段2;break;case常量表达式n:语句段n;break;default:语句段n+1;break;)【答案】正确C、11D、7【答案】B【解析】考查switch语句用法。default语句是当表达式的值与任一case子句的值都不匹配时,程序执行default后面的语句。在本题中,判断switch(ch+5),其实等价于switch(,F'),而在CaSe语句中,没有一个能匹配的,所以直接执行default:r=2°17、以下对结构体变量StUI中成员age的非法引用是Qstructstudent(charname10;intage;)stul,*p;p=stul;A、stul.ageB、p->agcC、(*p).ageD、student,age【答案】D18、以下程序结果为:。voidadd()staticintx=3;x+;printf("%dl,x);)m

    注意事项

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

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




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开