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

下载本文档

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

文档简介

2026年重庆理工大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读程序段:inta=-1;a=a|0377;printf("%d,%o\n",a,a);以上程序段的输出结果是_______。2、C语言的源程序必须通过【】和【】后,才能被计算机执行。3、C语言源程序的基本单位是________4、若有定义语句:inte=1,f=4,g=2;floatm=10.5,n=4.0,k;,则执行表达式k=(e+f)/g+sqrt((double)n)*1.2/g+m后k的值是_______。5、在C语言的赋值表达式中,赋值号左边必须是_______6、以下程序段通过指针变量q,但不移动q,将如图所示连续动态存储单元的值,从第一个元素起依次输出到终端屏幕。请填空。(假设程序段中的所有变量均已正确说明。)for(k=0;k<10;k++)printf("%d,",_______);printf("\n");7、下面add函数的功能是求两个参数的和,并将和值返回调用函数。函数中错误的部分是_______,改正后为_______。voidadd(floata,floatb){floatc;c=a+b;returnc;}8、设有以下定义和语句,请在printf语句的_______中填上能够正确输出的变量及相应的格式说明。union{intn;doublex;}num;num.n=10;num.x=10.5;printf("_______",_______);9、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。请填空。a+=_______;b=a-_______;a-=_______;10、下面程序wdm的运行结果是_______。inti,x[10]={2,3,0,3,0,2,3,2,1,3},y[4]={0};for(i=0;i<10;i++)y[x[i]]++;printf("%d\n",y[3]);二、选择题11、若x、i、j和k都是int型变量,则执行表达式x=(i=4,j=16,k=32)后x的值为()。A.4B.16C.32D.5212、已知字母A的ASCII码为十进制数65,且定义c2为字符型变量,则执行语句c2='A'+'6'-'3';后,c2中的值为()。A.DB.68C.不确定的值D.C13、有定义语句inta,b;,若要通过语句scanf("%d,%d”,&a,&B.;使变量a得到数值6,变量b得到数值5,下面输入形式中错误的是()。(注:口代表空格)A.6,5<回车>B.6,囗囗5<回车>C.65<回车>D.6,<回车>5<回车>14、根据下面的程序及数据的输入方式和输出形式,程序中输入语句的正确形式应该为。(注:口表示空格)#include<stdio.h>intmain(){charch1,ch2,ch3;输入语句printf("%c%c%c",ch1,ch2,ch3);return0;}输入形式:A口BOC<回车>输出形式:A口BA.scanf("%c%c%c",&ch1,&ch2,&ch3);B.scanf("%c,%c,%c",&&ch1,&ch2,&ch3);C.scanf("%c%c%c",&ch1,&ch2,&ch3);D.scanf("%c%c",&ch1,&ch2,&ch3);15、若有以下程序段:inta[]={4,0,2,3,1},i,j,t;for(i=l;i<5;i++){t=a[i];j=i-1;while(j>=0&&t>a[j]{a[j+1]=a[j];j--;}a[j+1]=t;则该程序段的功能是()。A.对数组a进行插入排序(升序)B.对数组a进行插入排序(降序)C.对数组a进行选择排序(升序)D.对数组a进行选择排序(降序)16、C语言规定:在一个源程序中,main函数的位置()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、在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是()A.externB.registerC.autoD.static19、若有以下说明和语句: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、设char*s="\ta\017bc”;则指针变量s指向的字符串所占的字节数()A.9B.5C.6D.721、以下程序的正确运行结果是()。#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、下面程序段的运行结果是()。inta[6],i;for(i=1;i<6;i++){a[i]=9*(i-2+4*(i>3))%5;printf("%3d",a[i]);}A)-40404B)-40403C)-40443D)-4044023、下面程序段的运行结果是()。chara[7]="abcdef";charb[4]="ABC";strcpy(a,B.;printf("%c",a[5]);A.口B.\0C.eD.f(其中口表示1个空格)24、以下程序的输出是()。#include<stdio.h>intmain(){intx=2,y=-1,z=2;if(x<y)if(y<0)z=0;elsez+=1;printf("%d\n",z);return0;3B.2C.1D.025、下面程序的运行结果是()。#include<stdio.h>intmain(){inti;for(i=1;i<=5;i++)switch(i%5){case0:printf("*");break;case1:printf("#");break;default:printf("\n");case2:printf("&.");}return0;}A)#&8&&*B)#&C)#D)#&&&&*&*&*三、读程序填空26、有以下程序:#include<stdio.h>intmain(){intk=0;charc1='a',c2='b';scanf("%d%c%c”,&k,&c1,&c2);printf("%d,%c,%c\n",k,c1,c2);return0;}若运行时从键盘输入:55AB<回车>,则输出结果是_______。27、以下程序的运行结果是_______。#include<stdio.h>intmain(){intn=0;n+=(n=10);printf("%d\n",n);return0;}28、以下程序的运行结果是_______。#include<stdio.h>intmain(){intx,y,z;x=3;y=3;z=x==y;printf("z=%d\n",z);return0;}29、下面程序的功能是:根据表4-3中给定的函数关系,对输入的每个x值计算出相应的y值。请填空。函数关系xyx=a或x=-a0-a<x<asqrt(a*a-x*x)x<-a或x>-ax#include<stdio.h>#include<math.h>intmain(){intx,a;floaty;scanf("%d%d",&x,&a);if(______)y=0;elseif(______)y=sqrt(a*a-x*x);elsey=x;printf("%f",y);30、有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,下面的程序统计卖完所需的天数。请填空。#include<stdio.h>intmain(){intday=0,x1=1020,x2;while(_______){x2=_______;x1=x2;day++;}printf("day=%d\n",day);return0;}31、已定义一个含有30个元素的数组s,函数favl的功能是按顺序分别赋予各元素从2开始的偶数,函数fav2则按顺序每5个元素求一个平均值,并将该值存放在数组w中。请填空。#include<stdio.h>#defineSIZE30voidfavl(floats[]){inti;floatk=2.0;for(i=0;i<SUZE;i++){_______;k+=2;}}voidfav2(floats[],floatw[]){floatsum;intk,i;sum=0.0;for(k=0,i=0;i<SIZE;i++){sum+=s[];if((i+1)%5==0){w[k]=sum/5;_______;k++;}intmain(){floats[SIZE],w[SIZE/5];inti;favl(s);for(i=0;i<SIZE;i++)printf("%.f",s[i]);printf("\n");fav2(s,w);for(i=0;i<SIZE/5;i++)printf("%.f",w[i]);return0;}32、下面程序的功能是在3个字符串中找出最小的。请填空。#include<stdio.h>#include<string.h>intmain(){chars[20],str[3][20];inti;for(i=0;i<3;i++)gets(str[i]);strcpy(s,(strcmp(str[0],str[1])<0?_______));if(strcmp(str[2],s)<0)strcpy(s,str[2]);printf("%s\n",_______);return0;}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、编写程序,从键盘输入6名学生的5门成绩,分别统计出每个学生的平均成绩。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、-1,1777772、

温馨提示

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

评论

0/150

提交评论