欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C语言习题库.docx

    • 资源ID:96950898       资源大小:22.33KB        全文页数:8页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言习题库.docx

    C语言程序设计习题库第一章c程序设计基础一、简答题1 . c语言程序的总体结构是怎样的?答:C语言程序的结构:预处理命令void main ()(声明部分执行部分其他函数()(声明部分执行部分2 .C语言程序的基本单位是什么?它的结构如何?答:C语言程序的基本单位是函数,函数的结构如下:一个函数由两部分组成:函数的首部和函数体函数的首部(函数的说明部分),即函数的第一行,包括函数名、函数类型、函数属性、 函数参数名、参数类型格式如下:返回值类型函数名(函数参数类型1函数参数名1,,函数参数类型n函 数参数名n)函数体,中的内容,若一个函数有多个 ,则最外层的一对 为函数体的范围。 它包含两部分:声明部分(变量定义):定义所用到的变量和对所调用函数的声明。 执行部分:由若干语句组成。3 .主函数main。在程序中的地位如何。程序总是从哪个函数开始执行,到哪个函数执行完 后结束?答:一个C的源程序至少并且仅包含一个main函数,必须要有主函数;主函数是每个程序 执行的起点和终点,一个C程序总是从main函数开始执行的,main函数执行结束则整个 程序结束执行。4 .执行一个C语言程序的一般过程是什么?答:编好一个C程序后,执行一个c程序一般要经过几个步骤:上机输入与编辑源程序对源程序进行编译与库函数连接运行目标程序二、编程题1 .若 a=3, b=4. c=5, x=l. 2, y=2. 4, z=-3. 6, u=51274, n=128765, cl=" a' , c2='b',想得到以 下输出格式和结果,写出程序(包括定义变量类型和设计输出)a 二口3口 Db二 口4口 口(2二口5 (口表示空格)x=l. 200000, y=2. 400000,z=-3.600000x+y二口3. 600口 口丫+z=T. 20口 口2+*=-2. 4011二口51274口 口。二口口口 128765cl='a' DorD97(ASCII)c2='b' 口。=口98(ASCH) ttinclude <stdio. h>void main() int a=3, b=4, c=5;float x=l. 2, y=2. 4, z=-3. 6;unsigned int u=51274;long int n=128765;char cl=,a', c2=,b'printf (a=%2d口 nb=%2dn c=%2dn,z, a, b, c);printf (z/x=%f, y=%f, z=%fn, x, y, z);printf (x+y=6. 3f y+z=%5. 2f 口 Dz+x=%5. 2fn,x+y, y+z, z+x);printf (z,u=%6un n=%91dn,/, u, n);printf (,cl=,%c' or%3d(ASCII) n, cl, cl);printf (c2='%c,Dor%3d (ASCII) n,z, c2, c2) ;2 .设圆半径L1. 5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用 scanf输入数据,输出计算结果,输出要求有文字说明,取小数点后两位数字,请编写程序。 #include<stdio. h>void main() float h, r, 1, s, sq, vq, vz;float pi=3. 1415927;printf (请输入圆半径r,圆柱高h: );scanf (f,,&r, &h);l=2*pi*r;s=pi*r*r;sq=4*pi*r*r;vq=4/3. 0*pi*r*r*r;vz=pi*r*r*h;printf (圆周长1=%. 2f,圆面积s=%. 2f,圆球表面积sq=%. 2f,圆球体积vq=%,2f,圆柱体积 vz=%. 2f n,1, s, sq, vq, vz) ;3 .输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9,输出要求有文字说明,取2 位小数。#include<stdio. h> void main() float c, f;printf(请输入一个华氏温度:);scanf(%f,&f);c=5*(f-32)/9. 0;printf (摄氏温度为:. 2fn, c) ;)第二章 c程序设计结构1 .输入一个三位数,将它反向输出,例如输入123,输出321. #include <stdio.h>void main() int a,i,j,k;printf("请输入一个3位数:”); scanf(n%d&a);i=a/l 00; j=a% 100/10; k=a% 10;a=k*100+j*10+i;printf("反向输出 a:%dn",a);)2 .输入一个实数,分别输出整数部分和小数部分。#include<stdio.h>void main()float a,c;int b; /*b存放整数,c存放小数*/printf("请输入一个实数:");scanf(n%f,&a);b=(int)a;/*也可以用 b=a;*/c=a-b;printf(na的整数和小数部分分别为:%d和%fn”,b,c);3,输入某年某月某日,判断这一天是这一年的第几天。#include nstdio.hnvoid main()int day,month,year,sum,leap;int months 13 = 0,31,0,31,30,31,30,31,31,30,31,30,31);printf(nplease input year.month.daynn);scanf(',%d.%d.%d,',&year,&month,&day);if(year%400=0|(year%4=0&&year% 100! =0) months!2=29;else months2=28; /*设置 2 月的天数*/if(year<0) printf(Hyear errorn");else if(month< 11|month> 12) printf("month errornn);else if(day< 1 |day>monthsmonth)printf(nday errornM);/*保证年月日正确输入*/elseswitch(month) /*先计算某月以前月份的总天数*/case l:sum=0; break;case 2:sum=31; break;case 3:sum=59;break;case 4:sum=90;break;case 5:sum=120;break;case 6:sum=151;break;case 7:sum=181;break;case 8:sum=212;break;case 9:sum=243;break;case 10:sum=273;brcak;case 1 l:sum=304;break;case 12:sum=334;break; sum=sum+day;/*再加上某天的天数*/leap=l;if(year%400=0|(year%4=0&&year% 100! =0)/* 判断是不是闰年 */elseleap=0;if(leap= 1 &&month>2) sum+;/*如果是闰年且月份大于2,总天数应该加一天刃printf( "It is the %dth day.”,sum); /*else 结束*/ 4 .输入3个整数x,y,z,请把这三个数由小到大输出。#include<stdio.h>void main() int x,y,z,t;scanf(”d,%d,%d”,&x,&y,&z);if(x>y) 匚x;x=y;y=t;if(x>z) t=x;x=z;z=t;if(y>z) 仁y;y=z;z=t;printf("从小到大输出:d,&d,&dn;x,y,z); 5 .输入一个5位数,判断它是不是回文数。如12321是回文数,个位与万位相同,十位与千 位相同。#include<stdio.h>void main()long a;int i,j,m,n;printf(”请输入一个5位数:”);scanf(u%51dn,&a);i=a% 10;j=a% 100/10;m=a% 10000/1000;n=a/l 0000;if(i=n&&j=m)printf(n%ld 是一个回文数n”,a);else printf(n%ld 不是一个回文数n”,a);6 .有36块砖,要36人来搬,男人一次搬4块,女人一次搬3块,2个小孩共抬一块,要求1次搬完,求其中几个男人、女人和小孩各需多少?#include<stdio.h>void main()int man,wman,child;for(man=0;man<=9;man+)for(wman=0;wman<= 12;wman+)for(child=0;child<=72;child+)if(man+wman+child=36)&&(36=child/2+3*wman+4*man)&&(child%2=0)printf(nman=%dnwman=%dnchild=%dn,',man,wman,child); 7 .输入一行字符,分别统计其中英文字母、空格、数字和其他字符的个数。#include<stdio.h>void main() int Ietter=0,space=0,number=0,other=0; char c;printf(nplease input a string:nH);while(c=getchar()!='n') if(c>=,a1&&c<=,z,)|(c>=,A,&&c<=,Z!)letter+4-;else if(c='') space+;else if(c>='0'&&c<=9) number+;else other+4-;printf(nletter=%d,space=%d,number=%d,other=%dnn,letter,space,number,other);8 .编程计算a+aa+aaa+.+a.a(n个a), n和a的值由键盘输入。#include<stdio.h>#include<math.h> void main() int a,n,i=l; long tn=0,sn=0;scanf(n%d,%dn,&a,&n); while(i<=n) tn=a*(int)pow( 10,i-1 )+tn; sn=sn+m: i+; printf(nsn=%ldnM,sn);方法 2:前一项*10+af tn=tn*10+a;9 .一个数如果恰好等于它的因子之和,这个数就称为“完数”。如6=1+2+3,编程找出1000 以内的所有完数。#include<stdio.h> void main() int m,s,i;for(m=2;m< 1000;m+)s=0;for(i=l;i<m;i+) /*求 m 的因子*/if(m%i)=0) s=s+i; /*此时的i是m的其中一个因子*/if(s=m)printf(H%d 是完数n”,m);for(i=l;i<m;i+)/*输出m的所有因子*/if(m%i)=0) printf(”d,”,i); printf(nnn);) )第三章函数1 .写一个函数,输出2至100之间的素数。#include<stdio.h>#include<math.h> int print(int m) int i,flag=l;for(i=2;i<=sqrt(m);i+)if(m%i=0) flag=0; break; return flag;void main() int m;for(m=2;m<= 100;m+)if(print(m) printf("3d,m); )2 .用函数调用求表达式的值:s=l!+2!+.+n!double fun(int m) /*求 m!*/ double tn=l; int i=l;while(i<=m)tn=tn*i;i+;return tn;void main() /*求 l!+2!+n!*/int n,i=l; scanf("d”,&n);double s=0;while(i<=n) s=s+fun(i); i+; printf(”F,s);3,函数片段填空。函数功能是计算并输出n以内能被5或9整除的所有自然数的倒数之和。#include<stdio.h>double fun(int n) /*填写函数片段,完成函数功能*/int i;double s=0;for(i=l;i<=n;i+)if(i%5=0|i%9=0) s=s+1.0/i;return s;void main() int n;double s;scanf(H%dH,&n);s=fun(n);printf(Hs=%lfnn,s); 第四章数组一、填空题1 .在C语言中,数组的下标是从0开始的。2 .对于数组数组名a实际上是代表该数组的起始地址。3 .若有定义:int am31nl2345671:数组a的第一维大小是一 3 。二、选择题1.假定血类型的变量占用两个字节,有定义“intx10=024;”,则数组x在内存中所占字 节数是(D )oA.3B.6C.10D.202,若有说明语句:inty4=0,0;下面叙述不正确的是(D )。A.数组y的每个元素都可得初值0B.二维数组y的行数为1C.该说明等价于int y4=0;D.只有元素y00和可得到初值0,其余元素均得不到初值03.为了判断两个字符串si和s2是否相等,应使用(C )oA.if(strcpy(s 1 ,s2)B.if(s 1 =s2)C.if(strcmp(s l,s2)D.if(s 1 =s2)三、编程题求一个3*3矩阵的主对角线元素之和。void main() int i,j,a33,s=O;for(i=0;i<3;i+)for(j=0;j<3;j+)scanf(H%d&aij);for(i=0;i3;i+)for(j=0;j<3;j+)if(i=j) s=s+aij;printf(,'s=%dn,',s); 第五章指针1 .变量的指针,是指该变量的(B )oA.值B.地址C.名D.一个标志2 .若有语句int *point,a;则point=&a;中运算符&的含义是(D )。A.位与运算B.逻辑与运算C.取指针内容D.取地址3 .若x是整型变量,pb是整型的指针变量,则正确的赋值表达式是(A )oA.pb=&xB. pb=xC. *pb=&xD. *pb=*x

    注意事项

    本文(C语言习题库.docx)为本站会员(太**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开