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

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7235163.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. 一个C语言的执行是从本程序的_开始,到_结束?2. C语言中用户的标识符命名规则是_。3. 在一个c语言程序中,main函数的位置是_。4. 若有代数式p(mne)/(bcd),其中p、m、n、e、b、c、d为变量,则该代数式的 C语言表达式为_。5. char a; int x; float y,m; double z,p;则表达式“a*x*m+z-y*x*p”值的数据类型为_。6. C语言的常用关键字有_(举

2、例说明,越多越好)。7. printf函数中用到格式符%ms,其中数字m表示输出的字符串占用m列。如果字符串长度大于m,则输出时的规则是_。若如果字符串长度小于m,则输出时的规则是_。若如果字符串长度等于m,则输出时的规则是_。当m0时是左对齐还是右对齐?my)z=x;x=y;y=z;语句后,x、y、z的值是_。13.若m和n均为int型变量,则以下for语句循环执行的次数_及输出结果是_。for(n=8,m=8;m!=8;m+,+n) printf(“Welcome you!n”);14.若n为int型变量,则循环语句“for(n=0;n2) return(fib(n-1)+fib(n-2)

3、; else return (2); void main( ) printf(%ldn, fib(5); 34.若有以下语句int a,*p,*p; a=808;p=&a;pp=&p;则*PP的值是_。35. 设有如下定义:int *p( ); int a10, *q10;qi=&ai则p表示的意义是_,*q的表示的含义是_,其值是_。 38.若有 #define MU(x,y) x*y , 则表达式24/MU(1+2,2)的值是_。39.若有 int a=1; 则执行完循环语句while( a+100 );后a的值为_。40.以下所列的C语言常量中,错误的是_。A 0xFF B2.8e0.2

4、 C25.3 DB41.所有的字符串都是以_字符结束的。42假定double类型变量占用8个字节,且有定义:double x10=1,2,3;,则数组x在内存中所占字节数是_ 43判断char型变量ch是否为小写字母的正确表达式是_44. 以下语句正确的有_,错误的有_ A char a=P, b=M; B float a=b=101.0;C int m=101, *n=&m; D double *a, b=&a; 45.以下4个选项中,不能看做一条语句的是_Aa-=23; Ba=8,b=12.5,c=13.68; B if(a15) p+; Dif(b!=5)x=2; y=6;46.关于if

5、后一对圆括号中的表达式,可以是哪种类型的表达式_ 47.以下有关变量使用范围不正确的说法是_。 A 在不同函数中可以使用同名的变量 B 形式参数是局部变量 C 在函数内定义的变量只在本函数内有效 D 全局变量可以在所有函数中使用48.若有说明语句:int a,b,*d=&b;,则能正确从键盘读入2个整数分别赋给变量a、b的语句是_。Ascanf(%d%d, &a,d); Bscanf(%d%d, &a,&d); C scanf(%d%d ,a,d); Dscanf(%d%d, a,*d);49.已知 int p=20; 则执行 if(p=a&ch=z) ? (ch-32) : ch; 55.下

6、面程序的运行结果是_。 char c8=a,0,b,0,c,0; printf(%s,c);56.以下程序的输出结果是_。 main() char st20= 10987654321ntnt; printf(%d n,strlen(st); 57.有如下程序, 该程序的输出结果是_。main( ) float x=2.0, y; if( x0.0 ) y=0.0; else if( x10.0 ) y=1.0/x+1/4; else y=10.0; printf( %fn, y); 58.以下程序段的输出结果是_。main( ) int a10=1,2,3,4,5,6,7,8,9,10, *p

7、=&a2;printf( %d, *(p+3) );59.有如下程序, 该程序的执行结果是_。 main() int i, sum=0; for(i=1; i=10; i+) sum += i; printf( %dn, sum); 60.以下程序段,while 循环执行的次数是_。 int k=0; while( k = 2) k = k -1; 60.语言使用的磁盘文件系统中,数据文件存储的的形式有哪两种_。 61.文件函数中,用于打开文件的函数是_,用于关闭文件的函数是_,读写文件中字符的函数是_,将一个字符写入磁盘文件的函数是_。二编程1.已知某班10个学生的C语言成绩为学号99019

8、90299039904990599069907990899099910C成绩65.486.769.888.510092.687.354.896.379.6要求:按成绩大小排序输出,格式如下:学号 成绩 名次 9905 100.0 1 9909 96.3 2 参考答案:#include stdio.hvoid main() static int num10=,i,j,p,t; static float sc10=65.4,86.7,69.8,88.5,100,92.6,87.3,54.8,96.3,79.6,f; printf(the original data:n); printf( 学号 成

9、绩n=n); for(i=0;i10;i+) printf(%6d %6.1fn,numi,sci); for(i=0;i9;i+) p=i; for(j=i+1;j10;j+) if(scpscj) p=j; if(p!=i) for(j=0;j10;j+) t=nump; nump=numi; numi=t; f=scp; scp=sci; sci=f; printf(the sorted data:n); printf( 学号 成绩 名次n=n); for(i=0;i10;i+) printf(%6d %6.1f %dn,numi,sci,i+1);2.例8.3编写一个交换两个变量的函数

10、,在主程序中调用,实现两个变量值的交换。#include void main() int a,b;int *pa,*pb;void s *p1,int *p2);/*函数声明*/scanf(%d%d,&a,&b);pa&a; /* pa指向变量a */pb&b; /* pb指向变量b */s,pb);printf(na%d,b%dn,a,b);void s *p1,int *p2)int temp; temp*p1; /*三行语句交换指针p1,p2所指向的变量的值*/ *p1*p2; *p2temp; 3. 例6.5编程求组合C=分别定义求组合的函数和求阶乘的函数:#include long

11、fac(int k) /* 定义求阶乘的函数*/ long f1; int i; for(i1;ik;i)f f * i; return f;long comb(int n,int m) /* 定义组合函数*/ long c;c fac(m)/ (fac(n)* fac(mn); /* 嵌套调用阶乘函数*/return c;main() int n,m; long c; scanf(%d,%d,&n,&m); c comb (n,m); /* 调用组合函数*/ printf (%ld,c);4.例6.6输入两个数,输出其中较大的数。#include void main() int a,b,m;

12、 int max(int,int ); /*对函数max的声明*/ scanf(%d,%d,&a,&b); m max(a,b); /*调用函数max,a、b已有具体的值*/ printf(max%d,m);int max(int x,int y) int t; if (xy)t x; else t y;return t; 如果运行时输入:10,5 输出为105. 例6.8用递归计算n!。程序:#include long fac(int n)long f;if (n0)f1;eslef n * fac(n1); /* 递归调用,求(n1)!*/return f;void main()long

13、y; int n; scanf(%d,&n); y fac(n); /*调用fac(n)求n!*/ printf(%d!%ld,n,y);程序运行时如果输入:3 6. 例5.9找出31 000中的全部素数。程序:#include void main() unsigned int i,j,count,flag;/* 用flag作标志*/count0; /* 计数器清0*/for(i3;i1000;i)flag 0; for(j2;j sqrt(i);j)if (i % j 0) /*能整除,不是素数,标志设为1 */ flag 1;break; /* 内循环结束 */if (flag 0) /*

14、 若flag为0,则i是素数 */ printf(%4d,i ); count;if (count % 8 0)printf(n); /* 每行输出8个素数*/* 外循环 */7.例8.1从键盘输入两个整数到a、b,按由大到小输出。#include void main()int a,b,*pa&a,*pb&b,*p;/*定义指针变量pa、pb,并进行初始化,如图8.4(a)所示*/scanf(%d%d,&a,&b); if (*pa*pb) ppa;/*进行指针交换,如图8.4(b)和图8.4(c)所示*/papb;pbp;printf(n a%d,b%dn,a,b);printf(n max

15、%d,min%d,*pa,*pb);/* pa指向大数,pb指向小数*/输入:1222输出: a12,b22max22,min128.例8.14用指向一维数组的行指针输出二维数组,并输出数组中的最大元素及所在行列号。#include void main() int i,j,m,n,max; int a341,2,3,4,5,6,7,8,9,10,11,12; int (*p)4; /*定义p为指向一个有4个元素的一维数组的指针变量*/ pa; /*p指向第0行*/ max*p; /*将第一个元素送入max,*p相当于 *(*(p0)0) */ for(i0;i3;i) printf(n); f

16、or(j0;j4;j) printf(%5d,*(*pj); if(max*(*pj) max*(*pj); mi;nj; p; /*指向下一行*/ printf(nmax is:a%2d %2d%5d,m,n,max);9.例5.1编写一个程序,输入一个班的学生的成绩,求全班的平均成绩。 程序:#include void main() float score,average0; /* average存放平均成绩,初值为0 */ int n0; /* n存放学生数,初值为0 */ scanf(%f,&score); /* 输入第一个学生的分数 */ while (score0)average score; /* average先用来放总分 */ n; /* 学生数加一 */ scanf(%f,&score); /* 输入下一个学生的分数 */ if (n!0)average average /n; /*求平均成绩average*/printf(%6.2f,average); /*输出平均成绩average,保留两位小数*/ (学习的目的是增长知识,提高能力,相信一分耕耘一分收获,努力就一定可以获得应有的回报)

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

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