湖南工程学院C语言程序考试复习题有_第1页
湖南工程学院C语言程序考试复习题有_第2页
湖南工程学院C语言程序考试复习题有_第3页
湖南工程学院C语言程序考试复习题有_第4页
湖南工程学院C语言程序考试复习题有_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

湖南工程学院C语言程序考试复习题有湖南工程学院C语言程序考试复习题有PAGEPAGE16湖南工程学院C语言程序考试复习题有PAGE精选文档

2021湖南工程学院年C语言程序考试题

一、单项选择题

1.C程序的根本组成单位是〔C〕

A)文件B)命令C)函数D)语句

在C语言中,'a'是〔B〕

A)字符串常量B)字符常量C)变量D)函数

3.在C语言中,“a=b=c=5〞属于哪一种表达式?〔B〕A)关系B)赋值C)逻辑D)非法4.设a、b为整型,那么表达式(a=2,b=5,b++,a+b)的值是〔D〕A)2B)6C)7D)8假定有以下变量定义:intb=2;floata=5;那么表达式“a/b〞之值为〔A〕B)2C)3D)5/26.假定j=3,那么表达式(++j)+(j++)的值为〔C〕A)6B)7C)8D)107.以下只好输入单个字符的函数是〔C〕A)printf()B)puts()C)getchar()D)putchar()8.假定a的原值为4,那么表达式“a*=a-=3〞运算后,a的值是〔D〕A)13B)4C)3D)1假定a=5、b=3、c=1,那么表达式“a>b>c〞的值为〔A〕A)0B)1C)3D)5假定有代数式:3aebc以下错误的C语言表达式是〔C〕A)a/b/c*e*3B)3*a*e/b/cC)3*a*e/b*cD)a*e/c/b*3以下能输出字符数组str中字符串的语句是〔B〕A)printf("%c",str[0]);B)printf("%s",str);C)printf("%s",str[]);D)putchar(str);12.假定p=&x,那么以下关系表达式之值为1的是〔B〕A)p==xB)*p==xC)&p==xD)*x==p13.C语言中最根本的数据种类包含〔B〕A)整型、实型、逻辑型B)整型、实型、字符型C)整型、逻辑型、字符型D)整型、实型、字符串型14.C语言中,要求运算对象一定是整型数据的运算符是〔A〕A)%B)/C)\D)&&1欢送下载。精选文档表示数学关系“x≥y≥z〞的C语言表达式是〔C〕A)x>=y>=zB)x>=y||y>=zC)x>=y&&y>=zD)x≥y≥z以下说法中正确的选项是〔C〕A)C程序老是从文件中第一个函数开始履行B)C程序中,只有main()函数才能够调用其余函数C)C程序老是从main()函数开始履行D)C程序中的main()函数一定放在程序的开头假定有定义:inta=7;floatx=2.5,y=4.7;那么表达式x+a%3*(int)(x+y)%2/4的值为〔A〕D)018.设变量a是整型,f是实型,i是双精度型,那么表达式10+'a'+i*f值的数据种类为〔C〕A)intB)floatC)doubleD)不确立有输入语句:scanf("%d,%d",&a,&b);为使变量a、b分别为5和3,从键盘输入数据的正确形式为〔B〕A)53<回车>B)5,3<回车>C)a=5b=3<回车>D)a=5,b=3<回车>定义以下变量和数组:intj;intx[3][3]={1,2,3,4,5,6,7,8,9};那么下边语句的输出结果是〔C〕for(j=2;j>=0;j--)printf("%2d",x[j][2-j]);A)159B)147C)753D)369履行下边程序后,a的值是〔B〕#include<stdio.h>#defineSQR(x)x*xvoidmain(){inta=10,k=2,m=1;a=SQR(k+m);printf("%d\n",a);}A)10B)5C)2D)1以下表达不正确的选项是〔C〕在函数内部定义的变量是局部变量函数中的形式参数是局部变量全局变量的作用范围仅限于其所在的整个文件欢送下载。精选文档局部量的作用范限于本函数a=3,b=4,c=2,d=1,表达式“a>b?a:c>d?c:d〞的〔C〕A)4B)3C)2D)1有以下程序段:x=-1;dox=x*x;while(!x);行,循体行的次数〔B〕A)0B)1C)2D)不确立以下不正确的if句形式是〔C〕A)if(x>y&&x!=y);B)if(x==y)x+=y;C)if(x!=y)scanf("%d",&x)elsescanf("%d",&y);D)if(x<y){x++;y++;}以下程序的出果是〔C〕#include<stdio.h>voidmain(){intx=2,y=-1,z=2;if(x<y)if(y<0)z=0;elsez+=1;printf("%d\n",z);}A)0B)1C)2D)3以下能正确算1×2×3×⋯×10的程序段是〔A〕A)i=1,s=1;B)s=1;i=1;dowhile(i<=10){s=s*i;i++;}s=s*(++i);while(i<11);C)for(i=1,s=0;i<=10;i++)D)for(i=1,s=1;;i++)s=s*i;s=s*i;28.假定j整型量,以下循行次数是〔C〕for(j=0;j==0;)printf("%d",j--);A)无穷次B)0次C)1次D)2次29.假定有明:inta[10];a数元素的正确引用是〔C〕A)a[3.5]B)a(8)C)a[6-5]D)a[10]3欢送下载。精选文档30.C语言规定,变量做实参时,它和对应形参之间的数据传达方式是〔B〕A)地点传达B)单向值传达C)双向值传达D)由用户指定传达方式31.C中,一个float种类的数据在内存中占〔C〕个字节。A)1B)2C)4D)8设有程序段:intk=5;while(k<=0)k--;那么以下描绘中正确的选项是〔C〕A)while循环履行5次B)循环是无穷循环C)循环语句一次也不履行D)循环体语句履行一次33.下边程序段的运转结果是〔B〕charc[5]={'a','b','\0','c','\0'};printf("%s",c);A)'a''b'B)abC)AbcD)"abc"34.以下不正确的字符串赋值语句是〔C〕A)char*s;s="abcde";B)chars[]="abcde";C)chars[10];s="abcde";D)char*s="abcde";35.设p1、p2是指向int型一维数组的指针变量,k为int型变量,以下错误的语句是〔B〕A)k=*p1+*p2;B)p2=k;C)p1=p2;D)k=p2-p1;下边程序的输出结果是〔A〕#include<stdio.h>voidmain(){chars[]="ABCD";char*p;for(p=s;p<s+4;p++)printf("%s\n",p);}A)ABCDB〕AC〕DD〕ABCDBCDBCABCCDCBABDDAA37.以下对于C函数的定义和调用描绘正确的选项是〔B〕函数的定义能够嵌套,但函数的调用不行嵌套函数的调用能够嵌套,但函数的定义不行嵌套函数的定义和调用均能够嵌套函数的定义和调用均不行嵌套38.以下对于变量的作用域说法正确的选项是〔D〕在不一样函数中不可以使用同样名字变量4欢送下载。精选文档在函数外面定的量只在本函数范内有效在函数内的复合句定的量在本函数内有效形式参数是局部量39.以下对于量的作用域表达不正确的选项是〔C〕在函数内部定的量是局部量函数中的形式参数是局部量全局量的作用范限于其所在的文件局部量的作用范限于本函数40.以下对于C函数参数法不正确的选项是〔B〕参能够是常量、量和表达式形参能够是常量、量和表达式参能够随意数据型形参加的参型一致41.以下对于C函数返回的表达正确的选项是〔D〕被函数中只有使用return句才能返回主函数使用一个return句能够返回多个函数函数返回型取决于return句中的表达式型函数返回型取决于定函数所指定的型42.在C中,“a>b>c〞属于哪一种表达式?〔A〕A)关系B)C)D)非法以下不合法的C表达式是〔C〕A)10||8B)12==9+1C)++5D)x!=y定以下程序段:intn=10;while(n>6){n--;printf("%3d",n);}以上程序段出果是〔D〕A)1098B)987C)10987D)987645.假定i,j已定int型,以下程序段中内循的行次数是〔C〕for(i=5;i>0;i--)for(j=1;j<6;j++){⋯⋯}A)30B)24C)25D)2046.假定已定:float*p,m=3.14159;使p指向m正确的句是〔B〕A)p=m;B)p=&m;C)*p=m;D)*p=&m;5欢送下载。精选文档47.假定已定义:chars[10];那么下边表达式中不可以表示s[1]地点的是〔A〕A)s++B)s+1C)&s[0]+1D)&s[1]二、填空题1.函数是C程序的根本组成单位,C程序老是从main函数____开始履行的。赋值表达式x*=y+5的另一种书写形式为x=x*(y+5)3.a=10,b=20,c=3,那么表达式a>b||c的值为14.整数m既能被3整除又能被4整除的逻辑表达式为(m%3==0)&&(m%4==0)5.假定有定义:doublea[10][5];那么数组a中行下标最大值为9,列下标最大值为4。6.假定有定义:inta[]={1,4,6,5,8,9};那么*(a+5)的值为97.设有以下定义inta[5][6],*p;取数组元素a[4][2]的地点放到p中的语句为p=&a[4][2];未加特别说明〔说明为静态的〕的全局变量是外面的,能被其余文件中的函数使用,而在引用它的文件中,需要用重点字extern说明。a=10,b=20,那么表达式!a>b的值为0写出0<x<1的C逻辑表达式(0<x)&&(x<1)11.假定有定义:inta[10],*p=a;那么元素a[5]的值用p表示的形式是*(p+5)假定有定义:int*p[4];那么表记符p表示数组长度为4的一维指针数组13.凡是函数中未指定储存种类的局部变量,其默认的储存种类为auto三、程序填空下边程序的功能是:从键盘输入一个字符,假定是大写字母,那么变换为小写字母并输出,假定为小写字母那么直接输出,请在_____处填上适合内容,使程序完好。#include<stdio.h>voidmain(){charch;ch=getchar();if(ch>='A'&&ch<='Z')ch+=32;printf("%c",ch);}下边程序的功能是:求1~100间的偶数和,请在_____处填上适合内容,使程序完好。#include<stdio.h>voidmain(){intnum,sum=0;for(num=2;num<=100;num=num+2)sum=sum+num;printf("1-100间的偶数和是:%d\n",sum);}下边程序段是求n!的递归函数,请将函数增补完好。doublefac(intn){doubleresult;欢送下载。精选文档if(n==1)result=1;elseresult=n*fac(n-1);eturn(result);}以下程序的功能是:输入一整数n,判断能否为素数。#include<stdio.h>#include<math.h>voidmain(){inti,n;scanf("%d",&n);for(i=2;i<=sqrt(n);i++)if(n%i==0)break;if(i>sqrt(n))printf("%disaprimenumber.\n",n);elseprintf("%disnotaprimenumber.\n",n);}四、阅读程序#include<stdio.h>voidmain(){charch;intcnt1=0,cnt2=0;while((ch=getchar())!='\n')if(ch>='a'&&ch<='z')cnt1++;elsecnt2++;printf("COUNT=%d\n",cnt1);}假定输入“ThisisaCprogram.〞,运转结果:COUNT=13#include<stdio.h>voidmain(){inti,j,temp;inta[]={0,1,2,3,4,5,6,7,8,9};for(i=0,j=9;i<j;i++,j--){temp=a[i];a[i]=a[j];a[j]=temp;}7欢送下载。精选文档for(j=0;j<10;j++)printf("%2d",a[j]);}运转结果:9876543210#include<stdio.h>#include<string.h>voidmain(){charstr1[20]="good",str2[]="morning";inti,j;for(i=strlen(str1),j=0;str2[j]!='\0';i++,j++)str1[i]=str2[j];str1[i]='\0';printf("string1=%s",str1);}运转结果:string1=goodmorning#include<stdio.h>voidmain(){inti,j,pos;floatval,a[10];for(i=0;i<10;i++)scanf("%f",&a[i]);val=a[0];for(j=0;j<10;j++)if(a[j]>val){val=a[j];pos=j;}printf("Max=%f,position:%d",val,pos);}本程序的功能是:从键盘输入10个数存到数组a中,求10个数的最大值及其地点当程序运转时,从键盘输入“1029384756〞,运转结果:Max=9.000000,position:3#include<stdio.h>floataverage(intx[],intn){inti;floatsum=0;for(i=0;i<n;i++)sum+=x[i];return(sum/n);}voidmain()8欢送下载。精选文档{inta[5]={2,4,6,8,10};floatrst;rst=average(a,5);printf("result=%f\n",rst);}运转结果:给定以下程序:#include<stdio.h>voidmain(){chargrade;scanf("%c",&grade);switch(grade){case'A':printf("85—100\n");break;case'B':printf("70—84\n");break;case'C':printf("60—69\n");break;case'D':printf("<60\n");break;default:printf("error\n");}}当程序运转时,从键盘输入“D〞,输出的结果是:<60给定以下程序:#include<stdio.h>voidmain(){inta[5]={2,5,3,7,6},i,j,t;for(i=0;i<4;i++)for(j=0;j<4-i;j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}for(i=0;i<5;i++)printf("%3d",a[i]);}该程序的功能是:用“起泡法〞对数组a中的5个整数按由小到大排序并输出输出的结果为:23567给定以下程序:#include<stdio.h>voidfun(){autointb=0;staticintc=4;b++;c++;9欢送下载。精选文档printf("b=%dc=%d\n",b,c);}voidmain(){inti;for(i=0;i<3;i++)fun();}运转果是:b=1c=5b=1c=6b=1c=7定以下程序:#include<stdio.h>#include<string.h>voidmain(){char*p1,*p2,c,s[50];gets(s);p1=s;p2=s+strlen(s)-1;for(;p1<p2;p1++,p2--){c=*p1;*p1=*p2;*p2=c;}printf("Thenewstringis%s\n",s);}此程序的功能是:从入一字符串寄存到数s中,将此字符串逆序出当程序运转,从入“abcwe#y〞,出的果是:Thenewstringisy#ewcba五、按要求编程写0~100之偶数之和的程序。#include<stdio.h>voidmain(){intnum,sum=0;for(num=2;num<=100;num=num+2)sum=sum+num;printf("sum=%d\n",sum);}程算1!+2!+3!+⋯+20!。#include<stdio.h>10欢送下载。精选文档voidmain(){floats=0,t=1;intn;for(n=1;n<=20;n++){t=t*n;s=s+t;}printf("1!+2!++20!=%e\n",s);}统计由键盘输入的随意一串字符中空格的个数。#include<stdio.h>voidmain(){charch;intspace=0;while((ch=getchar())!='\n')if(ch=='')space++;printf("konggeshu=%d\n",space);}编写程序找出1—100之间的素数,并统计素数的个数。#include<stdio.h>#include<math.h>voidmain(){intm,k,i,n=0;for(m=1;m<=100;m=m+2){k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0)break;if(i>=k+1){printf("%3d",m);n=n+1;}11欢送下载。精选文档if(n%10==0)printf("\n");}printf("\ntotalnumberis=%d",n);}打印三角形〔10行〕。要求:使用二数和循句。1111211331⋯⋯#include<stdio.h>#defineN11voidmain(){inti,j,a[N][N];for(i=1;i<N;i++){a[i][i]=1;a[i][1]=1;}for(i=3;i<N;i++)for(j=2;j<=i-1;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];for(i=1;i<N;i++){for(j=1;j<=i;j++)printf("%6d",a[i][j]);printf("\n");}}从入10个数,找出最大与最小,并算它的均匀。#include<stdio.h>voidmain(){floata[10],aver,sum,max,min;inti;for(i=0;i<10;i++)scanf("%f",&a[i]);12欢送下载。精选文档max=min=a[0];sum=a[0];for(i=1;i<10;i++){if(a[i]>max)max=a[i];elseif(a[i]<min)min=a[i];sum=sum+a[i];}aver=sum/10;printf("aver=%f,max=%f,min=%f",aver,max,min);}7.写一个函数求两个整数的最大条约数,函数原型为:intgongyue(intm,intn),在主函数中从键盘输入两个整数,而后调用gongyue函数,并输出结果。#include<stdio.h>intgongyue(intm,intn){inti;for(i=m;i>=1;i--)if(m%i==0&&n%i==0)break;return(i);}voidmain(){inta,b;scanf("%d,%d",&a,&b);printf("maxgongyueis%d",gongyue(a,b));}8.写一个函数对随意长度的字符串按由大到小排序,函数原型为:voidsort(charstr[]),在主函数中输入字符串,而后调用sort函数,并输出排序结果。#include<stdio.h>#include<string.h

温馨提示

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

评论

0/150

提交评论