第一章
1.以下叙述中错误的是( )B.C语言编写的每个函数都可以进行独立编译并执行
2. 计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是( )
A.C语言程序仅可以编译执行
3. C语言规定:在一个源程序中,main的位置( ) A.可以任意
4. 一个C语言程序是由( ) C.函数组成
5. 以下关于结构化程序设计的叙述中正确的是( ) B.c语言中,程序的模块化是利用函数实现的
6. 以下叙述正确的是( ) C.c语言本身没有输入和输出语句
7. 以下叙述中错误的是( ) A.C语言编写的每个函数都可以进行独立编译并执行
8. 以下叙述正确的是( )B.c程序中注释部分可以单独占一行
9. 以下叙述正确的是( )
D.c语言函数可以嵌套调用,如fun(fun(x))
10. 一个C程序的执行是从( )
D.本程序main函数开始,到main函数结束
11. 以下叙述不正确的是( )
A.在c程序中,注释说明只能位于一条语句后面
第二章
单项选择
1以下选项中非法的字符常量是( )
(B ‘/019’)
2设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为( )
(C double)
3判断字符型变量c1是否为数字字符的正确表达式为( )
(A (C1>=‘0’)&&(C1<=‘9’))
4若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为 ( )
(B 0和20)
5下面四个选项中,均是不合法的用户标识符的选项是( )。
(B b-a goto int)
6判断字符型变量c1是否为小写字母的正确表达式为( )。
(B (c1>=’a’)&&(c1<=’z’))
7表达式18/4*sqrt(4.0)/8值的数据类型为( )。
(B double)
8下面四个选项中,均是合法的用户标识符的选项是( )。
(A -123 temp INT)
9若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是( )
c语言库函数(D 1)
10假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( )。
(B 8)
11以下选项中关于C语言常量的叙述错误的是:( )
(D 经常被使用的变量可定义为常量)
12若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为( )。
(B 32)
13下面正确的字符常量是( )
(B ‘w’)
14在C语言中,要求运算数必须是整型的运算符是( )
(A %)
15以下关于C语言数据类型使用的叙述中错误的是( )
(B 若只处理’真’和’假’两种逻辑值,应使用逻辑类型)
16以下选项中,能表示逻辑值"假"的是( )
(B 0)
17C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( )
(D 必须为字母或下划线)
18在C语言中,char型数据在内存中的存储形式是( )。
(C ASCLL码)
19下列表达式中,不满足"当x的值为偶数时值为真,为奇数时值为假"的要求的是( )
(C !(x%==0))
20设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为( )。
(C 2)
21若有数学式,则不正确的C语言表达式是( )
(A 3*a*e/b*c)
第三章
程序改错
1/*下列给定程序中,函数fun的功能是:计算S=f(-n)+f(-n+1)+…+f(0)+f(1)+f(2)+…f(n)的值。
例如,当n为5时,函数值应为10.407143。f(x)函数定义如下:
f(x)=
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序: */
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
/**********ERROR**********/
f(double x)
{
if(x==0.0||x==2.0)
return 0.0;
else if(x<0.0)
return(x-1)/(x-2);
else
return(x+1)/(x-2);
}
double fun(int n)
{
int i; double s=0.0,y;
for(i=-n; i<=n;i++)
{ y=f(1.0*i); s+=y;}
/**********ERROR**********/
return s
}
void main()
{
printf("%lf\n", fun(5));
}
参考答案double f(double x) return s;
2./*下列给定程序中,函数fun的功能是:求三个数的最小公倍数。例如,给变量x1、x2、x3分别输入15、11、2,则输出结果应当是330。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序: */
#include <stdio.h>
int fun(int x,int y,int z)
{ int j,t,n,m;
/**********ERROR**********/
j=1;
t=m=n=1;
/**********ERROR**********/
while (t!=0 && m!=0 && n!=0)
{
j=j+1;
t=j%x;
m=j%y;
n=j%z;
}
return j;
}
void main()
{
int x1,x2,x3,j;
printf("Input x1 x2 x3: ");
scanf("%d%d%d",&x1,&x2,&x3);
printf("x1=%d,x2=%d,x3=%d \n",x1,x2,x3);
j=fun(x1,x2,x3);
printf("The minimal common multiple is: %d\n",j);
}
参考答案 j=0; while (t!=0 || m!=0 || n!=0)
3/*下列程序中函数fun的功能是:计算正整数num各位上的数字之积。例如,若输入252,则输出应该是20。若输入202,则输出应该是0。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:*/
#include <stdio.h>
#include <conio.h>
long fun(long num)
{
/**********ERROR**********/
long k;
do
{
k *=num%10;
/**********ERROR**********/
num \=10;
}while(num);
return(k);
}
void main()
{
int n;
printf("\Please enter a number: ");
scanf("%ld",&n);
printf("\n%ld\n",fun(n));
}
参考答案 long k=1; num/=10;
4/*下列给定程序中,函数fun()的功能是:根据整型形参m的值,计算如下公式的值:
请改正函数fun()中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序: */
#include <stdlib.h>
#include <stdio.h>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论