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

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3786579.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程序可以包含任意多个不同名的函数,但有且只有一个( )。 A、过程 B、主函数main( ) C、函数 D、include2、在C语言中,每个语句是以( )结束。 A、句号 B、逗号 C、分号 D、括号3、若i,j已定义为int型,则以下程序段中内循环体的执行次数是( )。for(i=5;i;i-) for(j=0;j4;j+. A、20 B、24 C、25 D、304、在ASCII代码表中每一个大写字母比相应的小写字母的ASCII码( ) A、小32 B、小64 C、大32 D、一样大5、若x是int型变量,y是float型变量,所用的scanf

2、调用语句格式为: scanf (“x=%d, y=%f”,&x,&y); 则为了将数据和.分别赋给x和y,正确的输入应当是()、x, y.回车 B、.回车、回车.回车、x回车 y.回车6、以下哪一个是C语言中的回车换行符( )。 A、n B、c C、t D、b 7、执行下列程序段输出是() x=3; doprintf(“%2d”,x - -);while(!x);A、0 B、3 C、321 D、210 8、若i,j已定义为int型,则以下for循环是( ) for (i=0,j=0; (j!=123)&(i4); i+) ; A、无限循环 B、循环次数不定 C、执行4次 D、执行3次 9、以下

3、结果为整数的表达式(设 int i ; char c; float f ;)是( )。 A、i+f B、i*c C、c+f D、i+c+f10、C语言对嵌套if语句的规定是:else总是与( )配对。A、其之前最近的if B、第一个if C、缩进位置相同的if D、其前面最近的尚未配对的if 11、C语言的while循环语句中,while后一对圆括号中表达式的值决定了循环体是否进行,因此,进入while循环后,一定要有能使此表达式的值变为( )的操作,否则,循环将会无限制地进行下去。 A、0 B、-1 C、1 D、NULL12、以下关于数组的描述正确的是:( )A、数组的大小是固定的,但可以有

4、不同类型的数组元素 B、数组的大小是可变的,但所有数组元素的类型必须相同C、数组的大小是固定的,但所有数组元素的类型必须相同D、数组的大小是可变的,可以有不同类型的数组元素 13、在C语言程序中,下列描述正确的是( )。 A、函数的定义可以嵌套,但函数的调用不可以嵌套 B、函数的定义不可以嵌套,但函数的调用可以嵌套 C、函数的定义和调用均可以嵌套 D、函数的定义和调用均不可以嵌套14、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( )。 A、地址传递 B、单向值传递 C、由用户指定传递方式 D、由实参传给形参,再由形参传回给实参15、若用数组名作为函数调用时的实参,则实际上传

5、递给形参的是( )。 A、数组首地址 B、数组的第一个元素值 C、数组中全部元素的值 D、数组元素的个数16、为了判断两个字符串S1和S2是否相等,应当使用( )。 A、if(s1= =s2) B、if (s1=s2)C、if(strcpy(s1,s2) D、if(strcmy(s1,s2)= =0) 17、在一个源文件中定义的全局变量的作用域为( )。 A、本文件的全部范围 B、本程序的全部范围 C、本函数的全部范围 D、从定义该变量的位置开始到本文件结束18、在执行char str10=“china” ;strlen(str)的结果是( )。 A、5 B、6 C、7 D、919、以下 4

6、个数组定义中,( )是错误的。 A. int a7; B. #define N 5 long bN;C. char c5; D. int n, dn;20、当接收用户键入的含空格的字符串时,应使用( )函数。 A、scanf( ) B、gets( ) C、getchar( ) D、getc( )21、若定义int a10;则对a数组元素的正确引用是( )A、a10 B、a4.3 C、a(5) D、a6-622、以下正确的C语言标识符是:( )。 A、%x B、a+b C、a123 D、test! 23、 int a4=5,3,8,9;其中 a3的值为( )A. 5 B. 3 C. 8 D. 9

7、24、若t为double类型,表达式t=1,t+5,t+的值是( )。 A、1 B、6.0 C、2.0 D、1.025、设a=2,b=3,执行表达式c=b*=a-1后,变量c的值是 A、5 B、3 C、2 D、426、在C语言中,横向跳格字符是( ) A、c B、v C、m D、t27、设a为整型变量,初值为12,执行完语句 a+=a-=a*a后,a的值是( )。A、 552 B、 144 C 、264 D、 -26428、在C语言中,if语句后的一对圆括号中,用以决定分支流程的表达式为( )。A 只能是逻辑表达式 B只能是关系表达式C 只能是逻辑表达式或关系表达式 D可以是任意表达式29、数

8、组名作为实参数传递给函数时,数组名被处理为( )。A 该数组的长度 B 该数组的元素个数C 该数组的首地址 D 该数组中各元素的值30、关于return语句,下列正确的说法是( )。A 可以在同一函数中出现多次 B 在主函数中不能出现C 必须在每个函数中出现 D 只能在除主函数之外的函数中出现一次31、在C语言中,引用数组元素时,其数组下标的数据类型允许是( ) A 整型常量 B 整型表达式或整型常量 C 实型常量 D 任何类型 的表达式 32、语言中,哪一个运算符的优先级最高()、=33、若已知a=5,b=6, 则表达式 !ab)& (n=cd)” 后m,n的值是( )。 A、0,0 B、0

9、,1 C、1,0 D、1,1二、写出程序执行结果:1、main( )int k=4,m=1,p; p=func(k,m); printf(“%d,”,p); p=func(k,m); printf(“%dn”,p); func(a,b) int a,b; static int m=0,i=2; i+=m+1; m=i+a+b; return(m); 2、main( )int *p1,*p2,*p3,a2=2,3,b3=5,6,7; p3=p1=&a0; p2=&b0;printf(“%ut”, p1);printf(“%dt”, * p1+);printf(“%ut”, p1);printf(

10、“%dt”, *p1);printf(“%dt”, p1-p3);printf(“%dt”, *(p2=p2+2);printf(“%dt”, *- -p2);设p1指向65494单元,请写出上述程序运行结果3、func(int m)int n; if(m= =0|m= =1)return(3); n=m-func(m-2); return n; main( )printf(“%dn”,func(9); 4、main( ) char str =“1a2b3c”; int k; for(k=0;strk!=0;k+) if(strk=0&strk=9) printf(“%c”,strk); pr

11、intf(“n”); 5、main( )int a=5;float x=67.846;static char d10=“abc”;printf(“%4d,%4.1f,%c”,a,x,d2);6、main( )int t=3; while (t+ =0;k-) switch(k) case 1: case 4: case 7: s+;break; case 2: case 3: case 6: break; case 0: case 5:s+=2;break; printf(“s=%dn”,s); 12、main( ) int s=0, i=4; do if(i=0) break; else s

12、=s+i; printf(“%dt”,s); while(- -i); 13、以下程序的输出结果是:main( ) int a33=1,2,3,3,4,5,5,6,7,i,j,s=0; for(i=0;i3;i+) for(j=0;j3;j+) s=s+aij; printf(“%dn”,s); 14、main( )int i,j,i1=0,j1=0,m; int s33=101,201,301,11,18,30,60,20,70;m=s00;for(i=0;i3;i+)for(j=0;j3;j+)if(sijm)m=sij;i1=i;j1=j;printf(“%d,%d,%d”,m,i1,j

13、1);15、main( )int i,x; for(i=1,x=1;i=10) break; if(x%2=1) x+=5; continue; x-=3; printf(“%d,%d”,x,i); 三、编写程序:1、编程实现求百钱买百鸡的方法。设公鸡每只5钱,母鸡每只3钱,小鸡3只1钱。 2、对用户输入的所有整数进行累加,直到输入0为止 3、编写一个程序,判定1+2+3+4+5+n大于1000的最小整数值n4、编程:用一维数组计算Fibonacci数列的前20 项,该数列为:1,1,2,3,5,8,13,21,34, 5、某市不同车牌的出租车3公里的起步价和计费分别是:夏利7元,3公里以外2

14、.1元/公里;富康8元,3公里以外2.4元/公里;桑塔纳9元,3公里以外2.7元/公里。编程:从键盘输入乘车的车型及公里数,输出应付的车资。6、输入某年和相应的月份,输出该月的天数。7、从键盘输入一个整数,判断这个数是奇数还是偶数.8、从键盘输入一位整数,当输入是1至7时,显示对应的英文星期名称的略写(如下所示). 1 Mon 2 Tue 3 Wed 4 Thu 5 Fri 6 Sat 7 Sun9、编写程序,求1!+2!+3!+10!10、编写程序,用公式 /4=1-(1/3)+(1/5)-(1/7)+ 求的近似值,直到最后一项的绝对值小于10-6为止。11、编写程序,求任意整数的各个数位上

15、的数字之和,如输入整数67401,结果为18(因为1+0+4+7+6=18)。12、定义一个54(5行4列)的二维数组,存储5个学生4门课的成绩,录入成绩,并求每一个学生的最低成绩。13、从键盘输入10个互不相同的数并存放在一维数组中,找出最大值并将其从数组中删除。14、编写一个程序显示ASCII码6590(十进制)的字符对照表.15、某班级有40名同学,请编程从键盘输入三名同学的姓名、学号、年龄、语文成绩、数学成绩、英语成绩。求40名同学的平均年龄;每名同学的平均分。并输出结果。四、程序填空:1、w ww w w w w w w w w w w w w w ww wwvoid draw(in

16、t n)int i,j,k,r,m for(i=1;_;i+) for(j=1;j=2;j+) for(r=1;r=i;r+) printf(“”); printf(“w”); for(k=1;_;k+) printf(“”); printf(“w”); for(m=1;m=i;m+) printf(“”); _; #include main( )int n;printf(“input a number:”); _; draw(n); 2、请在横线上填入合适的表达式,使数组元素按大小顺序排列。main( )int a12=2,14,16,20,9,21,86,75,17,30,11,99,i,

17、j,k;for(k=0;k12;k+)for(i=k;i_) j=ai; ai=_; _=j; for(i=0;i=0;j-) printf(“%c”,_); 4、下列程序的功能是统计从键盘输入的字符中大写字母的个数。输入时用“*”作为输入结束的标记。#include #include main( )char c1; int i,count=0; while( )!=*) if(isupper(c1) count+; printf(“ “,count); 5、以下函数的功能是求x的y次方,请填空。double fun(double x,int y)int i; double z; for(i=

18、1,z=x; i=20) y=x*600*0.85; else y=x*600*0.95; break;case 1:case 2:case 3:case 4:Case 5:case 10:case 11:if(x=20) y=x*600*0.7; else y=x*600*0.8; break;case 6:case 12: y=x*600*0.9;break; printf(“y=%f”,y); 3、编写程序,用公式 /4=1-(1/3)+(1/5)-(1/7)+ 求的近似值,直到最后一项的绝对值小于10-6为止。#includemain( )float n,t,pi; int f; t=

19、1,pi=0;n=1;f=1; while(fabs(t)1e-6) pi=pi+t; n=n+2; f=-f; t=f/n; pi=pi*4; printf(“pi=%10.6fn”,pi); 4、银行换零钱。假定你拿1张百元钞票到银行换零,要求是必须换成若干张20元、10元和5元。请编写程序,找出所有可能的找零组合,如1张20元,5张10元,6张5元。main( ) int a, b, c; for ( a=0;a=5; a+) for(b=0;b=10; b+) for(c=0;c=20;c+) if(a*20+b*10+c*5=100) printf(“%d张20元,%d张10元,%d

20、张5元n”, a, b, c); 5、编写一个统计某班3门课程成绩的程序,3门课程分别是语文,数学和英语。先输入学生人数,然后按学号输入学生成绩,最后统计每门课全班的总成绩和平均成绩及每个学生课程的总成绩和平均成绩。main( ) int score505,total3,avg3; int i,j,n; printf(“学生人数:“); scanf(“%d”,&n); printf(“输入成绩:n”); for(i=0;in;i+) printf(“第%d个学生:”,i+1); scanf(“%d%d%d”,&scorei0, &scorei1, &scorei2); for(i=0;in;i

21、+) for(j=0,scorei3=0;j3;j+) scorei3+= scoreij; scorei4= scorei3/3; for(j=0;j3;j+) for(i=0,totalj =0;in;i+) totalj+= scoreij; avgj= totalj/n; printf(“n学号 语文 数学 英语 总分 平均分n”); for(i=0;in;i+) printf(“%5d:”,i+1); for(j=0;j5;j+) printf(“%7d”,scoreij); printf(“n”); printf(“全班总分:”); for(i=0;i3;i+) printf(“%7d”,totali); printf(“全班平均分:”); for(i=0;i3;i+) printf(“%7d”,avgi);

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

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