ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:21.81KB ,
资源ID:27577000      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27577000.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(大学C语言程序设计考试参考题.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

大学C语言程序设计考试参考题.docx

1、大学C语言程序设计考试参考题大学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 s

2、hort int B. unsigned long int C. unsigned int D. long short4.以下是C语言提供的合法的数据类型关键字(B) A. Float B. signed C. integer D. Char5.在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的顺序排列为(A) A. charintlong int=floatdouble B. char=intlong int=floatdouble C. charintlong int=float=double D. char=int=long int=floatdouble6.C语言中的标

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

4、.假设所有变量均为整型,则表达式(a=2,b=5,b+,a+b)的值是(B) A. 7 B. 8 C. 6 D. 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%o,&x,&y); D. scanf( %x%o%6.2f,&x,&y,&z);11.有输入语句scanf( a=%d,b=%d,c=%d , &a,&b,&c);,为使变量a的值为1,b为3,c为2,从键盘输入数据的正确形式应

5、当是(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时,正确的输入结果为(D) main( ) int x,y,z; scanf( %d%d,%d, &x,&y,&z); printf(x+y+z=%dn,x+y+z); A. x+y+z=48 B. x+y+z=35 C. x+z=35 D. 不确定值13.一直ch是字符型变量,下面不正确的赋值语句是(A) A.ch=a+b; B.ch=0; C.ch=7+9; D.ch=5+9;14.执行下列程序片段时输出

6、结果是(C) int x=13,y=5; printf( %d,x%=(y/=2); A. 3 B. 2 C. 1 D. 015.若运行时输入:12345678,则下列程序运行结果为(A) main () int a,b; scanf( %2d%2d%3d,&a,&b); printf(%dn ,a+b); A. 46 B. 579 C. 5690 D. 出错16.能正确表示“当x的取值在1,10和200,210范围内为真,否则为假”的表达式是(C) A. (x=1)&(x=200)&(x=1) (x=200)(x=1)&(x=200)&(x=1) (x=200) (x=210)17.若希望当

7、A的值为奇数时,表达式的值为“真”;A的值为偶数时,表达的值为“假”,则以下不能满足的表达式是(C) A.A%2=1 B.!(A%2= =0) C.!(A%2) D.A%218.判断char型变量c1是否为小写字母,正确的表达式为(D) A. a=c1=a)&(c1=c1) (z=a)&(c1b)&(n=cd)后n的值为(B) A.1 B.2 C.3 D.420.执行以下语句后a的值为(C) int a,b,c; a=b=c=1; +a+b&+c; A.错误 B.0 C.2 D.121.下面有关for循环的正确描述是(D) A. for循环只能用于循环次数已经确定的情况 B. for循环是限制

8、性循环体语句,后判断表达式 C.在for循环中,不能用break语句跳出循环体 D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来22.对for(表达式1;表达式3)可理解为(B) A . for(表达式1;0;表达式3) B. for(表达式1;1;表达式3)C. for(表达式1;表达式1;表达式3) D. for(表达式1;表达式3;表达式3)23.以下正确的描述是(B) A. continue语句的作用是结束整个循环的执行 B.只能再循环体内和switch与具体内使用break语句 C.再循环体内使用break语句或continue语句的作用相同 D.从多层循环嵌套

9、中退出时,只能使用goto语句24.以下程序的循环次数是(B) for(i=2;i= =0;) printf(%d, i- -) A.无限次 B.0次 C.1次 D.2次25.若有如下语句 int x=3; do printf(%dn,x= =2);while(!(- -x); 则上面程序段(B) A.输出的是1 B.输出的是1和2 C.输出的是3和0 D.是死循环26.以下说法中正确的是(B) A. 一个函数在它的函数体内调用它自身称为嵌套调用 B. 一个函数在它的函数体内调用它自身称为递归调用,这种函数称为递归函数 C. 一个函数在它的函数体内调用其它函数称为递归调用,这种函数称为递归函数

10、 D. 一个函数在它的函数体内不能调用自身27.在一个源文件中定义的全局变量的作用域为(D) A.本文件的全部范围 B.本程序的全部范围 C.本函数的全部范围 D.从定义该变量的位置开始至本文件结束28.一下不正确的描述为(D) A.在函数之外定义的变量为外部变量,外部变量是全局变量 B.在函数中既可以使用本函数中的局部变量,又可以使用全局变量 C.若在同一个源文件中,外部变量与局部变量同名,则在局部变量的作用范围内,外部变了不起作用 D.以上都不正确29.以下叙述中不正确的是(D) A.在不同的函数中可以使用相同名字的变量 B.函数中的形式参数是局部变量 C.在一个函数内定义的变量只在本函数

11、内有效 D.在一个函数内的复合语句中定义的变量在本函数范围内有效30.下列叙述错误的是(B) A.对于用户自己定义的函数,在使用前有时可以加以说明 B.说明函数时必须明确其返回值类型,不需要确定其参数的类型 C.函数可以返回一个值,也可以什么字也不返回 D.空函数不能完成任何操作,所以在程序设计中没有用处31.下列叙述中正确的是(A) A.局部变量说明static存储数,其生存期间得到延长 B.全局变量说明static存储类,其作用域将被扩大 C.人和存储类的变量再未付初值时,其值都是不确定的 D.形参可以使用的存储类说明符与局部变量完全相同32.下列说法中正确的是(C) A. 形参是全局变量

12、,其作用范围仅限于函数内部 B. 形参是全局变量,其作用范围从定义只出到文件结束 C. 形参是局部变量,其作用范围仅限于函数内部 D. 形参是局部变量,其作用范围从定义只出到文件结束33.当全局变量与函数内部的局部变量同名时,则在函数内部(B) A.全局变量有效 B.局部变量有效 C.全局变量和局部变量都有效 D.全局变量和局部变量都无效34.一下能对二维数组a进行正确初始化的语句是(B) A. int a2=1,0,1,5,2,3; B. int a3=1,2,3,4,5,6; C. int a24=1,2,3,4,5,6; D. int a3=1,0,1,1,1;35.若说明int a34

13、=0;,则下面正确的叙述是(D) A.只有元素a00可得到初值0 B.此说明与语句不正确 C.数组a中个元素都可得到初值,但气质不一定为0 D.数组a中各元素都可以得到初值036. 若说明int a4=0,0;,则下面不正确的叙述是(D) A.数组a的每个元素都可得到初值0 B.二维数组a中第一位大小为1 C.因为二维数组a中第二位的值除以初值个数的商为1,故数组a的行数为1 D.只有元素a00和a01可得到初值0,其余元素均得不到初值37.若二维数组a有m列,则计算任意元素aij在数组中位置的公式为(D)(设a00位于数组的第一个位置上) A. i*m+j B. j*m+I C. i*m+j

14、-1 D. i*m+j+138.若有说明int a3=1,2,3,4,5,6,7;,则数组a第一位大小是(A) A.2 B.3 C.4 D.无确定值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= D. char s5= abcdef 41.对两个数组a和b进行如下初始化: char a=ABCDEF ; char b=A , B, C , D

15、, E , F ; 则以下叙述正确的是(D) A. a与b数组完全相同 B. a与b长度相同 C. a和b中都存放字符串 D. a数组比b数组长度长42.变量的指针,其含义是指该变量的(B) A.值 B.地址 C.名 D.一个标志43.若有语句int a=4,*point=&a;,下面军代表表地址的一组选项是(D) A. a,point,*&a B.&*a,&a,*point C. *point,point,&a D.&a,&*point,point44.若已定义char s10;,则在下面表达式中不表示s1的地址的是(B) A.s+1 B.s+ C.&s0+1 D.&s145.下列程序的运行

16、结果是(B) #include main( ) int a,b;for(a=1,b=1;a=20)break; if(b%3= =1) b+=3;continue; b-=5 printf(%dn ,a); A.7 B.8 C.9 D.1046.下列程序的运行结果是(A) #include stdio.h main( ) int i; for(i=1;i=5;i+) if(i%2)printf(*); else continue; printf(#); Printf($n ); A.*#*#*#$ B.#*#*#*$ C.*#*#$ D.#*#*$47.下列程序的运行结果是(A) main(

17、) int i,j,a=0; for (i=0;i2;i+) for(j=0;j0)s=a+b; if(a0) if(c0)w=a-b; else t=c; printf(%d,%d,%d ,s,w,t); 2.下列程序的运行结果是 #8 void main( ) int a=2,b=7,c=5; switch(a0) case 1:switch(b0) case 1: printf();break; case 2: printf(!);break; case 0:switch(c=5) case 0: printf(*);break; case 1: printf(#);break; def

18、ault: printf(#);break; default: printf(&); 3.下列程序的运行结果是 -850,2,0 #include main( ) int i,j,row,column,m;int array33=100,200,300,28,72,-30-850,2,6;m=array00;for(i=o;i3;i+) for(j=0;j3;j+) if(arrayijm) m=arrayij;row=I;column=j; printf(%d,%d,%dn ,m,row,column); 3.下列程序的运行结果是 sum=6 #include main( ) int a33

19、=1,3,5,7,9,11,13,15,17; int i,j,sum=0;for(i=0;i3;i+) for(j=0;j3;j+) aij=i+j; If(i= =j)sum=sum+aij; printf(nsum=%d,sum); 1 0 0 0 00 1 0 0 04.下列程序的运行结果是 0 0 1 0 00 0 0 1 00 0 0 0 1 #include main( ) int a66,i,j;for(i=1;i6;i+) for(j=1;j6;j+) aij=(i/j)*(j/i);for(i=1;i6;i+) for(j=1;j6;j+) printf( %2d ,aij

20、); 5.下列程序的运行结果是 5,6 #includeint 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=7,j=6,x=7;6.下列程序的运行结果是 i=2,j=7,x=5; void main( ) int i=2,x=5,j=7; fun(j,6); printf(i=%d;j=%d;x=%dn,I,j,x); fun(int i,int y) int x=7; printf(i=%d;j=%d;

21、x=%d;x=%dn,I,j,x); 7.下列程序的运行结果是 gcd=12 gcd(int m,int n) if(m= =n)return m;else if(mn)return gcd(m-n,n);else return gcd(m,n-m); main( ) Printf(gcd=%dn,gcd(24,36) 8.下列程序的运行结果是 14 #include long fun(int n) long s; if (n= =1n= =2) s=2; else s=n+fun(n-1); return s;void main( ) printf(%dn,fun(5);三程序填空5*21.

22、下列程序用来对从键盘上输入的两个字符串进行比较,然后输入两个字符串中第一个不相同字符的ASCII码之差。例如:输入的两个字符串分别为abcdef和abceef,则输出为-1。请填空。#includemain( )char str100,str2100,c;int i,s;printf(n input string 1:n);gets(str1);printf(n input string 2:n);gets(str2);i=0;while(str1i= =str2i&(str1i!= 0 i+s= str1i-str2i printf(%dn ,s); 2.以下程序的功能是:从键盘上输入若干个

23、学生的成绩,统计计算出平均成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空。 #include main( ) float x1000,sum=0.0,ave,a;int n=0,Iprintf(Enter mark:n);scanf(%f,&a);while(a=0.0&n1000) sum+ =a xn= a n+; scanf(%f,&a); ave= sum/n printf(Output:n);printf(ave=%fn,ave);for(I=0;In;I+)if( xIave )printf(%fn,xI); 3.下列程序的功能是求3个变量的最小公

24、倍数,请填空。 long sp(int i) static long k=1; k= k*i return k; main( ) int n,I,scanf(%d,&n);for(i=1; iy&xz)return x; else if(y=x&yz) return y ; else return z;main( ) int x,y,z,s,i=1,j; 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= =0)break; i+; printf(%dn,j);四程序代码2*1513.编一

25、程序,将两个字符串连接起来,不要strcat函数。编写程序如下:#include stdio.hmain() int i,j;char str1100,str2100,str3201; gets(str1); gets(str2); for(i=0;str1i!=0;i+)str3i=str1i; for(j=0;str2j!=0;j+)str3j+i=str2j; printf(n);printf(%snn%snn%snn,str1,str2,str3);getch();14.编一个程序,将两个字符串S1和S2比较,如果S1S2,输出一个正数;S1=S2,输出0;S1S2,输出一个负数。不要

26、用strcpy函数。两个字符串用gets函数读入。输出的正数或负数的绝对值应是相比较的两个字符串相对应字符的ASCII码的差值。例如,A与C相比,由于AC,应输出负数,由于A与C的码差值为2,因此应输出-2。同理:And和Aid比较,根据第2个字符比较结果,n比i大5,因此应输出5。编写程序如下:#include #include main() int i,resu; char s1100,s2100; printf(n input string1:);gets(s1); printf(n Input string2:);gets(s2); i=0; while(s1i=s2i&s1i!=0) i+;if(s1i=0&s2i=0) resu=0;else resu=s1i-s2i; printf(n result:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1