c语言程序设计教程答案
《C语言程序设计教程》(第三版)李凤霞 主编——第一章习题答案

第一章:程序设计基础知识一、单项选择题1、面向过程的程序设计语言是________。
A)机器语言 B)汇编语言 C)高级语言 D)第四代语言2、程序设计一般包含以下四个步骤,其中其中首先应该完成的是_________。
A)设计数据结构和算法B)建立数学模型C)编写程序 D)调试和运行程序3、以下常用算法中适合计算等差级数的算法是_________。
A)枚举法B)递推法 C)分治法 D)排序法4、以下不属于算法基本特征的是__________。
A)有穷性 B)有效性C)可靠性 D)有一个或多各输出5、以下描述中不正确的是___________。
A)程序就是软件,但软件不仅仅是程序。
B)程序是指令的集合,计算机语言是编写程序的工具。
C)计算机语言都是形式化的语言,它有一个语法规则和定义。
D)计算机语言只能编写程序而不能表示算法。
6、下面描述中,正确的是_____________。
A)结构化程序设计方法是面向过程程序设计的主流。
B)算法就是计算方法。
C)一个正确的程序就是指程序书写正确。
D)计算机语言就是编写程序的工具而不是表示算法的工具。
7、下面描述中,不正确的是______________。
A)递归法的关键是必须有一个递归终止的条件。
B)递归算法要求语言具有反复自我调用子程序的能力。
C)对于同一个问题,递推算法比递归算法的执行时间要长。
D)递推算法总可以转换为一个递归算法。
8、N-S图与传统流程图比较,主要优点是_________。
A)杜绝了程序的无条件转移。
B)具有顺序、选择和循环三种基本结构。
C)简单、只管。
D)有利于编写程序。
A)B)C)D)二、填空题1、在流程图符号中,判断框中应该填写的的是________。
(判断条件)2、结构化程序设计是__________应遵循的方法和原则。
(面向过程编程)3、结构化程序必须用__________程序设计语言来编写。
(具有结构化控制语句)4、可以被连续执行的一条条指令的集合称为计算机的________。
C语言程序设计教程答案

提示:printf("%s",x>60?"pass":"fail"); 3.17 输入一个年份 y,如果是闰年,输出“y is a leap
year”,否则输出“y is not a leap year.” 提示:printf("%d is
%s",y%4==0&&y%100!=0||y%400==0?"a leap year.":"not a leap year.");
2.6 变量的具有哪三种属性? 二、单项选择题
2.7 C 语言中,int 型数据在内存中的存储形式是 (D)。
A)ASCII 码 B)原码 C)反码 D)补码 2.8 下面四个选项中,均是不合法的用户标识符的选
项是(C)。 A)BA 、x_0、do B)float、1a0、_Y C)x-y、goto、123 D)_123、tmp、CHAR 2.9 下列选项中不正确的常数的选项是(D)。 A)0x12F B)-1.23E-2 C)12.0 D)0388 2.10 下面正确的字符常量是(B)。 A)"a" B)'\\' C)"\n" D)"\376"
sum=sum+c-'0'; 4.9 编程实现,求 的值。 提示:先计算 n!,再在计算阶乘的外面套上一层循环。 注意:20!是一个很大的值,float s=1;int i;例如:计
算 6!: for(i=1;i<=6;i++) s=s*i; 4.10 编程实现,找出 1000 之内的所有完数,并按下 面格式输出其因子:
应的百分制成绩段。 A: 90-100 B: 80-89 C: 70-79 D: 60-69 E: <60
C语言程序设计课后各章节习题答案

