高级语言程序设计(一)课后习题答案
2023年自考专业(计算机信息管理)高级语言程序设计(一)考试真题及答案5

2023年自考专业(计算机信息管理)高级语言程序设计(一)考试真题及答案一、单项选择题单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1、自定义标识符由字母、数字或下划线组成,且第一个字符必需是()Λ.数字B.字母或数字C.数字或下划线D.字母或下划线2、运算符优先级符合由高到低排列的一组是()A.+、!二、if(xy)z=x;x=y;y=z;Λ.10,20,30B.20,30,30C.20,30,10D.20,30,205、下列程序段执行后的输出结果是()intk=4,a=3,b=2,c=1;printf(%d∖n,ka?k:cb?c:a);A. 1B. 2C. 3D. 46、关于for(表达式1;表达式2;表达式3),叙述正确的是(A.表达式1不行以缺省B.表达式2不行以缺省C.表达式3不行以缺省D.三个表达式都可以缺省7^设int*p[4];,则标识符P是()Λ.整型数组名B.指针数组名C.指针函数名D.指向整型变量的指针8、在循环结构中,continue语句的作用是()Λ.连续执行本次循环B.提前退出多重循环C.提前结束本次循环D.提前退出本重循环9、数组定义及初始化正确的是()A.chara[5]={};B.inta[5]={0,1,2,3,4,5};C.chara={"string"};D.chara[]={,0,,,1,,,2,,,3,,,4,,,5,};10、设intm;,与WhiIe(!m)等价的是( )Λ.whi1e(m!=0)B.whi1e(m==1)C.whi1e(m==0)D.whi1e(m!=1)11、设Char*s1=“12345",*s2="1234”;,执行语句printf(,,%d∖n z,,str1en(strcpy(si,s2)));后的输出结果是()A. 4B. 5C.9D.1012、下列不属于C语言数据类型的保留字是()Λ.rea1B.voidC.f1oatD.doub1e13、设inti,j=7,⅛=,与赋值语句i=j;等价的是()A.i=B.p=*C.p=D.i=⅛;14、正确表示数学关系式x2y2z的C语言表达式是()A.x>=y>=zB.(x>=y)charsex;}stu;,则SiZeof(StU)的值是( )A. 2B.10C.11D.12参考答案:【一、单项选择题】Γ5DΛCBΛ6"10DBCDC11~15点击下载查看答案。
高级语言程序设计与应用教程习题答案

高级语言程序设计与应用教程习题答案第二章一、单选题二、填空题1.3、12. 23. 44.-2645.n=1三、简答题(略)第三章一、单选题二、填空题6.顺序结构、选择结构、循环结构7.scanf( )、printf( )8. 19. 210.111.12312.s=25413.8三、简答题1.什么是结构化的程序设计?它有什么特点?答:结构化程序设计的基本思想是:任何程序都可以通过顺序结构、选择结构、循环结构表示。
复杂程序是经过这三种基本结构反复嵌套使用而构成的。
结构化程序的优点是程序模块结构清楚,层次分明,易于读写。
2.什么是关系运算?什么是逻辑运算?什么是条件运算?答:(1)关系运算是通过C语言提供的6种关系运算符对两个值的大小等关系进行比较。
(2)逻辑运算既通过三种逻辑运算符对逻辑量进行与、或、非的运算即逻辑运算。
(3)条件运算是通过条件运算符“?:”构造的条件表达式:表达式1 ?表达式2 :表达式3,根据表达式1的值判断条件表达式的最终计算结果是取表达式2的值还是取表达式3的值。
3.空语句是可有可无的吗?答:不是,虽然空语句是什么也不执行的语句,但是在程序中空语句可用来构成循环结构中的空循环体。
4.C语言中如何判断一个量的"真"、"假"?答:如果某个量的值不为0时,则在逻辑运算中被判别为真;否则,如果其值为0时,被判别为假。
5.请谈谈条件表达式和条件语句有什么区别和联系?答:条件表达式和条件语句都可以根据给定的条件进入不同的分支执行语句。
条件表达式语句简练,如果选择结构比较简单,可以采用条件表达式来实现。
而通过条件语句,以及语句的嵌套,可以实现更复杂的选择结构。
四、程序设计题1.编写程序,输出x2的值,x取值从0到10。
答案:#include "stdio.h"void main(){int x;for(x=0; x<=10; x++)printf("square(%d)=%d\n", x, x*x);}2.编写程序,从键盘输入三个整数,求其中的最大数和最小数,并输出结果。
(全新整理)1月全国自考高级语言程序设计(一)试题及答案解析

