C语言程序设计教程 第4章
- 格式:ppt
- 大小:376.00 KB
- 文档页数:49


第4章 习题解答
一、选择题
1.在C语言中,函数返回值的类型最终取决于
A)函数定义时的函数首部所说明的函数类型 B)return语句中表达式值的类型
C)调用函数时主调函数所传递的实参类型 D)函数定义时形参的类型
解析:函数返回值类型最终取决于定义函数时所定义的函数类型。
答案:A
2.设函数Fun()的定义形式为:
void Fun(char ch, float x){}
则以下对函数Fun()的调用语句中,正确的是 。
A)Fun("abc", ; B)t = Fun('D', ;
C)Fun('65', ; D)Fun(32, 32);
解析:选项A中"abc"是字符串,与形参不匹配:由于Fun函数的返回值类型为void,所以选项B中进行了赋值操作是不正确的;在选项C中,'65'是不合法的字符形式,单引号中应该是单个字符。只有选项D才是合法的函数调用形式。
答案:D
3.有以下程序:
/* 文件路径名:ex4_1_3\ */
#include <> /* 标准输入/输出头文件 */
int f1(int x, int y) { return x > y x : y; }
int f2(int x, int y) { return x > y y : x; }
int main(void) /* 主函数main() */
{
int a = 4, b = 3, c = 5, d = 2, e, f, g; /* 定义变量 */
e = f2(f1(a, b), f1(c, d)); f = f1(f2(a, b), f2(c, d));/* 调用函数 */
g = a + b + c + d - e - f; /* 算术运算 */
printf("%d,%d,%d\n", e, f, g); /* 输出e,f,g */
第4章 选择结构程序设计
注:选择结构的考点,最重要的有两个,一个是逻辑表达式的值,另一个是分支界限。弄明白这两个知识点,就能够以不变应万变了。
一、单项选择题
1. 在C语言中,能代表逻辑值"真"的是 。
A) true B)大于0的数 C)非0整数 D)非0的数
2. 表示关系x<=y<=z的c语言表达式为 。
A) (x<=y)&&(y<=z) B) (x<=y)AND(y<=z) C) (x<=y<=z) D) (x<=y)&(y<=z)
3. 能正确表示逻辑关系:“a≥10或a≤0” 的C语言表达式是 。
A) a>=10 or a<=0 B) a>=0|a<=10 C) a>=10 &&a<=0 D) a>=10‖a<=0
4、判断char型变量c1是否为大写字母的表达式为 。
A)’A’<=c1<=’Z’ B)(c1>=’A’) & (c1<=’Z’) C)(’A’<=c1)AND (‘Z’>=c1) D)(c1>=’A’)&&
(c1<=’’Z’)
5. 有定义char c; c=getchar(); 判断字符变量c为大写字母的正确表达式为 。
A) ‘A’==‘A’&& c<=’Z C)A==A && c<=Z
6. 设有语句“int a=4;b=3,c=-2,d=2;”,则逻辑表达式“a>0&&b&&c<0&&d>0”的值是 。
A)1 B)0 C)-1 D)出错
7. 设a为整型变量,则不能正确表达数学关系10<a<15的C语言表达式是 。
A)10
C) a>10&&a<15 D)!(a<=10)&&!(a>=15)
c语言程序设计教程第二版课后答案
【篇一:c语言程序设计(第2版)-- 课后题答案】
p> 参考答案
第1章 进入c语言程序世界
二、
1.i love china!
printf(we are students.\n)
2.6
项目实训题参考答案
1.编写一个c程序,输出以下信息:
* * * * * * * * * * * * * * * * * * * *
i am a student!
* * * * * * * * * * * * * * * * * * * *
main()
{ printf(********************\n);
printf( i am a student!\n);
printf(********************\n);
}
2.已知立方体的长、宽、高分别是10cm、20cm、15cm,编写程序,求立方体体积。 解:
main()
{
int a,b,c,v;
a=10;
b=20;
c=15;
v=a*b*c;
printf(v=%d,v);
}
本程序运行结果为:
v=3000
第2章 编制c程序的基础知识
一 选择题
c b a b a c c
二 操作题
,2,-8,2 3.000000,2.500000,-8.000000
2. abc de
fgh
why is21+35equal 52
3.
3
4
2
1
4. aa
a
项目实训题
1.定义一个符号常量m为5和一个变量n值为2,把它们的乘积输出。
#define m 5
main()
{ int n,c;
n=2; c=m*n;
printf(%d\n,c);}
2.编程求下面算术表达式的值。
(1)x+a%3*(int)(x+y)%2/4,设x=2.5,a=7,y=4.7;
第四章
什么是算术运算什么是关系运算什么是逻辑运算
解:略。
C语言中如何表示“真”和“假”系统如何判断一个量的“真”和“假”
解:设有一个逻辑表达式,若其结果为“真”,则以1表示;若其结果为“假”,则以0表示。但是判断一个逻辑量的值时,以0代表“真”,以非0代表“假”。例如3&&5的值为“真”,系统给出3&&5的值为1。
写出下面各逻辑表达式的值。设a=3,b=4,c=5。
(1) a+b>c&&b==c
(2) a||b+c&&b-c
(3) !(a>b)&&!c||1
(4) !(x=a)&&(y=b)&&0
(5) !(a+b)+c-1&&b+c/2
解:
(1) 0
(2) 1
(3) 1
(4) 0
(5) 1
有3个整数a、b、c,由键盘输入,输出其中最大的数。
解:
方法一
#include <>
main()
{ int a,b,c;
printf("请输入3个整数:");
scanf("%d,%d,%d",&a,&b,&c);
if(a
if(b
else printf("max=%d\n",b);
else if(a
else printf("max=%d\n",a);
}
方法二:使用条件表达式,可以使程序更加简明、清晰。
程序如下:
#include <>
main()
{ int a,b,c,temp,max;
printf("请输入3个整数:");
scanf("%d,%d,%d",&a,&b,&c);
temp=(a>b)a:b; /* 将a和b中的大者存人temp中 */
max=(temp>c)temp:c; /* 将a和b中的大者与c比较,取最大者*/
printf("3个整数的最大数是%d\n”,max);
} 有一函数: