大学C语言程序设计考试参考题_第1页
大学C语言程序设计考试参考题_第2页
大学C语言程序设计考试参考题_第3页
大学C语言程序设计考试参考题_第4页
大学C语言程序设计考试参考题_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、大学C语言程序设计考试参考题选择 10*2'1 一个C程序的执行是从(A)A. 本程序的main函数开始,到main函数结束。B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结 束。C. 本程序文件的第一个函数开始,到本程序main函数结束。D. 本程序的main函数开始,到本程序文件的最后一个函数结束。2以下叙述不正确的是(D)A. 个C原程序必须包含一个main函数B. 一个C源程序可有一个或多个函数组成C. C程序的基本组成单位是函数D. 在C程序中,注释说明只能位于一条语句的后面3以下选项不属于C语言的类型是(D)A. signed short intB. unsi

2、gned long intC unsigned intD long short4以下是C语言提供的合法的数据类型关键字(B)A. FloatB signedC integerD Char5在C语言中(以16位PC机为例),5种基本数据类型的存储空间 长度的顺序排列为(A)B. char=intvlongA. char<intvlong int<=float<doubleint<=float<doubleC. char<intvlong int=float=doubleD. char=int=longint<=float<double6C语言中的标

3、识符只能由之母、数字和下划线三种字符组成,且第 个字符(C)A. 必须为字母B.必须为下划线C.必须为字母和下划线D.可以是字母、数字和下划线中任一字符7以下不正确的叙述是(D)A在C程序中,逗号运算符的优先级最低B在C程序中,APH和aph是两个不同的变量C.若a和b类型相同,在执行了赋值表达式a=b后b中的值将放入 a中,而b中的值不变D当从键盘输入数据时,对于整型变量只能输入整型数据,对于实 型变量只能输入实型变量&若以下变量均是整型,且num=sum=7;,则执行表达sum=num+, sum+, +num 后 sum 的值为(A)A. 7B. 8C. 9D. 109假设所有变

4、量均为整型,则表达式(a=2,b=5,b+,a+b)的值是(B)A. 7B. 8C. 6D. 210.若x,y均定义为int型,z定义为double型,以下不合法的scanf-总结资料-函数调用语句是(D)A. scanf(" %d%1x,%le",&x,&y,&z);B.scanf(" %2d*%d%lf"&x,&y,&z);C. scanf(" %x%*d%oH, &x,&y);D. scanf(" %x%o%62f“,&x,&y,&z);11