全国2018年1月高等教育自学考试高级语言程序设计(一)试题课程代码:00342一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.以下正确的C语言自定义标识符是()A._la B.2a_C.do D.a.122.在C语言中,错误..的常数表示是()A.0L B.-0x6aLC.′6′D.1.234E3.53.设int a,x=2;执行语句a=x>0?3*x(x=10);后,变量x的值是()A.1 B.2C.6 D.104.设有以下程序段:int x=2,y=2,z=0,a;a=++x||++y&&z++;printf(″%d,%d,%d\n″,x,y,z);执行后输出的结果是()A.2,2,0 B.3,3,1C.3,2,0 D.3,2,15.在C语言中,字符串″\\TOP\t\65\″″的长度是()A.5 B.7C.9 D.126.设float x;,由键盘输入:12.45,能正确读入数据的输入语句是()A.scanf(″%5f″,&x); B.scanf(″%5d″,&x);C.scanf(″%f″,x); D.scanf(″%s″,&x)7.逗号表达式a=2*6,a*3,a+5的值是()A.12 B.17C.36 D.4112 8.C 语言表达式3.26*exp(x)+(a+b)/3所表示的数学表达式是( )A .3.26x+)b a (31+B .3.26x e +3ba +C .3.26e x +)b a (31+ D .3.26lnx+3ba +9.在C 语言中,下列运算符中结合性属于自右向左的是( )A .&&B .--C .<<D .->10.设int (*p )[4];,则p 的含义是( )A .指向整型变量的指针数组B .指向4个整型变量的函数指针C .4个指向整型变量的指针变量D .指向具有4个整型元素的一维数组的指针11.设char x[][10]={″Windows ″,″dos ″,″unix ″};,执行pintf(″%c ″,x[1][2]);后输出的结果是() A .n B .iC .oD .s12.设int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int(* ptr)[3]=a,*p=a[0];,则与数组元素a[1][2]等价的是()A .*((p+2)+3)B .*(*(p+3))C .(*ptr+1)+2D .*((ptr+1)[2])13.设int a=11,b=2;,执行下述程序段后,变量a 和b 的值分别是( )do{a/=b++;}while(a>b);A .1,3B .1,4C .2,3D .2,414.在C 语言中,下列错误..的说法是( )A .函数可以递归调用B .不允许在函数中再定义函数C .递归程序不可能用非递归算法实现D .对于continue 语句,可以通过改变程序的结构而不使用它15.设int a[2][3]={{1},{2,3}};,则元素a[1][0]的值是( )A .0B .1C .2D .316.若main()带参数,正确的是()A.main(int argc,char*argv) B.main(int argc,char*argv[])C.main(int argc,char argv[][]) D.main(int argc,char argv[])17.设struct student{ char name[10];int sex;int num;}s,*p=&s;以下对结构型变量s中成员num的非法引用是()A.p->num B.(*p).numC.s.num D.student.num18.下列说法中正确的是()A.C语言的预处理命令只有宏定义和文件包含B.预处理命令只能出现在主函数之前C.所有预处理命令都是以符号″#″开头D.有些预处理命令不是在源程序编译之前处理19.设enum week {mon,tue=2,wed,thu,sat=6}day;,则枚举常量mon和thu的值分别是()A.0和4 B.1和4C.0和3 D.1和520.下列属于文件包含的命令是()A.#define N 25 B.#endifC.#include ″stdio.h″D.#else二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
高级语言程序设计习题及答案

习题一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;试写出下列每一表达式的类型,如能确定,请写出它们的值。
2020年10月全国高级语言程序设计(一)自考试题及答案解析

阅读下列程序,将输出结果写到各题右侧的空白处。
31.main( )
{
int a[3][3]={1,4,17,3,6,19,2,5,18},i,s=0;
for (i=0;i<=2;i++)
s=s+a[i][2-i];
printf(″s=%d\n″,s);
p=&y;printf(″%d\n″,*p);
*p=y+20;
printf(″%d,%d\n″,x,y);
}
34.#include″string.h″
struct worker
{char name[15];
int age;
float pay;
};
main()
{struct worket x;
char *t=″Lilei″;
C.120D.121
12.执行printf(″%d\n″,strlen(″t\″066\xee\n″));语句的输出结果是( )
A.7B.12
C.13D.输出项不合法,无正常输出
13.在函数中定义的局部变量,若未指定存储类别,则其隐含的存储类别是( )
A. staticB. anto
C. externD. register
21.一个C程序一般由若干个函数构成,其中至少应包含一个函数。
22.在Turbo C中,一个int型变量所能表示的数的范围是。
23.表达式10<<3+1的值是。
24.若定义了int a[10],*p;,将数组元素a[8]的地址赋给指针变量p的赋值语句是。
25.若定义了int a=1;,则执行printf(″%d\n″,((a=a+4,a+5),a+6));语句的输出结
高级语言程序设计(一)课后习题答案

高级语言程序设计(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.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、一个学生的信息包括:学号、姓名、年龄、性别、电话。
(完整版)高级语言程序设计习题答案(免费)

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.二进制语言是属于( ) 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" bdsfid="246">='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的值。
高级语言程序设计(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、下列选项中合法的标识符是【】。
高级语言程序设计习题版带答案

高级语言程序设计习题版带答案第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 语言中,标识符的定义规则是以字母或下划线为开头。
高级语言程序设计课后练习参考答案(全部)

特别说明:此答案不是标准答案,仅供参考,如有疑问,请与老师共同商量第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。
高级语言程序设计(Python)习题与答案

高级语言程序设计(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、下列选项中合法的标识符是【】。
10月全国自考高级语言程序设计(一)试题及答案解析

int x=*a;
printf(″%d\t%d\n″, *a, b);
*a=b;b=x;
}
main( ){ຫໍສະໝຸດ int x=10, y=25;
LE(&x, y);
printf(″%d\t%d\n″, x, y);
}
35. /*设从键盘输入:420<回车> */
#include <stdio. h>
main( )
void f (struct porb a[], int n);
main( )
{
f (s, N);
}
void f (struct porb a[], int n)
{
int i;
for (i=0;i<n;i++)
printf (″%s:%d\n″, a[i]. name, a[i]. age);
}
34. void LE(int*a, int b)
全国2018年10月高等教育自学考试
高级语言程序设计(一)试题
课程代码:00342
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.下列不属于C语言保留字的是( )
A. charB. while
22.设int x=2, y=1;则表达式x+++y的值是__________。
23.若未指定局部变量的存储类型,则其隐含的存储类型是__________。
24.在执行循环结构或switch结构时,能够立即退出该结构的语句是__________。
2010年10月全国自考高级语言程序设计(一)真题及参考答案

全国2010年10月高等教育自学考试高级语言程序设计(一)试题课程代码:00342一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.用户自定义标识符正确的是( )A.3abB.intC.fa2_aD.sin(x)2.关于C语言程序描述正确的是( )A.函数必须要有return语句B.主函数必须位于程序的开头C.程序中每行只能写一条语句D.一个程序中只能有一个主函数3.设int i=8,a,b;double x=1.42,y=5.2;,正确的表达式是( )A.a+=(b=4)*(a=3)B.a=a*3=2C.x%(-3)+y* *3D.y=float(i)4.设int a[][2]={1,2,3,4,5,6,7};,其中缺省的行长度的最小值是( )A.2B.3C.4D.55.设char c='A';int i=1,j;,执行语句j=!c&&i++;后,i和j的值分别是( )A.0和1B.1和0C.1和65D.2和666.设typedef char STRING[255];STRING*s;,则s是( )A.字符数组B.字符变量C.字符指针数组D.字符指针变量7.设int x=6;,执行语句X+=X-=X*X;后,x的值是( )A.-60B.0C.6D.368.设int i=3,j=3;,表达式i+++j的值是( )A.6B.7C.8D.99.下列为C语言保留字的是( )A.realB.longC.pointerD.integer10.设int a=2,b=6,c=8;,表达式(a,b),(c,10)的值是( )A.2B.6C.8D.1011.变量定义并初始化正确的是( )A.int a=l,*p=a;B.int a=2,p=*a;C.int a=3,p=&a;D.int a=4,*p=&a;12.使用递归函数计算n!(n=0,1,2,,3,....)的是( )A. fac(int n)B. fac(int n){int i,f=- 1; {if(n==0) return 1; if(n==0‖n==1) return 1;else for(i=1 ;i<=n;i++) f*=i; else return n*fac(n-1);return f; }C. fac(int n)D. fac(int n){int i=l,f=l; {int i=1,f=1;if(n==0) return l; if(n==0) return 1;else while(i<=n) f*=i++; else do { f*=i;}while (i++<n)return f; return f;} }13.设struct{int age;int num;}stu,*p=&stu;对结构型变量stu的成员age引用错误..的是( )A.stu.ageB.p->ageC.*p.ageD.(*p).age14.设int a[2]={1,2},*p=a;,则*p是( )A.元素a[0]的值B.元素a[0]的地址C.元素a[1]的值D.元素a[1]的地址15.设int a[10];,对数组元素引用正确的是( )A.a[10]B.a['0']C.a(6)D.a[10-10]二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
四川大学 高级语言程序设计 -I A(2014 )附答案

8.设已有定义:“float a;”,则以下对指针变量 p 进行定义且赋初值的语句中在编译时无错误提示信息与警告提
示信息的是(
)。
A)float *p = 1068; B)int *p= (int)a;
C)float p=&a;
D)float *p=&a;
9.读取二进制文件的函数调用形式为“fread(buffer, size, count, pt);”,其中 buffer 是(
四川大学计算机学院 2014 级
C 语言程序设计试卷(一)参考答案
一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号
码填在题干后的括号内。每小题 2 分,共 20 分)
1.B)
2.C)
3.C)
4.B)
5.A)
6.C)
7.B)
8.D)
9.C)
10.D)
二、填空题(第小题 2 分,共 14 分)
。
2.设有定义语句:“int a [8]={0};”,则数组元素 a[1]的值为
。
3.已知 int a=6, *p = &a; 则*p 的值为
。
4.设有定义:“FILE *fp;”,请将以下打开文件的语句补充完整,以便为输入打开一个文本文件 readme.txt。
fp = fopen("readme.txt", "
D) CIN 是 struct TTT 类型的变量
7.以下数组定义中错误的是(
)。
A)int x[][3]={0,1,2,3};
B)int x[2][3]={{1,2}, {3,4}, {5,6}};
C)int x[][3]={{1,2,3},{4,5,6}};
自-2009年10月高级语言程序设计(一)真题及参考答案

