C语言程序设计--17-文件
2014《C语言程序设计》专升本练习题
《C语言程序设计》专升本练习题(学习资料仅供练习)目录专升本《C语言》练习题一 (1)专升本《C语言》练习题二 (9)专升本《C语言》练习题三 (17)专升本《C语言》练习题四 (24)专升本《C语言》练习题五 (31)专升本《C语言》练习题六 (42)专升本《C语言》练习题七 (48)专升本《C语言》练习题八 (58)专升本《C语言》练习题九 (65)专升本《C语言》练习题十 (72)专升本《C语言》练习题一6 10专升本《C语言》练习题二专升本《C语言》练习题三一、单项选择题1. C语言源程序文件经过编译连接之后生成一个后缀为__C__的文件。
A.”.c”B.“.obj”C.“.exe”D.“.bas”2. 以下选项中不正确的整型常量是_C____。
A. 12LB. -10C. 1,900D. 123U3. 表达式___C___的值是0。
A.3%5B.3/5.0C.3/5D.3<54. 表达式!(x>0||y>0) 等价于__D___。
A.!x>0||!y>0B.!(x>0)||!(y>0)C.!x>0&&!y>0D.!(x>0)&&!(y>0)5. 若变量已正确定义并赋值,表达式__D____不符合C语言语法。
A.4&&3B.+aC.a=b=5D.int(3.14)6. 若变量已正确定义,执行语句scanf("%d%d%d ",&k1,&k2,&k3);时,___B___是正确的输入。
A.2030,40B.20 30 40C.20, 30 40D.20, 30,407. 执行语句printf(”__D____”, 2); 将得到出错信息。
A.%dB.%oC.%xD.%f8. 设变量定义为“int s[ ]="hello\nworld\n";”,则数组s中有__B__个元素。
c语言程序设计教程第二版课后习题答案
c语言程序设计教程第二版课后习题答案【篇一:c语言程序设计教程_李含光_郑关胜_清华大学出版社习题答案习题答案[完美打印版]】1.单项选择题(1)a (2)c(3)d (4)c (5)b 2.填空题(1)函数(2)主函数(main)(3)printf() , scanf()第2章习题参考答案1.单项选择题1-5 cbccc 6-10 cdcdc 11-13 dbb 2.填空题(1)1(2)26 (3)6 , 4 , 2 (4)10 , 6(5)3.000000 (6)双精度(double)(7)9 (8)字母,数字,下划线(9)13.700000 (10)11(11)((m/10)%10)*100+(m/100)*10+m%10(12)0 (13)10 ,9 ,11(15)(x0y0)||(x0z0)||(y0||z0)(16)double (17)x==0(18)sqrt(fabs(a-b))/(3*(a+b))(19)sqrt((x*x+y*y)/(a+b))第3章习题参考答案1.单项选择题1-5 cccdd 6-10 bcdbc11-15 bcbbb16 a 2.填空题(1)用;表示结束(2){ }(3)y=x0?1:x==0?0:-1(4)y%4==0y%100!=0||y%400==0(5)上面未配对(6)default 标号(7)while , do while , for(8)do while(9)本次(10)本层 3.阅读程序,指出结果(1)yes(2)*(3)abother(4)28 70(5)2,0(6)8(7)36 (8)1(9)3,1,-1,3,1,-1(10)a=12 ,y=12(11)i=6,k=4 (12)1,-2 4.程序填空(1)x:y , u:z(2)m=n , m!=0,m=m/10(3)teps , t*n/(2*n+1) , printf(“%lf\n”,2*s) (4)m%5==0 ,printf(“%d\n”,k) (5)cx=getchar() , cx!=front , cx(6)double s=0, 1.0/k , %lf (7)s=0 , sgmin, 5.编程题(1). #include stdio.h int main() {double x,y; scanf(%lf,x); if(x1) y=x;else if(x=1.0x10) y=2*x-11; elsey=3*x-11;printf(%lf\n,y); return 0; } (2).#include stdio.h int main() {double x,y,z,min;scanf(%lf%lf%lf,x,y,z); if(xy) min=y; else min=x; if(minz)min=z;printf(min=%lf\n,min); return 0; } (3).#include stdio.h int main() {int y,m,d,flag,s=0,w,i;scanf(%d%d%d,y,m,d);flag=(y%4==0y%100!=0||y%400==0);w=((y-1)*365+(y-1)/4-(y-1)/100+(y-1)/400)%7;for(i=1;i=m;i++) {switch(i) {case 1:s=d;break; case 2:s=31+d;break; case 3:s=59+d;break; case 4:s=90+d;break; case 5:s=120+d;break; case6:s=151+d;break; case 7:s=181+d;break; case8:s=212+d;break; case 9:s=243+d;break; case10:s=273+d;break; case 11:s=304+d;break; case12:s=334+d;break;} }s=(w+s)%7; if(s==0)printf(星期日\n); elseprintf(星期%d\n,s); return 0; }(4).#include stdio.h int main() {float p,r;scanf(%f,p); if(p=10) r=p*0.1;else if(p10p=20) r=10*0.1+(p-10)*0.075; else if(p20p=40)r=10*0.1+10*0.075+(p-20)*0.05; else if(p40p=60)r=10*0.1+10*0.075+20*0.05+(p-40)*0.03;else if(p60p=100)r=10*0.1+10*0.075+20*0.05+20*0.03+(p-60)*0.015; else if(p100)r=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(p-100)*0.01; printf(%f\n,r); return 0; } (5).#include stdio.h int main() {char c;while((c=getchar())!=\n) {if(c=ac=z) c=c-32; putchar(c);}return 0; } (6).#includestdio.h int main() {int m,k=2;printf(输入一个正整数:\n); scanf(%d,m); while(km) if(m%k==0) {printf(%4d,k); m=m/k; } else k++;printf(%4d\n,m); return 0; } (7).#includestdio.h int main() {int a,n,s=0,p=0,i;scanf(%d %d,n,a); for(i=1;i=n;i++) {p=p*10+a; s=s+p; }printf(%d\n,s); return 0; } (8).#includestdio.h int main(){int i,j,k;for(i=1;i=9;i++) for(j=0;j=9;j++) for(k=0;k=9;k++)printf(%5d,100*i+10*j+k); return 0; }(9).#includestdio.h #includemath.h int main() {float a=-10,b=10,x,f1,f2,f; f1=(((2*a-4)*a+3)*a)-6; f2=(((2*b-4)*b+3)*b)-6; do {x=(a+b)/2;f=(((2*x-4)*x+3)*x)-6; if(f*f10) { b=x; f2=f; } else { a=x;f1=f; }}while(fabs(f)=1e-6); printf(%6.2f\n,x); return 0; }(10).#includestdio.h#includemath.h int main() {int n=2;double eps,t,s=0,x;scanf(%lf %lf,x,eps); t=x; s=t;while(fabs(t)=eps) {t=-t*(2*n-3)*x*x/(2*n-2); s=s+t/(2*n); n++; }printf(%d,%lf\n,n,s); return 0; }(11).#includestdio.h int main() {unsigned long s,t=0,p=1; scanf(%u,s); while(s!=0) {if((s%10)%2!=0) {t=t+(s%10)*p; p=p*10; }s=s/10; }printf(%u\n,t); return 0; }第4章习题参考答案1.单项选择题1-5 dddbd 6-10 badcd 11-14 bdab 2.填空题(1)2(2)嵌套,递归(3)全局变量,局部变量,静态变量,动态变量(4)auto , static , register , extern (5)外部变量(6)编译,运行 3.阅读程序,指出结果(1)15(2)5(3)5,4,3 (4)i=5 i=2 i=2 i=4 i=2(5)求水仙花数(6)-5*5*5(7)30 (8)0 10 1 11 2 124.程序填空(1)float fun(float , float) , x+y,x-y, z+y,z-y (2)x , x*x+1 (3)s=0 , a=a+b 5.编程题(1).while(s!=0) #includestdio.h { unsigned int fun(unsigned int);p=p+s%10; int main() s=s/10; { } unsigned int s; return p; scanf(%u,s); } printf(%u\n,fun(s)); (2). return 0;#includestdio.h } #includestdlib.h unsigned int fun(unsignedint s) #includemath.h { void f1(float,float,float,float); unsigned int p=0; void f2(float,float,float,float);【篇二:《c语言程序设计》课后习题答案(第四版)谭浩强】t>1.1什么是计算机程序11.2什么是计算机语言11.3c语言的发展及其特点31.4最简单的c语言程序51.4.1最简单的c语言程序举例61.4.2c语言程序的结构101.5运行c程序的步骤与方法121.6程序设计的任务141-5 #include stdio.hint main ( ){ printf (**************************\n\n);printf( very good!\n\n);printf (**************************\n);return 0;}1-6#include stdio.hint main(){int a,b,c,max;printf(please input a,b,c:\n);scanf(%d,%d,%d,a,b,c);max=a;if (maxb)max=b;if (maxc)max=c;printf(the largest number is %d\n,max);return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用n?s流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的c程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3c语句573.3.1c语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include stdio.h#include math.hint main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf(p=%f\n,p);return 0;}3-2-1#include stdio.h#include math.hint main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5);// 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期 p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次 p5=p*pow(1+r0/4,4*5); // 存活期存款。
C语言程序设计试题及答案解析
C语言程序设计试题第1、2、3章 概述、类型、表达式一、选择题1、 一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:( )A、 任意B、 第一个函数必须是主函数,其他函数任意C、 必须完全按照执行的顺序排列D、 其他函数可以任意,主函数必须在最后2、 下列四个叙述中,正确的是:( )A、 C程序中的所有字母都必须小写B、 C程序中的关键字必须小写,其他标示符不区分大小写C、 C程序中的所有字母都不区分大小写D、 C语言中的所有关键字必须小写3、 下列四个叙述中,错误的是:( )A、 一个C源程序必须有且只能有一个主函数B、 一个C源程序可以有多个函数C、 在C源程序中注释说明必须位于语句之后D、 C源程序的基本结构是函数4、 下面不是C语言合法标识符的是:( )A、abcB、5nC、_4mD、x35、 以下叙述不正确的是:( )A. 分号是C语句的必要组成部分B. C程序的注释可以写在语句的后面C. 函数是C程序的基本单位D. 主函数的名字不一定非用main来表示6、 C语言中允许的基本数据类型包括:( )A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、字符型7、 C语言中能用八进制表示的数据类型为:( )A、字符型、整型B、整形、实型C、字符型、实型、双精度型D、字符型、整型、实型、双精度型8、 下列属于C语言合法的字符常数是:( )A、’\97’B、”A”C、’\t’D、”\0”9、 在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:( )A、char<int<=long int <=float<doubleB、char=int<long int <=float<doubleC、char<int<long int=float=doubleD、char=int=<long int <=float<double10、 在C语言中(VC环境),一定是长整型常数的是:( )A、0LB、4962710C、0412765D、0xa34b7fe11、 若有以下定义语句char c1=’b’, c2=’e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:( )A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定12、 以下合法的赋值语句是:( )A、x=y=100B、d--;C、x + yD、c = int(a+b);13、 设变量t为int型,下列选项中不正确的赋值语句是:( )A、++t;B、n1=(n2=(n3=0));C、k=i==m;D、a=b+c=1;14、 在以下一组运算符中,优先级最高的是:( )A、<=B、==C、%D、&&15、 下列能正确表示a≥10或a≤0的关系表达式是:( )A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=016、 下列只有当整数x为奇数时,其值为“真”的表达式是:( )A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、! (x%2)17、 设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:( )A、1 0< a < 15B、!(a<=10 || a>=15)C、a>10 && a<15D、!(a<=10) && !(a>=15)18、 已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:( )A、0B、语法错C、1D、“假”19、 表达式17%4 /8的值为:( )A、0B、1C、2D、320、 语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:( )A、无输出B、结果不确定C、-1D、121、 一个可执行的C程序的开始执行点是:( )A. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数22、 组成C语句的一个必不可少的符号是:( )A. 逗号B. 引号C. 冒号D. 分号23、 若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:( )A. intB. longC. floatD. double24、 下述是C语言中有关变量定义的几个说法,正确的是:( )A. 变量可以不定义直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D. 变量可以在定义时进行初绐化25、 与x * = y + z等价的赋值表达式是:( )A. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z26、 当代电子计算机能够自动地处理指定的问题是因为:( )A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是27、 以下叙述中最准确的是:( )A.计算机程序是处理某一问题所有指令的集合B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合28、 关于计算机程序设计,以下描述最准确的是:( )A.程序设计就是用语言来编写程序B.程序设计就是用计算机语言来编写程序C.程序设计就是用计算机程序设计语言来编写程序D.程序设计就是用计算机能识别的语言来编写程序29、 目前编写计算机程序一般采用的是:( )A.机器语言 B.汇编语言 C.高级语言 D.英语30、 设计一个计算机程序最基本的工作是:( )A.制定正确的算法 B.选择合理的数据结构C.制定正确的算法和选择合理的数据结构 D.以上都不是31、 算法具有五个特性,以下选项中不属于算法特性的是:( )A.有穷性 B.简洁性 C.可行性 D.确定性32、 下述哪一个不是结构化程序基本结构:( )A.顺序 B.选择 C.循环 D.嵌套33、 C语言是一种:( )A.机器语言 B.汇编语言 C.高级语言 D.以上都不是34、 C语言源程序的扩展名为:( )A..exe B..c C..obj D..cpp35、 C程序编译后最终产生(即计算机执行)的文件的扩展名为()A..exe B..c C..obj D..cpp36、 下列各项中,不是C语言的特点是:( )A.语言简洁、紧凑,使用方便B.程序执行效率高,可移植性好C.能实现汇编语言的大多数功能D.有较强的网络操作功能37、 构成C语言源程序的基本单位是:( ) A.子程序 B.过程 C.文本 D.函数38、 下列叙述正确的是:( )A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行39、 某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:( )A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行40、 以下叙述不正确的是:( )A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示41、 以下为C语句的是:( )A.a=8 B.a++; C.if(a>8) D.#include <stdio.h>以下不是C语句的是:( )A.a=8; B.a++; C.if(a>8); D.for(i=1;i<5;i++)42、 以下所列语句中,合法的语句是:( )A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);43、 C程序中的复合语句指的是:( )A.并列的多个C语句 B.写在同一行中的多个C 语句C.用一对大括号对括的多个C语句 D.就是函数体中的语句44、 当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( )A.由系统自动换行 B.立即按回车键换行C.在任意一个空格处按回车键换行D.输入一个分号后并按回车键换行换行45、 在x值处于-2~2,4~8时值为“真”,否则为“假”的表达式是:( )。
C语言程序设计实验-答案
C语言程序设计实验-答案(总17页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小---前言-/*非常感谢度娘以及各位网上C语言高手的支持,才能让敝人完成此文档的整理。
本文档集合了本人、度娘、众网友的力量,其中代码的正确率约为90%(不正确的有标注)。
为回报度娘及众网友的帮助,本文档免费下载。
*//*配“电子科技大学出版社(周信东主编)”的C语言程序设计实验*//*努力吧,骚年以及学妹们!*//*整理ed by 口玉刀一 of GUET.*/=====================实验一 C语言程序初步=====================已知a=5,b=4,c=6,求出s并换行#include""main(){int a,b,c,s;a=5;b=4;c=6;s=(a+b+c)/3;printf("a=%d,b=%d,c=%d\n,s=%d",a,b,c,s);}输入一个数字求他的平方#include<>main(){int r,s;scanf("%d",&r);s=r*r;printf("s=%d\n",s);}(1)#include<>main(){printf(" *\n");printf("***\n");printf(" *\n");}(2)main(){int v;int a,b,c;(2)#include<>main(){int m;double x;scanf("%d",&m);x=*m*m;printf("%f",x);}入a,b,c三个变量,计算数学公式(a*b)/cmain(){int a,b,d;float s,c;scanf("%d%d%f",&a,&b,&c);d=a*b;s=d/c;printf("%f",s);}=================================实验三顺序结构和输入输出方法=================================(1)main(){int m=345,t;float n=;t=*100;printf("m=%d,n*100=%d\n",m,t);}(2)main(){int a,b,c,s,v;scanf("%d%d%d",&a,&b,&c);s=a*b;v=a*b*c;printf("%d,%d,%d\n",a,b,c);printf("s=%d,v=%d\n",s,v);}(1)main(){int m,n;float x=,y=;scanf("%d,%d",&m,&n);printf("%6d,%6d",m,n); /*每个数的输出宽度为6,两个数之间逗号建个。
C语言程序设计__承德石油高等专科学校(17)--综合自测题(一)
0987654321 #include <stdio.h> void inv( int *x, int n ) {
} void main( ) { int i, a[10]={1,2,3,4,5,6,7,8,9,0};
inv(a,10); //调用转换函数 printf("按相反顺序存放后的数组为:"); for(i=0; i<10; i++) printf("%4d", a[i]); }
char ch;
ch= 【1】 ;
if(ch>='A'&& 【2】 )
【3】
else if(
【4】
)
【5】 putchar(ch);
(2)下面程序的功能是:输出 1000 以内能被 3 整除且个位数为 3 的所有整数,请填空。 void main() { int i,j; for(i=0; 【1】 ;i++)
A.p=&n; scanf"%d",&p);
B.p=&n; scanf("%d",*p);
C.scanf("%d",&n); *p=n;
D.p=&n; *p=m;
19.若有定义 int a[ ]={1,3,5,7,9,11}, *p=a;,则能够正确引用该数组元素的是( )。
A.a
B.a[6]
C.*(p--)
A.char ch='\X2A'; B.char ch="c"; C.char ch=65; D.char ch=NULL; 4.设有定义:double d1,d2,h;,其中 d1 和 d2 分别为梯形的上下底边长,h 为梯形的高,则以下 C 语言表
C语言程序设计基础单项选择题库
分类:一、概念(13---51,54,55)、数据类型、输入输出格式、转义符、运算及表达式等:1 --- 66二、选择语句:67 --- 72 (其中67为条件运算,72可归于一类);三、循环语句:73 --- 102 (其中78为输出格式可归于一类)四、数组:103 --- 133 (其中123 – 125为与数组相关的函数调用)五、函数调用:134 --- 156六、文件:157 – 183七、指针:184 --- 195八、结构体:196 --- 207(204.205,206为函数调用)1、在C语言中,最基本的数据类型包括(A) 整型、实型、字符型(B) 整型、实型、逻辑型(C) 整型、字符型、逻辑型(D) 实型、字符型、逻辑型2C语言中整常数的书写形式不能使用的数制形式是(A) 十进制(B) 十六进制(C) 八进制(D) 二进制3字符串常量"ab\n\\cde\125"包含字符的个数是(A)8(B) 12(C) 9 (D) 134C语言的标识符只能由字母、数字和下划线三种字符组成,且第一个字符(A) 必须为下划线(B) 可以是这三种字符中的任一种(C) 必须为字母或下划线(D) 必须为字母5下列是用户自定义标识符的是(A) #x (B)_x(C) 2x (D) int6在C语言中,下列常数不能作为常量的是(A) 0xA3 (B) 068(C) 5.6E-3 (D)2e57在C语言中,运算对象必须是整型的运算符是(A) %(B) >=(C) && (D) =8下列表达式与x = (y++)等价的是(A) x = ++y (B) x = x + 1, y = x(C)x = y, y = y + 1 (D) x += y + 19若定义int x = 17; ,则表达式x++ * 1 / 6的值是(A) 1 (B) 2(C) 3 (D) 410如果在一个C语言表达式中有多个运算符,则运算时应该(A) 只考虑优先级(B) 只考虑结合性(C) 先考虑优先级,然后考虑结合性(D) 先考虑结合性,然后考虑优先级11在C程序中,下面叙述不正确的是(A) x和X 是两个不同的变量(B) 从键盘输入数据时,对整型变量只能输入整型数据,对于实型变量只能输入实型数据(C) 逗号运算符的优先级最低(D) 若x、y类型相同,则执行语句y = x,后,将把x的值放入y中,而x的值不变12已知字符A的ASCII值为65,若定义int i;,则执行语句i = 'A' + 3.5;后,正确的叙述是(A) i的值是字符E (B) 语句不合法(C) i的值是字符A的ASCII值加上3,即68(D) i的值是字符A的ASCII值加上3.5,即68.513C语言是计算机高级语言,它适合作为系统描述语言,它(A) 不以用来编写系统软件,可以用来编写应用软件(B) 不以用来编写系统软件,不可以用来编写应用软件(C) 可以用来编写系统软件,不可以用来编写应用软件(D) 可以用来编写系统软件,也可以用来编写应用软件14在纸上写好一个C语言程序后,上机运行的基本步骤为(A) 编辑、连接、编译、运行(B) 编译、连接、编辑、运行(C) 编译、编辑、连接、运行(D) 编辑、编译、连接、运行15用C语言等高级语言编写的程序称为(A) 可执行程序(B) 编译程序(C) 目标程序(D) 源程序16一个C语言源程序经过“编译程序”翻译后生成一个二进制代码文件,它的扩展名为(A) .dat (B) .exe(C) .c (D).obj17通过“连接程序”软件,把C语言目标程序与C语言提供的各种库函数连接起来生成一个文件,它的扩展名为(A) .exe (B) .dat(C) .obj (D) .c18下面叙述中正确的是(A) 在C语言程序中,要调用的函数必须在main()函数中定义(B) C语言程序总是从main()函数开始执行(C) C语言程序总是从第一个函数开始执行(D) 在C语言程序中,main()函数必须放在程序的开始位置19在一个C语言源程序中,main()函数的位置(A) 必须在其他所有的函数之后(B) 可以在任意位置(C) 必须在其他所有的函数之前(D) 必须在固定位置20一个C语言程序由(A) 若干个过程组成(B) 若干个子程序组成(C) 一个主程序和若干个子程序构成(D) 一个主函数和若干个子函数构成21一个函数的组成有(A) 函数的声明部分和执行部分(B) 函数名、函数类型、函数参数名、函数参数类型(C) 主函数和子函数(D) 函数首部和函数体22下面叙述不正确的是(A) 在程序中任意合适的地方都可以加上注释以便阅读(B) C语言中的每条执行语句都需要用分号结束(C) include命令所在行后面需要加分号(D) C语言具有高级语言的功能,也具有低级语言的一些功能23下面叙述正确的是(A) 在C程序中,main()函数的位置必须在其他所有的函数之前 (B) C语言自身没有输入输出语句(C) 在C程序的编译过程中可以发现注释中的拼写错误(D) C程序的每一行只能写一条语句24在C语言中,用来表示“取地址”的符号是(A) $ (B) #(C) @ (D)&25在C语言中,用于结构化程序设计的三种基本结构是(A) 顺序结构、选择结构、转移结构(B) 顺序结构、条件结构、循环结构(C) 顺序结构、选择结构、重复结构(D) 顺序结构、选择结构、循环结构26一个算法应具有“确定性”等5个特性,则对另外4个特性描述错误的是(A) 有效性(B) 有穷性(C) 有零个或多个输入(D) 有零个或多个输出27程序设计一般可以简化为以下4个步骤,其中首先应该完成的是(A) 调试并运行程序(B) 编写程序(C) 建立数学模型(D) 设计数据结构和算法28以下不正确的C语言标识符是(A) ab.c (B)a_bc(C) abc (D) ABC29以下正确的C语言标识符是(A) a+b (B) test!(C) _123(D) %x30编辑程序的功能是(A) 命令计算机执行指定的操作(B) 调试程序(C) 将C源程序编译成目标程序(D) 建立并修改程序31 C语言程序的基本单位是(A) 过程(B)函数(C) 子程序(D) 标识符32下列说法中错误的是(A) 主函数可以分为两部分:主函数首部和主函数体(B) 主函数可以调用任何非主函数的其它函数(C) 任何非主函数可以调用其它任何非主函数(D) 程序可以从任何非主函数开始执行33在下列数据中属于“字符串常量”的是(A) ABC (B) "ABC"(C) 'abc' (D) 'a'34在C语言中,字符'\n'在内存占用的字节数是(A) 1(B) 2(C) 3 (D) 435字符串"ABC"在内存占用的字节数是(A) 3 (B) 4(C) 6 (D) 8·试题讲评编译字符串"ABC"时,编译器会自动加上字符串结束标志'\0',因此字符串"ABC"占用的内存为4个字节。
《C语言程序设计教程》(第三版)课后习题参考答案(精选5篇)[修改版]
第一篇:《C语言程序设计教程》(第三版)课后习题参考答案C语言程序设计课后习题参考答案习题一一、单项选择题1、C2、B3、B4、C5、D6、A7、C8、A二、填空题1、判断条件2、面向过程编程3、结构化4、程序5、面向对象方法6、基本功能操作、控制结构7、有穷性8、直到型循环结构9、算法10、可读性11、模块化12、对问题的分解和模块的划分习题二一、单项选择题1、B2、D3、C4、B5、A二、填空题1、主2、C编译系统3、结构化4、程序5、面向对象方法6、.OBJ7、库函数8、直到型循环结构习题三一、单项选择题1、D2、B3、A4、C9、B10、C11、A12、D13、C17、B18、C19、C20、D21、A25、D26、A二、填空题1、补码2、10^-138~10^1 38、15~166、A7、B6、D7、B14、B15、C22、D8、C8、D16、A24、D、A3、实4、单目运算符、自右向左5、函数调用6、65,89习题四一、单项选择题1、D2、C3、D4、A5、D6、B7、A8、C9、B10、B二、填空题1、两, ;2、5.1690003、-200 2500、i=-200,j=2500回车、i=-200回车j=2500回车4、a=98,b=765.000000,c=4321.0000005、100 25.81 1.89234、100,25.81,1.89234、100回车25.81回车1.89234回车6、0,0,37、38、scanf(“%lf %lf %lf”,&a,&b,&c);9、13 13.000000 13.00000010、c=b-a;a=b+c;习题五一、单项选择题1、B2、D3、C4、B5、B6、D7、A8、B二、填空题1、1 、02、k!=03、if(x>4||xelse printf(“error!”); 4、if(((x>=1&&x=200&&x Printf(“%d”,x);5、16、17、10! Right!8、a=09、2,110、0习题六一、单项选择题9、D1、B2、C3、C4、B5、C6、B7、C8、A二、填空题1、无穷次2、83、205、3.66、*#*#*#$7、828、d=1.0 、k++、k9、!(x习题七一、单项选择题1、B2、D3、C4、C5、A二、填空题1、1 2 4 8 16 32 64 128 256 5122、a[age]++、i=18;i3、break、i==84、a[i]>b[i]、i3、j5、b[j]=0、b[j]=a[j][k]习题八一、单项选择题1、B3、C4、A5、A9、D10、B11、A12、C13、A二、填空题1、return1、return n+sum(n-1)2、return1、n*facto(n-1)习题九一、单项选择题1、D2、C3、D4、A5、C9、B10、C11、A13、B17、C18、A19、B20、C二、填空题1、int 、return z2、*p++3、’\0’、++4、p、max*q6、A7、D6、A7、C14、C15、B6、C7、C14、A15、D8、A8、D8、C习题十一、单项选择题1、D2、D3、A4、5、B6、A7、C8、B9、D10、11、C12、D13、D14、C二、填空题1、34 122、ARRAY a[10],b[10],c[10];3、2 34、ab、cd5、(*b).day、b->day6、adghi mnohi no7、(struct node *)、!=’\n’、p=top;8、p1=p1->next9、(struct list *)、(struct list *)、return (n)习题十一一、单项选择题1、A2、A3、B4、A5、B9、A10、B11、B12、B13、C17、D二、填空题1、ASCII(文本)、二进制2、pf=fopen(“A:\zk04\data xfile.dat”,”w”);3、fputc()、fputs()、fscanf()、fread()4、(后两个空)文件结束符、非0值7、B14、C15、D8、A16、A第二篇:C语言程序设计教程课后习题参考答案《C语言程序设计教程》课后习题参考答案习题1 1. (1)编译、链接.exe (2)函数主函数(或main函数)(3)编辑编译链接2.(1)-(5):DDBBC (6)-(10):ABBBC 3.(1)答:C语言简洁、紧凑,使用方便、灵活;C语言是高级语言,同时具备了低级语言的特征;C 语言是结构化程序设计语言,具有结构化的程序控制语句;C语言有各种各样的数据类型;C语言可移植性好;生成目标代码质量高,程序执行效率高。
C语言程序设计教程 (朱鸣华 刘旭麟 杨微 著) 机械工业出版社_百度文库
本文由mkc1983贡献 pdf文档可能在WAP端浏览体验不佳。
建议您优先选择TXT,或下载源文件到本机查看。
? ? 课后答案网,用心为你服务! 大学答案 中学答案 考研答案 考试答案 ? 最全最多的课后习题参考答案,尽在课后答案网(www.khdaw.com)! Khdaw团队一直秉承用心为大家服务的宗旨,以关注学生的学习生活为出发点, 旨在为广大学生朋友的自主学习提供一个分享和交流的平台。
? 爱校园(www.aixiaoyuan.com) 课后答案网(www.khdaw.com) 淘答案(www.taodaan.com) ? 上机实验指导与习题 参考答案 ww w. k 华南农业大学 hd 课 后 答 (仅供教师内部参考) aw 案 网 .c om C 语言程序设计 目 录 ww 上机实验…… 1 实验 1 C 语言程序初步…… 1 一、实验目的…… 1 二、实验内容…… 1 实验 2 基本数据类型、运算和表达式…… 3 一、实验目的…… 3 二、实验内容…… 3 实验 3 基本输入与输出…… 5 一、实验目的…… 5 二、实验内容…… 5 实验 4 选择结构程序设计…… 4 一、实验目的…… 4 二、实验内容…… 4 实验 5 循环结构程序设计(一)…… 9 一、实验目的…… 9 二、实验内容…… 9 实验 6 循环结构程序设计(二)…… 15 一、实验目的…… 15 二、实验内容…… 15 实验 7 数组…… 17 一、实验目的…… 17 二、实验内容…… 17 实验 8 字符数组的应用…… 22 一、实验目的…… 22 二、实验内容…… 22 实验 9 函数的基本应用…… 24 一、实验目的…… 24 二、实验内容…… 24 实验 10 指针与结构体…… 26 一、实验目的…… 26 二、实验内容…… 26 *实验 11 链表…… 29 一、实验目的…… 29 二、实验内容…… 29 *实验 12 文件…… 32 一、实验目的…… 32 二、实验内容…… 32 w. k hd 课 aw 后 答 案 网 .c om 上机实验 实验 1 C 语言程序初步 一、实验目的 (1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。
吉林大学网络教育2016秋《C语言程序设计》作业答案
();一个 double 型数据在内存中所占用的字节数为()。 4、8
16:执行下列语句后,a 的值是()
int a=12;a+=a-=a*a;-264
17:以下程序的运行结果是(
)。
main()
{ increment();
increment();
increment();
}
increment(); { int x=0; x+=1; printf(“%d”,x); }111 18:以下程序的运行结果是( ). main() {struct EXAMPLE{struct{ int x; inty;
12:下面程序的运行结果是( )。
#include<stdio.h>
main()
{int y,a;
y=2;a=1;
while(y--!=-1)
{do{a*=y; a++;}while(y--);}
printf(“%d,%d”,a,y);
} 1,-2
13:当调用函数 read 从磁盘文件中读数据时,若函数的返回值为 10,则表明读入了
char buff[SIZE]; FILE *fpr, *fpd; if (argc!=2) {
puts(“\7Usege:type filename”); exit(); }
while(fgets(【 】)!=NULL) fputs(【 】);
fclose(fpr);
fclose(fpd);
} buff,SIZE,fpr、buff,fpd
fun( j,6); printf(“i =%d;j=%d;x=%d\n”,i,j,x); }
fun(int i,int j)
C语言程序设计50例(经典收藏)
C语⾔程序设计50例(经典收藏)本篇⽂章是对C语⾔程序设计的50个⼩案例进⾏了详细的分析介绍,需要的朋友参考下【程序1】题⽬:有1、2、3、4个数字,能组成多少个互不相同且⽆重复数字的三位数?都是多少?1.程序分析:可填在百位、⼗位、个位的数字都是1、2、3、4。
组成所有的排列后再去 掉不满⾜条件的排列。
2.程序源代码:复制代码代码如下:#include "stdio.h"#include "conio.h"main(){int i,j,k;printf("\n");for(i=1;i<5;i++) /*以下为三重循环*/for(j=1;j<5;j++)for (k=1;k<5;k++){if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/printf("%d,%d,%d\n",i,j,k);}getch();}==============================================================【程序2】题⽬:企业发放的奖⾦根据利润提成。
利润(I)低于或等于10万元时,奖⾦可提10%;利润⾼ 于10万元,低于20万元时,低于10万元的部分按10%提成,⾼于10万元的部分,可可提 成7.5%;20万到40万之间时,⾼于20万元的部分,可提成5%;40万到60万之间时⾼于 40万元的部分,可提成3%;60万到100万之间时,⾼于60万元的部分,可提成1.5%,⾼于 100万元时,超过100万元的部分按1%提成,从键盘输⼊当⽉利润I,求应发放奖⾦总数?1.程序分析:请利⽤数轴来分界,定位。
注意定义时需把奖⾦定义成长整型。
2.程序源代码:复制代码代码如下:#include "stdio.h"#include "conio.h"main(){long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*0. 1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;else if(i<=200000)bonus=bonus1+(i-100000)*0.075;else if(i<=400000)bonus=bonus2+(i-200000)*0.05;else if(i<=600000)bonus=bonus4+(i-400000)*0.03;else if(i<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus);getch();}==============================================================【程序3】题⽬:⼀个整数,它加上100后是⼀个完全平⽅数,再加上168⼜是⼀个完全平⽅数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开⽅,再将该数加上268后再开⽅,如果开⽅后 的结果满⾜如下条件,即是结果。
c语言程序设计第五版教学设计
C语言程序设计第五版教学设计一、教学目标通过学习本章课程,学生应该能够掌握以下知识:1.了解C语言的数据类型和控制结构2.掌握如何定义函数和使用函数3.了解指针和数组的使用方法4.熟悉C语言的文件操作二、课程安排第一节课:C语言初步介绍1.C语言简介及开发环境搭建2.C语言程序的基本结构和语法规则第二节课:数据类型和变量1.C语言的数据类型2.常量和变量的定义和使用3.进制转换和位运算第三节课:控制结构和循环语句1.条件语句、循环语句和跳转语句2.选择结构和循环结构3.“switch…case”语句的使用方法第四节课:函数的定义和应用1.函数的基本概念2.函数的语法和规则3.函数的调用和参数传递第五节课:指针和数组1.指针和地址的概念2.操作指针变量3.数组的定义和使用方法4.递归函数和指针数组第六节课:文件操作1.文件的打开和关闭2.文件的读写操作3.二进制文件和文本文件的区别三、教学方法1.讲授法:通过PPT和白板讲解课程内容2.互动讨论:在学生学习的过程中引导学生发表自己的看法和思路3.实践操作:在课堂上编写一些简单的程序来帮助学生更好地理解和掌握知识点四、评估方法1.平时成绩:平时考勤、作业、课堂发言和实践操作等占20%的成绩2.期中考试:占30%的成绩3.期末考试:占50%的成绩五、教学资源1.课程教材:《C语言程序设计》第五版2.PPT课件:根据课程内容编写的PPT课件3.开发工具:Visual Studio、Dev-C++、Codeblocks等六、教学建议1.学生学习本章内容之前,需要具备一定的编程基础,包括基本的编程语法和逻辑思维能力2.在课程安排中加入一些有趣的案例或编程实例,以激发学生的兴趣3.引导学生在课程学习之外进行更多的实践操作和编程实践,以巩固学习效果七、总结本章课程是C语言程序设计入门的基础,是学生进一步深入学习C语言的重要基础。
通过本章课程的学习,学生可以掌握C语言的基本语法、数据类型和控制结构,以及函数、数组和指针的使用。
《高级语言程序设计》第01-17章在线测试
《高级语言程序设计》第03章在线测试《高级语言程序设计》第03章在线测试剩余时间:59:54答题须知:1、本卷满分20分。
2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。
3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。
第一题、单项选择题(每题1分,5道题共5分)1、要把高级语言编写的源程序转换为目标程序,需要使用:A、编辑程序B、驱动程序C、诊断程序D、编译程序2、以下选项中,属于C语言的数据类型是:A、复数型B、逻辑型C、双精度型D、集合型3、属于低级语言的计算机语言是( )。
A、机器语言B、汇编语言C、Java语言D、Pascal语言4、调试C程序时正确的步骤应当是()。
A、编辑、编译、链接和运行B、编辑、链接、编译和运行C、链接、编辑、编译和运行D、编辑、链接、编译和运行5、下列不能表示常量大写英文字母A的是()。
A、常量:‘A’B、常量:“A”C、常量:‘\x41’D、常量:‘\101’第二题、多项选择题(每题2分,5道题共10分)1、下列常数中能作为C的常量的是:A、0x4B、2.5e-2C、33D、03A2、对于16位系统中,C语言中整数 -8在内存中的错误存储形式是:A、1111 1111 1111 1000B、1000 0000 0000 0000C、1000 0000 0000 1000D、1111 1111 1111 01113、不能将高级语言编写的源程序转换成目标程序的是:A、编程程序B、编译程序C、解释程序D、链接程序4、关于C语言程序的语句,正确的说法是( )。
A、一条语句只能占一行B、一行可以书写多条语句C、语句的结束标识符是句号D、建议每条语句占一行、结构化程序有3种基本结构组成的算法可以完成任何复杂的任务。
正确错误C程序中正确错误程序是由一个或多个函数组成。
正确错误类型的变量只能存放一个字符。
正确错误、字符串常量不可能包含单个字符。
C语言程序设计 上机实验指导与习题 参考答案
C 语言程序设计上机实验指导与习题参考答案仅供教师内部参考华南农业大学目录上机实验1实验1 C 语言程序初步1一实验目的1二实验内容1实验2 基本数据类型运算和表达式3一实验目的3二实验内容3实验3 基本输入与输出5一实验目的5二实验内容5实验4 选择结构程序设计4一实验目的4二实验内容4实验5 循环结构程序设计一9一实验目的9二实验内容9实验6 循环结构程序设计二15一实验目的15二实验内容15实验7 数组17一实验目的17二实验内容17实验8 字符数组的应用22一实验目的22二实验内容22实验9 函数的基本应用24 一实验目的24二实验内容24实验10 指针与结构体26一实验目的26二实验内容26*实验11 链表29一实验目的29二实验内容29*实验12 文件32一实验目的32二实验内容32上机实验实验1 C 语言程序初步一实验目的1了解所用的计算机系统的基本操作方法学会独立使用该系统2 了解在该系统上如何编辑编译连接和运行一个C 程序3 通过运行简单的C 程序初步了解C 程序的特点4 在教师的指导下学会使用JudgeOnline 实验系统二实验内容1 运行第一个C 程序[题目The first C Program]将下列程序输入TC 或VC编译连接和运行该程序void mainprintf "The first C Program\n"[具体操作步骤]以Turbo C 上的操作为例1Windows 进入后按照第一章中介绍的方法进入Turbo C2在编辑窗口中输入程序3保存程序取名为a1c4按照第一章中介绍的方法编译连接和运行程序2 在JudgeOnline 系统中提交实现了计算ab 功能的程序[题目1001计算ab]由键盘输入两个整数计算并输出两个整数的和实现该功能的程序如下void mainint a bscanf "dd" a b1 printf "d" a b1在程序编辑窗口中输入程序2保存程序取名为a2c3按照前二章中介绍的方法编译连接和运行程序4在程序运行过程中输入15 30↙↙表示输入回车符5 如果看到如下输出结果则表明1530 的结果正确如果得不到如下结果则需检查并更正程序456 按照第三章中介绍的方法进入JudgeOnline 实验系统7 显示题目列表点击题号为1001题名为计算ab的题目8 查看完题目要求后点击页面下端的sumbit 参照第二章提交程序的方法提交程序a2c9 查看评判结果如果得到accepted则该题通过否则返回第一步检查程序是否正确2实验2 基本数据类型运算和表达式一实验目的1掌握C 语言数据类型熟悉如何定义一个整型和实型的变量以及对它们赋值的方法2 掌握不同的类型数据之间赋值的规3 学会使用C 的有关算术运算符以及包含这些运算符的表达式特别是自加和自减-- 运算符的使用4 进一步熟悉C 程序的编辑编译连接和运行的过程二实验内容1 变量的定义[题目1117变量定义按要求完成程序]下面给出一个可以运行的程序但是缺少部分语句请按右边的提示补充完整缺少的语句void mainint a b 定义整型变量a 和bint i j 定义实型变量i 和ja 5b 6i 314 j iabprintf "a db di fj f\n" a b i j[具体操作步骤]1将代码补充完整2在TC 或VC上运行通过3在JudgeOnline 实验系统上提交2 赋值表达式与赋值语句[题目1118赋值表达式与赋值语句写出程序运行结果] 阅读下面程序写出运行结果void mainfloat aint b cchar d ea 35b ac 330d c3e \\printf "fddcc" abcde运行结果为35000003330J\[提示]赋值语句具有类型转换的功能但可能会改变数据3 基本运算[题目1119基本运算写出程序运行结果]阅读下面程序写出运行结果void mainint a b cfloat d 15 e fa 357b 1510c be 1510f d10printf "dddfff" abcdef运行结果为0211500000010000001500000[提示]除法分整除与普通除法之分4实验3 基本输入与输出一实验目的1熟练掌握putchargetcharprintf scanf 函数的使用方法2 掌握各种类型数据的输入输出的方法能正确使用各种格式转换符二实验内容[题目1126字符的输入与输出]编程实现由键盘输入一个字符后在屏幕上输出该字符[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]a↙↙[正确输出] [正确输出]a参考程序include "stdioh"mainchar chch getcharputchar ch[题目1127计算加法]编程实现由键盘输入一个加法式输出正确的结果两个加数均为整数[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]1020 ↙- 1560↙[正确输出] [正确输出]30 45参考程序include "stdioh"mainint a bscanf "dcd" abprintf "d" ab[题目1014求圆面积]由键盘输入圆半径r 请计算该圆的面积注取314159结果保留两位小数位另外程序只要能对r 在0 到10000 范围的情况输出正确答案即可[第一组自测数据] [键盘输入]5652 ↙[键盘输入][正确输出] 112↙1335502 [正确输出][第二组自测数据] 39408[提示]结果保留两位小数可采用printf 函数的格式控制字符来实现参考程序include "stdioh"mainfloat arearscanf "f"rarea 314159rrprintf "02f"area2[题目1015计算摄氏温度值]从键盘输入一个华氏温度值要求按格式输出其对应的摄氏温度值精确到小数点后两位数学公式描述为5C F 329[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]100↙100↙[正确输出] [正确输出]3778 3778[提示]注意公式中的除为普通除法参考程序includevoid mainfloat fcscanf "f"fc 509 f-32printf "2f"c3实验4 选择结构程序设计一实验目的1了解C 语言表示逻辑的方法以0 代表假以非0 代表真2 学会正确使用逻辑运算符和逻辑表达式3 熟练掌握if 语句和switch 语句4 结合程序掌握一些简单的算法二实验内容[题目1120判断点是否在圆]由键盘输入一个点的坐标要求编程判断这个点是否在单位圆上点在圆上输出Y 不在圆上输出N 使用小数点后3 位精度进行判断[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]07070707 ↙8>0505↙[正确输出] [正确输出]Y N[提示] 1平面上的点与圆的关系分为在圆内在圆上在圆外三种本题要求判断是否在圆上2判断两实数相等采用判断这两实数的差的绝对值小于规定误差精度本题为0001 的方法实现参考程序include "stdioh"include "mathh"void mainfloat abscanf "ff"abif fabs aabb-1 1e-3printf "Y\n"else printf "N\n"[题目1017求数的位数]由键盘输入一个不多于9 位的正整数要求输出它是几位数[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]349213 ↙10000↙[正确输出] [正确输出]6 5[提示]划定一位数二位数九位数的范围后用if else if else 语句实现判断4参考程序mainint nplacescanf "ld"nif n 99999999 place 9else if n 9999999 place 8else if n 999999 place 7else if n 99999 place 6else if n 9999 place 5else if n 999 place 4else if n 99 place 3else if n 9 place 2else place 1printf "ld\n"place[题目1018数的排序]由键盘输入三个整数a b c按从小到大的顺序输出这三个数[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]654590 ↙963 ↙[正确输出] [正确输出]456590 369参考程序includemainint abctscanf "ddd"abcif a b t aa bb tif a c t aa cc tif b c t bb cc tprintf "ddd"abc[题目1016字符变换]由键盘输入5 个字符将其中的大写字母变成小写其它类型的字符不变并按输入顺序逐个输出[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]ApPLe ↙aB 5 ↙[正确输出] [正确输出]apple ab 5[提示]下面代码实现由键盘读入一个字符并按题意处理后输出char aa getcharif a A a Z a a32putchar a5现在题目要求处理5 个字符怎么做呢请自己思考参考程序includemainchar abcdescanf "ccccc"abcdeif a Za A a a32if b Zb A b b32if c Zc A c c32if d Zd A d d32if e Ze A e e32printf "ccccc"abcde[题目1019数的整除]由键盘输入5 个整数逐个判断它们能否被27 整除能的输出YES不能的输出NO 注意输出时一个判断结果占一行5 个数的判断共占5 行[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]8 27 17577 325 54 ↙8 27 17577 325 54 ↙[正确输出] [正确输出]NO NOYES YESYES YESNO NOYES YES[提示]整除即除得余数为0参考程序include "stdioh"mainint abcdescanf "d d d d d"abcdeif a27 0 printf "YES\n" else printf "NO\n"if b27 0 printf "YES\n" else printf "NO\n"if c27 0 printf "YES\n" else printf "NO\n"if d27 0 printf "YES\n" else printf "NO\n"if e27 0 printf "YES\n" else printf "NO\n"[题目1020正负奇偶判断]由键盘输入非零整数x 判断该数正负正数输出positive 负数输出negative 接着判断该数的奇偶性奇数输出odd偶数输出even[第一组自测数据] negative[键盘输入] odd-43 ↙[第二组自测数据][正确输出] [键盘输入]698 ↙positive[正确输出] even参考程序include "stdioh"mainint nscanf "d"nif n 0 printf "negative\n"else printf "positive\n"if n2 0 printf "even\n"else printf "odd\n"[题目1023简单计算器]下面程序是实现一个简单的运算器保留两位小数点如果由键盘输入1050计算机可以输出结果6000如果输入8 *6计算机输出4800如果输入204 计算机输出500 如果输入8-6计算机输出200 请在空处填上适当的代码运行通过后并提交include "stdioh"void mainfloat abcscanf "fcf"switch opcasecase - _case _case __default printf "error"returnprintf "result " c[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]452↙501-23 ↙[正确输出] [正确输出]90 27107参考程序includeint mainchar opscanf "fcf"aopbswitch opcase c abbreakcase -c a-bbreakcase c abbreakcase c abbreakdefaultprintf "error"breakprintf "result 2f"c8实验5 循环结构程序设计一一实验目的1熟悉掌握用while 语句do-while 语句和for 语句实现循环的方法2 掌握在程序设计中用循环实现一些常用算法如穷举迭代递推等二实验内容[题目1024计算阶乘]输入正整数n计算n 结果用长整型数表示注n 123n[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]5 ↙8 ↙[正确输出] [正确输出]120 40320参考程序includemainlong in 1ascanf "ld"afor i 1i ai n niprintf "ld\n"n[题目1025计算数列和]有数列1357911现要求由键盘输入n计算输出该数列的前n 项和[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]2 ↙ 5 ↙[正确输出] [正确输出]4 259参考程序includemainlong nsum 0it 1scanf "ld"nfor i 1i nisum sumtt t2printf "ld\n"sum或includemainlong nsumscanf "ld"nsum nnprintf "ld"sum注评判系统不对程序实现细节进行分析只对运行结果进行评测[题目1026 加一行字符中的数字]由键盘输入一行字符总字符个数从1 个至80 个均有可能以回车符表示结束将其中每个数字字符所代表的数值累加起来输出结果[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]abc123↙A6H7T65↙[正确输出] [正确输出]6 24[提示] 1可以使用下面程序段逐个读入键盘输入的一行字符char chwhile ch getchar \n2 数字字符转为对应的数值可用a ch-0参考程序includemainchar cint s 0awhile c getchar \nif c 0c 9a c-48s saprintf "d"s10[题目1029求最大公约数]由键盘输入两个正整数mn mn 用长整数表示计算它们的最大公约数[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]1624↙1725↙[正确输出] [正确输出]8 1[提示]公约数是既能整除m 又能整除n 的数题目要求满足这一条件的最大的一个参考程序includemainlong rmntempscanf "ldld"mnwhile m 0r nmn mm rprintf "ld\n"n或includemainlong mntisscanf "ldld"mnt m nnmfor i t-1i 1i--if mi 0ni 0s i breakprintf "d"s[题目1030字符变换]由键盘输入一个句子总字符个数从1 个至80 个均有可能以回车符表示结束将其中的大写字符变成小写其它类型的字符不变最后输出变换后的句子[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]How Are You ↙ThiS IS My fIrSt C ProgrAm ↙[正确输出] [正确输出]how are you this is my first c program11参考程序includemainchar cwhile c getchar \nif c Ac Zc c32putchar c[题目1037计算数列和]有数列编程实现由键盘输入n计算输出数列前n 项和结果保留四位小数[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]20 ↙30 ↙[正确输出] [正确输出]326603 880403参考程序includemainint itnfloat a 2b 1s 0scanf "d"nfor i 1i nis sabt aa abb tprintf "4f\n"s[题目1044输出最小值]从键盘输入十个整数输出最小值[ 自测数据][键盘输入]12 45 76 87 5 87 43 55 99 21 ↙[正确输出]512参考程序include "stdioh"mainint itminscanf "d" minfor i 1i 10iscanf "d" tif t min min tprintf "d\n"min*[题目1031统计单词个数]由键盘输入一个句子总字符个数从1 个至80 个均有可能以回车符表示结束以空格分割单词要求输出单词的个数[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]How Are You ↙There are many students and many[正确输出] trees↙3 [正确输出]7参考程序includemainint inum 0word 0char cfor i 0 c getchar \niif c word 0else if word 0word 1numprintf "d"num*[题目1042百万富翁]一个百万富翁遇到一个陌生人陌生人找他谈了一个换钱的计划该计划如下我每天给你m 元而你第一天只需给我一分钱第二天我仍给你m 元你给我2 分钱第三天我仍给你m 元你给我4分钱依次类推你每天给我的钱是前一天的两倍直到一个月38 天百万富翁很高兴欣接受这个契约现要求编写一个程序由键盘输入m计算多少天后百万富翁开始亏钱[第一组自测数据] 18[键盘输入] [第二组自测数据]100↙[键盘输入][正确输出] 10000↙13[正确输出] 25参考程序includeincludemainint nmiscanf "d"mfor i 1i 38iif 001 pow 2i-1 -1 -im 0 breakprintf "d"i-114实验6 循环结构程序设计二一实验目的1进一步熟悉掌握用while 语句do-while 语句和for 语句实现循环的方法2 掌握在程序设计中使用多重循环二实验内容[题目1028求素数]输出2 到200 之间包括2 200 的所有素数注要求1 行1 个素数按由小到大的顺序输出[提示]采用双重循环外层循环产生2 到200 之间的数内层循环对数进行判断是否为素数参考程序includeincludemainint mkifor m 2m 200mk sqrt mfor i 2i kiif mi 0 breakif i k printf "d\n"m[题目1035打印菱形]由键盘输入正数n要求输出2n1 行的菱形图案要求菱形左边紧靠屏幕左边[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]3 ↙ 2 ↙[正确输出] [正确输出]15参考程序include "stdioh"include "mathh"mainint nijkscanf "d"nfor i 1i 2n1ik abs n1-ifor j 1j kj printf " "for j 1j 2n1-2kj printf ""printf "\n"[题目1038打印图案]由键盘输入正数n要求输出中间数字为n 的菱形图案要求菱形左边紧靠屏幕左边[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]4 ↙ 3[正确输出] [正确输出]1 1121 121 12321 12321 1234321 121 12321 1 1211参考程序includeincludemainint nijkhscanf "d"nfor i -n1i n-1ifor j 0j abs i jprintf " "for k 1k n-abs i k printf "d"kfor h n-abs i -1h 1h-- printf "d"hprintf "\n"16实验7 数组一实验目的1掌握一维数组和二维数组的定义赋值和输入输出方法2 掌握与数组有关的算法二实验内容[题目1039倒序]由键盘输入10 个整数倒序输出数字间由一个空格分隔[ 自测数据][键盘输入]70 5 14 20 19 2 99 67 13 66 ↙[正确输出]66 13 67 99 2 19 20 14 5 70参考程序includemainint a [10]int ifor i 0i 10i scanf "d"a[i]for i 9i 0i-- printf "d\n"a[i][题目1040统计不同数字个数]由键盘输入20 个整数统计不同数字的个数[ 自测数据][键盘输入]70 5 14 22 19 2 99 67 13 66 5 93 44 38 22 11 39 22 33 11↙[正确输出]16[提示]上述答案中因为5 有1 个重复数字11 有1 个重复数字22 有2 个重复数字故不同数字有16个分别是70 5 14 22 19 2 99 67 13 66 93 44 38 11 39 3317参考程序include"stdioh"mainint a [20]int itp 0for i 0i 20iscanf "d"a[i]for t 0t itif a[t] a [i] breakif t ipprintf "d"p[题目1062打印矩阵]由键盘输入一个3×4 的矩阵要求输出它的转置矩阵[ 自测数据][键盘输入] [正确输出] 1 6 9 3 1 1 11 1 02 6 1 91 9 8 9 9 0 83 2 9参考程序includemainint a [3][4]b[4][3]ijfor i 0i 3ifor j 0j 4jscanf "d"a[i][j]b[j][i] a [i][j]for i 0i 4ifor j 0j 3jprintf "d "b[i][j]printf "\n"*[题目1047冒泡排序]由键盘输入10 个数用冒泡法对10 个数从小到大排序并按格式要求输出代码如下请填充完整数字间由一个空格分隔incude "stdioh"mainint a[10] i j t18for i 0i 10iscanf "d"___________for ___________for j 0j ____jif ______________________for i 0i 10iprintf "d "a[i][ 自测数据][键盘输入]70 5 14 20 19 2 99 67 13 66 ↙[正确输出]2 5 13 14 19 20 66 67 70 99参考程序includemainint a [10]int ijtfor i 0i 10iscanf "d"a[i]for i 0i 9ifor j 0j 9-ijif a[j] a [j1]t a [j] a [j] a[j1] a[j1] tfor i 0i 10iprintf "d "a[i]*[题目1046计算高精度加法]由键盘输入两个位数很长的整数一行一个数每个数最长不超过80 位试计算并输出这两个数的和[ 自测数据][键盘输入]1XXXXXXXXXX23456789 ↙987654321098765 ↙[正确输出]1XXXXXXXXXX4455555419参考程序include "stdioh"include "stringh"mainint a [100] 0 b[100] 0 c[100] 0char s[101]int i 0n1 0n2 0 0e 0gets sn1 strlen sfor i n1-1i 0i-- a[n1-1-i] s[i]-0gets sn2 strlen sfor i n2-1i 0i-- b[n2-1-i] s[i]-0if n1 n2 n1else n2for i 0i ic[i] a[i]b[i]e 10e a[i]b[i]e 10if c[] 0 printf "d"c[]for i -1i 0i--printf "d"c[i]*[题目找矩阵中的鞍点]由键盘输入一个3 ×4 3 行4 列的矩阵输出矩阵中的鞍点即在矩阵行中最大列中最小的数若没有鞍点输出NO 字样[ 自测数据][键盘输入]87 90 110 98 ↙70 97 210 65 ↙98 45 120 30 ↙[正确输出]11020参考程序includemainint ijka[3][4]jflagfor i 0i 3ifor j 0j 4jscanf "d"a[i][j] for i 0i 3ia [i][0]j 0for j 0j 4jif a[i][j]a [i][j] j jflag 1for k 0k 3kif a [k][j]flag 0 breakif flagprintf "d" breakif flagprintf "NO"21实验8 字符数组的应用一实验目的1掌握字符数组和字符串函数的使用2 掌握与字符串处理有关的算法二实验内容[题目1121定义存贮字符串的字符数组]在下面程序中填充定义字符数组的语句使程序完整include "stringh"void mainchar s[80] 定义字符数组sstrcpy s "abcdefghij klmn"printf "s" s参考程序[题目1123字符串的输入与输出]下面程序实现从键盘读入字符串后输出到屏幕请填充必要的语句include "stdioh"void mainchar s[50]printf "Whats your name"gets s 由键盘读入字符串printf "Your name is "printf "s" s 打印字符串参考程序[题目1122字符串的合并]从键盘输入3 个字符串每个字符串以回车符做为结束标志将3 个字符串以输入先后顺序合并到字符串s 中请填空使用程序完整include "stdioh"include "stringh"mainchar s[100] ""char a [30]gets a strcat s a22gets a strcat s agets a strcat s a可以写多行代码printf "s" s[ 自测数据][键盘输入] [正确输出]123 123abc456abc456参考程序[题目1050寻找字符串]由键盘输入两个字符串假设第一个字符串必包含第二个字符串如第一个字符串为ABCDEF第二个为CDE则CDE 包含在ABCDEF 中现要求编程输出第二字符串在第一行字符串中出现的位置如果第二个字符串在第一个字符串中出现多次则以最前出现的为准[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]ABCDEFG ↙hellhello ↙DE ↙hello ↙[正确输出] [正确输出]4 5[提示]方法1建立双重循环外层循环变量指示第一个串的查找起始位置内层循环从起始位置开始判断第二个字符中是否出现在此处方法2 使用字符串函数strstr参考程序include "stdioh"mainint ijchar a [80] b[80]gets a gets bfor i 0a[i] \0ifor j 0b[j] \0jif a[ij] b[j] breakif b[j] \0 breakif a[i] \0 printf "d"i1else printf "Not Found"23实验9 函数的基本应用一实验目的1掌握定义函数的方法2 掌握函数实参与参的对应关系以及值传递的方式3 掌握函数的嵌套调用和递归调用的方法4 掌握全局变量和局部变量动态变量静态变量的概念和使用方法二实验内容[题目1059函数定义]下面是使用辗转相除法求最大公约数的程序请补充完整程序中函数的定义与调用include "stdioh"int f int m int nint rwhile r mn 0m nn rreturn nmainint a b nscanf "dd" a bprintf "d\n" f a b[题目1083编写函数计算阶乘]下面程序实现由键盘读入整数n计算并输出n 请补充完整计算阶乘的函数long fanc int along in 1for i 1i ai n nireturn nvoid mainint nscanf "d" n24printf "ld" fanc n[题目1124函数中的变量]写出下面程序的运行结果int f1 int xstatic int z 3y 0yzreturn xyzmainint a 1kfor k 0k 3k printf "4d"f1 a 程序运行结果为6 8 10*[题目1084编写递归调用函数实现十进制数转二进制数]下面程序实现由键盘输入一个正整数不大于100000000 输出其对应的二进制数原码表示请填空include "stdioh"void fun int iif i 1fun i2printf "d" i2mainint nscanf "d" nfun n25实验10 指针与结构体一实验目的1通过实验进一步掌握指针的概念会定义和使用指针变量2 能正确使用数组的指针和指向数组的指针变量3 能正确使用字符串的指针和指向字符中的指针变量4 掌握结构体类型变量的定义和使用二实验内容[题目1091交换两数由大到小输出]下面程序交换两数使两数由大到小输出请填空include "stdioh"void swap int p1 int p2int temptemp p1p1 p2p2 tempint mainint ab int papbscanf "dd" a bpa a pb bif a b swap pa pbprintf "d d\n"ab[题目1065数组中的指针]设有如下数组定义int a[3][4] 1357 9111315 17192123计算下面各项的值设数组a 的首地址为2000一个int 类型数占四个字节注意地址则输出地址变量则输出变量值要求一行一个答案不允许多余空行及空格1a[2][1] 2 a[1] 3 a 4 a 15 a 16 a 17 a[2] 18 a 1 19 a2 226参考程序include "stdioh"mainprintf "19\n"printf "2016\n"printf "2000\n"printf "2016\n"printf "2004\n"printf "2016\n"printf "2036\n"printf "2020\n"printf "21"[题目1092函数实现求字符串长度]下面程序以指针方式传递参数由函数实现求字符串长度请填空完成include "stdioh"include "stringh"int f char preturn strlen pint mainchar s[80]int iscanf "s" si f sprintf "d" i[题目1125定义结构体类型]要求定义一个名为student 的结构体类型其包含如下成员1字符数组name 最多可存放10 个字符2 字符变量sex用于记录性别3 整数类型变量num用于记录学号4 float 类型变量score 用于记录成绩并使下列代码完整定义结构体类型struct studentchar name[20]char sex。
C语言程序设计
/special/000915SN/cyuyan.html 第一章程序设计的基本概念∙ 1.程序设计的基本概念(1)∙ 3.程序设计的基本概念(3)∙ 2.程序设计的基本概念(2)∙第二章C语言基础知识∙ 1.C程序设计的初步知识∙ 3.简单C语言的构成和格式(2)∙ 5.整型数据和实型数据(1)∙7.整型数据和实型数据(3)∙9.整型数据和实型数据(5)∙11.整型数据和实型数据(7)∙13.算术表达式和赋值表达式(2)∙15.算术表达式和赋值表达式(4)∙17.课后习题和典型例题讲解∙ 2.简单C语言的构成和格式(1)∙ 4.标识符的组成和分类∙ 6.整型数据和实型数据(2)∙8.整型数据和实型数据(4)∙10.整型数据和实型数据(6)∙12.算术表达式和赋值表达式(1)∙14.算术表达式和赋值表达式(3)∙16.自加自减运算∙第三章函数∙ 1.输出函数(1)∙ 3.输出函数(3)∙ 5.输出函数(5)∙7.输入函数(2)∙9.输入函数(4)∙11.课后习题和典型例题详解∙ 2.输出函数(2)∙ 4.输出函数(4)∙ 6.输入函数(1)∙8.输入函数(3)∙10.程序举例∙第四章C语言语句∙ 1.关系运算符和关系表达式(1) ∙ 3.逻辑运算符和逻辑表达式(1) ∙ 5.逻辑运算符和逻辑表达式(3) ∙7.选择语句的使用(2)∙9.选择语句的使用(4)∙11.goto语句和课后习题详解(2) ∙ 2.关系运算符和关系表达式(2) ∙ 4.逻辑运算符和逻辑表达式(2) ∙ 6.选择语句的使用(1)∙8.选择语句的使用(3)∙10.goto语句和课后习题详解(1) ∙第五章C语言语句续及实例∙ 1.while语句和do-while语句(1)∙ 3.while语句和do-while语句(3)∙ 5.while语句和do-while语句(5)∙7.f or语句和累加累乘算法(2)∙9.f or语句和累加累乘算法(4)∙11.循环嵌套实例(1)∙13.循环嵌套实例(3)∙15.循环嵌套实例(5)∙17.循环嵌套实例(7)∙19.循环嵌套实例(9)∙21.循环嵌套实例(11)∙23.循环嵌套实例(13)∙25.循环嵌套实例(15)∙27.循环嵌套实例(17)∙29.循环嵌套实例(19)∙31.break和continue语句的使用方法∙33.课后习题和典型例题讲解(2)∙ 2.while语句和do-while语句(2)∙ 4.while语句和do-while语句(4)∙ 6.f or语句和累加累乘算法(1)∙8.f or语句和累加累乘算法(3)∙10.f or语句和累加累乘算法(5)∙12.循环嵌套实例(2)∙14.循环嵌套实例(4)∙16.循环嵌套实例(6)∙18.循环嵌套实例(8)∙20.循环嵌套实例(10)∙22.循环嵌套实例(12)∙24.循环嵌套实例(14)∙26.循环嵌套实例(16)∙28.循环嵌套实例(18)∙30.循环嵌套实例(20)∙32.课后习题和典型例题讲解(1) 第六章字符型及输入输出函数∙ 1.字符型常量和字符型变量(1)∙ 3.字符型常量和字符型变量(3)∙ 5.输入输出函数(1)∙7.输入输出函数(3)∙9.程序举例(2)∙11.课后习题讲解和典型例题分析∙ 2.字符型常量和字符型变量(2)∙ 4.字符型常量和字符型变量(4)∙ 6.输入输出函数(2)∙8.程序举例(1)∙10.程序举例(3)∙第七章函数∙ 1.函数的定义和返回值(1)∙ 3.函数的定义和返回值(3)∙ 5.函数的调用和说明(1)∙7.调用函数和被调用函数间数值传递∙9.函数程序举例(1)∙11.函数程序举例(3)∙13.函数程序举例(5)∙15.函数程序举例(7)∙ 2.函数的定义和返回值(2)∙ 4.函数的定义和返回值(4)∙ 6.函数的调用和说明(2)∙8.调用函数和被调用函数间数值传递∙10.函数程序举例(2)∙ 12.函数程序举例(4) ∙ 14.函数程序举例(6) ∙ 16.课后习题讲解∙本教程暂停更新 全部教程点这里学习第八章:指针1、变量的地址和指针2、指针的定义赋值13、指针的定义赋值24、指针的定义赋值35、对指针变量的操作16、对指针变量的操作27、对指针变量的操作38、对指针变量的操作49、指针的应用及举例1 10、指针的应用及举例2 11、指针的应用及举例3 12、课后习题讲解113、课后习题讲解214、课后习题讲解3第九章:数组第一十章:字符串1、用一个一维字符数组来存放字符串12、用一个一维字符数组来存放字符串23、字符串的输入和输出14、字符串的输入和输出25、字符串的输入和输出36、字符串数组17、字符串数组28、字符串数组39、字符串数组4 10、字符串数组511、用于字符串处理的函数1 12、用于字符串处理的函数213、用于字符串处理的函数3 14、用于字符串处理的函数4 15、用于字符串处理的函数5 16、用于字符串处理的函数617、实例讲解1 18、实例讲解219、课后习题的讲解第一十一章:函数的递归调用1、传给main 函数的参数12、传给main 函数的参数23、指针变量14、指针变量25、函数的递归调用16、函数的递归调用27、函数的递归调用38、函数的递归调用49、函数的递归调用5 10、函数的递归调用6 11、课后习题讲解112、课后习题讲解213、课后习题讲解3第一十二章:局部变量、全局变量1、局部变量、全局变量2、局部变量及其作用域和生存期13、局部变量及其作用域和生存期24、全局变量及其作用域和生存期15、全局变量及其作用域和生存期2 6、函数的存储分类7、课后习题讲解1 8、课后习题讲解2 9、课后习题讲解3第一十三章:宏替换1、宏替换12、宏替换23、宏替换34、宏替换45、文件包含和动态存储分配16、文件包含和动态存储分配27、文件包含和动态存储分配38、课后习题讲解19、课后习题讲解210、课后习题讲解3第一十四章:结构体1、用typedef 说明一种新类型名2、结构体13、结构体24、结构体35、结构体46、结构体57、结构体68、结构体79、结构体810、结构体9 11、结构体10 12、结构体11 13、结构体12 14、结构体13 15、结构体14 16、结构体15 17、结构体16 18、结构体1719、利用结构体变量构成的链表1 20、利用结构体变量构成的链表2 21、利用结构体变量构成的链表322、利用结构体变量构成的链表4 23、利用结构体变量构成的链表5 24、利用结构体变量构成的链表625、利用结构体变量构成的链表726、利用结构体变量构成的链表827、利用结构体变量构成的链表928、共用体和共用体变量的引用1 29、共用体和共用体变量的引用2 30、课后习题讲解131、课后习题讲解232、课后习题讲解3第一十五章:位运算符及其功能第一十六章:打开和关闭文件第一十七章:六组文件函数的应用/showdutip.php?id=62。
《c语言程序设计》2016-2017学年第二学期期末试卷(A卷)
2016-2017学年第二学期《C语言程序设计》期末试卷(A)(考试对象:能源、材料、环境等专业2016级)学院专业班级学号姓名成绩一、选择题(用铅笔把选中的方格涂黑40×1=40分)1A B C D2A B C D3A B C D4A B C D5A B C D6A B C D7A B C D8A B C D9A B C D10A B C D11A B C D12A B C D 13A B C D14A B C D15A B C D16A B C D 17A B C D18A B C D19A B C D20A B C D 21A B C D22A B C D23A B C D24A B C D 25A B C D26A B C D27A B C D28A B C D 29A B C D30A B C D31A B C D32A B C D 33A B C D34A B C D35A B C D36A B C D 37A B C D38A B C D39A B C D40A B C D二、填空题(每空占一行,每行写一个答案20×2=40分)1. 2.3. 4.5. 6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.三、编程题(每小题10分,共20分)1.编写子函数,以判断一个整数n是否为素数,如果n是素数,则返回整数1;如果n不是素数,则返回整数0;并在主函数中调用该函数以统计0到200之间的素数的个数。
2.用起泡法排序实现任意输入10个数按由小到大排序。
一、选择题(用铅笔把选中的方格涂黑40×1=40分)1.下列语句有语法错误的是(1)。
A.printf("%d",0xAB);B.printf("%f",3.45E2.5);C.printf("%d",037);D.printf("%c",'\t');2.设有以下程序段,则值为6的表达式是(2)。
C语言程序设计上机实验指导
上机实验一般应包括以下几个步骤:1.准备好上机所需的程序。
认真完成预习实验报告,报告应包括以下内容:①题目②相关知识点的表述③实验设计思路、流程图或语言描述④程序清单⑤实验中要验证的内容⑥实验计划手编程序应书写整齐,并经人工检查无误后才能上机,以提高上机效率。
对程序中自己有疑问的地方,应作出记号,以便在上机时给予注意。
初学者切忌不编程序或抄别人程序走上机,应从一开始就养成严谨的科学作风。
2.上机输入和调试自己所编的程序。
应该一人一组,独立上机。
上机过程中出现的问题,除了是系统的问题以外,一般应自己独立处理,不要轻易举手问教师。
尤其对“出错信息”,应善于自己分析判断。
这是学习调试程序的良好机会。
在使用键盘时,最好采用正确的指法击键,为今后正确使用键盘打下基础。
在程序调试通过后,打印输出程序清单和运行结果,在运行时要注意在输入不同数据时所得到的不同结果(例如解ax2+bx+c=0方程时,不同的a、b、c组合对应得到实根、复根的不同结果)。
此时应运行几次,分别检查在不同情况下程序是否正确。
3.上机结束后,应整理出实验报告,实验报告应包括以下内容:①题目②实验记录③程序清单(计算机打印出的程序清单)④运行结果(必须是上面程序清单所对应打印输出的结果)⑤实验分析⑥技术小结。
对运行情况所作的分析以及本次调试程序所取得的经验。
如果程序未能通过,应分析其原因。
实验一.数据类型、运算符和表达式一、目的要求:1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。
2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。
3.进一步熟悉C程序的编辑、编译、连接和运行的过程。
二、实验内容:1.编写程序验证各种数据类型、各种运算符。
2.输入并运行教材第三章例题3.1、例3.3、例3.4、例3.10,在上机前先用人工分析程序写出应得结果,上机后将二者对照。
c语言程序设计课程设计
c语言程序设计课程设计一、教学目标本课程的教学目标是使学生掌握C语言程序设计的基本概念、语法和编程技巧,培养学生独立思考、解决问题的能力,并培养学生的逻辑思维和团队合作精神。
具体分为以下三个维度:知识目标:学生需要掌握C语言的基本语法、数据类型、运算符、控制结构、函数、数组、指针等概念,理解程序设计的基本原理和方法。
技能目标:学生能够运用C语言独立编写和调试程序,解决实际问题,具备一定的程序设计能力和创新思维。
情感态度价值观目标:学生通过课程学习,培养对计算机科学和程序设计的兴趣和热情,增强自主学习意识和团队合作精神,树立正确的创新观念和职业道德。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数、数组、指针等知识点,具体涵盖如下:1.C语言概述:介绍C语言的历史、特点和应用领域。
2.基本语法:变量、常量、数据类型、运算符、表达式等。
3.控制结构:顺序结构、选择结构、循环结构等。
4.函数:函数的定义、声明、调用、返回值等。
5.数组和指针:一维、二维数组,指针的概念、运算、应用等。
6.字符串:字符串的基本操作、常用函数等。
7.结构体和联合:结构体的定义、使用,联合的概念等。
8.文件操作:文件的打开、关闭、读写等。
三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性,包括:1.讲授法:教师讲解基本概念、语法和编程技巧,引导学生理解并掌握知识。
2.案例分析法:通过分析实际案例,让学生学会将理论知识应用于实际问题。
3.实验法:学生动手编写和调试程序,培养实际编程能力和创新思维。
4.小组讨论法:学生分组讨论问题,培养团队合作精神和沟通能力。
四、教学资源本课程的教学资源包括以下几个方面:1.教材:《C语言程序设计》(简称教材),为学生提供系统、全面的知识体系。
2.参考书:提供拓展阅读资料,帮助学生深入理解C语言及相关技术。
3.多媒体资料:包括课件、教学视频等,辅助学生更好地学习课程内容。
C语言程序设计教材
第1章 C语言程序概述本章的学习目的是掌握C语言程序的基本结构和上机操作过程,使读者对C语言程序有一个概貌的了解,为后面的学习打下基础。
1.1 C语言程序的基本结构1.1.1 实例下面简要介绍几个简单的程序例子,说明C语言的组成特点。
【例1.1】在屏幕上输出一串字符:This is a c program#include <stdio.h>void main(){printf (“This is a c program”);}程序输出结果:This is a c program说明:1.main():主函数。
C语言程序由函数构成,但有且只有一个主函数。
2.{ }:C语言程序必须至少有一对{},代表程序的开始、结束,里面内容称之为函数体。
3.Printf():标准输出函数,将程序运行结果显示到输出设备上(显示器)。
4.#include <stdio.h>:预处理命令。
当程序中有输出函数或输入函数时必须有此行。
【例1.2】已知a=10,b=30,求两数之和sum。
#include <stdio.h>void main() /*主函数,程序从此开始运行*/{ /*函数体开始*/int a,b,sum; /*定义语句*/a=10; /*赋值语句*/b=30; /*赋值语句*/sum=a+b; /*赋值语句*/printf("sum=%d\n",sum); /*输出语句*/} /*函数体结束*/·1·程序输出结果:sum=30说明:1.int a,b,sum;语句:说明a、b和sum为三个整型变量,可以通过赋值操作改变变量的值。
2. a=10;语句:将整数10送到a的存储单元中。
sum=a+b;语句:先取a和b两个存储单元中的数据在运算器中相加,然后将结果保存在sum变量单元中。
3.printf("sum=%d\n",sum);语句:该函数的参数包括两部分,sum是要输出的数据,"%d"是数据输出的格式控制符字符串,控制符%d的作用是按整数格式输出sum的值。
《C语言程序设计(第2版)》课后习题参考答案prt
《C语言程序设计》(邱晓红主编)课后习题参考答案第1章C语言及程序设计概述1.单选题(1)A (2)B (3)A (4)B (5)C2.填空题(1)//,/*…*/(2)scanf()(3)printf()3.判断题(1)对(2)错(3)错(4)对1.4简答题①概述C语言和C语言程序的主要特点。
答:1.C语言是高级语言。
它把高级语言的基本结构和语句与低级语言的实用性结合起来。
2。
C语言是结构式语言。
结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。
这种结构化方式可使程序层次清晰,便于使用、维护以及调试。
①C语言功能齐全。
具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。
②C语言适用范围大。
适合于多种操作系统,如Windows、DOS、UNIX、LINUX等等;也适用于多种机型。
②请编程,在计算机屏幕上显示:“您好,欢迎进入C语言世界!”解:#include<stdio.h>void main(){printf("您好,欢迎进入c预言世界!");}第二章:数据类型运算符与表达式1.单选题(1)C (2)D (3)C (4)B (5)C (6)A (7)B (8)D (9)A (10)B(11)C (12)C (13)D (14)A (15)B (16)C (17)A (18)A (19)B (20)C (21)C (22)D (23)C (24)A (25)D (26)B (27)C (28)B (29)B (30)A 2.填空题(1)sqrt(pow(y,x)+log10(y)) (2)36(3)6 (4)3 3(5)6 (6)36(7)int x=8,y=8; (8)1(9)E (10)7,9,6,8)(11)6 (12)66,96(13)240 (14)1,1,-1,-1(15)5,2,6 (16)1(17)!(18)2(19)(a>0&&a<101)&&(a%3==0||a%7==0)(20)A3.程序分析题(1)2 7 (VC++环境下,其它编译环境可能有不一样的结果)2 74 94 412 12(2)3 1 4 01 -616(3)100 d 68 D97 a 49 1(4)0 1 0 1(5)2 4 6 7-0.5800000 7.00000046.5800007.500000(6)33 12 113 13 082 32(7)618 30181(8)1 1 0 04.改错题(1)①无初始赋值,不能输出②数据精度丢失③少“;”号④单字符变量不能保存字符串常量⑤不能连续初始化⑥非法标识符(2)short i=38000溢出PI=3.1416 常量不能修改值Printf(“%d”,x%y) %必须是整数a*=(b+c)/=d复合赋值左边不能是表达式5、(1)#include <stdio.h>int main(){int H;float v,L1,L2,L,T,s1,M;printf("请输入开始里程数,单位为千米:\n");scanf("%f",&L1);printf("请输入结束里程数,单位为千米:\n");scanf("%f",&L2);printf("请输入时间,格式为时,分,秒\n");scanf("%d,%f,%f",&H,&M,&s1);T=H+M/60.0+s1/3600.0;//将时间折算成小时;L=L2-L1;//计算出这段时间走的路程,以千米计;v=L/T;printf("%f\n",v);return 0;}(2)#include <stdio.h>#define PI 3.14int main(){double r=2.5,h=5,V;V=(PI*r*r*h)/3;printf("%f\n",V);return 0;}第三章:算法概念与顺序结构程序设计1.选择题(1)D (2)D (3)D (4)B (5)C (6)A (在16位机答案为D)(7)B (8)C (9)B (10)D2.填空题.(1)一条语句;(2)小于左右(3)%%(4)输出项列表输出控制符(5)取地址取a的地址(6)从盘获取一个字符(7)大括号(8)f=68.000000(9)n1=%d\n n2=%d(10)7,5,c=33.程序分析题.(1)i=100,c=a,f=1.234000(2)i=65535,j=65536(10)1234,123.5,12345.53.4 编程题①编写一个程序,交换两个数的值。
c语言文件系统课程设计
c语言文件系统课程设计一、教学目标本课程的教学目标是使学生掌握C语言文件系统的基本概念、原理和方法,培养学生运用C语言进行文件操作的能力。
具体目标如下:1.知识目标:(1)了解文件的概念、分类和操作步骤。
(2)掌握文件打开、关闭、读写、定位等基本操作。
(3)熟悉文件系统的结构和存取控制。
(4)理解文件缓冲区管理、文件同步和错误处理机制。
2.技能目标:(1)能够使用C语言编写文件操作程序。
(2)具备一定的文件性能分析和优化能力。
(3)学会使用常用文件系统调试工具和性能评估方法。
3.情感态度价值观目标:(1)培养学生对文件系统的兴趣,提高学习积极性。
(2)培养学生团队协作、自主探究和不断创新的精神。
(3)强化学生的责任感和使命感,使其意识到文件系统在信息技术领域的重要性。
二、教学内容本课程的教学内容分为五个部分:1.文件的基本概念:介绍文件的概念、分类和操作步骤。
2.文件操作:讲解文件打开、关闭、读写、定位等基本操作。
3.文件系统结构:阐述文件系统的结构、存取控制和缓冲区管理。
4.文件同步与错误处理:讲解文件同步机制和错误处理方法。
5.文件系统性能分析与优化:分析文件系统的性能指标,介绍性能优化策略。
三、教学方法本课程采用多种教学方法相结合的方式,包括:1.讲授法:讲解基本概念、原理和方法。
2.案例分析法:分析实际案例,加深对文件系统的理解。
3.实验法:动手实践,培养文件操作能力。
4.讨论法:分组讨论,激发创新思维和团队协作精神。
四、教学资源1.教材:选用《C语言程序设计》等相关教材,作为学生学习的基础资料。
2.参考书:推荐《C语言高级编程》、《文件系统设计与实现》等参考书,丰富学生知识面。
3.多媒体资料:制作课件、教学视频等,提高课堂教学效果。
4.实验设备:配置计算机实验室,确保学生能够进行文件操作实验。
五、教学评估本课程的教学评估采用多元化评价方式,全面客观地评价学生的学习成果。
评估方式包括:1.平时表现:评估学生在课堂上的参与程度、提问回答等情况,占总评的20%。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
putchat(ch);
14
例1 从键盘上输入一行字符写入data1.dat中,遇#结束
#include "stdio.h"
例13.3(P315)
main( )
{FILE *fp;
定义指向文件的指针
fifp((=ffpo=pfeonp(edna(t"ad1a.dtaa1t.,t"xwt",)";w"))==N打U开LL文) 件,使fp指向文件
{printf("cannot open this file\n"); exit(0);}
ch=getchar( );
从键盘读入到内存
while(ch!='#') {fputc(ch,fp); putchar(ch); ch=getchar( );
从内存写入文件 输出到屏幕让用户观察
从键盘到内存,为下次循环准备
– fread( )函数:将一组数据由二进制文件读入到内存 fwrite( )函数:将一组数据写入二进制文件
12
一、字符读写函数
文件类型:ASCII码文件,二进制文件 1、从文件读字符 调用格式: fgetc(fp); 功能: 从fp所指定的文件中读入一个字符到内存。 返回值: 如果输入成功,返回所读入的字符;若输入
文件的打开的常用格式: if((fp=fopen("aa", "r"))==NULL) { printf("cannot open this file\n"); exit(0); /*关闭所有文件,终止正在调用的过程*/ }
8
二、文件的关闭
方法: fclose(文件指针); 例如:fclose(fp); 将指针fp指向的文件关闭。所谓文件关闭就是文件指 针与文件的指向关系中断。
注:‘0’、‘1’ 的ASCII码值分别为48、49
在二进制文件中:是按数据在内存中的存储形式 (即按补码)存储的,占2个字节,分别为: 00000011 11101000
注:1000=512+256+128+64+32+0+8+0+0+0 =(00000011 11101000)2 4
§13.2 指向文件的指针
文件的创建方式: (1)通过文字处理软件或操作系统的文件管理功能; (2)通过程序语句创建。
数据的输入和输出: 在计算机中,数据的输入和输出都是相对内存而言。 将数据从磁盘文件或输入设备读入内存称为输入,从 内存写到磁盘文件或输出设备称为输出。
2
文件的组织形式
文件可分为ASCII码文件和二进制文件: 一、ASCII文件:又称为文本文件(.txt)文件,其中每个字
指向文件的指针的定义: FILE *变量名; 如:FILE *fp; 则定义了指针变量fp是一个指向文件的指针。
注意:使用FILE定义指向文件的指针时,必须 包含头文件stdio.h
5
§13.3 文件的打开和关闭
文件使用前,应先将文件打开到内存缓冲区,使用 之后应将文件关闭,即把缓冲区中的数据回存到文 件,然后释放内存缓冲区。
C语言电子教案(十九)
第十九讲 第十三章 文件 主要内容: §13.1 文件的概念 §13.2 文件类型指针 §13.3 文件的打开和关闭 §13.4 文件的读写 §13.5 文件的定位
1
§13.1 文件的概念
文件:存储在外部介质(如:软盘、硬盘、光盘等)上 的数据的集合。文件又是以文件名作为标识符。
打开文件的函数:fopen()函数; 关闭文件的函数:fclose()函数。
6
一、文件的打开
方法: FILE *fp; fp=fopen(文件名,打开方式);
文件的打开方式:
"r": 文本文件只读
打开文件并使指针指向文件首
"w": 文本文件只写
打开文件并使指针指向文件首
"a": 文本文件追加
键盘
读出文件 中的数据 不能直接 从文件到 屏幕,而 文件的写 入操作也 不能直接 由键盘到 文件,必 须经过内 存才能进 行。
11
文件的读写
文件的读写操作包括以下几种:
– getc( )函数:将一个字符由文件读入到内存 fputc( )函数:将一个字符写入文件
– fscanf( )函数:将一组数据由ASCII码文件读入到内存 fprintf( )函数:将一组数据写入ASCII码文件
不成功,则返回EOF(-1)
2、写字符到文件 调用格式: fputc(ch,fp); 功能: 将字符ch写入fp所指定的数据文件中。 返回值: 如果输入成功,返回所写入的字符;若输入
不成功,则返回EOF(-1);
13
字符读写函数
ch=fgetc(stdin); 等价于
ch=getchar( );
} fclose(fp);
关闭文件
}
15
二、数据块读写函数
文件类型:二进制文件 1、读文件 调用格式: fread(p,size,n,fp); 功能:从fp指定的文件中,读出连续n个大小为size的数
打开文件并使指针指向文件尾
"rb": 二进制文件的只读
"r+": 二进制文件可读可写
7
一、文件的打开
例如: FILE *fp; fp=fopen("E:\test.dat","w"); 表示将E盘根目录下的test.dat文件,按只写的方式打开。 如果磁盘上有此文件,打开并将文件指针指向文件首;如 果磁盘上无此文件,创建一个新文件并打开。
节存放一个ASCII码字符。 ASCII码文件占存储空间大,且要花费时间进行二进制形 式与ASCII码形式之间的转换 二、二进制文件:是将内存中的数据按在内存中的存储形式 原样输出到磁盘上存放。 二进制文件节省存储空间,不需要转换,但不能直观地显 示文件的内容
3
文件的组织形式
如:整数1000
在ASCII文件中:4个字符('1','0','0','0')占 4个字节存储。分别为: 00110001 00110000 00110000 00110000
9
§13.4 文件的读写
文件的读写步骤:
打开文件到内存缓冲区 顺序自然定位
读写位置定位 强制定位
读写文件 关闭文件,使文件从缓冲区写回磁盘
10
文件的读写
文件内容显示到屏幕的步骤:
文件
读
数
文
出据
件 内存 输
(缓冲区)
变量
屏幕
从键盘输入数据写到文件的步骤:
写 文
文件 件 (缓冲区)
数 入据
内存 输 变量