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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

《C语言程序设计》期末复习题.docx

1、C语言程序设计期末复习题C语言程序设计期末复习题一、选择题1能将高级语言编写的源程序转换成目标程序的是( )A 链接程序 B. 解释程序 C. 编译程序 D.编辑程序2.设a为整型变量,则不能正确表达数学关系10a15的C语言表达式是( )。A. 10a10&a15 D.!(a=15)3当调用函数时,实参是一个数组名,则向函数传送的是( )。A. 数组的长度 B. 数组的首地址C. 数组每一个元素的地址 D. 数组每个元素中的值4执行下面的程序段后,k的值是()int k=1,n=325; do k*=n%10;n/=10;while(n);A. 3 B. 30 C. 523 D. 3255若

2、有以下数组说明,则i=6;aai元素数值是()。int a12=1,4,7,10,2,5,8,11,3,6,9,12;A.3 B.8 C.6 D.56若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是()A. for(i=1,p=1;i=5;i+) p*=i;B. for(i=1;i=5;i+) p=1; p*=i;C. i=1;p=1;while(i=5)p*=i; i+;D. i=1;p=1;dop*=i; i+; while(i=5); 7若有:int a3=1,2,3,4,5,6,7,8; 则数组a的第一维的大小为: ( )A. 12 B. 3 C. 4 D.无确定

3、值8设有如下程序段 ,则执行p=s;语句后,以下叙述正确的是( )。char s20= “Bejing”,*p; p=s; A可以用*p表示s0 Bs数组中元素的个数和p所指字符串长度相等 Cs和p都是指针变量 D数组s中的内容和指针变量p中的内容相等 9以下正确的函数定义是( )。Adouble sum(int x, int y) Bdouble sum (int x,y) z=x+y ; return z ; int z ; return z ;Csum (x,y) Ddouble sum (int x, int y) int x, y ; double z ; double z ;z=x

4、+y ; return z ; z=x+y ; return z ; 10已知学生信息描述为struct student int no; char name20; char sex; structint year; int month; int day; birth; ; struct student s; 设变量s中的“生日”应是“1984年11月11日”,下列对“生日”的正确赋值方式是( )。A year=1984;month=11;day=11; B birth.year=1984;birth.month=11;birth.day=11; C s.year=1984;s.month=11

5、;s.day=11;D s.birth.year=1984;s.birth.month=11;s.birth.day=11; 11. 下列数据中,为字符串常量的是( )。A. A B. How do you do. C. A D.$abc12.以下运算符中,优先级最高的运算符是( )。A. | B. % C. ! D.=13.执行以下程序段后,输出结果和a的值是( )。int a=10;printf(%d,+a);A.10和10 B.10和11 C.11和10 D.11和1114. 有定义语句:int x,y;若要通过scanf(%d%d,&x,&y);语句使变量x得到数值11,变量y得到数值

6、12,下面四组输入形式中,正确的是( )。A. 11 12 B. 11,12 C. 11,12 D. 11, 1215. 下列定义数组的语句中,正确的是( )。A. int x0.10; B. int x ;C. #define N 10 D. int N10; int xN; int xN;16. 若已定义x为int类型变量,下列语句中说明指针变量p的正确语句是( )。A. int p=&x; B.int *p=x; C. *p=*x; D. int *p=&x;17. 以下不是无限循环的语句为( )。A. for(y=0,x=1;x+y;x=i+) i=x;B. for(;x+=i);C.

7、 while(1)x+;D. for(i=10;i-) sum+=i;18. 有以下函数,函数的功能是( )。int fun(char *x, char *y) int n0;while ( (*x*y) & *x!0 ) x; y; n;return n ;A.将y所指字符串赋给x所指存储空间B.查找x和y所指字符串中是否有0C.统计x和y所指字符串中最前面连续相同的字符个数D.统计x和y所指字符串中相同的字符个数19. 语言中,定义结构体的保留字是( )。A.union B.struct C.enum D.typedef20. 应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为( )。

8、A.open B.fopen C.close D.fclose21. 在C语言中,if语句后的一对原括号中,用以决定分支的流程的表达式( )。A.只能用逻辑表达式 B.只能用关系表达式C.只能用逻辑表达式或关系表达式 D.可用任意表达式22. 假设所有变量均为整型,表达式:a=2,b=5,ab?a+:b+,a+b的值是( )。A.7 B.8 C.9 D.223. 若有如下代码,则a的值为( )。int a=1,b=2,c=3;if(ab)a=b;if(ac)a=c;A.1 B.2 C.3 D.不一定24.假定所有变量均已正确定义,下列程序段运行后x的值是( )。k1=1;k2=2;k3=3;x

