判断题
1.do-while循环的while后的分号可以省略。(否).
2.do-while循环至少要执行一次循环语句。(对)
3,在switch语句中,每一个的case常量表达式的值可以相同。(否)
单选题
1,执行下列程序段的输出结果是(10)。
int num = 1234, s = 0;
while( num != 0){
s += num % 10;
num /= 10;
}
printf("%d", s);
2,在嵌套使用if语句时,C语言规定else总是(和之前与其最近的且不带else的if配对)。
3,C语言中while和do-while循环的主要区别是(do-while的循环体至少无条件执行一次)。
4,执行以下循环语句时,下列说法正确的是(循环体将执行一次)。
x = -1;
do {
x = x * x;
} while (x == 0);
注:只有while内条件为真才进入循环
5,假设变量s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0),则与以下程序段功能等价的赋值语句是(s=a+c)。
s = a;
for(b = 1; b <= c; b++)
s = s + 1;
6, 以下程序段的输出结果是(6)。
int main(void)
{
int num = 0, s = 0;
while(num <= 2){
num ++;
s += num;
}
printf("%d\n",s);
return 0;
}
7,在C语言程序中,若对函数类型未加显式说明,则函数的隐含类型为(int)。
程序填空题与填空题
1.输出偶数,输入一个正整数n,再输入n个整数,输出其中的偶数。要求相邻偶数中间用一个空格分开,行末不得有多余空格。请填空。
char ch;
int first=1,k,n,x;
scanf("%d",&n);
for(k=1;k<=n;k++);{
scanf("%d",&x);
if(x%2==0){
if(first==1){
printf("%d",x);
first=0;
}
else{
printf(" %d",x);
}
}
}
2,找出3个整数中最大的数。输入3个整数,输出其中最大的数。请填空。
int a,b,c,max;
scanf("%d %d %d",&a,&b,&c);
if(a>b){
if(a>c)
max=a;
else
max=c;
}
else{
if(b>c)
max=b;
else
max=c;
}
printf("%d",max);
3,执行以下程序段后,变量i的值是(13),s的值是(22)
int i,s=0;
for(i=1;i<=10;i=i+3)
s=s+i;
4、下列程序段输出的结果是(14#4#)。
for(int i =14;i>1;i/=3)
printf("%d#",i);
5.求序列和 。计算并计算s=1+12+123+1234+12345。请填空
int i,s=0,t=0;
for(i=1;i<=5;i++){
t=______+i;
s=s+t;
}
printf("s=%d\n",s);
答:t*10
6,输入82pay! <Enter>,以下程序段的输出结果为_04Pfd!__。
char ch;
int i;
for(i=1;i<=6;i++){
ch=getchar();
if(ch>='a'&&ch<='z') ch=(ch+5-'a')%26+'a';
else if(ch>='0'&&ch<='9') ch=(ch+2-'0')%10+'0';
putchar(ch);
}
7,输出等腰三角形。输入一个m,打印一个高度为n且有“*”组成的等腰三角形。请填空,
int i,j,n;
scanf("%d",&n);
for(i=1;i<=n;i++){
for(________){
printf(" ");
}
for(____){
printf("*");
}
______;
}
答: j=n-i;j>0;j--
j=1;j<=2*i-1;j++
printf("\n")