高级语言程序设计模拟试题

发布 2021-04-24 16:33:28 阅读 3747

试题4一、单项选择题。本题共10小题,每小题2分,满分20分。

1、下列运算符中优先级最低的是a )

a.?:b.&&c.+ d.!=

2、对for(表达式1;;表达式3)可理解为b )

a.for(表达式1;0表达式3b.for(表达式1;1;表达式3)

c.for(表达式1;表达式1;表达式3) d.for(表达式1;表达式3;表达式3)

3、如果在一个函数的复合句中定义了一个变量,该变量b )

a.在该函数中有效b.只在该复合语句中有效。

c.在本程序范围内均有效 d.为非法变量。

4、已知x=43,ch= ‘a’, y=0,则表达式(x>=y&& ch < a’ &y)的值是 ( a )

a. 0 b. 语法错 c. 1 d.“假”

5、若用数组名作为函数调用的实参,传递给形参的是a )

a.数组的首地址b.数组第一个元素的值。

c.数组中全部元素的值 d.数组元素的个数。

6、设有说明:char w;int x;float y;double z;则表达式w*x+z-y值的数据类型是( d )

a.float b.char c.int d.double

7、设int a1=7,a2=1,x;进行操作x=(a1<<1)&~a2<<2)后x的值为( c )

a.0 b.1 c.10 d.以上都错。

8、设有以下结构体定义:

struct student staff;

则下面的叙述不正确的是b )

a.struct是结构体类型的关键字 b.structstudent是结构体类型名。

c.staff 是用户定义的结构体类型名 d.name,sex和age都是结构体成员名。

9、若有以下定义:chars[10]=“include”,*p=s;则不能代表字符u的表达式是( b )

a.s[4] b.s+4 c.*(p+4) d.p+=4,*p

10、以下正确的描述是b )

a.continue语句的作用是结束整个循环的执行。

b.break语句只用在循环语句和switch语句中。

c.在循环体内使用break语句或continue语句的作用相同。

d.从多重循环嵌套中退出时只能使用goto语句。

二、填空题。本题共10小题,每小题2分,满分20分。

1、c语言中的标识符只能有三种字符组成,它们是字母、 下划线和数字 。

2、假设m是一个三位数,用a、b、c表示各位的数字,则从左到右各个数字是bac的三位数的表达式是。

3、若有定义:int b=7;float a=2.5,c=4.7,则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为 5.5 。

4、设x是一个16位整数,若要通过x | y运算使x低8位置1,高8位不变,则y的八进制数是 07

5、函数swap(int x,int y)可以完成对x和y值的交换,若a=1,b=2,则执行完swap(a,b);语句后,a和b的值分别为 1 和 2 。

6、与表达式x*=y-2等价的另一种书写形式为 x=x*(y-2

7、设有int a=1,b=2,c=3,d=4,m=2,n=2;则执行(m=a>b) &n=c>d)后n的值为 2 。

8、如果要定义一个文件型指针fp,应该使用的定义语句是file*fp

9、判断字符串s1是否大于字符串s2,应当使用 if(strcmp(si,s2)>0命令。10、若有如下定义:int m=则数组元素m[m[4]+m[8]]的值是 8 ,*m+m[9]的值是7

三、判断题:本题共10小题,每小题1分,满分10分。

1、若宏定义为#definef(x) x*x,则f(3+4)的值为49f )

2、字符串“china”在内存中占5个字节f )

3、inta=b=c=3;是正确的变量定义f )

4、从变量的作用域来分,变量可分为全局变量和局部变量f )

5、逻辑运算符的优先级都低于算术运算符t )

6、定义二维数组并进行了初始化,第一维的长度可以省略。 (t )

7、打开文件的函数是fclosef )

8、外部变量必须定义在文件的开头f )

9、字符‘\0’是字符串的结束标志,其ascii**为0t )

10、调用strlen(“abc\0ef\0g”)的返回值是8f )

四、应用题,本题共6小题,满分35分。

1、写出下列程序的运行结果(6分)

#include <>

int func(int a)

intb=0;

static int c=3;

b++;c++;

return a+b+c;

void main

int a=2,i;

for( i=0; i<3; i++)

printf(“%3d”, func(a));

2、写出下列程序的运行结果(5分)

#include <>

int func(int x)

int y;

if(x==0 ||x==1)

y=3;else y=x-func(x-2);

return y;

void main()

printf(“%d”, func(9));

3、写出下列程序的运行结果(6分)

#include <>

void main()

int i;

for(i=1; i<5;i++)

switch (i%5)

4、写出下列程序的运行结果(6分)

#include<>

void func(int *p)

while(*p !=999)

void main()

inta=

inti, *pa=a;

for(i=0; a[i]!=999;i++

printf(“%3d”,a[i]);10 32 13 24 45 96 17

printf(“10 32 24

func(pa);

5、下列程序的功能是求1!+2!+…n! >2000的最小n值,请填空:(6分)

#include <>

void main()

int i, j, s=0, k;

for( i=1; i<20; i++

printf(“i=%d”, i);

填空:(1) k*=j

(2)k (3) break

6、下列程序的功能是生成并打印某数列的前20项,该数列的第项分别为0和1,以后每个奇数编号的项是前两项之和,偶数编号的项是前两项差的绝对值,生成的20个数存放在数组a中,并按每行4项输出,请填空:(6分)

#include <>

void main()

int a[21], i, j;

a[1]=0; a[2]=1;

i=3;do

while( i<20 );

for( i=1; i<=20; i++)

《高级语言程序设计》模拟试题

1.输入两个整数,要求用两个函数求出其最大公约数和最小公倍数,最大公约数和最小公倍数都在主函数中输出。如 输入36和60,输出为 zdgys 12,zxgbs 180 2.输入4个整数,找出其中最大的数。用函数的嵌套调用来处理。3.用递归调用的方法求n!如 输入为5,输出为5!120。4.按以下递归...

高级语言程序设计模拟试题

试题6一 单项选择题 本题共10小题,每小题2分,满分20分 1.下列运算符中,结合方向为 自右至左 的是 d a.算术运算符 b.左移运算符 c.赋值运算符 d.关系运算符 2.用以下语句从键盘接收两个整型值并赋值给整型变量a,b scanf d,d a,b 则以下输入正确的是 b a.5,6 回...

高级语言程序设计模拟试题

试题1一 选择题 本题共 10 小题,满分 20 分。1 以下选项中不能作为c语言合法常量的是a a cd b 0.1e 6 c a d 011 2 以下不能正确表示代数式2ab cd的c语言表达式是d a 2 a b c d b a b c d 2 c a c d b 2 d 2 a b c d ...