高级语言程序设计—考试题库及答案
- 格式:docx
- 大小:179.85 KB
- 文档页数:169
高级语言程序设计一、选择题:(共20题,每题分,共30分)1. 下列四个选项中,均是合法的整型常量的选项是()A.160 –0XFFFF 011 B. -0XCDF 01A 0XE C. -01 986,012 0688 D. -0X48a 2e5 0x 2. 下列四个选项中,均是不合法的浮点数的选项是()A.160.e3 B. 123 .e5C.18 123e4 D. e3. 234 1e33. 合法的C语言字符常数是()A.'\t' B. "A"C.54 D. A4. 在C语言中,要求运算数一定是整型的运算符是()A./ B. ++C.!= D. %5. 字符串常量”mine”的字符个数是()A.4 B. 5C.6 D. 76. 以下属于非法的C语言转义字符的是()A.'\b' B. '0xf'C.'\037' D. '\'7. 若x、y、z均为int型变量,则执行以下语句后的输出是()x=(y=(z=10)+5)-5;printf("x=%d, y=%d, z=%d\n",x,y,z);y=(z=x=0,x+10);printf("x=%d, y=%d, z=%d\n",x,y,z);A. x=10, y=15, z=10B.x=10, y=10, z=10x=0, y=10, z=0x=0, y=10, z=0C.x=10, y=15, z=10D. x=10, y=10, z=10x=10, y=10, z=0 x=10, y=10, z=08. 在以下一组运算符中,优先级最高的运算符是()A.<= B. =C.% D. &&9. 已知:int x; float y; 所用的scanf调用语句格式为:scanf( “x=%d, y=%f”, &x, &y );为了将数据10和分别赋给x和y,正确的输入应当是()A.x=10, y=<回车> B. 10, <回车>C.10<回车><回车> D. x=10<回车>y= <回车>10. 已有如下定义的输入语句,若要求A1,A2,C1,C2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是()(注:□表示空格,<CR>表示回车)int a1, a2,;char c1, c2;scanf( “%d%c%d%c”, &a1, &c1, &a2, &c2 );A.10□A□20B<CR> B. 10□A□20□B<CR>C.10A20B<CR> D. 10A20□B<CR>11. 能正确表达:“当x取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是()A.(x>=1) && (x<=10) && (x>=200) && (x<=210)B. (x>=1) || (x<=10) || (x>=200) || (x<=210)C.(x>=1)&&(x<=10) || (x>=200)&&(x<=210)D. (x>=1) || (x<=10)&&(x>=200) || (x<=210)12. 假定所有变量均已正确说明,下列程序段运行后x的值是()a=b=c=0; x=35;if(!a) x--;else if (b);if(c) x=3;else x=4;A.34 B. 4C.35 D. 313. 若变量c为char类型,能正确判断出c为大写字母的表达式是()A.'A'<=c<= 'Z' B. (c>= 'A')||(c<= 'Z')C.('A'<=c)and ('Z'>=c) D. (c>= 'A')&&(c<= 'Z') 14. 若给定条件表达式:(!n) ? (c++) : (c--),则与表达式n等价的表达式是()A.n==0 B. n==1C.n!=0 D. n!=115. 已知:int a=4, b=5, c; 则执行表达式c=a=a>b后变量a的值为()A.0 B. 1C.4 D. 516. 定义int i=1; 执行语句while(i++<5); 后,i的值是()A.3 B. 4C.5 D. 617. 合法的数组说明是()A.int a[] = “string”; B.int a[] = { 0, 1, 2, 3, 4, 5 }; C.char a = “string”; D.char a[] = { 0, 1, 2, 3, 4, 5 };18. 当调用函数时,实参是一个数组名,则向函数传送的是()A.数组的长度 B. 数组的首地址C.数组每一个元素的地址 D. 数组每个元素中的值19. 函数调用:strcat(strcpy(str1,str2),str3)的功能是()A.将串str1复制到串str2中后再连接到串str3之后B. 将串str1连接到串str2之后再复制到串str3之后C.将串str2复制到串str1中后再将串str3连接到串str1之后D. 将串str2连接到串str1之后再将串str1复制到串str3中20. 已知:int a[]={1,2,3,4,5,6,7,8,9, *p=a; 则(*p) 的值是()A.1 B. 2C.3 D. a二、判断题:(共10题,每题1分,共10分)()1.C语言中能使用关键字作为标识符。
c高级程序设计试题及答案一、选择题(每题2分,共20分)1. 在C语言中,下列哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个函数用于将字符串s复制到字符串t中?A. strcat(s, t)B. strcpy(s, t)C. strcmp(s, t)D. strncat(s, t)答案:B3. 在C语言中,下列哪个运算符用于执行逻辑与操作?A. &&B. ||C. !D. ~答案:A4. 下列哪个选项是正确的C语言注释?A. // This is a single line commentB. /* This is a single line comment */C. // This is a multi-line commentD. /* This is a multi-line comment */答案:A5. 在C语言中,下列哪个函数用于打开一个文件?A. fopenB. fcloseC. freopenD. remove答案:A6. 下列哪个选项是C语言中的合法整型常量?A. 123B. 0x1AC. 1.23D. 0123答案:A7. 下列哪个关键字用于定义一个函数?A. intB. voidC. returnD. struct答案:A8. 在C语言中,下列哪个运算符用于执行算术右移操作?A. <<B. >>C. <=D. >=答案:B9. 下列哪个函数用于将整数n转换为字符串并存储在s指向的数组中?A. sprintf(s, "%d", n)B. scanf(s, "%d", &n)C. printf("%d", n)D. scanf("%d", &n)答案:A10. 在C语言中,下列哪个选项是正确的多行字符串字面量?A. "Hello, world"B. "Hello,\nworld"C. "Hello, " "world"D. "Hello, " 'world'答案:B二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个指针。
考证素材全国自考高级言语程序设计考前密卷00342(含答案)一、单项选择题(本大题共20小题,每题1分,共20分)在每题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
第1题假设定义了intm,n=0,Xp1=&m;,则以下与m=n;等价的正确语句是()A.m=Xp1;B.Xp1=&Xn;C.X&p1=&Xn;D.Xp1=X&n;【正确答案】D【你的答案】此题分数1分第2题执行语句“for(k=4;k>0;k—){break;—k;}〃后,变量k的值是()A. 1B. 2C. 3D. 4【正确答案】D【你的答案】此题分数1分第3题设有语句“charx[]=〃12345〃,y[]={'1‘,‘2‘,‘3‘,‘4‘,‘5’};〃,则以下说法中正确的选项是()A.数组x和数组y存放相同字符串B.数组x和数组y的长度相同C.数组x的长度大于数组y的长度D.数组x的长度小于数组y的长度【正确答案】C【你的答案】此题分数1分第4题设inta=10,b=20,c=30;,条件表达式aA. 5B.10C.20D.30【正确答案】A【你的答案】此题分数1分考证素材考证素材第5题设有定义语句“intx[8]二{5,4,3,2,l},Xp=x;〃,则Xp+6的值是() A0B . 1C 5D . 11【正确答案】D【你的答案】此题分数1分第6题运行以下程序后,输出结果是()intf(inta,intXb){return(a+Xb);}main(){intx=1,y=2,z=3;printf(〃%d\n〃,f(f(x,&y),&z));}A. 3B. 5C. 6D.7【正确答案】C【你的答案】此题分数1分第7题以下程序的输出结果是()structabc{inta,b,c;};main(){structabcs[2]={{1,2,3},{4,5,6}};intt;t=s[0].a+s[1].b; printf(〃%d\n“,t);}A. 5B. 6C.7D.8【正确答案】B【你的答案】此题分数1分第8题设有定义语句“int(Xptr)[10];〃其中的ptr是()A.10个指向整型变量的指针B.指向10个整型变量的函数指针C.一个指向具有10个元素的一维数组指针D.具有10个指针元素的一维数组考证素材【正确答案】C【你的答案】此题分数1分第9题以下程序的输出结果是()main(){intx=10,y=10,i;for(i=0;x>8;y=++i)printf(〃%d%d〃,x--,y);}A.10192B.9876C.10990D.101091【正确答案】D【你的答案】此题分数1分第10题以下不正确的C言语标识符是()A. B.C.aD.A.ABCB.abcC.ab_cD.ab.c【正确答案】D【你的答案】此题分数1分第11题以下表达式的值为0的是()A3%5B . 3/5.0C . 3/5D . 3<5【正确答案】C【你的答案】此题分数1分第12题设有以下定义语句,则以下表达式中能表示结构型xx的成员x的表达式是()structxx{intx;}; structyy{structxxxxx;intyy;}xxyy;考证素材考证素材A.xxyy.xB.xxyy->xC.(&xxyy)->xxx.xD.xxx.x【正确答案】C【你的答案】此题分数1分第13题在C言语中,不合法的保存字是()A.ifB.CharC.floatD.default【正确答案】B【你的答案】此题分数1分第14题设有定义"defineR2+1〃,则RXR的宏替换结果正确的选项是()A.(2+1)X(2+1)B.2+1X2+1C.3X3D.(2+1)X2+1【正确答案】B【你的答案】此题分数1分第15题假设要对a进行++运算,则a应具有的说明为〔〕A.inta[3][2];B.CHARXA[]={〃12〃,〃ab〃};C.char(Xa)[3];D.intb[10],Xa=b;【正确答案】D【你的答案】此题分数1分第16题表达式a=(a=6,a6,a+3);运行后,则a的最后值为()A.不确定B.36C. 6D.39考证素材【正确答案】D【你的答案】此题分数1分第17题设有说明int(ptr)[M];其中ptr是()A.M个指向整型变量的指针B.指向M个整型变量的函数指针C.一个指向具有M个整型元素的一维数组的指针D.具有M个指针元素的一维指针数组,每个元素都只能指向整型量【正确答案】C【你的答案】此题分数1分第18题假设有以下说明和语句structworker{intno;charname;}work,p=work;则以下引用方法不正确的选项是()A.work.noB.(p).noC.p—>noD.work—>no【正确答案】D【你的答案】此题分数1分第19题设有整型变量x值为1,表达式x+++x+(++x)的值是()A. 3B. 4C. 5D. 6【正确答案】B【你的答案】此题分数1分第20题假设有定义“intw=1,x=2,y=3,z=4;",则表达式w<xw:y<zy:z的值是()A. 1B. 2C. 3D. 4正确答案】</xw:y<zy:z的值是()考证素材考证素材二、填空题(本大题共10小题,每题2分,共20分)请在每题的空格中填上正确答案。
设有定义语句“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 语言标准库函数的为()。
高级语言C++程序设计-考试试卷—答案姓名: ________________ 成绩__________________答案:1-11题 D C D A C D A B D D B 答案:12-22题 D A D D A D D D A A D1. 按照C 语言规定的用户标识符命名规则,不能出现在标识符中的是A)大写字母B)下划线C)数字字符D)连接符2. 以下选项中不合法的标识符是A)cout B)FOR C)&&a D)_003. 设有定义:int x=2;,以下表达式中,值不为6的是A)x*=(1+x) B)x*=x+1 C)x++,2*x D)2*x, x+=24. C++ 源程序中不能表示的数制是A)二进制B)十六进制C)十进制D)八进制5. 以下关于结构化程序设计的叙述中正确的是A)一个结构化程序必须同时由顺序、分支、循环三种结构组成B)有三种基本结构构成的程序只能解决小规模的问题C)在C ++语言中,程序的模块化是利用类实现的D)结构化程序使用goto 语句会很便捷6. 以下定义语句中正确的是A)float a=1,*b=&a,*c=&b; B)int a=b=0;C)double a=0.0;b=1.1; D)char A=65+1,b=’b’;7. 计算机能直接执行的程序是A)可执行程序B)目标程序C)源程序D)汇编程序8. 以下叙述中正确的是A)C++ 语言程序中的注释必须与语句写在同一行B)简单C++ 语句必须以分号结束C)C++ 语句必须在一行内写完D)C++ 程序中的每一行只能写一条语句9. 以下选项中,不合法的C++语言用户标示符是A)AaBc B)a_b C)_1 D)a--b10.关于C++语言的变量,以下叙述中错误的是A)由三条下划线构成的符号名是合法的变量名B)所谓变量是指在程序运行过程中其值可以被改变的量C)程序中用到的所有变量都必须先定义后才能使用D)变量所占的存储单元地址可以随时改变11. C ++语言中double 类型数据占字节数为A)12 B)8 C)4 D)1612. 以下叙述中正确的是A)空语句就是指程序中的空行B)花括号对{}只能用来表示函数的开头和结尾,不能用于其他目的C)复合语句在语法上包含多条语句,其中不能定义局部变量D)当用cin 从键盘输入数据时,每行数据在没有按下回车键(Enter 键)前,可以任意修改13. 以下叙述中正确的是A)C++ 语言程序总是从main 函数开始执行B)C++ 语言程序所调用的函数必须放在main 函数的前面C)C++ 语言程序中main 函数必须放在程序开始位置D)C++ 语言程序总是从最前面的函数开始执行14. 以下叙述中正确的是A)if 语句只能嵌套一层B)不能在else 子句中在嵌套if 语句C)改变if-else 语句的缩进格式,会改变程序的执行流程D)if 子句和else 子句中可以是任意合法的C ++语句15. 以下叙述中正确的是A)在while 语句和do-while 语句中无法使用continue 语句B)当break 出现在循环体中的switch 语句体内时,其作用是跳出该switch 语句体,并终止循环C)continue 语句的作用是:在执行完本次循环体中剩余语句后,终止循环D)只能在循环体内和switch 语句体内使用break 语句16. 已定义以下函数:int fun(int *p){return *p;}fun 函数返回值是A)一个整数B)形参p 的地址值C)形参p 中存放的值D)不确定的值17. 设有定义:double a[10],*s=a;以下能够代表数组元素a[3]的是A)*s[3] B)(*s)[3] C)*s+3 D)*(s+3)18. 下列选项中,能正确定义数组的语句是A)int num[0...2008]; B)int num[ ];C)int N=2008; int num[N]; D)#define N 2008; int num[N];19. 设有以下函数:void fun(int n,char *s){......} 则下面对函数指针的定义和赋值均正确的是A)void *pf(); pf=fun; B)void (*pf)(int,char );pf=&fun;C)void *pf(); *pf=fun;D)void (*pf)(int ,char *) ; pf=fun;20. 以下叙述中正确的是A)int *p1,int **p2,int *p3;都是合法的定义指针变量语句B)语句p==NULL;与p==\0 是等价的语句C)p==NULL;执行后,指针p 指向地址为0 的存储单元D)指针变量只能通过求指针运算符(&)获得地址值21. int *func(int a[10], int n);则以下叙述中正确的是A)说明中的a[10]改为a[]或*a 效果完全一样B)函数中不能对a 进行移动指针(如a++)的操作C)只有指向10 个整数内存单元的指针,才能作为实参传递给形参D)形参a 对应的实参只能是数组名22. 若有以下语句typedef struct S{ int g;char h;} T;以下叙述中正确的是A)T 是struct S 类型的变量B)可用S 定义结构体变量C)S 是srurct 类型的变量D)可用T 定义结构体变量第二题:类与对象编程(25分)自定义一个简单的时间类TimeType,它具有数据成员h、m、s,用来表示当前时间的时、分、秒。
一、单选题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语言标准库函数的为()。
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代码值。