2022年河北地质大学华信学院公共课《C语言》科目期末试卷A(有答案).docx

上传人:暗伤 文档编号:96545705 上传时间:2023-12-21 格式:DOCX 页数:18 大小:66.67KB
返回 下载 相关 举报
2022年河北地质大学华信学院公共课《C语言》科目期末试卷A(有答案).docx_第1页
第1页 / 共18页
2022年河北地质大学华信学院公共课《C语言》科目期末试卷A(有答案).docx_第2页
第2页 / 共18页
点击查看更多>>
资源描述

《2022年河北地质大学华信学院公共课《C语言》科目期末试卷A(有答案).docx》由会员分享,可在线阅读,更多相关《2022年河北地质大学华信学院公共课《C语言》科目期末试卷A(有答案).docx(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、2022年河北地质大学华信学院公共课C语言科目期末试卷A(有答案)一、填空题1、设x为无符号整数。表达式x(0n)(p+1-n)的作用是将x中从第p位开始的n位求反(1变0,0变1),其他位不变。请按表达式的求值顺序写出分解步骤,并解释含义。_2、在C语言源程序中,一个变量代表【 】。3、在C语言中,输入操作是由库函数_完成的,输出操作是由库函数_完成的。4、若x和n均是int型变量,且x和n的初值均为5,则执行表达式x+=n+后x的值为_,n的值为_。5、运算符%两侧运算量的数据类型必须都是_;运算符+和一一的运算量必须是_。6、若想输出b数组的10个元素,则下面存在错误的程序行是_。(每个

2、程序行前面的数字代表行号。)1 int main()2 int b10=1,3,5,7,9,2,4,6,8,10,k;3 for(k=0;k= 0&cha=9;a+)s=10*s+cha-o;printf(%d,s);二、选择题11、若有代数式|x3+log10x|,则正确的C语言表达式是( )A.fabs(x*3+log(x) B.abs(pow(x,3)+log(x)C.abs(pow(x,3.0)+log(x) D.yfabs(pow(x,3.0)+log(x)12、设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是( )

3、。A.n=(n*100+0.5)/100.0 B.m=n*100+0.5,n=m/100.0C.n=n*100+0.5/100.0 D.n=(n/100+0.5)*100.013、设有以下程序:#includeint main()int a=201,b=012;printf(%2d,%2dn,a,B.;return 0;.程序执行后的输出结果是( )。A.01,12 B.201,10 C.01,10 D.20,0114、设有如下程序:#includeint main()char ch1=A,ch2=a;printf(%cn,(chl,ch2);return 0; 则以下叙述中正确的是( )。A

4、.程序的输出结果为大写字母AB.程序的输出结果为小写字母aC.运行时产生错误信息D.格式说明符的个数少于输出项的个数,编译出错15、有下面的程序段:char a3,b=China”;a=b;printf(%s,A.;则( )。A.运行后将输出China B.运行后将输出ChC.运行后将输出Chi D.编译出错16、一个C语言程序由( )。A.一个主程序和若干子程序组成 B.函数组成C.若干过程组成 D.若干子程序组成17、设有以下程序段:int x=0,s=0;while(!x!=0)s+=+x;printf(%d”,s);则( )A.运行程序段后输出0 B.运行程序段后输出1C.程序段中的控

5、制表达式是非法的D.程序段执行无限次18、若用数组名作为函数调用的实参,则传递给形参的是( )A.数组的首地址 B.数组第一个元素的值C.数组中全部元素的值 D.数组元素的个数19、若有语句:charsl=string,s28=,*s3,*s4=string2;则对库函数strcpy的错误调用是( )A.strcpy(s1,string2); B.strcpy(s4,string1);C.strcpy(s3,string1); D.strcpy(s1,s2);20、若需要建立如图9-3所示的存储结构,且已有说明float*p,m=3.14;则正确的赋值语句是( )A)p=m; B)p=&m;

6、C)*p=m; D)*p=&m;21、以下程序的功能是计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值,请选择填空。#include#include float f(float,float);int main()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);float f(float a,float B.float value;value=a/b; return(value);A)x-y,x+y B)x+y,x-y C)z+y,z

7、-y D)z-y,z+y22、下面程序的运行结果是( )。#include int main()char str=SSSWLIA,c;int k;for(k=2;(c=strk)!=o;k+)switch(C.caseI:+k;break;caseL:continue;default:putchar(C.;continue;putchar(*);return 0;A.SSW* B.SW* C.SW*A D.SW23、下面程序段的运行结果是( )。charc5=a,b,o,c,o);printf(%s,C.;A.ab B.ab C.ab口c D.ab口(其中口表示1个空格)24、以下程序的输出是

8、( )。#includeint main()int a=100,x=10,y=20,okl=5,ok2=0;if(xy)if(y!=10)if(!ok1)a=1;else if(ok2)a=10;a=-1;printf(%dn,A.;return 0;A.1 B.0 C.-1 D.值不确定25、下面程序的运行结果是( )。#include int main()int x,i;for(i=1;i=100;i+)x=i;if(+x%2=0)if(+x%3=0)if(+x%7=0)printf(%d,x);return 0;A.39 81 B.42 84 C.26 68 D.28 70三、读程序填空

9、26、以下printf语句中的负号的作用是_,该程序的输出结果是_。#includeint main()int x=12;double a=3.1415926;printf(%6d#n,x);printf(%一6d#n,x);printf(%14.101f#n,a);printf(%-14.101f#n,a); return 0;27、已有定义float d1=3.5,d2=-3.5;执行以下语句后的输出结果是_。printf(*d(1)=%e*d(2)=%.4e*d(3)=%10.4e*n,dl,dl,d1);printf(*d(4)=%e*d(5)=%.6e*d(6)=%-12.5e*n,

10、d2,d2,d2);28、为了使以下程序的输出结果为t=4,输入值a和b应满足的条件是_。#includeint main()ints,t,a,b;scanf(%d,%d”,&a,&b);s=1;t=1;if(a0)s=s+1;if(ab)t=s+t;else if(a=b)t=5;else t=2*s;printf(s=%d,t=%d,s,t);return0;29、以下程序的功能是判断输入的某个年份是否是闰年。请填空。#include int main()int y,f;scanf(%d,&y);if(y%400=0)f=1;else if(_)f=1;else_;if(f)printf(