2009年10月高级语言程序设计(一)试题一、单项选择题(本大题共15小题,每小题2分,共30分)1.主函数头中的“main”是( B )A.保留字ﻩB.函数名C.变量名D.类型名2.下列运算符中优先级最高的是( D )A.?:B.&& C.ﻩD.!3.设staticinta;,执行表达式(a= =1)&&(a=-1)&&(a=2)后,a的值是(B)A.-1ﻩB.0C.1ﻩD.24.设int a,b;,与a+=b++;等价的是( C )A.a=b++;B.a=++b;C.a=a+b++;ﻩD.a=a+++b;5.关于宏定义命令,叙述正确的是(A)A.在程序编译前进行宏替换B.在程序编译时进行宏替换C.在程序编译后进行宏替换D.在程序运行时进行宏替换6.下列表达式值为0的是( D)A.5/2B.2&&5ﻩC.!25ﻩD.2&57.对循环结构正确的叙述是( B )A.do-while循环体可能被执行0次B.do-while循环体至少被执行1次C.while循环体不可能被执行0次ﻩD.for循环体不可能被执行无限次8.下列数组定义并初始化正确的是(C)A.ints[]=(1,2,3,4,5); B.int s[5]=1,2,3,4,5; C.int s[2+3]={1,2,3}; D.ints(5)={1,2,3}; 9.设char s[10];,能将字符串“+-*/”正确输入的语句是( A )A.scanf(“%s”,s);ﻩB.scanf(“%s”,*s); C.scanf(“%s”,s[0]); D.scanf(“%s”,s[10]);10.对于C语言中的函数,正确的叙述是(D)A.两个函数可以相互调用,但不能自己调用自己B.程序执行可以始于任何一个函数,但结束必须在主函数C.两个函数既可以定义成并列关系又可以定义成嵌套关系D.一个C程序可以由多个文件组成,一个文件又可以由多个函数组成11.设int m[5],*p=m;,与元素m[5],*p=m;,与元素m[2]等价的是( C)A.m+2ﻩB.*m+2 C.*(p+2) D.*p+212.设int a[3][3]={{1,2,3},{4,5},{6}};,元素a[1][2]的值是(A)A.0 B.1 C.4ﻩD.613.设typedef int ARR[10];,与ARRa,*b;等价的定义是( D)A.inta,b; B.inta,*b;ﻩC.int a[10],*b; D.inta[10],*b[10];14.设intn,p=0;,与语句if(n!=0)p=1;等价的是( A )A.if(n)p=1;ﻩB.if(n=1)p=l;ﻩC.if(n!=1)p=1;ﻩD.if(!n)p=l;15.文件使用方式“rb+”的含义是( C)A.对文本文件只读 B.对文本文件读和写C.对二进制文件读和写D.对二进制文件只写二、填空题(本大题共10小题,每小题2分,共20分)16.执行printf(“%d\n”,1+!2+(3<=4)+5/6+7%8);后的输出结果是____9_____。