高级程序设计期末习题

合集下载

高级语言程序设计1期末考试试题(A卷)

高级语言程序设计1期末考试试题(A卷)

高级语言程序设计1期末考试试题(A卷) work Information Technology Company.2020YEAR《高级语言程序设计1》期末考试试题(A卷) (2005.1) 姓名: 学号: 专业(系):一、标记出如下程序中的语法错误,并简单说明出错原因(6分)。

#include<iostrem.h>void main(){int d[10], abc[6] = {2,4,0,-5,10,6,-8}, count=0;for(i=0; i<10; i++)if(d[i]=i) count++;else count -;cout<<” count=”<<count<<endl;switch( d[i] ){case 1,2: cout<<”1,2\n”; break;case 3: cout<<”3\n”; break;default: cout<<”others\n”;}1+2, 2+=3, count+=5;}二、选择题(14分)(共7题,每题2分)1.以下程序的输出结果是_____。

#include<iostream.h>main(){ int x=1,y=0,a=0,b=0;switch(x){case 1:switch(y){1case 0:a++;break;case 1:b++;break;}case 2:a++;b++;break;}cout<<a<<","<<b<<endl;}A. 2,1B.1,1C.1,0D.2,22.以下能正确计算1*2*3*...*10的程序段是()。

A)do {i=1;s=1; B)do {i=1;s=0;s=s*i; i++;} s=s*i;i++;}while(i<=10); while(i<=10);C) i=1;s=1; D)i=1;s=0;do {s=s*i; do{s=s*i;i++;} i++;}while(i<=10); while(i<=10);3. int a=1,b=2,c=2;while(a<b<c) {t=a;a=b;b=t;c--;}cout<<a<<”,”<<b<<”,”<<c;运行结果为()。

《高级语言程序设计》复习题及答案

《高级语言程序设计》复习题及答案

一、选择题1.以下表达正确的选项是〔〕:A) 在C程序中,main函数必须位于程序的最前面B) C程序的每行只能写一条语句C) C语言使用库函数实现输入输出操作D) 注释中的拼写错误会影响编译结果2、以下说法中正确的选项是()A) C语言程序总是从第一个的函数开始执行B) C语言程序总是从main()函数开始执行C)在C语言程序中,要调用的函数必须在main()函数中定义D) C语言程序中的main()函数必须放在程序的开始局部3、以下选项种说法正确的选项是〔〕A) 函数由声明局部和执行局部两局部组成B)语言中main函数一定在程序的开始局部C)C语言程序总是从第一个定义的函数开始执行D)C程序的每行中只能写一条语句4、设有说明:int a; float b; char c; double d; 那么表达式1.3*a+2*b*c+d*(int)2.6 值的类型为〔〕。

A〕 double B) char C) float D) int5、 C语言的标识符只能由字母、数字和下划线三种字符组成,且第一个字符〔〕A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中任一种字符6、以下不正确的C语言标识符是〔〕。

A) ABC B) abc C) a_bc D) void7、以下运算符中优先级最高的是〔〕A) < B〕+ C〕&& D〕!=8、以下选项中属于C语言中合法关键字的是〔〕A〕Float B〕abc C〕int D〕CASE9、假设x、i、j和k都是int型变量,计算下面表达式后,x的值为〔〕x=(i=4,j=16,k=32)A)4 B〕16 C)32 D)5210、在C语言中,要求数据必须是整型的运算符是〔〕A)/ B〕+ + C〕!= D〕 %11、假设整型变量x的值为8,那么以下表达式中值为1的表达式是A)x+=x-=x B) x%=x-1 C) x%=x%=3 D) x/=x+x12、假设w=1,x=2,y=3,z=4,那么条件表达式“w > x ? w : y < z ? y : z〞的值是〔〕A)4 B〕3 C〕2 D〕113、有以下程序,程序运行后的输出结果是。

东北大学《高级语言程序设计》期末考试必备真题集(含答案)61

