《高级语言程序设计》期末考试试卷附答案
一、选择题(共20题,每题3分,共60分)
1. 下列四个选项中,均是合法的整型常量的选项是()
A.160 –0XFFFF 011  B. -0XCDF 01A 0XE    C. -01 986,012 0688    D. -0X48a 2e5 0x
2. 下列四个选项中,均是不合法的浮点数的选项是()
A.160.0.12 e3  B. 123 2e4.2 .e5C.18 0.0 123e4    D. e3. 234 1e3
3. 合法的C语言字符常数是()
A.'\t'  B. "A"C.54  D. A
4. 在C语言中,要求运算数一定是整型的运算符是()
A./  B. ++C.!=  D. %
5. 字符串常量”mine”的字符个数是()
A.4  B. 5C.6  D. 7
6. 以下属于非法的C语言转义字符的是()
A.'\b'  B. '0xf'C.'\037'  D. '\'
7. 若x、y、z均为int型变量,则执行以下语句后的输出是()
x=(y=(z=10)+5)-5;
printf("x=%d, y=%d, z=%d\n",x,y,z);
y=(z=x=0,x+10);
printf("x=%d, y=%d, z=%d\n",x,y,z);
A. x=10, y=15, z=10
B.x=10, y=10, z=10
x=0, y=10, z=0x=0, y=10, z=0
C.x=10, y=15, z=10
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<;回车>  B. 10, 66.6<;回车>
C.10<;回车>66.6<;回车>  D. x=10<;回车>y=66.6 <;回车>
10. 已有如下定义的输入语句,若要求A1,A2,C1,C2的值分别为10,20,A和B,当从第一列开
始输入数据时,正确的数据输入方式是()(注:□表示空格,<CR>表示回车)int a1, a2,;
char c1, c2;
scanf( “%d%c%d%c”, &a1, &c1, &a2, &c2 );
A.10□A□20B<CR>  B. 10□A□20□B<CR>C.10A20B<CR>  D.
10A20□B<CR>
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. 4C.35  D. 3
13. 若变量c为char类型,能正确判断出c为大写字母的表达式是()
A.'A'<=c<= 'Z'  B. (c>= 'A')||(c<= 'Z')C.('A'<=c)and ('Z'>=c)  D. (c>= 'A')&&(c<= 'Z')
14. 若给定条件表达式:(!n) ? (c++) : (c--),则与表达式n等价的表达式是()
A.n==0  B. n==1C.n!=0  D. n!=1
15. 已知:int a=4, b=5, c; 则执行表达式c=a=a>b后变量a的值为()
A.0  B. 1C.4  D. 5
整型常量合法要求
16. 定义int i=1; 执行语句while(i++<5); 后,i的值是()
A.3  B. 4C.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  B. 2C.3  D. a
二、判断题:(共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。
高级语言程序设计试卷答案
三、编程题:
1. 输出x2的值,x取值从0到10。
#include "stdio.h"
void main()
{
int x;
for(x=0; x<=10; x++)
printf("square(%d)=%d\n", x, x*x);
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。