以下选项中关于C语言常量的叙述错误的是()。
所谓常量,是指在程序运行过程中,其值不能被改变的量
常量分为整型常量、实型常量、字符常量和字符串常量
常量可分为数值型常量和非数值常量
经常被使用的变量可以定义成常量
若有定义语句:“int x=10;”,则表达式x-=x+x的值为( )。
有以下程序
#include<stdio.h>
int fun()
{ static int x=1;
x*=2;
return x:
}
main( )
{ int i,s=1;
for(i=1;i<=3;i++)s*=fun();
printf("%d\n",s);
}
程序运行后的输出结果是( )。
若有定义语句:“int a=3,b=2,c=1;”,以下选项中错误的赋值表达式是( )。
a=(b=4)=3;
a=b=c+1;
a=(b=4)+c;
a=1+(b=c=4);
若函数中有定义语句:“int k;”,则
系统将自动给k赋初值0
这时k中的值无定义
系统将自动给k赋初值-1
这时k中无任何值
有以下程序
#include <stdio.h>
main()
{ int a=1,b=0;
if(!a)b++;
else if (a==0)if(a) b+=2;
else b+=3;
printf("%d\n",b);
}
程序运行后的输出结果是( )。
有以下程序
#include<stdio.h>
main()
{ char c1,c2;
c1='A'+'8'-'4';
c2='A'+'8'-'5';
printf("%C,%d\n",c1,c2);
}
已知字母A的ASCII码为65,程序运行后的输出结果是( )。
有如下嵌套的if语句
if(a<b)
if(a<c)k=a;
else k=c;
elseif(b<c)k=b;
else k=c;
以下选项中与上述if语句等价的语句是()。
k=(ab)?a﹕b;k=(bc)?b﹕c;
k=(ab)?((bc)?a﹕b):((bc)?b﹕c);
k=(ab)?((ac)?a﹕c):((bc)?b﹕c);
k=(ab)?a:b;k=(ac)?a:c;
下列叙述中正确的是()。
可以用关系运算符比较字符串的大小
空字符串不占用内存,其内存空间大小是0
两个连续的单引号是合法的字符常量
两个连续的双引号是合法的字符串常量
有以下程序#include
main()
{ int a;
scanf("%d",&a);if(a++<9)printf("%d\n",a);else printf("%d\n",a--);
}
程序运行时从键盘输入9<回车>,则输出结果是()。
下面的函数调用语句中func( )函数的实参个数是( )。func(f2(v1,v2),(v3,v4,v5),(v6,max(v7,v8)));
以下选项中表示一个合法的常量是()。(说明:符号□表示空格)
设变量均已正确定义并赋值,以下与其他三组输出结果不同的一组语句是()。
x++;printf(“%d\n”,x);
n=++x;printf(“%d\n”,n);
++x;printf(“%d\n”,x);
n=x++;printf(“%d\n”,n);
有以下定义:“int a;long b;double x,y;”,则以下选项中正确的表达式是( )。
a%(int)(x-y)
a=x!=y;
(a*y)%b
y=x+y=x
若有表达式(w)?(--x):(++y),则其中与w等价的表达式是( )。
若a是数值类型,则逻辑表达式(a==1)‖(a!=1)的值是( )。
若有定义:“int a,b;”,通过语句“scanf(“%d;%d”,&a,&b);”,能把整数3赋给变量a,5赋给变量b的输人数据是()。
设变量已正确定义并赋值,以下正确的表达式是()。
x=y*5=x+z
int(15.8%5)
x=y+z+5,++y
x=25%5.0
若有定义语句“int a,b;double x;”则下列选项中没有错误的是( )。
switch(x%2){case 0﹕a++;break;case1﹕b++;break;default﹕a++;b++;}
switch((int)x/2.0){case 0﹕a++;break;case 1﹕b++;break;default﹕a++;b++;}
switch((int)x%2){case 0﹕ a++;break;case 1﹕b++;break;default﹕a++;b++;}
switch((int)(x)%2){case 0﹕a++;break;case 1.0﹕b++;break;default﹕a++;b++;}
关于C语言中数的表示,以下叙述中正确的是()。
只有整型数在允许范围内能精确无误的表示,实型数会有误差
只要在允许范围内整型数和实型数都能精确的表示
只有实型数在允许范围内能精确无误的表示,整形数会有误差
只有用八进制表示的数才不会有误差
有以下程序(strcat函数用以连接两个字符串)#include main(){ char a[20]="ABCD\0'EFG\0'",b[]="IJK";strcat(a,b);printf"%s\n",a);}程序运行后的输出结果是( )。
ABCDE\0FG'\0IJK
ABCDIJK
IJK
EFGIJK
有以下程序
#include <stdio.h>
main()
{ int n=2,k=0;
while(k++&&n++>2);
printf("%d%d\n",k,n);
}
程序运行后的输出结果是( )。
有以下程序#include main(){ int s,t,A=10;double B=6;s=sizeof(A);t=sizeof(B);printf("%d,%d\n",s,t);}在VC6平台上编译运行,程序运行后的输出结果是( )。
有以下程序
#include <stdio.h>
main()
{ char x[]="STRING";x[0]=0;
x[1]='\0';
x[2]='0';
printf(“%d%d\n”,sizeof(x),strlen(x));
}
程序运行后的输出结果是( )。
有以下程序:
#include <stdio.h>
int fun ()
{ static int x=1;
x*=2;
return x;
}
main()
{ int i,s=1;
for(i=1;i<=2;i++)s=fun();
printf{"%d\n",s};
}
程序运行后的输出结果是( )。
设有定义:“int a=1,b=2,c=3;”,以下语句中执行效果与其他三个不同的是( )。
if(a> b)c=a,a=b,b=c;
if(a> b){c=a,a=b,b=c;}
if(a> b)c=a;a=b;b=c;
if(a> b){c=a;a=b;b=c;}
执行下列程序后,w的值为( )。
int w='A',x=14,y=15;w=((x‖y)&&(w<'a'));
有以下程序
#include <stdio.h>
main()
{ char s[]="rstuv";printf(“%c\n”,*s+2);
}
程序运行后的输出结果是( )。
下列选项中正确的定义语句是( )。
double a;b;
double a=b=7;
double a=7,b=7;
double, a,b;