《2022年广西民族大学公共课《C语言》科目期末试卷A(有答案).docx》由会员分享,可在线阅读,更多相关《2022年广西民族大学公共课《C语言》科目期末试卷A(有答案).docx(20页珍藏版)》请在第一文库网上搜索。
1、2023年广西民族大学公共课C语言科目期末试卷A(有答案)一、填空题1、若X=O123,则表达式(5+(int)(x)&(-2)的值是。2、在C语言源程序中,一个变量代表【】。3、C语言源程序的基本单位是4、在C语言的赋值表达式中,赋值号左边必须是5、表达式PoW(2.8,sqrt(doub1e(x)值的数据类型为。6、设main函数的说明为:intmain(intargc,char*argv),且有命令行为:F11E1123V回车,则argc的值是,argv1的值是。7、下面add函数的功能是求两个参数的和,并将和值返回调用函数。函数中错误的部分是,改正后为0voidadd(f1oata,f
2、1oatb)f1oatc;c=a+b:returnc;)8、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。请填空。a+=;b=a-:a-=;9、已有定义inta:f1oatb,x;charc1,c2;为使a=3、b=6.5、x=12.6c1=ac2=,A,正确的SCanf函数调用语句是,数据输入的形式应为10、下面程序段的运行结果是Ointi=5;charc6=abcd;doci=ci-1;whi1e(i0);puts(c);二、选择题I1下面正确的字符常量是()A.cnB.nC.,w,D.12、若有定义语句:inta=7;f1oatx=2.5,y=4.7;则表达式
3、x+a%3*(int)(x+y)%24的值是()oA.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、设有以下程序:#inc1udestdio.hintmain()charc1,c2,c3,c4,c5,c6;scanf(n%c%c%c%c,&c1,&c2,&c3,&c4);c5=getchar();c6=getchar();putcha
4、r(c1);。putchar(c2);printf(%c%cn,c5,c6);returnO;)若运行时从键盘输入数据:abc回车defg回车,则输出结果是()。A.abcdB.abdeC.abefD.abfg15、若有说明:inta34;,则对a数组元素的正确引用是()。A.a34B.a1,3C.ai+1OD.a(2)(1)16、以下叙述正确的是A.在C程序中,main函数必须位于程序的最前面B.C程序的每行中只能写一条语句C.C语言本身没有输入输出语句D.在对一个C程序进行编译的过程中,可以发现注释中的拼写错误17、以下描述中正确的是()Awhi1e、do-whi1efor循环中的循环体语
5、句都至少被执行一次B.do-whi1e循环中,whi1e(表达式)后面的分号可以省略C.whi1e循环体中,一定要有能使WhiIe后面表达式的值变为假的操作D.do-whi1e循环中,根据情况可以省略WhiIe18、以下程序有语法性错误,有关错误原因的正确说法是()。#inc1udeintmain()intG=5,k;voidprt_char();k=prt_char(G);)A.语句VoidPrt_char();有错,它是函数调用语句,不能用VOid说明B.变量名不能使用大写字母C.函数说明和函数调用语句之间有矛盾D.函数名不能使用下划线19、己有变量定义和函数调用语句:inta=25;Pr
6、inJVaIUe(&A.;下面函数的正确输出结果是。voidprint_va1ue(int*x)printf(%dn,+*x);)A.23B.24C.25D.2620、设有以下程序段:charstr410=firstw,second,third,fourth),for(n=0;n4;n+)strpn=strn;若k为int型变量且0k4,则对字符串的不正确引用是()。A.strpB.strkC.strpkD.*strp21、以下程序的功能是计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值,请选择填空。#inc1ude#inc1udef1oatf(f1oat,f1oa
7、t);intmain()f1oatx,y,z,sum;scant(n%f%1%f,8.x,&y,8.z);sum=f()+f(z+y,z-y);printf(sum=%fNn,sum);return(0);)f1oatf(f1oata,f1oatB.f1oatva1ue;va1ue=ab;return(va1ue);)A)x-yzx+yB)x+yzx-yC)z+y,z-yD)z-y,z+y22、下面程序的功能是将字符串S中所有的字符C删除。请选择填空().#inc1udeintmain()chars80;intij;gets(s);for(i=j=0;si!=,o,J+)if(s!=,c);s
8、j=o;puts(s);return0;)A)sj+=siB)sj=siC)sj=sj+D)sj=si23、下面程序段的运行结果是()。chara7=nabcdef:charb4=ABC;strcpy(a,B.;printf(%c,a5);A,B.0C.eD.f(其中口表示1个空格)24、以下程序的输出是()。#inc1udeinta=5,b=8,c=3,max;max=a;if(cB.if(cA.max=c;e1seif(bA.max=b;printf(ma=%dn,max);return0;)D.无输出结果A.ma=8B.max=5C.max=325、下面程序的运行结果是()。#inc1u
9、deintmain()inti;for(i=1;i=5;i+)switch(i%5)case0:printf(*w);break;case 1: Printf(#);break;defau1t:printf(n);case 2: PrintfreturnO;)A)#&8&*B)#&Q#D)#&*&*&三、读程序填空26、以下程序的输出结果是。#inc1udeintmain()intx=1,y=2;printf(x=%dy=%d*sum*=%dn,x,y,x+y);printf(10Squaredis:%dn,10*10);return0;)27、以下程序的运行结果是#inc1udeintmai
10、n()intm=177;printf(%on,m);return0;)28、以下程序的运行结果是O#inc1udeintmain()inta1a2,b1,b2;Inti=5,j=7,k=0;a1=!k;a2=i!=j;printf(a1=%dta2=%dn,a1,a2);b1=k&j;b2=kj;printf(nb1=%dtb2=%dnn,b1,b2);returnO;)29、将以下含有SWitCh语句的程序段改写成对应的含有非嵌套if语句的程序段。请填空。含有SWitCh语句的程序段:IntX,y,m;y=(int)(x10);switch(y)case1O:m=5;break;case9:
11、m=4;break;case8:m=3;break:case7:m=2;break;case6:m=1;break:defau1t:m=O;)含有非嵌套if语句的程序段:intx,m;if()m=5;if(1OO)&(x=90)m=4;if(x=80)m=3;if(=70)m=2;if(70)&(x=60)m=1;if();30、下面程序的功能是完成用IOO元人民币换成1元、2元、5元的所有兑换方案。请填空。#inc1udeintmain()inti,j,k,1=1;for(i=0;i=20;i+)for(j=0;j=50;j+)k=;if()printf(%2d%2d%2dn,i,j,1=1
12、1;if(1%5=O)printf(,nn);return0;)31、以下程序的运行结果是o#inc1udeintmax(intx,inty);intmain()inta=1,b=2,c;c=max(a,b);printf(maxis%dn,c);return(0);)intmax(intx,inty)intz;z=(xy)?x:y;return(z);)32、下面程序的运行结果是o#inc1udeintmain()chara26=Sun,Moon);inti,j,1en2;for(i=0;i2;i+)for(j=0;j6;j+)if(a0=o)1eni=j;break;printf(%6s:
13、%dn,ai,1eni);)return0;)33、下面程序的功能是检查字符串S中左括号(的个数和右括号)的个数,如果个数相同或者右括号的个数少于左括号的个数,函数返回1否则返回0。请填空。#inc1udeintcheck(char*s);intmain()charc80;intd;gets(c);d=check(c);printf(d=%dn,d);return(O);intcheck(char*s)int1=O,r=O;whi1e(*s!=,o,)if(*s=,C)1+;e1seif(*s=),)r+Uif(2)return(1);e1sereturn(0);)四、编程题34、定义一个带参数的宏,用来判断一个字符是否为字母。编写主函数,从键盘输入一个字符,调用上述宏输出判断结果。35、用SWitCh语句编程实现以下函数关系:-1(xO)参考答案一、填空题1、0130或88或0x582、