1C语言提供的合法的数据类型关键字是
A)Double B)short C)integer D)Char
2、表达式:10!=9的值是
A)true B)非零值 C)0 D)1
3、在下列选项中,不正确的赋值语句是
A)++t; B)n1=(n2=(n3=0));
C)k=i==j; D)a=b+c=1;
4、若有说明:int i,j=7, *p=&i;,则与i=j;等价的语句是
A)i= *P; B)*P=*&j; C)i=&j; D)i=**p;
5、不能把字符串:Hello!赋给数组b的语句是
A)char b[10]={'H','e','l','l','o','!'};
B)char b[10];b="Hello!";
C)char b[10];strcpy(b,"Hello!");
D)char b[10]="Hello!";
6、若有以下说明:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则数值为6的表达式是
A)*p+6 B)*(p+6) C)p+5 D) *p+=5
7、若有以下说明:
int w[3][4]o={{0,1},{2,4},{5,8}};
int(*p)[4]=w;
则数值为4的表达式是
A)*w[1]+1 B)p++,*(p+1)
C)w[2][2] D)p[1][1]
8、若程序中有下面的说明和定义
struct abc
{int x;char y;}
struct abc s1,s2;
则会发生的情况是
A)编译出错 B)程序将顺利编译`连接`执行
C)能顺利通过编译`连接`但不能执行 D)能顺利通过编译`但连接出错
9、在C语言提供的合法的关键字是
A)swicth  B)cher
C)default D) Case
10、在C语言中,合法的字符常量是
A)'\084'  B)'\x43'
C)'ab'    D)"\0"
11、若已定义xydouble类型,则表达式:x=1,y=x+3/2的值是
A)1 B)2
C)2.0 D)2.5
12、合法的数组定义是
A)int a[]="string"; B)int a[5]={0,1,2,3,4,5};
C)vhst s="string"; D)char a[]={0,1,2,3,4,5};
13、若有定义和语句: 字符常量合法
char s[10]s="abcd";printf("%s\n",s);
则结果是(以下u代表空格)
A)输出abcd B)输出a
C)输出abcduuuuu D)编译不通过
14、若有定义和语句:
int **pp,*p,a=10,b=20;
pp=&p;p=&a;p=&b;printf("%d%d\n",*p,**pp);
则输出结果是:
A)10,20 B)10,10
C)20,10 D)20,20
15、若有以下定义和语句:
int u=010,v=0x10,w=10;
printf("%d,%d,%d\n”,u,v,w);
则输出结果是:
A)8,16,10 B)10,10,10
C)8,8,10 D)8,10,10
16、若有以下定义和语句
char c1='b',c2='e';
printf("%d,%c\n",c2-c1,c2-'a'+"A");
则输出结果是:
A)2,M B)3,E
C)2,E D)输出项与对应的格式控制不一致,输出结果不确定
17、若有以下定义:
char s[20]="programming",*ps=s;
则不能代表字符o的表达式是
A)ps+2 B)s[2]
C)ps[2] D)ps+=2,*ps
18、若ij已定义为int类型,则以下程序段中内循环体的总的执行次数是
for (i=5;i;i--)
for(j=0;j<4;j++){...}
A)20 B)25 C)24 D)30
19、若有以下定义和语句:
char *s1="12345",*s2="1234";
printf("%d\n",strlen(strcpy(s1,s2)));
则输出结果是
A)4 B)5 C)9 D)10
20、若有以下定义和语句:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则不能表示a数组元素的表达式是
A)*p B)a[10] C)*a D)a[p-a]
21、下面程序的输出是
main()
{ char *s="121";
int k=0, a=0, b=0;
do {k++;
if(k%2==0) {a=a+s[k]-'0';
continue;}
b=b+s[k]-'0';
a=a+s[k]-'0';
}
while (s[k+1]);
printf("k=%d a=%d b=%d\n",k,a,b);
A)k=3 a=2 b=3 B)k=3 a=3 b=2
C)k=2 a=3 b=2 D)k=2 a=2 b=3
22、下面程序的输出是
main()
{ unsigned a=32768;
printf("a=%d\n",a);
}
A)a=32768 B)a=32767
C)a=-32767 D)a=-1
23、若有以下定义:
float x;int a,b;
则正确的switch 语句是
A)switch(x)                B)switch(x)
{ case1.0:printf("*\n");    { case1,2:printf("*\n");
case2.0:printf("**\n");      case3:printf("**\n");
}                            }
C)switch (a+b)            D)switch (a+b)
{ case 1:printf("\n");      { case 1:printf(."*\n");
case 1+2:printf("**\n");    case 2:printf("**\n");
}                              }
24、若有定义:int x,y;char a,b,c;并有以下输入数据(此处< CR> 代表换行符,u代表空格):
1u2
AuBuC
则能给x赋整数1,y赋整数2,a赋字符A,b赋字符B,c赋字符C 的正确程序段是
A)scanf("x=%dy+%d",&x,&y);a=getchar();b=getchar();c=getchar();
B)scanf("%d%d",&x,&y);a=getchar();b=getchar();c=getchar();
C)scanf("%d%d%c%c%c”,&x,&y,&a,&b,&c);
D)scanf("%d%d%c%c%c%c%c%c”;&x,&y,&a,&a,&b,&b,&c,&c);
25、以下程序输出的结果是
#include
#include
main()
{ char w[][10]={"ABCD","EFGH","IJKL","MNOP"},k;
for (k=1;k<3;k++)
printf("%s\n",&w[k][k]);
}
A)ABCD  B)ABCD    C)EFG    D)FGH
FGH      EFG        KL        KL
M      JK        IJ 
26、若有以下的定义:
int a[]={1,2,3,4,5,6,7,88,9,10), *p=a;
则值为3的表式是
A)p+=2, *(p++)    B)p+=2,*++p
C)p+=3, *p++      D)p+=2,++*p
27、假定所有变量均已正确说明,下列程序段运行后x的值是
a=b=c=0;x=35;
if(!a)x--;
else if(b);
if(c)x=3;
else x=4;
A)4 B)34 C)35 D)3
28、在以下一组运算符中,优先级最高的运算符是
A)<=  B)=  C)%  D)&&
29、若有以下定义和语句:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。