Task 2 填空题

 第一题

#include <stdio.h>
 int a=4,b=5;
 int max(int a,int b)
 {
 int c;
 c=a>b?a:b;
 return c;
 }
 void main()
 {
 int a=6;
 printf("%d\n",max(a,b));
 }

【输出结果】6

【分析】

int max(int a, int b)
{
    int c;
    c = a > b ? a : b;
    return c;
}

此部分使用条件运算符?,比较a和b的值大小,并将较大值赋给c后返回c的值

 void main()
 {
 int a=6;
 printf("%d\n",max(a,b));
 }

在此部分中重新定义了一个值为6的变量a,并用max函数比较此时a和b的大小,用printf函数输出较大值


 第三题

#include <stdio.h>
 int f(int b);
 main()
 {
 int a=3,i;
 for(i=0;i<3;i++)
 printf("%d,",f(a++));
 }
 int f(int b)
 {
 int a=0;
 static int c=3;
 a++;
 b++;
 c++;
 return (a+b+c);
 }

【输出】9,11,13

【分析】使用for循环函数迭代计算,由于static的修饰,变量c在函数调用完之后中不会被重置,而是会保留数据参与下一次的调用,从而实现在函数之间传递数据


 第四题

#include <stdio.h>
 void main()  
{
 int a=10,b=4,c=5,x,y;
 x=++a-c+b++;
 y=18+(b=4)*3;
 printf("x=%d,y=%d\n",x,y);
 } 

【输出】x = 10;y = 30

【分析】运算符计算题,++a先自增,然后使用自增后的值计算,b++使用自增前的值计算


 第五题

已知: int a=2, b=7; 计算下列表达式的值: ___________________ a=4,b=1,a>b?++a:++b;

【输出】a = 5


 第六题

已知:int  k= 4,a=3,b=2,c=1;则表达式“k<a ? k : c<b ?c :a”的值为 ___________________

【输出】c = 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值