D)(!
(a+b)==c&&a)(正确答案)
5、已知:
inta[2][3];则对数组元素的非法引用是【】[单选题]*
A.*(a[0]+2)
B.a[1][3](正确答案)
C.a[1][0]
D.*(*(a+1)+2)
6、在循环语句的循环体中执行break语句,其作用是【】。
[单选题]*
A)跳出该循环体,提前结束循环(正确答案)
B)继续执行break语句之后的循环体各语句
C)结束本次循环,进行下次循环
D)终止程序运行
7、执行语句for(i=10;i>0;i--);后,变量i的值为【】。
[单选题]*
A)10
B)9
C)0(正确答案)
D)1
8、若有int*p1,*p2,k;不正确的语句是【】[单选题]*
A.p1=&k
B.p2=p1
C.*p1=k+12
D.k=p1+p2(正确答案)
9、在函数中未指定存储类别的局部变量,其隐含的存储类别是【】[单选题]*
A.静态(static)
B.外部(extern)
C.自动(auto)(正确答案)
D.寄存器(register)
10、如下程序的输出结果是【】
main()
{intx=2,a=0,b=0;
switch(x)
{case2:
a++;b++;
case1:
++a;b--;break;
case0:
b++;}
printf("a=%d,b=%d\n",a,b);}[单选题]*
A.a=2,b=0(正确答案)
B.a=2,b=1
C.a=1,b=1
D.a=1,b=0
11、表示关系a
A.(a
B.(a
C.(a
D.(a
12、有以下程序
#include
main()
{intx;
scanf(“%d”,&x);
if(x<=3);else
if(x!
=10)printf(“%d\n”,x);}
程序运行时,输入的值在哪个范围才会有输出结果。
【】[单选题]*
A.不等于10的整数
B.大于3且不等于10的整数(正确答案)
C.大于3或不等于10的整数
D.小于3的整数
13、下面有关for循环的正确描述是()[单选题]*
A、for循环只能用于循环次数已经确定的情况
B、for循环是先执行循环体语句,后判定表达式
C、在for循环中,不能用break语句跳出循环体
D、for循环体语句中,可以包含多条语句,但要用花括号括起来(正确答案)
14、若a,b,c,d均为整型变量,执行以下程序段后的t的值为【】
#defineMAX(A,B)(A)<(B)?
(A):
(B)
................
a=5;b=3;c=3;d=4;
t=MAX(a+b,c+d)*10;[单选题]*
A.70(正确答案)
B.7
C.8
D.80
15、执行以下程序段后,m的值为【】
inta[6]={1,2,3,4,5,6},m,*p;
p=&a[0];
m=(*p)*(*(p+2))*(*(p+4));[单选题]*
A)15(正确答案)
B)14
C)13
D)12
二、判断题(本大题共10小题,每题1分,共10分,答√表示说法正确.答╳表示说法不正确)
16.字符型数据不可以进行加减运算。
( )[判断题]*
对
错(正确答案)
17.函数定义与函数的声明是一回事。
[判断题]*
对
错(正确答案)
18.在C语言中函数能嵌套调用,也能嵌套定义。
[判断题]*
对
错(正确答案)
19.在C语言中switch语句必须使用break语句。
[判断题]*
对
错(正确答案)
20.for循环中的三个表达式都可以省略。
[判断题]*
对(正确答案)
错
21.do-while循环是先进行循环体语句,后判断表达式。
[判断题]*
对(正确答案)
错
22.只能在main()函数中定义静态变量。
[判断题]*
对
错(正确答案)
23.char*s1=“Ilovechina”;定义了一个指针变量s1,它的初值为字符串“Ilovechina”的首地址。
[判断题]*
对(正确答案)
错
24.int*p[4];与int(*p)[4];的作用相同,都是定义了一个指向数组的指针。
[判断题]*
对
错(正确答案)
25.预处理命令行最后也是以分号(;)结尾的。
[判断题]*
对
错(正确答案)
三、填空题(每空2分,共20分。
)
26、在C语言中*作为单目运算符时表示____________,作为双目运算符时表示__________,而作为一种标记时表示______________。
[填空题]*
_________________________________(答案:
请设置答案)
27、表达式(a=3*5,a*4),a+5中a的值是__________,整个表达式的值是_________。
[填空题]*
_________________________________
28、设有如下的类型说明:
inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
若数组所占内存单元的起始地址为446且整型数据占4个字节,则p+5=_______,*(p+5)=______。
[填空题]*
_________________________________
29、若定义了如下的共用体类型变量x和结构类型变量y,则x和y所占用的内存字节数分别为_________和__________。
unionstu1structstu2
{intnum;{intnum;
charname[5];charname[5];
chars;}x;chars;}y;[填空题]*
_________________________________
30、有以下程序
#include
main()
{charc1,c2;
scanf(“%c”,&c1);
while(c1<65||c1>96)scanf(“%c”,&c1);
c2=c1+32;
printf(“%c,%c”,c1,c2);
}
程序运行输入65回车后,能否输出结果。
(请回答能或不能)______。
[填空题]*
_________________________________(答案:
请设置答案)
四、阅读程序写出运行结果(本大题共4小题,每题5分,共20分)
31、#include
voidmain()
{inta=10,b=18;
fun1(a,b);
}
intfun1(intx,inty)
{if(x>y)
printf("a>b\n");
elseif(xelseprintf("a==b\n");
}
运行结果:
[填空题]*
_________________________________
32、intfun(inta)
{intb=0;
staticintc=3;
b=b+1;
c=c+1;
return(a+b+c);}
main()
{inta=2,i;
for(i=0;i<3;i++)
printf(“%d”,fun(a));}
运行结果:
[填空题]*
_________________________________
33、main()
{inta[2][3]={1,2,3,4,5,6},b[3][2],i,j;
for(i=0;i<=1;i++)
{for(j=0;j<=2;j++)
{b[j][i]=a[i][j];}
printf(“\n”);}
for(i=0;i<=2;i++)
{for(j=0;j<=1;j++)
printf(“%5d”,b[i][j]);
printf(“\n”);}
}
运行结果:
[填空题]*
_________________________________
34、#include
voidfun(int*p1,int*p2)
{intt;
t=*p1;*p1=*p2;*p2=t;}
voidmain()
{intx,y;
int*p1,*p2;
scanf("%d,%d",&x,&y);
p1=&x;p2=&y;
if(x>y)fun(p1,p2);
printf("x=%d,y=%d",x,y);}
若输入5,3,则运行结果是:
[填空题]*
_________________________________
五、编写程序(本大题共2小题,每题10分,共20分。
)
35、输入两个正整数m和n,求其最大公约数和最小公倍数。
[上传文件题]*
36、对10个数进行排序,按从小到大的顺序输出。
[上传文件题]*
基本信息:
[矩阵文本题]*
姓名:
________________________
部门:
________________________
员工编号:
________________________