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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

大学一年级C语言程序设计复习题.docx

1、大学一年级C语言程序设计复习题复习题1.若有定义:int a=2,b=3; 则表达式(float)(a+b)/2+(float) (b/a)的值为_。A) 4.0 B) 3.0 C) 3.5 D) 都不是2.若希望当A的值为奇数时,表达式的值为“真”,当A的值为偶数时,表达式的值为“假”。则以下能满足要求的表达式是_。A) A/2!=1 B) !(A%2) C) A%2 D) A/2=13.以下程序在运行时,输入变量a的值为1,变量b的值为2,其结果 。main( ) int a,b,t=0; scanf(“%d%d”,&a,&b);if(a=2)t=a,a=b,b=t;printf(“%d,

2、%dn”,a,b); A)2,0 B)2,2 C)2,1 D)1,24.以下程序的运行结果是_ _。main() int a=10, y=0; do a+=2; y+=a; if(y50) break; while(a=14); printf(“n %d,%d”,a,y); A) 16,60 B) 18,60 C) 死循环 D)都不是5.int a=5,b=4,c=3 则表达式abc为_ _。(真/假)6.#define f x+yx=5 y=3a=2*f a=?7.假定int a=0,b=0,c=0; 执行表达式a | (b=5) | (c=3)后b,c的值是 。 A)5,3 B)0,0 C

3、) 5,0 D) 0,38.已知:int j,a,b; 执行语句“b=(a=2*3,a*5),a+6;”后,变量b的值是 。 A)6 B)12 C)30 D)369.for(;)10.int a=200,b=300;a*b/100 (long)(a*b)/100 (long)a*b/100 11.虚实结合时的类型12.两种典型的排序算法:选择法和起泡法。选择法基本思想:首先选择最小的数放在0位置,再在剩下的数中选择最小的数放在下一位置,依次类推,共进行9次选择。每次选择都要与其后的所有数进行比较换位。5874390126j#define n 10main() int an,i,j,t;for(

4、i=0;in;i+)scanf(“%d”,&ai);for(i=0;in;i+)for(j= i+1 ;jaj) t=ai; ai=aj; aj=t;for(j=0;jn;j+) printf(“%3d”,ai);5874390126也可以在每次选择中先找最小值所在的位置,最后再换位。main() int a10,i,j,t,k; for(i=0;i10;i+)scanf(“%d”,&ai);for(i=0;i9;i+) k=i;for(j=i+1;j10;j+) if(ajak)k=j;t=ai; ai=ak; ak=t;for(j=0;j10;j+) printf(“%3d”,ai);起泡

5、法基本思想:首先将所有数中的最大值“冒泡”到最后位置,再将剩下的数中的最大值“冒泡”到上一位置,依次类推,共进行9次“冒泡”。每次“冒泡”都是一种翻滚过程,即相邻两个数进行比较换位。5874390126假定j为“冒泡”次数,则有:main() int a10,i,j,t;for(i=0;i10;i+)scanf(“%d”,&ai);for(j=1;j=9;j+)for(i=0;i10-j; i+)if(aiai+1) t= ai; ai= ai+1; ai+1=t;for(j=0;j10;j+) printf(“%3d”,ai);要特别注意两个循环的范围。13.迭代法例:求方程 2x3+3x2

6、-4x+1=0的根。简单迭代法基本思想:将原方程f(x)化为: x2=g(x1)x2=(2x13+3x12+1)/4 迭代公式迭代过程:main() float x1,x2; scanf(“%f”,&x1);while(1) x2=(2*x1*x1*x1+3*x1*x1+1)/4;if(fabs(x2-x1)1e-6)break;?printf(“n %f”,x2);牛顿迭代法基本思想:f(x1)=f(x1)/(x1-x2)x2=x1-f(x1)/ f(x1) 牛顿迭代公式main() float x1,x2,f1,f; scanf(“%f”,&x1);while(1) f=2*x1*x1*x

