测量程序设计考试试卷A答案

(2)、创建word对象Set wordapp = CreateObject("Word.Application")(2分)
(3)、设置对象可见wordapp.Visible = True(1分)
(4)、释放对象Set worddoc = Nothing(1分)
得分
阅卷人
三、编程题(每题7分,共14分)
Private Sub F1_Click()
Dim dM As String, i%
Dim n%, s%, x1#, y1#, h1, h2, gy
Dim A() As Double, L() As Double, cs(1 To 6) As Double
Dim At#(), Naa#(), W#()
山东交通学院期末考试测量程序设计课程试卷 (A)卷2010——2011 学年第 1 学期 第 1 页 共 3 页
题号







总分
审核
得分
得分
阅卷人
一、填空题(每空2分,共40分)
1、VB采用面向对象的程序设计,对象是系统基本运行实体,对象具有属性、事件和方法。
2、VB的代码存储在模块中,在VB中提供了三种类型的模块:窗体模块、标准模块和类模块。
4、简述单像空间后方交会的程序设计步骤?
答:(1)、读入原始数据内方位元素,像点坐标和地面点坐标;(1分)
(2)、确定外方位元素初值,线元素用像控点平均坐标,角元素初值为零;(2分)
(3)、利用已知值和近似值组误差方程式;(1分)
(4)、解算外方位元素改正数;(1分)
(5)、改正数是否小于给定限差,结果输出;(1分)
(2)、假设区域内高程异常与大地坐标存在曲面数学关系,
利用控制点上的高程异常序列和相应的大地坐标组成多项式拟合方程组。(2分)
(3)、根据最小二乘原理求解拟合方程系数,得到校正多项式函数参数,利用所求参数计算待定高程点的高程异常,高程异常与GPS观测得到的大地高计算GPS观测点的正常高。(2分)
(4)、程序:
2、简述水准网间接平差程序设计的计算流程。
答:(1) 按文件方式进行输入, 约定数据格式;(1分)
(2) 高程近似值计算;(1分)
(3) 列立观测值的误差方程;(1分)
(4) 解误差方程并求高程平差值并进行精度估计;(2分)
(5) 计算结果输出。(1分)
山东交通学院期末考试测量程序设计课程试卷 (A)卷2010——2011 学年第 1 学期 第 2 页 共 3 页
For i = 1 To n
Input #1, dh, x1#, y1#, h1, h2
A(i, 1) = 1: A(i, 2) = x1#: A(i, 3) = y1#
A(i, 4) = x1# * x1#: A(i, 5) = y1# * x1#: A(i, 6) = y1# * y1#
L(i) = h2 - h1(2分)
Dim c(1 To m, 1 Top) As Double,a(1 To m, 1 To n) As Double, b(1 To n, 1 To p) As Double(1分)
For i = 1 To m
For j = 1 To p
For k = 1 To n
c(i, j) = c(i, j) + a(i, k) * b(k, j)(3分)
8、高斯投影坐标反算过程中,一般采用迭 代方法计算底点纬度 。
9、在圆曲线和直线之间增设缓和曲线后,整个曲线发生了变化,为了保证缓和曲线和直线相切,圆曲线应均匀地向圆心方向内移一段距离 ,计算公式为 ,切线也应相应地增长 ,计算公式为 。
10、set语句的作用是将对象引用赋给变量,createobject语句的作用是创建并返回一个对 ActiveX 对象的引用 。
1、已知 和 两点的坐标,试编制计算AB边坐标方位角的子程序(以度表示即可)。
答:Public sub fwjjs(x1,y1,x2,y2,a)
Dim x1#,y1#,x2#,y2#,dx#,dy#(2分)
dx=x(2)-x(1)
dy= y(2)-y(1)+0.0000001
s=sqr(dx*dx+dy*dy)(2分)
得分
阅卷人
二、简答题(每题6分,共36分)
1、简述程序设计的基本步骤。
(1) 问题描述:按照一定的逻辑顺序将所要解决的实际问题描述清楚;(1分)
(2) 算法设计:首先对算法的分析,设计解决问题的算法;(2分)
(3) 程序编码:按照算法,编写出满足要求的程序代码;(1分)
(4) 程序测试:程序测试是为了发现错误而执行程序的过程。(2分)
6、在默认情况下,声明的静态数组下标下界从0开始,设定数组的默认下界为1的语句为Option Base 1。
7、VB 使用工程来管理构成应用程序的所有不同的文件,一个工程主要包括工程文件(.vbp )、窗体文件(.frm )、标准模块文件(.bas )、类模块文件(.cls )、资源文件(.res )。
3、对于给定字符串A$=“abcdefghijk”,测试字符串A$长度的语句是len(A$),截取中间第5-8个字符“efgh”的语句是Mid$(A$,5,4)。
4、编程序进行间接平差的计算过程中,高程控制网一般选取待定点的高程为参数,平面控制网一般选取待定点的坐标为未知参数。
5、在定义数组时已确定了数组的大小,称为静态数组。在定义数组时未给出数组的大小,省略了括号中的下标,称动态数组。
'读取控制点数据
Open "d:\sj.txt" For Input As #1
Open "d:\jg.txt" For Output As #2
Input #1, n, s
ReDim A(1 To n, 1 To 6) As Double, L(1 To n) As Double
ReDim At(1 To 6, 1 To n), Naa(1 To 6, 1 To 6), W(1 To 6)
3、怎么利用高斯投影正、反算公式间接进行换带计算?
答:首先将某投影带内已知点的平面坐标(x1, y1),按高斯投影坐标反算公式求得其在椭球面上的大地坐标(B, L);(2分)然后根据纬度和所需换算的投影带的中央子午线经度,计算该点在新投影带内的经差,(2分)再按高斯投影坐标正算公式计算该点在新投影带内的高斯平面坐标(x2, y2)。(2分)至此,就完成了高斯投影坐标的换带计算问题。
a=180-Sgn(dy)*90-Atn(dx/dy)* 57.29577951308°(3分)
E程试卷 (A)卷2010——2011学年第1学期 第3页 共3页
2、设A是m×n矩阵,B是n×p矩阵,编制矩阵相乘的子程序过程。
答:Public Sub MatrixMulti(a, b, c)
Next k(1分)
Next j(1分)
NextI(1分)
End Sub
得分
阅卷人
四、综合题(10分)
详细叙述二次曲面拟合法GPS高程计算的原理和参数计算程序(可直接调用矩阵计算子过程)并进行注释。
答:(1)、在拟合区域内选取部分均匀分布的GPS/水准点作为控制点,根据GPS观测的的大地高和水准测量得到的正常高计算控制点的高程异常.(1分)
End Sub
Next i
'计算转换参数
MatrixTrans A, At '求系数阵的转置矩阵
Matrix_Multy Naa, At, A '求AtA
kk = MRinv(Naa)
Matrix_Multy W, At, L '法方程常数向量
Matrix_Multy cs, Naa, W(2分)
Print #2, cs(1), cs(2), cs(3), cs(4), cs(5), cs(6)'六参数求解完成(1分)
5、写出用四参数进行平面直角坐标转换的公式,并解释四参数含义。
答:四参数进行平面直角坐标转换的公式包括两个平移参数,一个尺度比参数,一个旋转角参数,(2分)公式为:
(4分)
6、简述VB调用WORD的方法和主要语句(定义对象变量、创建word对象、设置对象可见、释放对象)?
答:(1)、定义对象变量Dim worddoc As Object(2分)
合集下载