5、 .有输入语句 scanf(" a=%d,b=%d,c=%d" , &a,&b,&c);,为使变量 a 的值为1, b为3, c为2,从键盘输入数据的正确形式应当是(D)A. 132 (回车)B. 1,3,2 (回车)C. a=1 b=3 c=2 (回车)D. a=1 ,b=3,c=2 (回车)12阅读以下程序,当输入数据的形式为25,13,10<CR>时,正确的输 入结果为(D)main()int x,y,z;scanf(“ d%d,%d”,&x,&y,&z);prin tf("x+y+z=%drf;x

6、+y+z);A. x+y+z=48B. x+y+z=35C. x+z=35D不确定值13直ch是字符型变量,下面不正确的赋值语句是(A)A.cha+b*;B.chJO:C.ch=,7'+,9,;D. ch=5+9;14执行下列程序片段时输岀结果是(C)int x=13,y=5;printfC' %d,x%=(y/=2);A. 3B. 2C 1D. 015若运行时输入:12345678/,则下列程序运行结果为(A)main ()int a,b;scanff %2d%2d%3dn, &a,&b);printf(H%dn ",a+b);A. 46B. 579

7、C. 5690D.出错16能正确表示“当x的取值在1,10和200,210围为真,否则为假” 的表达式是(C)a.(x>=i)aa(x<=io)aa(x>=2oo)aa(x<=2io)B. (x>=1) II (x<=10) II (x>=200) II (x<=210)C. (x>=1)&&(x<=10) II (x>=200)&&(x<=210)D. (x>=1) II (x<=10)&&(x>=200) II (x<=210)17若希望当A的值为

8、奇数时,表达式的值为 嗔”;A的值为偶数时,表达的值为“假”,则以下不能满足的表达式是(C)A.A%2=1B. ! (A%2= =0)C(A%2)D.A%21&判断char型变量c1是否为小写字母,正确的表达式为(D)A. ,a'<=c1<='z,B. (c1 >=a)&&(c1<=z)C. (a'xcl) | ('z'<=c1)D. (c1>=d)&&(c1<='z')19设有 int a=1 ,b=2,c=3,d=4,m=3,n=2,执行(m=a>

9、b)&&(n=c>d)后 n的值为(B)A.1B.2C.3D.420执行以下语句后a的值为(C)int a,b,c;a=b=c=1;+a | +b&&+c;A错误B.OC.2D.121 下面有关for循环的正确描述是(D)A. for循环只能用于循环次数已经确定的情况Bfor循环是限制性循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体Dfor循环的循环体语句中,可以包含多条语句,但必须用花括号括起来22对for (表达式1;表达式3)可理解为(B)A .for (表达式1; 0;表达式3)B. for (表达式1; 1;表达式3)

10、C.for (表达式1;表达式1;表达式3) D. for (表达式1;表达 式3;表达式3)23以下正确的描述是(B)A. continue语句的作用是结束整个循环的执行B只能再循环体和switch与具体使用break语句C再循环体使用break语句或continue语句的作用相同D从多层循环嵌套中退出时,只能使用goto语句24以下程序的循环次数是(B)for(i=2;i= =0;) printf("%d, i-)A无限次B.O次C1次D.2次25若有如下语句int x=3;do printf("%dn,x= =2);while(!(- -x);则上面程序段(B)A.输

11、岀的是1B输岀的是1和2C输岀的是3和0D.是死循环26以下说法中正确的是(B)A. 个函数在它的函数体调用它自身称为嵌套调用B. 一个函数在它的函数体调用它自身称为递归调用,这种函数称为 递归函数C. 一个函数在它的函数体调用其它函数称为递归调用,这种函数称 为递归函数D一个函数在它的函数体不能调用自身27在一个源文件中定义的全局变量的作用域为(D)A本文件的全部围B本程序的全部围C. 本函数的全部围D. 从定义该变量的位置开始至本文件结束28.下不正确的描述为(D)A在函数之外定义的变量为外部变量,外部变量是全局变量B在函数中既可以使用本函数中的局部变量,又可以使用全局变量C若在同一个源文

12、件中,外部变量与局部变量同名,则在局部变量 的作用围,外部变了不起作用D以上都不正确29以下叙述中不正确的是(D)A在不同的函数中可以使用相同名字的变量B函数中的形式参数是局部变量C. 在一个函数定义的变量只在本函数有效D. 在一个函数的复合语句中定义的变量在本函数围有效30下列叙述错误的是(B)A对于用户自己定义的函数,在使用前有时可以加以说明B说明函数时必须明确其返回值类型,不需要确定其参数的类型C. 函数可以返回一个值,也可以什么字也不返回D. 空函数不能完成任何操作,所以在程序设计中没有用处31 下列叙述中正确的是(A)A局部变量说明static存储数,其生存期间得到延长B全局变量说明

13、static存储类,其作用域将被扩大C人和存储类的变量再未付初值时,其值都是不确定的D形参可以使用的存储类说明符与局部变量完全相同32下列说法中正确的是(C)A.形参是全局变量,其作用围仅限于函数部B.形参是全局变量,其作用围从定义只岀到文件结束C.形参是局部变量,其作用围仅限于函数部D.形参是局部变量,其作用围从定义只出到文件结束-总结资料-33当全局变量与函数部的局部变量同名时,则在函数部(B)A.全局变量有效B局部变量有效C全局变量和局部变量都有效D.全局变量和局部变量都无效 34下能对二维数组a进行正确初始化的语句是(B)B. intD. intA. int a2=1,0,1,5,2,

14、3;a3 =1,2,3,4,5,6;C. int a24=1,2,3,4,5,6;a335若说明int a34=0;,JliJ下面正确的叙述是(D)A只有元素a00可得到初值0B此说明与语句不正确C.数组a中个元素都可得到初值,但气质不一定为0D数组a中各元素都可以得到初值036.若说明inta4=0,0;,jliJ下面不正确的叙述是(D)A. 数组a的每个元素都可得到初值0B. 二维数组a中第一位大小为1C. 因为二维数组a中第二位的值除以初值个数的商为1,故数组a 的行数为1D只有元素a00和a0可得到初值0,其余元素均得不到初值37若二维数组a有m列,则计算任意元素aij在数组中位置的公

15、 式为(D)(设a00位于数组的第一个位置上)A. i*m+jB. j*m+lC. i*m+j-1 D. i*m+j+13&若有说明int a3=1,2,3,4,5,6,7;,则数组a第一位大小是(A)A.2B.3C.4D.无确定值39设有数组定义char array = "China ,则数组array所占的空间 为(C)A.4个字节B.5个字节C.6个字节 D.7个字节40下面是对s的初始化,其中不正确的是(D)A. char s5= "abc ”B. char s5= 'a ; 'b *c';C. char s5= "&quo

16、t;D. char s5= "abcdef "41 对两个数组a和b进行如下初始化:char a="ABCDEF “;char b='A ; ' B; 'C ;'D ;'E *, 'F '则以下叙述正确的是(D)A. a与b数组完全相同Ca和b中都存放字符串B. a与b长度相同D. a数组比b数组长度长42变量的指针,其含义是指该变量的(B)A.值B.地址C.名D.个标志43若有语句int a=4,*point=&a;,下面军代表表地址的一组选项是(D)A. a,point&aB&*a

17、,&a,*pointC *point,point,&aD&a,&*point,point44若已定义char s10;,则在下面表达式中不表示s的地址的是(B)A.s+1B.S+C.&s0+1D.&s145下列程序的运行结果是(B)#in clude<stdio>h>main()int a,b;for(a=1,b=1 ;a<=100;a+)讦(b>=20)break;if(b%3= =1)b+=3;c ontinue;b-=5printf("%dn ",a);C.9D.10A.7B.846下列程序

18、的运行结果是(A)include "stdio.h “main()inti;for(i=1;i<=5;i+)if(i%2)printf(,*H);else continue;printf (“#”);Printf(n$n ");A. *#*#*#$B. #*#*#* $47下列程序的运行结果是(A)main()int i,j,a=O;for (i=0;i<2;i+)for(j=0;j<=4;j+)if(j%2)break;a+;a+Printf("%dn ",a);D.7A.4B.5C.6二. 阅读程序5*6,1 下列程序的运行结果是2

19、,0,0void main()int a=-1,b=3,c=3;int s=O,w=O,t=O; if(c>O)s=a+b;if(a<=0)if(b>0)if(c<=0)else if(c>O)w=a-b;else t=c;printf(”d,%d,%d ",s,w,t);2下列程序的运行结果是#8void main()int a=2,b=7,c=5;switch(a>0)case 1:switch(b<0)case 1: printf(m,);break;case 2: printfC!");break;总结资料case 0:sw

20、itch(c=5)case 0: printfC'*");break;case 1: printf(”#”);break;default: printf(”#”);break;default: printf("&");3下列程序的运行结果是-850,2,0#in clude<stdio.h>main()int i J,row,column,m;int array33=100,200,300,28,72,-30-850,2,6;m=array00;for(i=o;i<3;i+)for(j=0;j<3;j+)if(arrayij

21、<m)m=arrayi j; row=l;colu mn=j;printfd,%d,%dn lf,m,row,column);3下列程序的运行结果是sum=6#in clude<stdio.h>main()int a33=1,3,5,7,9,11,13,15,17;int i,j,sum=0;for(i=0;i<3;i+)for(j=0;j<3;j+)aij=i+j;lf(i= =j)sum=sum+aij;prin tf(,nsum=%d,',sum);1 00000 10004 下列程序的运行结果是00 100000 1 00000 1#in clud

