高级语言程序设计习题

发布 2021-04-24 15:44:28 阅读 9635

《高级语言程序设计》习题。

一.填空题。

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 解析 ...