c语言程序设计试卷及答案(A)

c语言程序设计试卷及答案(A)

A。 p=&a
B。 p=a
C. *p=&a
D. *p=*a
16.以下函数调用语句中,func(a+b,c-d+100);含有的实参个数是( )。
A. 1
B. 2
C。 4
D. 5
17.有以下定义:struct person{char name[9]; int age;}
struct person class[10]={“Johu",17,“Paul”,19,“Mary”,18,“Adam”,16,};
第 7 页,共 7 页
#include <stdio。h>
#define SIZE 10
struct Student_type <—--———————-—-——-———
{ char name[10];

int num;

int age;

char addr[15];
1
}stud[SIZE];
<—-——-——--——-----—
7。 存储字符串“program”的字符数组至少需要____个元素。
8 指针变量可以加减一个整数,例如:_______________;指针变量可以有空值,例
第 3 页,共 7 页
如_____________________________________________________.
9 以下程序从键盘输入 10 个学生的有关数据,然后把它们转存到磁盘文件上去。
{ int c; a+=a; b+=b; c=fun2(a,b);
return c; }
fun2(int a,int b)
第 5 页,共 7 页

《C语言程序设计基础》--试卷A及参考答案

《C语言程序设计基础》--试卷A及参考答案

《C语言程序设计基础》--试卷A及参考答案《c语言程序设计基础》试卷 (A卷)考试时间:90分钟闭卷任课老师:班级:学号:成绩:(每小题2分,共30分)、由C++源文件编译生成的目标文件的缺省)A、cppB、exeC、obj 、lik、下列中,不是C++合法的标识符()A、2mnB、m123C、kk 、a_1、C++中,基本数据类型不包括()、int B、float C、char 、class、x和y均为bool量,则x| |y为真的条件)、它们均为真 B、其中一个为真 C、《C语言程序设计基础》第 2 页共 6 页它们均为假 D、其中一个为假5、C++中,一个字符型数据在内存中占()字节。

A、4B、2C、1D、86、字符串常量”hello”的长度是()A、5B、6C、7D、87、以下语句,int i=2,j=2,m,n;m=i++;n=++j;则m,n,i,j的值分别为()A、2,3,2,2B、2,3,3,3C、2,2,3,3 D、3,3,2,28、假定a为一个整型数组名,则元素a[4]的字节地址为()A、a+4B、a+8C、a+16D、a+329、 x>0 || y==5的相反表达式为()。

