c语言程序设计第四版考精彩试题
《C语言程序设计》课后习题答案(第四版)
第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n");printf(" Very Good!\n\n");printf ("**************************\n");return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)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.h>int 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.h>int 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.1.什么是计算机程序程序..:一组计算机能识别和执行的指令。
只要让计算机执行这个程序,计算机就会自动地、有条不紊地进行工作计算机的一切操作都是由程序控制的,离开程序,计算机将一事无成。
1.2什么是计算机语言计算机语言:人和计算机交流信息的、计算机和人都能识别的语言。
计算机语言发展阶段:机器语言(由0和1组成的指令)符号语言(用英文字母和数字表示指令)高级语言(接近于人的自然语言和数学语言)面向过程的语言(非结构化的语言、结构化语言);面向对象的语言1.3C语言的发展及其特点C语言是一种用途广泛、功能强大、使用灵活的过程性编程语言,既可用于编写应用软件,又能用于编写系统软件。
因此C语言问世以后得到迅速推广。
C语言主要特点:语言简洁、紧凑,使用方便、灵活。
(只有37个关键字、9种控制语句;程序书写形式自由,源程序短)运算符丰富。
(34种运算符;把括号、赋值、强制类型转换等都作为运算符处理;表达式类型多样化)数据类型丰富。
(包括:整型、浮点型、字符型、数组类型、指针类型、结构体类型、共用体类型;C99又扩充了复数浮点类型、超长整型、布尔类型;指针类型数据,能用来实现各种复杂的数据结构的运算。
)具有结构化的控制语句。
(如if…else语句、while语句、do…while语句、switch语句、for语句用函数作为程序的模块单位,便于实现程序的模块化;C语言是完全模块化和结构化的语言)语法限制不太严格,程序设计自由度大。
(对数组下标越界不做检查;对变量的类型使用比较灵活,例如,整型量与字符型数据可以通用;C语言允许程序编写者有较大的自由度,因此放宽了语法检查)允许直接访问物理地址,能进行位操作,可以直接对硬件进行操作。
(C语言具有高级语言的功能和低级语言的许多功能,可用来编写系统软件;这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言)用C语言编写的程序可移植性好。
《C语言程序设计》课后习题答案(第四版)
第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n");printf(" Very Good!\n\n");printf ("**************************\n");return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)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.h>int 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.h>int 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程序设计第四版谭浩强_习题&例题第4章
第4章例4.1#include<stdio.h>#include<math.h>int main(){double a,b,c,disc,p,q,x1,x2;scanf("%lf%lf%lf",&a,&b,&c);disc=b*b-4*a*c;if(disc<0) printf("This equetion hasn't real roots\n");else{p=-b/(2*a);q=sqrt(disc)/(2*a);x1=p+q;x2=p-q;printf("real root:\nx1=%7.2f\nx2=%7.2f\n",x1,x2);}return 0;}例4.2#include<stdio.h>int main(){float a,b,t;scanf("%f%f",&a,&b);if(a>b){t=a;a=b;b=t;}printf("%5.2f,%5.2f\n",a,b);return 0;}例4.3#include<stdio.h>int main(){float a,b,c,t;scanf("%f,%f,%f",&a,&b,&c);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf("%5.2f,%5.2f,%5.2f\n",a,b,c);return 0;}例4.4#include<stdio.h>int main(){char ch;scanf("%c",&ch);ch=(ch>='A'&&ch<='Z')?ch+32:ch;printf("%c\n",ch);return 0;}例4.5#include<stdio.h>int main(){int x,y;scanf("%d",&x);if(x<0)y=-1;elseif(x==0) y=0;else y=1;printf("x=%d,y=%d\n",x,y);return 0;}#include<stdio.h>int main(){int x,y;scanf("%d",&x);if(x>=0)if (x>0) y=1;else y=0;else y=-1;printf("x=%d,y=%d\n",x,y);return 0;}例4.6#include<stdio.h>int main(){char grade;scanf("%c",&grade);printf("Your score:");switch(grade){case 'A':printf("85~100\n");break;case 'B':printf("70~84\n");break;case 'C':printf("60~69\n");break;case 'D':printf("<60\n");break;default:printf("enter data error\n");}return 0;}例4.7#include<stdio.h>int main(){void action1(int,int),action2(int,int);char ch;int a=15,b=23;ch=getchar();switch(ch){case 'a':case 'A':action1(a,b);break;case 'b':case 'B':action2(a,b);break;default:putchar('\a');}return 0;}void action1(int x,int y){printf("x+y=%d\n",x+y);}void action2(int x,int y){printf("x*y=%d\n",x*y);}例4.8程序1#include<stdio.h>int main(){int year,leap;printf("enter year:");scanf("%d",&year);if(year%4==0){if(year%100==0){if(year%400==0)leap=1;elseleap=0;}elseleap=1;}elseleap=0;if(leap)printf("%d is ",year);elseprintf("%d is not ",year);printf("aleap year!\n");return 0;}程序2#include<stdio.h>int main(){int year,leap;printf("enter year:");scanf("%d",&year);if(year%4!=0)leap=0;else if(year%100!=0)leap=1;else if(year%400!=0)leap=0;else leap=1;if(leap)printf("%d is ",year);elseprintf("%d is not ",year);printf("aleap year!\n");return 0;}程序3#include<stdio.h>int main(){int year,leap;printf("enter year:");scanf("%d",&year);if(year%4==0&&year%100!=0||year%400==0) leap=1;else leap=0;if(leap)printf("%d is ",year);elseprintf("%d is not ",year);printf("aleap year!\n");return 0;}程序4#include<stdio.h>#include<iostream.h>int main(){int year;bool leap;printf("enter year:");scanf("%d",&year);if(year%4==0){if(year%100==0){if(year%400==0)leap=true;elseleap=false;}elseleap=true;}elseleap=false;if(leap)printf("%d is ",year);elseprintf("%d is not ",year);printf("aleap year!\n");return 0;}例4.9#include<stdio.h>#include<math.h>int main(){double a,b,c,disc,x1,x2,realpart,imagpart;scanf("%lf,%lf,%lf",&a,&b,&c);printf("The equation ");if(fabs(a)<=1e-6)printf("is not a quadratic\n");else{disc=b*b-4*a*c;if(fabs(disc)<=1e-6)printf("has two equal roots:%8.4f\n",-b/(2*a));else if(disc>1e-6){x1=(-b+sqrt(disc))/(2*a);x2=(-b-sqrt(disc))/(2*a);printf("has distinct real roots:%8.4f and %8.4f\n",x1,x2);}else{realpart=-b/(2*a);imagpart=sqrt(-disc)/(2*a);printf("has conplex roots:%8.4f\n");printf("%8.4f+%8.4fi\n",realpart,imagpart);printf("%8.4f-%8.4fi\n",realpart,imagpart);}}return 0;}例4.10#include<stdio.h>int main(){int c,s;float p,w,d,f;printf("please enter price,weight,discount:");scanf("%f,%f,%d",&p,&w,&s);if(s>=3000) c=12;else c=s/250;switch(c){case 0:d=0;break;case 1:d=2;break;case 2:case 3:d=5;break;case 4:case 5:case 6:case 7:d=8;break;case 9:case 10:case 11:d=10;break;case 12:d=15;break;}f=p*w*s*(1-d/100);printf("freight=%10.2f\n",f);return 0;}习题1.算术运算符:+正号2 -负号2 *乘法3 /除法3 %求余3 +加法4 -减法4 ++自增2 --自减2用算术运算符和括号将运算对象(也成操作数)连接起来的、符合C语法规则的式子,称为C算术表达式。
C语言 程序设计基础试题四及答案
《程序设计基础》考试试卷四班级姓名学号一、选择题(每题1分,共20分)题号一二三四五总得分评卷人审核人得分1.以下叙述中正确的是( )A. C程序中注释部分可以出现在程序中任意合适的地方B. 花括号"{"和"}"只能作为函数体的定界符C. 构成C程序的基本单位是函数,所有函数名都可以由用户命名D. 分号是C语句之间的分隔符,不是语句的一部分2.判断下面标识符中哪个是C语言中合法的用户定义标识符()A. 2a1bB. a%bdC. _123D. char3.设有以下定义int a=0; double b=1.25; char c=’A’; #define M 2则下面语句中错误的是( )A. a--;B. b--;C. c--;D. M--;4.有两条语句:static char x[]=”abcde”;static char y[]={‘a’,’b’,’c’,’d’,’e’};则下列说法中正确的是( )A. 数组x和数组y长度相同B.数组x长度大于数组y长度C. 数组x长度小于数组y长度D. 以上三种说法均错误;5.设整型变量a=13,则经运算a+= a/=a%=5后,a的值为()A. 17.333B. 17C. 0D. 26. 已知:int n,i=1,j=2;执行语句n=i<j?i++:++j;后,i和j的值是( ).A. 1,2B. 1,3C. 2,2D. 2,37.有函数定义如下:当自变量x<0时y=-1;当x=0时y=0;当x>0时y=1;以下程序片段能实现该函数功能的是( ):A. if(x>=0)B. y=-1;C. if(x>=0)D. y=0;if(x>0) y=1; if(x!=0) if(x>0) y=1; if(x>=0) else y=-1; if(x>0) y=1 ; else y=0; if(x>0) y=1;else y= 0; else y=0; else y= -1; else y=-1;8.当a=2,b=1,c=3,d=4,m和n值为1时,(m=a>b)||(n=c>d)的值是( )A. TRUEB. FALSEC. 1D.09.在C语言程序中,以下说法正确的是( )A. main函数内部可嵌套定义子函数B. main函数必须出现在所有函数之前C. main函数必须出现在所有函数之后D. main函数是程序执行的入口10.关于局部变量和全局变量说法正确的是():A. 在main函数中定义的变量都为全局变量B. 当全局变量与局部变量同名时,全局变量起作用C. 当全局变量与局部变量同名时,局部变量起作用D. 以上说法都不正确11.下列关于switch和break语句的讨论中,只有()是正确的。
C语言练习题(谭浩强第四版).附有答案
C语言练习题(谭浩强第四版).附有答案高级语言程序设计综合练习一学号:姓名:一、选择题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语言中,5种基本数据类型的存储空间长度的排列顺序为:A、char1 高级语言程序设计综合练习一学号:姓名:printf(“%d,%c\\n”,c2-c1,c2-‘a’+’A’);则输出结果是:A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定11、以下合法的赋值语句是:A、x=y=100B、d--;C、x + yD、c = int(a+b);12、在以下一组运算符中,优先级最高的是:A、=10 or a=0C、a>=10 || a=10 && a10 && a=15)16、已知x=43, ch=’A’,y=0;则表达式的值是:A、0B、语法错C、1D、“假”17、表达式17%4 /8的值为:A、0B、1C、2D、318、一个可执行的C程序的开始执行点是:A、程序中的第一个语句B、包含文件中的第一个函数C、名为main的函数D、程序中的第一个函数19、组成C语句的一个必不可少的符号是:A、逗号B、引号C、冒号D、分号20、若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:A、变量可以不定义直接使用B、一个说明语句只能定义一个变量C、几个不同类型的变量可在同一语句中定义D、变量可以在定义时进行初绐化22、与x * = y + z等价的赋值表达式是:2 )高级语言程序设计综合练习一学号:姓名:A、 x = y + zB、 x = x * y + zC、 x = x * (y + z)D、 x = x + y * z23、当代电子计算机能够自动地处理指定的问题是因为:A、计算机是电动的B、有解决该问题的计算机程序C、事先存储了解决该问题的程序D、以上都不是24、以下叙述中最准确的是:A、计算机程序是处理某一问题所有指令的集合B、计算机程序是处理某一问题所用到的所有数据的集合C、计算机程序是处理某一问题的所有指令及其数据的集合D、计算机程序是处理某一问题的所有指令及其数据的有序集合25、目前编写计算机程序一般采用的是:A、机器语言B、汇编语言C、高级语言D、英语26、设计一个计算机程序最基本的工作是:A、制定正确的算法B、选择合理的数据结构C、制定正确的算法和选择合理的数据结构D、以上都不是27、算法具有五个特性,以下选项中不属于算法特性的是:A、有穷性B、简洁性C、可行性D、确定性28、下述哪一个不是结构化程序基本结构:A、顺序B、选择C、循环D、嵌套29、 C语言是一种:A、机器语言B、汇编语言C、高级语言D、以上都不是30、 C语言源程序的扩展名为:A、、exeB、、cC、、objD、、cpp31、C程序编译、连接后最终产生(即计算机执行)的文件的扩展名为()A、、exeB、、cC、、objD、、cpp32、构成C语言源程序的基本单位是:A、子程序B、过程C、文本D、函数33、下列叙述正确的是:A、C语言源程序可以直接在DOS环境中运行B、编译C语言源程序得到的目标文件可以直接在DOS环境中运行C、C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D、C语言源程序可以直接在VC++环境中运行34、某C程序一个主函数main()和一个自定义函数max()组成,则该程序:3 高级语言程序设计综合练习一学号:姓名:A、写在前面的函数先开始执行B、总是从main()函数开始执行C、总是从max()函数开始执行D、写在后面的函数先开始执行35、以下叙述不正确的是:A、分号是C语句的必要组成部分B、C程序的注释可以写在语句的后面C、函数是C程序的基本单位D、主函数的名字不一定用mian表示36、以下为C语句的是:A、a=8B、a++;C、if(a>8)D、 #include37、以下所列语句中,合法的语句是:()A、a=1,b=2B、++a;C、a=a+1=5D、y=int(a);二、判断题1、( T )C语言是严格区分大写和小写的,因此主函数不能写成main()以外的其他形式。
C程序的设计第四版复习题完整版答案[排版整洁]
第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n"); printf(" Very Good!\n\n");printf ("**************************\n"); return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)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.h>int 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.h>int 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语言程序设计第四版答案C语言程序设计是一门广泛应用于计算机编程的高级编程语言,被广泛地应用于软件开发、系统编程等领域。
作为一门计算机语言,学习者在学习的过程中可能会遇到一些问题,需要寻找相应的答案。
本文将提供C语言程序设计第四版中一些常见问题的答案,帮助读者更好地理解和掌握C语言。
1. 题目一答案Q: 在C语言中,如何声明一个整型变量?A: 在C语言中,我们可以使用关键字`int`来声明一个整型变量。
例如:`int num;`表示声明了一个名为`num`的整型变量。
2. 题目二答案Q: 如何实现C语言中的条件语句?A: C语言中的条件语句可以使用`if`语句来实现。
例如:```cif (condition) {// 如果条件成立,执行这里的代码} else {// 如果条件不成立,执行这里的代码}```其中`condition`是一个逻辑表达式,根据条件的真假来决定执行哪一段代码块。
3. 题目三答案Q: 如何使用循环语句实现重复执行的功能?A: C语言中的循环语句有多种形式,常见的有`for`循环和`while`循环。
例如:```cfor (int i = 0; i < 10; i++) {// 循环执行的代码块}```上述代码表示从0到9,共执行10次循环。
我们可以通过修改循环条件和循环体内的语句来实现不同的循环需求。
4. 题目四答案Q: 如何进行变量的输入和输出?A: C语言中,我们可以使用`scanf`函数来从用户输入读取数据,并使用`printf`函数来进行输出。
例如:```cint num;scanf("%d", &num); // 从用户输入读取一个整数并赋值给变量numprintf("输入的数字是:%d\n", num); // 打印变量num的值```需要注意的是,`scanf`和`printf`函数的格式控制符需要与变量的类型相匹配。
《C语言程序设计》课后习题答案(第四版)
第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n");printf(" Very Good!\n\n");printf ("**************************\n");return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)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.h>int 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.h>int 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程序设计第4版一至四章复习题
一、单项选择题1.()是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程2.C语言程序从开始执行。
A) 程序中第一条可执行语句B) 程序中第一个函数C) 程序中的main函数D) 包含文件中的第一个函数3、以下说法中正确的是()。
A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是()。
A) C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写。
C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行5.下列正确的标识符是()。
A.-a1B.a[i]C.a2_iD.int t6.下列C语言用户标识符中合法的是()。
A)3ax B)x C)case D)-e2 E)union7.下列四组选项中,正确的C语言标识符是()。
A)%x B)a+b C)a123 D)1238、下列四组字符串中都可以用作C语言程序中的标识符的是()。
A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age9.C语言中的简单数据类型包括()。
A、整型、实型、逻辑型B、整型、实型、逻辑型、字符型C、整型、字符型、逻辑型D、整型、实型、字符型10.在C语言程序中,表达式5%2的结果是。
A)2.5 B)2 C)1 D)311.如果int a=3,b=4;则条件表达式"a<b? a:b"的值是__ __。
A) 3 B) 4 C) 0 D) 112.若int x=2,y=3,z=4 则表达式x<z?y:z的结果是( ).A)4 B)3 C)2 D)0 E)113.C语言中,关系表达式和逻辑表达式的值是()。
C语言程序设计试题四及答案
C语言程序设计试题四一、单项选择题;每题1分,共20分1. C程序的基本单位是:A.子程序B.程序C.子过程D.函数2.在C语言中,非法的八进制是:A.016B.018C.017D.023. 不是C语言实型常量的是:4 .字符串“xyzw”在内存中占用的字节数是:A.6B.5C.4D.35. 若已定义f,g为double类型,则表达式:f=1,g=f+5/4的值是:6. 若有语句char c1=`d`,c2=`g`;printf“%c,%d\n”,c2-`a`,c2-c1;则输出结果为:a的ASCII码值为97A.M,2B.G,3C.G,2D.D,g7. 使用语句scanf“a=%f,b=%d”,&a,&b;输入数据时,正确的数据输入是:A.a=2.2,b=3B.a=2.2 b=3C.2.2 3D.2.2,38.表示关系12<=x<=y的C语言表达式为:A.12<=x&x<=yB. 12<=x&&x<=yC. 12<=x|x<=yD.12<=x||x<=y9.设x=1,y=2,m=4,n=3,则表达式x>yx:m<ny:n的值为:A.1B.3C.2D.410. 若有说明和语句:int a=5,b=6;b=a+1;则b的值为:A.5B.6C.31D.3611. 设整型变量s,t,c1,c2,c3,c4的值均为2,则执行语句s=c1==c2||t=c3>c4后,s,t的值为:A.1,2B.1,1C.0,1D.1,012. 语句fora=0,b=0;b=100&&a<5;a++scanf“%d”,&b; scanf最多可执行次数为:A.4B.6C.5D.113. 对于fors=2;;s++可以理解为:A. fors=2;0 ;s++B. fors=2;1 ;s++C. fors=2;s<2 ;s++D. fors=2;s>2;s++14. 若有char h=`a`,g=`f`;int a6={1,2,3,4,5,6};则数值为4的表达式为:A.ag-hB.a4C.a`d`-`h`D.a`h`-`c`15. 设:char s10={“october”};则printf“%d\n”,strlens;输出是:A.7B.8C.10D.1116. 若有int a35={2,2},{2,6},{2,6,2}},则数组a共有个元素:A.8B.5C.3D.15二、填空题;每空1分,共15分1.C语言标识符由 _________、__________和___________来构造;2.在C语言中,字符串常量是用一串字符;3.若有说明和语句:int a=25,b=60;b=++a;则b的值是 ;4.若int x=5;whilex>0printf“%d”,x--;的循环执行次数为 ;5.若有int a5,p=a;则p+2表示第个元素的地址;6.若有说明和语句:int a=5,b=6,y=6;b-=a;y=a++则b和y的值分别是、 ;7.已知整型变量a=3,b=4,c=5,写出逻辑表达式a||b+c>c&&b-c的值是 ;8.C程序设计的三种基本结构是 ________、________和________;9.数组是表示类型相同的数据,而结构体则是若干数据项的集合;10.C语言中文件是指三、将下列程序补充完整;每空2.5分,共30分1.输入三角形的三条边a,b,c,求三角形的面积;include “math.h”include “stdio.h”main{float a,b,c,d,t,s;printf“请输入三角形的三条边:”;scanf“%f,%f,%f”,&a,&b,&c;if 1printf“%f%f%f不能构成三角形”, a,b,c;else {t=a+b+c/2;s= 2printf“a=%7.2f,b=%7.2f,c=%7.2f,area=%7.2f\n”, a,b,c,s;}}122.输入两个整数,n1,n2要求n1<n2,统计两整数范围内被3整除的数的个数;include “stdio.h”main{int n1,n2,j,n=0;printf“\n请输入两个数:”;scanf 3 ;ifn1>n2{ 4 }forj=n1;j<=n2,j++if 5 n++;printf“a=%5d,b=%5d,n=%5d\n”n1,n2,n;}3453.输入两个整数,n1,n2要求n1<n2,统计两整数范围内的素数的个数;include “math.h”include “stdio.h”int prime int x{int k;for 6if x%k==0 return0;return1}main{int a,b,j,n=0;printf“\n请输入两个数:”;scanf“%d,%d”,&a,&b;ifa>b{ 7 }forj=a;j<=b,j++if 8 n++;printf“a=%4d,b=%4d,n=%4d\n”a,b,n;}6784.编写程序,输入n个整数n由键盘输入,统计其中正数、负数和零的个数;include “stdio.h”main{int x,n,k,k1=0,k2=0,k3=0;printf“input n=:”;9fork=0;k<n;k++{scanf“%d”,&x;if x<0k1++;10 ;else k3++;printf“k1=%4d,k2=%4d,k3=%4d\n”,k1,k2,k3}}9105.设计一个程序完成以下功能:若从键盘输入英文字母,则原样输出;输入其他字符不理会,直到输入Q键结束.include “stdio.h”main{char ch;do{ch=getchar;if 11 break;else if 12 putcharch;}while1;}1112四、按格式写出程序运行结果;每题4分,共16分;1.格式化输出函数main{ int a=1,c=65,d=97;printf“a10=%d,a8=%o,a16=%x\n”,a,a,a;printf“c10=%d,c8=%o,c16=%x,cc=%c\n”c,c,c,c;d++;printf“d10=%d,dc=%c\n”d,d;输出结果:2.循环结构main{ int y=9,k=1;for;y>0;y--{ify%3==0{printf“%4d”--y;continue;}k++;}printf“\nk=%4d,y=%4d\n”,k,y;} 输出结果:3.数组include “stdio.h”main{int k,j;Int a={3,-5,18,27,37,23,69,82,52,-15};fork=0,j=k;k<10;k++ifak>ajj=k;printf“m=%d,j=%d\n”,aj,j;} 输出结果为:4.字符输出main{char p,s=“ABCD”;for p=s;p<s+4;p++printf“%s\n”,p;} 输出结果:五、按题目要求写出可运行程序:19分1.求元素个数为10的一维数组元素中的最大值和最小值;2.将矩阵 9 7 5 倒置为 9 3 43 1 2 7 1 64 6 85 2 83.编写函数:输入两个正整数m,n,求它们的最大公约数和最小公倍数;编写程序如下:C语言程序设计试题四答案一、单项选择题:1.D2.B3.D4.B5.B6.B7.A8.B9.B 10.C11.A 12.C 13.B 14.C 15.A 16.D二、填空题:1.字母、数字和下划线2.双引号3.264.55.三36.1,207.1 8.顺序结构、选择结构、循环结构 9.类型不同10.存储在外部介质上的相关数据集合;三、将下列程序补充完整;1.1a+b<c||b+c<a||a+c<b2sqrttt-at-bt-c2.3”%d%d”,&n1,&n2 4 j=n1;n1=n2;n2=j;5j%3==03.6k=2;k<=sqrtx;k++ 7 j=a;a=b;b=j;8primej4.9scanf“%s”,&n10else if x==05.11ch==`Q`||==`q`12ch>=`A`&&ch<=`Z`||ch>=`a`&&ch<=`z`四、按格式写出程序运行结果;1.a10=1,a8=1,a16=1c10=65,c8=101,c16=41,cc=Ad10=98,dc=b2.8 5 2k=4 y=03.m=82,j=74.ABCDBCDCDD五、按题目要求写出可运行程序;1.include “stdio.h”main{ int term10;int i,max,min;printf“请输入10个整数:”;fori=0;i<10;i++scanf“%d”,&termi;max=term0;min=term0;fori=0;i<10;i++{iftermi<minmin=termi;iftermi>maxmax=termi;}printf“max=%d,min=%d”,max,min;} 2. mainint j,k,x;int a3={9,7,5,3,1,2,4,6,8};forj=0;j<3;j++fork=j+1,k<3;k++{x=ajk;ajk=akj;akj=x;}forj=0;j<3;j++{fork=0,k<3;k++printf“%4d”,ajk;}}3.include “stdio.h”int gcdint m,int,n{ifn==0returnm;else returngcdn,m%n;int timint m,int,nreturnmn/gcdm,n;}main{int m,n,g,t;printf“enter two number please:”;scanf“%d,%d”,&m,&n;g=gcdm,n;t=timm,n;printf“gcdm,n=%d\n”,g;printf“timm,n=%d\n”,t;}。
《C语言程序设计》课后习题答案第四版
《C语言程序设计》课后习题答案第四版C语言程序设计课后习题答案第四版第一章基本概念和语法1.以下是一些基本概念和语法的习题答案:1.1 基本概念1.1.1 C语言是一种高级程序设计语言,最初由贝尔实验室的丹尼斯·里奇(Dennis Ritchie)于1972年开发。
1.1.2 C语言具有跨平台性,能够在多个操作系统上运行。
1.1.3 C语言程序是由函数构成的,每个程序都至少包含一个main函数。
1.2 数据类型和变量1.2.1 C语言中的基本数据类型包括整型(int)、浮点型(float)、字符型(char)和布尔型(bool)等。
1.2.2 变量是用来存储数据的内存位置,它们需要在使用前进行声明。
1.3 运算符和表达式1.3.1 运算符用来执行各种运算操作,例如加减乘除和逻辑运算等。
1.3.2 表达式由变量、常量和运算符组成,用来进行数据计算和逻辑判断。
1.4 控制语句1.4.1 if语句用于条件判断,根据条件的真假来选择执行不同的代码块。
1.4.2 for循环语句用于重复执行某段代码,可以设定循环次数或者循环条件。
1.4.3 switch语句用于多条件选择,根据不同的条件执行相应的代码块。
第二章数组和字符串2.以下是关于数组和字符串的习题答案:2.1 数组2.1.1 数组是一种用来存储多个相同类型数据的数据结构。
2.1.2 数组可以通过索引访问和修改其中的元素,索引从0开始。
2.1.3 数组的长度是固定的,声明时需指定数组的大小。
2.2 字符串2.2.1 字符串是由字符组成的数组,以空字符'\0'结尾。
2.2.2 字符串可以通过数组或者指针方式进行操作。
2.2.3 C语言提供了许多用于处理字符串的函数,例如strcpy、strcmp和strlen等。
第三章函数和指针3.以下是有关函数和指针的习题答案:3.1 函数3.1.1 函数是一段可重复调用的代码块,用于执行特定的任务。
【免费下载】c语言程序设计第四版考试题
C、strcpy(str4,str1) D、strcpy(str5,str1)
3、设有以下语句:char str[4][12]={"aaa","bbb","ccc","ddd"}; char *strp[4]; int i;for(i=0;i<4;i++) strp[i]=str[i]; 若 0<=k<4,下列选项中对字符串的非法引用是( )(1 分)
(2 分)
-------------------------------------------------------------------------------3、唯一的一个三目运算符是
(2 分)
-------------------------------------------------------------------------------4、printf("%5.3f\n",123456.12345);输出为
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根通保据过护生管高产线中工敷资艺设料高技试中术卷资,配料不置试仅技卷可术要以是求解指,决机对吊组电顶在气层进设配行备置继进不电行规保空范护载高与中带资负料荷试下卷高问总中题体资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况中卷下,安与要全过加,度强并工看且作护尽下关可都于能可管地以路缩正高小常中故工资障作料高;试中对卷资于连料继接试电管卷保口破护处坏进理范行高围整中,核资或对料者定试对值卷某,弯些审扁异核度常与固高校定中对盒资图位料纸置试,.卷保编工护写况层复进防杂行腐设自跨备动接与处地装理线置,弯高尤曲中其半资要径料避标试免高卷错等调误,试高要方中求案资技,料术编试交写5、卷底重电保。要气护管设设装线备备置敷4高、调动设中电试作技资气高,术料课中并3中试、件资且包卷管中料拒含试路调试绝线验敷试卷动槽方设技作、案技术,管以术来架及避等系免多统不项启必方动要式方高,案中为;资解对料决整试高套卷中启突语动然文过停电程机气中。课高因件中此中资,管料电壁试力薄卷高、电中接气资口设料不备试严进卷等行保问调护题试装,工置合作调理并试利且技用进术管行,线过要敷关求设运电技行力术高保。中护线资装缆料置敷试做设卷到原技准则术确:指灵在导活分。。线对对盒于于处调差,试动当过保不程护同中装电高置压中高回资中路料资交试料叉卷试时技卷,术调应问试采题技用,术金作是属为指隔调发板试电进人机行员一隔,变开需压处要器理在组;事在同前发一掌生线握内槽图部内 纸故,资障强料时电、,回设需路备要须制进同造行时厂外切家部断出电习具源题高高电中中源资资,料料线试试缆卷卷敷试切设验除完报从毕告而,与采要相用进关高行技中检术资查资料和料试检,卷测并主处且要理了保。解护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
C程序设计第四版_习题.doc
第7 章函数例 7.1#include<stdio.h>int main(){void print_star();void print_message();print_star();print_message();print_star();return 0;}void print_star(){printf("***********************************\n"); }void print_message(){printf("How do you do!\n");}例7.2int max(int x,int y){int z;z=x>y?x:y;return(z);}#include<stdio.h>int main(){int max(int x,int y);int a,b,c;printf("please enter two integer number:");scanf("%d,%d",&a,&b);c=max(a,b);printf("max is %d\n",c);return 0;}例7.3#include<stdio.h>int main(){int max(float x,float y);float a,b;int c;printf("please enter two integer number:");scanf("%f,%f",&a,&b);c=max(a,b);printf("max is %d\n",c);return 0;}int max(float x,float y){float z;z=x>y?x:y;return(z);}例7.4#include<stdio.h>int main(){float add(float x,float y);float a,b,c;printf("please enter a and b:");scanf("%f,%f",&a,&b);c=add(a,b);printf("sum is %f\n",c);return 0;}float add(float x,float y){float z;z=x+y;return(z);}例7.5#include<stdio.h>int main(){int max4(int a,int b,int c,int d);int a,b,c,d,max;printf("please enter 4 interger number:");scanf("%d %d %d %d",&a,&b,&c,&d);max=max4(a,b,c,d);printf("max=%d\n",max);return 0;}int max4(int a,int b,int c,int d){int max2(int a,int b);int m;m=max2(a,b);m=max2(m,c);m=max2(m,d);return(m);}int max2(int a,int b){if(a>=b) return a;else return b;}#include<stdio.h>int main(){int max4(int a,int b,int c,int d);int a,b,c,d,max;printf("please enter 4 interger number:");scanf("%d %d %d %d",&a,&b,&c,&d);max=max4(a,b,c,d);printf("max=%d\n",max);return 0;}int max4(int a,int b,int c,int d){int max2(int a,int b);return(max2(max2(max2(a,b),c),d)); }int max2(int a,int b){return(a>b?a:b);}例7.6#include<stdio.h>int main(){int age(int n);printf("NO.5,age:%d\n",age(5));return 0;}int age(int n){int c;if(n==1) c=10;else c=age(n-1)+2;return(c);}例 7.7 递归方法求n!#include<stdio.h>int main(){int fac(int n);int n,y;printf("input a interger number:");scanf("%d",&n);y=fac(n);printf("%d!=%d\n",n,y);return 0;}int fac(int n){int f;if(n<0) printf("n<0,data error!");else if(n==0||n==1) f=1;else f=fac(n-1)*n;return(f);精品文档}例7.8 汉诺塔#include<stdio.h>int main(){void hanoi(int n,char one,char two,char three);int m;printf("input the number of diskes:");scanf("%d",&m);printf("The step to move %d diskes:\n",m);hanoi(m,'A','B','C');}void hanoi(int n,char one,char two,char three)//将N-1个盘子从一座移到另一座。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C程序设计(第四版)期末考试题本卷共有4道大题:一、单项选择题(20道小题,共20分)1、以下对C语言函数的有关描述中,正确的是( )(1分)A、在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B、C函数既可以嵌套定义又可以递归调用C、函数必须有返回值,否则不能使用函数D、C程序中有关调用关系的所有函数必须放在同一个源程序文件中2、strcpy库函数用于复制一个字符串。
若有以下定义:char *str1="copy",str2[10],*str3="hijklmn";char *str4,*str5="abcd";则对strcpy库函数的错误调用是( )(1分)A、strcpy(str2,str1)B、strcpy(str3,str1)C、strcpy(str4,str1)D、strcpy(str5,str1)3、设有以下语句:char str[4][12]={"aaa","bbb","ccc","ddd"}; char *strp[4]; int i;for(i=0;i<4;i++) strp[i]=str[i]; 若0<=k<4,下列选项中对字符串的非法引用是( )(1分)A、strpB、str[k]C、strp[k]D、*strp4、以下各选项企图说明一种新的类型名,其中正确的是( )(1分)A、typedef v1 int;B、typedef v2=int;C、typedef v1 int v3;D、typedef v4: int;5、若以下定义和语句:int a[]={1,2,3,4,5,6,7,8,9,0}; int *p,i;p=a;0<i<10,则对数组元素地址的正确表示是( )(1分)A、&(a+1)B、a++C、&pD、&p[i]6、C语言标准库函数"fgets(string,n,fp)"的功能是( )(1分)A、从文件fp中读取长度为n的字符串存入指针string指向的内存B、从文件fp中读取长度不超过n-1的字符串存入指针string指向的内存C、从文件fp中读取n个字符串存入指针string指向的内存D、从文件fp中读取不超过长度为n的字符串存入指针string指向的内存7、以下叙述中不正确的是( )(1分)A、在函数中,通过return语句传回函数值B、在函数中,可以有多条return语句C、在C中,main后的一对圆括号中也可以带有形参D、在C中,调用函数,必需在一条独立的语句中完成8、若有以下定义:char a;int b; float c;double d; 则表达式a*b+d-c值的类型为( )(1分)A、floatB、intC、charD、double9、以下叙述中正确的是( )(1分)A、输入项可以是一个实型常量,如:scanf("%f",3.5);B、只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf("a=%d ,b=%d");C、当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf("%4.2f",&d);D、当输入数据时,必须指明变量地址,例如:scanf("%f",&f);10、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( )(1分)A、INPUT x、y、z;B、scanf("%d%d%d",&x,&y,&z);C、scanf("%d%d%d",x,y,z);D、read("%d%d%d",&x,&y,&z);11、若变量都已正确定义,a=2;b=3;printf(a>b?"* * *a=%d":"# # #b=%d",a ,b);则程序段( )(1分)A、没有正确的输出格式控制B、输出为:* * * a=2C、输出为:# # # b=2D、输出为:* * * a=2# # # b=212、设有如下的变量定义:int i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;则以下符合C语言语法的表达式是( )(1分)A、a=a-=(b=4)*(a=3)B、x%(--3);C、a=a*3=2D、y=float(i)13、假设所有变量均为整型,表达式 (a=2,b=5,a>b? a++:b++,a+b)的值是( )(1分)A、7B、8C、9D、214、以下标识符中,不能作为合法的C用户定义标识符的是( )(1分)A、ForB、printC、WORDD、sizeof15、以下合法的赋值语句是( )(1分)A、x=y=100B、d--;C、x+y;D、c=int(a+b);16、在下列选项中,没有构成死循环的程序是( )(1分)A、int i=100;whine(1) {i=i%1001;if (i>100)break;}B、for (;;);C、int k=1000;do {k;}while(k>=1000);D、int s=36;while(s);--s;17、设a=1,b=2,c=3,d=4,则表达式:a<b?a:c<d?b:d的结果为( )(1分)A、4B、3C、2D、118、假定w、x、y、z、m均为int型变量,有如下程序段:w=1; x=2; y=3; z=4; m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z; 则该程序运行后,m的值是( )(1分)A、4B、3C、2D、119、有定义语句:int a=4,b=5,c=6,x;,则以下选项中各程序段执行后,x的值不为6的是( )(1分)A、if (a<6) x=6; else if (a<5) x=5; else x=4;B、if (a<6) x=6; if (a<5) x=4; if (b<c) x=c;C、if (a<b) x=b; if (a<4) x=4; if (c<a) x=a;D、if (c<a) x=4; else if (b<a) x=5; else x=6;20、在宏定义#define PI 3.14159中,用宏名PI代替一个( )(1分)A、单精度数B、双数度数C、常量D、字符串二、填空题(12道小题,共40分)1、计算机中内存储器的最小存储单位是字节,一个整数占个字节(2分)--------------------------------------------------------------------------------2、一个算法应该具有以下特点:、确定性、有零个或多个输入、有一个或多个输出、有效性(2分)--------------------------------------------------------------------------------3、唯一的一个三目运算符是(2分)--------------------------------------------------------------------------------4、printf("%5.3f\n",123456.12345);输出为(2分)--------------------------------------------------------------------------------5、描述命题“A小于B或小于C”的表达式为(2分)--------------------------------------------------------------------------------6、int i=0,s=0,a[10];while (i<10)s+=a[i++];等价于int i,s,a[10];for()(2分)--------------------------------------------------------------------------------7、已知一数组:a[0]=10,a[1]=20,a[2]=30,a[3]=40,a[4]=50,s是int型指针,s已指向a[4],现要使s指向a[2],则s=(2分)-------------------------------------------------------------------------------8、变量分为全局和局部两种,变量离开了其所定义的函数,其存储单元就会被释放。
(2分)--------------------------------------------------------------------------------9、将p定义为数组,数组元素类型为字符指针,数组大小为10,可写成:(2分)--------------------------------------------------------------------------------10、设已定义P为指向某一结构体类型的指针,如引用其成员可以写成,也可以写成(*P).成员名(2分)--------------------------------------------------------------------------------11、有一函数如下,编一程序,输入一个x值,输出y值。
-1 x<0y= 0 x=0+1 x>0main(){ int x,y;scanf("%d",&x);if (x<0) y = -1;else if () y = 0;y = 1;printf("x=%d,y=%d\n",x,y);}(8分)--------------------------------------------------------------------------------12、一球从100米高度自由落下,每次落地后反弹跳回原高度的一半,再落下,求他在第10次落地时,共经过多少米?第10次反弹多高?main(){float sn=100.0,hn=sn/2;int n;for(n=;n<=10;n++){sn=;hn=;}printf("%f%f",sn,hn);}(12分)--------------------------------------------------------------------------------三、判断题(10道小题,共10分)1、C程序中的注释部分可有可无,通常可以省略。