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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

湖南工程学院C语言程序考试复习题有复习资料.docx

1、湖南工程学院C语言程序考试复习题有复习资料2010湖南工程学院年C语言程序考试题一、单选题1. C程序的基本构成单位是( C )A)文件 B)命令 C)函数 D)语句2. 在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)2 B)6 C)7 D)85. 若有以下变量定义:int b=2;float a=5;则表达式“ab”之值为( A )A)2.5 B)2 C)3 D)5/26. 若j=3,

2、则表达式(+j)+(j+)的值为( C )A)6 B)7 C)8 D)107. 以下只能输入单个字符的函数是( C )A)printf( ) B)puts( ) C)getchar( ) D)putchar( )8. 若a的原值为4,则表达式“a*=a-=3”运算后,a的值是( D ) A)13 B)4 C)3 D)19. 若a=5、b=3、c=1,则表达式“abc”的值为( A ) A)0 B)1 C)3 D)510. 若有代数式: 以下错误的C语言表达式是( C )A)a/b/c*e*3 B)3*a*e/b/c C)3*a*e/b*c D)a*e/c/b*311. 下列能输出字符数组str

3、中字符串的语句是( B ) A)printf(%c,str0); B)printf(%s,str);C)printf(%s,str); D)putchar(str);12. 若p=&x,则下列关系表达式之值为1的是( B ) A)p=x B)*p=x C)&p=x D)*x=p13. C语言中最基本的数据类型包括( B ) A)整型、实型、逻辑型 B)整型、实型、字符型C)整型、逻辑型、字符型 D)整型、实型、字符串型14. C语言中,要求运算对象必须是整型数据的运算符是( A ) A)% B)/ C) D)&15. 表示数学关系“xyz”的C语言表达式是( C ) A)x=y=z B)x=y

4、 | y=z C)x=y&y=z D)xyz16. 以下说法中正确的是( C ) A)C程序总是从文件中第一个函数开始执行B)C程序中,只有main( )函数才可以调用其他函数C)C程序总是从main( )函数开始执行D)C程序中的main( )函数必须放在程序的开头17. 若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值为( A ) A)2.5 B)2.75 C)3.5 D)018. 设变量a是整型,f是实型,i是双精度型,则表达式10+a+i*f值的数据类型为( C ) A)int B)float C)double D)不确

5、定19. 有输入语句:scanf(%d,%d,&a,&b);为使变量a、b分别为5和3,从键盘输入数据的正确形式为( B ) A)5 3 B)5,3 C)a=5 b=3 D)a=5,b=320. 定义如下变量和数组: int j; int x33=1,2,3,4,5,6,7,8,9; 则下面语句的输出结果是( C ) for (j=2; j=0; j-) printf(%2d,xj2-j); A)1 5 9 B)1 4 7 C)7 5 3 D)3 6 921. 执行下面程序后,a的值是( B ) #include #define SQR(x) x*x void main( ) int a=10

6、,k=2,m=1; a=SQR(k+m); printf(%dn,a); A)10 B)5 C)2 D)122. 以下叙述不正确的是( C ) A)在函数内部定义的变量是局部变量B)函数中的形式参数是局部变量C)全局变量的作用范围仅限于其所在的整个文件D)局部变量的作用范围仅限于本函数23. 设a=3,b=4,c=2,d=1,则表达式“ab?a:cd?c:d”的值为( C )A)4 B)3 C)2 D)124. 有以下程序段:x=-1;dox=x*x;while(!x);执行时,循环体执行的次数为( B )A)0 B)1 C)2 D)不确定25. 以下不正确的if语句形式是( C ) A)if

7、 (xy&x!=y);B)if (x= =y) x+=y;C)if (x!=y) scanf(%d,&x) else scanf(%d,&y);D)if (xy) x+;y+;26. 以下程序的输出结果是( C ) #include void main( ) int x=2,y=-1,z=2; if (xy) if (y0) z=0; else z+=1; printf(%dn,z);A)0 B)1 C)2 D)327. 以下能正确计算12310的程序段是( A )A) i=1,s=1; B) s=1;i=1; do while(i=10) s=s*i;i+; s=s*(+i); while(

