西南民大C语言试卷及答案.doc_第1页
西南民大C语言试卷及答案.doc_第2页
西南民大C语言试卷及答案.doc_第3页
西南民大C语言试卷及答案.doc_第4页
西南民大C语言试卷及答案.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

4一、请判断下列说法的是否正确:(10分,每小题1分)(1)一个C程序由多个函数组成,且必须有一个main( )函数,要求main( )函数必须放到最前面。( x )(2)所有的变量在使用前都必须予以声明。( v )(3)C的double类型数据可以精确表示任何实数。( x )(4)a是一维数组名,数组元素a1还可以写作“*(a+)”。( x )(5)break语句只能用于switch语句和循环控制语句中。 ( v )(6)C语言中的数组下标从0开始,当引数组元素超过所定义的范围,将出来编译错误。( x )(7)一个for循环语句,一定可以使用while语句来替换。( v )(8)函数原型为“void sort(float a, int n)”,调用该函数时,形参数组a被创建,实参数组各元素的值被复制到a数组各元素中。( x )(9) 一个结构类型的变量,在内存中占的字节数,为各成员数据类型所占内存的总和。( v )例如:struct exampleint I;float f;char s20; x ;(10)、语句 y=*(p+); 和 y=(*p)+; 是等价的。 ( x )二、填空(15分,每小题1分)(1) C语言的基本数据类型分为 型、型、型和枚举型。(2)、A不等于B在C语言中应使用表达式 来表示。(3)写出数学表达式 对应的C表达式 _ _。 (4)写出判断字符变量ch是(09)数字符的C表达式 _。(5) 若s=d,执行语句s=(s=a&s=z)?s-32:s;后,字符变量s的值为 _d_。(6)int b=5;执行赋值表达式a=5+(b+=6) 后,a、b的值依次是_16_11_。(7) 在C语言程序中,如果对函数f的类型未加显说明,则函数f的隐含类型是_int_。(8)定义语为char a10 =john0ni;,语句printf(%d,strlen(a);输出结果是_4_。(9)所有的程序都可以用三种控制结构编写。这三种控制结构是 、 和 。(10)要使a=10,b=20,c1=A,c2=a,x=1.5,y=-3.75,z=67.8,用下面的语句输入: scanf(“%5d%5d%c%c%f%f%*f,%f”,&a,&b,&c1,&c2,&x,&y,&z);键盘上输入数据的正确形式为: 10 20Aa 1.5 -3.75 2.2,67.8回车(11)函数调用时,若形、实参数均为数组,则其传递方式是_。(12)表达式(5=5=5)的值为_0_。(13)设int x=1,2,3,4,y,*p=&x1; 则执行语句y=(*- -p)+;后变量y的值为_1_。(14)a和“a”是有区别的,a在内存中占_1_个字节,“a”在内存中占_2_个字节。三、选择题(每题2分,共20分)(1)算法具有五个特性,以下选项中不属于算法特性的是( b )(A)有穷性 (B)简洁性( C)可行性 (D)确定性(2)以下选项中可作为C语言合法常量的是( b ) (A)-80. (B)-080 (C)-8e1.0 (D)-80.0e(3)以下不能定义为用户标识符是( d ) (A) Main (B)_0 (C) _int (D)sizeof(4)在下列各程序段中,没有构成死循环的是( a ) (A)int i=100; (B) int y=1;while (1) for(; y=1000) ; while(s);- -s; (5)设变量定义为“int a4=1,3,7,9, *p=a+2;”,则*p的值是( a )。(A)7 (B)3 (C)4 (D)&a0+2(6)下面程序段求两个数中的大数,( d )不正确。(A)max =xy?x:y; (B)if (xy) max = x; else max=y;(C)max=x; (D)if (y=x ) max=y; if (y=x) max =y; max = x;(7)给出以下定义:char x =abcdefg;char y =a,b,c,d,e,f,g;则正确的叙述为 b (A)数组X和数组Y等价 (B) 数组X的长度大于数组Y的长度 (C)数组x和数组Y的长度相同 (D)数组X的长度小于数组Y的长度(8))对于以下的变量定义,表达式_ _是正确的。struct node char s10;int k; p4;(A)p-k=2 (B)p0.s=“abc” (C)p0-k=2 (D)p-s=a(9)说明语句int (*p) ( ); 的含义是 c 。A) p是一个指向一维数组的指针变量B) p是指针变量,它指向一个整型数据的指针C) p是一个指向函数的指针变量,该函数的返回值为整型数D) p是一个指指针函数,该函数的返回值为指针值(10)下列函数fun的功能是 。fun(char *s)s char *t=s; while(*t+) ;t return (t-s-1);A) 求两个串的长度差B) 比较两个串的大小C) 将串s复制到串t中D) 求s所指向的字符串长度四、程序填空题(10空,每空2分,共20分)1下程序是使用递减法求两自然数m、n的最大公约数。void main() int m,n, div; scanf(“%d,%d”,&m,&n); div=m; if (nm) _(1)_; while ( m%div !=0 | n%div !=0 ) _(2)_; printf ( “最大公约数=%dn”,div);(1) (A) div=0; (B)div=n; (C)div=m; m=n;n=div; (D)m=n;(2) (A) div+; (B)+div; (C)div-; (D)div=m-n;2. 下面的程序是打印所有的水仙花数。水仙花数是指一个3位数,其各位数字立方和等于该数本身。如:153=13+53+33 main() int i,temp,bai,shi,ge;printf(n all the shuixianhuashu are:n);for(i=100;i=temp (D)i=temp3输入1 个正整数 n, 计算并输出 s 的前n项的和。 S = 1 -1/2 + 1/3 - 1/4 + 1/5 -1/6 + 1/nvoid main( ) int k, flag=1, n; float s;-(6)-; scanf(%d, &n);for (k=1 ; k=n; k+) s=-(7)-; -(8)-; printf(sum=%fn, s);(6) (A) n=0 (B) s=0 (C)k=1 (D)printf(“Enter a numbern”)(7) (A) s+flag/n (B) s+1/k (C)s+1.0*flag/k (D)flag/k(8) (A) n+ (B) flag=-flag (C)flag+ (D)k+;4. 函数sort使用选择法将一维整型数组中个元素按值从大到小排序。 void sort(int a,int n) int i,j,k ,temp;for(i=0;in-1;i+) k=i; for(j=i+1;jaj (B) ajaj+1 (C)akaj (D)akaj(10)(A) ak=ai; ai=temp (B)ai=ak; ak=temp (C)flag+ (D)k+;五、程序阅读题(5小题,每题4分,共20分)(认真阅读程序,写出程序运行结果,注意输出数据的格式)(1)在执行以下程序时,如果从键盘上输入:ABC123def,则输出为 : void main( ) char ch; while(ch=getchar( )!=n) if(ch=A & ch=a & ch=0;i-) s=s+ai*j; j=j*10; printf(“s=%dn”,s);3、以下程序运行后的输出结果是 f(int a) auto b=0;static c=3;b=b+1;c=c+1;return(a+b+c);main() int a=2,i;for( i=0; i3; i+) printf(“%d ”, f(a);4、以下程序运行后的输出结果是 #include stdio.hfun(char *w)char t,*s1,*s2; for (s1=w,s2=w+strlen(s1)-1;s1s2;s1+,s2-) t=*s1; *s1=*s2; *s2=t; main()char *p=12345; fun(p); puts(p);5、以下程序的执行结果是。#include main( )char ch25=6934,8254,*p2;int i,j,s=0;for(i=0;i2;i+)pi=chi;for (i=0;i0&pij=9;j+=2)s=10*s+pij-0;printf(%dn,s);六、程序设计题(2小题,共15分)1求出10至1000之内能同时被2、3、7整除的数,并输出。(7分)2、编一程序,输入15个整数存入一维数组,再按逆序重新存放后输出(用函数完成逆置,形参用指针变量完成)。(8分)答 卷一、判断题(每题1分,共10分)12345678910错对错错对错对错对错二、填空题(每空1分,共15分)(1) 整型、实型、字符型 (2) 0 (3) (b-sqrt(b*b-4*a*c)/(2*a) (4) 结束本次循环 (5) D (6) 16 ,11 (7) 整型(int) (8) 4 (9) 顺序结构、选择结构、循环结构 (10) 10 0Aa 1.5 -3.75 ,67.8(11) 地址传递 (12) 0 (13) 1 (14) 1 (15) 1 2 三、单选题(每题2分,共20分)12345678910BADAADBACD四、程序填空题(每空2分,共20分)(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)BCACABCBDA五 、程序阅读题(每题4分,共20分)12345Abc123DEFS=12347 8 9543216385六、程序设计题(2题,共15分)参考答案1、main( ) int i; for (i=10;i=1000;i+) if (i%3=0&i%7=0& i%2=0) printf(“%3d”,i);2、void inv(int *x, int n)int *p,m,t,*i,*j; m=(n-1)/2; i=x;j=x+n-1;p=x+m; for (;i=p;i+,j

温馨提示

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

评论

0/150

提交评论