东北大学《高级语言程序设计》期末考试必备真题集(含答案)61

高级语言程序设计复习题第一部分(填空题):1.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()。

A.大写字母B.连接符C.数字字符D.下划线答案:B2.( )是c语言提供的合法的数据类型关键字。

A.intB.LongC.CharD.integer答案:A3.面向过程的高级语言包括( )。

A.PYTHON,JAVAB.C,BASICC.C,JSPD.C,VB答案:B4.A用C语言编写的代码程序( )。

A.可立即执行B.是一个源程序C.经过编译即可执行D.经过解释才能执行答案:B5.以下选项中关于C语言常量的叙述错误的是()。

A.所谓常量,是指在程序运行过程中,其值不能被改变的量B.常量分为整型常量、实型常量、字符常量和字符串常量C.常量可分为数值型常量和非数值型常量D.经常被使用的变量可以定义成常量答案:D6.已知char a='\17',变量a中( )。

A. 包含1个字符B.包含2个字符C.包含3个字符D.说明非法答案:A7.下列描述中正确的是()。

A.C语言中所有输入/输出功能都是通过输入/输出函数调用语句实现的B.C语言中所有输入/输出功能都是通过调用库函数实现的C.调用getchar()函数和putchar()函数可以省略#include命令D.在输入/输出格式中的*表示跳过数据的含义答案:A8.下面描述中正确的是()。

A.printf()函数的输出列表项只允许是变量B.printf()函数的输出列表项可以是常量、变量以及表达式C.printf()函数输出列表项也可以是另一个printf()函数D.printf()函数的输出列表项之间用空格分隔答案:B9.假设有:int a,b; scanf("%d,%d",&a,&b);为了得到a和b分别为10和20,从键盘正确输入数据的是()。

A.10<空格>20<回车>B.10<回车>20<回车>C.10,20<回车>D.10,20,<回车>答案:C10.有如下语句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确格式是( )。

语言程序设计期末考试卷带答案(高职)

语言程序设计期末考试卷带答案(高职)

思想道德修养 思想道德修养 思想道德修养~ 学年度第二学期期末考试软件技术专业 级 C 语言程序设计 课程试题 (A )卷考 题 号 一 二 三 四 五 六 总分 场 : 分 数 考密 装 得分 评卷人 生 姓名 答:卷不封 订 得学 超生 证 过号: 此线线 线一、 选择题(20分,每小题2分)1.C 语言源程序的基本单位是( )。

A . 过程B . 函数C . 子程序D . 标识符 2. 定义int *swap()指的是( ) A .指一个返回整型值的函数swapB .指一个返回指向整型值指针的函数swapC .一个指向函数swap()的指针,函数返回一个整型值D .以上说法均错3.假设变量a,b 均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是( )。

A . 7 B . 8 C . 9 D . 2 4. C 语言中函数返回值的类型是由( )决定的。

A .return 语句中的表达式类型B .调用该函数的主函数类型C .定义函数时所指定的函数类型D .传递给函数的实参类型 5. 设有如下程序段,下面描述中正确的是( )。

int k=10; while(k=0) k=k-1;A . 循环执行一次B .循环是无限循环C .循环体语句一次也不执行D .循环体语句执行一次考场:考密装生姓名答:卷不封订得学超生证过号:此线线线考场:考密装生姓名答:卷不封订得学超生证过号:此线线线考场:考密装生姓名答:卷不封订得学超生证过号:此线线线C程序设计课程试题(A)卷答案一、选择题(20分,每小题2分)1.B 2.A 3.B 4.C 5.C 6.A 7.A 8.B 9.C 10.D二、判断对错(10分,每小题1分)1. √2.√3. ╳4. ╳5. ╳6. √7. ╳ 8. ╳ 9. √ 10. √三、填空题(16分,每小题2分)1.02.循环switch3.分号4.3405.12 306. struct enum7.文本文件(ASCII)二进制文件8. 4四、写出下列程序的运行结果(20分,每小题5分)1. e C pr*am2. 7 8 93. a=8 b=224. 6 7 8java9,basicjava五、阅读下列程序,在处填入适当内容,使程序完整。