A、 x<=0 || y!=5B、 x<=0 && y!=5C、 x>0 || y!=5D、 x>0 && y==5《C语言程序设计基础》第 3 页共 6 页10、在下面的函数声明中,存在着语法错误的是()A、void BC(int a , int)B、void BD(int , int)C、void BE(int , int=5)D、int BF(int x ; int y)11、循环体至少被执行一次的语句为()。

A、for循环B、while循环C、do循环 D、任一种循环12、已知一函数中有下列变量定义,其中属于静态变量的是()A、int a=5;B、staticdouble b;C、register char c;D、auto shortd;13、do语句能够改写为()语句。

VB语言与测量程序设计试卷A.doc

VB语言与测量程序设计试卷A.doc

一、单项选择题1. 在设计阶段,当双击窗体上的某个控件时,所打开的窗口是( C )(A)工程资源管理器窗口(B)工具箱窗口(C)代码窗口(D)属性窗口2. 有程序代码如下:text1.text=“visual basic”则:text1、text和“visual basic”分别代表( C )(A)对象,值,属性(B)对象,方法,属性(C)对象,属性,值(D)属性,对象,值3.以下各表达式中, 计算结果为0的是(D )(A)INT(12.4)+INT(-12.6) (B)CINT(12.4)+CINT(-12.6)(C)FIX(13.6)+FIX(-12.6) (D)FIX(12.4)+FIX(-12.6)4. 确定一个控件在窗体上的位置的属性是( C )(A)Width和Height (B)Width或Height(C)Top和Left (D)Top或Left5.在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:Private Sub Command1_Click()x=InputBox("Input")Select Case xCase 1,3Print "分支 1"Case Is >4Print "分支 2"Case ElsePrint "Else 分支 "End SelectEnd Sub程序运行后,如果在输入对话框中输入2,则窗体上显示的是(C )(A)分支1 (B)分支2(C)Else分支(D)程序出错6. 以下叙述中正确的是( A )(A)窗体的Name属性指定窗体的名称,用来标识一个窗体(B)窗体的Name属性的值是显示在窗体标题栏中的文本(C)可以在运行期间改变对象的Name属性的值(D)对象的Name属性值可以为空7. 若要设置标签的背景颜色,使用的属性是( B )(A)Color (B)BackColor (C)ForeColor (D)FontBold8.下面是合法的变量名( A )(A)X_yz (B)123abc (C)integer (D)X#Y9. 表达式16/4-2^5*8/4 mod 5\2的值为( D )(A)14 (B)4 (C)20 (D)210. 已知A$=”12345678”,则表达式Val(Left$(A$,4)+Mid$(A$,4,2))的值为( B )(A)123456 (B)123445 (C)1279 (D)”123445”11.以下关于文件的叙述中,错误的是 (B)(A )顺序文件中的记录一个接一个地顺序存放(B )随机文件中记录的长度是随机的(C )执行打开文件的命令后,自动生成一个文件指针 (D )LOF 函数返回给文件分配的字节数 12.设x=4,y=8,z=7,以下表达式的值是 (D)x<y And (Not y>z) Or z<x(A )1 (B )-1 (C )True(D )False13.代数式dc a c ba +++ln 的Visual Basic 表达式是(D )(A )a+b/sqr(c+Log(a))+c/d (B )(a+b)/(Abs(c+Log(a))+c/d) (C )a+b/(Abs(c+Log(a))+c/d)(D )(a+b)/(sqr(c+Log(a))+c/d)14.在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:Option Base 1Private Sub Command1_Click()Dim a As Variant a=Array(1,2,3,4,5) Sum=0 For i=1 To 5 Sum = sum+a(i) Next i x=Sum/5 For i =1 To 5If a(i)>x Then Print a(i); Next i End Sub程序运行后,单击命令按钮,在窗体上显示的内容是 ( B ) (A )1 2 (B )4 5 (C )1 2 3(D )3 4 515. 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() a=InputBox(“请输入第一个数”) b=InputBox(“请输入第二个数”) Print b+a End Sob程序运行后,单击命令按钮,先后在两个输入框中分别输入456和123,则输出结果是 ( D ) (A )579 (B )123 (C )456 (D )12354616. VB 提供了结构化程序设计的三种基本结构是 ( D )(A )递归结构、选择结构、循环结构 (B )选择结构、过程结构、顺序结构 (C )过程结构、输入、输出结构、转向结构(D )选择结构、循环结构、顺序结构17. 要分配存放如下方阵⎪⎪⎪⎭⎫ ⎝⎛9.9 8.8 7.7 6.6 5.5 4.4 3.3 2.2 1.1,可使用声明语句 来实现(不能浪费空间) ( c ) (A )Dim a(9) as single (B )Dim a(3,3) as single(C )Dim a(-1 to 1,-5 to -3) as single (D )Dim a(-3 to -1,5 to 7) as integer18. 数组声明语句Dim a(3,-2 to 2,5) as integer 中,数组a 包含的元素个数为 ( A ) (A )120 (B )75 (C )60 (D )1319. 计时器控件,如果希望每秒产生10个事件,则要将Interval 属性的值设置为 ( C )(A )1 (B )10 (C )100 (D )1000 20.在窗体上画一个文本框,再编写如下事件过程: Private Sub Text1_KeyPress(KeyAscii as integer) Dim ch as string Ch=Chr(KeyAscii) KeyAscii=ASC(Ucase(ch)) Text1.Text=string(6, KeyAscii) End Sub程序运行后,如果在键盘上输入字母”a ”,则文本框中显示的内容为 ( D ) (A )a (B )A (C )aaaaaaa (D )AAAAAAA二、填空题(每题3分,本题满分12分)21.下列循环语句控制的循环次数为 0 FOR K=1 TO 10 STEP –122.为了选择多个控件,可以按住 CTrl 键,然后单击每个控件。

