模拟试卷(七)
一、单项选择题(在本题的每一小题的备选答案中只有一个答案是正确的,请把你认为正确的答案的题号,填入题干的括号内。多选不给分。每题1分,共20分)
1.以下说法中正确的是( )。
(1)c语言程序总是从第一个定义的函数开始执行
(2)c语言程序,要调用的函数必须在主函数main中定义
(3)c语言程序总是从主函数main开始执行
(4)c评议程序中的主函数main必须放在程序的开始部分
2.设有变量说明
int a=3,b=6;
char c;
若执行赋值语句
c=(a^b)<<2;
则c的二进制值是( )。
(1)00011100 (2)00000111 (3)00000001 (4)00010100
3.下述程序执行后的输出结果是( )。
#include <stdio.h>
main()
{
char x=0xFFFF;
printf("%d/n",x--);
}
(10-32767 (2)FFFF (3)-1 (4)-32768
4.有下述程序段
if (a<b)
{
if (c==d)
x=1;
}
else
x=2;
该程序所表示的逻辑关系是( )。
![]()
5.若i、j已定义为int类型,则以下程序段中内循环体执行printf语句的总执行次数是( )。
for (i=5;i;i--)
for (j=0;j<4;j++)
printf("OK./n");
(1)20 (2)24 (3)25 (4)30
6.在执行以下程序时,如果从键盘上输入
ABCdef ![]()
则输出为( )。
#include <stdio.h>
main()
{
char ch;
while ((ch=getchar())!='/n')
{
if (ch>'A'&&ch<'Z')
ch=ch+32;
else if (ch>='a'&&ch<='z')
ch=ch-32;
printf("%c",ch)'
}
printf("/n");
}
(1)ABCdef (2)abcDEF (3)abc (4)DEF
7.执行下述程序的输出结果是( )。
#include <stdio.h>
main()
{
int i,j;
for (j=9;i<j;i++)
{
for (i=9;i<j;i++)
if (!(j%i))
break;
if (i>=j-1)
printf("%d/n",j);
}
}
(1)11 (2)10 (3)9 (4)1011
8.执行下述程序的输出结果是( )。
#include <stdio.h>
main()
{
int k=1;char c='A';
do
{
switch (c++)
{
case 'A':k++;break;
case 'B':k--;
case 'C':k+=2;break;
case 'D':k%=2;continue;
case 'E':k*=2;break;
default:k/=3;
}
k++;
} while (c<'F');
printf("k=%d/n",k);
}
(1)k=1 (20k=15 (3)k=12 (4)以上结果都不对
9.以下关于数组说明的描述中正确的是( )。
(1)数组的大小是固定的,但可以有不同类型的数组元素
(2)数组的大小是可变的,但所有数组元素的类型必须相同
(3)数组的大小是固定的,所有数组元素的类型必须相同
(4)数组的大小是可变的,可以有不同类型的数组元素
10.执行下述程序的输出结果是( )。
#include <stdio.h>
#include <string.h>
main()
{
char w[][10]={"ABCD","EFGH","IJKL","MNOP"},k;
for (k=1;k<3;k++)
printf("%s/n',&w[k][k]);
}
(1)ABCD (2)ABCD (3)EFG (4)FGH
FGH EFG JK KL
KL O