《高级语言程序设计》期末考试试卷附答案

《高级语言程序设计》期末考试试卷附答案

《高级语言程序设计》期末考试试卷附答案一、选择题(共20题,每题3分,共60分)1. 下列四个选项中,均是合法的整型常量的选项是()A.160 –0XFFFF 011 B. -0XCDF 01A 0XE C. -01 986,012 0688 D. -0X48a 2e5 0x2. 下列四个选项中,均是不合法的浮点数的选项是()A.160.0.12 e3 B. 123 2e4.2 .e5C.18 0.0 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和66.6分别赋给x和y,正确的输入应当是()A.x=10, y=66.6<回车> B. 10, 66.6<回车>C.10<回车>66.6<回车> D. x=10<回车>y=66.6 <回车>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,10.11.12}, *p=a; 则(*p) 的值是()A.1 B. 2C.3 D. a二、判断题:(共10题,每题2分,共20分)()1.C语言中能使用关键字作为标识符。

c高级程序设计试题及答案

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语言中,使用________关键字可以定义一个指针。

高级语言程序设计期末考试试卷及答案(+E卷)

高级语言程序设计期末考试试卷及答案( E卷)2005—2006学年上学期考试科目:考试类型:(闭卷) 考试时间:120 分钟考试须知:1.答案必须写在“答题卡”上,写在试卷上不得分.2.必须在答题卡上正确填写班级、学号、姓名等内容。

一、选择题(共20小题,每小题1分)1。

下列C常量中不合法的是( )A。

’\500' B。

0500 C.'500' D。

"500"2。

C语言中,若对函数类型未加显示说明,则函数的隐含类型为()类型A.void B.intC.空 D.char3. C语言程序的三种基本结构是( )A。

嵌套结构、递归结构、顺序结构 B.递归结构、循环结构、转移结构C。

顺序结构、选择结构、循环结构 D.循环结构、转移结构、顺序结构4。

一个可执行C程序的开始执行点是()A.名为main()的函数 B.包含文件的第一函数C.程序中的第一个语句 D.程序中的第一个函数5。

下面程序段的执行结果是()int a=5, b=4, c=3;if(a〉b〉c)printf(”a>b〉c”);elseprintf(”no");A.a>b〉c B.noC.编译错误 D.运行错误6。

合法的数组定义是( )A.int a[]= “string" B.int a[5] = {0,1,2,3,4,5}C.char a[] = {0,1,2,3,4,5} D.char s = “string”7。

在C语言中,提供的合法关键字是()A.printf B.cher C.case D.Else8。

在C语言中,合法的字符常量是( )A.’\081’ B.’\0’ C.’ab’ D.”a ”9。

putchar函数可以向终端输出一个().A)字符串 B)实型变量值C)整型变量表达式D)字符或字符型变量10。

在C语言中,一个char变量占( )字节。

A.1 B.2 C.4 D.811. 调用scanf(“%d,%d”,&a,&b);时,正确的键盘输入是( )A.12,23 B. a=12,b=23C.12:23 D. 12 2312。

高级语言程序设计习题(最新版带答案)

第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。

高级语言程序设计复习题(选择题和填空题)