8、i11);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. 若有说明:int a10;则对a数组元素的正确引用是( C ) A)a3.5 B)a(8) C)a6-5 D)a1030. C语言规定,变量做实参时,它和对应形参之间的数据传递方式是( B )A)地址传递 B)单向值传递 C)双向值传递 D)由用户指定传递方式31. C中,一个float类型的数据在内存中占( C

9、 )个字节。A) 1 B) 2 C) 4 D) 832. 设有程序段:int k=5;while (k=0)k-;则下列描述中正确的是( C )A) while循环执行5次 B) 循环是无限循环 C) 循环语句一次也不执行 D) 循环体语句执行一次33. 下面程序段的运行结果是( B )char c5= a, b, 0, c, 0 ; printf(%s, c);A) ab B) ab C) Abc D) abc34. 以下不正确的字符串赋值语句是( C )A) char *s; s=abcde; B) char s =abcde;C) char s10; s=abcde; D) char *

10、s=abcde;35. 设p1、p2是指向int型一维数组的指针变量,k为int型变量,以下错误的语句是( B )A) k=*p1+*p2; B) p2=k; C) p1=p2; D) k=p2-p1;36. 下面程序的输出结果是( A ) #include void main( ) char s = ABCD; char *p; for (p=s;pbc”属于哪种表达式?( A )A) 关系 B) 赋值 C) 逻辑 D) 非法43. 以下不合法的C表达式是( C )A) 10 | 8 B) 12=9+1 C) +5 D) x!=y44. 给定以下程序段:int n=10;while (n6)

11、 n-;printf(%3d,n);以上程序段输出结果是( D )A) 10 9 8 B) 9 8 7 C) 10 9 8 7 D) 9 8 7 645. 若i,j已定义为int型,则以下程序段中内循环总的执行次数是( C )for (i=5; i0; i-)for (j=1; jb | c的值为 1 4. 整数m既能被3整除又能被4整除的逻辑表达式为 (m%3= =0)&(m%4= =0) 5. 若有定义:double a105; 则数组a中行下标最大值为 9 ,列下标最大值为 4 。6. 若有定义:int a 1,4,6,5,8,9; 则 *(a+5) 的值为 9 7. 设有如下定义int

12、 a56,*p; 取数组元素a42的地址放到p中的语句为 p=&a42; 8. 未加特别说明(说明为静态的)的全局变量是外部的,能被其它文件中的函数使用,而在引用它的文件中,需要用关键字extern说明。9. 已知a=10,b=20,则表达式!ab的值为 0 10. 写出0x1的C逻辑表达式(0x)&(x1)11. 若有定义:int a10,*p=a; 则元素a5的值用p表示的形式是 *(p+5) 12. 若有定义:int *p4; 则标识符p表示 数组长度为4的一维指针数组13. 凡是函数中未指定存储类型的局部变量,其默认的存储类型为 auto 三、程序填空1. 下面程序的功能是:从键盘输入

13、一个字符,若是大写字母,则转换为小写字母并输出,若为小写字母则直接输出,请在_处填上合适内容,使程序完整。#include void main( ) char ch; ch=getchar( ); if (ch=A&ch=Z) ch+=32; printf(%c,ch);2. 下面程序的功能是:求1100间的偶数和,请在_处填上合适内容,使程序完整。#include void main( ) int num, sum=0; for (num=2; num=100; num=num+2) sum=sum+num ; printf(1-100间的偶数和是:%dn, sum);3. 下面程序段是求n

14、!的递归函数,请将函数补充完整。double fac(int n) double result; if (n= =1) result=1; else result=n*fac(n-1); return(result);4. 以下程序的功能是:输入一整数n,判断是否为素数。#include #includevoid main( ) int i, n;scanf(%d,&n);for (i=2; isqrt(n)printf(%d is a prime number.n, n);elseprintf(%d is not a prime number.n, n);四、阅读程序1. #include

15、void main( ) char ch; int cnt1=0,cnt2=0; while (ch=getchar( )!=n) if (ch=a&ch=z) cnt1+; else cnt2+; printf(COUNT=%dn,cnt1); 若输入“This is a C program.”,运行结果:COUNT=132. #include void main( ) int i,j,temp; int a =0,1,2,3,4,5,6,7,8,9; for(i=0,j=9;ij;i+,j-) temp=ai;ai=aj;aj=temp; for(j=0;j10;j+) printf(%2

16、d,aj); 运行结果:9 8 7 6 5 4 3 2 1 03. #include #include void main( ) char str120=good,str2 =morning; int i,j; for (i=strlen(str1),j=0;str2j!=0; i+, j+) str1i=str2j; str1i=0; printf(string1=%s,str1); 运行结果:string1=goodmorning4. #include void main( ) int i,j,pos; float val,a10; for(i=0;i10;i+) scanf(%f,&ai

