《高级语言程序设计》习题。
一.填空题。
1. 以下条件表达式可计算1+|a|的值,填空完成语句:a>=0 ?(1+a
2. 函数max定义的首部为:int max(int x,int n),该函数完成实现寻找长度为n的数组x中的最大元素。
若在主函数中有定义:int c,a[10];并要求函数调用后,变量c存放数组a中的最大元素,则函数调用语句应为:(
3. 若有int i=5; 则循环语句while(i > 1) i - 执行后,i的值为。
4. 能正确表示逻辑关系:“0≤a<10”的c语言表达式是( )
5. 设int a[2][3] =则数组元素( )的值为3。
6. 表达式 (int)(3.0/2.0)的值是( )
7. 有定义: int x=3, y=2; 执行x/=y+1; 语句后x的值为。
8. 有定义: int x=2, y=0; 表达式 (!x||y) 的值为( )
9. 有定义:char str=hello!”;则数组str的长度为( )
10. 有定义:int i=5; 则循环语句while(i>=1) i=i-2; 执行后变量i的值为( )
11. 已知 ‘a’ ‘z’ 的ascii码为6590,当执行int x= ‘d’+5; 语句后x的值为( )
12. 有定义int a[6]=,p=a; 则*(p+2)的值为( )
二。 选择题(在每题的四个备选答案中,选出一个正确的答案)
1. 以下不能定义为变量名的是:
a) sanfb) voidc) _2comd) go
2. 有以下程序: int main()
int k=2,i=2,m ;
m=i*=k++;printf(“%d,%d”,m,i);
return 0;
执行程序后的输出结果是:
a) 6,6b) 4,3c) 6,4d) 4,4
3. 设x,y,t均为int型变量,则执行语句: x=y=3;t=++x||+y;后,t的值为:
a) 不定值b) 1c) 3d) 4
4. 以下选项中错误的语句组是:
a) char s[8]=“beijing”;
b) char *s=“beijing”;
c) char s[8]; s[8] =beijing”;
d) char *s; s =“beijing”;
5. 以下叙述中不正确的是:
a) 在不同的函数中可以使用相同名字的变量。
(b) 函数中的形式参数是局部变量。
c) 在一个函数内定义的变量只在本函数范围内有效。
(d) 在一个函数内的复合语句中定义的变量在本函数范围内有效。
6. 若有以下变量定义和赋值语句:int *p,*q,i=1,j=0;p=&i;q=&j;
下列各项中,对赋值语句 *p=*q; 描述不正确的是:
a) 等同于i=jb) 是把q所指变量中的值赋给p所指向的变量。
c) 将改变p的值d) 将改变i的值。
7.若有变量定义:int n=2,*p=&n,*q=p;则以下非法的赋值语句是:
a) q=nb) p=qc) *p=*qd) n=*q;
8. 已有数组定义int a[2][3]=;则a[1][2]的值为:
a) 0b)4c) 3d) 2
9. 在整个程序运行期间,某局部变量始终占据固定地存储单元,则其存储类型为:
a)autob) static (c) register (d) extern
10. 有定义: int k=0,n; 则以下四个赋值语句中变量n的值与其他三个赋值语句不同的是 。
a) n=kb) n=k+=1
c) n= +kd) n=k+1
11. 为表示关系 x≥y≥z,应使用的c表达式是 。
a) (x>=y) and (y>=z) b) (x>=y) &y>=z)
c) x>=y>=zd) (x>=y) &y>=z)
12. 有定义:int a; 下面关于指针变量pa的定义及初始化正确的是 。
a) int pa=&a; b) int *pa=a; c) int *pa=&a; d) int *pa=*a;
13. 下列程序的输出结果是___
int i,s=0;
for(i=1;i<=10;i++)
printf(“%d”,s);
a) 18 b) 20 c) 0d) 1
14. 以下叙述中正确的是 。
a) break语句只能用于switch语句体中。
b) break语句只能用于循环体中。
c) continue语句只能用于switch语句体中。
d) continue语句只能用于循环体中。
15. 若用数组名作为函数调用时的实参,则实际上传递给形参的是 。
a) 数组首地址b) 数组的第一个元素值。
c) 数组中全部元素的值d) 数组元素的个数。
16. 有以下说明和定义:
struct student,};
student *p=stu;
以下选项中引用结构体变量成员的表达式错误的是___
a) (p++)num b) p->num c) d) stu[1].age
17. 语句 while(x%y); 括号中的表达式等价于___
a) x%y==0b) x/y!=0
c) x%y!=0d) x==y
18. 以下选项中错误的语句组是___
a) char s[8]="beijingb) char *s="beijing";
c) char s[8]; s[8] =beijingd) char *s; s="beijing";
19. 判断字符串s1是否大于字符串s2,应当使用 。
a) if (s1>s2b) if (strcmp(s1, s2))
c) if (strcmp(s2, s1)>0d) if (strcmp(s1, s2)>0)
20. 温度华氏和摄氏的关系是:。已知:float c,f;由华氏求摄氏的正确的c赋值表达式是。
a) c=5/9(f-32b) c=5*(f-32)/9
c) c=5/9*(f-32d) 三个表达式都正确。
三。 程序分析题:阅读下列程序,写出程序执行结果。
int main()
int a;
float x=3.2,y=1.3;
a=(int)x%2*y;
printf(“%d,%4.2f”,a,x);
return 0;
int main( )
int x=1,a=0,b=0;
switch(x)
case 0: b++ break ;
case 1: a
case 2: a++ b++
printf(“%d,%d”,a,b);
return 0;
void inv(int x,int n)
int t,i,j;
for(i=0;i<=(n-1)/2;i++)
int main()
int i,a[6]=;
inv(a,6);
for(i=0;i<6;i++)
printf(“%d,”,a[i]);
printf("");
return 0;
int main()
int i,j;
for(i=1;i<6;i++)
for(j=1;j printf(“%4d”,i*j);
printf(“”);
return 0;
四。 程序填空:
1、下面的程序功能是:输出x,y,z三个数中的最小值,请填空使程序完整。
2、下面的程序功能是:计算输入整数的各位数字之和。例如整数1987各位数字之和是1+9+8+7,等于25。请填空。
高级C语言程序设计习题
1.单项选择题 1 c 语言是在 b 语言的基础上产生的。a.a b.b c.d d.e 2 在 c 语言中,每个语句必须以 d 结束。a.回车符 b.冒号 c.逗号 d.分号 3 标识符和关键字间,要用 c 隔开。a.回车符 b.冒号 c.空格 d.分号 4 用 c 语言编写的源文件经过编译,若没...
高级语言程序设计习题答案
1.在一个c 程序中,main函数的位置 c a 必须在程序的开头b 必须在程序的后面。c 可以在程序的任何地方 d 必须在其它函数中间。2.用c 语言编制的源程序要变为目标程序必须要经过 d a 解释 b 汇编 c 编辑 d 编译。程序基本单位是 c a 数据 b 字符 c 函数 d 语句。4.c...
高级语言程序设计
总分 100.00,做题时间 90分钟 一 单项选择题 总题数 15,分数 30.00 语言早期规定建立文件缓冲区采用的形式是 分数 2.00 a.缓冲文件系统。b.非缓冲文件系统。c.分页文件系统。解析 2.以下是对二维数组的正确说明的是 分数 2.00 a 3,4 a 1 4 a 3 4 解析 ...