高级语言程序设计

发布 2021-04-24 15:32:28 阅读 8194

(总分:100.00,做题时间:90分钟)

一、}单项选择题}(总题数:15,分数:30.00)

1.若定义了int m,n=0,*p1=&m;,则与m=n等价的语句是( )

分数:2.00)

b.*p1=&*n

c.*p1=*&n√

d.*&p1=&*n

解析:2.若内部变量在离开了定义所在的函数或复合语句后,仍在生存期内。则该变量是 (

分数:2.00)

变量。变量。

c.局部变量。

变量√解析:

3.以下程序输出的结果是( )main()

分数:2.00)

a.4b.2

c.1√d.0

解析:[解析] main()

4.设int a[10],*p=a; 则对数组的正确引用是( )

分数:2.00)

c.*(p+2)√

解析:5.对于文件打开方式"rb+"描述正确的是( )

分数:2.00)

a.可读写文本文件。

b.只读文本文件。

c.可读写二进制文件√

d.只读二进制文件。

解析:6.以下程序的执行结果是( )#include<stdio.h> main()

分数:2.00)

a.-1b.0√

c.1d.2

解析:[解析] null的ascⅱ值是00000000,语句"printf("%d/n",null);"要求null以整型数据输出,所以输出是0。

7.若有以下语句: char *language=char *q;q=language+3; 则语句printf("%c/n",*q;的输出是( )

分数:2.00)

的值。b.字符串"c"

c.&language[3]的值。

d.程序错误,无法得到输出√

解析:[解析] 指字符删变量的指针不能得到指针数组的首地址,出现编译错误。

8.设int a=1,b=2,c=4; 经过表达式(c=a!=b)&&a==b)&&c=b)运算后,a、b和c的值分别是( )a.1,2,0 b.1,2,1 c.1,2,2 c.1,2,3

分数:2.00)a.b.√

c.d.

解析:[解析]因a==b是不成立的,c=b不被运算,c所获得的值足表达式"a!=b"的逻辑值。

9.设int x=1;a=9,b=6,c=9,d=8;执行语句: if(a>b)if(c>b)if(b>d)x=2;else x=6; 后x的值是( )

分数:2.00)

a.1b.2

c.6√d.不确定。

解析:[解析]当"a>b"、"c>b"、"b>d"都成立时x=2,只要有一个不成立就有x=6。

10.汇编程序的功能是( )

分数:2.00)

a.将汇编语言程序转换成目标程序√

b.将汇编语言程序转换成高级语言程序。

c.将高级语言程序转换为目标程序。

d.将汇高级语言程序转换为编语言程序。

解析:11.若x=100;,则表达式x++>100? x+20:x+10的值是( )

分数:2.00)

a.110b.120

c.130d.101√

解析:12.执行下面程序段后,变量k的值是( )

分数:2.00)

a.10b.30

c.3d.不确定√

解析:[解析] 数组元素s[1]没有初值,故其计算结果小确定。

13.设有如下程序段 char str=hello!";char *ptr; ptr=str; 执行完以上程序段后*(ptr+6)的值为( )

分数:2.00)

a.'o'b.'/0'√

c.'/od.'o'

解析:14.若有宏定义:#define mod(x,y)x%y 则执行下面语句后的输出结果是 int a=13,b=96; printf("%d/n",mod(b,a));

分数:2.00)

a.1b.2

c.5√d.6

解析:15.下列运算符,优先级最低的是( )

分数:2.00)

a.&&b.!

c.->d.+=

解析:二、}填空题}(总题数:10,分数:20.00)

16.若有定义:double w[6];,则数组元素下标的上限为 1。

分数:2.00)

填空项1正确答案:5)

解析:17.若有定义语句:int a=p;p=a;,则执行"p2+=;之后p的值是 1。

分数:2.00)

填空项1正确答案:a)

解析:[解析]"*优先级高于"+=语句"*p2+=;相当于"(*p)+=2;",对指针变量p没有进行任何算术运算、其值不变。

18.若定义了 int a[9],*p;,将数组元素a[8]的地址赋给指针变量p的赋语句是 1。

分数:2.00)

填空项1正确答案:p=&a[8];)

解析:语言的保留字主要用于语句的构成,所有保留字均由 1组成。

分数:2.00)

填空项1正确答案:小写字母)

解析:20.语句";"是无任何操作的语句,被称为 1。

分数:2.00)

填空项1正确答案:空语句)

解析:21. 1是双目运算符,其运算对象是表达式,其值是右边表达式的值。

分数:2.00)

填空项1正确答案:逗号运算符)

解析:22.若要使用系统函数getchar1,必须在程序的开头使用预编译命令 2。

分数:2.00)

填空项1正确答案:#include stdio.h)

解析:23.若要以八进制输出整型变量,则要在输出语句中加上格式输出符 1。

分数:2.00)

填空项1正确答案:%0)

解析:24.指针变量的使用主要有两种,一是 1;二是引用所指向的变量。

分数:2.00)

填空项1正确答案:赋值)

解析:25.写出n小于m的奇数的表达式 1。

分数:2.00)

填空项1正确答案:n%2&&n<m)

解析:[解析] n小于m的奇数.即是n<m又要是奇数。则n<m和n不能做2整除都要满足,转化为c语言表达式即是n%2&&n<m。

三、}程序分析题}(总题数:4,分数:16.00)

26.以下程序运行时输入:12<回车>,执行后输出结果 #include<stdio.h> main()

分数:4.00)

正确答案:()

解析:12 [解析] #include <stdio.h> main()

#include<stdio.h> void f(int y,int*x) main()

分数:4.00)

正确答案:()

解析:8 4 [解析] #include<stdio.h> void f(int y,int*x)/*参数为指针变最,采用地址传递方式*/ main()

#include<stdio.h> char *ss(char *s)

分数:4.00)

正确答案:()

解析:efgh [解析] #include<stdio.h> char *ss(char *s)/*函数为指针型函数,返回值为字符串s的中问一个字符的地址*/ main()

#include<stdio.h> int f(int a,int n) +f(&a[1],n-1); else return a[0]; main() s; s=f(&aa[0],3);printf("%d/n",s);

分数:4.00)

高级语言程序设计

总分 100.00,做题时间 90分钟 一 单项选择题 总题数 15,分数 30.00 语言早期规定建立文件缓冲区采用的形式是 分数 2.00 a.缓冲文件系统。b.非缓冲文件系统。c.分页文件系统。解析 2.以下是对二维数组的正确说明的是 分数 2.00 a 3,4 a 1 4 a 3 4 解析 ...

高级语言程序设计

班级学号 021110212 姓名 卢荼 同组同学。成绩。时间 2011.6 28 题目 班级档案管理系统。一 设计任务与目标。对一个有n个学生的班级,通过该系统实现对该班级学生的基本信息进行录入 显示 修改 删除 保存等操作的管理。功能要求 1 本系统采用一个包含n个数据的结构体数组,每个数据的结...

高级语言程序设计

36.下面程序的运行结果是。include void main int a 2,b 1,c 2 if aif b 0 c 0 else c printf c d c 参 考察知识点 if语句的嵌套。运行结果 c 2 下面程序的运行结果是。include void main int a,b,c a 3...