(总分: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...