C语言的题,急啊!

来源:百度知道 编辑:UC知道 时间:2024/06/30 09:18:05
4、 阅读程序,给出关键点的解题思路,写出结果并演算
 逗号运算符主要用于连接表达式。:
 a=a+1,b=3*4;
 用逗号运算符连接起来的表达式称为逗号表达式 表达式1,表达式2,… …,表达式n
 逗号表达式的运算过程是:先算表达式1,再算表达式2,依次算到表达式n。
 整个逗号表达式的值是最后一个表达式的值。逗号表达式的结合性从左至右.它的优先级是最低的。
 b=(a=4,3*4,a*2) 等价于 a=4; 3*4; b=a*2。

#include <stdio.h>
void main( )
{ int a=3,b=4,c=1,max,t;
if (a>b,a>c) max=a;
else max=0;
t=(a+3,b+1,++c); /* */
printf("max=%d,t=%d\n",max,t);}

5、 阅读程序,给出关键点的解题思路,写出结果并演算
 条件运算符是C语言的唯一的三目运算符,即它需要3个数据或表达式构成条件表达式。
 表达式1 ?表达式2 :表达式3 ;
 如果表达式1成立,则表达式2的值是整个表达式的值,否则表达式3的值是整个表达式的值。
#include <stdio.h>
void main( )
{ int a,b,c,max;
scanf(“%d,%d,%d”,&a,&b,&c);
max=a>(b>c?b:c)? a :(b>c?b:c); /* */
printf("a=%d,b=%d,c=%d,max=%d\n",a,b,c,max);
}

6、 编程输出下列图形,给出关键点的解

4.由if (a>b,a>c) max=a;
else max=0;
可以判断出max=0;t=(a+3,b+1,++c); /* 有逗号运算符可知道t=++c,得t=2*/
printf("max=%d,t=%d\n",max,t);/*max=0,t=2*/

5.max=a>(b>c?b:c)? a :(b>c?b:c); /* 为三目运算符。根据运输优先级先算括号内的。若b>c则取b值否则取C值*/

6.for (n=1;n<=9;n=n+1) /*循环九次,每次的循环条件都是前一次N加一 */
{ for (m=1;m<=n;m=m+1) /*内部嵌套循环,当外部循环一次,他就循环当前N的取值次 */

7main()
{
char c;
while((c=getchar())!='\n') /* 循环判断条件,输入的不是回车键是继续循环*/
{
if((c>='a' && c<='z') || (c>='A' && c<='Z')) /*判断输入的是不是26个字符 */
{ c=c+4;
if(c>'Z' && c<='Z'+4 || c>'z') c=c-26; /*判断条件,当C条件成立是执行c=c-26;进行翻译 */
}
printf("%c",c);
}
}