广州美术学院
计算机语言C预测卷
总分:150分 考试时间:120分钟
注意事项:
题目包括五大部分, 单项选择题,判断题,填空题,程序分析题,编程题,请按要求在规定时间内作答。
考试中途不能无端离场,否则视为放弃。考试过程中如遇问题请及时向监考老师反馈。
一、单项选择题(每小题2 分,共 40分)
1、若变量a、b、x、i都已正确定义并赋值,则以下符合c语言语法的表达式是________。
A、a+=a-=(b=4)*(a=3)
B、x%(-3);
C、a=a*3=2
D、v=float(i)
【答案】A
2、下面四个选项中,均是不合法的用户标识符的选项是________。
A、A P_0 do
B、float la0 _A
C、b-a goto int
D、_123 temp int
【答案】C
3、c 语言源程序名的后缀是________。
A、c
B、cp
C、obj
D、exe
【答案】A
4、c语言对嵌套if语句的规定是:else总是与( ) 。
A、其之前最近的if配对
B、其之前最近的且尚未配对的if配对
C、缩进位置相同的if配对
D、第一个if配对
【答案】B
5、若有以下程序段,w和k都是整型变量:w=k;
lb:if(w==0) goto le;
w--;
printf("*");
goto lb;
le: . . .则不能与上面程序段等价的循环语句是______。
A、for(w=k;w!=0;w--)printf("*");
B、w=k;<CR>while(w--!=0)printf("*");w++;
C、w=k;<CR>do {
w--;printf("*");}while(w!=0);
D、for(w=k;w;--w)printf("*");
【答案】C
6、已有定义:char a[]="xyz",b[]={'x','y','z'}; 以下叙述中正确的是________。
A、数组a和b的长度相同
B、a数组长度小于b数组长度
C、a数组长度大于b数组长度
D、上述说法都不对
【答案】C
电脑编程工资多少7、执行下面的程序段int x=5;
char z='a';
int b;
b=((x&15)&&(z<'a') );
后,b的值为________。
A、0
B、1
C、2
D、3
【答案】B
8、若有以下语句,则正确的描述是char a[] ="toyou";
char b[] ={′ t′ ,′o′ ,′ y′,′o′ ,′u′ };
A、a 数组和b 数组的长度相同
B、a 数组长度小于b 数组长度
C、a 数组长度大于b 数组长度
D、a 数组等价于b 数组
【答案】C
9、若x是整型变量,pb是类型为整型的指针变量,则正确的赋值表达式是______。
A、pb=&x;
B、pb=x;
C、*pb=&x;
D、*pb=*x
【答案】A
10、null是指 ________。
A、0
B、空格
C、未知的值或无任何值
D、空字符串
【答案】C
【解析】此题属于记忆性的题目,NULL是指未知的值或无任何值。
11、下面是有关c语言字符数组的描述,其中错误的是________。
A、不可以用赋值语句给字符数组名赋字符串
B、可以用输入语句把字符串整体输入给字符数组
C、字符数组中的内容不一定是字符串
D、字符数组只能存放字符串
【答案】D
12、函数的形式参数隐含的存储类型说明是________。
A、extern
B、static
C、register
D、auto
【答案】D
13、"对下面程序段:
#define A 3
#define B(a) ((A+1)*a)...x=3*(A+B(7)); 正确的判断是________。"
A、程序错误,不许嵌套宏定义
B、程序错误,宏定义不许有参数
C、x=93
D、x=21
【答案】C
14、以下函数按每行8个输出数组中的数据
void fun( int *w, int n)
{
int i;
for(i=0;i<n;i++)
{
________ printf("%d",w[i]);
}
printf("\n");
}
下列划线处应填入的语句是________。
A、if(i/8==0)printf(“\n”);
B、if(i/8==0)continue;
C、if(i%8==0)printf(“\n”);
D、if(i%8==0)continue;
【答案】C
15、若有定义 double x=1 , y; 则以下的语句执行的结果是______。 y=x+3/2; printf( " %f " ,y);
A、2.500000
B、2.5
C、2.000000
D、2
【答案】C
16、有以下程序
#include<stdio.h>
main ()
{
int i, n;
for (i = 0; i < 8; i++)
{
n = rand () % 5;
switch (n)
{
case 1:
case 3:
printf ("%d\n", n);
break;
case 2:
case 4:
printf ("%d\n", n);
continue;
case 0:
exit (0);
}
printf ("%d\n", n);
}
}
以下关于程序执行情况的叙述,正确的是______。
A、for循环语句固定执行8次
B、当产生的随机数n为4时结束循环操作
C、当产生的随机数n为1和2时不做任何操作
D、当产生的随机数n为0时结束程序运行
【答案】D
【解析】阅读本程序可知,当产生随机数为4时,会继续执行循环;当产生随机数为1和2时,会顺势执行case 1或case 2下面的语句,进而输出结果;当产生随机数为O时,正常结束程序的运行。for循环语句随着产生的随机数的不同,执行的次数也不相同。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论