2022年重庆工程学院公共课《C语言》科目期末试卷B(有答案)_第1页
2022年重庆工程学院公共课《C语言》科目期末试卷B(有答案)_第2页
2022年重庆工程学院公共课《C语言》科目期末试卷B(有答案)_第3页
2022年重庆工程学院公共课《C语言》科目期末试卷B(有答案)_第4页
2022年重庆工程学院公共课《C语言》科目期末试卷B(有答案)_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、2022 年重庆工程学院公共课C 语言科目期末试卷 B(有答案)一、填空题1、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。请填空。a+= ;b=a- ;a-= ;2、C 语言源程序的基本单位是 3、C 语言的源程序必须通过【】和【】后,才能被计算机执行。4、表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3)值的数据类型为 。5、若x和n均是int型变量,且x的初值为12,n的初值为5,则执行表达式x%=(n%=2)后x的值为 。6、把int类型变量low中的低字节及变量high中的高字节放入变量s中的表达式是 。7、鸡兔共有30只,脚共有90

2、只,下面程序段是计算鸡兔各有多少只。请填空。for(x=0;x= 0&cha(y)?(x):(y)#define T(x,y,r)x*r*y/4则执行以下语句后,s1的值为 ,s2的值为 。int a=1,b=3,c=5,s1,s2; s1=MIN(a=b,b-a); s2=T(a+,a*+b,a+b+c);10、下面程序段的运行结果是 。chara=12345,*p;int s=0; for(p=a;*p!=0;p+) s=10*s+*p-o; printf(%dn,s);二、选择题11、下面4个选项中,是合法整型常量的选项是()。A.160B.-0 xcdfC.-01D.-0 x48a-0

3、 xffff01a9860122e5 0110 xe06680 x12、下面4个选项中,是不合法的用户标识符的选项是()。A.AB.floatC.b-aD._123 P_01a0gototempDoAintINT13、一个C语言程序由( )。A.一个主程序和若干子程序组成B. 函数组成C.若干过程组成D.若干子程序组成14、C 语言规定:在一个源程序中,main 函数的位置( ) A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后15、若有说明:inta10;,则对a数组元素的正确引用是( )。A.a10B.a3.5C.a(5)D.a10-1016、阅读以下程序,当输入

4、数据的形式为25,13,10,程序的输出结果#include int main()int x,y,z; scanf(%d%d%d”,8.x.&y,&z); printf(x+y+z=%dn,x+y+z); return0;A.x+y+z=48 B.x+y+z=35 C.x+z=35D.不确定值17、已有定义int(*p)();指针p可以( )。A.代表函数的返回值B.指向函数的入口地址C.表示函数的类型D.表示函数返回值的类型18、在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是()A.externB.registerC.autoD.sta

5、tic 19、设有以下程序段:int x=0,s=0; while(!x!=0)s+=+x; printf(%d”,s);则()A.运行程序段后输出0B.运行程序段后输出1C.程序段中的控制表达式是非法的 D.程序段执行无限次20、在下面的程序段中( )。Int t,x;for(t=1;t=100;t+)scanf(%d”,&x); if(x0)continue; printf(%3d,t);A.当x0时整个循环结束B.x0时什么也不输出C.printf函数永远也不执行D.最多允许输出100个非负整数21、以下程序的运行结果是()。#include int main()int a,b,d=24

6、1;a=d/100%9;b=(-1)8&.8&(-1); printf(%d,%d,a,B.; return0;A.6,1B.2,1C.6,0D.2,022、下面程序段的运行结果是( )。int a66,i,j; for(i=1;i6;i+)for(j=1:j6;j+) aij=(i/j)*(j/i);for(i=1;i6;i+)for(j=1;j6;j+)printf(%2d,aij);printf(n)A)1111111111B)0000100010C)1000001000D)100010101011111001000010000100111110100000010010101111110

7、000000011000123、当运行以下程序时,从键盘输入: aa bbccdd则下面程序的运行结果是( )。#include int main()char al5,a25,a35,a45; scanf(%s%s,al,a2); gets(a3);gets(a4); puts(a1);puts(a2); puts(a3);puts(a4);return 0;A)aaB)aaC)aaD)aa bbbbbbbbccccccddddcc ddddee24、以下程序的运行结果是()。#include void fun(int x)if(x/20)fun(x/2-2);printf(%d”,x);in

