C) print D) 00
参考答案:A
【解析】C语言中标识符由字母、下划线、数字组成,且开头必须是字母或下划线。另外,关键字不能作为标识符。因为C语言中区分大小写,所以B)选项中的\FOR\可以作为标识符来用。A)选项中含有非法字符&,所以选择A)。
若有代数式
(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数
式的C语言表达式是( )。
A) sqrt(fabs(pow(n,x)+exp(x)))
B) sqrt(fabs(pow(n,x)+pow(x,e))) C) sqrt(abs(n^x+e^x))
D) sqrt(fabs(pow(x,n)+exp(x))) 参考答案:A
【解析】B)选项中函数pow(x,e)错误应该直接使用exp(x)函数。C)选项中函数abs(n^x+e^x)错误,应该使用fabs()返回浮点数的绝对值。D)选项中pow(x,n)参数顺序错误。
若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是( ) A) i=(a+k)<=(i+k); B) i=a;
C) a=a++,i++ D) i=!a;
参考答案:B
【解析】取模运算符\%\,二元运算符,具有左结合性,参与运算的量均为整型。选项 B中的a变量是double实型,所以B)不符合规定。
有以下程序:
#include
{ int s,t,A=10; double B=6; s=sizeof(A); t=sizeof(B); printf(\,%d\\n\,s,t); }
在VC6.0平台上编译运行,程序运行后的输出结果是( )。 A) 10,6 B) 4,4 C) 2,4 D) 4,8
参考答案:D
【解析】C语言中利用sizeof()函数判断数据类型长度,在VC6.0平台中,整型int占有4个字节,double型数据占有8个字节。
有以下程序:
#include
{ char a,b,c,d;
scanf(\,&a, &b);
c=getchar(); d=getchar();
printf(\,a,b,c,d); }
当执行程序时,按下列方式输入数据(从第1列开始,
一个字符)
12
则输出结果是( )。 A) 12 34
B) 12 C) 1234 D) 12 3
参考答案:D
【解析】按照从键盘输入的数据可以判断字符1给了变量a,字符2给了变量b,字符
下关于逻辑运算符两侧运算对象的叙述中正确的是( )。 A) 可以是任意合法的表达式 B) 只能是整数0或非0整数 C) 可以是结构体类型的数据 D) 只能是整数0或1 参考答案:A
【解析】C语言的逻辑运算符比较特别,它的操作数没有明确的数据类型,可以是任意合法的表达式,所以选择A)。
有以下程序:
#include
{ int a=0,b=0,c=0,d=0; if(a=1) b=1;c=2; else d=3;
printf(\,%d,%d,%d\\n\,a,b,c,d); }
程序输出( )。 A) 1,1,2,0 B) 0,0,0,3 C) 编译有错 D) 0,1,2,0
参考答案:C
【解析】本题中if(a=1)b=1;与else d=3; 之间多了语句c=2;所以会出现else语句的位置错误的编译失败提示。
有以下程序:
#include
{ int x=1, y=0, a=0, b=0; switch (x)
{ case 1: switch(y)
{ case 0: a++; break; case 1: b++; break; }
case 2: a++; b++; break; case 3: a++; b++;
}
printf(\=%d, b=%d\\n\, a, b); }
程序的运行结果是( )。
A) a=2,b=2 B) a=2,b=1 C) a=1,b=1 D) a=1,b=0
参考答案:B
【解析】case常量表达式只是起语句标号作用,并不是该处进行条件判断。在执行switch语句时,根据switch的表达式,找到与之匹配的case语句,就从此case子句执行下去,不在进行判断,直到碰到break或函数结束为止。所以执行内层switch(y)时只执行了a++,此时a的值为1。然后执行外层case 2语句的a++;b++;a为2,b为1。所以结果为B)。
以下程序段中的变量已正确定义:
for( i=0; i<4; i++,i++ )
for( k=1; k<3; k++ ); printf(\; 程序段的输出结果是( )。 A) ** B) **** C) *
D) ********
参考答案:C
【解析】由于内层循环 for( k=1; k<3; k++)后面直接跟了空语句\;\所以在