华南农业大学2016上学期C语言A卷试卷及答案
- 格式:doc
- 大小:137.50 KB
- 文档页数:8
问卷共6页,第7页 装订线 华南农业大学期末考试试卷(A卷)
2016学年第1学期 考试科目: C语言程序设计
考试类型:(闭卷)考试 考试时间: 120 分钟
学号 姓名 年级专业
考生注意
1、答案必须分别写在“机读卡”和“答卷”上,写在本试卷上不得分。
2、必须在机读卡和答卷上正确填写班级、学号、姓名等内容,否则没有考试成绩。
3、机读卡的学生代号区只需填写学号后10位。
4、考试结束时,“机读卡”、“答卷”和本试卷都要上交。
一、选择题(在机读卡上答题,本题共20小题,每小题2分,共40分)
1. 下面四个选项中,均是不合法的C用户标识符是。( )
A. P B. float C. b-a D.
_123
P_0 1a0 char
temp
Do _A 1a0 INT
2. C程序设计有三种基本结构,除选择结构外,另两种结构是( )。
A. 嵌套, 递归
B. 顺序,循环 C. 递归, 选择 D. 循环,转移
3. 设a,b,c都是int型变量,且a=3;b=4;c=5;则下面的表达式的值为0的是( )。
A. 'a' && 'b' B. a>b C. a||(b+c) &&( b-c) D. (a
4.存储字符串"\\\n\t\bab"
需要的内存空间是( )个字节。
A. 4 B. 5 C. 6
D. 7
5. 设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为( )。
A. 0 B. 1 C. 2 D. 3
6. 设整型变量int x=6,y=8;,则语句printf("%d,%d",++x,y--);的输出结果是( )。
A. 6, 7 B. 7, 7 C. 6, 8 D. 7, 8
7. 已有如下定义:int a,b;char c,d;和输入语句:scanf("%d%d",&a,&b);scanf("%c%c",&c,&d);若要求输入变量a,b,c,d的值分别为10,20,A和B时,使相关变量均能获得输入值的正确选项是( )。(注意:︼表示空格,表示回车)
A. 1020AB B. 10︼20AB C. 10︼20AB D. 1020AB
8. 以下程序段的输出结果是( )。
float a=4534.5678; printf ("%f, %3.2f", a, a);
A. 4534.5678, 1234.56 B. 4534.567800, 12.56 题号 一 二 三 四 总分
得分
评阅人 机读 机读
得分
问卷共6页-第8页 C. 4534.567800, 4534.57 D. 提示错误,无结果
9.
以下程序段的输出结果是(
)。
int a=7,b=9,c=6;
if (a>b) a=b;
if(a>c) a=c;
else b=c;
printf ("%d, %d,%d",a,b,c);
A. 6,9,6
B. 7,6,6 C. 9,9,7 D. 7,9,6
10.
以下程序段的输出结果是(
)。
int i, sum=0;
for (i=1; i<5; i++)
{ sum+=i; printf ("%d", sum) ; }
A. 10
B. 01234 C. 13610 D. 15
11.
在循环语句中,遇到( )语句可以终止包含该语句的循环执行。
A. break B. continue C. return D. else
12. 定义字符型变量并输入一个字符:char ch;ch=getchar();判断ch是否为数字字符的正确表达式是() 。
A.'0'<=ch<='9' B.('0'<=ch) AND ('9'>=ch)
C.(ch>='0')&(ch<='9')
D. (ch>='0')&&(ch<='9')
13. 能够实现对字符串 "China"
进行正确赋值的操作是( )。
A. char a[5] = {'C', 'h', 'i','n','a'};
B. char a[] ="China";
C. char a[5] = {"China"}; D. char a[6]; s="China";
14. 若有int s[4]={4,3,2,1}; 则s[s[1]+s[2]*2-s[0]]的值是( )。
A.4
B.1 C. 2
D.3
15.下面程序的运行结果是(
)。
#include
int main( )
{ int a=0, i=3;
switch(i)
{ case 3: a+=3;
case 1:
case 2: a+=2;break;
default: a+=5;
}
printf("%d ",a);
}
A.3 B. 5 C. 10
D. 0
16. 假定每个int类型的数据在内存中占4字节,数组array的定义为:int array[10];
若array在内存中的起始地址是2000(十进制),则array[3]的起始地址(十进制)是(
)。
A. 2012 B. 2014
C. 2018
D. 2020
17. 调用以下函数得到的返回值的数据类型是( )。
int fun(float x)
{ float y;
y=3*x-4;
return (y) }
问卷共6页,第7页 装订线 A.int
B.不确定 C.void
D.float
18. 设有程序段如下:
int k=10;
while(k=0) k=k-1;
则下面描述中正确的是( )。
A. while循环执行10次 B. 循环是无限循环
C. 循环体语句一次也不执行
D.
循环体语句执行1次
19. 设有宏定义命令 #define SUM 4+3 ,则表达式2+SUM*3的值为(
)。
A. 39
B. 30 C. 23 D. 15
20. 下列程序的执行结果是( )。
#include
int a=7, b=3;
void fun (int x, int y)
{ x=x-y; y=x+y; }
main ( )
{ int a=8, b=6;
fun(a,b);
printf ("%d,%d", a,b);
}
A. 4, 7
B. 7,3 C. 2,6
D. 8,6
二、判断题(在机读卡上答题,本题共20小题,每小题1分,共20分)
请用2B型铅笔涂答题卡,按题号顺序,正确的判断涂黑”A”、错误的判断涂黑”B”
21. 由于C程序执行的入口是main函数,所以定义main函数的位置必须在文件的开头。( )
22. C语言规定,标识符中的字符是有大小写区分的。(
)
23. 在 "do{循环体}while(循环条件); "这个循环语句中,循环体的内容有可能一次都无法运行。( )
24. 在switch语句中,switch与case后的表达式可以是任意数据类型。(
)
25. 一个函数的函数体内包括数据说明定义部分和执行语句部分,两部分可以交叉出现。( )
26.
字符常量是用一对单引号括起来的一个字符或者是C规定的转义字符 。(
)
27. getchar( )函数的功能是从终端输入一个字符串。( )
28. 执行语句“ for(i=1;i<10;i++ ) ; ”后变量i的值是10。( )
29. C程序中使用过多的注释语句不会影响程序的正常执行。( )
30. 在一个函数中说明的变量,其有效作用范围是该函数以及调用它的函数。( )
31. void play(int x, int y); 是一个合法的函数原型声明。( )
32. 若对字符串str1和字符串str2进行比较,必须使用字符串比较函数strcmp(str1,str2),而不能使用关系运算符进行比较,例如str1==str2。( )
33. 已有数组定义double x[4];则该定义语句说明x是具有4个元素的一维数组,且数组元素是x[1],x[2],x[3],x[4]。( ) 得分
问卷共6页-第8页 34. 所有逻辑运算符的优先级都低于关系运算符。(
)
35. 进行宏定义时,可以引用已经定义的宏名进行层层置换。(
)
36. 在if语句中,if后面的表达式可以是关系表达式与逻辑表达式,而不能是算术表达式。(
)
37. 一个函数必须有且只能有一个return语句。(
)
38. 在逻辑表达式的求解过程中,并非所有的逻辑运算符都被执行。(
)
39. 调用一个有参数的函数时,可以不对形参传入数据。( )
40. continue语句在while的循环体中出现,其作用是结束本次循环,紧接着进行是否执行下一次循环的判定。( )
三、阅读程序填空题(请在答卷上答题,本题共7小题20空,每空1分,共20分)
1. 下面程序实现由键盘输入3个数a,b,c,并按由大到小的顺序输出,请填空完善。
#include
int main( )
{ int
a,b,c,t;
scanf("%d%d%d", &a,&b,&c);
if(a
1
if( 2 )
{ t=a; a=c; c=t; }
if ( 3 )
{ t=b; b=c; c=t; }
printf("The sorted number is: %d %d %d\n", a,b,c);
return 0;
}
2. 以下程序功能为:输入一个整数m,判断它是否为素数,请填空。(判断整数m是否是素数的标准是:除了1与m以外,m不能被1~m中其它整数整除)
#include
int main( )
{ int m, i,flag=1;
scanf("%d",
4 );
for (i=2; i< 5 ; i++)
if(m%i == 0)
{ flag=0 ;
6 ;
}
if (
7 )
printf("%d is a prime number\n", m);
return 0;
}
3.下面程序的功能为:从键盘上输入一个正整数,则输出该正整数各位数字值的和。(如输入123,则输出6:即1+2+3的和) 得分