7、1+3*x1*x1-4*x1+1f1=6*x1*x1+6*x1-4; x2=x1-f/f1;if(fabs(x2-x1)a/10%10a/100%10 B)a%10a/10%10&a/10%10a/100%10 C)a%10a%100&a%100a%1000 D)a%10a%10/10&a%10/10a%100/107、以下函数是计算多项式 (7) 的值。 float f (int n) float i,t=2,s=t;for(i=2;inum=2001; C) st.name=”Zhang”; D) p-score=80;10、以下求矩阵a中主对角元素之和的各程序段中,不正确的是 (10)

8、。 A) int a33=1,2,3,4,5,6,7,8,9, s=0, *p=a;for ( p=a; pa+3; p+=3 ) s+=*p+; B) int a33=1,2,3,4,5,6,7,8,9, s=0, i;for ( i=0; i3; i+ ) s+=aii; C) int a33=1,2,3,4,5,6,7,8,9, s=0, *p=a, i;for ( i=0; i3; i+ ) s+=pii; D) int a33=1,2,3,4,5,6,7,8,9, s=0, *p=a;for ( p=a; pa+3; p+=4 ) s+=*p;11、以下程序中,不合法的函数调用语句是

9、 (11) 。 void fun( float x ) main( ) float a9,b45; A) f(a+5); B) f(b); C) f(a4); D) f(b2);12、设有程序段 t=0; while(printf(“*”)t+; if(t3) break; 下面描述正确的是 (12) 。 A) 其中循环控制表达式与0等价 B) 其中循环控制表达式与0等价C) 其中循环控制表达式是不合法的 D) 以上说法都不对13、以下各循环语句中,不是无限循环的是 (13) 。 A)for(j=5;j- -=010;j+); C)for(j=1,k=10;j-k;j+,k- -); D)fo

10、r(j=1;j=10;j+) s+=j;14、对于以下求最大值最小值的函数,可以代替第三行的语句有 (14) 。 void max_min( int * a, int n, int * max, int * min) int * i;*max=a0;*min=a0;for(i=a;i*max) *max=*i; if (*i*min) *min=*i; A)*max=0;*min=0; B)*max=-32768;*min=32767; C)*max=an;*min=an; D)*max=32767;*min=-32768;15、以下程序的功能是 (15) 。main() int a10=3,

11、5,2,9,1,8,0,2,4,6,i,p=0,q=0; for(i=0;ip) p=ai; if(aiaq) q=i; printf(n %d,%d,p,q);A)求最大值和最小值 B)求最大值的位置和最小值的位置C)求最大值的位置和最小值 D)求最小值的位置和最大值16、判断字符串a和b是否相等,应当使用 (16) 。A) if(a=b) B) if(a=b)C) if(strcpy(a,b) D) if(strcmp(a,b)二、程序阅读题(18,21,25,29每题2分,其他每题3分,共38分)17、下面程序的运行结果是 (17) 。void f(int *x,int *y) int

12、t; t=*x;*x=*y;*y=t;main() int a8=1,2,3,4,5,6,7,8,i,*p,*q;p=a;q=&a7;while(pq) f(p,q); p+; q-;for(i=0;i8;i+) printf(%d,ai);A)8,2,3,4,5,6,7,1,B)5,6,7,8,1,2,3,4,C)1,2,3,4,5,6,7,8,D)8,7,6,5,4,3,2,1,18、以下程序的运行结果是 (18) 。 int func(int a,int b) static int m=0,i=2;i+=m+1; m=i+a+b; return (m); main( ) int k=4,

13、m=1,p; p=func(k,m); printf(“%d,”,p);p=func(k,m); printf(“%dn”,p); A)8,17 B)8,16 C)8,20 D)8,819、下面程序的运行结果是 (19) 。 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)1020、以下程序的运行结果是 (20) 。 main( ) int a10=8,6,4,0,9,1,2,5,7,3,t,*k=a,*p,*q;for(p=a;pa+

14、10;p+) if (*p=a&qa+10;p-,q+) t=*p;*p=*q;*q=t; for(p=a;pa+10;p+) printf(“%d”,*p); A)3752190468 B)7521904683 C)2190468573 D)864091257321以下程序的运行结果是 (21) .void sort (int *a, int n) main() int *i, *j, t; int i,a10=5,3,8,6,0,1,4,7,9,2 for(i=a;ia+n-1;i+) sort(a,5); for(j=i+1; j*j)t=*i;*i=*j;*j=t; for(i=0;i

15、n;i+)printf(“%d”,ai); A) 0123456789 B) 9876543210 C) 0356812479 D) 8653097421 22、以下程序的运行结果是 (22) 。 main( ) int j,k,s1=0,s2=0,a33=1,2,3,4,5,6,7,8,9;for(j=0;j3;j+) for(k=j+1;k=a & ai=z ) putchar ( ai ); else printf ( %d,ai+1 ); A) ab23 B) ab12 C) ab4950 D) ab505124、以下程序的运行结果是 (24) 。 main( ) int a10=3,