22、e<stdio.h>-总结资料-main()int a66,i,j;for(i=1;i<6;i+)for(j=1;j<6;j+)for(i=1;i<6;i+)for(j=1;j<6;j+)printfC %2d" ,aij);5下列程序的运行结果是5,6#in clude<stdio.h>int t(int x,int y,int cp,int dp )cp=x*x+y*y;dp=x*x-y*y;main()int a=4,b=3,c=5,d=6;t(a,b,c,d);printf("%d, %dn",c,d);i=

23、7,j=6,x=7;6下列程序的运行结果是i=2,j=7,x=5;void main()int i=2,x=5,j=7;fun(j,6);prin tf(,i=%d;j=%d;x=%dnH,l,j,x);fun(int ijnt y)int x=7;printf(,i=%d;j=%d;x=%d;x=%dn",l,j,x);7下列程序的运行结果是gcd=12gcd(int m,int n)if(m= =n)return m;else if(m>n)return gcd(m-n,n);else return gcd(m,n-m);main()Printf(,gcd=%dn,gcd(

24、24>36)&下列程序的运行结果是14#in clude<stdio.h>long fun(int n)long s;if (n二=1 | n二=2) s=2;else s=n+fun(n-1);return s;void main()prin tf(“dn“,fun(5);三. 程序填空5*21 下列程序用来对从键盘上输入的两个字符串进行比较,然后输入两 个字符串中第一个不相同字符的ASCII码之差。例如:输入的两个字 符串分别为abcdef和abceef,则输岀为1。请填空。#in clude<stri ng.h>main()char str100,s

