版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2022年哈尔滨工程大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、设x为无符号整数。表达式x^(~(~0<<n)<<(p+1-n)))的作用是将x中从第p位开始的n位求反(1变0,0变1),其他位不变。请按表达式的求值顺序写出分解步骤,并解释含义。__________________________________2、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是3、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。4、若a是int型变量,且a的初值为6,则执行表达式a+=a-=a*a后a的值为_______5、已知字母a的ASCIl码为十进制数97,且设ch为字符型变量,则表达式ch='a'+'8'-3'的值为_______。6、设main函数的说明为:intmain(intargc,char*argv[]),且有命令行为:FILE1123<回车>,则argc的值是_______,argv[1]的值是_______。7、下面add函数的功能是求两个参数的和,并将和值返回调用函数。函数中错误的部分是_______,改正后为_______。voidadd(floata,floatb){floatc;c=a+b;returnc;}8、设有如下结构体说明:structST{inta;floatb;structST*c;doublex[3];}st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。_______9、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。charcl,c2;scanf("%4c%4c",&cl,8&c2);10、若有定义:doublex[3][5];,则x数组中行下标的下限为_______,列下标的上限为_______。二、选择题11、下面不正确的字符串常量是()A.'abe'B."12'12"C."o"D.""12、以下表达式值为3的是()A.16-13%10B.2+3/2C.14/3-2D.(2+6)/(12-9)13、有定义语句inta,b;,若要通过语句scanf("%d,%d”,&a,&B.;使变量a得到数值6,变量b得到数值5,下面输入形式中错误的是()。(注:口代表空格)A.6,5<回车>B.6,囗囗5<回车>C.65<回车>D.6,<回车>5<回车>14、阅读以下程序,当输入数据的形式为25,13,10<回车>,程序的输出结果#include<stdio.h>intmain(){intx,y,z;scanf("%d%d%d”,8.x.&y,&z);printf("x+y+z=%d\n",x+y+z);return0;}A.x+y+z=48B.x+y+z=35C.x+z=35D.不确定值15、若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为。(假设a[0][0]位于数组的第一个位置上)()A.i*m+jB.j*m+iC.i*m+j-1D.i*m+j+116、一个C语言程序由()。A.一个主程序和若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成17、若i为整型变量,则以下循环执行次数是()。for(i=2;i==0;)printf("%d",i--);A.无限次B.0次C.1次D.2次18、若用数组名作为函数调用的实参,则传递给形参的是()A.数组的首地址B.数组第一个元素的值C.数组中全部元素的值D.数组元素的个数19、main函数的正确说明形式是()。A.intmain(intargc,char*argv)B.intmain(intabc,char*xabv)C.intmain(intargc,charargv)D.intmain(intc,charv[])20、若有定义:int*p[4];则标识符p。A.是一个指向整型变量的指针B.是一个指针数组名C.是一个指针,它指向一个含有四个整型元素的一维数组D.定义不合法21、以下程序的正确运行结果是()。#include<stdio.h>intf(intA.;intmain(){inta=2,i;for(i=0;i<3;i++)printf("%4d",f(A.);return(0);}intf(intA.{intb=0;staticintc=3;b++;c++;return(a+b+C.;}A.777B.71013C.7911D.78922、下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间用空格分隔。请选择填空。()#include<stdio.h>intmain(){chars[80],c1,c2='';inti=0,num=0;gets(s);while(s[i]!='\o'){c1=s[i];if(i==0)c2='';elsec2=s[i-1];if(【】)num++;i++;printf("Thereare%dwords.\n",num);return0;}A.c1==′′&&c2==''B.cl!=''&&c2==''C.c1==''&&c2!=''D.cl!=''&&c2!=''23、当运行以下程序时,从键盘输入:AhaMAAha<回车>,则下面程序的运行结果是()#include<stdio.h>intmain(){chars[80],c='a';inti=0;scanf("%s",s);while(s[i]!='\0'){if(s[i]==c)s[i]=s[i]-32;elseif(s[i]==c-32)s[i]=s[i]+32:i++;}puts(s);return0;}A)ahAMaB)AhAMaC)AhAMaahAD)ahAMaahA24、以下程序的运行结果是()。#include<stdio.h>intmain(){inta,b,d=241;a=d/100%9;b=(-1)8&.8&(-1);printf("%d,%d",a,B.;return0;}A.6,1B.2,1C.6,0D.2,025、下面程序的功能是将小写字母变成对应大写字母后的第二个字母。其中y变成A,z变成B。请选择填空()。#include<stdio.h>intmain(){charc;while((c=getchar())!=\n'){if(c>='a'8.&.c<='z/)c=c-32+2:if(c>'Z)【】;}printf("%c",C.;return0;}A.c='B'B.c='A'C.c-=26D.c=c+26三、读程序填空26、以下程序的运行结果是_______。#include<stdio.h>intmain(){intn=0;n+=(n=10);printf("%d\n",n);return0;}27、以下程序的输出结果是_______。#include<stdio.h>intmain(){intx=10;floatpi=3.1416;printf("(1)%d\n",x);printf("(2)%6d\n",x);printf("(3)%f\n",56.1);printf("(4)%14fNn",pi);printf("(5)%e\n",568.1);printf("(6)%14e\n",pi);printf("(7)%g\n",pi);printf("(8)%12g\n",pi):return0;}28、若运行以下程序时输入:100<回车>,则程序的运行结果是_______。#include<stdio.h>intmain(){inta;scanf("%d",&a);printf("%s",(a%2!=0)?"no":"yes");return0;}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、下面程序段的运行结果是_______。i=1;s=3;do{s+=i++;if(s%7==0)continue;else++i;}while(s<15);printf("%d",i);31、以下程序运行结果是_______。#include<stdio.h>intmain(){inta=1,b=2,c=3;++a;c+=++b;{intb=4,c;c=b*3;a+=c;printf("first:%d,%d,%d\n",a,b,c);a+=c;printf("second:%d,%d,%d\n",a,b,c);printf("third:%d,%d,%d\n",a,b,c);return(0);}32、下面程序段的功能是将字符数组a[6]={'a',b','c','d','e','f)变为a[6]={'f','a','b','c','d','e'}。请填空。chart,a[6]={'a','b','c','d','e','f');inti;_______;for(i=0;i<5;i++){_______;for(i=0;i<=5;i++)printf("%c",a[i]);33、以下程序的运行结果是_______。#include<stdio.h>voidfut(int**s,intp[2][3]){**s=*(*(p+1)+1);}intmain(){inta[2][3]={1,3,5,7,9,11},*p,x;p=&x;fut(&.p,a);printf("\n%d\n",*p);return(0);}四、编程题34、编写程序实现功能:对于给定的一个百分制成绩,改用相应的五级分成绩表示。设:90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E(要求用switch语句实现)。35、编写程序实现功能:输入一个复数,输出其共扼复数。例如,输入2+3i<回车>时,输出2-3i;输入2-3i<回车>时,输出2+3i。
参考答案一、填空题1、【1】~0得到一个全1的数【2】(~0<<n)得到一个左端几个1,右端全0的数【3】~(~0<<n)得到一个左端为0,右端几个1的数【4】~(~0<<n)<<(p+1-n)将几个1移到以p为起点的位置【5】x^(~(~0<<n)<<(p+1-n))对x中的指定位数用异或求反2、【1】.c【2】.obj【3】.exe3、【1】scanf【2】printf4、-605、f6、【1】4【2】17、【1】voidadd(floata,floatb)【2】floatadd(floata,floatb)8、structST9、A囗囗囗B囗囗囗<回车>10、【1】0【2】4二、选择题11、A12、B13、C14、D15、D16、B17、B18、A19、B20、B21、B22、B23、A24、B25、C三、读程序填空26、2027、(1)10(2)口口口囗10(3)56.100000(4)口口口口口口3.141600(5)5.68100e+02(6)口口口3.14160e+00(7)3.1416(8)口口口口囗囗3.1416(注:答案中的囗代表空格)28、yes29、!state30、831、first:14,4,12second:26,4,12third:26,3,632、【1】t=a[5]【2】a[i]=a[i-1]33、9四、编程题34、#include<stdio.h>intmain(){intscore,temp,log;chargrade;log=1;while(log){printf("enterscore:");s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东省东莞市大朗第一中学2025-2026学年七年级上学期期中考试英语试卷(含答案)
- 语文+答案江西2026年新高三暑假学习质量诊断(8.29-8.30)
- 传感器技术8光电式传感器中英对照
- 保险经济学第二章保险的历史
- 函数微分法及其应用
- 2026年秋季初中生秋季减脂健体科学科普课件
- 任务3采购申请与需求分析
- 初中化学《地球周围的空气》
- 2026年从丰收节读懂三农:农业强农村美农民富
- 2026银纳米管产业应用前景深度研究及行业发展趋势与投资布局分析报告
- 消防工程技术标书模板(暗标)
- 高三语文教学计划上学期-高三语文教学计划进度表(14篇)
- 创新思维与方法(第2版)PPT全套完整教学课件
- 数控铣床实训教案-自动编程
- 民航危险品运输培训课件
- 追梦少年强国有我ppt
- 农村小学音乐课教学工作总结与反思
- GB/Z 25756-2010真空技术可烘烤法兰刀口法兰尺寸
- 专业化讲师培训课件
- 建筑工程管理专业中级职称理论考试题库
- 哮喘控制测试评分表(ACT-C-ACT)
评论
0/150
提交评论