若有以下定义和语句:double r=99, *p=&r;*p=r;则以下正确的叙述是()
A.两处的*p含义相同,都说明给指针变量p赋值
B.在"double r=99,*p=&r;"中,把r的地址赋值给了p所指的存储单元
C.语句"*p=r;"把变量r的值赋给指针变量p
D.语句"*p=r;"取变量r的值放回r中
语句"*P=R;"把变量R的值赋给指针变量P
A.两处的*p含义相同,都说明给指针变量p赋值
B.在"double r=99,*p=&r;"中,把r的地址赋值给了p所指的存储单元
C.语句"*p=r;"把变量r的值赋给指针变量p
D.语句"*p=r;"取变量r的值放回r中
语句"*P=R;"把变量R的值赋给指针变量P
若有定义:double a=22;inti=0,k=18;,则不符合c语言规定的赋值语句是()。
A.i=(a+k)<=(i+k);
B.i=a%11;
C.a=a++,i++;
D.i=!a;
若有定义:double a=22;int i=0,k=18;,则不符合c语言规定的赋值语句是()。
A.i=a%ll;
B.i=(a+k)《=(i+k);
C.a=a++,i++;
D.i=!a;
若有以下说明和定义: union dt { int a; char b; double c;} data; 以下叙述中错误的是()。
A.data的每个成员起始地址都相同
B.变量data所占的内存字节数与成员c所占字节数相等
C.程序段:data.a=5; printf("%f\n",data.c);输出结果为5.000000
D.data可以作为函数的实参
若程序中定义了以下函数: double myadd(double a,double b) {return (a+b);} 并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是
A.double myadd(doublea,b);
B.double myadd(double,double);
C.double myadd(doubleb,double a);
D.double myadd(doublex,double y);
若有以下定义和语句; int a[]={1,2,3,4,5,6,7,8,9,10},*p=a;
A.p+=2,*(p++)
B.p+=2,*++p
C.p+=3,*p++
D.p+=2,++*p
有以下函数定义: void fun(int n double x){…} 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是()。
A.fun(int y,double m);
B.k=fun(10,12.5);
C.fun(x,n);
D.void fun(n,x);
若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是()。
A.scanf("%d%lx,%le",&x,&y,&z);
B.scanf("%2d*%d%lf"&x,&y,&z);
C.scanf("%x%*d%o",&x,&y);
D.scanf("%x%o%6.2f",&x,&y,&z)
若有定义语句:int a[2][3],*p[3];,则以下语句中正确的是()。
A.p=a;
B.p[0]=a;
C.p[0]=&a[1][2];
D.p[1]=&a;
若有定义和语句 () char s[10];s="abcd";printf("%s\n",s); 则结果是(以下μ代表空格)
A.输出abcd
B.输出a
C.abcdμμμμμ
D.编译不通过