广工C语言试卷及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
院:
一、单选题(每题 2 分,共 60 分)
1.以下描述正确的是 C A) C 程序的执行是从 main()函数开始,到本程序的最后一个函数结束 B) 编译程序对 C 源程序编译时不检查语法 C) C 程序中没有输入输出语句 D) 在一个 C 程序中 main()函数必须出现在所有函数之前 2.结构化程序设计不应该使用 B A) 自顶向下,逐步细化的方法 B) 灵活、简洁的 goto 结构 C) 模块化设计 D) 三种基本结构:顺序结构、选择结构、循环结构的编码方法 3.将 C 源程序进行 B 可得到目标文件。 A) 编辑 B) 编译 C) 连接 D) 运行 4. 在 C 语言中,变量所分配的内存空间大小 C A) 均为两个字节 B) 由用户自己定义 C) 由变量的类型决定 D) 是随意的
5. 以下不能定义为用户标识符是 D
A) min B)_01 C)_int D) 3a
6. 以下选项中可作为 C 语言合法常量的是 D
A) 3e2.0 B) 081 C) e3 D) 123L
7. 若有语句 char c;,并要将字符 a 赋给变量 c ,则下列赋值表达式正确的是 B 。
A) c=a B) c =’a ’ C) c =”a ” D) c =’97’
8. 有程序段 : int a,b; scanf ( “%d,%d ”,&a,&b); 请为之选择运行时正确的输入方法 _____ B___
A ) 1 2↙ B) 1,2 ↙ C)1 ↙2↙ D)1;2 ↙
9.若有语句 int x=5; 则执行语句 x+=x*=10;后, a 的值是 A 。
A) 100 B) 55 C) 60 D) 105
10.下列语句合法的是 B 。
A) 4+a=b=0; B) a=++b; C) a=2=b=6; D) a=4++;
11.执行以下语句,输出结果是 C 。 int x=2; 装 订 线
专 业: 学 号: 姓 名:
printf(“%d”, ((x=4*5, x*5), x+20));
A) 120 B) 100 C) 40 D) 20
12. C 语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为 _ C__
A) 由实参传给形参,再由形参传回给实参
B) 地址传递广东工业大学试卷用纸,共 7 页,第 1 页
C) 单向值传递
D) 由用户指定传递方式
13.以下选项中非法的表达式是 A 。
A) 7.5%2/2 B) x=y=0 C) (char)(66+1) D) ’c’+1 14.下列程序的输出结果是 D 。
void main()
{ float a=3.2;
int b,c;
b=1.2;
c=(b+3.8)/5.0;
printf(“%d\n”,a*c);
}
A) 3 B) 3.2 C) 3.07 D) 0
15. C 语言中用于结构化程序设计的三种基本结构是 A 。
A) 顺序结构、选择结构、循环结构 B) if, switch, break
C) for, while, do-while D) if, for, continue
16. 执行以下程序,输出结果是 D 。
int x, y=3, z=2;
x=(--y==z++)?--y:++z;
printf(“x=%d y=%d z=%d”,x,y,z);
A) x=4 y=2 z=4 B) x=3 y=2 z=3
C) x=4 y=1 z=4 D) x=1 y=1 z=3
17. 已有定义 : char a[]="abc",b[]={'a','b','c'}; 以下叙述中正确的是 C
A) 数组 a 和 b 的长度相同 B) a 数组长度小于 b 数组长度
C) a 数组长度大于 b 数组长度 D)上述说法都不对
18.执行以下程序,输出结果是 C 。
void main()
{ int x=3,y=4,z=2,i;
i=xy;
printf(“i=%d z=%d”, i,z);
}
A) i=0 z=10 B) i=1 z=10 C) i=0 z=2 D) i=1 z=2
19. 用数组名作为函数调用时的实参,实际上传送给形参的是 A
A) 数组首地址 B) 数组的第一个元素值
C) 数组中全部元素的值 D) 数组元素的个数
20. 执行如下语句, 输出 c 的值是 C 。
int c=1, x=3;
switch(x+1)
{ case 4: c++;
case 6: c++;
break;
default: c++;
}
printf(“%d”,c);
A) 1 B) 2 C) 3 D) 4
广东工业大学试卷用纸,共 7 页,第 2 页
21. 若有定义: int a[2][3]; 则对 a 数组的第 i 行 j 列元素的正确引用为 A
A) *(a[i]+j) B) *(a+i)+j C) *(a+i+j) D) a[i]+j
22 .若有如下程序:
void main()
{ int x=1,a=0;
do
{ a++; }while(x,x--);
}
则语句 a++; 执行的次数是 C 。
A) 0 B) 1 C) 2 D) 无限次
23 .以下程序中, while 循环的循环次数是 D 。
void main()
{ int i=0;
while(i<10)
{if(i<1)continue;
if(i==5) break;
i++;
}
……}
A) 1 B) 10 C) 6 D) 死循环,不能确定次数24.下面能正确定义一维数组的选项是 B 。
A) int num[]; B) #define N 10
int num[N];
C) int num[0..10]; D) int N=10;
int num[N];
25.在 C 语言中,函数的隐含存储类别是 C 。
A) auto B) static C) extern D) 无存储类别26.以下程序的输出结果是 C 。
void main()
{ char str[20]=”hell\0o\t” ;
printf(“%d %d\n”,strlen(str),sizeof(str));}
A) 9 7 B) 7 20 C) 4 20 D) 20 20 27.下列选项中不正确的语句组是 A 。