main()
{
float x,y,d;
printf("Input x,y:");
scanf("%f,%f",&x,&y);
d=sqrt((x-2)*(x-2)+(y-2)*(y-2));
if(d>1)printf(ntf("inside");
}
12有一函数
x-1 -5<x<0
y= x x=0
x+1 0<x<8
编写一程序,要求输入x的值,输出y的值。分别用不嵌套的if语句,嵌套的if语句,switch语句编写。
答使用不嵌套的if语句程序如下:
main()
{
int x,y;
printf("Input x:");
scanf("%d",&x);
答main()
{
int x,a,b,c;
printf("Input number:");
scanf("%d",&x);
a=x/100;/*变量a中记录x的百倍数字*/
b=x/10%10;/*变量b中记录x的十位数字*/
c=x%10;/*变量c中记录x的个位数字*/
if(a*a*a+b*b*b+c*c*c==x)
if(m==2)
d=28+f;
else
d=31-(m==4)+(m==6)+(m==9)+(m==11);
printf("%d-%d is %d days.\n",y,m,d);
C语言程序设计基础教程_习题答案

习题答案第1章1.1 填空题1.1.1 应用程序ONEFUNC.C中只有一个函数,这个函数的名称是__main 。
1.1.2 一个函数由__函数头__和__函数体__两部分组成。
1.1.3 在C语言中,输入操作是由库函数__scanf 完成的,输出操作是由库函数_printf_完成的。
1.1.4 通过文字编辑建立的源程序文件的扩展名是_.c__;编译后生成目标程序文件,扩展名是__.obj__;连接后生成可执行程序文件,扩展名是_.exe_;运行得到结果。
1.1.5 C语言程序的基本单位或者模块是__函数__。
1.1.6 C语言程序的语句结束符是_;___。
1.1.7 编写一个C程序,上机运行要经过的步骤:______________________________。
1.1.8 在一个C语言源程序中,注释部分两侧的分界符分别为_/*__和__*/__。
1.1.9 C语言中的标识符只能由三种字符组成,它们是字母、数字和下划线。
且第一个字符必须为字母或下划线。
1.1.10 C语言中的标识符可分为关键字、预定义标识符和用户标识符3类。
1.2 选择题1.2.1 一个C程序的执行是从( A )。
A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束1.2.2 以下叙述不正确的是(C)。
A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C) 在C程序中,注释说明只能位于一条语句的后面D) C程序的基本组成单位是函数1.2.3 C语言规定:在一个源程序中,main函数的位置( C )。
A)必须在程序的开头B)必须在系统调用的库函数的后面C)可以在程序的任意位置D)必须在程序的最后1.2.4 C编译程序是(A)。
A)将C源程序编译成目标程序的程序B)一组机器语言指令C) 将C源程序编译成应用软件D) C程序的机器语言版本1.2.5 要把高级语言编写的源程序转换为目标程序,需要使用(D)。
《C语言程序设计教程》课后题答案

《C语言程序设计教程》课后题答案第一章一选择题1.A2.B3.C4.D5.B6.C二.填空题1.程序2.算法3.main或主4.编译5.编译6. .obj7.库函数8.文本或ASCII码三、编程题1.参考代码如下:#include <stdio.h>void main(){printf("金\n木\n水\n火\n土\n");}2. 参考代码如下:#include <stdio.h>void main(){ int a,b;scanf("%d%d",&a,&b);printf("%d+%d=%d\n",a,b,a+b);printf("%d-%d=%d\n",a,b,a-b);printf("%d*%d=%d\n",a,b,a*b);printf("%d/%d=%d\n",a,b,a/b);}3. 参考代码如下:#include <stdio.h>void main(){float a,b,h,s;scanf("%f%f%f",&a,&b,&h);s=(a+b)*h/2;printf("s=%f\n",s);}第二章一选择题答案及分析:1.B,略2.A,-8在内存中是以补码(设两个字节)形式存储的3.A,C语言有32个关键字(参见课本第18页),且C语言标识符是区分大小写字母的4.A,略5.D,八进制数据中不能出现数码86.B,字符常量应该用单引号括起来,答案D超出了ASCII取值范围(ASCII的取值范围为[0,255])7.C,该字符串中转义字符有三个:\\、 \22和 \n,普通字符有三个:a、 ,和0,所以字符串长度为68.C,略9.D,C语言没有read函数和%D格式符号,且scanf函数第二个形参为地址列表10.B,根据题意,scanf函数输入数据时分隔符号不应该是逗号,应该是空格或回车符,且输入数据时分一行或几行均可11.A,scanf函数中不允许出现%8.4,%6.2和%8这样的格式符号12.C,既要保证5位小数位,还得保证整数位不变,这样数据12345.67800用10列不能完全显示出来,按C语言规定,12345.67800原样输出13.B,printf函数中格式符号%d,%o,%x表示对应的整型数据分别按十进制,八进制和十六进制输出14.C,按C语言规定,scanf函数形参双引号中,如果包含非格式符号,在输入数据时要求原样输入二.填空题答案及分析:1.int float double(略)2.65,89 ,printf函数中如果格式符号是%d,则输出相应字符的ASCII十进制数值3.a=98,b=765.000000,c=4321.000000,scanf函数中的格式符号%2d%3f%4f,表示将键盘输入的数据9876543210按2,3,4位分割,然后再分别赋给变量a,b,c4.scanf("%lf%lf%lf",&a,&b,&c); double类型的变量对应的格式符号是%lf三、编程题1. 参考代码如下:#include <stdio.h>void main(){int a=97;printf("%c\n",a);printf("%d\n",a);printf("%o\n",a);printf("%x\n",a);}程序分析:通过printf函数中不同的格式符号,即%c(字符),%d(十进制),%o(八进制),%x (十六进制)输出相应的值。
《C语言程序设计教程》第三版课后习题参考答案