11、%d is,y);else printf(%d is not,y);printf(a leap yearn);return 0;30、下面程序的输出结果是_。#includeint main()inti,j,k=19;while(i=k-1)k-=3;if(k%5=0)i+;continue;else if(k5)break;i+;printf(i=%d,k=%dn,i,k);return 0;31、下面函数func的功能是_。#include#include #includelong func(long num)long k=1;num=labs(num);dok*=num%10;num/=

12、10;while(num);return(k);int main()long n;printf(nPlease enter a number:);scanf(%ld,&.n);printf(nThe product of its digits is%ld.,func(n);return(0);32、以下程序段的功能是求数组num中小于零的数据之和。请填空。int num20=10,20,1,一20,203,一21,2,一2,一2,11,一21, 22,12,一2,一234,一90,22,90,一45,20;int sum=0,i;for(i=0;i=19;i+)if(_)sum=_;print

13、f(sum=%6d,sum);33、以下程序可分别求出方阵a中两个对角线上元素之和。请填空。#include #define N 6int main()int aNJN,i,j,k,prl,pr2;for(i=0;iN;i+)for(j=0;jN;j+)scanf(%d,*(a+i)+j);k=N;pr1=0;pr2=0;for(i=0;iN;i+)pr1=_+(*(*(a+i)+i);k=_;pr2=_+(*(*(a+i)+k);printf(pr1=%4d pr2=%4dn,prl,pr2);return(0);四、编程题34、编写程序判断输入的正整数是否既是5又是7的整倍数。若是,则输出

14、yes;否则输出no。35、函数fun的功能是:判断输入的3个整型值能否组成三角形,组成的是等边三角形,还是等腰三角形。请在函数中填写正确的内容。#includevoid fun(int a,int b,intc);int main()int a,b,c;printf(ninput a,b,c:n);scanf(%d%d%d,&a,&b,&c);fun(a,b,c);return(0);void fun(int a,int b,int c)if(a+bc&b+ca8.&a+cb)(请在此处填写正确的内容)Else printf(不能组成三角形);参考答案一、填空题1、【1】0得到一个全1的数【

15、2】(0n)得到一个左端几个1,右端全0的数【3】(0n)得到一个左端为0,右端几个1的数【4】(0n)(p+1-n)将几个1移到以p为起点的位置【5】x(0n)(p+1-n)对x中的指定位数用异或求反2、内存中的一个存储单元3、【1】scanf【2】printf4、【1】10【2】65、【1】整型【2】变量6、第3行【1】 7、a0=1 a1=2【2】单向值传递,不能返回交换后的值。8、struct ST9、【1】格式控制符与变量类型不匹配。scanf 语句的正确形式应该是:scanf(%f,8.k);【2】未指明变量k的地址。10、600二、选择题11、D12、B13、B14、B15、D1

16、6、B17、B18、A19、C20、B21、B22、B23、B24、C25、D三、读程序填空26、【1】输出数据左对齐【2】囗囗囗012# 12口囗囗囗#囗囗3.141592600#3.141592600囗囗#(注:答案中的囗代表空格)27、*d(1)=3.50000e+00*d(2)=3.500e+00*d(3)=囗3.500e+00*d(4)=一3.50000e+00*d(5)=-3.50000e+00*d(6)=-3.5000e+00囗x(注:答案中的囗代表空格)28、0ab29、【1】y%4=0&y%100!=0【2】f=030、i=6,k=431、计算整数num的各位数字之积。32、【1】numi0【2】numi+sum33、【1】pr1【2】k-1【3】pr2四、编程题34、#include int main()int x;scanf(%d,&x);if(x%5=08&.&x%7=0)printf(yes);else printf(no);return 0;35、if(a=b&b=c)printf(这是等边三角形);else if(a=b|b=c|a=c)printf(这是等腰三角形);else printf(”组成一般三角形”);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