一、选择题:(1) 以下有4组用户标识符,其中合法的一组是A) For B) 4d C) f2_G3 D) WORD-sub DO IF voidCase Size abc define(2) 以下选项中合法的字符常量是A)"B" B) '\010' C) 68 D) D(3) 假定x和y为double型,则表达式x=2,y=x+3/2的值是A) 3.500000 B) 3 C) 2.000000 D) 3.000000(4) 以下合法的赋值语句是A) x=y=100 B) d--; C) x+y; D) c=int(a+b);(5) 设正x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是printf("%d,%d\n",x--,--y);A) 10,3 B) 9.3 C) 9.2 D)10.2(6) x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是A) INPUT x、y、z; B) scanf("%d%d%d",&x,&y,&z);C) scanf("%d%d%d",x,y,z); D) read("%d%d%d",&x,&y,&z);(7) 以下程序的输出结果是main(){ int a=3;printf("%d\n",(a+(a-=a*a)) );}A) -6 B)12 C) 0 D) -12(8) 设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为A) 0 B) 1 C)2 D) 3(9) 阅读以下程序:main(){ int x;scanf("%d",&x);if(x--<5) printf("%d",x);else printf("%d",x++);}程序运行后,如果从键盘上输人5,则输出结果是A)3 B) 4 C) 5 D) 6(10) 假定w、x、y、z、m均为int型变量,有如下程序段:w=1; x=2; y=3; z=4;m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z;则该程序运行后,m的值是A) 4 B) 3 C) 2 D) 2(11) t为int类型,进人下面的循环之前,t的值为0while( t=l ){ ……}则以下叙述中正确的是A) 循环控制表达式的值为0 B) 循环控制表达式的值为1C) 循环控制表达式不合法D) 以上说法都不对(12) 以下程序的输出结果是main(){ int num= 0;while(num<=2){ num++; printf("%d\n",num);}}A) 1 B) 1 C)1 D) l2 2 23 34(13) 以下各选项企图说明一种新的类型名,其中正确的是A) typedef v1 int; B) typedef v2=int;C) typedef int v3; D) typedef v4: int;(14) 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是A) 地址传递B) 单向值传递C) 由实参传给形参,再由形参传回实参D) 传递方式由用户指定(15) 以下函数值的类型是fun ( float x ){ float y;y= 3*x-4;return y;}A) int B) 不确定C) void D) float(16 ) 设有以下函数:f ( int a){ int b=0;static int c = 3;b++; c++;return(a+b+c);}如果在下面的程序中调用该函数,则输出结果是main(){ int a = 2, i;for(i=0;i<3;i++) printf("%d\n",f(a));}A) 7 B) 7 C) 7 D) 78 9 10 79 11 13 7(17) 以下程序的输出结果是main(){ char c='z';printf("%c",c-25);}A) a B) Z C) z-25 D) y(18) 以下选项中,非法的字符常量是A) '\t' B) '\17' C)"n" D) '\xaa'(19) 若有说明:int i, j=2, *p=&i;,则能完成i=j赋值功能的语句是A) i=*p; B) p*=*&j; C) i=&j; D) i=**p;(20) 以下定义语句中,错误的是A) int a[]={1,2}; B) char *a[3];C) char s[10]="test"; D) int n=5,a[n];(21) 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是A) 3 B) 6 C) 10 D) 20(22) 以下程序的输出结果是main(){ int i, a[10];for(i=9;i>=0;i--) a[i]=10-i;printf("%d%d%d",a[2],a[5],a[8]);}A) 258 B) 741 C) 852 D) 369(23) 以下数组定义中不正确的是A) int a[2][3];B) int b[][3]={0,1,2,3};C) int c[100][100]={0};D) int d[3][]={{1,2},{1,2,3},{1,2,3,4}};(24) 以下程序的输出结果是main(){ int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]; }A) 0650 B) 1470 C) 5430 D) 输出值不定(25) 以下程序的输出结果是main(){ char st[20]= "hello\0\t\\\";printf(%d %d \n",strlen(st),sizeof(st));}A) 9 9 B) 5 20 C) 13 20 D) 20 20(26) 以下选项中,不能正确赋值的是A) char s1[10];s1="Ctest";B) char s2[]={'C', 't', 'e', 's', 't'};C) char s3[20]="Ctest";D) char *s4="Ctest\n"(27) 以下程序的输出结果是amovep(int* p, int (*a)[3],int n){ int i,j;for( i=0;i<n;i++)for(j=0;j<n;j++){ *p=a[i][j];p++; }}main(){ int *p,a[3][3]={{1,3,5},{2,4,6}};p=(int *)malloc(100);amovep(p,a,3);printf("%d%d \n",p[2],p[5]);free(p);}A) 56 B) 25 C) 34 D) 程序错误(28) 以下程序的输出结果是struct HAR{ int x, y; struct HAR *p;} h[2];main(){ h[0].x=1;h[0].y=2;h[1].x=3;h[1].y=4;h[0].p=h[1].p=h;printf("%d%d \n",(h[0].p)->x,(h[1].p)->y); }A) 12 B) 23 C) 14 D) 32(29) 以下程序的输出结果是main(){ int a, b;for(a=1, b=1; a<=100; a++){ if(b>=10) break;if (b%3= =1){ b+=3; continue; }}printf("%d\n",a);}A) 101 B) 6 C) 5 D) 4(30) 以下程序的输出结果是union myun{ struct{ int x, y, z; } u;int k;} a;main(){ a.u.x=4; a.u.y=5; a.u.z=6;a.k=0;printf("%d\n",a.u.x);}A) 4 B) 5 C) 6 D) 0(31) 以下程序的输出结果是int a, b;void fun(){ a=100; b=200; }main(){ int a=5, b=7;fun();printf("%d%d\n", a,b);}A) 100200 B) 57 C) 200100 D) 75(32) 以下程序的输出结果是#define M(x,y,z) x*y+zmain(){ int a=1,b=2, c=3;printf("%d\n", M(a+b,b+c, c+a));}A) 19 B) 17 C) 15 D) 12(33) 整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是A) x || y B) x | y C) x & y D) x ^ y(34) 下面的程序执行后,文件test中的内容是#include <stdio.h>void fun(char *fname,char *st){FILE *myf; int i;myf=fopen(fname,"w" );for(i=0;i<strlen(st); i++)fputc(st[i],myf);fclose(myf);}main(){ fun("test","new world"); fun("test","hello");}A) hello B) new worldhello C) new world D) hello,world(35) 若变量已正确定义并赋值,下面符合C语言语法的表达式是A) a:=b+1 B) a=b=c+2 C) int 18.5%3 D) a=a+7=c+b(36) C语言中运算对象必须是整型的运算符是A) %= B) / C) = D)〈=(37) 若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是A) 1 B) 2 C) 2.0 D) 2.5(38) 若变量a、i已正确定义,且i已正确赋值,合法的语句是A) a==1 B) ++i; C) a=a++=5; D) a=int(i);(39) 若有以下程序段,int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是A) 0 B) 0.5 C) 1 D) 2(40) 有如下程序main(){ int y=3,x=3,z=1;printf(“%d %d\n”,(++x,y++),z+2);}运行该程序的输出结果是A) 3 4 B) 4 2 C) 4 3 D) 3 3(41) 能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是A) a>=10 or a<=0 B) a>=0|a<=10 C) a>=10 &&a<=0 D) a>=10‖a<=0(42) 有如下程序main(){ int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf(“a=%d,b=%d\n”,a,b);}该程序的输出结果是A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2(43) 有如下程序main(){float x=2.0,y;if(x<0.0) y=0.0;else if(x<10.0) y=1.0/x;else y=1.0;printf(“%f\n”,y);}该程序的输出结果是A) 0.000000 B) 0.250000 C) 0.500000 D) 1.000000(44) 有如下程序main(){ int a=2,b=-1,c=2;if(a<b)if(b<0) c=0;else c++;printf(“%d\n”,c);}该程序的输出结果是A) 0 B) 1 C) 2 D) 3(45) 有如下程序main(){ int i,sum;for(i=1;i<=3;sum++) sum+=i;printf(“%d\n”,sum);}该程序的执行结果是A) 6 B) 3 C) 死循环D) 0(46) 有如下程序main(){ int x=23;do{ printf(“%d”,x--);}while(!x);}该程序的执行结果是A) 321 B) 23 C) 不输出任何内容D) 陷入死循环(47) 有如下程序main(){ int n=9;while(n>6) {n--;printf(“%d”,n);}}该程序段的输出结果是A) 987 B) 876 C) 8765 D) 9876(48) 设有说明语句:char a='\72'; 则变量aA) 包含1个字符B) 包含2个字符C) 包含3个字符D) 说明不合法(49) 有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是A) 3 B) 4 C) 5 D) 有语法错(50) 有如下程序int func(int a,int b){ return(a+b);}main(){ int x=2,y=5,z=8,r;r=func(func(x,y),z);printf(“%\d\n”,r);}该程序的输出的结果是A) 12 B) 13 C) 14 D) 15(51) 有如下程序段int *p,a=10,b=1p=&a; a=*p+b;执行该程序段后,a的值为A) 12 B) 11 C) 10 D) 编译出错(52) 对于基类型相同的两个指针变量之间,不能进行的运算是A) < B) = C) + D) -(53) 以下函数返回a所指数组中最小的值所在的下标值fun(int *a, int n){ int i,j=0,p;p=j;for(i=j;i<n;i++)if(a[i]<a[p]) ;return(p);}在下划线处应填入的是A) i=p B) a[p]=a[i] C) p=j D) p=i*(54) 有如下程序long fib(int n){ if(n>2) return(fib(n-1)+fib(n-2));else return(2);}main(){ printf(“%d\n”,fib(3)); }该程序的输出结果是A) 2 B) 4 C) 6 D) 8(55) 在C语言中,函数的隐含存储类别是A) auto B) static C) extern D) 无存储类别(56) 有如下程序#define N 2#define M N+1#define NUM 2*M+1main(){ int i;for(i=1;i<=NUM;i++)printf(“%d\n”,i);}该程序中的for循环执行的次数是A) 5 B) 6 C) 7 D) 8(57) 有以下函数char *fun(char *p){ return p; }该函数的返回值是A) 无确切的值B) 形参p中存放的地址值C) 一个临时存储单元的地址D) 形参p自身的地址值(58) 有如下程序段int a=14,b=15,x;char c=‟A‟;x=(a&&b)&&(c<‟B‟);执行该程序段后,x的值为A) true B) false C) 0 D) 1(59) 若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是A) EOF B) 0 C) 非零值D) NULL(60) 若有以下说明和定义int fun(int *c){return 0;}main(){ int (*a)(int*)=fun,*b(),w[10],c;┆}在必要的赋值之后,对fun函数的正确调用语句是A) a=a(w); B) (*a)(&c); C) b=*b(w); D) fun (b);(61) 有如下说明int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是A) *p+9 B) *(p+8) C) *p+=9 D) p+8(62) 有如下程序main(){ int n[5]={0,0,0},i,k=2;for(i=0;i<k;i++) n[i]=n[i]+1;printf("%d\n",n[k]);}该程序的输出结果是A) 不确定的值B) 2 C) 1 D) 0(63) 若有以下的定义:int t[3][2]; 能正确表示t数组元素地址的表达式是A) &t[3][2] B) t[3] C) t[1] D) t[2](64) 有如下程序main(){ int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j] ;printf(“%d\n”,s);}该程序的输出结果是A) 18 B) 19 C) 20 D) 21(65) 有如下定义struct person{char name[9]; int age;};strict person cla[10]={“Joh n”, 17,“Paul”, 19“Mary”, 18,“Adam”, 16};根据上述定义,能输出字母M的语句是A) printf(“%c\n”,cla[3].name);B) pr intf(“%c\n”,cla[3].name[1]);C) printf(“%c\n”,cla[2].name[1]);D) printf(“%c\n”,cla[2].name[0]);(66) 以下对结构体类型变量的定义中,不正确的是A) typedef struct aa B) #define AA struct aa{ int n; AA {int n;float m; float m;}AA; }td1;AA td1;C) struct D) struct{ int n; { int n;float m; float m;}aa; }td1;stuct aa td1;(67) 有如下程序main(){ char s[]=”ABCD”, *p;for(p=s+l; p<s+4;p++)printf(“%s\n”,p);}该程序的输出结果是A) ABCD B) A C) B D) BCDBCD B C CDCD C D DD D(68) 有如下程序main(){char ch[2][5]={“6937”,”8254”},*p[2];int i,j,s=0;for(i=0;i<2;i++) p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>‟\0‟;j+=2)s=10*s+p[i][j]-…0‟;printf(“%d\n”,s);}该程序的输出结果是A) 69825 B) 63825 C) 6385 D) 693825(1)C(2)B(3)D(4)B(5)D(6)B(7)D(8)C(9)B(10)D (11)B(12)B(13)C(14)B(15)A(16)A(17)A(18)C(19)B(20)D (21)D(22)C(23)D(24)A(25)B(26)A(27)A(28)A(29)D(30)D (31)B(32)D(33)D(34)A(35)B(36)A(37)C(38)B(39)A(40)D (41)D(42)A(43)C(44)C(45)C(46)B(47)B(48)A(49)A(50)D (51)B(52)C(53)D(54)B(55)C(56)B(57)B(58)D(59)C(60)B (61)B(62)D(63)C(64)A(65)D(66)C(67)D(68)C二、填空题:(1) 以下程序运行后的输出结果是【1】。

