《高级语言程序设计》
班级: 学号: 姓名: 题 号 一 二 三 四 五 总 分 得 分
一、 选择题(每空2分,共30分) 1、下面标识符中正确的标识符是:( ) A. t=2 B. a+ C. 5c D. c5 2、“\\n”在内存中占用的字节数是:( ) A. 0 B. 1 C. 2 D. 3
3、设有语句 int x=4; 则执行 x *= x 后,变量x 的值为:( ) A. 0 B. 4 C. 8 D. 16
4、设a,b均为1,执行(a =0)&& (b =4) 后,a,b的值为:( A. 0,0 B. 4,4 C. 0,1 D. 1,0 5、下列运算符的优先级最高的是( ) A. 关系运算符 B. 算术运算符 C. 赋值运算符 D. 逻辑运算符 6、以下描述正确的是:( )
A. 函数的定义可以嵌套,但函数的调用不可以嵌套 B. 函数的定义不可以嵌套,但函数的调用可以嵌套 C. 函数定义和函数的调用均不可以嵌套 D. 函数的定义和函数的调用均可以嵌套` 7、getchar函数可以从键盘上读取:( )
A. 整型值 B. 实型值 C. 字符串 D. 单个字符 8、若有定义:char c[4]={?a?,?a?,?a?};则数组中第4个数为:( )A. ?a? B. 4 C. ?\\0? D. 随机数 9、变量的指针,其含义是指该变量的:( )
A. 值 B. 地址 C. 名 D. 使用形式 10、若有以下语句,则输出结果为:( )
char s[6]={?a?,?b?,?c?,?d?,?\\0?} printf (“%s”, s);
A. ab cd B. abcd C. ab D. cd
11、若有说明:int b[3][2];则对数组元素的非法引用是:( ) A. b[0][0] B. b[1+1][1] C. b[1][2] D. b[5-3][1]
共5页(第1页)
) 12、在C语言中,要求运算对象必须是整型的运算符是:( )
A. / B. ++ C. != D. % 13、下面哪种变量在内存中占用的字节数不是4:( ) A. long B. int C. unsigned long D. float 14、若有:struct ss
{ int x; float y; } a;
则系统对a变量分配的存储空间有( )个字节; A. 6 B. 10 C. 14 D. 16
15、C语言中char型数据在内存中是以( )形式存储。 A.原码 B.补码 C.反码 D.ASCII码
二、填空题:(每空2分,共20分)
1、表达式“2 = = 3 ”的值是 。 2、若有定义:enum xx { ab, bc=3, cd}
则ab的值为 ,cd的值为 。
3、设有定义:#define F(N) 3*N 则表达式 F(2)的值是 ,表达式F(1+1) 的值是 。
4、若有定义:int x[][3]= {1, 2, 3, 4, 5, 6}; 则数组元素x[0][2] 的值为 ,x[1][1]的值为 。
5、设有 char *c= “good”; 则printf (“%s”, c); 的输出结果为 ,printf (“%c”, *c); 的输出结果为 。 6、已知:union
{ char a; int b; float c; } x; 则sizeof (x) 的值是 ;
三、程序阅读题
1、阅读下列程序,写出输出结果
main() { int i, j;
for ( i=0; i<=2; i++ )
printf (“*”);
} 输出结果为:
共5页(第2页)
2、阅读下列程序,写出输出结果
main () { int x;
for ( x= 1; x<3; x++) { switch (x)
{ case 1: printf (“apple\\n”);
case 2: printf (“orange\\n”); } }
} 输出结果为:
3、阅读下列程序,写出输出结果
main () { int x;
for ( x= 1; x<3; x++) { switch (x)
{ case 1: printf (“apple\\n”); break;
case 2: printf (“orange\\n”); } } }
4、阅读下列程序,写出输出结果
void fun ( int x, int *y ) { x= 2*x; *y= 2*y; }
main () { int x, y; x= 5; y=5; fun (x, &y);
printf (“x=%d,y=%d”, x, y); }
输出结果为:
共5页(第3页)
5、读下列程序,写出程序的输出结果。
#include
{ int k=4,n=0; while(k--); n++;
printf(\return 0; }
输出结果为::1-1
注意:k的值
四、程序填充题(共18分,每空3分) 1、输出2-50之间所有素数
(仔细阅读如下程序,请在下划线处将程序填充完整)。 main()
{ int a, b, f;
for (a=2; (1) ; a++) { (2) ; for (b=1; b<=a; b++) if (a%b= =0) f++;
if ( (3) ) printf (“%d”, a); } }
2、输入一小写字母,将其以大写字母输出。(例:输入b, 输出B)。 (仔细阅读如下程序,请在下划线处将程序填充完整) #include “(1) ” main()
{ (2) ;
c= getchar();
c= (3) ;
putchar (c ); }
五、编程题(共20分,每小题10分) 1、输入两个整数,求最大公约数;(10分)
共5页(第4页)
2、输入一行字符,输出其中小写字母的个数;(10分)
共5页(第5页)