C语言程序设计试卷(含答案)

C语言程序设计试卷(含答案)

.2015年春季学期《C 语言程序设计》试卷A一.选择(每道小题2分,合计30分)1、以下选项中合法的标识符是( )。

A)1_1B)1-1C)_11D)1_ _2、若函数中有定义语句:int k;,则( )。

A)系统将自动给k 赋初值0 B)这时k 中的值无定义 C)系统将自动给k 赋初值-1D)这时k 中无任何值3、以下选项中,能用作数据常量的是( ) 。

A)o115B)0118C)1.5e1.5D)115L4、设有定义:int x=2;,以下表达式中,值不为6的是( )。

A)x*=x+1 B)X++,2*x C)x*=(1+x)D)2*x,x+=25、程序段:int x=12; double y=3.141593;printf("%d%8.6f",x,y);的输出结果是( )。

A)123.141593 B)12 3.141593C)12,3.141593D)123.14159306、把2进制数10000111101转化为十进制数为( )。

A)1083B)1084 C)1085D)10867、以下是if 语句的基本形式: if(表达式) 语句 其中"表达式"( )。

A)必须是逻辑表达式B)必须是关系表达式 C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式8、有以下程序#include <stdio.h> main(){ int x; scanf("%d",&x);if(x<=3); elseif(x!=10) printf("%d\n",x);}程序运行时,输入的值在哪个范围才会有输出结果( )。

A)不等于10的整数 B)大于3且不等于10的整数 C)大于3或等于10的整数D)小于3的整数9、有以下程序#include <stdio.h> main(){ int a=1,b=2,c=3,d=0; if (a==1 && b++==2)if (b!=2||c--!=3) printf("%d,%d,%d\n",a,b,c);else printf("%d,%d,%d\n",a,b,c); else printf("%d,%d,%d\n",a,b,c);} 程序运行后输出结果是( )。

一学期《C程序设计》试卷A(级)含答案

一学期《C程序设计》试卷A(级)含答案
C) p=getchar()。D) p=”string”。
16.阅读以下程序
#include <stdio.h>
voidmain()
{intcase。float printF。
printf(“请输入2个数:”)。
scanf(“%d%f”, &case, &printF)。
printf(“%d %f”, case, printF)。
C) struct student{ char name[20]。char sex。int age。} s1。
D) struct { char name[20]。char sex。int age。} s1。
15.设有定义:char *p。以下选项中能够使字符型指针p正确指向一个字符串的是:【 】
A) char str[]=”China”。p=str[0]。B) scanf(“%s”, p)。
19.以下数组定义中错误的是【 】
A)int x[][3]={0};
B)int x[2][3]={{l,2},{3,4},{5,6}};
C)int x[][3]={{l,2,3},{4,5,6}};
D)int x[2][3]={l,2,3,4,5,6};
20.定义数组int a[10],若整型类型变量长度是2个字节,数组a的首地址是0,则&a[5]的值是:【 】
C)break语句只能用在循环体内和switch语句体内
D)在循环体内使用break语句和continue语句的作用相同
12.在C语言中,函数返回值的类型最终取决于【 】
A)函数定义时在函数首部所说明的函数类型
B)return语句中表达式值的类型
C)调用函数时主函数所传递的实参类型

《Java语言程序设计》考试试卷(A卷)附答案

《Java语言程序设计》考试试卷(A卷)附答案

生姓名: 学号: 班级: 专业 命题: 审批:--------------------------------------------------------- 密 ---------------------------- 封 --------------------------- 线 -----------------------------------------------------------**工学院高等学历继续教育2019年第 一 学期《Java 语言程序设计》考试试卷(A 卷、开卷)附答案---------------------------------------------------------- 密 ---------------------------- 封 --------------------------- 线 ----------------------------------------------------------- 学生姓名: 学号: 班级: 专业 命题: 审批:**学院高等学历继续教育2019 学年第一学期科目:《Java语言程序设计》考试试卷试题A试题答案及评分标准命题教师:** 使用班级:函计19-3一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。

