高级语言程序设计B
- 格式:doc
- 大小:77.00 KB
- 文档页数:7
习题一1-1 Pascal语言的程序结构由哪几部分组成?试述各部分的构成形式和作用。
1-2 Pascal基本字符集有哪些成分构成?Pascal的保留字是什么?1-3 Pascal语言中标识符是怎样构成的?下列字符串哪些是正确的Pascal标识符?哪些是错误的?为什么?A5B,5H4,PEL,1,A31,x﹡y,AB,A + B,$500,G1(x),xyz,E-10,VAR1-4 下列数据哪些是整数?哪些是实数?哪些是非法的(假设计算机字长为32位)?256 2.54 25E+6 3.75E6 0.15E-61.2E70 1E-15 -673 E8 4,7345.7E-6.6 0 58989 -73451 E-31-5 下列哪些常量定义是正确的?CONSThvalue=200;lvalue=0 OR 1 OR 2;firstchar=’a’;t=true;b=true OR false;1-6 假定已作了下述说明:CONSTgap=’’;VARm,n:integer;a,b:real;p,q:boolean;c1,c2:char;指出下列每一语句是否有效,并说明理由:⑴m:=trunk(b)+a⑵p:=m+n⑶read(c1,c2,’’)⑷c1:=gap⑸p:=q AND (ord(c1)<>’a’)⑹m:=n MOD a⑺‘c1’ :=’c2’⑻c2:=chr(‘a’)⑼m:=m-ord(‘0’)⑽writeln(a,p,m,n,q,q,b)⑾ n:=a-trunc(a)⑿b:=2.99*109⒀a:=m/n⒁b:ord(c1)+ord (c2)1-7 已知变量有下面指定的值:a=7,b=-6,c=30,d=10.8600,e=1E3,f=’*’,g=true求下面表达式的值:a+b DIV trunc(d)+3①d-0.75/(e+140.0)*70.0②sqrt(abs(b-a)+succ(ord(f))③chr(10* a MOD sqr(b))④NOT ((a>=b) AND g)⑤(ord(b) OR (sqr(b)>e)) AND (g AND NOT(abs(b)<>6))1-8 已知有如下说明VARp,q,r,s:Boolean;k:integer;试写出下列每一表达式的类型,如能确定,请写出它们的值。
1. ( 单选题) 能将高级语言编写的源程序转换为目标程序的是_____________ 。
(本题10.0分)A、链接程序B、解释程序C、编译程序D、编辑程序学生答案:C标准答案:C解析:得分:102. ( 单选题) C语言程序编译时,程序中的注释部分()。
(本题10.0分)A、参加编译,并会出现在目标程序中B、参加编译,但不会出现在目标程序中C、不参加编译,但会出现在目标程序中D、不参加编译,也不会出现在目标程序中学生答案:B标准答案:D解析:得分:03. ( 单选题) C 语言中的标识符只能由字母、数字和下划线三种字符组成 , 且第一个字符( )(本题10.0分)A、必须为下划线B、可以是字母、数字和下划线中的任意一种C、必须为字母或下划线D、必须为字母学生答案:D标准答案:C解析:得分:04. ( 单选题) 一个 C 程序的执行是从( )(本题10.0分)A、本程序的main函数开始,到main函数结束B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C、本程序的main函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序main函数结束学生答案:B标准答案:C解析:得分:05. ( 单选题) C 语言提供的合法关键字是( ) (本题10.0分)A、swicthB、chanC、caseD、default学生答案:C标准答案:D解析:得分:06. ( 单选题) C语言程序的基本单位是()(本题10.0分)A、程序行B、语句C、函数D、字符学生答案:B标准答案:C解析:得分:07. ( 单选题) 组成C语言程序的是( )。
(本题10.0分)A、过程B、函数C、子程序D、主程序和子程序学生答案:C标准答案:B解析:得分:08. ( 多选题) 一个计算机程序应包括( )的内容。
(本题10.0分)A、对数据的描述B、对企业的描述C、对操作的描述(算法)D、对社会的描述学生答案:A标准答案:AC解析:得分:59. ( 多选题) C程序注释是由( )所界定的文字信息组成的。
一、单选题1、计算机为什么采用二进制,而非十进制作为数制的基础?A.因为二进制比十进制计算速度快B.因为二进制比十进制表示能力更强C.因为二进制数精度更高D.因为二进制数更容易被硬件存储和计算正确答案:D2、Python语言为什么被称为高级程序设计语言?A.因为它是编译型语言B.因为它是解释型语言C.因为它比低级语言更复杂D.因为它比低级语言更抽象正确答案:D3、关于Python语言的执行过程,描述正确的是?A.可以同时执行多条语句B.由解释器一条语句一条语句地执行C.执行过的语句将不会再被执行D.由编译器将源程序转化为机器语言,然后执行正确答案:B4、下列Python程序,没有错误的是?A.print 'Hello, ' print 'World!'B.print 'Hello, I\'m Tom.'C.print 'Hello, this's Tom.'D.Print 'Hello, World!'正确答案:B5、在Spyder IDE中编写Python程序,输出“Hello World”,要求将这两个单词分两行输出,以下哪个程序不正确?A.print 'HelloWorld'B.print 'Hello\nWorld'C.print 'Hello'print 'World'D.print "Hello\nWorld"正确答案:A6、执行下列语句,输出的结果是?x = 7.0y = 5print x % yA.1B.2C.1.0D.2.0正确答案:D7、能实现下面功能的程序是?接收用户输入的一个整数。
如果输入的是偶数,则输出“True”,否则输出“False”。
A.print not bool(raw_input() % 2)B.print int(raw_input()) % 2 == 0C.print int(raw_input()) % 2 == 1D.print bool(int(raw_input()) % 2)正确答案:B8、以下程序的输出结果是?y = 0for i in range(0, 10, 2):y += iprint yA.30B.20C.9D.10正确答案:B9、以下程序的输出结果是?number = 30if number % 2 == 0:print number, 'is even'elif number % 3 == 0:print number, 'is multiple of 3'A.30 is evenB.30 is multiple of 3C.程序出错D.30 is even30 is multiple of 3正确答案:A10、以下程序的输出结果是?x = 1y = -1z = 1if x > 0:if y > 0: print 'AAA'elif z > 0: print 'BBB'A.语法错误B.BBBC.AAAD.无输出正确答案:D11、下列程序的输出结果是:def foo():m = 1def bar():n = 2return m + nm = bar()print mfoo()A.1B.3C.程序出错D.2正确答案:B12、字符串s长度为奇数,则显示中间字符的表达式为?A.s[len(s)/2 - 1]B.s[len(s)/2 + 1]C.s[len(s)/2]D.s[(len(s) + 1)/2]正确答案:C13、关于元组数据结构,下面描述正确的是:A.元组不支持切片操作B.所有元素数据类型必须相同C.支持 in 运算符D.插入的新元素放在最后正确答案:C14、一个学生的信息包括:学号、姓名、年龄、性别、电话。
设有定义语句“struct {int a;float b;char c;}abc,*p;”,则对结构体成员a的引用可以是( )。
A.(*p).aB.abc->aC.abc.aD.p->a回答错误!正确答案: A C D以下叙述中,正确的叙述是:A.预处理行不是c的可编译语句B.在程序中凡以#开始的语句都是预处理命令C.C程序在执行过程中对预处理命令进行处理D.预处理命令须以#开始回答错误!正确答案: A B D下列属于单字符输入输出函数的是()。
A.getchar()B.printf()C.scanf()D.putchar()回答错误!正确答案: A D当一个函数为外部函数时,不正确的说法是( )。
A.该函数不能被本文件中函数调用B.该函数不能被其他文件调用C.该函数只能被main()调用D.该函数只能被非主函数调用回答错误!正确答案: A B C D不能将高级语言编写的源程序转换成目标程序的是:A.编译程序B.解释程序C.编程程序D.链接程序回答错误!正确答案: B C D下列选项中关于外部变量,正确的是( )。
A.main函数是主函数,不在main函数内部定义的变量都是外部变量B.外部变量必须定义在源程序的开始处C.定义外部变量时,可以进行初始化外部变量必须定义在所有函数的外面回答错误!正确答案: C D已知“int a=1;char b=65; float c=2.0;double d=3.5;”。
则下述赋值表达式结果为整型的是()。
A.b=a+b;B.b=(int)(c+d);C.a=3.2;D.a=c+d;E.c=a+b;F.c=(int)3.2;回答错误!正确答案: A B C D已有char s[10][10]={0};int i=10;。
在下列表达式中,没有意义的表达式是:*(&(s+i)+i)B.*(*(s+i)+i)C.*(*(s+i-1)+i-1)D.s[i][i]回答错误!正确答案: A B D下列属于C语言标准库函数的为()。
高级语言程序设计真题2013年下半年(总分:100.00,做题时间:90分钟)一、{{B}}单项选择题{{/B}}(总题数:15,分数:30.00)1.正确的自定义标识符是______∙ A.2xy∙ B.int∙ C.root%x∙ D.total(分数:2.00)A.B.C.D. √解析:[考点] C语言的基本词法——标识符 [解析] 标识符是由字母或下画线开头的字母、数学、下画线组成的字符序列。
故A、C错误,又因为B中int为保留字,故错误。
2.正确的C语言常数是______∙ A.012∙ B."abc"∙ C.0xfp∙ D.2e1.25(分数:2.00)A. √B.C.D.解析:[考点] C语言数据类型——常量 [解析] A项中012为八进制整型常量;B项中若写成“abc”则正确;C项中oxfp:十六进制整数中不会出现P;D项中e后边应为整数。
3.下列不是C语言运算符的是______∙ A.<>∙ B.^∙ C.!∙ D.&=(分数:2.00)A. √B.C.D.解析:[考点] C语言运算符 [解析] B:Λ为位运算符。
C:!为逻辑运算符,D:&=为位与赋值运算符。
故只有A:<>不是运算符。
4.表达式5+6!=0的值是______∙ A.0∙ B.1∙ C.6∙ D.11(分数:2.00)A.B. √C.D.解析:[考点] 关系表达式的值[解析] 由于关系表达式的值只有0和1。
当其成立时为1,不成立时为0。
而题目中给出的关系表达式对应的数学中的表达公式为5+6≠0,故成立,则其结果为1。
5.设float x;-1≤x<3正确的C语言表达式是______∙ A.-1<=x<3∙ B.-1<=x||x<3∙ C.x>=-1&&x<3∙ D.!(x>=-1)&&(x<3)(分数:2.00)A.B.C. √D.解析:[考点] 逻辑表达式 [解析] 数学中的表达式a<b<c对应C语言中的逻辑表达式为a<b&&b<c。
高级语言程序设计C++第一章基本数据与表达式1.一个最简单的 C++ 程序,可以只有一个()。
A.库函数 B.自定义函数 C.main 函数 D.空函数答题: A. B. C. D. (已提交)参考答案:C问题解析:2.用 C++ 语言编写的源程序要成为目标程序必须要经过()。
A.解释 B.汇编 C.编辑 D.编译答题: A. B. C. D. (已提交)参考答案:D问题解析:3. C++ 程序中的简单语句必须以()结束。
A.冒号 B.分号 C.空格 D.花括号答题: A. B. C. D. (已提交)参考答案:B问题解析:4.程序中把表达式“a+0.5”写为“a*0.5”,是()错误。
A.编译 B.连接 C.运行 D.逻辑答题: A. B. C. D. (已提交)参考答案:D问题解析:5.在下列选项中,全部都是C++ 关键字的选项为()。
A.while IF Static B.break char goC.sizeof case extern D.switch float integer答题: A. B. C. D. (已提交)参考答案:C问题解析:6.按C++标识符的语法规定,合法的标识符是()。
A._abc B.new C.π D."age"答题: A. B. C. D. (已提交)参考答案:A问题解析:7.下列正确的八进制整型常量表示是()。
A.0a0 B.015 C.080 D.0x10答题: A. B. C. D. (已提交)参考答案:B问题解析:8.下列错误的十六进制整型常量表示是()。
A.0x11 B.0xaf C.0xg D.0x1f答题: A. B. C. D. (已提交)参考答案:C问题解析:9.可以用于命名变量的标识符是()。
A.3x B.const C.name_2 D.答题: A. B. C. D. (已提交)参考答案:C问题解析:10.说明变量a是整形变量的正确语句是()。
武汉大学珞珈学院《高级语言程序设计》试卷答案(A)( 2007-2008学年度第2学期 2007级)[闭卷,试卷共页,答题时间120分钟]学号姓名专业计算机科学与技术班号2007级05、06班系计算机(说明:请考生将答案写在“武汉大学珞珈学院考试答题纸”纸上并标明题号,否则不得分。
)一、选择题(每小题2 分,共20 分。
)1、正确的标识符是____A__ 。
A._a123B.3zC.“next”D.…A‟2、表达式2.5+7%2-5/2*2的结果为____C__ 。
A. 3.5B. 1.5C.-0.5D.-1.53、下面的四个选项中,正确的整型常量是____B__ 。
A.x234FB.068C.0672D.07aL4、设有如下宏定义#define weight 10#define price (1+weight)则执行赋值语句v=price*20;/*v为int型变量*/后,v的值为____D_ 。
A.41B.200C.201D.2205、设有变量定义:int m=5,n=3;则执行表达式((m+=2)>=7)||((n-=3)<10)后,m,n的值分别为_____ D _。
A.5和0B.5和3C.7和0D.7和36、 B 不属于三种基本程序结构。
A.顺序B.转移C.选择D.循环7、设long a[50],*p;执行p=a+2; 后*(p+4)等价于___C_____。
A.a[2]B.a[4]C.a[6]D.无法确定8、表达式0x7586&0xff00结果为____D__ 。
A.0x86B.0x7586C.7500D.0x75009、采用只读模式打开二进制文件”book.txt”,下面正确的打开模式是A_ 。
A.“r b”B.“r b+”C.“r”D.“r+”10、已知各变量的类型说明如下:int i=8, k, a, b;unsigned long w=5;double x=1.42, y=5.2;则以下符合C语言语法的表达式是 B 。
机密★启用前
高级语言程序设计练习(二)
(课程代码0342)
本试卷共7页,满分100分,考试时间150分钟。
一、单项选择题(本大题共15小题,每小题2分,共30分)
1.下列是C语言合法的标识符的是【】A.a.c B.static C.2a D.Int
2.下列不是C语言合法的常量表示的是【】A.0xa3 B.0L C.059 D.1e3
3.设a, b, c都是整型量,且a=2,b=5,c=8,则下面表达式中值为0的是【】A.a<b B.a||b+c&&b-c C.…a‟&& …b‟D.!((a<b)&&!c||2)
4.用十进制数表示表达式“12|012”的运算结果是【】A.0 B. 1 C.12 D.14
5.定义:int k=5;执行while(k--) ; printf(“%d”,k); 程序的输出结果是【】A.-1 B.0 C.43210 D.54321
6.定义:char c1,c2; scanf(“%2c%3c”,&c1,&c2);printf(“%c%c”,c1,c2); 键盘输入:ABCDE;则输出的结果是【】A.AB B.AC C.ABCD D.ABCDE
7.有C语言源程序如下:
main()
{ int a,b=-1;scanf("%d",&a);
if(a) if(a>0) b=1; else b=0; printf(“%d”, b);
}
高级语言程序设计练习题二第 1 页共7 页
当输入的a值是-5时,程序输出结果是【】A.-1 B.0 C.1 D.程序有误
8.定义:char st[10]= “chinese”,则*(st+7)表示的值是【】A.…\0‟B.…0‟C.…e‟D.不确定
9.下列的数组初始化形式中,正确的是【】A.char s[4]= “ABCD”B.int a[10]=0;
C.c har b[4]={1,2,3,4} D.int t[ ]= “1234”;
10.在c语言中,函数调用时如果相应的形参和实参都是指针变量,则主调函数和被调函数之间传递数据的方式是【】
A. 单向地址值传递
B. 双向地址值传递
C. 单向数值传递
D. 双向数值传递
11.定义:int a[5]={1,3,6 ,9,10}, *p=a+2; 则与a[2]表示等价的是【】A.p[2] B.*a+2 C.*p D.*p+2
12.定义:int a[10], *p; 则下列的表示中正确的是【】A.p=&a B.*p=a C.p=a[9] D . p= a+9
13.C语言中,以下叙述错误的是【】A.形参可以是变量、常量或表达式B实参和对应形参的数据类型必须一致
C.实参可以是变量、常量或表达式D.函数被调用时,系统才为形参分配内存14.定义:typedef struct {long x; int y[5]; char z[6];}Mytype; 则printf(“%d”, sizeof(Mytype));输出的结果是【】A.4 B.6 C.10 D.20
15.下列函数中,关于文件读写的函数是【】A.fopen B.fputs C.feof D.rewind
二、填空题(本大题共10小题,每小题2分,共20分)
请在每小题的空格中填上正确答案。
错填、不填均无分。
16.无论一个C程序有多少个函数构成,程序执行是从开始。
17.设整型量x=4,y=3,z=2;则表达式x+=y/z的值是。
18.在内存中,常量…\101‟占用的字节数是。
19.设有宏定义#define X 2-2,则printf(“%d\n”,6*X);的输出结果是___________。
20.定义:int x,y,s;执行for(x=1,y=9;x<=y; x++, y--) s=x+y; 后,s的结果是。
21.定义:int x=-1;do{x=x*x;}while(! x);执行循环体的次数是。
22.定义:char s[20]= “123456”, t[]= “ef”;执行printf(“%s”, strcat(s,t));后的输出是。
高级语言程序设计练习题二第 2 页共7 页
23.定义:int a[ ]={8,3,9,15},*pa=a+2; printf(“%d”, *pa++);输出的结果是。
24.C语言中,主函数main的参数是int argc和。
25.若要用fopen函数打开一个新的二进制文件,该文件要既能读又能写,则文件读写方式字符串应是。
三、程序分析题,并写出程序的运行结果(本大题共5小题,
每小题5分,共25分)
26.void main()
{ int m,n;
for(m=1;m<=4;m++)
{ for(n=1;n<=4-m; n++) printf(“”);
for(n=1;n<=2*m-1;n++)printf (“*”);
printf(“\n”);
} }
27.void main( )
{ int x[10]={5,8,2,6,1,9,7,3,4,0};
int j, k, t , r;
for( j=0; j<9; j++)
{r= j;
for(k=j+1; k<10; k++)
if( x[r]<x[k]) r=k ;
t=x[ j], x[ j]=x[r], x[r]=t ; }
for( j=0; j<10; j++)
{ if( j%5= =0) printf(“\n”);
printf(“%4d”, x[j]);
} }
高级语言程序设计练习题二第 3 页共7 页
28.void main( )
{char st[ ]= “fg13aFG457y”, *pr=st ;
int n1,n2; n1=n2=0;
while(*pr)
{if(*p r>= …0‟&&*pr<= …9‟) n1++;
else if(*p r>= …a‟&&*pr<= …z‟) n2++;
pr++; }
printf (“n1=%d\tn2=%d\n”, n1,n2); }
29.#include<stdio.h>
void main()
{ int fun(int a);
int a=2,j;
for(j=0;j<3;j++)
printf("%d\t",fun(a));
}
int fun(int a)
{ int b=0;
static int c=3;
b++, c++;
return a+b+c;
}
30.void main( )
{ int a=1,b=1,x=1,y=1;
switch(x)
{ case 1: switch(y)
{case 1: a++; break;
case 2: b++; break;
}
case 2: a+=b; b+=a;
高级语言程序设计练习题二第 4 页共7 页
}
printf(“a=%d,b=%d\n”, a,b);
}
四、程序填空题(本大题共2小题,每小题6分,共12分)
给出下列程序,将横线处缺少的部分补上,使其能正确的运行。
31.根据公式计算e的值(精度为1e-6):
1111
1
1!2!3!!
e
n =++++
#include “math.h”
void main()
{double E, t; int n;
(1) ;
t=1.0; n=1 ;
while ( (2) )
{ E=E+1/t; (3) ;
t=t*n; }
printf(“e=%.2lf\n”, E);
}
(1)
(2)
(3)
32.从键盘读一串字符(以回车结束)追加到当前目录下的文本文件test1中。
#include “stdio.h”
main( )
{ FILE *out;
char ch;
if( (1) = =NULL)
{printf(“cann\‟t open the file\n”); exit(0);}
(2) ;
while( ch!= …\n‟)
{ (3) ;
ch=getchar( ) ; }
高级语言程序设计练习题二第 5 页共7 页
高级语言程序设计 练习题二 第 6 页 共 7 页
fclose(out); }
(1) (2) (3)
五、程序设计题(本大题共3小题,每小题每题6分,共18分)
33.输入实数x ,按下列公式计算并输出x 和y 的值(小数点后保留两位)。
⎪⎪⎩
⎪
⎪⎨⎧
>++≤<+≤=10x 1x x 1
10x 01x 0x x
sin y 2
32
34.输入两个字符串(<80个字符),连接后输出(不调用标准函数)。
35.编写一个自定义函数int findmax(int a[ ], int n),返回数组a中的最大元素的下标。
高级语言程序设计练习题二第7 页共7 页。