单项选择题
1、在定义inta[3][4];后,第10个元素是(2 分)
2、阅读程序回答问题:
main( )
{int i,j,k,m=0;
for(i=1;i<4;i++)
for(j=1;j<4;j++)
for(k=1;k<4;k++)
m++;
printf(“M=%d”,m);
}
以上程序输出M=( ).(2 分)
3、以下选项中合法的字符常量是(2 分)
4、以下叙述正确的是(2 分)
5、下面程序的运行结果是
Main( )
{struct cmplx{intx;
inty;
}cnum[2]={1,3,2,7};
Printf(“%d\n”,cnum[0].y/cnum[0].x*cnum[1].x); }(2 分)
6、以下程序的输出结果是unionmyun
{struct{intx, y, z; } u; intk;
} a;
main()
{a.u.x=4;a.u.y=5;a.u.z=6;
a.k=0;
printf("%d\n",a.u.x);
}(2 分)
7、有以下程序
main()
{ int i=10,j=1;
printf("%d,%d\n",i--,++j);
}
执行后输出的结果是(2 分)
8、已知:inta[2][3]={1,2,3,4,5,6}, (*p)[3]=a;下列表达式不是4的是(2 分)
9、以下程序的输出结果是main()
{inta=3;
printf("%d\n",a+(a-=a*a) ); }(2 分)
10、有以下程序
void f(int x,int y)
{ int t;
if(x<y){ t=x; x=y; y=t; }
}
main()
{ int a=4,b=3,c=5;
f(a,b); f(a,c); f(b,c);
printf("%d,%d,%d\n",a,b,c);
}
执行后输出的结果是(2 分)
11、设有语句inta=3;则执行语句a+=a-=a*a;后,变量a的值是(2 分)
12、下列程序运行的结果为#include<stdio.h>
Main()
{intk=0;
Char c=’A’;
Do
{switch(c++)
{ case ‘A’:k++;break; Case ‘B’:k--;break; Case ‘C’:k+=2;break; Case ‘D’:k=k%2;break; Case ‘E’:k=k*10;break; Default:k=k/3;
}
K++;
}while(c<’G’);
Printf(“k=%d”,k);
}(2 分)
13、C语言中用于结构化程序设计的三种基本结构是(2 分)
14、下面程序的输出结果是
typedef struct
{longx[2];
shorty[4];
charz[8];
}MYTYPE;
MYTYPE a;
{printf("%d\n",sizeof(a));}(2 分)
15、以下能正确进行字符串赋值的是(2 分)
16、以下程序的输出结果是
main()
{int i, a[10];
for(i=9;i>=0;i- -) a[i]=10-i;
printf("%d%d%d",a[2],a[5],a[8]);
}(2 分)
17、若有char c[5]={'c','d','\0','e','\0'};则执行语句printf("%s",c);结果是(2 分)
18、设有以下宏定义:
#define M 2
#define X(m) ((M+2)*m)
则执行语句:z=2*(M+X(3+2));后,z的值为(2 分)
19、在C语言中,合法的长整型常数是(2 分)
20、有以下程序
main()
{ int m[][3]={1,4,7,2,5,8,3,6,9}; int i,k=2;
for(i=0;i<3;i++)
{ printf("%d ",m[k][i]); }
}
执行后输出结果是(2 分)
21、在如下程序段中的while循环intk=0;
While(k=1) k++;(2 分)
22、t为int类型,进人下面的循环之前,t的值为0 while( t=l )
{ ……}
则以下叙述中正确的是(2 分)
23、有以下程序
main()
{ int i;
for(i=0;i<3;i++)
switch(i)
{ case 1: printf("%d",i);
case 2: printf("%d",i);
default: printf("%d",i);
}}
执行后输出的结果是(2 分)
24、下面程序的输出结果是
#define POWER(x) (x*x)
main()
{int i=4;printf("%d",POWER(i-2)); }(2 分)
25、在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是(2 分)
26、下列关于C语言用户标识符的叙述中正确的是(2 分)
27、以下选项中属于C语言的数据类型是(2 分)
28、若有float x;则sizeof(x)和sizeof(float)两种描述(2 分)
29、设有如下说明
typedef struct
{ int n; char c; double x;}STD;
则以下选项中 ,能正确定义结构体数组并赋初值的语句是(2 分)
30、以下有宏替换不正确的叙述(2 分)
31、下列程序运行的结果为
#include<stdio.h>
fun(int x,int y,int *cp,int *dp) {
*cp=x+y;
*dp=x-y;
}
main()
{int a,b,c,d ;
a=30 ;
b=50;
fun(a,b,&c,&d);
printf(“%d,%d\n”,c,d);
}(2 分)
32、以下有4组用户标识符,其中合法的一组是(2 分)
33、执行charstr[10]=”Ch\nina”;strlen(str)的值是(2 分)
34、若有以下说明和语句,且0<=i<10,则( )是对数组元素的错误引用int a[]={1,2,3,4,5,6,7,8,9,0},*p,i;
p=a;(2 分)
35、以下选项中,不能正确赋值的是(2 分)
36、有以下程序段
int m=0,n=0; char c=’a’;
scanf("%d%c%d",&m,&c,&n);
printf("%d,%c,%d\n",m,c,n);
若从键盘上输入:10A10<回车>,则输出结果是:(2 分)
37、若有代数式3ae/(bc),则不正确的C语言表达式是(2 分)
38、设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值位为(2 分)
39、有以下程序
main()
{ char *s[]={"one","two","three"},*p;
p=s[1];
printf("%c,%s\n",*(p+1),s[0]);
}
执行后输出结果是(2 分)
40、一个C程序的执行是从(2 分)
判断题
41、在switch语句中,每一个的case常量表达式的值可以相同。
( )(5 分)
42、continue不是结束本次循环,而是终止整个循环的执行。
( )(5 分)
43、任何表达式语句都是表达式加分号组成的。
( )(5 分)
44、case语句后如没有break,顺序向下执行。
( )(5 分)。