16、2,5,4,6,7,9,12,8,10,i,p=0,q=0;for(i=0;ip) p=ai; if (aiq) q=ai; printf(“n %d,%d”,p,q); A)0,0 B)12,0 C)12,2 D)2,1225、以下程序的运行结果是 (25) 。 #define F x+y main() int x=4, y=5, z; if(x+ak ) k=j; j=a0; a0=ak; ak=j; printf ( “%s”, a); A) ZbcXYa789 B) cbaXYZ789 C) 7bcXYZa89 D) 9bcXYZ78a27以下程序的运行结果是 (27) 。#inclu

17、de main( ) static char a=“Language”,b=“programe”; char *p1,*p2; int k; p1=a; p2=b; for(k=0;k=7;k+) if(*(p1+k)= =*(p2+k) printf(“%c”,*(p1+k); 28以下程序的运行结果是 (28) 。main() int n=12345,j,n1=0,n2=0; while ( n/=10 ) j=n%10; if ( j%2 ) n1+=j; else n2+=j; printf ( n %d,%d, n1,n2 );A) gae B) ga C) Language D)

18、有语法错A 9,6 B. 6,4 C. 6,9 D. 4,629若运行以下程序时,从键盘输入abcd(表示回车),则输出结果是 (29) 。 #include “stdio.h” main() int c; while(c=getchar()!=n) switch(c-a) case 0: case 1: putchar(c+4); case 2: putchar(c+4); break; case 3: putchar(c+3); default: putchar(c+2); break; File1.txt内容:Zhao 87Qian 75Sun 90Li 93Zhou 70 A. fgg

19、 B. effgg C. eeffggf D. eeffgg30以下程序的运行结果是 (30) 。#define PRT “n %s %d %s %d”struct student char name10; int score; ; main() int i; struct student st, stmax,stmin; FILE *fp; fp=fopen ( “file1.txt”,”r” ); stmax.score=0; stmin.score=100; for ( i =1; i stmax.score ) stmax=st; while ( !feof( fp) ) fscanf

20、 ( fp,”%s%d”,st.name,&st.score );if ( st.score stmin.score ) stmin=st; fclose ( fp );printf (PRT,stmax.name,stmax.score,stmin.name,stmin.score ); A.Li 93 zhou 75 B.Sun 90 Zhou 70 C.Qian 75 Li 93 D.Zhao 87 Zhou70三、程序填充题:选择适当的内容填在以下各程序的下划线处,使程序完整。(每空3分,共30分)下面程序的功能是求100至1000之间有多少个数其各位数字之和是5。 main( ) i

21、nt i,s,k,count=0; for(i=100;i1 D)k10 (32) A)k/10 B)k%10 C)k-k%10 D)k-k/10 (33) A)continue B)break C)count+ D)printf(“%d”,count) 下面程序的功能是在字符串str中找出最大的字符并放在第一个位置上,并将该字符前的原字符往后顺序移动,如chyab变成ychab。 main( ) char str80,*p,max,*q; q=p=str; gets(p); max=*p+; while(*p) if(maxstr B)qp C)*qstr0 D)*q*p(36) A)q+ B)str- - C)q- - D)p- -以下函数是将数列a中的非素数去掉,只保留素数部分,然后按从大到小顺序重新排列后输出。void sort(int * a,int n) int *i,*j,t; for(i=a;ia+n-1;i+) for(j=i+1;ja+n;j+) (38) ; int prime(int m) int i; if (m2) retu

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

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