8、t main() fun(20); printf(n); return(0);A.2082-1B.2820C.8D.-1282025、若运行以下程序时,从键盘输入2473,则下面程序的运行结果()#include int main()int c; while(c=getchar()!=n) switch(c-2)case0:case 1;putchar(c+4);case 2:putchar(c+4);break; case 3:putchar(c+3); default;putchar(c+2);break;return 0;A.668977B.668966C.66778777D.66887

9、66三、读程序填空26、以下程序的输出结果是 。#includeint main()int a=252; printf(a=%oa=%#on,a,a); printf(a=%xa=%#xn,a,a); return 0;27、以下程序的运行结果是 。#include int main()int n=100; char c;float f=10.0; double x; x=f*=n/=(c=48);printf(%d%d%3.1f%3.1fn,n,c,f,x);return 0;28、以下函数fun的功能是:将输入的大写字母,先转换为与其对应的小写字母, 然后再转换成该小写字母后的第3个字母,

10、返回后输出。例如,若输入的字母为E, 输出的字母则为h;若输入的字母为Y,输出的字母则为b。请填空。#include #include char fun(charc)!c= : if(c=1a1&c=x/&c=z) : return c;int main()char c; c=getchar(); c=fun(e); putchar(c); return(0);29、若输入一个整数10,则以下程序的运行结果是 。#include int sub(int a);int main()int a,e10,c,i=0; printf(”输入一整数n); scanf(%d,&.a); while(a!=

11、0)c=sub(a); a=a/2; ei=c; i+;for(;i0;i-)printf(%d,ei-1);return(0);int sub(int a)int c; c=a%2; return c;30、下面程序的功能是用辗转相除法求两个正整数的最大公约数。请填空。#include int main()int r,m,n;scanf(%d%d,&m,&n); if(mn) ; r=m%n;while(r)m=n;n=r;r= ; printf(%dn,n);return 0;31、下面程序的功能是检查一个二维数组是否对称(即对所有i、j都有aij= aji)。请填空。#include i

12、nt main()int a44=1,2,3,4,2,2,5,6,3,5,3,7,4,6,7,4;int i,j,found=0;for(j=0;j4;j+) for( ;i4;i+)if(aji!=aij) ;break;) if(found=1)printf(No); else printf(Yes);return 0;32、以下程序的功能是判断输入的某个年份是否是闰年。请填空。#include int main()int y,f; scanf(%d,&y); if(y%400=0)f=1; else if( )f=1; else ;if(f)printf(%d is,y); else p

13、rintf(%d is not,y); printf(a leap yearn); return 0;33、以下程序把x插到a数组中的下标为k的元素中。请填空。#include int main()int a51,k,x,i,n; printf(Enter n(n50):); scanf(%d,&n); printf(Enter%2d integers:n,n);for(i=1;i0)&(k=n+1)for( )*(a+i+1)=*(a+i);*( )=x; ;for(i=1;i=n;i+)printf(%4d,*(a+i); printf(n);return(0);四、编程题34、下面fin

14、dmax函数将计算数组中的最大元素及其下标值和地址值,请编写*findmax()函数。#include int*findmax(int*s,int t,int*k)int main()int a10=12,23,34,45,56,67,78,89,11,22,k,*add; add=findmax(a,10,&.k); printf(%d,%d,%on,ak,k,add);return(0);35、通过循环按行顺序为一个55的二维数组a赋125的自然数,然后输出该数组的左下三角。试编程。参考答案一、填空题1、【1】b【2】b【3】b2、函数3、【1】编译【2】连接4、整型(或int型)5、06

15、、s=high& 0 xff00| low&0 x00ff 或 s=high&.0177400|low&0377 或s=high&65280| low&2557、2*x+4*y=908、6009、【1】3【2】2810、12345二、选择题11、A12、C13、B14、C15、D16、D17、B18、D19、B20、D21、B22、C23、A24、D25、A三、读程序填空26、a=374囗囗a=0374 a=fc囗囗a=0 xfc(注:答案中的囗代表空格)27、24820.020.028、【1】tolower(c)或c=c+32【2】c=c-23 29、101030、【1】r=m,m=n,n=r【2】m%n 31、【1】i=j+1【2】found=132、【1】y%4=0&y%100!=0【2】f=033、【1】i=n;i=k;i-【2】a+k【3】n+四、编程题3

温馨提示

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

评论

0/150

提交评论