9、=15;if(!k1) x-;else if(k2) x=4;else x=3;A.14 B.4 C.15 D.325. 以下for循环的执行次数是 for(x=0,y=0;(y=123)&(x4);x+);( )。A.是无限循环 B.循环次数不定 C.4次 D.3次26. 以下运算符中,优先级最高的运算符是( )。A. | B. % C. ! D.=27. 有定义语句:int x,y;若要通过scanf(%d,%d,&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是( )。A. 11 12 B. 11,12 C. 11,12 D. 11, 1228. c

10、har a10;不能将字符串abc存储在数组中的是( )。A.strcpy(a,abc); B.a0=0;strcat(a,abc);C.a=abc; D.int i;for(i=0;i3;i+)ai=i+97;ai=0;29. 以下程序段 char *alp=ABC,DEF,GHI; int j; puts(alp1);的输出结果是( )。A.A B.B C.D D.DEF30. 若执行fopen函数时发生错误,则函数的返回值是( )。A.地址值 B.0 C.1 D.EOF二、读程序,写出程序的运行结果1以下程序的输出结果是( )。#include void main() int x=0,y

11、=1,a=0,b=0; switch(x) case 0: switch(y)case 0: a+; case 1: b+; case 1: switch(y)case 0: a=a+5; case 1: b=b+5; printf(“a=%d,b=%dn”,a,b);2.以下程序的输出结果是( ) #include void main() int x=-5,y=2,z=1; if(xy) if(y0) z=0; else z=z+1; printf(“%dn”,z);3以下程序的输出结果是:( )#includestdio.hvoid main( )int j,k, x44,y44;for(

12、j=0;j4;j+) for(k=0;k4;k+) xjk=j+k;for(j=0;j4;j+) for(k=0;k4;k+) ykj=xjk;for(j=0;j4;j+) for(k=0;k4;k+) printf(%d ,yjk); printf(n);4以下程序的输出结果是:( )#include void main() int i,j;for(i=j=1;j10;j+,i+)if(j=5) break; if(i%2) continue;printf(i=%d,j=%dn,i,j);5若有以下程序段,则输出结果是( )。 #include void main() char s2=c:a

13、bc.dat; printf(“%sn”,s2); 6以下程序的输出结果是:( )#include int fun( int n) int s; if(n=1|n=0) s=5; else s=n+fun(n-1); return s;void main() printf(%ldn, fun(3);7以下程序的输出结果是:( )void main() int a=2,4,6,8,10; int y=120,x,*p; p=&a1; for(x=0;x3;x+) y+=*(p+x); printf(y=%dn,y); 8以下程序的输出结果是:( )#includevoid sub(int s,i

14、nt y) static int t=3;y=st; t-;void main() int a=1,2,3,4,i,x=0;for(i=0; i4; i+)sub(a,x); printf(“%d”,x);printf(“n”);9. 以下程序段运行后x的值是:( )k1=1;k2=0;k3=3;x=15;if(!k1) x-;else if(k2) x=4;else x=3;10. 以下程序的输出结果是:( )#include main() int s=0, n; for (n=0; n4; n+) switch(n) default: s+=5; case 1: s+=1; case 2:

15、 s+=2; case 3: s+=3; printf(%dn, s); 11. 以下程序段运行后sum的值是:( )int a33=3,5,8,9,12,35,i,sum=0;for(i=0;i3;i+) sum+=ai2-i;12. 以下程序的输出结果是:( )#include int main() int i=10,n=0,m=0; do if(i%2!=0) n=n+i; else m=m+i; i-; while(i=0); printf(n=%d,m=%dn,n,m); return 0;13. 以下程序的输出结果是:( )#include void main() int a,b;

16、 for(a=1,b=1;a20) break; if(b%4=1) b=b+4; continue; b=b-5; printf(b=%dn,b);14. 以下程序的输出结果是:( )#include funa(int a) int b=0;static int c=4;a=c+,b+;return(a);main() int a=2,i,k;for(i=0;i2;i+)k=funa(a+);printf(%dn,k);15. 以下程序的输出结果是:( )#include void main(void) char a=ABCDEFGH,b=abcDefGh; char *p1,*p2; in

