《C语言程序设计》核心试题(11)
(2011-09-13 23:25:28)
标签:
c语言 |
分类: 教学文件 |
一、选择题
(1)有以下程序
A)4
A)64,
28
(3)有以下程序
main()
{
}
B)在源文件的一行上可以有多条预处理命令
C)宏名必须用大写字母表示
D)宏替换不占用程序的运行时间
(5)
有以下程序
main( )
{
}
A) 7
(6)
有以下程序
#define
main( )
{
}
A) 28
(7)
有以下程序
#include
#define
main ()
{ int
printf("%d\n", F(a++,b++));
}
A)
12
(8)
有以下程序
main()
{
}
A)
赋初值的字符串有错
(9)
有以下程序
main(int
{
while(arv[1][i]!='\0'
{
}
int
{
}
exam
则运行结果为
(10)
有以下程序
main()
{ char a[ ]={‘a’,‘b’,‘c’,‘d’, ‘e’, ‘f’, ‘g’,‘h’,‘\0’};
int
i=sizeof(a);
printf(“%d,%d\b”i,j);
}
A)9,9
(11)
程序中头文件typel.h
的内容是:
#define
#define
#define
#define
main()
{ int i;
i=M1+M2;
}
A)
10
(12)
有以下程序
#include
main()
{ char *p,*q;
p=(char*)malloc(sizeof(char)*20); q=p;
scanf(“%s%s”,p,q);
}
A) def
def
(13)
若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是
A)
p=2*(int*)malloc(sizeof(int));
B)
p=(int*)malloc(2*sizeof(int));
C) p=(int*)malloc(2*2);
D) p=(int*)calloc(2,sizeof(int));
(14)
以下程序的输出结果是
main()
{
printf(%d %d \n”,strlen(st),sizeof(st));
}
(15)
以下程序的输出结果是
amovep(int
{
for( i=0;i<;i++)
for(j=0;j<n;j++){
}
main()
{
p=(int *)malloc(100);
amovep(p,a,3);
printf(“%d %d \n”,p[2],p[5]);free(p);
}
(16)
以下程序的输出结果是
#define
main()
{
printf(“%d\n”, M(a+b,b+c, c+a));
}
(17)
以下程序的输出结果是
A)
16
#define
main()
{
}
(18)
void f(……)
{……
……
}
p
A) double
(19)
#define
#define
#define
#main()
{
for(i=1;i<=NUM;i++)printf(“%d\n”,i);
}
A)
5
(20)
下列程序执行后的输出结果是
A)
6
(21)
A) *p=&a;
B) p=(long *)malloc(8);
C) scanf("%ld",p=&a);
D) scanf("%ld",&a);
(22)
以下程序的输出结果是
A) 1
(23)
以下程序的输出结果是
A)
9
(24)
A)
49.5
(25)
A)
1
(26)
#define
#define
A)
出错
(27)
若有说明,double
*p,a;则能通过scanf语句正确给输入项读入数据的程序段是
A)*p=&a;
scanf("%lf",p);
C)
p=&a;scanf("%lf",a);
(28)
执行下面的程序后,a的值是
#define
main( )
{ int a=10,k=2,m=1;
a/=SQR(k+m)/SQR(k+m);
printf("%d\n",a);
(29)
以下程序的输出结果是
fut (int**s,int p[2][3])
{
main( )
{
p=(int*)malloc(sizeof(int));
fut(&p,a);
primtf("%d\n",*p);
(30)
若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元:
int *p;
p=__________ malloc( sizeof(int));
则应填入
A)
int
(31)
请读程序:
#include<stdio.h>
#define SUB(X,Y) (X)*Y
main()
{ int a=3, b=4;
printf("%d", SUB(a++, b++));
}
上面程序的输出结果是
A)
12
(32)
请读程序:
#include<stdio.h>
void fun(float *pl, float *p2, float *s)
{ s=( float * )calloc( 1, sizeof(float));
*s=*p1+ *(p2++);
}
main()
{ float a[2]={1.1, 2.2}, b[2]={10.0, 20.0}, *s=a;
fun(a, b, s)
printf("%f\n",*s);
}
上面程序的输出结果是
A)
11.100000
(33)
在宏定义 #define PI
3.14159中,用宏名PI代替一个
A)
单精度数
(34)
请选出以下程序段的输出结果
#include<stdio.h>
#define MIN(x,y)
main()
{ int i,j,k;
i=10; j=15;
k=10*MIN(i,j);
printf("%d\n",k);
}
(35) sizeof(double)是 【35】
。
A)一种函数调用
C)一个整型表达式
(36)
以下for语句构成的循环执行了
【36】
次。
# include <stdio.h>
# define
# define
# define
main()
{ int
(37)
以下程序的输出结果是 【37】
。
# include<stdio.h>
# define
# define
# define
main()
{int x=2;
二、填空题:
(1)已有定义:double
(2)以下程序运行后的输出结果是
【2】
#define
main()
{
}
(3)
#define
#define
#define
main()
{ int i;
}
(4)
# include <stdlib.h>
main ( )
{
}
(5)
#defint
#define
main()
{
}
(6)
#define
#define
#define
main()
{
i1=1000/s(N); i2=1000/f(N);
printf(“%d
}
(7)
#define
float
MYSWAP(
(8)
st=(char*)
【8】
;
(9)
以下程序的输出结果是 [9]
。
#define
main()
{
t=MAX(a+b,c+d)*10;
printf(“%d\n”,t);
}
(10)
p=
(11)
#define PR(ar) printf("%d", ar)
main()
{ int j, a[]={ 1,3,5,7,9,11,13,15}, *p=a+5;
for(j=3; j; j--)
{ switch(j)
{ case 1:
case 2: PR(*p++); break;
case 3: PR(*(--p));}
}
}
答案:
一、选择题:
01)
06)
11)
16)
21)
26)
31)
36)
二、填空题:
(1) p=(double*)malloc(sizeof(double))
(2) 81
(3) 4
(4) 3*sizeof(double)
(5) 16
(6) 1000
(7) c
(8) Malloc (11)
(9) 7
(10) (double *)
(11) 9911