《C语言程序设计教程》第三版课后习题参考答案C语言程序设计教程第三版课后习题参考答案第一章:C语言概述1.1 C语言的特点答案:C语言是一种通用的、面向过程的程序设计语言,具有高效、简洁、灵活等特点。
它提供了丰富的程序设计元素和功能,适用于各种不同的应用领域。
1.2 C语言程序的基本结构答案:C语言程序由预处理指令、函数声明、函数定义、变量声明和语句组成。
其中,预处理指令用来引入头文件或定义宏,函数声明用来声明函数的名称和参数,函数定义用来实现函数的功能,变量声明用来声明变量的类型和名称,语句用来表达具体的计算过程。
1.3 C语言的数据类型答案:C语言提供了多种数据类型,包括基本类型(整型、浮点型、字符型等)和派生类型(数组、指针、结构体等)。
每种数据类型在内存中占据一定的存储空间,并具有特定的取值范围和操作规则。
1.4 C语言的运算符和表达式答案:C语言支持各种运算符和表达式,例如算术运算符(+、-、*、/等)、关系运算符(>、<、==等)、逻辑运算符(&&、||、!等)等。
通过运算符和表达式可以进行各种数值计算和逻辑判断。
第二章:基本数据类型与运算2.1 整型数据类型答案:C语言提供了不同长度的整型数据类型,包括有符号整型(int、long等)和无符号整型(unsigned int、unsigned long等)。
整型数据类型可以表示整数值,并具有不同的取值范围。
2.2 浮点型数据类型答案:C语言提供了浮点型数据类型(float、double等),用来表示带小数部分的实数值。
浮点型数据可以表示较大或较小的数值,并具有一定的精度。
2.3 字符型数据类型答案:C语言提供了字符型数据类型(char),用来表示单个字符。
字符型数据可以用于表示各种字符(包括字母、数字、符号等)。
2.4 布尔型数据类型答案:C语言不直接支持布尔型数据类型,但可以使用整型数据类型来表示布尔值(0表示假、非零表示真)。
《C语言程序设计教程》(第三版)课后习题参考答案(精选5篇)[修改版]
![《C语言程序设计教程》(第三版)课后习题参考答案(精选5篇)[修改版]](https://img.taocdn.com/s3/m/893b22c5a32d7375a517800b.png)
第一篇:《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语言程序设计教程》课后题答案

《C语言程序设计教程》课后题答案第一章一选择题1.A2.B3.C4.D5.B6.C二.填空题1.程序2.算法3.main或主4.编译5.编译6. .obj7.库函数8.文本或ASCII码第二章一选择题1.B2.A3.A4.A5.D6.B7.C8.C9.D 10.B 11.A 12.C 13.B 14.C二.填空题1.int float double2.65,893.a=98,b=765.000000,c=4321.0000004.scanf("%lf%lf%lf",&a,&b,&c);第三章一选择题1.A2.C3.C4.D5.C6.B7.C8.B9.A 10.A 11.A 12.B 13.D 14.A 15.B 16.C 17.C 18.C 19.C 20.C 21.C 22.B 23.C 24.C 25.A 26.B 27.A 28.A29.C 30.A 31.C 32.C二.填空题1.非零零2.passwarm3.5252524.fabs(x)>55.x%y==06.if((1<=x&&x<=10||200<=x&&x<=210)&&x%2==1)printf("%d",x);7.k=18.Right!1Right!19.$$$ a=010.a=2,b=111.0<a<b12. t;"%f%f"a=b;13. "%c",&ch'A'<=ch&&ch<='Z'ch14.死循环15.34516. 7 3 -117.x>=0x<amin18.scanf("%f",&x);sum+=x;19.820.1121. 2.40000022.892123.i<=9j%3!=024. b=i+125. 8 5 226. d=1.0k++k<=n第四章一选择题1.A2.C3.D4.D5.B6.B7.B8.D9.B 10.A 11.C 12.D 13.C 14.A 15.D16.C 17.A 18.C 19.A 20.D 21.D 22.A二.填空题1. a=1234 b=52. Hello3.j<3; b[j][i]=a[i][j]; i<34. a[age]++i=18;i<=255.c[i]=n%base; b[d]6.break; i>=87. -850,2,08.a[i]>b[j] i<3 j<59.a[i][j] j=0;j<4;j++ j==3 printf("\n");10.fi11.GDABC12. s[i++]13.ahAMa14.LBLMNP15. '\0' i++16.b[j]=a[j][0]; b[j]=a[j][k]17.a[k++]=a[j]第五章一.选择题1-5 DDBCB 6-10 BACAA 11-15DBBCD二.填空题1. How does she2. *(p+i*4+j)printf("\n")3. *(++p)4. num+1q<num+10*q>max*q<min5.0或'\0'n++b[n]= '\0'第六章一.选择题1-5 CBCDA 6-10 AADBB 11-15BBDBD 16-20 AABAA 二.填空题1. 四auto, register, static, extern2. 5 63. 8,174. 126241205.return 1return n+sum(n-1)第七章一.选择题1-5BDDCC 6-10 BBDCB 11-15BBDCB 16-18 DBB 二.填空题1.3042. ARRAY a,b,c;3. 234. ac5.p->name&p->post_codestruct communication *p->post_code第八章一.单选题1-5 BABAD 6-10 DDDCD 11 D 二.填空题1. 二进制文本2. pf=fopen("D:\\zk04\\data\\txfile.dat","w")3. 二进制文本文件结束符非0值第九章1.(1)30 (2)3 (3)9 (4)292.(1)1 (2)1 (3)1 (4)7 (5)15 (6)6第十一章一.单选题1-5 CBBDD 6 D二.填空题1.struct link *next;2.①struct student *②tail->next③head3.Answer:34.①break②(struct data *)malloc(struct data)③while(1)④p!=NULL⑤p=p->link5.①x②p③s。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本文由blp52009贡献doc文档可能在WAP端浏览体验不佳。
建议您优先选择TXT,或下载源文件到本机查看。
【习题 1】 一、简答题(在课本中寻找答案,略) 1.1 C 程序的基本结构包括哪些内容? 1.2 如何定义标识符? 1.3 输入格式、输出格式的组成包括哪些内容? 1.4 C 语言函数分为哪两类? 1.5 计算表达式的值应该考虑哪些方面? 1.6 上机调试程序的步骤如何? 二、判断并改错 1.7 C 程序执行的入口是 main()函数,所以 main 函 数必须放在程序的开头。
错误:main 函数可以放在程序的任何位置。
并不限定 在程序的开头。
1.8 定义一个函数包括数据说明部分和执行语句部 分,两者可以交叉出现。
错误:不可以交叉出现,数据说明部分在执行语句部 分的前面。
1.9 编辑与编译不是一回事。
错误:不是一回事。
编辑完成源程序的输入和修改; 编译是对源程序进行语法检查,如果无语法错误,则 生成目标程序。
1.10 scanf("%d,%d",&x,&y);的正确输入格式:3,4<回车>。
正确 1.11 注释内容太多会影响程序的执行效率。
错误:不会影响程序的执行效率。
因为在编译时,编 译系统将注释内容删除或用空格代替,所以注释内容 不会编译到目标程序中。
1.12 所有的数学公式可以直接出现在源程序中。
错误:数学公式需要转换成 C 语言能够接受的公式才 能出现在源程序中。
三、编程题 1.13 在屏幕上输出自己名字的拼音。
提示:中文名字叫“张三”,对应的拼音为“Zhang San”, 输出用 printf()函数。
1.14 输入圆的半径,求圆的周长,并将结果保留两 位小数输出到屏幕上。
提示:定义圆的半径 r,圆的周长:2*3.14*r,输出结果 保留 2 位小数可以用%.2f 1.15 输入两个整数,输出其中最大者。
提示:模仿例 1.3 1.16 输入三个整数,输出其中最小者。
提示: min(min(a,b),c);【习题 2】 一、简答题(在课本中寻找答案,略) 2.1 常量与变量的区别? 2.2 C 语言中的标识符的定义规则? 2.3 变量为什么要“先定义,后使用”? 2.4 字符常量'a'与字符串常量"a"有何区别? 2.5 大小写字母转换的规则是什么? 2.6 变量的具有哪三种属性? 二、单项选择题 2.7 C 语言中,int 型数据在内存中的存储形式是 (D)。
A)ASCII 码 B)原码 C)反码 D)补码 2.8 下面四个选项中,均是不合法的用户标识符的选 项是(C)。
A)BA 、x_0、do B)float、1a0、_Y C)x-y、goto、123 D)_123、tmp、CHAR 2.9 下列选项中不正确的常数的选项是(D)。
A)0x12F A)"a" B)-1.23E-2 B)'\\' C)12.0 D)0388 2.10 下面正确的字符常量是(B)。
C)"\n" D)"\376"2.11 下面正确的字符串常量是(C)。
A)'a' A)67 A)100 B)'376' B)67.0 B)0x100 C)"\\n" C)不确定 C)0X64 D)376 D)67L D)64 2.12 表达式'A'+4*25.0-'b'的正确结果是(B)。
2.13 执行 printf("%x",100);后的输出结果是(C)。
2.14 int 型的-1 在内存中的存储形式是(A)。
A)1111 1111 1111 1111 B)0000 0000 0000 0001 C)1111 1111 1111 1110 D)1000 0000 0000 0001 2.15 存储字符串"\\\'abc\376"需要的字节数是 (D) 。
A)11 B)13 C)6 D)7 【习题 3】 一、计算题 3.1 2.8+7%3*11%2/4 3.2 5/2+5.0/2+7%6 3.3 a=12,a*=2+3 (答案:2.8) (答案:5.5) (答案:a=60) (答案:0)3.4 a=3,b=4,c=5,a+b>c&&b= =c 3.5 3>5?3:5<8?25:40(答案:25)3.6 设 a=1,b=2,c=3,d=4,m=n=1,有表达式 (m=a>b)&&(n=c>d),计算表达式后 m,n 的值?(答案:m=0,n=1) 3.7 设 int b=7;float a=2.5,c=4.7;求下面表达式的值 。
a+(int)(b/2*(int)(a+c)/2)%4 二、单项选择题 3.8 若有代数式 , 则不正确的 C 语言表达式是 (C) 。
A)x/b/c*y*8 C)8*x*y/b*c B)8*x*y/b/c D)x*y/c/b*8 (答案:4.5)3.9 有如下类型说明: int k,a,b; unsigned long w=8; double x=2.9 则以下不符合 C 语言语法的表达式是(A)。
A)x%(-3) C)k=(a=6,b=4,a-b) B)w*=-2 D)a*=a+=a-=(b=4)*(a=3)3.10 有如下类型说明: float n; int m; 则以下能实现将 n 中的数值保留小数点后两位,第 三位四舍五入的表达式是(B)。
A)n=(n*100+0.5)/100.0 C) n=n*100+0.5/100.0 B)m=n*100+0.5,n=m/100.0 D) n=(n/100+0.5)*100.03.11 设 k=7,x=12;则下列表达式值为 3 的是(D)。
A)x%=(k%=5) C)x%=k-k%5 B)x%=(k-k%5) D)(x%=k)-(k%=5)3.12 已知 m=48,ch='a',n=0;则表达式 (m>=n&&ch<'b'&&!n)的值是(B)。
A)0 A) a%2==1 B)1 C)真 D)非 0 C)! (a%2) D) 3.13 下面哪个式子在 b 为奇数时结果为假(C)。
B) !(a%2==0) a%2 3.13 执行 printf("%f",(x=3,y=5,x>y?1:1.5));后的输 出结果是(D)。
A)语法错误 B)1 A)0<=x<=100 C)0≤x≤100 C)1.5 D)1.500000 3.14 能表示条件 0≤x≤100 的表达式是(D)。
B)x>=0,x<=100 D)x>=0&&x<=100 (B)。
A)ch>="0"&&ch<="9" C)'0'≤ch≤'9' B)ch>='0'&&ch<='9' D)ch>='0'||ch<='9'3.15 判断 char 型变量 ch 为数字的正确表达式是三、编程题(应用条件运算) 3.16 输入一个整型成绩 x,3.17 如果大于等于 60 分, 3.18 输出“pass”,3.19 否则输出“fail”。
提示:printf("%s",x>60?"pass":"fail"); 3.17 输入一个年份 y,如果是闰年,输出“y is a leap year”,否则输出“y is not a leap year.” 提示:printf("%d is %s",y%4==0&&y%100!=0||y%400==0?"a leap year.":"not a leap year."); 3.18 输入三条边 a,b,c,如果它们能构成一个三角 形,输出“Yes”,否则输出“No”。
提示: printf("%s",a+b>c&&a+c>b&&b+c>a?"Yes":"No"); 3.19 输入三个数 x,y,z,按从小到大的输出结果。
提示:分别用 max0,min0 代表最大、最小值,mid0 表示中间值。
max0=(x>y?x:y)>z?(x>y?x:y):z;max0=(x<y?x:y)<z?( x<y?x:y):z; mid0=x+y+z-max0-min0; 3.20 输入一个平面上的点坐标,判断它是否落在圆 心(0,0),半径为 1 的圆内,如果在圆内,输出“Yes”, 否则输出“No”。
提示:分别用 x,y 代表平面上一个点。
printf("%s",x*x+y*y<=0?"Yes":"No");【习题 4】 以下的编程题目要求首先画出程序的传统流程图或 N-S 流程图,再编写程序代码。
上机实验时再输入到 计算机中进行调试,并将调试过程中出现的问题和测 试情况记录下来。
(流程图请读者自己参考课本自己画,略) 4.1 编程实现,输入一个整数,判断它是否为偶数, 并显示相应的信息。
提示:x 代表输入的整数,if(x%2==0) printf("\neven");else printf("\nodd"); 4.2 编程实现,输入一个平面上的点,判断它是否落 在单位圆上,并显示相应的信息。
提示:x,y 代表平面坐标,if(x*x+y*y==1) printf("\nYes");else printf("\nNo"); 4.3 编程实现,输入一个成绩等级(A-E),显示相 应的百分制成绩段。
A: 90-100 B: 80-89 C: 70-79 D: 60-69 E: <60 提示:char grade;if(grade=='A') printf("\n90-100"); else if(grade=='B') printf("\n80-89"); .... 4.4 写出下面程序的运行结果: #include main() { int a=-1,b=1,c=5; switch(a>0){ case 1:switch(b-2<0){ case 1:printf("&");break; case 2:printf("*");break; } case 0:switch(c= =5){ case 0:printf("!");break; case 1:printf("#");break; default:printf("%%"); } default:printf("@"); } } 运行结果:&#4.5 将以下语句改写成 switch 语句。
if((t>0)&&(t<=10)) if((t>=3)&&(t<=6)) x=2; else if((t>1)||(t>8)) x=3; else x=1; else x=0; 提示:int t; if(t<=0||t>10) c=0; else c=t; switch(t) { case 0: x=0;break; case 1: case 2: x=3; case 3:case 4:case 5: case 6: x=2; case 7:case 8: case 9: x=3; case 10: x=2; } 4.7 编程实现一个具有简单四则运算功能的计算器。