高级语言程序设计试题(A)卷 联系客服

发布时间 : 星期六 文章高级语言程序设计试题(A)卷更新完毕开始阅读63574057d0d233d4b04e69a7

2011—2012学年度下学期期末考试

11 级 计算机教育 专业(三年制) 高级语言程序设计试题(A)卷

(请将答案写在答题纸上,并写清考试课程名称、考场编号、考试时间及题号)

一、填空(每空1分,共10分)

1.C语言中普通整型变量的类型说明符为( int )。

2.设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是( -4 )。 3.C语言中基本的数据类型有:整型、( 浮点型 ) 、字符型。 4.有如下语句:char A[]={\数组A的元素个数为( 8 )个。

5.有如下输入语句:scanf(\为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是( a=1,b=3,c=2 )。 6.C语言的预处理语句以( # )开头。

7.C程序设计中语句后的符号 /*??*/ 所起作用是( 注释 )。

8.结构化程序设计方法规定程序或程序段的结构有三种:顺序结构、选择结构和(循环结构 )。 9.用{}把一些语句括起来称为( 复合 )语句。

10.变量Y满足以下两条件中的任意一个:①能被4整除,但不能被100整除;②能被400整除。请用C语言逻辑表达式表示所给条件,条件为( Y%4==0&&Y0!=0||Y@0==0,或者Y%4==0&&Y0||Y@0==0 )。

二、单项选择(每小题2分,共40分)

1.设整型变量a为5,使b不为2的表达式是( )。 A.b=a/2 C.b=a%2

2.以下说法中正确的是( )。 A.C语言程序总是从第一个的函数开始执行

B.在C语言程序中,要调用的函数必须在main()函数中定义 C.C语言程序总是从main()函数开始执行

D.C语言程序中的main()函数必须放在程序的开始部分 3.以下程序的输出结果是( )。

int x=10,y=10;

printf(\,x--,--y);

1

B.b=6-(--a) D.b=a>3?2:1

A.10 10 C.9 10

B.9 9 D.10 9

4.选出下列标识符中不是合法的标识符的是( )。标识符由字母、下划线、数字这三个方面组成,

但开头必须是字母或下划线。 另外,关键字不能是标识符,如main

A.hot_do B.cat1 C._pri

D.2ab

5.以下程序的输出结果是( )。

int a=5; float x=3.14; a*=x*('E' - 'A'); printf(\,(float)a);

A.62.000000 B.62.800000 C.63.000000

D.62

6.若调用一个函数,且此函数中没有return 语句,则正确的说法是( A.没有返回值 B.返回若干个系统默认值 C.能返回一个用户所希望的函数值

D.返回一个不确定的值

7.以下可用于输入的库函数是( )。 A.printf B.scanf C.scan

D.input

8.以下程序的输出结果是( )。

char str[15]=\; printf(\,strlen(str));

A.15 B.14 C.7

D.6

9.用于输出字符型数据的格式控制符是( )。 A. %f B. %c C. %int

D.%d

10.以下选项中属于C语言的数据类型是( )。 A.复合型 B.双精度型 C.逻辑型

D.集合型

11.以下程序的输出结果是( )。

2

)。 #define f(x) x*x void main() { int a=6,b=2,c; c=f(a)/f(b); printf(\,c);

}

A.9 B.6 C.36

D.18

12.设有如下定义: int x=10,y=3,z;

则语句printf(\的输出结果是( )。 A.1 B.0 C.4

D.3

13.若有如下定义,则( )是对数组元素的正确的引用。 int a[10] , *p ; p=a ; A.*&a[10] B.a[11] C.*(p+10)

D.*p

14.以下不能正确定义二维数组的语句是( )。 A . int a[2][2]={{1},{2}}; B. int a[][2]={1,2,3,4}; C. int a[2][2]={{1},2,3};

D. int a[2][]={{1,2},{3,4}};

15.两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是(int x;

scanf(\

if(x++>5) printf(\else printf(\A. 7和5 B. 6和3 C. 7和4

D. 6和4

16.函数调用不可以( )。 A.出现在一个表达式中 B.出现在执行语句中 C.作为一个函数的实参

D.作为一个函数的形参

17.下列程序段的输出结果是( )。

void main() {

3

。 )

int k;

for (k=1;k<5;k++) { }

if(k%2!=0)

printf(\); else

printf(\) ;

A.#*#* C. ##

18.Break语句的正确的用法是( )。

B.*#*# D.以上都不对

A.无论在任何情况下,都中断程序的执行,退出到系统下一层 B.在多重循环中,只能退出最靠近的那一层循环语句 C.跳出多重循环 D.只能修改控制变量

19. 不能把字符串:Hello!赋给数组b的语句是( )。 A. char b[10]={'H','e','l','l','o','!'}; C. char b[10]; strcpy(b,\

B. char b[10]; b=\D. char b[10]=\

20. 在C程序中有如下语句:char *func(int,int); 它是( )。 A.对函数func的定义 C.对函数func的原型说明

B.对函数func的调用 D.不合法的

三、程序改错(每小题6分,共12分)

1.以下程序中标注有下划线的语句有错误,请改正。

//求a与b的最大值。 #include int a=8,b=5; int max(int a,int b) { }

void main() { }

printf(\,max(a,b)); //改为: int c;

c=A>b?a:b; //改为: return c;

2.以下程序中标注有下划线的语句有错误,请改正。

//求1+2+3+…+100

4