每小题1分,共15分)1.C2.D3.A4. A5.D6.C7. B8. A9. B 10. C 11.C 12.A13.A 14.B 15.C二、填空题(本大题共15题15空,每空1分,共15分)1. ;2.class3. ,4. break5.退出6. /*7. 赋值8. 循环9. return 10. equals 11. 0 12. 标签13. , 14. 类变量 15. this三、问答题(本大题共3题,每题10分,共30分)1.什么是Java编程语言(10分)答:Java是一门面向对象的计算机编程语言。

C程序设计期末考试习题(含答案)

c语言程序设计期末试题A(含答案)一、单项选择题(选择一个最佳答案,每题2分,共20分)1.一个C程序的执行是从( )。

A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束2.下列选项中,不能用作标识符的是( ).A)_1234_ B) _1_2 C)int_2_ D) 2_int_3。

以下定义语句中正确的是()。

A)char a='A’b=’B’; B)float a=b=10.0;C)int a=10,*b=&a;D) float *a,b=&a;4.设有以下定义:#define d 2int a=0; double b=1。

25; char c=’A’;则下面语句中错误的是()。

A) a++;B)b++ C)c++;D) d++;5。

以下4个选项中,不能作为一条C语句的是().A) {;} B) a=0,b=0,c=0; C)if(a〉0); D) if(b==0)m=1;n=2;6.有以下定义语句 double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是().A)a=a+b=b++ B)w%(int)a+b)C)(c+w)%(int)a D)w=a==b; 7。

设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是( )。

A)p=1; B)*q=2;C)q=p; D) *p=5;8。

设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是( )。

A) scanf(“%d”,pa) ; B)scanf(“%d",a);C) scanf(“%d”,&pa); D)scanf(“%d”,*pa);9。

程序设计试卷及答案

程序设计试卷及答案一、选择题(每题2分,共20分)1. 下列哪个选项是正确的?A. 程序设计是一种艺术形式B. 程序设计是一种科学C. 程序设计只涉及硬件的操作D. 程序设计只需要机器语言的理解和应用2. C语言中的函数可以返回多个值吗?A. 可以B. 不可以3. 以下哪个关键字用于定义常量?A. constB. staticC. volatileD. extern4. 以下哪个选项是正确的?A. 集成开发环境(IDE)只用于调试程序代码B. 集成开发环境(IDE)只用于编译程序代码C. 集成开发环境(IDE)用于编写、调试和编译程序代码D. 集成开发环境(IDE)只用于编写程序代码5. 在C语言中,以下哪个运算符用于获取变量的地址?A. &B. *C. ->D. sizeof6. 下列哪个选项是正确的?A. 结构体是由相同类型的数据组成B. 结构体是 C 语言中的一种数据类型C. 结构体可以包含函数D. 结构体只能包含基本数据类型的成员7. 以下哪个关键字用于定义函数的形参类型?A. voidB. intC. externD. typedef8. 哪个是指针的正确声明方式?A. int *p;B. pointer p;C. p int;D. ptr int;9. 标识符的命名规则中,以下哪个选项是错误的?A. 可以使用数字作为标识符的开头B. 可以使用下划线作为标识符的开头C. 标识符可以由字母、数字和下划线组成D. 标识符长度可以任意长短10. 哪个是正确的if语句的用法?A. if (条件) 语句;B. if 条件语句;C. if 条件 then 语句;D. if (条件) then 语句;二、填空题(每空2分,共20分)1. C语言中,定义带有两个整型参数和整型返回值的函数的声明应该是:`int add(int a, int b);`2. 在C语言中,通过`malloc()`函数动态分配内存之后,应使用`free()`函数释放内存。

C语言程序设计期末考试卷A答案

C语言程序设计期末考试卷A答案北京信息科技大学2022~2022学年第一学期《C语言程序设计》课程期末考试试卷(A卷)授课系别:_计算机学院_适用班级:_计科所有班级_考试形式:_闭卷_班级:姓名:学号:题号得分一二三四五六七总分一:填空题:(每题2分,共10题)1、结构化程序设计的基本结构有三种,分别是顺序结构、选择结构和循环结构。

2、有如下程序:voidmain(){intk=1,n=263;do{k某=n;n/=10;}while(n);printf(\}则k值为____36______。

3、有如下程序chara[]=\的值为____6_____。

4、函数直接或间接的调用自己成为函数的________递归调用__________。

5、有如下定义:taticinta[6]={1,2,3,4,5,6};int某p=a+1;p++;则某(p+1)的值为____4______。

6、有以下程序:#defineA4#defineB(某)A某某/2voidmain(){floatc,a=4.5;c=B(a);printf(\}则c的值为___9.0_____。

7、C语言的变量值存在时间角度来分,可以分为__动态__存储方式和___静态__存储方式。

8、C语言可以定义枚举类型,其关键字为enum9、写出下面程序的运算结果。

tructk{inta;}[4],某p;voidmain(){intn=1,i;for(i=0;i<4;i++){[i].a=n;n=n+2;}p=&[0];p++;printf(\}p->a的值为__________3__________。

10、C语言打开文件的函数是_____fopen_______,关闭文件的函数是______fcloe_______。

二单项选择题:(每题2分,共12题)1:以下程序片段_____D______。

voidmain(){int某=0,y=0,z=0;if(某=y+z)printf(\eleprintf(\}A)有语法错误,不能通过编译B)输出:某某某C)可以编译,但不能通过连接,所以不能运行D)输出:###2:若w=1,某=2,y=3,z=4,则条件表达式w>某w:yvoidmain(){int某=-1,y=4,k;k=(某++<=0)&&!(y--<=0);printf(\}A)0,0,3B)0,1,2C)1,0,3D)1,1,24:以下不是死循环的程序段是DA)inti=100;B)for(;;);while(1){i=i0+1;if(i>100)break;}C)intk=0;D)int=36;do{++k;}while(k>=0);while();--;5:下列程序运行结果为:_____C______。

C程序设计考试题A

C语言程序设计考试题A注意事项:1. 答题前,请先在试卷和机读卡上对应位置用钢笔准确清楚的填写上本人姓名和学号,机读卡的科目栏里填写年级和专业的简称,并用2B铅笔填涂学号(必须填在前8列,剩最右边的一列不填涂);2. 试卷答案必须用2B铅笔在机读卡上按对应题号准确、清楚涂写,答在试卷上无效;3. 本试卷共74个小题,机读卡上按【1】~【80】的编号顺序涂写。

【1】~【60】每题1分,【61】~【80】每题2分,共100分。

1.在C语言中,要求参加运算的数必须是整数的运算符是【1】(A)/ (B)* (C)%(D)=2.以下不正确的说法是【2】(A)全局变量、静态变量的初值是在编译时指定的(B)静态数值型变量如果没有指定初值,则其初值为0(C)局部变量如果没有指定初值,则其初值不确定(D)函数中的静态变量在函数每次调用时,都会重新赋初值3.已知:int a[ ]={1,2,3,4},x,*pt=&a[1]; 则执行语句“x=(*--pt)++;”之后,变量x的值为【3】(A)1(B)2 (C)3 (D)44.已知:int x,*p=&x; 则下列输入输出x值的函数调用中错误的是【4】(A)scanf(“%d”,&x); (B)scanf(“%d”,p);(C)printf(“%d”,x); (D)printf(“%d”,p);5.在说明一个结构体变量时系统分配给它的存储空间是【5】(A)该结构体中第一个成员所需的存储空间(B)该结构体中最后一个成员所需的存储空间(C)该结构体中占用最大存储空间的成员所需的存储空间(D)该结构体中所有成员所需的存储空间的总和6.C语言中函数返回值的类型是由【6】决定的(A)return语句中的表达式类型(B)调用该函数的主调函数类型(C)调用函数时临时(D)定义函数时所指定的函数类型7.设有数组定义:char array [ ]="China"; 则数组array所占的空间为【7】(A卷)第 1 页共13 页(A)4个字节(B)5个字节(C)6个字节(D)7个字节8.凡在函数中未指定存储类别的变量,其隐含的存储类别为【8】(A)自动(auto)(B)静态(static) (C)外部(extern) (D)寄存器(extern) 9.下列选项中是非法的C语言转义字符的是【9】(A)'\b' (B)'\' (C)'\037' (D)'\xf'10.下面说法正确的是【10】(A)函数定义可以嵌套,但函数调用不能嵌套(B)函数定义不可以嵌套,但函数调用可以嵌套(C)函数定义和调用均不能嵌套(D)函数定义和调用均可以嵌套11.语句“static int i=10;”中,“i=10”的含义是【11】(A)将变量i初始化为10 (B)只说明了一个静态变量(C)与“auto int i=10;”在功能上等价(D)给变量i赋值为1012.下述对C语言字符数组的描述中错误的是【12】(A)字符数组可以存放字符串(B)字符数组中的字符串可以进行整体输入输出(C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值(D)字符数组的下标从0开始13.有以下说明和语句,且0<=i<10,则下面【13】是对数组元素地址的正确表示int a[ ]={1,2,3,4,5,6,7,8,9,0},*p,i;p=a;(A)&(a+1) (B)a++ (C)&p (D)&p[i]14.若有以下说明和语句,则p2-p1的值为【14】int a[10],*p1,*p2;p1=a; p2=&a[5];(A)5(B)6 (C)10 (D)错误的表达式15.已知:char s[10],*p=s; 则在下列语句中,错误的语句是【15】(A)p=s+5; (B)s=p+5; (C)s[2]=p[4]; (D)p[0]=’a’;16.已知:char s[10]; int i=1; 则在下列引用数组元素的表达式中,错误的表示形式是【16】(A)s[i] (B)*(s+i) (C)*s (D)*((s++)+i)17.已知:char a[5],*p=a; 则正确的赋值语句是【17】(A)a=”abcd”; (B)*a=”abcd”; (C)p=”abcd”;(D)*p=”abcd”;18.设有int i; char c; float f; 以下结果为整数的表达式是【18】(A卷)第 2 页共13 页(A 卷) 第 3 页 共 13 页(A )i+f (B )i*c (C )c+f (D )i+c+f19. 以下使变量i 的运算结果为4的表达式是【19】 (A )int i=0,j=0;(B )int i=1,j=0; (i=3,(j++)+i);j=i=((i=3)*2);(C )int i=1,j=1;(D )int i=1,j=1;(j==1)?(i=1):(i=3);i+=j+=2;20. 设char ch; 以下正确的赋值语句是【20】 (A )ch=’123’;(B )ch=’\xff ’;(C )ch=’\08’;(D )ch=’’\’’;21. 设n=10,i=4,则赋值运算n%=i+1执行后,n 的值为【21】 (A )0(B )3(C )2(D )122. 逗号表达式(a=3*5,a*4),a+15运算后,a 的值为【22】 (A )60(B )30(C )15(D )9023. 若有说明int x,y; 不能实现以下函数关系的程序段是【23】(A )if(x<0) y=-1;(B )if(x>=0) else if(x==0) y=0;if(x>0) y=1; else y=1;else y=0;else y=-1;(C )y=0; (D )y=-1; if(x>=0)if(x!=0) { if(x>0) y=1; } if(x>0) y=1;else y=-1;else y=0;24. 设有说明int s[2]={0,1},*p=s; 则下列错误的C 语句是【24】 (A )s+=1;(B )p+=1;(C )*p++;(D )(*p)++;25. 为了判断两个字符串s1和s2是否相等,应当使用【25】 (A )if(s1=s2)(B )if(s1==s2) (C )if(strcmp(s1,s2)==0)(D )if(strcpy(s1,s2))26. 一个C 程序执行是从【26】(A )第一个函数开始,直到最后一个函数结束 (B )第一个语句开始,直到最后一个语句结束⎪⎩⎪⎨⎧>===<-=)0(1)0(0)0(1x y x y x y(C)从main()函数开始,在main()函数中结束(D)从main()函数开始,直到源文件中的最后一个函数27.下列选项中是C语言提供的合法的数据类型关键字的是【27】(A)string (B)Int (C)integer (D)char28.以下程序段int k=0; while(k=1) k++; while 循环执行的次数是【28】(A)无限次(B)有语法错,不能执行(C)一次也不执行(D)执行1次29.在下面的条件语句中(其中s1和s2表示C语言的语句),只有一个在功能上与其它三个语句不等价,它是【29】(A)if(p) s1; else s2; (B)if(p==0) s1; else s2;(C)if(p!=0) s1; else s2; (D)if(p==0) s2; else s1;30.若int k=10; 执行下列程序后,变量k的正确结果是【30】switch(k){case 9: k+=1;case 10: k+=1;case 11: k+=1;default: k+=1;}(A)10 B)11 (C)12 (D)1331.若数组名作实参而指针变量作形参,函数调用实参传给形参的是【31】(A)数组的长度(B)数组第一个元素的值(C)数组所有元素的值(D)数组第一个元素的地址32.以下错误的描述是【32】(A)break语句不能用于循环语句和switch语句外的任何其他语句(B)在switch语句中使用break语句或continue语句的作用相同(C)在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环(D)在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环33.f or(表达式1; ; 表达式3)可理解为【33】(A)for(表达式1; 0 ; 表达式3) (B)for(表达式1; 1 ; 表达式3)(C)for(表达式1; 表达式1 ; 表达式3) (D)for(表达式1; 表达式3 ; 表达式3)34.设int k; 则语句for(k=0;k=1;k++); 和语句for(k=0;k==1;k++); 执行的次数分别是【34】(A)无限次和0次(B)0次和无限次(C)都是无限次(D)都是0次(A卷)第 4 页共13 页35.有以下程序段:int n=0,p;do{ scanf(“%d”,&p); n++;} while(p!=12345 && n<3);此处do~while循环的结束条件是【35】(A)p值不等于12345并且n的值小于3(B)p值等于12345并且n的值大于等于3(C)p值不等于12345或者n的值小于3(D)p值等于12345或者n的值大于等于336.下列各程序段中,没有构成死循环的是【36】(A)int i=10; (B)int y=1;while(1) for(; y=10;y++);{ i=i+i%10;if(i==10) break;}(C)int k=100; (D)int s=4;do while(--s){ ++k; s--;} while(k>=100);37.以下四个关于循环语句的结论中,只有一个是错误的,它是【37】(A)可以用while语句实现的循环一定可以用for语句实现(B)可以用for语句实现的循环一定可以用while语句实现(C)可以用while语句实现的循环一定可以用do~while语句实现(D)可以用do~while语句实现的循环一定可以用while语句实现38.已知int j,i=1; 则执行j=-i++; 后,i和j的值为【38】(A)1 -1 (B)1 1 (C)2 -1 (D)2 1 39.以下正确的函数定义是【39】(A)double fun(int x,int y) (B)double fun(int x, y) { z=x+y; return z; } {int z; z=x+y; return z; } (C)fun (x, y) (D)double fun(int x, int y) {int x,y; double z; {double z;z=x+y; return z; } z=x+y; return z; }(A卷)第 5 页共13 页40.若x为整型变量,以下定义指针的正确语句是【40】(A)int p=&x; (B)int p=x; (C)int *p=&x; (D)p=x;41.在C语言中,如果下面的变量都是int类型,则输出的结果是【41】sum=a=5; a=sum++ , a++ , ++a;printf("%d\n",a);(A)5 (B)6 (C)7(D)842.以下正确的说法是【42】(A)实参变量与其对应的形参变量各占用独立的存储单元(B)实参变量与其对应的形参变量共占用一个存储单元(C)只有当实参变量与其对应的形参变量同名时才占用相同的存储单元(D)形参变量是虚拟的,不占用存储单元43.若i为整型变量,则以下循环执行次数是【43】for (i=2; i!=0;) printf("%d", i-- );(A)无限次(B)0次(C)2 次(D)1次44.对以下说明语句的正确理解是【44】int a[10]={1,2,3,4};(A)将4个初值依次赋给a[1]至a[4](B)将4个初值依次赋给a[0]至a[3](C)将4个初值依次赋给a[6]至a[9](D)因为数组长度与初值个数不一致,所以此语句不正确45.已知:char str1[20], str2[10]=”books”; 则在程序中能够将字符串“books”赋给数组str1的正确语句是【45】(A)str1=”books”; (B)strcpy(str1,str2);(C)str1=str2; (D)strcpy(str2,str1);46.以下不正确的说法是【46】(A)在不同函数中可以使用相同名字的变量(B)形式参数是局部变量(C)在函数内定义的变量只在本函数范围内有定义(D)在函数内的复合语句中定义的变量在本函数范围内有定义47.已知一个函数的定义如下:double fun(int x, double y){ ……}则该函数正确的函数原型声明为【47】(A卷)第 6 页共13 页(A 卷) 第 7 页 共 13 页(A )double fun(int x; double y) ; (B )fun(int x,double y); (C )double fun(int, double);(D )fun(x,y);48. 若已定义:int a[10],*p=a; 并在以后的语句中未改变p 的值,不能表示a[1] 地址的表达式是【48】 (A )p+1(B )a+1(C )a++(D )++p49. 要在C 中求)30sin( 的值,则可以调用库函数,格式为【49】 (A )sin(3.14159/6) (B )sin(30) (C )sin(double(30))(D )sin(30.0)50. 在一个源文件中定义的外部变量的作用域【50】 (A )本文件的全部范围(B )本程序的全部范围(C )从定义该变量的位置开始至本文件结束 (D )本函数的全部范围 51. 已知函数fun 的定义为:void f(){ …… }则函数定义中void 的含义是【51】 (A )执行函数f 后,函数没有返回值 (B )执行函数f 后,函数不再返回(C )执行函数f 后,可以返回任意类型的返回值 (D )执行函数f 后,函数返回void 类型的值52. 若有定义:int a[10]; 则对数组a 中元素的正确引用是【52】 (A )a[10](B )a[4.8](C )a(5)(D )*(a+2)53. 以下不正确的定义语句是【53】 (A )double x[5]={2.0,4.0,6.0,8.0,10.0}; (B )int y[5]={0,1,3,5,7,9}; (C )char c1[ ]={‘1’,’2’,’3’,’4’,’5’};(D )char c2[ ]={‘\x10’,’\xa ’,’\x8’};54. 有两个字符数组a,b ,则以下正确的输入语句是【54】 (A )gets(a,b);(B )scanf(“%s,%s ”,a,b); (C )scanf(“%s,%s ”,&a,&b);(D )gets(&a); gets(&b);55. 已知:char *str1=”abcde ”, *str2=”xyz ”; 则执行语句:printf(“%d ”,strlen(strcpy(str1,str2)));输出结果是【55】(A )9(B )3(C )5(D )856. 调用strlen(“abcd\0ef\0g ”)的返回值为【56】 (A )4(B )5(C )8(D )957. 在C 语言中进行乘方运算,例如求a 的3次方,可以使用【57】(A)a^3 (B)a**3 (C)pow(a,3)(D)power(a,3)58.以下对一维整型数组a的正确说明是【58】(A)int a(10); (B)int n=10,a[n]; (C)int n; (D)#define SIZE 10scanf(“%d”,&n);int a[SIZE];int a[n];59.已知:int i=0,j=1,*p=&i,*q=&j; 其中错误的语句是【59】(A)i=*&j; (B)p=&*&i; (C)j=*p++; (D)i=*&q;60.以下关于结构体与共用体的说法,其中正确的是【60】(A)共用体每个成员分别占有自己的内存单元(B)结构体变量所占的内存长度等于最长的成员的长度,共用体变量所占内存长度是各成员占的内存长度之和(C)共用体同一个内存段可以存放几种不同类型的成员,但在某一时刻只能存放一个成员(D)结构体类型可以出现在共用体类型的定义中,但共用体不能出现在结构体类型定义之中61.以下程序的作用是将给出的字符按其格式读入数组ss中,然后输出行列号之和为3的数组元素。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档