A不确定B0.0C1D0
8.若执行语句a=b+=3*j+(int)x;则b的值为:
A1B8C0D8.5
9.若执行语句a=b>j?
++i:
i++;则a与i的值分别为:
A4,4B3,4C4,3D3,3
10.if(a
8a
Ax=Bx=
1a
8a
Cx=Dx=
1a≥b1a
11.将字符串“WanMing”输入数组ch中,正确的是:
A、scanf(“%s”,ch)B、scanf(“%s”,&ch)
C、ch=“WanMing”D、gets(ch)
12.执行语句printf(“%c”,td[1][0]+’A’)的结果是:
A、AB、B
C、DD、E
13.下列关于main()函数说法正确的是
A、C语言程序总是从main()开始执行
B、C语言程序可以没有main()函数
C、C语言程序可以包含多个main()函数,但必须在不同的模块中
D、C语言程序中main()函数不能有形式参数
14.下列关于函数说法正确的是
A、C语言程序的函数内还可定义其他的函数
B、C语言程序的函数内不可再定义其他的函数
C、C语言程序的函数不能自己调用自己
D、C语言程序中只有同一源文件中的函数才能有调用与被调用关系
15.若#definesqu(x)x*x执行语句printf(“result=%d”,squ(i+j));结果为:
A、result=36B、36C、result=11D、11
16.若#definesqu(x)(x)*(x)执行语句printf(“result=%d”,squ(i+j));结果为:
A、result=36B、result=17C、result=11D、result=25
17.C语言对宏命令叙述正确的是
A、宏替换占用运行时间
B、编译程序对宏命令的处理是在对源程序中其它成分编译之前进行的
C、宏命令的处理是在程序执行时进行的
D、宏命令的处理是在程序连接时进行的
18.若执行语句a-=a+=a*=10;a的值为:
A、0B、-10C、-100D、100
19.若执行语句p=arr;printf(“%d”,*(p+i));输出结果为
A、0B、2C、3D、1
20.若执行printf(“%s”,ch);结果为:
A、’abc’B、abcC、abcdD、abc\0d
21.若对数组进行初始化:
charcarr[]={’s’,’t’,’u’,’d’,’e’,’n’,’t’},barr[]=”student”;则正确的是
A、carr与barr长度相同B、carr比barr长
C、carr与barr相同D、carr比barr短
22.若有说明语句int(*p)[N];则p是
A、N个指向整型变量的指针B、可指向有N个整型元素的一维数组的指针
C、指向N个整型变量的函数指针D、有N个指针元素的一维指针数组
23.若有说明语句int*f();则函数f是
A、f是一个指向整型变量的数组指针B、f返回一个整型数据
C、f是一个指向整型变量的函数指针D、f返回一个整型指针,指向函数本身
24.若函数f定义如下:
voidf(char*d,char*s)
{while(*d++=*s++);
}
函数f的功能是:
A、串比较B、串复制C、求串长D、串反向
25.表达式100+a+’a’+x*z的值的数据类型为
A、intB、floatC、doubleD、char
26.若要动态申请一个double型内存单元,正确的语句是
A、pd=doublemalloc(sizeof(double))B、pd=(*double)malloc(sizeof(double))
C、pd=double*malloc(sizeof(double))D、pd=(double*)malloc(sizeof(double))
27.若要从键盘上输入67892到变量n中,正确的语句是
A、scanf(“%lf”,&n);B、scanf(“%ld”,&n);
C、scanf(“%lf”,n);D、scanf(“%d”,&n);
28.判断字符变量c是否不为小写英文字母的正确表达式是
A、’a’<=c<=’z’B、c>=‘a’&&c<=’z’
C、’a’≤c≤’z’D、c<’a’||c>’z’
29.下列每组表达式被执行后,结果完全等价的是
A、!
(b==0)与!
(!
b)B、b=(a=4,4*5)与b=a=4,4*5
C、float(i/j)与floati/jD、00&&x<100
30.表达式(m&1)==(m%2)的值是
A、0B、无法确定
C、1D、以上都不对
31.数学式ln2x+asin(60°)的C语言表达式是
A、log(2*x)+a*sin(60)B、ln(2*x)+a*sin(60/180*3.14)
C、ln(2*x)+a*sin(60)D、log(2*x)+a*sin(3.14*60/180)
32.要打开一个已经存在的非空文件file用于修改,则正确的语句是
A、fopen(“file”,”r+”)B、fopen(“file”,”w”)
C、fopen(“file”,”a+”)D、fopen(“file”,”r”)
33.若打开文件时发生错误,则fopen()函数的返回值是
A、1B、0C、不确定D、没有返回值
34.调用函数fseek(fp,-25L,2),其操作结果是
A、文件位置指针从文件开始处前移25字节
B、文件位置指针从文件结尾处后移25字节
C、文件位置指针从文件当前位置处前移25字节
D、文件位置指针从文件当前位置处后移25字节
35.能正确表示a和b同时为正或同时为负的逻辑表达式是
A、(a>=0||b>=0)&&(a<0||b<0)
B、(a>=0&&b>=0)&&(a<0&&b<0)
C、(a*b>0&&(a*b<=0)
D、a*b>0
36.若x=y=z=1;表达式(x--||++y)&&(z++)执行后,x,y,z的值分别为:
A.0,1,1B.0,1,2C.0,2,1D.0,2,2
37.下列变量的初始化,不正确的是:
A.intx,y=5;B.floatx=y=3.5;
C.chars[]=”a”;D.inta[][3]={{1},{},{0,9}};
38.可以代替while(x!
=0)中的条件x!
=0的是:
A.xB.!
xC.x==1D.x!
=1
39.有关函数参数,下列说法不正确的是:
A.实参和形参是不同的变量;B.实参可以将数据传给形参;
C.形参可以将数据传给实参;D.实参和形参必须个数相等,类型一致。
40.为避免嵌套的条件语句if-else的二义性,C语言规定else与if的配对原则是:
A.同一行上的未配对ifB.缩排位置相同的未配对if
C.它之前最近的未配对的ifD.它之后最近的未配对if
41.对于一个二维数组,以下几种方法中,不能正确表示i行j列元素的是:
A.td[i][j]B.*(td[i]+j)C.*(*(td+i)+j)D.*(td+i+j)
42.下面语句段不是死循环的是:
A.for(i=1;;i++)B.k=0;
s=s+i;do{k++;
}while(k>0);
C.i=0;D.a=1;
while
(1)while(a<10)
{i++;{if(a>5)continue;
if(i==20)break;}a++;}
43.下列字符串中,可以用作变量名的是:
A._out2B.12abcC.whileD.stu&3
44.表达式0A.0和0B.0和1C.1和0D.1和1
45.下列常数中,符合C语法规则的是:
A.‘\’B..5e2C.018D.e3
46.以下为合法的整型常量的是:
A.027aB.0.0C.0x4e3D.3×102
47.以下为合法的整型常量的是:
A.‘3’B.281C.5afD.‘\101’
48.以下为合法的实型常量的是:
A.1.5×102B.1e-5C.1e1.5D.E+5
49.以下为合法的实型常量的是:
A.πB..5C.025.3D.0
50.以下为合法的字符型常量的是:
A."A"B.64C.'啊'D.'\n'
51.以下为非法的字符型常量的是:
A.‘ok’B.‘*’C.‘A’D.‘\111’
52.以下为合法的变量定义的是:
A.#defineN10B.inta=12,b,c;floatx,y,a=1.5;
inta[3*N];
C.i