若定义了int a;char b;float c;,则表达式a*b-c的类型是()A.float B.charC.int D.double
若定义了int a;char b;float c;,
则表达式a*b-c的类型是()
A.float
B.char
C.int
D.double
若定义了int a;char b;float c;,
则表达式a*b-c的类型是()
A.float
B.char
C.int
D.double
A)t1=t2;
B)t2.num1=t1.num1;
C)t2.mark=t1.mark;
D)t2.num2=t1.num2;
A.构造函数的实参不允许是本类的对象
B.没有定义实现深层复制(深拷贝)的拷贝构造函数
C.构造对象a时实参与形参类型不符
D.系统不能生成缺省的拷贝构造函数
char *fun(char *str,char c)
{ int n=0; char *p=str;
if(p!=NULL)
while(p[n]!=c&&p[n]!='\0') n++;
if(p[n]=='\0') return NULL;
return(【 1 2 】 );
}
设有定义: int a; float b; 执行 scanf("%2d%f",&a,&b); 语句时,若从键盘输入876 543.0< 回车 > , a 和 b 的值分别是
A)876 和 543.000000
B)87 和 6.000000
C)87 和 543.000000
D)76 和 543.000000
(27 )若有定义 int (*Pt ) [3] ; ,则下列说法正确的是
A )定义了基类型为 int 的三个指针变量
B )定义了基类型为 int 的具有三个元素的指针数组 pt
C )定义了一个名为 *pt 、具有三个元素的整型数组
D )定义了一个名为 pt 的指针变量,它可以指向每行有三个整数元素的二维数组
A.p和q的类型不一致,不能执行*p=*q;语句
B.*p中存放的是地址值,因此不能执行*p=40;语句
C.q没有指向具体的存储单元,所以*q没有实际意义
D.q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果
若变量已正确定义,有以下程序段
int a=3,b=5,c=7;
if(a>b) a=b; c=a;
if(c!=a) c=b;
printf("%d,%d,%d\n",a,b,c);
其输出结果是
A) 程序段有语法错
B)3 , 5 , 3
C)3 , 5 , 5
D)3 , 5 , 7
分析下面的程序:
void GetMemory(char **p,int num)
{
*p=(char *)malloc(num);
}
int main()
{
char *str=NULL;
GetMemory(&str,100);
strcpy(str,"hello");
free(str);
if(str!=NULL)
{
strcpy(str,"world");
}
printf("\n str is %s",str);
getchar();
}
问输出结果是什么?希望大家能说说原因,先谢谢了
以下程序的输出结果为()。
main()
{ char c;
int i;
for(i=65;i<68;i++)
{ c=i+32;
switch(c)
{ case 'a':case 'b':case 'c':printf("%c,",c);break; default:printf("end");}
}
}
A a,b,c,end
B a,a,a,end
C a,a,a,
D a,b,c,
以下程序的输出结果为()。
main()
{ char s1[40]="country",s2[20]="side";
int i=0,j=0;
while(s1[i]!='\0') i++;
while(s2[j]!='\0') s1[i++]=s2[j++];
s1[i]=0;
printf("%s\n",s1);
}
A side
B country
C sidetry
D countryside
有以下程序段
int j; float y; char name[50];
scanf("%2d%f%s",&j,&y,name);
当执行上述程序段,从键盘上输入 55566 7777abc 后, y 的值为
A ) 55566.0
B ) 566.0
C ) 7777.0
D ) 566777.0