2022年广西民族大学公共课《C语言》科目期末试卷A(有答案)_第1页
2022年广西民族大学公共课《C语言》科目期末试卷A(有答案)_第2页
2022年广西民族大学公共课《C语言》科目期末试卷A(有答案)_第3页
2022年广西民族大学公共课《C语言》科目期末试卷A(有答案)_第4页
2022年广西民族大学公共课《C语言》科目期末试卷A(有答案)_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2022年广西民族大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、若x=0123,则表达式(5+(int)(x))&(~2)的值是_______。2、在C语言源程序中,一个变量代表【】。3、C语言源程序的基本单位是________4、在C语言的赋值表达式中,赋值号左边必须是_______5、表达式pow(2.8,sqrt(double(x))值的数据类型为_______。6、设main函数的说明为:intmain(intargc,char*argv[]),且有命令行为:FILE1123<回车>,则argc的值是_______,argv[1]的值是_______。7、下面add函数的功能是求两个参数的和,并将和值返回调用函数。函数中错误的部分是_______,改正后为_______。voidadd(floata,floatb){floatc;c=a+b;returnc;}8、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。请填空。a+=_______;b=a-_______;a-=_______;9、已有定义inta;floatb,x;charcl,c2;为使a=3、b=6.5、x=12.6、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。10、下面程序段的运行结果是_______。inti=5;charc[6]="abcd";do{c[i]=c[i-1];}while(--i>0);puts(c);二、选择题11、下面正确的字符常量是()A."c"B."\\"C.'w'D."12、若有定义语句:inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是()。A.2.500000B.2.750000C.3.500000D.0.00000013、有定义语句inta,b;,若要通过语句scanf("%d,%d”,&a,&B.;使变量a得到数值6,变量b得到数值5,下面输入形式中错误的是()。(注:口代表空格)A.6,5<回车>B.6,囗囗5<回车>C.65<回车>D.6,<回车>5<回车>14、设有以下程序:#include<stdio.h>intmain(){charcl,c2,c3,c4,c5,c6;scanf("%c%c%c%c",&c1,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(c1);。putchar(c2);printf("%c%c\n",c5,c6);return0;}若运行时从键盘输入数据:abc<回车>defg<回车>,则输出结果是()。A.abcdB.abdeC.abefD.abfg15、若有说明:inta[3][4];,则对a数组元素的正确引用是()。A.a[3][4]B.a[1,3]C.a[i+1][0]D.a(2)(1)16、以下叙述正确的是A.在C程序中,main函数必须位于程序的最前面B.C程序的每行中只能写一条语句C.C语言本身没有输入输出语句D.在对一个C程序进行编译的过程中,可以发现注释中的拼写错误17、以下描述中正确的是()A.while、do-while、for循环中的循环体语句都至少被执行一次B.do-while循环中,while(表达式)后面的分号可以省略C.while循环体中,一定要有能使while后面表达式的值变为“假”的操作D.do-while循环中,根据情况可以省略while18、以下程序有语法性错误,有关错误原因的正确说法是()。#include<stdio.h>intmain(){intG=5,k;voidprt_char();-----k=prt_char(G);---}A.语句voidprt_char();有错,它是函数调用语句,不能用void说明B.变量名不能使用大写字母C.函数说明和函数调用语句之间有矛盾D.函数名不能使用下划线19、已有变量定义和函数调用语句:inta=25;print_value(&A.;下面函数的正确输出结果是。voidprint_value(int*x){printf("%d\n",++*x);}A.23B.24C.25D.2620、设有以下程序段:charstr[4][10]={first","second","third","fourth"),*strp[4];intn;for(n=0;n<4;n++)strp[n]=str[n];若k为int型变量且0≤k<4,则对字符串的不正确引用是()。A.strpB.str[k]C.strp[k]D.*strp21、以下程序的功能是计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值,请选择填空。#include<stdio.h>#include<math.h>floatf(float,float);intmain(){floatx,y,z,sum;scanf("%f%1%f",8.x,&y,8.z);sum=f(【】)+f(z+y,z-y);printf("sum=%fNn",sum);return(0);}floatf(floata,floatB.{floatvalue;value=a/b;return(value);}A)x-y,x+yB)x+y,x-yC)z+y,z-yD)z-y,z+y22、下面程序的功能是将字符串s中所有的字符c删除。请选择填空()。#include<stdio.h>intmain(){chars[80];inti,j;gets(s);for(i=j=0;s[i]!='\o';i++)if(s[i]!='c)[];s[j]='\o';puts(s);return0;}A)s[j++]=s[i]B)s[++j]=s[i]C)s[j]=s[];j++D)s[j]=s[i]23、下面程序段的运行结果是()。chara[7]="abcdef";charb[4]="ABC";strcpy(a,B.;printf("%c",a[5]);A.口B.\0C.eD.f(其中口表示1个空格)24、以下程序的输出是()。#include<stdio.h>intmain(){inta=5,b=8,c=3,max;max=a;if(c>B.if(c>A.max=c;elseif(b>A.max=b;printf("max=%d\n",max);return0;}A.max=8B.max=5C.max=3D.无输出结果25、下面程序的运行结果是()。#include<stdio.h>intmain(){inti;for(i=1;i<=5;i++)switch(i%5){case0:printf("*");break;case1:printf("#");break;default:printf("\n");case2:printf("&.");}return0;}A)#&8&&*B)#&C)#D)#&&&&*&*&*三、读程序填空26、以下程序的输出结果是_______。#include<stdio.h>intmain(){intx=1,y=2;printf("x=%dy=%d*sum*=%d\n",x,y,x+y);printf("10Squaredis:%d\n",10*10);return0;}27、以下程序的运行结果是_______。#include<stdio.h>intmain(){intm=177;printf("%o\n",m);return0;}28、以下程序的运行结果是_______。#include<stdio.h>intmain(){intal,a2,bl,b2;Inti=5,j=7,k=0;al=!k;a2=i!=j;printf("a1=%d\ta2=%d\n",al,a2);b1=k&&j;b2=k||j;printf("b1=%d\tb2=%d\n",bl,b2);returnO;}29、将以下含有switch语句的程序段改写成对应的含有非嵌套if语句的程序段。请填空。含有switch语句的程序段:Intx,y,m;y=(int)(x/10);switch(y){case10:m=5;break;case9:m=4;break;case8:m=3;break;case7:m=2;break;case6;m=1;break;default:m=0;}含有非嵌套if语句的程序段:intx,m;if(_______)m=5;if(x<100)&&(x=90))m=4;if(x<90)&&(x>=80))m=3;if(×<80)&&(x>=70))m=2;if(x<70)&&(x=60))m=1;if(_______)_______;30、下面程序的功能是完成用100元人民币换成1元、2元、5元的所有兑换方案。请填空。#include<stdio.h>intmain(){inti,j,k,L=1;for(i=0;i<=20;i++)for(j=0;j<=50;j++){k=_______;if(_______){printf("%2d%2d%2d",i,j,k);L=L+1;if(L%5==0)printf("\n");return0;}31、以下程序的运行结果是_______。#include<stdio.h>intmax(intx,inty);intmain(){inta=1,b=2,c;c=max(a,b);printf("maxis%d\n",c);return(0);}intmax(intx,inty){intz;z=(x>y)?x:y;return(z);}32、下面程序的运行结果是_______。#include<stdio.h>intmain(){chara[2][6]={"Sun","Moon");inti,j,len[2];for(i=0;i<2;i++){for(j=0;j<6;j++)if(a[i][j]=='\o'){1en[i]=j;break;}printf("%6s:%d\n",a[i],len[i]);}return0;}33、下面程序的功能是检查字符串s中左括号“(”的个数和右括号“)”的个数,如果个数相同或者右括号的个数少于左括号的个数,函数返回1,否则返回0。请填空。#include<stdio.h>intcheck(char*s);intmain(){charc[80];intd;gets(c);d=check(c);printf("d=%d",d);return(0);intcheck(char*s){int1=0,r=0;while(*s!='\o'){if(*s=='(')1++;elseif(*s==)')r++[1]if([2])return(1);elsereturn(0);}四、编程题34、定义一个带参数的宏,用来判断一个字符是否为字母。编写主函数,从键盘输入一个字符,调用上述宏输出判断结果。35、用switch语句编程实现以下函数关系:y=-1

参考答案一、填空题1、0130或88或0x582、内存中的一个存储单元3、函数4、变量5、双精度型(或double型)6、【1】4【2】17、【1】voidadd(floata,floatb)【2】floatadd(floata,floatb)8、【1】b【2】b【3】b9、【1】scanf("%d%f%f%c%c”,&a,&.b,8.c1,8.c2);【2】3囗6.5囗12.6aA<回车>(注:答案中的囗代表空格)10、aabcd二、选择题11、C12、A13、C14、B15、C16、C17、C18、C19、D20、A21、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论