C语言习题及答案.docx

上传人:s****u 文档编号:12766619 上传时间:2020-05-23 格式:DOCX 页数:12 大小:22.43KB
返回 下载 相关 举报
C语言习题及答案.docx_第1页
第1页 / 共12页
C语言习题及答案.docx_第2页
第2页 / 共12页
C语言习题及答案.docx_第3页
第3页 / 共12页
点击查看更多>>
资源描述
第1题 (2.0分) 题号:97 难度:中 第1章以下不正确的叙述是()。A:在C程序中所用的变量必须先定义后使用B:程序中,APH和aph是两个不同的变量C:若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变D:当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值答案:D第2题 (2.0分) 题号:204 难度:中 第10章在下列程序段中,枚举变量c1,c2的值依次是()。 enum color red,yellow,blue=4,green,white c1,c2;c1=yellow;c2=white; printf(%d,%dn,c1,c2);A:1,6B:2,5C:1,4D:2,6答案:A第3题 (2.0分) 题号:601 难度:中 第2章下面四个选项中,均是不合法的浮点数的选项是()。A:160. 0.12 e3B:123 2e4.2 .e5C:-.18 123e4 0.0D:-e3 .234 1e3答案:B第4题 (2.0分) 题号:621 难度:中 第3章printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长度大于5,则输出按方式()。A:从左起输出该字符串,右补空格B:按原字符长从左向右全部输出C:右对齐输出该字串,左补空格D:输出错误信息答案:B第5题 (2.0分) 题号:694 难度:中 第3章以下叙述正确的是()。A:可以把define和if定义为用户标识符B:可以把define定义为用户标识符,但不能把if定义为用户标识符C:可以把if定义为用户标识符,但不能把define定义为用户标识符D:define和if都不能定义为用户标识符答案:B第6题 (2.0分) 题号:575 难度:中 第4章若有条件表达式 (exp)?a+:b-,则以下表达式中能完全等价于表达式(exp)的是()。A:(exp=0)B:(exp!=0)C:(exp=1)D:(exp!=1)答案:B第7题 (2.0分) 题号:208 难度:中 第4章下列各m的值中,能使m%3=2&m%5=3&m%7=2为真的是()。A:8B:23C:17D:6答案:B第8题 (2.0分) 题号:632 难度:中 第5章以下叙述正确的是()。A:do-while语句构成的循环不能用其它语句构成的循环来代替.B:do-while语句构成的循环只能用break语句退出.C:用do-while语句构成的循环,在while后的表达式为非零时结束循环.D:用do-while语句构成的循环,在while后的表达式为零时结束循环答案:D第9题 (2.0分) 题号:506 难度:中 第5章以下程序段的输出结果为()。for(i=4;i1;i-)for(j=1;ji;j+)putchar(#);A:无B:#C:#D:#答案:B第10题 (2.0分) 题号:617 难度:中 第5章执行语句 for(i=1;i+y) z=x; else z=y; return(z); A:45B:27C:18D:72答案:A第17题 (2.0分) 题号:211 难度:中 第12章fgets(str,n,fp)函数从文件中读入一个字符串,以下正确的叙述是()。A:字符串读入后不会自动加入0B:fp是file类型的指针C:fgets函数将从文件中最多读入n-1个字符D:fgets函数将从文件中最多读入n个字符答案:C第18题 (2.0分) 题号:554 难度:中 第12章从键盘上输入某字符串时,不可使用的函数是()。A:getchar()B:gets()C:scanf()D:fread()答案:A第19题 (2.0分) 题号:471 难度:中 第9章以下程序段 char *alp=ABC,DEF,GHI; int j; puts(alp1);的输出结果是()。A:AB:BC:DD:DEF答案:D第20题 (2.0分) 题号:191 难度:中 第9章设有说明int (*ptr)M;其中标识符ptr是()。A:M个指向整型变量的指针B:指向M个整型变量的函数指针C:一个指向具有M个整型元素的一维数组的指针D:具有M个指针元素的一维指针数组,每个元素都只能指向整型量答案:C二、程序填空 共2题 (共计20分)第1题 (10.0分) 题号:24 难度:中 第1章功能:对任一整数N(N0),它都可以分解成1(或-1)和一些质数(素 数)因子的形式。例如:当N=150时,可分解成12355; 当N=-150时,可分解为-12355。 下边程序能实现这种分解过程。当N=150,输出以下分解结 果:N= 1* 2* 3* 5* 5#include #include main() int n,i,r; scanf(%d,&n); if (n=0) printf (data error n); exit(0); /*SPACE*/ else if (【?】) printf(n=1); else printf(n=-1); n=-n; /*SPACE*/ for(【?】;i0=或=0n=(答案2)=i=2=(答案3)=r=n%i=(答案4)=n=n/i=或=n/=i第2题 (10.0分) 题号:20 难度:中 第1章功能:求两个非负整数的最大公约数和最小公倍数。#include void main() int m,n,r,p,gcd,lcm; scanf(%d%d,&m,&n); if(mn) p=m,m=n;n=p; p=m*n; r=m%n; /*SPACE*/ while(【?】 ) /*SPACE*/ m=n;n=r; 【?】; /*SPACE*/ gcd=【?】; lcm=p/gcd; /*SPACE*/ printf(gcd=%d,lcm=%dn, gcd,lcm);答案:=(答案1)=r != 0=或=r=(答案2)=r=m%n=或=r=m-m/n*n=(答案3)=n三、程序改错 共2题 (共计20分)第1题 (10.0分) 题号:1 难度:中 第1功能:在一个一维整型数组中找出其中最大的数及其下标。#include #define N 10/*FOUND*/float fun(int *a,int *b,int n) int *c,max=*a; for(c=a+1;cmax) max=*c; /*FOUND*/ b=c-a; return max;void main() int aN,i,max,p=0; printf(please enter 10 integers:n); for(i=0;i0.0) 累计营业额; 输入下一笔交易额; 输出营业额;记一笔交易额为变量sale,营业额为sigma。#include void main() /*FOUND*/ float sale,sigma sigma=0.0; printf(Enter sale data.n); /*FOUND*/ scanf(%f,sale); while(sale0.0) /*FOUND*/ sigma+=sale; printf(Enter next sale data(=0 to finish).n); scanf(%f,&sale); printf(Sigma of sale is %.2fn,sigma);答案:=(答案1)=float sale,sigma;=(答案2)=scanf(%f,&sale);=(答案3)=sigma+=sale;=或=sigma=sigma+sale;四、程序设计 共2题 (共计20分)第1题 (10.0分) 题号:386 难度:中 第2章功能:用函数求N个10,60上的整数中能被5整除的最大 的数,如存在则返回这个最大值,如果不存在则 返回0。-*/#define N 30#include stdlib.h#include void wwjt(); int find(int arr,int n) int m=0; /*Program*/ /* End */ return(m);main() int aN,i,k; for(i=0;iN;i+) ai=random(51)+10; for(i=0;iN;i+) printf(%5d,ai); if(i+1)%5=0) printf(n); k=find(a,N); if(k=0) printf(NO FOUNDn); else printf(the max is:%dn,k); wwjt();void wwjt() FILE *IN,*OUT; int n; int i5; int o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read FILE Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write FILE Error); for(n=0;n5;n+) fscanf(IN,%d,&in); o=find(i,5); fprintf(OUT,%dn,o); fclose(IN); fclose(OUT);答案:-int i; for(i=0;im) m=arri;-第2题 (10.0分) 题号:401 难度:中 第2章功能:若x、y为奇数,求x到y之间的奇数和;若x、y为偶 数,则求x到y之间的偶数和。#include void wwjt(); int fun(int x,int y) /*Program*/ * End */main() int s; s=fun(1,1999)-fun(2,1998); printf(s=%dn,s); wwjt();void wwjt() FILE *IN,*OUT; int n; int i2; int o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read FILE Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write FILE Error); for(n=0;n2;n+) fscanf(IN,%d,&in); o = fun(i0,i1); fprintf(OUT,%dn,o); fclose(IN); fclose(OUT);答案:- int i,s=0; for(i=x;i=y;i+=2) s=s+i; return s;-
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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