《高级语言程序设计》期末考试试卷附答案
一、选择题(共20题,每题3分,共60分)
1. 下列四个选项中,均是合法的整型常量的选项是( ) A.160 –0XFFFF 011 0x
2. 下列四个选项中,均是不合法的浮点数的选项是( ) A.160. 0.12 e3 1e3
3. 合法的C语言字符常数是( ) A.'\\t'
B. \
C.54
D. A
B. 123 2e4.2 .e5
C.18 0.0 123e4 D. e3. 234
B. -0XCDF 01A 0XE C. -01 986,012 0688 D. -0X48a 2e5
4. 在C语言中,要求运算数一定是整型的运算符是( ) A./
B. ++
C.!=
D. %
5. 字符串常量”mine”的字符个数是( ) A.4
B. 5
C.6
D. 7
6. 以下属于非法的C语言转义字符的是( ) A.'\\b'
B. '0xf'
C.'\\037'
D. '\\'
7. 若x、y、z均为int型变量,则执行以下语句后的输出是( )
x=(y=(z=10)+5)-5;
printf(\ y=(z=x=0,x+10);
printf(\
A. x=10, y=15, z=10
x=0, y=10, z=0 C. x=10, y=15, z=10
B. x=10, y=10, z=10 x=0, y=10, z=0 D. x=10, y=10, z=10
x=10, y=10, z=0
x=10, y=10, z=0
8. 在以下一组运算符中,优先级最高的运算符是( ) A.<= B. =
C.%
D. &&
9. 已知:int x; float y; 所用的scanf调用语句格式为:
scanf( “x=%d, y=%f”, &x, &y );
为了将数据10和66.6分别赋给x和y,正确的输入应当是( ) A.x=10, y=66.6<回车> C.10<回车>66.6<回车>
B. 10, 66.6<回车>
D. x=10<回车>y=66.6 <回车>
10. 已有如下定义的输入语句,若要求A1,A2,C1,C2的值分别为10,20,A和B,当从第一列开
始输入数据时,正确的数据输入方式是( ) (注: □表示空格,
char c1, c2;
scanf( “%d%c%d%c”, &a1, &c1, &a2, &c2 );
B. 10□A□20□B
C.10A20B
D.
A.10□A□20B
11. 能正确表达:“当x取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是( ) A.(x>=1) && (x<=10) && (x>=200) && (x<=210) B. (x>=1) || (x<=10) || (x>=200) || (x<=210) C.(x>=1)&&(x<=10) || (x>=200)&&(x<=210) D. (x>=1) || (x<=10)&&(x>=200) || (x<=210)
12. 假定所有变量均已正确说明,下列程序段运行后x的值是( )
a=b=c=0; x=35; if(!a) x--; else if (b); if(c) x=3; else x=4; A.34
B. 4
C.35
D. 3
13. 若变量c为char类型,能正确判断出c为大写字母的表达式是( ) A.'A'<=c<= 'Z' 'A')&&(c<= 'Z')
14. 若给定条件表达式:(!n) ? (c++) : (c--),则与表达式n等价的表达式是( ) A.n==0
B. n==1
C.n!=0
D. n!=1
B. (c>= 'A')||(c<= 'Z')
C.('A'<=c)and ('Z'>=c)
D.
(c>=
15. 已知:int a=4, b=5, c; 则执行表达式c=a=a>b后变量a的值为( ) A.0
B. 1
C.4
D. 5
16. 定义int i=1; 执行语句while(i++<5); 后,i的值是( ) A.3
B. 4
C.5
D. 6
17. 合法的数组说明是( )
A.int a[] = “string”; B.int a[] = { 0, 1, 2, 3, 4, 5 }; C.char a = “string”; D.char a[] = { 0, 1, 2, 3, 4, 5 };
18. 当调用函数时,实参是一个数组名,则向函数传送的是( ) A.数组的长度
B. 数组的首地址
C.数组每一个元素的地址 D. 数组每个元素中的值 19. 函数调用:strcat(strcpy(str1,str2),str3)的功能是( )
A.将串str1复制到串str2中后再连接到串str3之后 B. 将串str1连接到串str2之后再复制到串str3之后
C.将串str2复制到串str1中后再将串str3连接到串str1之后 D. 将串str2连接到串str1之后再将串str1复制到串str3中
20. 已知:int a[]={1,2,3,4,5,6,7,8,9,10.11.12}, *p=a; 则 (*p) 的值是( ) A.1
二、判断题:(共10题,每题2分,共20分)
( )1.C语言中能使用关键字作为标识符。 ( )2.C语言的标识符命名规则中,第一个字符不可以为字符‘#’或‘&’ 。 ( )3.C语言对字母的大小写敏感。 ( )4.C语言中,符号常量由命令#include来定义。 ( )5.除了逻辑非之外,逻辑运算符的运算优先级都要低于算术运算符。 ( )6.for循环只能用于循环次数已经确定的情况。 ( )7.break语句只能够用在循环语句中。 ( )8.函数既可以嵌套定义又可以嵌套调用。 ( )9.函数的形式参数是局部变量。 ( )10.指针变量是一种特殊类型的变量,用来存放另一个变量的地址。 三、编程题:(20分)
1. 输出x2的值,x取值从0到10。
B. 2
C.3
D. a