2011高级语言程序设计试卷1及答案 下载本文

内容发布更新时间 : 2024/5/17 20:11:44星期一 下面是文章的全部内容请认真阅读。

一、选择题:(共20题,每题1.5分,共30分)

1. C语言属于( A ) A.高级语言 B. 低级语言 C.中级语言 D. 机器语言 2. 下列全部属于合法的用户标识符的是( A ) A.A1 P_0 dS B. float 2la _A C. *a hy kk D. _123 temp main 3. C语言中运算对象必须是整型的运算符为( A ) A.% B. / C.= D. <= 4. 设有int i; char c; float f; 以下结果为整数的表达式是( B ) A.i+f B. i/c C.c+f D. i+c+f 5. 逗号表达式(a=5*3, a+20),a+15的值是( B ) A.35 B. 30 C.40 D. 20 6. 设有语句char a = '\\72'; 则变量a( A ) A.包含一个字符 B. 包含两个字符 C.包含3个字符 D. 说明不合法 7. 若有以下定义和语句,则输出结果是( B ) char c1='b',c2='e';

printf(\ A.2,M B. 3,E C.2,E D. 不确定 8. 设有如下程序段,则下面说法中正确的是( C )

int k=10; while(k=0)

k=k-1;

A.while循环执行10次 B. 循环是无限循环 C.循环体语句一次也不执行 D. 循环体语句执行一次

9. 当pi=3.1415926时,printf(\的输出结果是( C ) (注:□代表空格) A.3.14159 B. 3.14 C.3.14□□□ D. □□□3.14 10. 下列运算符中,优先级最高的是( D ) A.! B. + C.|| D. ( ) 11. 表达式a==b&&b==c计算的优先级别是( C ) A.((a==b)&&b)==c) B. (a==(b&&b))==c C.(a==b)&&(b==c) D. a==((b&&b)==c 12. 已知x=45, ch=?B?,y=0;则表达式(x>=y && ch

B.在switch语句中可以根据需要使用或不使用break语句

C.在switch语句中必须使用break语句 D.break语句不能在switch语句中使用 14. 若变量c为char类型,能正确判断出c为小写字母的表达式是( D ) A.'a'<=c<= 'z' B. (c>= 'a')||(c<= 'z') C.('a'<=c)and ('z'>=c) D. (c>= 'a')&&(c<= 'z') 15. 执行语句for ( i=0; i++<3; ); 后,变量i的值为( C ) A.2 B. 3 C.4 D. 5 16. 已知:int a[10]; 则对a数组元素的正确引用是( D ) A.a[10] B. a[3.5] C.a(5) D. a[0-9] 17. 对字符数组str赋初值,str不能作为字符串使用的一个是( D ) A.char str[]=\ B. char str[]={\C.char str[9]={'s','h','a','n','g','h','a','i'}; D. char str[8]={ 's','h','a','n','g','h','a','i'};

18. 以下对C语言函数的有关描述中,正确的是( A )

A.在C语言中,调用函数时,根据实参传递给形参值的不同,通常有值传递方式和地址传递方式两种。

B.C函数既可以嵌套定义,又可以递归调用 C.函数必须有返回值,否则不能使用函数

D.C程序中有调用关系的所有函数必须放在同一个源程序文件中

19. 已知p1和p2为指针变量,且已指向同一个整型数组中的元素,a是一个整型变量,则下面无意义的语句是( D ) A.a=*p1; B. a=*p1+*p2; C.a=p1-p2; D. p1=a-p2; 20. 已知:int a[]={1,2,3,4,5,6,7,8,9,10.11.12}, *p=a; 则值为3的表达式是( A ) A.p += 2, *(p++) B. p += 2, *++p C.p += 3, *p++ D. *(&a[0][0]+6)

二、判断题:(共10题,每题1分,共10分)

1.C语言中不能使用关键字作为标识符。 ( ) 2.C语言的标识符命名规则中,第一个字符可以为字符?#?或?&? 。 ( ) 3.C语言对字母的大小写不敏感。 ( ) 4.C语言中,符号常量由命令#define来定义。 ( ) 5.逻辑运算符的运算优先级都要低于算术运算符。 ( ) 6.for循环只能用于循环次数已经确定的情况。 ( ) 7.break语句不仅能够用在循环语句中,还可用在switch语句中。 ( ) 8.给出以下定义char x[ ]=\则数组x和数组y的长度相同。 ( ) 9.函数的形式参数是局部变量。 ( ) 10.指针变量是一种特殊类型的变量,用来存放另一个变量的地址。 ( ) 1 2 3 4 5 6 7 8 9 10 题号 答案 √ × × √ × × √ × √ √ 三、程序填空题(2题5空,4分/空,共20分)

1. 自定义函数fun的功能是返回形参p所指向的长度为n的整数数组中最小值所在的下标(下标从0开始计算)。 fun(int *p, int n) {

int i,j;

____(1) D____; for(i=0;i

A.j=1 B.j=i++ C.j=i D.j=0

2. 下列程序是从键盘上输入一个字符串(长度小于80),然后统计该字符串的长度并输出。

#include \

void main() { char s[80]; int n,i; scanf(\ _______(2) D________; while(s[____(3) B _____]!='\\0') n++; printf(\}

A.s B.i++ C.n=0,i=1 D.n=0,i=0 E. s[80] F. i 四、编程题:(共2题,每题20分,共40分)

1. 从键盘输入3个整数,求其中的最大数和最小数,并输出结果。 # include \void main() {

int x, y, z, max, min;

printf(\ scanf(\

min = max = x; if(x==y && y==z) printf(\ else { if (y>max) max = y; if (z>max) max = z; if (y

2. 从键盘上输入一个3*3的整数矩阵,求其各行的平均值并输出,输出时保留两位小数。

#include void main() { int a[3][3],b[3]={0}; int i,j; printf(\请输入一个三行三列的整数矩阵:\\n\