2022年上海第二工业大学公共课《C语言》科目期末试卷A(有答案)_第1页
2022年上海第二工业大学公共课《C语言》科目期末试卷A(有答案)_第2页
2022年上海第二工业大学公共课《C语言》科目期末试卷A(有答案)_第3页
2022年上海第二工业大学公共课《C语言》科目期末试卷A(有答案)_第4页
2022年上海第二工业大学公共课《C语言》科目期末试卷A(有答案)_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

2022年上海第二工业大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、把int类型变量low中的低字节及变量high中的高字节放入变量s中的表达式是_______。2、结构化程序由________、________、________3种基本结构组成。3、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。4、表达式x=6应当读做_______5、C语言所提供的基本数据类型包括:单精度型、双精度型、_______、_______和_______。6、以下程序的运行结果是_______。#include<stdio.h>intmain(){chars[]="ab\'cdefg\",*p=s+1;printf("%c”,*(p++));printf("%s",p+2);return(0);}7、鸡兔共有30只,脚共有90只,下面程序段是计算鸡兔各有多少只。请填空。for(x=0;x<=30;x++){y=30一x;if(_______)printf("%d,%d\n",x,y);}8、假设变量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;_______;9、执行以下程序时,若从第一列开始输入数据,为使变量a=3、b=7、x=8.5、y=71.82、c1='A'、c2='a',正确的数据输入形式是_______。#include<stdio.h>intmain(){inta,b;floatx,y;charcl,c2;scanf("a=%db=%d",&.a,&.b);scanf("x=%fy=%",8.x,8.y);scanf("c1=%cc2=%c”,8.cl,8.c2);printf("a=%d,b=%d,x=%f,y=%f,cl=%c,c2=%c",a,b,x,y,cl,c2);return0;}10、若有定义:doublex[3][5];,则x数组中行下标的下限为_______,列下标的上限为_______。二、选择题11、下列4组选项中,不是C语言关键字的选项是。()A.defineB.getcC.includeD.whileIFcharscanfgoTypeprintfcasepow12、下面4个选项中,是不合法的用户标识符的选项是()。A.AB.floatC.b-aD._123P_01a0gototempDoAintINT13、设x、y均为float型变量,则以下不合法的赋值语句()。A.++x;B.yy=(x%2)/10;C.x*=y+8;D.x=y=0;14、设有以下程序:#include<stdio.h>intmain(){inta=201,b=012;printf("%2d,%2d\n",a,B.;return0;.}程序执行后的输出结果是()。A.01,12B.201,10C.01,10D.20,0115、判断字符串s1是否大于字符串s2,应当使用()。A.if(s1>s2)B.if(strcmp(s1,s2))C.if(strcmp(s2,s1)>0)D.if(strcmp(s1,s2)>0)16、一个C语言程序由()。A.一个主程序和若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成17、下面程序段的运行结果是()。a=1;b=2;c=2;while(a<b<C.{t=a;a=b;b=t;c—一;}printf("%d,%d,%d",a,b,C.;A.1,2,0B.2,1,0C.1,2,1D.2,1,118、若用数组名作为函数调用的实参,则传递给形参的是()A.数组的首地址B.数组第一个元素的值C.数组中全部元素的值D.数组元素的个数19、若有以下定义和语句,则对a数组元素的正确引用为()。inta[2][3],(*p)[3];p=a;A.(p+1)[0]B.*(*(p+2)+1)C.*(p[1]+1)D.p[1]+220、若要对a进行++运算,则a应具有下面说明()A.inta[3][2];B.char*a[]={"12","ab"};C.char(*A.[3];D.intb[10],*a=b;21、以下程序的运行结果是()。#include<stdio.h>intfun(intn){intm=0,f=-1,i;for(i=1;i<=n;i++){m=m+i*f;f=-f;}returnm;intmain(){printf("m=%d\n",fun(10));return(0);A.m=5B.m=-6C.m=6D.m=-522、下面程序的运行结果是()。#include<stdio.h>intmain(){chara[]="morming",t;inti,j=0;for(i=1;i<7;i++)if(a[j]<a[])j=i;t=a[j];a[j]=a[7];a[7]=a[j];puts(a);return0;}A)mogninrB)moC)morningD)mornin23、对两个数组a和b进行如下初始化:chara[]="ABCDEF";charb[]={'A','B','C','D','E','F'};则以下叙述正确的是()。A.a与b数组完全相同B.a与b长度相同C.a和b中都存放字符串D.a的长度比b长24、执行以下程序段后的输出是()。Inti=-1;if(i<=0)printf(”****\n")elseprintf("%%%%\n");A.****B.有语法错,不能正确执行C.%%%%CD.%%%%25、下面程序的运行结果是()。#include<stdio.h>intmain(){inta=1,b=10;do{b-=a;a++;}while(b--<0);printf("a=%d,b=%d\n",a,B.;return0;}A.a=3,b=11B.a=2,b=8C.a=1,b=-1D.a=4,b=9三、读程序填空26、若要求下列程序的输出结果为8.00,则[]中应填入的是_______。#include<stdio.h>intmain(){intk=2,m=5;floats,x=1.2,y=[];s=2/3+k*y/x+m/2;printf("%4.2f\n",s);return0;}27、以下程序的输出结果是_______。#include<stdio.h>intmain(){inta=252;printf("a=%oa=%#o\n",a,a);printf("a=%xa=%#x\n",a,a);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、以下程序可用来实现电路学中状态图的功能:若开关为开(用1表示)的状态,则应该将现有的状态取非(0→1、1→0);若开关为关的状态,则现有的状态保持不变(状态值由用户输入)。请填空。#include<stdio.h>intmain(){intflag,state;printf("Enteravalueofswitch:");scanf("%d",&flag);printf("Enteravaluefornewstate:");scanf("%d",&state);if(flag==1)state=_______;printf("Nowvalueofstateis:%d\n",state);return0;}30、当运行以下程序时,从键盘输入“一10<回车>”,则下面程序的运行结果是_______。#include<stdio.h>intmain(){inta,b,m=1,n=1;scanf("%d%d”,&a,&b);do{if(a>0){m=2*n;b++;}else{n=m+n;a+=2;b++;}}while(a==b);printf("m=%dn=%d",m,n);return0;}31、以下程序的运行结果是_______。#include<stdio.h>intfact(intvalue);intmain(){printf("FACT(5):%d\n",fact(5));printf("FACT(1):%d\n",fact(1));fact(-5);return(0);}intfact(intvalue){if(value<0){printf("FACT(-1):Error!\n");return(-1);}elseif(value==1llvalue==0)return(1);elsereturn(value*fact(value-1));}32、以下程序段的功能是求数组num中小于零的数据之和。请填空。intnum[20]={10,20,1,一20,203,一21,2,一2,一2,11,一21,22,12,一2,一234,一90,22,90,一45,20};intsum=0,i;for(i=0;i<=19;i++)if(_______)sum=_______;printf("sum=%6d",sum);33、运行以下程序时,从键盘输入apple<回车>cat<回车>则下面程序的运行结果是_______。#include<stdio.h>intmain(){char*s,c[80];s=c;gets(s);while((*(++s))!=\o')if(*s=='a')break;else{s++;gets(s);}puts(s);return(0);}四、编程题34、从键盘输入两个字符串a和b,要求不用库函数strcat把串b的前5个字符连接到串a中;如果b的长度小于5,则把b的所有元素都连接到a中。试编程。35、函数fun的功能是:判断输入的3个整型值能否组成三角形,组成的是等边三角形,还是等腰三角形。请在函数中填写正确的内容。#include<stdio.h>voidfun(inta,intb,intc);intmain(){inta,b,c;printf("\ninputa,b,c:\n");scanf("%d%d%d",&a,&b,&c);fun(a,b,c);return(0);}voidfun(inta,intb,intc){if(a+b>c&&b+c>a8.&a+c>b)(请在此处填写正确的内容)Elseprintf("不能组成三角形");}

参考答案一、填空题1、s=high&0xff00|low&0x00ff或s=high&.0177400|low&0377或s=high&65280|low&2552、【1】顺序结构【2】选择结构【3】循环结构3、【1】scanf【2】printf4、将常量6赋给变量x5、【1】整型【2】字符型【3】枚举型6、'bdefg'7、2*x+4*y==908、【1】t=a【2】c=t9、a=3囗b=7x=8.5囗y=71.82c1=ADc2=a<回车>(注:答案中的囗代表空格)10、【1】0【2】4二、选择题11、A12、C13、B14、B15、D16、B17、A18、A19、C20、D21、A22、B23、D24、B25、B三、读程序填空26、3.627、a=374囗囗a=0374a=fc囗囗a=0xfc(注:答案中的囗代表空格)28、al=1a2=1,b1=0b2=129、!state30、m=4n=231、FACT(5):120FACT(1):1FACT(-1):Error!32、【1】num[i]<0【2】num[i]+sum33、at四、编程题34、#include<stdio.h>#inclu

温馨提示

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

评论

0/150

提交评论