1.sizeof(double)是()
A)一种函数调用
B)一个双精度型表达式
C)一个整型表达式
D)一个不合法的表达式
2.以下选项中错误的是()
A)char*sp;gets(sp);
B)charsp[5];gets(sp);
C)char *sp="12345";gets(sp);
D)char sp[5]="\0";gets(sp);
3.在宏定义#define PI 3.14159中,用宏名PI代替一个()
A)单精度数
B)双精度数
C)常量
D)字符串
4.设有如下定义:
char *aa[2]={"abcd","ABCD"};
则以下说法中正确的是()
A)aa数组元素的值分别是"abcd"和"ABCD"
B)aa是指针变量,它指向含有两个数组元素的字符型一维数组
C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D)aa数组的两个元素中各自存放了字符′a′和′A′的地址
5.有以下程序:
#include<stdlib.h>
void fun(int*s,int**d)
{**d=*(s+2);}
main()
{ inta[]={1,2,3,4,5},*b;
b=(int*)malloc(sizeof(int));
fun(a,&b);
printf("%d\n",*b+1);
}
程序的输出结果是()
A)2
B)3
C)4
D)5
6.若有如下程序:
sub(int x)
{int y=0;static int z=1;
y+=x+2;z+=y+x;
return(z);}
main()
{int t=1,n;
for(n=0;n<3;n++)printf("%d,",sub(t));}
则程序运行后的输出结果是()
A)5,5,5
B)5,9,13,
C)5,7,9,
D)5,8,11,
7.若有如下定义和声明:
structs
{ int m;char ch;double x;
union t {char a[6];int b[3];} tt;} ss;
则sizeof(struct s)的值是()
A)6
B)14
C)17
D)20
8.以下选项中的表达式调用库函数依次求-4.5的绝对值、-4.0的平方根值、30°角的正弦值和2的3次方值。正确的调用是()
A)abs(-4.5)
B)sqrt(-4.0)
C)sin(3.1416/6.0)
D)paw(2.0,3.0)
9.若有如下程序:
#definePI3.1415926
#defineA(r)2*PI*r
main()
{floata,l;
a=3.0;
l=A(a);
printf("r=%.2f,l=%.2f\n",a,l);}
则程序运行后的输出结果是()
A)r=3.00l=18.85
B)3.00,18.85
C)r=3.000000l=18.8495555
D)r=3.0 l=18.8495555
10.若有如下程序:
#include"stdio.h"
voidmain()
{FILE*fp;
fp=fopen("test","wb")
fprintf(fp,"%d%.1f,%c%c",5,238.41,′B′,′h′);
fclose(fp);}
则程序运行后向文件输出的结果是()
A)5 238.41
B hB)5238.4,Bh
C)5,238.4,B,h
D)5238.41Bh
答案:1.C 2.A 3.D 4.C 5.C 6.B 7.C 8.C 9.A 10.B