资源描述
填空题
1. 下列程序计算1!+2!+3!+……+10!,请填空。
#include <stdio.h>
int main( )
{
float s = 0, t = 1;
int n;
for (n=1; __________ ; n++)
{
__________ ;
__________ ;
}
printf(“1!+2!+3!+……+10!=%f”, s);
return 0;
}
2. 下面程序的功能是在一个正整数的各数字中找出最小者。如6213中1最小,请填空。
#include<stdio.h>
int main()
{
int n,min,t;
min=9;
scanf("%d",&n) ;
do{ t=__________ ;
if(__________) min=t ;
n=__________;
} while( __________ ) ;
printf(" min=%d\n ",min) ;
return 0;
}
3. 下面程序的功能是打印100以内个位数为6且能被3整除的所有数。
#include <stdio.h>
int main ( )
{ int i , j ;
for ( i = 0 ; __________ ; i + + )
{ j = i *10 + 6 ;
if (__________ ) __________ ;
printf ( “ %d “ , j ) ;
}
}
选择题
1. 在C语言程序中,以下正确的描述是__________
(A) 函数的定义可以嵌套,但函数的调用不可以嵌套
(B) 函数的定义不可以嵌套,但函数的调用可以嵌套
(C) 函数的定义和函数的调用均不可以嵌套
(D) 函数的定义和函数的调用均可以嵌套
2. 设整型变量x和y的值均为7,则表达式“x/(y-4)”的值是__________
A. 3
B. -3
C. 2
D. 1
3. 以下程序中的变量已正确定义
for(i=0;i<4;i++,i++)
for(k=1;k<3;k++);printf("*");
printf("*");执行的次数是__________
(A) 8
(B) 2
(C) 12
(D) 1
4. 已知:char a=’a’;float b=2.3;double c=41;int d;则执行语句d=a+b+c;后变量d的数据类型为__________
(A) int (B) char (C) float (D) double
5. 若变量a的数据类型为double,执行下面两条语句后:
a=3.5;
printf("%d",a);
输出的数据或判断正确的是:__________
A. 3
B. 4
C. 3.500000
D. 输出格式错误
6. 有输入语句:int a,b,c; scanf("a=%d,b=%d,c=%d", &a, &b, &c); 为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应当是__________ (注:#表示空格)
(A) 132<回车>
(B) 1,3,2<回车>
(C) a=1#b=3#c=2<回车>
(D) a=1,b=3,c=2<回车>
7. 以下选项中,能用作用户标示符的是__________
(A) viod
(B) 8_8
(C) _0_
(D) unsigned
8. 设有定义: int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是: __________
(A) if(a>b)c=a,a=b,b=c;
(B) if(a>b){c=a,a=b,b=c;}
(C) if(a>b)c=a;a=b;b=c;
(D) if(a>b){c=a;a=b;b=c;}
9. 以下定义语句,编译时会出现编译错误的是
(A)char a=“a”;
(B) char a=’\0’;
(C) char a=’a’;
(D) char a=‘\x2d’;
10. 设字符型变量ch中存放字符'A',则执行'ch+++5'后,ch中的字符是__________
A. A
B. B
C. F
D. G
编程题
1. 程序改错及调试。不得增加行和删除行,不得改变程序功能。
【问题描述】改正下列程序中的错误。输入实数x,计算并输出下列分段函数f(x)的值,输出时保留1位小数。
1/x (x=10)
y=f(x)={
x (x≠10)
#include <stdio.h>
int main(void)
{
double x,
scanf("%f", x);
if(x = 10){
y = 1 / x
}
else (x != 10){
y = x;
}
printf("f(%.2f) = %.lf\n" x y);
return 0;
}
【输入形式】x的值
【输出形式】函数表达式及结果
【样例输入】10.0
【样例输出】f(10.0)=0.1
【样例说明】
【评分标准】
2. 程序调试及改错:改正程序中的错误,不要改动主函数,不得增行或删行。
【问题描述】 本程序计算:y=1-1/22-1/32-1/42-…-1/m2, 改正程序中的错误,不要改动主函数,不得增行或删行。
#include<stdio.h>
int main()
{ int m, i
double y=1.0;
scanf(“%d”, m);
for(i=2;i<=m; i++) y-=1/i*i;
printf( “the result is: %f\n”, y );
return 0;
}
【输入形式】 输入数据项数,如5
【输出形式】 输出说明及结果
【样例输入】5
【样例输出】the result is: 0.536389
【样例说明】
【评分标准】
3. 统计字符个数
【问题描述】输入一行字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数
【输入形式】输入以回车结束的字符串
【输出形式】
【样例输入】Reold 123?
【样例输出】letter=5, blank=1, digit=3, other=1
【样例说明】
【评分标准】
4. 打印数字字符图案
【问题描述】编写程序实现:输入任意整数给n后,输出n行由数字构成的三角形字符阵列图形。例如,输入整数7时(注意:n不得大于10),程序运行结果如下:
0 1 2 3 4 5 6
7 8 9 0 1 2
3 4 5 6 7
8 9 0 1
2 3 4
5 6
7
【输入形式】输入正整数n(小于10)
【输出形式】输出三角形阵列
【样例输入】7
【样例输出】
0 1 2 3 4 5 6
7 8 9 0 1 2
3 4 5 6 7
8 9 0 1
2 3 4
5 6
7
【样例说明】输出7行数字,每行中数字的个数呈现递减的形式
【评分标准】
5. 谁做的好事?
【问题描述】本班4位同学中的一位做了好事不留名,表扬信来了后,老师问这4位同学谁做的好事。4人的回答是:
A说:不是我。
B说:是C。
C说:是D。
D说:他胡说。
已知3个人说的是真话,一个人说的是假话。编程算出做好事者到底是谁?
【输入形式】无输入
【输出形式】字符
【样例输入】
【样例输出】输出做好事的人代表的字符
【样例说明】
【评分标准】
展开阅读全文