版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2022年西北师范大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、设x为无符号整数。表达式x^(~(~0<<n)<<(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、若a是int型变量,则执行表达式a=25/3%3后a的值为_______6、下面程序段的运行结果是_______。char*s1="AbcdEf",*s2="aB";intt;s1++;t=(strcmp(s1,s2)>0);printf("%d\n",t);7、执行下面程序段后,k的值是_______。k=1;n=263;do{k*=n%10;n/=10;}while(n);8、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。charcl,c2;scanf("%4c%4c",&cl,8&c2);9、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。例如:交换前,a=10、b=20、c=30;交换后,a=20、b=30、c=10。请填空。_______;a=b;b=c;_______;10、设有如下定义:#defineSWAP(T,X,Y){T=X;X=Y;Y=T;}以下程序段将通过调用宏实现变量x和y内容的交换,请填空。Doublex=2.5,y=6.4,z;SWAP(_______);二、选择题11、下面4个选项中,是不合法的整型常量的选项是()。A.--0f1B.-0XcdfC.-018D.-0x48eg0xfff017999-068001112.4565e203f12、已知各变量的类型说明如下:intk,a,b;unsignedlongw=5;doublex=1.42;则以下不正确的表达式是()。A.x%(-3)B.w+=-2C.k=(a=2,b=3,a+B.D.a+=a-=(b=4)*(a=3)13、以下针对scanf函数的叙述中,正确的是()。A.输入项可以为一实型常量,如scanf("%f",3.5);B.只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%4.2f",&f);D.当输入数据时,必须指明变量的地址,如scanf("%f",&f);14、若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是()A.scanf("%d%lx,%le",&x,&y,&z);B.scanf("%2d*%d%1f",&x,&y,&z);C.scanf("%x%*d%o”,&x,&y);D.scanf("%x%0%6.2f",&x,&y,&z);15、下面是对数组s的初始化,其中错误的语句是()。A.chars[5]={"abc"};B.chars[5]={'a','b','c'};C.chars[5]="";D.chars[5]="abcde";16、一个C程序的执行是从()A.本程序的main函数开始,到main函数结束B.本程序的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序的第一个函数开始,到本程序main函数结束17、设有以下程序段:intx=0,s=0;while(!x!=0)s+=++x;printf("%d”,s);则()A.运行程序段后输出0B.运行程序段后输出1C.程序段中的控制表达式是非法的D.程序段执行无限次18、若用数组名作为函数调用的实参,则传递给形参的是()A.数组的首地址B.数组第一个元素的值C.数组中全部元素的值D.数组元素的个数19、若有以下说明和语句:char*language[]={"FORTRAN","BASIC","PASCAL","JAVA","C");char**q;q=language+2;则语句printf("%o\n",*q);()。A.输出的是language[2]元素的地址B.输出的是字符串PASCALC.输出的是language[2]元素的值,它是字符串PASCAL的首地址D.格式说明不正确,无法得到确定的输出20、若有以下定义和语句,则对a数组元素的正确引用为()。inta[2][3],(*p)[3];p=a;A.(p+1)[0]B.*(*(p+2)+1)C.*(p[1]+1)D.p[1]+221、以下是有关汉诺塔问题的程序段,若在main函数中有调用语句hanoi(3,'A',B’,C.;则符合程序段运行结果的选项是()。voidmove(chargetone,charputone){printf("%c——>%c\n",getone,putone);voidhanoi(intn,charone,chartwo,charthree){if(n==1)move(one,three);else{hanoi(n-1,one,three,two);move(one,three);hanoi(n-1,two,one,three);}}A)A-->CB)A-->CC)A-->CD)A-->CA-->BA-->BA-->BA-->BC-->BC-->AC-->BC-->BB-->AA-->BA-->CA-->CC-->BB-->CB-->AA—->BA-->CA-->CB-->CB-->CA-->BA-->BA-->CA-->C22、下面程序的功能是将已按升序排好序的两个字符串a和b中的字符按升序归并到字符串c中。请选择填空。#include<stdio.h>#include<string.h>intmain(){chara[]="acegikm",b[]="bdfhjlnpq";charc[80],*p;inti=0,j=0,k=0;while(a[i]!=\o'&&b[j]!='\o'){if(a[i]<b[j]){c[k]=a[i];i++}else{【】}k++;}c[k]='\o';if(a[i]=='\0')p=b+j;elsep=a+i;strcat(c,p);puts(C.;return0;}A.c[k]=a[i];i++;B.c[k]=a[j];i++;C.c[k]=a[i];j++;D.c[k]=a[j];j++;23、下面程序的功能是将字符串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]24、执行以下程序段后的输出是()。Inti=-1;if(i<=0)printf(”****\n")elseprintf("%%%%\n");A.****B.有语法错,不能正确执行C.%%%%CD.%%%%25、下面程序的功能是在输入的一系列正整数中求出最大者,输入0结束循环,请选择填空()。#include<stdio.h>intmain(){inta,max=0;scanf("%d”,8.A.;while(【】){if(max<A.max=a;scanf("%d”,&-A.;printf("%d”,max);return0;}A.a==0B.aC.!a==1D.!a三、读程序填空26、以下程序的输出结果为_______.#include<stdio.h>intmain(){printf("*%f,%4.3f*\n",3.14,3.1415);return0;}27、已知字母A的ASCII码值为65。以下程序的输出结果是_______。#include<stdio.h>intmain(){chara,b;a='A'+'4'-'3';b='A'+'6'-2';printf("a=%d,b=%c\n",a,b);return0;}28、以下程序的功能是:输入圆的半径r和运算标志m后,按照运算标志进行表4-2中指定的计算。请填空。表4-2运算标志与计算运算标志m计算a面积c周长b二者均计算#include<stdio.h>#definepi3.14159intmain(){charm;floatr,c,a;printf("inputmarkacorb8.8.r\n");scanf("%c%f",&m,&r);if(_________){a=pi*r*r;printf("areais%f",a);}if(_________){c=2*pi*r;printf("circleis%f",c);}if(_________){a=pi*r*r;c=2*pi·r;printf("area&&circleare%f%f",a,c);}return0;}29、以下程序的功能是:计算某年某月有几天。其中判别闰年的条件是:能被4整除但不能被100整除的年是闰年,能被400整除的年也是闰年。请填空。#include<stdio.h>intmain(){intyy,mm,len;printf("year,month=");scanf("%d%d",8yy,&mm);switch(mm){case1:case3:case5:case7:case8:case10:case12:_______;break;case4:case6:case9:case11:len=30;break;case2:if(yy%4==0&&yy%100!=0||yy%400==0)_______;else_______;break;default:printf("inputerror");break;printf("thelengthof%d%dis%d\n",yy,mm,len);return0;}30、下面程序的功能是统计用数字0~9可以组成多少个没有重复的3位偶数。请填空。#include<stdio.h>intmain(){intn=0,i,j,k;for(i=1;i<=9;i++)for(k=0;k<=8;_______)if(k!=i)for(j=0;j<=9;j++)if(_______)n++;printf("n=%d\n",n);return0;}31、阅读下面程序,完成下列问题中的填空。问题(1)此程序在调用函数f后的运行结果是_______。(2)若将函数f中的for(j=i+1;j<4;j++)改为for(j=0;j<3一i;j++),则程序的运行结果是_______。#include<stdio.h>voidf(ints[J[4]){inti,j,k;for(i=0;i<3;i++)for(j=i+1;j<4;j++){k=s[i][j];s[i][j]=s[j][i];s[j][i]=k;}intmain(){ints[4][4],i,j;for(i=0;i<4;i++)for(j=0:j<4;j++)s[i][j]=i-j;f(s);for(i=0;i<4;i++){printf("\n");for(j=0;j<4;j++)printf("%4d',s[i][j]);return(0);}32、下面程序的功能是统计年龄在16~31岁之间的学生人数。请填空。#include<stdio.h>intmain(){inta[30],n,age,i;for(i=0;i<30;i++)a[i]=0;printf("Enterthenumberofthestudents(<30)\n");scanf("%d”,&n);printf("Entertheageofeachstudent:\n");for(i=0;i<n;i++){scanf("%d",8.age);_______;}printf("theresultis\n");printf("agenumber\n");for(_______i++)printf("%3d%6d\n",i,a[i-16]);return0;}33、运行以下程序时,从键盘输入ASDFGHJ<回车>AFH<回车>则下面程序的运行结果是_______。#include<stdio.h>voidfun(char*s1,char*s2);intmain(){charal[80],a2[80];gets(al);gets(a2);fun(al,a2);puts(a1);return(0);}voidfun(char*s1,char*s2){intj;char*s=s1;for(;*s2!=\0';s2++){for(j=0,s1=s;*sl!='\0';s1++)if(*s1!=*s2){s[j]=*s1;j++;}s[j]='\o';}}四、编程题34、编写程序实现功能:输入整数a和b,若a2+b2>100,则输出a2+b2百位以上数字,否则直接输出a2+b2的和35、已有变量定义和函数调用语句intx=57;isprime(x);函数isprime()用来判断一个整型数a是否为素数;若是素数,则函数返回1,否则返回0。请编写isprime函数。intisprime(inta){}
参考答案一、填空题1、【1】~0得到一个全1的数【2】(~0<<n)得到一个左端几个1,右端全0的数【3】~(~0<<n)得到一个左端为0,右端几个1的数【4】~(~0<<n)<<(p+1-n)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 员工上下班交通安全培训
- 注册会计师税法中其他税种车辆购置税车船税印花税的适用范围
- 某麻纺厂设备安装规范
- 某木材厂锯材质量标准
- 2026合肥源创新人才发展有限公司社会招聘5人备考题库及参考答案详解(a卷)
- 2026贵州贵阳观山湖区远大小学教师招聘备考题库附答案详解(精练)
- 2026四川自贡市中医医院编外人员招聘10人备考题库及一套完整答案详解
- 纺织品印染质量检验办法
- 2026广东广州市爱莎文华高中招聘备考题库及答案详解(真题汇编)
- 2026广东广州市白云区石门第一实验幼儿园招聘3人备考题库及参考答案详解(新)
- 盆腔脏器脱垂诊断与治疗
- 武汉市新洲区招聘社区干事笔试真题2024
- 健康照护师基础知识课件
- 2025年高考真题-历史(广东卷) 含解析
- 矿井改造提升方案(3篇)
- 工厂6S管理培训资料
- 2025年全国统一高考语文试卷(全国二卷)含答案
- DB31T 1442-2023 公共体育场馆运营管理服务规范
- 前列腺癌诊疗指南2022年版
- 中国生物科技成果转化蓝皮书-2024
- 烟草职业鉴定三级技能考点
评论
0/150
提交评论