1.运行下面程序后,输出是______.
#include <stdio.h>
void main( )
{ int k=-3;
if (k<=0) printf("****\n");
else printf("####\n")
}
A) ####
B) ****
C) ####****
D) 有语法错误不能通过编译
2.执行下面程序的输出结果是________.
#include <stdio.h>
void main( )
{ int a=5,b=0,c=0;
if (a=a+b) printf("****\n");
else printf("####\n");
}
A) 有语法错误不能编译
B) 能通过编译,但不能通过连接
C) 输出 ****
D) 输出 ####
3.为了避免嵌套的if-else语句的二义性,C语言规定else总是与______组成配对关系.
A) 缩排位置相同的if
B) 在其之前未配对的if
C) 在其之前尚未配对的最近的if
D) 同一行上的if
4.对下面程序段描述正确的是_______.
int x=0,s=0;
while (!x!=0) s+=++x;
printf("%d",s);
A) 运行程序段后输出0
B) 运行程序段后输出1
C) 程序段中的控制表达式是非法的
D) 程序段循环无数次
提示:注意运算符优先级
5.今天的目的为写出阶乘如何表示,阶乘求和作为思考
答案:
- D
- C
- D
- B
5.
求阶乘:
#include<stdio.h>
int main(){
int x;
long long int y=1;
scanf("%d",&x);
for(int i=1;i<x+1;i++){
y=y*i;
}
printf("%d\n",y);
return 0;
}
求阶乘和:
#include<stdio.h>
int main(){
int x;
long long int y=1;
long long int Sn=0;
scanf("%d",&x);
for(int i=1;i<x+1;i++){
y=y*i;
Sn=Sn+y;
}
// printf("%d\n",y);//这里y为阶乘
printf("%lld",Sn);
return 0;
}