17、); val=a0; for(j=0;jval) val=aj;pos=j; printf(Max=%f,position:%d,val,pos);本程序的功能是:从键盘输入10个数存到数组a中,求10个数的最大值及其位置当程序运行时,从键盘输入“1 0 2 9 3 8 4 7 5 6”,运行结果:Max=9.000000,position:35. #include float average(int x , int n) int i; float sum=0; for(i=0;in;i+) sum+=xi; return (sum/n); void main( ) int a5=2,4,6,

18、8,10; float rst; rst=average(a,5); printf(result=%fn,rst); 运行结果:result=6.0000006. 给定如下程序:#include void main( ) char grade;scanf(%c, &grade);switch (grade) case A: printf(85100n); break;case B: printf(7084n); break;case C: printf(6069n); break;case D: printf(60n); break;default: printf(errorn);当程序运行时

19、,从键盘输入“D”,输出的结果是:607. 给定如下程序:#include void main( ) int a5=2,5,3,7,6,i,j,t; for (i=0;i4;i+) for (j=0;jaj+1)t=aj;aj=aj+1;aj+1=t; for (i=0; i5; i+)printf(%3d,ai);该程序的功能是:用“起泡法”对数组a中的5个整数按由小到大排序并输出输出的结果为:2 3 5 6 78. 给定如下程序:#include void fun( ) auto int b=0;static int c=4;b+;c+;printf(b=%d c=%dn,b,c);voi

20、d main( ) int i;for (i=0; i3; i+)fun( );运行结果是:b=1 c=5b=1 c=6b=1 c=79. 给定如下程序:#include #include void main( ) char *p1, *p2, c, s50; gets(s); p1=s; p2=s+strlen(s)-1; for(; p1p2; p1+, p2-) c=*p1; *p1=*p2; *p2=c; printf(The new string is %sn, s);此程序的功能是:从键盘输入一字符串存放到数组s中,将此字符串逆序输出当程序运行时,从键盘输入“abc we #y”,

21、输出的结果是:The new string is y# ew cba 五、按要求编程1. 编写0100之间偶数之和的程序。#include void main( ) int num, sum=0; for (num=2; num=100; num=num+2) sum=sum+num; printf(sum=%dn, sum);2. 编程计算1!+2!+3!+20!。#include void main( ) float s=0,t=1; int n; for(n=1;n=20;n+) t=t*n; s=s+t; printf(1!+2!+.+20!=%en,s);3. 统计由键盘输入的任意一

22、串字符中空格的个数。#include void main( )char ch;int space=0;while (ch=getchar( )!=n) if (ch= ) space+;printf(konggeshu=%dn,space);4. 编写程序找出1100之间的素数,并统计素数的个数。#include #include void main( ) int m,k,i,n=0; for(m=1;m=100;m=m+2) k=sqrt(m); for(i=2;i=k+1) printf(%3d,m); n=n+1; if(n%10=0) printf(n); printf(ntotal

23、number is=%d,n);5. 打印杨辉三角形(10行)。要求:使用二维数组和循环语句实现。11 11 2 11 3 3 1#include #define N 11void main( ) int i,j,aNN; for(i=1;iN;i+) aii=1; ai1=1; for(i=3;iN;i+) for(j=2;j=i-1;j+) aij=ai-1j-1+ai-1j; for(i=1;iN;i+) for(j=1;j=i;j+) printf(%6d,aij); printf(n); 6. 从键盘输入10个数,找出最大值与最小值,并计算它们的平均值。#include void main( ) float a10,aver,sum,max,min; int i; for(i=0;i10;i+) scanf(%f,&ai); max=min=a0; sum=a0; for(i=1;imax) max=ai; els

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

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