17、t k; p1=a; p2=b; for(k=0;k=7;k+) if (*(p1+k)=*(p2+k) printf(%c,*(p1+k); printf(n);16. 以下程序的输出结果是:( )#include #include int main() int i; char str130=abc,str235=defg,hij0,klm; for(i=1;ibc)a=b;else a=c;printf(%dn,a);19. 以下程序的输出结果是:( )int func(int x,int y) return(x+y);void main()int a=1,b=2,c=3,d=4,e=5;

18、 printf(%dn,func(a+b,b+c,c+a),(d+e); 20.下列程序执行后的输出结果是( )。void main() int a33, *p,i; p=&a00; for(i=0; i9; i+)pi=i+1; printf(%dn,a12);21. 以下程序的输出结果是:( )#include void fun(int a);void main() int i,a5=1,2,3; fun(a); for(i=0;i5;i+) printf(%5d ,ai); printf(n);void fun(int a) int i; for(i=0;i5;i+) ai+=5;22.

19、 以下程序的输出结果是:( )#include void main( ) int i, f10; f0=f1=1; for(i=2;i10;i+) fi=fi-2+fi-1; for(i=0;i5;i+) printf(%d ,fi); 23. 以下程序的输出结果是:( )#includevoid main() int m=1,n=2,*p=&m,*q=&n,*r; r=p;p=q;q=r; printf(%d,%d,%d,%dn,m,n,*p,*q);24. 以下程序的输出结果是:( )#include #include int main() int i; char str20=abcdef

20、; strcpy(str,opqrst); str5=0; for(i=0;istrlen(str)-1;i+) putchar(stri); printf(n); return 0;三、程序填空1. 任意输入一个非负的整数x,求该数的逆序数y,并判断x、y能否被17整除。#includeint main() int x, a,y,t; printf(请输入一个非负的整数n); scanf(%d,&x); t=x; 【1】 do a=x%10; /取得个位数字 【2】 ; /获得逆序数 x=x/10; /去掉个位数字 while( 【3】 ); if( 【4】 ) printf(x能被17整除

21、n); else printf(x不能被17整除n); if(y%17=0) printf(y能被17整除n); else printf(y不能被17整除n); return 0;2. 有一行文字,要求删去某一个字符。此行文字和要删去的字符均由键盘输入,要删去的字符以字符形式输入(如输入 a表示要删去所有的 a字符)。 #include void main() /*str1表示原来的一行文字,str2表示删除指定字符后的文字*/char str1100,str2100; char ch;int i=0,k=0;printf(“please input an sentence:n”);gets(

22、 【5】 ); scanf(%c,&ch); for (i=0; 【6】 ;i+) if (str1i!=ch) str2 【7】 =str1i; k+; str2 【8】 =0; printf(n%sn,str2); 3下面给定程序中函数fun的功能是:求k!,所求阶乘的值作为函数值返回。例如:若k = 10,则应输出:3628800。请按要求把程序补充完整,使它能得出正确的结果。#includelong fun ( int k) if (k 0) return ( 【9】 ); else if ( 【10】 ) return 1L;main() int k = 10 ; printf(%d

23、!=%ldn, k, fun ( k ) ;4. 函数fun的功能是:逆置数组元素中的值。形参n给出数组中的数据的个数。例如:若a所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则逆置后依次为:9、8、7、6、5、4、3、2、1。请按要求把空白部分补充完整。void fun(int a, int n) int i, t;for (i=0; i 【11】 ; i+) t = ai; ai = an-1- 【12】 ; 【13】 = t;5下面的程序是输出1100之间的全部素数,其中函数prime的功能是判断一个数n是否是素数。当n是素数时,函数prime的返回值为1;当n不是素数时,

24、函数prime的返回值为0。请按要求把程序补充完整。#include #include int prime(int n)int i; for(i=2;i=sqrt(n);i+) if( 【14】 ) return 0; return 1;int main()int i; for(i=2; 【15】 ;i+) if( 【16】 ) printf(%5d,i); printf(n); return 0;6下面程序的功能是:由键盘输入10个整数,计算这10个整数中的奇数和与偶数和。请按要求把程序补充完整。#include void main() int a,b,c,i; a=c=0; for(i=1

25、;i=10;i+) scanf(%d,&b); if( 【17】 ) a=a+b; else 【18】 ; printf(偶数的和=%dn,a); printf(奇数的和=%dn,c);7下面给定程序的功能是:从键盘输入的字符中统计数字字符的个数,用换行符结束循环。请按要求把程序补充完整。#includevoid main() int n=0,c; c=getchar(); while( 【19】 ) if( 【20】 ) n+; c=getchar(); printf( 【21】 个数字n,n);8. 程序的功能是:求矩阵的转置。请按要求把空白部分补充完整。#include #include std

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

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