a==10||a==11||a==12||a==13
a>9&&a<14
!
(a<=9)&&!
(a>=14)
~A
以下程序运行的结果是()。
*#include
*main()
*{inta=3,b=4,c=8,d=4,m=1,n=3;
*printf("%d\n",(m=a>b)&&(n=c>d))
*}
0
1
2
3
~A
能正确表示“当x的取值范围在[1,10]和[100,110]范围内为真,否则为假”的表达式是()。
(x>=1)&&(x<=10)&&(x>=100)&&(x<=110)
(x>=1)||(x<=10)||(x>=100)||(x<=110)
(x>=1)&&(x<=10)||(x>=100)&&(x<=110)
(x>=1)||(x<=10)&&(x>=100)||(x<=110)
~C
若有定义:
inta=4,b=5;floatx=3.4,y=2.1;则下面表达式的值为()。
*(float)(a+b)/2+(int)x%(int)y
5.5
55
5.500000
55.00000
~C
若a为int型变量,则执行以下语句后,a的值为()。
*a=5;a+=a-=a*a;
25
-40
40
-14
~B
若已定义x和y为整型变量,且x=7,则表达式y=2.3+x/2的值是()。
6
5
5.0
6.0
~B
有以下程序:
*main()
*{inty=1,x=2,z=3;
*printf("%d,%d\n",(++x,y++),z+2);
*}
*执行后的输出结果是()。
3,5
2,5
3,3
1,5
~D
以下程序的输出结果是()。
*main()
*{inta=1,b=2;
*printf("%d,%d\n",--a,++b);
*}
1,2
1,3
0,2
0,3
~D
C语言程序的执行是()。
从程序的主函数开始,到程序的主函数结束
从程序的主函数开始,到程序的最后一个函数结束
从程序的第一个函数开始,到程序的最后一个函数结束
从程序的第一个函数开始,到程序的主函数结束
~A
下面说法正确的是()。
一个C程序可以有多个函数
一个C语言的函数中只允许有一对花括号
C语言一个语句可以写在一行内,也可以写在多行内
在对C程序进行编译时,可以发现注释行中的拼写错误
~C
以下说法正确的是()。
C程序是以函数为基本单位的,整个程序由函数组成
C语言程序的一条语句可以写在不同的行上
C程序的注释行对程序运行不起作用,所以注释应该尽可能少写
C程序的每个语句都以分号结束
~C
以下标示符不是关键字的是()。
break
char
Switch
return
~C
若要求定义具有10个int型元素的一维数组a,则下列定义语句中错误的是()。
#defineN10
*inta[N]
#definen5
*inta[2*n]
inta[5+5]
intn=10,a[n]
~D
下设有如下程序段
*chars[20]="Beijing",*p;
*p=s;
*则执行p=s;语句后,以下叙述正确的是()。
可以用*p表示s[0]
s数组中元素的个数和p所指字符串长度相等
s和p都是指针变量
数组s中的内容和指针变量p中的内容相同
~A
下列数组定义中错误的是()。
intx[][3]={0};
intx[2][3]={{1,2},{3,4},{5,6}};
intx[][3]={{1,2,3},{4,5,6}};
intx[2][3]={1,2,3,4,5,6};
~B
有以下程序:
*main()
*{inti,t[][3]={9,8,7,6,5,4,3,2,1};
*for(i=0;i<3;i++)printf("%d",t[2-i][i]);
*}
*程序执行后的输出结果是()。
753
357
369
751
~B
若有定义语句:
inta[3][6];,按内存中的存放顺序,a数组的第10元素是()。
a[0][4]
a[1][3]
a[0][3]
a[1][4]
~B
以下错误的定义语句是()。
intx[][3]={{0},{1},{1,2,3}};
intx[4][3]={{1,2,3},{1,2,3},{1,2,3}};
intx[4][]={{1,2,3},{1,2,3},{1,2,3}};
intx[][3]={1,2,3,4};
~C
以下不正确的定义语句是()。
doublex[5]={1.0,2.0,3.0,4.0,5.0};
inty[5]={0,1,2,3,4,5}};
charc[]={'1','2','3','4','5'};
charc2[]={'a','b','c'};
~B
若有以下定义,则正确引用数组元素的是()。
*inta[5],*p=a;
*&a[5]
*a+2
*(p+5)
*(a+2)
~D
若有说明:
inta[][3]={0,0};则不正确的叙述是()。
数组a的每个元素的初值都是0
数组a的第一维大小为1
数组a的行数为1
只有元素a[0][0]和a[0][1]初值为0,其余元素得不到初值0
~D
下列二维数组初始化语句中,不正确的是()。
intb[][2]={1,2,3,4,5,6,7};
intb[3][5]={0,0,0};
intb[][4]={{1,2},{3,4,5},{6}};
intb[3][2]={(1,2),(3,4),(5,6)};
~D
有以下程序:
*main()
*{intaa[5][5]={{1,2,3,4},{5,6,1,8},{5,9,10,2},{1,2,5,6}};
*ints=0,i;
*for(i=0;i<4;i++)
*s+=aa[i][2];
printf("%d",s);
*}
*程序运行后的输出结果是()。
26
19
10
20
~B
*以下程序的输出结果是[<4>]。
*#include
*main()
*{
*inta[5]={2,4,6,8,10},*p;
*p=a;p++;
*printf("%d",*p);
*}
*以下程序的输出结果是[<35>]。
*#include
*voidswap(int*a,int*b)
*{
*int*t;
*t=a;a=b;b=t;
*}
*main()
*{
*inti=3,j=5,*p=&i,*q=&j;
*swap(p,q);printf("%d%d",*p,*q);
*}
*下面程序段的运行结果是[<68>]。
*charstr[]="ABCD",*p=str;
*printf("%d\n",*(p+3));
设已有定义:
floatx;,则下列对指针变量p进行定义且赋初值的语句中正确的是()。
float*p=1024;
int*p=(float)x;
floatp=&x;
float*p=&x;
~D
设有定义语句int(*f)(int);,则以下叙述正确的是()。
f是基类型为int的指针变量
f是指向函数的指针变量,该函数具有一个int类型的形参
f是指向int类型一维数组的指针变量
f是函数名,该函数的返回值是其类型为int类型的地址
~B
设有定义:
intn1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是()。
*p=*q
p=q
*p=&n1;
p=*q
~A
在16位编译系统上,若有定义inta[]={10,20,30},*p=&a;,当执行p++;后,下列说法错误的是()。
p向高地址移了一个字节
p向高地址移了一个存储单元
p向高地址移了两个字节
p与n+1等价
~A
若有定义语句:
intk[2][3],*pk[3];,则下列语句中正确的是()。
pk=k;
pk[0]=&k[1][2];
pk=k[0];
pk[1]=k;
~B
若有定义:
char(*p)[6];则标识符p()。
是一个指向字符型变量的指针
是一个指针数组名
是一个指针变量,它指向一个含有6个字符型元素的一维数组
定义不合法
~C
下面程序段的运行结果是()。
#include
voidmain()
{charstr[]="abc",*p=str;
printf("%d\n",*(p+3));
}
67
0
字符'C'的地址
字符'C'
~B
若有以下定义,则对a数组元素的正确引用是()。
inta[5],*p=a;
*&a[5]
*a+1
*(p+5)
*(a+2)
~D
若变量a和b已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的输出语句[]。
~~~2
*执行下列程序时,输入1234567,则输出结果是[<1234>]。
*#include
*main()
*{inta=1,b;
*scanf("%2d%2d",&a,&b);printf("%d%d\n",a,b);
*}
数字字符0的ASC||值为48,运行下列程序的输出结果是()。
main()
{chara='1',b='2';
printf("%c,",b++);
printf("%d\n",b-a);
}
3,2
50,2
2,2
2,50
~C
下列不合法的字符常量是()。
'\018'
'\"'
'\\'
'\xcc'
~A
下列能正确定义字符串的语句是()。
charstr[]={'\064'};
charstr="kx43";
charstr='';
charstr[]="\0";
~D
下列合法的字符型常量是()。
'\x13'
'\081'
'65'
"\n"
~A
已知大写字母A的ASC||码是65,小写字母a的ASC||码是97。
下列不能将变量c中的大字字母转换为对应小写字母的语句是()。
c=(c-'A')%26+'a'
c=c+32
c=c-'A'+'a'
c=('A'+C)%26-'a'
~D
已知字符'A'的ASC||码值是65,字符变量c1的值是'A',c2的值是'D'。
执行语句printf("%d,%d",c1,c2-2);后,输出结果是()。
A,B
A,68
65,66
65,68
~C
下列正确的字符串常量是()。
"\\\"
'abc'
OlympicGames
""
~D
要求通过while循环不断读入字符,当读入字母N时结束循环。
若变量已正确定义,下列正确的程序段是()。
while((ch=getchar())!
='N')printf("%c",ch);
while(ch=getchar()!
='N')printf("%c",ch);
while(ch=getchar()=='N')printf("%c",ch);
while((ch=getchar())=='N')printf("%c",ch);
~A
有以下程序段()。
charch;intk;
ch='a';k=12;
printf("%c,%d,",ch,ch,k);
printf("k=%d\n",k);
已知字符a的ASC||十进制代码为97,则执行上述程序段后输出结果是
因变量类型与格式描述符的类型不匹配输出无定值
输出项与格式描述符个数不符,输出为零值或不定值
a,97,12k=12
a,97,k=12
~D
有定义语句:
intb;charc[10];,则正确的输入语句是()。
scanf("%d%s",&b,&c);
scanf("%d%s",&b,c);
scanf("%d%s",b,c);
scanf("%d%s",b,&c);
~B
设有定义:
inta;floatb;,执行scanf("%2d%f",&a,&b);语句时,若从键盘输入876543.0,a和b的值分别是()。
876和543.000000
87和6.000000
87和543.000000
76和543.000000
~B
设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。
下面的输入形式中正确的是()(注:
□代表空格字符)。
10□X□20□Y
10□X20□Y
10□X20Y
10X20□Y
~A
有下列程序段:
intj;floaty;charname[50];
scanf("%2d%f%s",&j,&y,name);
当执行上述程序段,从键盘上输入555667777abc后,y的值为()。
55566.0
566.0
7777.0
566777.0
~B
以下选项中不是字符常量的是()。
'\v'
'\x2a'
'a'
"\0"
~D
以下选项中非法的字符常量是()。
'\\'
'\020"
'\xAA'
'0'
~B
在执行完下面的C语句段之后,则B的值是()。
chara='A';
intb;
B=((34&&56)&&(a<'b'));
0
1
TRUE
FALSE
~B
若变量已正确定义,以下正确的程序段是(