《C语言程序设计》核心试题(5)
(2011-09-13 23:04:59)
标签:
c语言 |
分类: 教学文件 |
一、选择题
(1)以下叙述中正确的是
A)调用printf函数时,必须要有输出项
B)使用putchar函数时,必须在之前包含头文件stdio.h
C)在C语言中,整数可以以十二进制、八进制或十六进制的形式输出
D)调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码
(2)有以下程序
A)程序输出大写字母M
C)格式说明符不足,编译出错
(3)有以下程序
A)变量c1被赋予字符a,c2被赋予回车符
B)程序将等待用户输入第2个字符
C)变量c1被赋予字符a,c2中仍是原有字符2
D)变量c1被赋予字符a,c2中将无确定值
(4)数字字符0的ASCII值为48,若有以下程序
main()
{
}
B)50,2
C)2,2
D)2,50
(5)
有以下程序
main()
{ char a='a',b;
}
A) b,b
(6)
有以下程序
main()
{ char a,b,c,d;
}
A) 6,5,A,B
(7)
有以下程序
main( )
{
}
A) another
number
(8)
已定义ch为字符型变量,以下赋值语句中错误的是
A)
ch="\";
(9)
已定义c为字符型变量,则下列语句中正确的是
A)
c=‘97’;
(10)有以下程序段
int m=0,n=0;
A)
10,A,10
(11)
已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量‘\101’是
A)
(12)
若变量a是int类型,并执行了语句:a=‘A'+1.6;,则正确的叙述是
A) a的值是字符C
C)
不允许字符型和浮点型相加
(13)
以下选项中合法的字符常量是
A)“B”
(14)
以下程序的输出结果是
main()
{ char
printf(“%c”,c-25);
}
(15)
以下选项中,非法的字符常量是
A)
‘\t’
(16)
若变量c为char类型,能正确判断出c为小写字母的表达式是
A) ‘a’<=c<=
‘z’
C) (‘a’<=c)and
(‘z’>=c)
(17)
有如下程序段
int
char
x=(a&&b)&&(c<’B’);
A)
ture
(18)
下列程序执行后的输出结果是
A)
G
(19)
A)
编译不通过,无输出
C)
acegi
(20)
A)
ABCdef
(21)
A)
2,0
(22)
A)
'\\'
(23)
在C语言中,合法的字符常量是
A)
‘\084'
(24)
若有以下定义和语句
A)2,M
C)2,E
(25)
已知字母A的ASCII码为十进制的65,下面程序的输出是
A)
67,D
main()
{ char ch1,ch2;
ch1='A'+'5'-'3';
ch2='A'+'6'-'3';
printf("%d,%c\n",ch1,ch2);}
(26)
设ch是char型变量,其值为A,且有下面的表达式:
ch=(ch>='A'&&ch<='Z')?(ch+32):ch
上面表达式的值是
A)
A
(27)
已知在ASCII代码中,字母A的序号为65,以下程序的输出的结果是
【27】
。
# include <stdio.h>
main()
{
(28)
有以下程序:
# include<stdio.h>
main()
{
2743<CR>
A)
668977
二、填空题:
(1)已知字母A的ASCII码为65。以下程序运行后的输出结果是
(2)
main()
{
}
(3)
#include "stdio.h"
main()
{
}
(4)
char ch=’B’;
printf(“%c %d\n”,ch,ch);
(5)有以下程序
#include <stdio.h>
main( )
{
}
(6)
以下程序运行后的输出结果是
【6】
main()
{ char
m=‘B’+32;
}
(7)
#include
main()
{ int
for(i=1; i<5; i++)
for(j=2; j<=i; j++)
}
(8)
main()
{
}
(9)
有以下程序:
#include <stdio.h>
main()
{ char c;
while((c=getchar( ))!=’?’)
}
(10)
下列程序段的输出结果是
【10】
。
int
switch(n++)
{
}
(11)
While((ch=getchar())==’e’) printf(“*”);
答案:
一、选择题
01)
06)
11)
16)
21)
26)
二、填空题
(1) 67 G
(2) 0918273645
(3)
(4) B 66
(5) 12
(6) b
(7) 6
(8) 7
(9) X
(10) passwarm
(11) 0
第七部分 :函数
一、选择题
(1)以下关于函数的叙述中正确的是
A)每个函数都可以被其它函数调用(包括main函数)
B)每个函数都可以被单独编译
C)每个函数都可以单独运行
D)在一个函数内部可以定义另一个函数
(2)设函数fun的定义形式为
A)fun("abc",3.0);
C)fun('65',2.8);
(3)有以下程序
int
int
main()
{
}
B)3,4,7
C)5,2,7
D)2,5,7
(4)有以下程序
#define
#define
main()
{
}
B)29
C)25
D)编译出错
(5)
若程序中定义了以下函数
A) double myadd(double a,B) ;
B) double
myadd(double,double);
C) double myadd(double b,double A)
;
D) double myadd(double
(6)
char fun(char x , char y)
{
}
main( )
{
}
A)
函数调用出错
(7)
有以下程序
void f(int v , int
{
}
main( )
{
}
A) 1,2,3
(8)
若已定义的函数有返回值,则以关于该函数调用的叙述中错误的是
A)
调用可以作为独立的语句存在
C)
调用可以出现在表达式中
(9)
有以下函数定义:
void fun( int
A) fun(int
C)
fun(x,n);
(10)
有以下程序
fun(int
{
else
}
main()
A)
3
(11)
在一个C程序中
A) main函数必须出现在所有函数之前
C) main函数必须出现在所有函数之后
(12)
有以下程序
int
{
int
{
main()
{
e=f2(a,b);
}
A)
3,4,5
(13)
有如下程序
void
{
}
main()
{
}
A)
3,4,5
(14) C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是
A)
void
(15)
有以下程序
float fun(int x,int y)
{ return(x+y); }
main()
{
printf(“%3.0f\n”,fun(int)fun(a+c,b),a-c));
}
A)
编译出错
(16)
#include
void
main()
{
}
void f(int
{
A)
若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f
B)
若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数f
C)
对于以上程序,编译时系统会提示出错信息:提示对对f函数重复说明
D)
函数f无返回值,所以可用void将其类型定义为无值型
(17)
以下函数值的类型是
fun ( float
{
y= 3*x-4;
return
}
(18)
以下所列的各函数首部中,正确的是
A) void play(var :Integer,var
b:Integer)
B) void play(int a,b)
C) void play(int a,int b)
D) Sub play(a as integer,b as integer)
(19)
以下程序的输出结果是
A)
0
fun(int
{
main()
{
}
(20)
func(rec1,rec2+rec3,(rec4,rec5);
该函数调用语句中,含有的实参个数是
A)
3
(21)
有如下程序
int runc(int a,int b)
{
main0
{
r=func(func(x,y),z);
printf(“%\d\n”,r);
}
A)
12
(22)
以下叙述中不正确的是
A)
在不同的函数中可以使用相同名字的变量
B)
函数中的形式参数是局部变量
C)
在一个函数内定义的变量只在本函数范围内有效
D)
在一个函数内的复合语句中定义的变量在本函数范围内有效
(23)
有以下程序
viod fun (int
{ a=456;
main()
{ int x=10, y=20,z=30;
fun (x,y,z);
printf("%d,/%d\n",c,d);
}
A)30,20,10
(24)
有以下程序
#include
int
main ()
{ int a=24,b=16,c;
}
nt abc(int u,int v)
{ int
}
A)
6
(25)
以下说法中正确的是
A) C语言程序总是从第一个的函数开始执行
B)
在C语言程序中,要调用的函数必须在main()函数中定义
C) C语言程序总是从main()函数开始执行
D) C语言程序中的main()函数必须放在程序的开始部分
(26)
请读程序:
#include<stdio.h>
func( int a, int b)
{ int c;
c=a+b;
return c;
}
main()
{ int x=6, y=7, z=8, r;
r=func( x--,y==,x+y),z--);
printf("%d\n",r);
}
上面程序的输出结果是
A)
11
二、填空题
(1)有以下程序
(2)
通过函数求f(x)的累加和,其中f(x)=x2+1
main()
{
}
SunFun(int n)
{
}
F( int x)
{
(3)
函数fun的功能是计算xn
double fun(double x,int n)
{
}
(4)
以下sum函数的功能是计算下列级数之和。
(5)
int fun(int
{ int
for (i=1; i<=n; i++)
{ m+=i*f;
f=
}
return
}
main()
{ printf("m=%d\n",
(6)
请在以下程序第一行的下划线处填写适当内容,使程序能正确运行。
【8】(double,double);
main()
{
scanf("",&x,&y);
printf("\n",max(x,y));
}
double max(double
{
(7)
int
{
main()
{
}
(8)
以下程序运行后的输出结果是
void fun(int x,int y)
{
printf(“%d,%d,”,x,y);
main()
{
fun(x,y);
printf(“%d,%d\n”,x,y);
}
(9)
(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)
现在请你在下面的函数中填空,完成求π的功能。
#include
double
{
for(i=1;i<=n;i++)s=s+
return(sqrt(6*s));
}
(10)
unsigned fun6( unsigned num)
{ unsigned k=1;
do {
k*=num;
num/=10;
} while(num);
return(k);}
main()
{ unsigned n=26;
printf("%d\n", fun6(n));
}
(11)
下面pi函数的功能是根据以下的公式,返回满足精度ε要求的π值。请填空。
double pi(double eps)
{ double s=0.0, t=1.0;
int n;
for(
{ s+=t;
t=n*t/(2*n+1);}
return(2.0 *
答案:
一、选择题
01)
06)
11)
16)
21)
26)
二、填空题
(1) 10
(2) x
(3) x*x+1
(4) fun(a,4)+fun(b,4)-fun(a+b,3);
(5) a=1.0;b=1.0;s=1.0;
(6) -f
(7) fun(10)
(8) double max
(9) 9
(10) 3,2,2,3
(11) 1.0/(i*i)
(12) 12
(13) n=1
(14) s