高级语言程序设计(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、一个学生的信息包括:学号、姓名、年龄、性别、电话。

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

1.输入用单个字母表示的成绩信息,转换为百分制分数。

说明:输入A,输出95;输入B,输出85;输入C,输出75;输入D,输出65;输入E,输出65.#include<stdio.h>main(){int score;char grade;scanf("%c",&grade);switch(grade){case 'A':printf("95\n");break;case 'B':printf("85\n");break;case 'C':printf("75\n");break;case 'D':printf("65\n");break;}printf("\n");return 0;}2.根据下面的函数关系,输入X,计算Y,要求输出结果保留两位小数。

(1)当x小于5时,y=0(2)当x大于5且小于等于10时,y=sin(x)(3)当x大于10时,y=cos(x)+sin(x)#include<stdio.h>#include"math.h"main(){float y,x;scanf("%f",&x);if (x<5){y=0;printf("%.2f\n",y);}else if (x>5&&x<=10){printf("%.2f\n",y=sin(x));}else if(x>10){printf("%.2f\n",y=cos(x)+sin(x));}else printf(“No number\n”);}3.根据下面的函数关系,输入X,计算Y,要求输出结果保留两位小数。

(1)当x小于6时,y等于(1+x)(2)当x大于等于6且小于10时,y等于(x-2)的平方加1(3)当x大于等于10时,y等于sin(x)+2x#include<stdio.h>#include"math.h"main(){float y,x;scanf("%f",&x);if (x<6){printf("%.2f\n",y=1+x);}else if (x>=6&&x<10){printf("%.2f\n",y=(x-2)*(x-2)+1);}else if (x>=10){printf("%.2f\n",y=sin(x)+1);}}4.从键盘输入三个整数,找处其最大和最小的数,并输出。

#include<stdio.h>main(){int a,b,c,max,min;scanf("%d,%d,%d",&a,&b,&c);max=a;if(a>b){min=b;if(b>c)min=c;else if(c>a)max=c;}else if(b>a){min=a;max=b;if(c>b)max=c;if(c<a)min=c;}printf("max=%d,min=%d",max,min);}5.输入一个3位的正整数,判定该正整数是否为一个回文数。

(所谓回文数是指正读和反读都相同的数,例如131)。

#include<stdio.h>main(){int x;printf("请输入一个三位数\n");scanf("%d",&x);if(x/100==x%10)printf("该数为回文数\n");elseprintf("该数不是回文数\n");}6.从键盘输入三个整数a、b、c,输出其中最大的数。

#include<stdio.h>main(){int a,b,c,max;printf("输入三个整数\n");scanf("%d,%d,%d",&a,&b,&c);if(b>a&&b>c)max=b;if(c>a&&c>b)max=c;printf("The bigest num is:%d\n",max);}7.从键盘输入任意一个字母,如果其为大写字母,则转为小写字母;如果其为小写字母,请转换为大写字母;其他情况保持不变,计算并输出。

#include <stdio.h>int main(){char tmp;scanf("%c" , &tmp);if( tmp >= 65 && tmp <= 90){tmp = tmp + 32;printf("%c" , tmp);return 0;}if( tmp >=97 && tmp <= 122){tmp =tmp - 32;printf("%c" , tmp);return 0;}}8.从键盘读入一个实数,对其进行四舍五入处理,要求精确到到小数点后两位。

例如输入12.345,其结果为12.35;输入12.341,其结果为12.34。

#include<stdio.h>main(){float a;int b;printf("input a num\n");scanf("%f",&a);b=a*100+0.5;a=b/100.0;printf("the num is:%.2f\n",a);}9.从键盘输入一个三位整数,计算其上下边界,例如123,其下边界为100,上边界为199,依此类推#include<stdio.h>main(){int a,up,down;scanf("%d",&a);up=a/100*100;down=a/100*100+99;printf("up=%d,down=%d\n",up,down);}10.从键盘输入一个三位纯小数,计算其上下边界,例如0.123,其下边界为0.100,上边界为0.199,依此类推#include<stdio.h>void main(){float a,up,down,i;printf("请输入三位小数\n");scanf("%f",&a);for(i=0;i<1;i=i+0.1)if(i<=a&&(i+0.1)>=a){down=i;up=i+0.1-0.001;}printf("下边界%.3f,上边界%.3f\n",down,up);}11.根据下面的函数关系,对输入的每个x值,计算出相应的y值并输出结果。

(1)当x小于1时,y等于2+cos(x)(2)当x大于等于1且x小于2时,y等于x的平方加上sin(x)(3)当x大于等于2时,y等于(x-2)的平方根;要求:按格式输出x和y的值,要求小数点后保留2位。

#include<stdio.h>#include"math.h"main(){float y,x;scanf("%f",&x);if (x<1){printf("%.2f\n",y=2+cos(x));}else if (x>=1&&x<2){printf("%.2f\n",y=x*x+sin(x));}else if (x>=2){printf("%.2f\n",y=sqrt(x-2));}}12.从键盘输入国际货币表示的商品价格,请转换为人民币。

要求:仅仅考虑美元($)和欧元€,汇率分别6和8。

例如输入$100,输出600,输入E100,输出800#include<stdio.h>main(){char a;int b;scanf("%c%d",&a,&b);switch(a){case 'E':printf("¥%d\n",8*b);break;case '$':printf("¥%d\n",6*b);break;}}13.从键盘读入一个自然数,判定其是否为素数,如果是,输出Yes,否则输出No#include<stdio.h>#include<math.h>main(){int i,a,k;printf("Please input a num:\n");scanf("%d",&a);k=(int)sqrt(a);for(i=2;i<=k;i++)if(a%i==0){break;}if(i>k){printf("YES\n");}else{printf("NO\n");}}14.输出公元1000至今的所有闰年的数量#include<stdio.h>main(){int year,i;for(i=1000;i<=2014;i++){if(i%4==0&&i%100!=0)printf("%d\n",i);if(i%400==0)printf("%d\n",i);}}15.计算1-1/2+1/3-1/4+…+1/n的和,在主函数输入n,计算输出结果。

#include<stdio.h>main(){int i,n,j=1;double sum=0.0;printf("Please input a num:\n");scanf("%d",&n);for(i=1;i<=n;i++){sum+=1.0/i*j;j=-j;}printf("sum=%lf\n",sum);}16.从键盘输入一个自然数,判定其是否为完数,如果是,输出Yes,否则输出No。

相关文档
最新文档