11计科高级语言程序设计习题(最新版带答案)
高级语言程序设计(C++) 习题及答案
习题一:选择题1.若有说明:int i,j=7,*p;p=&i;则与i=j等价的语句是(b)a.i=*p;b.*p=*&j;c.i=&jd.i=**p;2.设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是(b)a.k=*p1+*p2; b.p2=k; c.p1=p2;d.k=*p1*(*p2);二:填空题1、给出以下程序的输出结果是( 200 )#include <iostream.h>void main(){int *v,b;v=&b; b=100; *v+=b;cout<<b<<endl;}2、给出以下程序的输出结果是(26 )#include <iostream.h>void fun(int *x){ cout<<++*x<<endl; }main(){int a=25;fun(&a);}3、给出以下程序运行的结果(c=6 d=2)#include <iostream.h>void ast(int x,int y,int *cp,int *dp){*cp=x*y;*dp=x%y;}void main(){int a,b,c,d;a=2; b=3;ast(a,b,&c,&d);cout<<“c=”<<c<<”d= ”<<d;}4、给出以下程序运行的结果(10 0 10 0 21 31 21 31 22 32 22 32)#include <iostream.h>void main( ){int a=10,b=0,*pa, *pb;pa=&a; pb=&b;cout<<setw(4)<<a<< setw(4)<<b;cout<<setw(4)<<*pa<< setw(4)<<*pb;a=20; b=30;*pa=a++; *pb=b++;cout<<setw(4)<<a<< setw(4)<<b;cout<<setw(4)<<*pa<< setw(4)<<*pb;(*pa)++;(*pb)++;cout<<setw(4)<<a<< setw(4)<<b;cout<<setw(4)<<*pa<< setw(4)<<*pb;}三:编程题1.写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
高级语言程序设计—考试题库及答案
回答错误!正确答案: D
若 int w=1, x=2, y=3, z=4;则条件表达式“w>x?w:y<z?y:z”的结果 为:;
收藏 A. 2 B. 4 C. 3 D. 1
回答错误!正确答案: C
在 C 语言中,不正确的常量是()
收藏 A. 0xf6 B. 0876 C. .5e-6 D. +3e+2
收藏 A. 20 B. 18 C. 16
D. 14
回答错误!正确答案: C
已说明 int a=256,执行语句 printf(”%x” ,a);的结果是()
收藏 A. 100 B. 256 C. 00ff D. 0ffe
回答错误!正确答案: A
下列描述中,正确的描述是( )。
收藏 A. 预处理指令只能位于程序首部 B. 凡是 C 源程序中行首以#标示的控制行都是预处理指令 C. 预处理就是完语法分析做准备 D.
回答错误!正确答案: A
以下程序运行后,main(){char *s="abcde"; s+=2; printf("%d\n",s); },输出结果是:
收藏 A. 值不确定 B. 字符 c 的地址 C. 字符 c 的 ASCII 码值 D. cde
回答错误!正确答案: B
下列常数中不能作为 C 的常量的是()
高级语言程序设计(JAVA)_习题集(含答案)
44. Java 中访问限定符不包括( )。
A、public
B、private
C、default
D、final
45. 为 AB 类的一个无形式参数无返回值的方法 method 书写方法头,使得使用类名 AB
作为前缀就可以调用它,该方法头的形式为( )。
A、static void method( )
B、public void method( )
D、无论是运行 Javac 还是 Java 命令,后面的源文件都必须给出文件扩展名
22. 能从循环语句的循环体中跳出的语句是( )。
A、for 语句
B、break 语句
C、while 语句
D、continue 语句
23. 下列语句序列执行后,k 的值是( )。
int i=6,j=8,k=10,m=7;
if(i>j||m<k--)
k++;
else
k--;
A、12
B、11
C、10
D、9
24. 编译和解释执行一个 Java 应用程序应分别采用的命令是( )。
A、java 和 javac
B、javac 和 java
C、javap 和 java
D、javac 和 jdb
25. 下列关于 Java Application 与 Applet 的说法中,正确的是( )
C、在程序对象是通过一种抽象数据类型来描述的,这种抽象数据类型称为类(class)
D、在程序中,对象是一组变量和相关方法的集合
50. 下列关于作用域的说法中,正确的一个是( )。
A、不同方法中声明的不同变量,可以互相访问
B、在不同方法中可以声明相同数据类型的同名局部变量
高级语言程序设计习题(最新版带答案)
第1章C语言概述习题1.单项选择题(1)C语言是在B语言的基础上产生的。
A.AB.BC.DD.E(2)在C语言中,每个语句必须以D结束。
A.回车符B.冒号C.逗号D.分号(3)标识符和关键字间,要用C隔开。
A.回车符B.冒号C.空格D.分号(4)用C语言编写的源文件经过编译,若没有产生编译错误,则系统将(B)。
A.生成可执行目标文件B.生成目标文件C.输出运行结果D.自动保存源文件(5)下列说法中正确的是(B)。
A.由于C源程序是高级语言程序,因此一定要在TC软件中输入B.由C源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入C.由于C程序是高级语言程序,因此输入后即可执行D.由于C程序是高级语言程序,因此它由命令组成(6)下列说法中正确的是(A)。
A.C语言程序由主函数和0个或多个函数组成B.C语言程序由主程序和子程序组成C.C语言程序由子程序组成D.C语言程序由过程组成(7)下列说法中错误的是(D)。
A.主函数可以分为两个部分:主函数说明部分和主函数体B.主函数可以调用任何非主函数的其他函数C.任何非主函数可以调用其他任何非主函数D.程序可以从任何非主函数开始执行2.填空题(1)C语言只有32个关键字和9种控制语句。
(2)C语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。
(3)每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。
(4)在C语言程序中允许出现的字符集是ASCII码字符集。
(5)C语言的程序中有特殊含义的英语单词称为保留字。
(6)C语言标识符的长度是前8位有效。
(7)C语言中,标识符的定义规则是以字母或下划线为开头。
(8)C语言程序的注释可以出现在程序中的任何地方,它总是以/*符号作为开始标记,以*/符号作为结束标记。
第2章数据类型运算符和表达式习题1.单项选择题(1)以下选项中,正确的C语言整型常量是D。
高级语言程序设计(Python)习题与答案
高级语言程序设计(Python)习题与答案一、单选题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.20D.10正确答案:B9、以下程序的输出结果是?number = 30 if 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():return 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、一个学生的信息包括:学号、姓名、年龄、性别、电话。
(完整版)高级语言程序设计习题答案(免费)
7. a+b>c && b+c>a && c+a>b
8. (year%4 == 0) && (year%100!=0)||(year%400==0)
1.4
1.#include <ioห้องสมุดไป่ตู้tream.h>
void main()
23.已知i=0,j=1,k=2,则逻辑表达式++i||--j&&++k的值为(b)。
(a)0(b)1(c)2(d)3
24.执行下列语句后,x的值是( d ),y的值是( c )。
int x , y ;
x = y = 1;++ x || ++ y;
(a)不确定(b)0(c) 1(d) 2
25.设X为整型变量,能正确表达数学关系1< X < 5的C++逻辑表达式是( b, c, d )。
2. x * ( x * ( x * ( a * x + b ) + c ) + d ) + e
3. log( 1 + pow( fabs( ( a + b )/( a – b ) ),10)
4. sqrt(1 + 3.14159/2 * cos( 48 * 3.14159/180 ) )
5. 1/tan( ( 1 - x*x )/( 1 + x*x))
default:s+=2;
}
cout<<"s="<<s<<endl;
高级语言程序设计试题(卷)与答案
1.1 单项选择题1.二进制语言是属于()①面向机器语言②面向问题语言③面向过程语言④面向汇编语言【解】人们研制了许许多多计算机程序设计语言,其中二进制语言直接来自计算机的指令系统,与具体计算机紧密相关,所以是一种面向机器语言。
面向问题语言是为了易于描述和求解某类特定领域的问题而专门设计的一种非过程语言。
面向过程语言是一种能方便描述算法过程的计算机程序设计语言。
有汇编语言,但没有面向汇编语言。
汇编语言也是一种面向机器的语言,与机器语言比较,汇编语言用有助于记忆的符号来代表二进制代码。
所以解答是①。
2.下列语言中不属于面向过程的语言是()①高级语言②低级语言③C语言④PASCAL语言【解】C语言和PASCAL等程序设计语言都是高级语言,它们用于描述复杂加工的处理过程,所以也称它们是面向过程语言。
低级语言是指机器语言和汇编语言,低级语言是面向机器的语言,而不是面向问题的语言。
所以解答是②。
3.下列字符中属于键盘符号的是()①②n ③t ④b【解】键盘符号是指键盘上有标记,并能在显示器上直接以其标记字样显示的字符。
有许多键盘上有标记的符号,它们不是用于直接显示的,键入这种字符用于表示特定的意义,如常用的回车符。
为了能让C程序标记这种符号,程序采用转义字符的方式书写这种字符。
如"n"、"t" 、"b"都不是键盘字符,在C语言中,它们都得用转义字符来表达。
只有字符才是键盘字符。
所以解答是①。
但在C程序中,反斜杠字符已特别用作转义字符的引导符,它也得用转义字符的表达形式书写,将它写成""。
4.下列字符列中,不是用来表达转义字符是()①②" ③074 ④【解】转义字符有三种书写形式:反斜社字符后接上某个规定的字符;反斜杠字符后接上13个八进制数字符;反斜社字符和字符X之后接上1至2个十六进制数字符。
后两种分别八进制数和十六进制数直接给出字符的ASCll代码值。
高级语言程序设计试卷及答案解析
1.1 单项选择题1.二进制语言是属于〔〕①面向机器语言②面向问题语言③面向过程语言④面向汇编语言【解】人们研制了许许多多电脑程序设计语言,其中二进制语言直接来自电脑的指令系统,与具体电脑紧密相关,所以是一种面向机器语言。
面向问题语言是为了易于描述和求解某类特定领域的问题而专门设计的一种非过程语言。
面向过程语言是一种能方便描述算法过程的电脑程序设计语言。
有汇编语言,但没有面向汇编语言。
汇编语言也是一种面向机器的语言,与机器语言比较,汇编语言用有助于记忆的符号来代表二进制代码。
所以解答是①。
2.以下语言中不属于面向过程的语言是〔〕①高级语言②低级语言③C语言④PASCAL语言【解】C语言和PASCAL等程序设计语言都是高级语言,它们用于描述复杂加工的处理过程,所以也称它们是面向过程语言。
低级语言是指机器语言和汇编语言,低级语言是面向机器的语言,而不是面向问题的语言。
所以解答是②。
3.以下字符中属于键盘符号的是〔〕①②n ③t ④b【解】键盘符号是指键盘上有标记,并能在显示器上直接以其标记字样显示的字符。
有许多键盘上有标记的符号,它们不是用于直接显示的,键入这种字符用于表示特定的意义,如常用的回车符。
为了能让C程序标记这种符号,程序采用转义字符的方式书写这种字符。
如"n"、"t" 、"b"都不是键盘字符,在C语言中,它们都得用转义字符来表达。
只有字符才是键盘字符。
所以解答是①。
但在C程序中,反斜杠字符已特别用作转义字符的引导符,它也得用转义字符的表达形式书写,将它写成""。
4.以下字符列中,不是用来表达转义字符是〔〕①②" ③074 ④【解】转义字符有三种书写形式:反斜社字符后接上某个规定的字符;反斜杠字符后接上13个八进制数字符;反斜社字符和字符X之后接上1至2个十六进制数字符。
后两种分别八进制数和十六进制数直接给出字符的ASCll代码值。
高级语言程序设计课后练习参考答案(全部)
特别说明:此答案不是标准答案,仅供参考,如有疑问,请与老师共同商量第1章一、单项选择题1-6 ACDBBD二、填空题1、机器、过程2、源、解释、编译、目标3、用某种计算机能理解并执行的计算机语言描述解决问题的方法和步骤、分写解决问题的方法步骤并将其记录下来的过程第2章一、单项选择题1-5 ACCBB 6-10 ADDDD二、填空题1、\2、小写3、字母、下划线、32、84、P105、P10-116、函数调用、表达式7、main 8、main、main9、/*、*/ 10、分11、略第3章一、单项选择题1-5 CBABB 6-10 ACBAB 11-15 AADAD 16-20 CDCCB21-25 CCCDB 26-30 ACDDC 31-34 CADC二、填空题1、字符、字符串2、-15、-153、0、655354、2、15、'\0'、06、#define 符号常量常量7、4 8、数据类型符变量名1,变量名2,……9、unsigned int、double、char 10、const int nn=199;11、1.0 12、a/(b*c)13、1、0 14、非0、0、1、015、1 16、(x>20 && x<30)||x<-10017、x<0 || y<0 || z<0 18、019、 20、5、5、321、++、&&22、算术、关系、逻辑、赋值、逗号、条件第4章一、单项选择题1-5 BCBDC 6-10 CBCAB 11-15 CAADC 16-18 ADA二、填空题1、顺序、循环2、单分支、双分支、多分支3、直到、当4、#include<stdio.h>5、输出格式字符串、输出表达式表6、整、短整、无符号、字符、长整、无符号长整、单精度、双精度、单精度、双精度。
7、如果e1和e2两个条件都成立,那么就执行语句s。
高级语言程序设计—考试题库及答案
收藏 A. putchar(66); B. putchar(ˊ\x41ˊ); C. putchar(ˊ\101ˊ); D. putchar(ˊ\x42ˊ);
回答错误!正确答案: B
函数中的形参和调用时的实参都是变量时,传递方式为( )。
收藏 A. 双向传递 B. 地址传递 C. 值传递 D. 别名传递
对于下面两个结构体变量的定义:(1)struct person{char name[20];int ag e;}pupil,student;struct person men,women;,(2)struct{char name[20];i nt age;}pupil,student;struct men,women;,正确的理解是( )。
回答错误!正确答案: C
设 x、y、t 均为 int 型变量,则执行语句 x=y=3;t=++x||++y;后,y 的值为( )。
收藏 A. 3 B. 不定值 C. 4 D. 1
回答错误!正确答案: A
若有程序段 int n=9; while(n>6){ n--; printf("%d",n);},则该程序段的输出 结果是( )。
收藏 A. 该结构体中的最后一个成员所需存储空间 B. 该结构体占用最大存储空间的成员所需存储空间 C. 该结构体中的第一个成员所需存储空间 D. 该结构体中所有成员所需存储空间的总和
回答错误!正确答案: D
若有 char c[6]={'H','e','l','l','o'};,则 c[5]的值是( )。
收藏 A. 6 B. 5 C. 4 D. 101
高级程序设计课后习题及答案
高级程序设计课后习题及答案第一章概述一、单项选择题1.二进制语言是属于( ) A.面向机器语言 B.面向问题语言 C.面向过程语言 D.面向汇编语言解:A.人们研制了许许多多计算机程序设计语言,其中二进制语言直接来自计算机的指令系统,与具体计算机紧密相关,所以是一种面向机器语言.面向问题语言是为了易于描述和求解某类特定领域的问题而专门设计的一种非过程语言.面向过程语言是一种能方便描述算法过程的计算机程序设计语言.有汇编语言,但没有面向汇编语言.汇编语言也是一种面向机器的语言,与机器语言比较,汇编语言用有助于记忆的符号来代表二进制代码.2.将汇编语言编写的程序翻译成目标程序的是( )程序A.解释B.编译 C.汇编 D.源解:C.3.不属于面向机器语言的是( ) A.符号语言 B.二进制语言 C.汇编语言 D.C语言解:D.4.下列语言中不属于面向过程的语言是( ) A.高级语言B.低级语言C.C语言D.ALGOL语言解:B.C语言和ALGOL等程序设计语言都是高级语言,它们用于描述复杂加工的处理过程,所以也称它们是面向过程语言.低级语言是指机器语言和汇编语言,低级语言是面向机器的语言,而不是面向过程的语言.5.将高级语言编写的程序翻译成目标程序的是( )程序A.解释B.编译 C.汇编 D.源解:B.6.不属于高级语言的计算机语言是( )语言A.BASIC B.C C.ALGOLD.符号解:D.二、填空题1.汇编语言属于面向____语言,高级语言属于面向____语言.解:汇编语言与具体计算机密切有关,是属于面向机器的语言;而高级语言用来描述求解题的算法,所以是面向过程的语言.所以解答是:机器,过程.2.用高级语言编写的程序称为____程序,它可以通过____程序翻译一句执行一句的方式执行,也可以通过____程序一次翻译产生____程序,然后执行.解:用高级语言编写的程序称为源程序,源程序不能在计算机上直接运行,运行源程序有种方式:一种是通过解释程序,对源程序逐句解释执行;另一种是先让编译程序将源程序翻译产生目标程序(目标程序是计算机可直接执行的机器语言程序,它是一种二进制代码程),然后执行目标程序. 所以解答时:源,解释,编译,二进制.3.从计算机角度出发,程序就是____,程序设计就是____.解:用某种计算机能理解并执行的计算机语言描写解决问题的方法步骤;分析解决问题的方法步骤,并将其记录下来的过程.第二章 C语言的基本知识一、单项选择题1.属于C语言字符集中可显示字符的是( ) A.\ B.\n C.\t D.\b解:A2.不属于C语言字符集中的符号是( ) A.\ B.| C.≤ D.^解:C3.下列选项中,不是转义字符的是( ) A.\\ B.\' C.074 D.\0解:C4.下列选项中,正确的转义字符是( ) A.\0F1 B.\" C.\094 D.\0xF1解:B5.下列给出的符号串中,不属于C语言保留字的是( ) A.swith B.cherC.caseD.else解:B6.下列给出的符号串中,属于C语言保留字的是( ) A.if B.iF C.If D.IF解:A7.下列给出的符号串中,可作为标识符的是( ) A.? a B.a=2 C.a.3D.a_3解:D8.下列给出的符号串中,不能作为C语言标识符的是( ) A.a_2 B._2aC._a2D.2_a解:D9.下列给出的符号串中,可以作为C语言标识符的是( ) A.staticB.doC.registerD.GOTO解:D10.下列说法中错误的是( ) A.主函数可以分为2个部分:主函数头和主函数体B.主函数可以调用任何不是主函数的其他函数C.任何函数可以调用不是主函数的其他函数D.程序总是从排在程序最前面的某个函数开始执行解:D 程序总是在主函数中开始执行,并在主函数中结束二、填空题1.转义字符是由____符号开始的单个字符或者若干个字符组成的.解:反斜杠2.C语言的保留字规定全部由____字母组成,解:英文小写3.C语言标识符是由____或____开头的字母、数字、下划线组成的一串符号.ANSIC规定标识符的长度≤____个字符;而PC机上规定前____个字符有效.解:字母,下划线,32,84.C语言词类主要分为____,____,____,____,____和____6类.解:常量,变量,运算符,函数调用,表达式,保留字5.C语言的语句主要分为____语句,____语句,____语句,____语句,____语句,____语句,____语句和____语句.解:数据定义,赋值,函数调用,表达式,流程控制,复合,空,其他6.在C语言中既是词类,又能单独组成语句的有____和____两类.解:保留字,标识符7.C语言的程序是由若干个函数组成的,其中有且仅有一个函数名规定为____的主函数.解:main8.C程序的执行总是由____函数开始,并且在____函数中结束. 解:主,主9.C语言程序的注释可以出现在程序中的任何地方,它总是以____符号作为开始标记,以____符号作为结束标记.解:/*,*/10.C语句的最后一定要有一个____号.解:分11.使用Turbo C调试C程序的主要操作步骤分为____,____,____,____,____,____.解:输入新程序或调入已存在的程序,编辑修改源程序,源程序清单存盘,编译连接生成目标程序,执行目标程序,显示运行结果.第三章基本数据类型、运算符和表达式一、单项选择题1.下列选项中属于C语言字符常量的是( ) A.'abc' B."\n" C.'a'D.'a\0'解:C 2.下列选项中属于字符串常量的是( ) A.ABC B."ABC" C.'abc' D.'a'解:B.C程序中,一个字符串常量是表示一个字符序列,书写时,用双引号字符前后括住这个字符序列.所以只有"ABC"是一个正确的字符率常量,其余都不是.其中,ABC可作为标识符,字符列'abc'不能出现在C程序中,'a'是一个字符常量.3.在PC机中,'\n'在内存占用的字节数是( ) A.1 B.2 C.3 D.4解:B.一般来说,一个字符在内存中只占1个字节,'\n'是转义字符,其意义是换行符,它作为一个字符存储,在内存占2个字节.4.下列字符串常量中,占用内存字节数为2的字符串常量是( )A."12"B."1"C."1\0"D."\n\n"解:B5.字符串"ABC"在内存占用的字节数是( ) A.3 B.4 C.6 D.8解:B.字符串中的每个字符占1个字节,但C程序在存储字符串时,要在最后一个有效字符后面接上1个字符串结束的标记符'\0'.这样,存储字符串常量"ABC"需要4个字节.6.在C语言中,合法的长整型常量是() A.0L B.4962C.0.054838743D.2.1869el0解:A.为表示不同范围的整数,整型数据分短整型、基本型和长整型,并对三种整型内部表示的最高位的不同理解,又分别分成无符号和带符号两种.若要明确指明一个整数是长整型的,必须在整数之后接上字符'L'.所以0L是一个长整型的整型常量,而4962是基本整型数据;0.054839743和2.1869el0都是double型的实数.7.下列符号常量的定义中正确的是( ) A.#define N3 B.define N 3C.#define N_1 3D.#define N 1 3解:C8.设有宏定义"#define R 2+3",则R*R的宏替换结果正确的是( )A.(2+3)*(2+3)B.2+3*2+3C.5*5D.5.0*5.0解:B9.char型数据在内存中存放的是( ) A.ASCII代码值B.二进制代码值 C.八进制代码值 D.十进制代码值解:A.计算机存储字符,通常是存储字符的某种代码值.有许多种字符编码的方法,最流行的是ASCII代码.在C语言中,char型数据用ASCII 代码表示.10.下列说法中错误的是( ) A.整形变量可以存放字符常量的值 B.字符型变量可以存放任意整形常量的值 C.变量必须先定义,后使用 D.字符串的长度不等于它占用的字节数解:B11.设整型变量i的值为3,则表达式i---i的值为( ) A.0 B.1 C.2 D.3解:A.有些运算符只有一个字符,也有许多运算符由两个字符组成.特别是有些字符既可是单个字符的运算符,又能组成双字符的运算符.编译系统在识别源程序时,通常是尽量多地读字符,能组成多字符单词的先尽量组成多字符单词.所以表达式i---i,被编译器理解为(i--)-i.另外,当表达式中某变量有后缀自增和自减运算时,先按变量的原值计算表达式,然后再对变量进行自增和自减运算.同样地,当表达式中某变量有前缀自增和自减运算时,先对变量进行自增和自减运算,然后再按变量的新值计算表达式.按这个约定,求表达式(i--)-i是计算i-i的值为0,然后再对i作自减运算,这样,表达式i---i的值为0.12.设整型变量a,b,c均为2,表达式a+++b+++c++的结果是( )A.6B.9C.8D.12解:A.与上一小题解答的理由相同,表达式a+++b+++c++被系统理解成(a++)+(b++)+(c++).表达式"变量++"的值是变量的原来值,所以在变量a,b,c均为2的前题下,执行上述表达式,得到结果为6.13.表达式"10!=9"的值是( ) A.true B.非0值 C.0 D.1解:D.关系运算的结果只有0和1,若关系成立,则结果为1;若关系不成立,则结果为0.因关系式10!=9成立,所以表达式的结果为1.14.设a为整型变量,下列C表达式中,不能表达数学关系式:10<a<a10&&a<15 D.!(a<=10)&&!(a>=15)解:A.数学关系式10<a10&&a<15,或!(a<=10)&&!(a>=15)或a==11||a==12||a===13||a==14,若写成10<a10的结果0或1,然后以这个结果与15比较,是否小于15.显然这与数学式子的意义是不一致的.15.设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中值为0的是( ) A.'a'&&'b' B.a<=b C.a||b+c&&b-c D.!((a<b)&&!c||1) 解:D.对于表达式'a'&&'b',两个非O运算分量的逻辑与结果为1.对于表达式a<=b,由于关系式成立,结果也为1,又由于变量a为非0,表达式a||b+c&&b-c的结果也为1.对于表达式!((a<b)&&!16.设x为整型变量,和表达式!(!x)的值完全相同的表达式是( )A.x==0B.x==1C.x!=0D.x!=1解:C17.设有代码int a=3;,则执行了语句a+=a-=a*a;后,变量a的值是( ) A.3 B.0 C.9 D.-12解:D.由于赋值运算符的结合性自右至左,语句a+=a-=a*a,的执行是先计算a*a,得到值9,再计算a-=a*a,使a的值为-6,接着计算,a+=a,使a的值为-12.18.下列表达式中,正确的C赋值表达式是( ) A.a=7+b+c=a+7B.c=7+b++=a+7C.a=(7+b,b++,a+7)D.a=7+b,c=a+7解:C.赋值运算符是运算符之一,赋值运算也可以出现在一般表达式中.赋值运算时,出现在赋值运算符左边的表达式应该是引用一个存储对象,例如变量.不可以是一个数值计算表达式.如表达式a=7+b+c=a+7因算术运算符比赋值运算符的优先级高要把a+7的结果赋给7+b+c,这是错误的.同样理由,表达式a=7+b++=a+7也是错误的.而表达式a=(7+b,b++,a+7)就是正确的赋值表达式, 它是先计算赋值号左边的括号内的表达式,括号表达式内是一个逗号表达式,远号表达式要求顺序逐一计算各子表达式,并以最后一个子表达式的值作为逗号表达式的结果,最后将该结果赋给变量a.而表达式a=7+b,c=a+7则不是一个赋值表达式,而是一个逗号表达式,它由两个赋值子表达式组成.19.设变量m,n,a,b,c,d均为0,执行(m=a==b)||(n=c==d)后,m,n 的值是( ) A.0,0 B.0,1 C.1,0 D.1,1解:C.计算(m=a==b)||(n=c==d)的过程是先计算逻辑或的左运算分量(m=a==b)的值.由于赋位运算符的优</b)&&!></b)&&!c||1)></a</a</a先级比关系运算符==的优先级低,又先计算a==b.因a,b均为0后,所以比较结果值为1.将1赋给变量m,使变量m的值变为1.同时这个赋值运算的结果也是1,这样逻辑运算的左运算分量的值为1.由于逻辑或运算的左运算分量值为1,按照C语言对逻辑或运算优化计算的规定,不再计算逻辑或的右运算分量,而直接得到逻辑或运算的结果为1,由于逻辑或的右运算分量不曾计算过,所以变量n的值也不为变化.这样上述表达式计算后,变量m的值为1,变量n的值为0.20.设整型变量m,n,a,b,c,d均为1,执行"(m=a>b)&&(n=a>b)"后m,n的值是( ) A.0,0 B.0,1 C.1,0 D.1,l解:B.表达式(m=a>b)&&(n=a>b)是一个逻辑表达式,它的计算过程是先计算逻辑与的左分量m=a>b,其中又是先计算a>b.因a>b不成立,结果为0,将0赋给变量m,最后逻辑与的左分量结果为0.由于逻辑运算采用特别的优化计算规则,当逻辑与的左分量结果为0时,不再计算逻辑与的右分量,而直接以0为逻辑与的结果.所以,上述表达式计算使m 的值变为0,而n的值没有变,依旧为l.21.若已定义x和y为double类型,则表达式:x=1,y=x+3/2结果是( ) A.1 B.2 C.2.0 D.2.5解:C.由于变量x和y都是double类型,表达式x=l,y=x+3/2是先计算x=1,由于1是整型的x是double类型的,该计算先将整数1转换成double类型的1.0,并将1.0赋给变量x.计算y=x+3/2是先求3/2的值,因是两整数相除,结果是整型值1,然后在计算x+1时,也先将1转换成1.0,然后求得x+l的值为2.0,最后将该值赋给变量y,并得到整个表达式的值为2.0.22.执行语句"x=(a=3,b=a--);"后,x,a,b的值依次为( ) A.3,3,2B.2,3,2C.3,2,3D.2,3,3解:C.计算表达式x=(a=3,b=a--)时,先计算赋值号右端圆括号内的逗号表达式.逗号表达式要求各子表达式顺序计算,并以最后予表达式的值为整个逗号表达式的结果,所以该表达式计算时,先让变量a的值为3,a--的值是a当时的值,以该值为结果赋给变量b,并以该值为逗号表达式的值赋给变量x,然后a的值被减少1.所以计算该表达式后,使变量x,a,b的值依次为3,2,3.23.设a为5,执行下列计算后,b的值不为2的是( ) A.b=a/2 B.b=6-(--a) C.b=a%2 D.b=a>3?3:2解:C.因两个整型数据相除,结果是整数,当a的值为5时,计算表达式b=a/2后,使b的值为2.计算表达式b=6-(--a)是先计算子表达式(--a)的,先让a的值减1变成4,并以减1后的a为子表达式的结果,所以子表达式的结果为4,最后使b的值为2.在计算表达式b=a%2时,求余运算a%2的结果为1,最后使变量b的值为1.计算表达式b=a>3?3:2时,先计算条件表达式a>3?3,2,以2为结果,最后也使变量b的值为2.24.设a=1,b=2,c=3,d=4则表达式a<b?a:c解:D.条件运算符的优先级比关系运算符的优先级低,并且它的结合性是自右向左的,所以表达式a<b?a:c<d?a</b?a:c<d?a</b?a:c:d可用圆括号等价地写成(a<b?a:((c<d)?a:d).因a<b成立,计算结果为a的值 1. 25.设char ch='A',则表达式ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是( ) A.'A' B.'a' C.'Z' D.'z' 解:B.由于字符型变量ch的值为'A',计算表达式ch=(ch>='A'&&ch<='Z')?(ch+32):ch.先计算其中条件表达式,由于条件(ch>='A'&ch<='Z')成立,该条件表达式以ch+32=97为结果,将该值赋给变量ch,以字符表达这个值为'a'.26.在C语言中,结果不等于4的表达式是( ) A.sizeof(double) B. sizeof(long) C.sizeof(float) D.sizeof(unsigned long)解:A27.用十进制数表示表达式"12|012"的运算结果是( ) A.1 B.0 C.14D.16解:C.按位运算将运算分量视作二进位的位运算,对两运算分量的对应位进行运算,产生进位的位串信息结果.整数12最低8位二进位是00001100,整数012是八进制数,它的最低8位二进位是00001010.这两个二进位位串信息按位或运算,得到结果是00001110,对应十进制数14,八进制数是016.28.设有定义"char a=3,b=6,c;"计算表达式c=(a^b)<<2后c的二进制值是( ) A.00011100 B.00000111 C.00000001 D.00010100 解:D.a的值为3,写成8位二进制数形式是00000011,b的值为6,写成8位二进制数形式是00000110.表达式c=(a^b)<<2,先计算a与b的按位加,得到结果00000101,将这结果向左移2位,得到二进位的位串信息是00010100.29.设有定义short i=013,j=0x13,k;,计算表达式k=~i|j>>3;后,k 的值是( ) A.06 B.0177776 C.066 D.0177766解:D.将变量i的八进制数值013写成二进制形式为00001011,将变量j的十六进制值0xl3写成二进制数形式为00010011.表达式k=~i|j>>3的计算过程是先求~i,结果用八进制代码表示为0177764,接着计算j>>3,结果为02,对它们进行按位或运算结果为0177766.30.设整型变量x,y,z均已赋值,下列选项中,正确的赋值表达式是( )A.<解:B31.在以下一组运算符中,优先级最高的运算符是( ) A.<= B.= C.%D.&&解:C.常规运算符的优先级自高到低的排列顺序是算术运算符,移位运算符,关系运算符,按位运算符逻辑运算符,条件运算符,赋值运算符,逗号运算符.所以问题所给的四个运算符按优先级自高到低的排列顺序是%,<=,&&,=.32.在以下一组运算符中,优先级最高的运算符是( ) A.-- B.== C.||D.&&解:A33.若有以下定义:char a;int b;float c;double d;则表达式a*b+d-c值的类型为( ) A.float B.int C.char D.double解:D.基本类型的数据可以混合运算,但运算时,对要求运算分量类型相同的运算来说,如运算分量的类型不是全相同则会有自动类型转换发生.类型自动转换规则规定类型低(简单)的向类型高(复杂)的转换.各类型由高到低的排列顺序是:long double,float,unsigned long,long,unsigned int,int.这样,若有定义:char a; int b;float c;double d;则表达式a*b+d-c的值的类型是double的.首先计算a*b,得到int类型的值,接着计算a*b+d,得到double类型的值,最后计算a*b+d-c,得到double类型的值.34.关于运算时的数据类型转换,下列说法中错误的是( ) A.表达式计算中,数据要转换成数据长度最长的数据类型再运算 B.赋值时,右边表达式的运算结果转换成左边变量的数据类型再赋值C.赋值时,左边变量的数据类型转换成右边表达式的运算结果类型再辅助D.(float)(n+m)是先计算n+m,然后再将结果强行转换成单精度实型解:C二、填空题1.C语言中的常量有4种类型:整型,实型,____型,____型.解:数值,字符2.用十进制表示整型常量-017为____,表示整型常量-0xF为____.解:-15,-143.无符号短整型数据的表示范围是____至____.解:0,655354.在内存中存储"A"要占用____个字节,存储字符'A'要占用_____个字节.解:计算机存储一个字符用1个字节,存储字符串时,每个字符要占用1个字节,另在字符串的有效字符之后存储1个字符串的结束标记符.所以存储"A"要占用2个字节,存储字符'A'只要1个字节. 5.在内存中存放字符串,其最后一个字符为"空字符",对应的转义字符为____,其值为____.解:\0,06.符号常量的定义方法是____.解:定义符号常量用预处理命令的宏定义,其定义的一般形式是:#define 符号常量常量7.设有宏定义#define X 3-2;则2*X的宏替换结果是____.解:2*3-28.定义变量的语句格式是____.解:数据类型符变量1,变量2,…;9.无符号基本整型的数据类型符为____,双精度实型数据类型符为____,字符型数据类型符为____解:无符号的基本整型的类型符为unsigned int,或简写成unsigned.双精度实型数据类型符为double,字符型数据类型符为char.10.定义整型有名常量nn的初值为199,正确的定义语句是____.解:const int nn=199;11.设x和y均为int型变量,且x=l,y=2,则表达式1.0+x/y的值为____.解:计算表达式1.0+x/y,先求x/y,因x和y是整型变量,其中的除运算是整除,1/2的结果为0.接着计算1.0+0,计算时,先将右分量转换成0.0,最后得到结果1.0.12.请写出数学式a/bc的C语言表达式____.解:数学式子表述的是a除以b乘c的积,写成表达式可以写为x/(y*z),或可等价地写成x/y/z.13.设a=3,b=2,c=l,则c>b的值为____,a>b>c的值为______.解:0,0.因a的值为3,b的值是2,条件a>b为真,其值为1.表达式a>b>c的求值顺序是计算a>b,结果为1,接着计算1>c,因c的值为1,条件1>c为假.结果为0.14.C语言中作为运算对象时的逻辑值真是用____表示的,逻辑值假是用____表示的.逻辑表达式值为真时是用____表示的,逻辑表达式值为假时是用____表示的.解:在C程序中,判逻辑值时,用非0值表示真,用值0表示假;但逻辑表达式计算结果,逻辑表达式值为真是用1表示的,而逻辑表达式的值为假,则用0表示.15.若已知a=10,b=20,则表达式!a解:计算表达式!a<b,先计算!a,因a的值为1o,!a的值为0.关系表达式0<20为真,所以表达式!a16.能表述20<x<30或x<-100的c语言表达式是____.解:首先表述20<x<30的c表达式可写成20<x&&x<30.所以表述20<x<30或x<-100的c表达式为20<x&&x<30||x<-100.17.设变量x,y,z均为实型,表示其中至少有一个负数的表达式是____.解:x<0||y<0||z<018.表达式'a'>'A'>=1<=0==1!=0的值等于____.解:表达式计算时可按照顺序(((('a'>'A')>=1)<=0)==1)!=0,首先计算'a'>'A'得到1,然后计算1>=1得到1,再计算1<=0得到0,再计算0==1得到0最后计算0!=0得到0,故表达式的值为0.19.设二进制数A是00101101,若想通过异或运算A^B使A的高4位取反,低4位不变,则二进制数B应是____.解:按位加运算的一个重要应用是让某个整型变量的二进位位串信息的某些位信息反向,0变成1,而1变成0.这只要设计这样一个位串信息,让要变反的位为1,不要改变的位为0,用这个位串信息与整型变量按位加就能得到希望的结果.要使字节的高4位取反,低4位不变,则需要位串信息是11110000,写成八进制数是0360,写成十六进制数为0xF0.20.设整型变量x,y,z均为5: A.执行x-=y-x后,x=____; B.执行x%=y+z后,x=____; C.执行x=(y>z)?x+2:x-2,3,2后,x=____.解:在变量x,y,z的值均为5的情况下,计算各表达式.由于表达式x-=y-z等价于表达式x=x-(y-z),所以计算后x的值为5.表达式x%=y+z 等价于表达式x=x%(y+z),所以计算后x的值也为 5.表达式x=(y>z)?x+2:x-2,3,2的计算过程用圆括号描述其计算顺序是:x=(y>z)?x+2:x-2,3,2,即这是一个逗号运算表达式,由一个赋值表达式和两个数值构成,逗号表达式要求顺序求各子表达式的值.表达式x=(y>z)?x+2:x-2的计算是先求赋值号右边的条件表达式,因条件(y>z)为假,求出x-2的值为3,将该值赋给变量x,使x的值为3.21.设有下列运算符<<,+,++,&&,<=,其中优先级最高的是____,优先级最低的是____.解:对运算符<<,+,++,&&,<=,按它们的优先级自高到低的顺序排列为:++,+,<<,<=,&&,所以优先级最高的是++,优先级最低的是&&.22.C语言中运算结果可以当成逻辑值使用的表达式有____表达式,____表达式,____表达式,____表达式,____表达式和____表达式.解:算术,关系,逻辑,赋值,逗号,条件. 在c语言中,逻辑判断以非0值为真,以0值为假.所以,几乎所有的表达式的运算结果都可以当成逻辑值使用,如算术表达式,关系表达式,逻辑表达式,赋值表达式,逗号表达式,条件表达式等.第四章顺序结构、选择结构和循环结构的程序设计一、单项选择题1.设a=3,b=4,执行"printf("%d,%d",(a,b),(b,a));"的输出是( ) A.</x<30的c表达式可写成20<x&&x<30.所以表述20<x<30或x<-100的c表达式为20<x&&x<30||x<-100.></x<30或x<-100的c语言表达式是____.></b,先计算!a,因a的值为1o,!a的值为0.关系表达式0<20为真,所以表达式!a3,4 B.4,3 C.3,3 D.4,4解:B.在调用格式输出函数的语句中,其中每个格式符对应一个输出项,格式符%d要求输出项内容以十进制整数形式输出.第一个输出项(a,b)是一个逗号表达式,该表达式的值是b的值,输出4.接着输出字符逗号.第二个输出项(b,a)的值是a的值,输出3.所以语句执行将输出4,3.2.使用语句"scanf("x=%f,y=%f",&x,&y)",要使x,y均为1.25,正确的输入是( ) A.1.25,1.25 B.1.25 1.25 C.x=1.25,y=1.25 D.x=1.25 y=1.25解:C.格式输入函数的格式字符串中的字符可以分成三类:空格类字符,其它普通字符和格式转换说明.其中空格类字符用来跳过一个空格类字符序列,直至下一个非空格类字符.普通字符要求输入字符与其完全相同.格式转换说明对输入字符列按格式转换说明进行转换,得到内部值存储到对应输入项所指定的存储位置中.函数调用scanf("x=%f,y=%f,&x,&y)以普通字符x=开头,输入时也要先输入x=.接着是一个浮点数输入格式,所有能构成一个浮点数1.25的字符序列都能满足要求.接着是普通字符列",y=",在输入的浮点数之后也要有字符列",y=".最后又是浮点数输入格式,同样所有能构成一个浮点数1.25的字符序列都能满足要求.问题给出的供选择答案中只有x=1.25,y=1.25是能满足上述要求的.3.设有int i=010,j=10;则执行"printf("%d,%d\n",++i,j--);"的输出是( ) A.ll,10 B.9,10 C.010,9 D.10,9解:B.变量i和j的初值分别为八进制数010和十进制数10,函数调用printf("%d,%d\n",++i,j--)中,++i的值是变量i增1后的值,原来值是八进制数010,等于十进制数8,输出9.j--的值是变量j减1之前的值,输出10.格式字符申中的逗号是普通字符照原样输出.所以问题给出的格式输出函数调用将输出9,10.4.设a,b为字符型变量,执行"scanf("a=%c,b=%c",&a,&b);"后使a 为'A',b为'B',从键盘上的正确输入是( ) A.'A''B' B.'A','B' C.A=A,B=B D.a=A,b=B解:D.函数调用scanf("c=%c,b=%c",&c,&b)中,普通字符必须按格式字符串要求照原样输入,c格式对紧接的任何字符都输入.所以实现问题的要求,输入字符列应为"a=A,b=B".另外要特别指出,在程序中,为表示字符常量,字符前后需加单引号.但用字符格式输入字符时,在要输入字符前后不必另键人单引号.若键人单引号,则这个单引号也将作为字符被输入.5.设x,y,z,t均为int型变量,则执行以下语句后,t的值为( ) x=y=z=1;t=++x||++y&&++z; A.不定值 B.2 C.l D.0解:C.语句序列"x=y=z=1;t=++x||++y&&++z;"使变量x的值为1,变量t是赋一个逻辑表达式的值.在C语言中,由逻辑与和逻辑或构成的逻辑表达式有特别的计算规则,顺序计算各逻辑子表达式,并当一旦能得到逻辑表达式的结果时,就立即结束逻辑表达式的计算,不再计算后继逻辑子表达式.本题的逻辑表达式是两个运算分量的逻辑或,而且左运算分量++x的值为非0,立即得到逻辑或运算的结果为1,并将1赋给变量t,所以变量t的值为1.6.设x,y,z,t均为int型变量,则执行以下语句后,t的值为( ) x=y=z=0; if(x==y) t=z;else t=!z A.不定值 B.2 C.2 D.0解:D7.假定所有变量均已正确定义,下列程序段运行后x的值是( ) a=b=c=0;x=35; if(!a) x--;else if(b);if(c) x=3;else x=4; A.34 B.4 C.35 D.3解:B.以变量a,b,c的值均为0,变量x的值为35,语句:if(!a) x--;else if(b);if(c)x=3;else x=4;由两个语句组成.首先执行前一个if语句"if (!a)x--;else if(b);",因变量a的值为0,条件!a成立,执行x--使x的值变为34.接着执行后继的if语句"if(c)x=3;else x=4;",因变量c的值为0,条件不成立而执行x=4,最终使变量x的值为4.注意前一个if语句的else 部分的成分语句只有"if(b);",这是一个单分支if语句,且其成分语句为空语句.8.下面的程序段所表示的数学函数关系是( ) y=-l; if(x!=0) if (x>0) y=l;else y=0; -1(x<0) 1 (x<0) 0 (x<0) -l(x<0)A.y={0 (x=0)B.y={-l(x=0)C.y={-1(x=0)D.y={1 (x=0) 1 (x>0) 0 (x>0) 1 (x>0) 0 (x>0)解:C.程序段首先置变量y的值为-l,接着按变量x值的不同情况重置变量y的值.重置的首要条件是x!=0,若变量x的值为0,则不再重置变。
高级语言程序设计习题(最新版带答案)
高级语言程序设计习题(最新版带答案)高级语言程序设计习题(最新版带答案)一、选择题1. 下列选项中,不属于高级语言程序设计的语言是:A. C语言B. Java语言C. HTML语言D. Python语言答案:C2. 在C++语言中,关键字用于:A. 定义变量B. 定义函数C. 标识程序结构D. 存储数据答案:C3. 以下哪个不属于Python的内置数据类型?A. intB. floatC. listD. string答案:D二、填空题1. 在Java中,用于接收命令行输入的方法是____。
答案:Scanner类的next方法2. C语言中,用于声明一个指针变量的符号是____。
答案:*三、编程题1. 编写一个Python程序,输入两个整数,计算并输出它们的和。
答案:```pythonnum1 = int(input("请输入第一个整数:"))num2 = int(input("请输入第二个整数:"))sum = num1 + num2print("两个整数的和为:", sum)```2. 编写一个C++程序,输入一个整数,判断它是否为偶数,是则输出"偶数",否则输出"奇数"。
答案:```c++#include <iostream>using namespace std;int main() {int num;cout << "请输入一个整数:";cin >> num;if (num % 2 == 0) {cout << "偶数" << endl;} else {cout << "奇数" << endl;}return 0;}```四、应用题输入一个整数n,计算并输出1到n的所有整数的平方和。
高级语言程序设计(Python)习题与答案
一、单选题1、运行下述语句,正确的结果是【】。
>>>“今年,我的平均分为{:.2f}!”.format(96.3213)A.今年,我的平均分为 96.3213.2f!B.今年,我的平均分为{:.2f}! 96.3213C.今年,我的平均分为 96.3213!D.今年,我的平均分为 96.32!正确答案:D2、下列对input()函数的描述正确的是【】。
A.a= input(请输入一个整数:,100)B.a= input("请输入一个整数",100)C.a= input(请输入一个整数:)D.a= input("请输入一个整数")正确答案:D3、运行Python语句得到的结果是【】>>> print('{0},{1}'.format('carmen',20))A.20,carmenB.‘carmen’,20C.carmen,20D.20,‘carmen’正确答案:C4、运行Python语句得到的结果是【】>>> print('{1},{0},{1}'.format('carmen',20))A.20,carmen,20B.20,'carmen',20C.20, 20 ,'carmen'D.'20', 'carmen', '20'正确答案:A5、运行Python语句得到的结果是【】>>> print('{},{}'.format('carmen',20))A.carmenB.20C.carmen,20D.20,20正确答案:C6、运行Python语句得到的结果是【】>>> number2 = eval ("5*1"+"2")A.52B.60C.7D.53正确答案:B7、下列选项中合法的标识符是【】。
自考“高级语言程序设计”习题答案详解
①<= ②= ③% ④&&
「解」常规运算符的优先级自高到低的排列顺序是算术运算符、移位运算符、关系运算
符。按位运算符、逻辑运算符、条件运算符、赋值运算符、逗号运算符。所以问题所给的四 个运算符按优先级自高到低的排列顺序是%,<=,&&,=。所以解答是③。
6.C 程序是由函数构成的。其中有并且只能有_____个主函数。C 语言程序的执行总是
由_____函数开始,并且在_____函数中结束(如别的函数未调用终止程序执行的库函数)
「解」C 程序是由若干函数构成的。其中有并且只能有1个主函数(用 main 命名)。C 程序的执行总是由主函数开始执行,通常在主函数中结束(如没有在别的函数中调用终止程 序执行的库函数的话)。
2.在以字节存储字符的系统中,‘\n ’在内存占用的字节数是( )
①1 ②2 ③3 ④4
「解」一般来说,一个字符在内存中只占1个字节,‘\n’是转义字符,其意义是换行符, 它作为一个字符存储,在内存也只占五个字节。所以解答是①。
3.字符串“XyZ”在内存占用的字节数是( )
①3 ②4 ③6 ④8
「解」字符串中的每个字符占1个字节,但 C 程序在存储字符串时,要在最后一个有效 字符后面接上 1个字符串结束的标记符‘\0’。这样,存储字符串常量“xyZ”需要 4个字节。所 以解答是②。
5.一个 char 型数据,它的值在内存中存放的是()
①ASCll 代码值 ②BCD 代码值 ③内码值 ④十进制代码值
「解」计算机存储字符,通常是存储字符的某种代码值。有许多种字符编码的方法,最 流行的是 ASCII 代码。在 C 语言中,Char 型数据也用 ASCII 代码表示。所以解答是①。
高级语言程序设计练习题2及答案
一、单选题1、对下面的程序说法正确的是______。
void main(){int x=3,y=0,z=0;if(x=y+z)printf("****");elseprintf("####");}A.通过编译,但是不能运行B.输出为####C.有语法错误,不能通过编译D.输出为****正确答案:B2、假设变量i为整型量,比较下面两条if语句,选出正确答案______。
if(i!=0);if(i);A.if(i)语法错B.两者作用等价C.两者作用不同D.两者作用相反正确答案:B3、阅读程序,分析输出结果是()。
#include <stdio.h>void main(){int x=10,y=5;switch(x){ case 1:x++;default: x+=y;case 2:y--;case 3:x--;}printf("x=%d,y=%d",x,y);}A.x=14,y=4B.x=15,y=5C.x=10,y=5D.x=15,y=4正确答案:A4、阅读程序,分析输出结果是()。
#include <stdio.h>void main(){int a=6,b=10,t;if((a=b)>0)t=a+b;printf("%d\n",t);}A.20B.无输出C.16D.12正确答案:A5、阅读程序,分析输出结果是()。
#include <stdio.h>void main( ){int a=2,b=-1,c=2;if(a)if(b<0) c=0;else c++;printf("%d\n",c);}A.0B.1C.3D.2正确答案:A6、阅读程序,分析输出结果是( )。
void main( ){int x=0,a=1,b=1;switch(x){case 0: a++;case 1: b++;break;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);}#include <stdio.h>void main(){int a;scanf(“%d”, &a);if(a++ < 9)printf(“%d\n”, a);elseprintf(“%d\n”, a--); }A.9B.8C.10D.11正确答案:C8、有以下程序#include <stdio.h>main(){int y=9;switch(y++){case 9:y/=2;case 8:--y;}printf("%d",y);}程序的运行结果是A.5B.3C.4D.9正确答案:C9、以下程序#include <stdio.h> main(){int a=2,b=3,c=0;if(a=b)c=a;elsec=b;printf("%d",c);}程序的运行结果是A.0B.1C.2D.3正确答案:D10、如下程序的运行结果是() int main(){int a=0,b=0,c=0;if(a=1,a>=b){switch(b++){case 1:c=a;case 0:c=b;break;default:c=0;}}printf("%d",c);return 0;}A.1B.3C.2D.0正确答案:A11、已知int t=0; while(t=1) {...} 则以下叙述正确的是()A.以上说法都不对B.循环控制表达式不合法C.循环控制表达式的值为0D.循环控制表达式的值为1正确答案:D12、以下程序段执行后的输出结果()。
高级语言程序设计编写程序题+答案(最新整理)
46 编写程序,用二分法求一元二次方程 2x3-4x2+3x-6=0 在(10,10)区间的根。
47 中国古代科学家祖冲之采用正多边形逼近的割圆法求出了π的值。请编写一程序,采用割圆法 求出π的值,要求精确到小数点之后的第十位。
48A、B、C、D、E 五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各把多余的一条鱼扔掉,拿走自己的一份。B 第二 个醒来,也将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。C、D、E 依次醒来,也按同 样的方法拿鱼。编写程序求出他们合伙至少捕了多少条鱼。
29 输入中心字符和高后,输出如图所示回型方阵。 XXXXX XYYYX XYZYX XYYYY XXXXX 图 4.25 中心字符为'Z'、高为 5 的方阵
30 编写程序,输出如图所示上三角形式的乘法九九表。
31 编写程序,输出如图所示下三角乘法九九表。
32 编写程序,输入三角型的三条边长,求其面积。注意:对于不合理的边长输入要输出数据错误的提示信息。 33 编写程序求出 555555 的约数中最大的三位数是多少。 34 编写程序计算下列算式的值:
5 输入 n 值,输出如图所示平行四边形。
6 输入 n 值,输出如图所示高为 n 的等腰三角形。
7 输入 n 值,输出如图所示高为 n 的等腰三角形。 8 输入 n 值,输出如图所示高和上底均为 n 的等腰梯形。 9 输入 n 值,输出如图所示高和上底均为 n 的等腰空心梯形。 10 输入 n 值,输出如图所示边长为 n 的空心正六边型。 11 输入 n 值,输出如图所示图形。 12 输入 n 值,输出如图所示图形。
71 现将不超过 2000 的所有素数从小到大排成第一行,第二行上的每个数都等于它"右肩"上的素数 与 " 左 肩 " 上 的 素 数 之 差 。 请 编 程 求 出:第 二 行 数 中 是 否 存 在 这 样 的 若 干 个 连 续 的 整 数 , 它 们 的 和 恰 好是 1898?假如存在的话,又有几种这样的情况? 第一行:2 3 5 7 11 13 17 ..... 1979 1987 1993 第二行: 1 2 2 4 2 4 ..... 8 6
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章 C语言概述习题1. 单项选择题(1) C 语言是在 B 语言的基础上产生的。
A. AB. BC. DD. E(2) 在 C 语言中,每个语句必须以 D 结束。
A. 回车符B. 冒号C. 逗号D. 分号(3) 标识符和关键字间,要用 C 隔开。
A. 回车符B. 冒号C. 空格D. 分号(4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。
A. 生成可执行目标档B. 生成目标档C. 输出运行结果D.自动保存源文件(5) 下列说法中正确的是( B )。
A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入B. 由 C 源程序是字符流组成,因此可以作为文本档在任何文本编辑的软件中输入C. 由于C 程序是高级语言程序,因此输入后即可执行D. 由于 C 程序是高级语言程序,因此它由命令组成(6) 下列说法中正确的是( A )。
A. C 语言程序由主函数和 0 个或多个函数组成B. C 语言程序由主程序和子程序组成C. C 语言程序由子程序组成D. C 语言程序由过程组成(7) 下列说法中错误的是( D )。
A. 主函数可以分为两个部分:主函数说明部分和主函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行2. 填空题(1) C 语言只有 37 个关键字和 9 种控制语句。
(2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。
(3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。
(4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。
(5) C 语言的程序中有特殊含义的英语单词称为保留字。
(6) C 语言标识符的长度是前 8 位有效。
(7) C 语言中,标识符的定义规则是以字母或下划线为开头。
(8) C 语言程序的注释可以出现在程序中的任何地方,它总是以 /* 符号作为开始标记,以 */ 符号作为结束标记。
第2章数据类型运算符和表达式习题1. 单项选择题(1) 以下选项中,正确的 C 语言整型常量是 D 。
A. 32LB. 510000C. -1.00D. 567(2) 以下选项中, D 是不正确的 C 语言字符型常量。
A. 'a'B. '\x41'C. '\101'D. "a"(3) 在 C 语言中,字符型数据在计算机存储器中,以字符的 C 形式存储。
A. 原码B. 反码C. ASCII 码D. BCD码(4) 字符串的结束标志是 C 。
A. 0B. '0'C. '\0'D. "0"(5) 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为 B 。
A. 算术运算、赋值运算、关系运算B. 算术运算、关系运算、赋值运算C. 关系运算、赋值运算、算术运算D. 关系运算、算术运算、赋值运算(6) 逻辑运算符中,运算优先级按从高到低依次为 D 。
A. &&,!,||B. ||,&&,!C. &&,||,!D. !,&&,||(7) 表达式!x||a==b 等效于 D 。
A. !((x||a)==b)B. !(x||y)==bC. !(x||(a==b))D. (!x)||(a==b)(8) 设整型变量 m,n,a,b,c,d 均为1,执行 (m=a>b)&&(n=c>d)后, m,n 的值是 A 。
A. 0,0B. 0,1C. 1,0D. 1,1(9) int b=0,x=1;执行语句 if(x++) b=x+1; 后,x,b 的值依次为 A 。
A. 2,3B. 2,0C. 3,0D. 3,2(10) 设有语句 int a=3;,则执行了语句 a+=a-=a*=a; 后,变量 a 的值是 B 。
A. 3B. 0C. 9D. -12(11) 在以下一组运算符中,优先级最低的运算符是 D 。
A. *B. !=C. +D. =(12) 设整型变量 i 值为2,表达式(++i)+(++i)+(++i)的结果是 B 。
A. 6B. 12C. 15D. 表达式出错(13) 若已定义 x 和 y为double 类型,则表达式 x=1,y=x+3/2 的值是 C 。
A. 1B. 2C. 2.0D. 2.5(14) sizeof (double)的结果值是 A 。
A. 8B. 4C. 2D. 出错(15) 设a=1,b=2,c=3,d=4,则表达式:a<b? a : c<d? a : d的结果为 D 。
A. 4B. 3C. 2D. 1(16) 设a 为整型变量,不能正确表达数学关系:10<a<15的 C 语言表达式是 A 。
A. 10<a<15B. a= =11|| a= =12 || a= =13 || a= =14C. a>10 && a<15D. !(a<=10) && !(a>=15)(17) 设 f是实型变量,下列表达式中不是逗号表达式的是 D 。
A. f= 3.2, 1.0B. f>0, f<10C. f=2.0, f>0D. f=(3.2, 1.0)(18) 设ch是 char型变量,其值为 'A',则下面表达式的值是 B 。
ch=(ch>='A'&& ch<='Z')? (ch+32):chA. AB. aC. ZD. Z(19) 以下运算符中,结合性与其他运算符不同的是 A 。
A. ++B. %C. /D. +(20) 以下用户标识符中,合法的是 B 。
A. intB. nitC. 123D. a+b(21) C 语言中,要求运算对象只能为整数的运算符是 % 。
A. %B. /C. >D. *(22) PC 机中,'\n'在内存占用的字节数是 A 。
A. 1B. 2C. 3D. 4(23) 字符串"ABC"在内存占用的字节数是 BA. 3B. 4C. 6D. 8(24) 要为字符型变量 a赋初值,下列语句中哪一个是正确的 B 。
A. char a="3";B. char a=’3’;C. char a=%;D. char a=*;(25)下列不正确的转义字符是 C 。
A. \\B. \'C. 074D. \02. 填空题(1) C 语言中的逻辑值“真”是用非0 表示的,逻辑值“假”是用 0 表示的。
(2) 符号常量的定义方法是 #define N 10 。
(3) 无符号基本整型的数据类型符为 unsigned int ,双精度实型数据类型符为 double ,字符型数据类型符为 char 。
(4) 设c='w',a=1,b=2,d=-5, 则表达式'x'+1>c, 'y'!=c+2, -a-5*b<=d+1, b==a=2的值分别为 1 、 0 、 1 、表达式错误。
(5) 设 float x=2.5,y=4.7; int a=7;,表达式 x+a%3*(int)(x+y)%2/4的值为 2.5 。
(6) 判断变量 a、b 的值均不为 0 的逻辑表达式为 (a!=0)&&(b!=0) 。
(7) 求解赋值表达式 a=(b=10)%(c=6),表达式值、a、b、c 的值依次为 4,4,10,6 。
(8) 求解逗号表达式 x=a=3,6*a 后,表达式值、x、a 的值依次为 18,3,3 。
(9) 数学式a/(b*c)的 C语言表达式 a/(b*c) 。
第3章顺序结构程序设计习题1. 选择题(1) printf("f=%3.2f%%",3.478);的输出结果是 A 。
A. f=3.48%B. f=3.5%C. f=3.48% %D. f=347.8%(2) printf("%c,%d",'a', 'a');的输出结果是 A 。
A. a,97B. a 97C. 97,aD. 97 a(3) scanf("%c",&a);若要给变量输入大写字母 A,则以下正确的输入是 B 。
A. 'A' <CR>B. A <CR> \C. "A" <CR>D. 以上都不对(4) 若一个 int 类型的数据占 2 字节,则程序段:int x=-1;printf("%u,%d",x,x);的输出结果是 A 。
A. 65535, -1B. -1,65535C. 32767, 32768D. 32768,32767(5) 在 TC 中,getchar、putchar、printf、scanf 四个函数,均包含在头档 B中。
A. math.hB. stdio.hC. stbio.hD. stdlib.h(6) 复合语句是用 C 括起来的语句组。
A. ( )B. [ ]C. { }D. < >(7) 下列格式符中,哪一个可以用于以八进制形式输出整数 C 。
A. %dB. %8dC. %oD. %ld(8) 下列格式符中,哪一个可以用于以十六进制形式输出整数 B 。
A. %16dB. %8xC. %d16D. %d(9) a 是int类型变量,c是字符变量,下列输入语句中哪一个是错误的 B 。
A. scanf("%d,%c",&a,&c);B. scanf("%d%c",a,c);C. scanf("%d%c",&a,&c);D. scanf("d=%d,c=%c",&a,&c);(10) 要使double x; long a;的数据能正确的输出,输出语句应是 D 。
A. printf("%d, %f",a, x);B. printf("%d, %1f",a, x);C. scanf("%1d, %1f",&a, &x);D. printf("%1d, %lf",a, x);2. 程序改错题(以下各个程序段均有 5 个错误,请先找出错误的位置,然后再改正)(1) 以下程序的功能是,从键盘输入一个字符并鸣笛输出。