25、tr2100,c;int i,s;printf("n input string 1:n");gets(str1);prin tf(' 'n in put string 2:n ");gets(str2);i=0;while(str1i= =str2i&&(str1i!= '0 'i+s= str1i-str2iprintf(H%dn ",s);2以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出 平均成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用 输入负数结束输入。请填空。#in clud

26、e<stri ng.h>main() float x1000,sum=0.0,ave,a;int n=0,lprintf("Enter mark:n,f);总结资料scanfCf, &a);while(a>=0.0&&n<1000)sum+ =axn= an+;scan f(”f“, &a);ave= sum/nprintfC'OutputAn");prin tf("ave=%fn,ave);for(l=0;l<n;l+)if( xlave )printf(”%fn”,xl);3下列程序的功能是

27、求3个变量的最小公倍数,请填空。long sp(int i)static long k=1;k= k*ireturn k;main()int n丄scanfd';&n);for(i=1; iv=n ;i+)printf(,%dn,', i,sp(i)4下列程序的功能失求3个变量的最小公倍数,请填空。max(int x,int y,int z)if(x>y&&x>z)return x;else if(y>=x&&y>z) return y ;else return z;main()int x,y,z,s,i=1,j;

28、scanf (“ d%d%d, &x, &y, &z);s= max(x,y,z)while(1)j=i*s;if( j%x= =0&&j%y= =0&&j%z= =O)break;i+;-总结资料-printf(u%dn,j);四. 程序代码2*15'13. 编一程序,将两个字符串连接起来,不要strcat函数。编写程序如下:include "stdio.h"main()inti,j;char str1 100,str2100,str3201;gets(strl);gets(str2);for(i=0;str1i!='0,;i+)str3i=str1i;for(j=0;str2j!=

温馨提示

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

评论

0/150

提交评论