2011高级语言程序设计试卷1及答案
一、选择题:(共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("%d,%c\n",c2-c1,c2-'a'+'A');
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(" %-7.2f",pi);的输出结果是( 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
A.0 B. 语法错C.1 D. “假”
13. 下列关于switch语句和break语句的结论中,正确的是( B )
A.break语句是switch语句的一部分
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[]="shanghai"; B. char str[]={"shanghai"};
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[ ]="abcdefg", y[ ]={'a','b','c','d','e','f','g'}; 则数组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<n;i++)< p="">
if (p[i]<="" p="">
return(j);
}
A.j=1
B.j=i++
C.j=i
D.j=0
2.下列程序是从键盘上输入一个字符串(长度小于80),然后统计该字符串的长度并输
出。
#include "stdio.h"令数组全部的值为0
void main()
{
char s[80];
int n,i;
scanf("%s", _____(1) A_____);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论