程序设计基础试卷与答案
- 格式:pdf
- 大小:61.46 KB
- 文档页数:5
1.Main 函数是程序启动时惟一的入口。
2.算法的复杂性包含两方面:时间复杂性和空间复杂性。
3.已知char c= 'a' ; int x=2,k; 执行语句k=c&&x++ ; 则x为 3 ,k为 1 。
4.数值0x34对应的十进制为52 。
5.已知int a ; 则表达式”(a=2*3 , 3*8), a*10”的结果为_ _ 60____,变量a的值为___ 6 ___。
6.面向对象程序开发步骤为:面向对象分析、面向对象设计和面向对象实现。
1.下列程序设计语言中(c)是面向对象语言。
A. FORTRANB. C语言C. C++D. 汇编语言2.下列关于注释的说法哪个是错误的(b )。
A. 注释不是程序中的可执行语句B. 注释对于程序的执行有很重要的意义C. 注释将在程序的编译阶段被编译器剔除D. 编程时在程序中添加适当的注释是一个良好的编程风格3.算法设计应该遵守(b )的设计原则。
A. 自底向上,逐步求精B. 自顶向下,逐步求精C. 自底向上,同步扩展D. 自顶向下,同步扩展4.下列语句执行后a的值为(d)。
int a=4, &z=a, k=3;a=k; z+=2; k++;A. 0B. 4C. 1D. 55.以下程序执行后,屏幕输出为(b )。
#include “iostream.h”void fun(int d) {d++;}void main() { int d=3; fun(d); d++; cout<<d<<endl; }A. 3B. 4C.5D. 66.执行下列语句后a的值为(b )。
char a(‘a’),b(‘b’);a+=(‘a’!=’A’)+ (‘b’==’B’)+(b-a==3);A. 2B. ‘b’C. cD. ‘c’7.判断char型变量d是否为小写字母的正确表达式为(a )。
A. (d>=’a’)&&(d<=’z’)B. ‘a’<=d<=’z’C. (d>=’a’)||(d<=’z’)D. ‘A’<=d<=’Z’8.已知:int k=7, x=12; 则执行语句(c )后x的值为0。
程序设计基础一、单选题(每题2分,共60分)1. 以下对C语言函数的描述中,正确的是()。
A. C程序必须由一个或一个以上的函数组成B. C函数既可以嵌套定义又可以递归调用C. 函数必须有返回值,否则不能使用函数D. C程序中有调用关系的所有函数必须放在同一个程序文件中2. 在C语言中,char型数据在内存中的存储形式是()。
A. 补码B. 反码C. 原码D. ASCII码3. 以下叙述中不正确的是()。
A. 一个好的程序应该有详尽的注释B. 在C程序中,赋值运算符的优先级最低C. 在C程序中,j++;是一条赋值语句D. C程序中的#include和#define均不是C语句4. 应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为()。
A. fclose()B. close()C. fread()D. fwrite5. 设C语言中,int类型数据占2个字节,则short类型数据占()。
A. 1个字节B. 2个字节C. 4个字节D. 8个字节6. 已知函数的调用形式fread(buffer,size,count,fp);其中buffer代表的是()。
A. 一个整数,代表要读入的数据项总数B. 一个文件指针,指向要读的文件C. 一个指针,指向要读入数据的存放地址D. 一个存储区,存放要读的数据项7. 在C语言中,形参的缺省存储类是()。
A. autoB. registerC. staticD. extern8. 以下标识符中,不能作为合法的C用户定义标识符的是()。
A. putcharB. _doubleC. _123D. INT9. 在C语言中,能代表逻辑值“真”的是()。
A. TrueB. 大于0的数C. 非0整D. 非0的数10. 已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!y)的值是()。
其身正,不令而行;其身不正,虽令不从。
——《论语》一、选择题1.下列属于C语言中合法的标识符的是( B )A 、ex-1B 、-cookC 、951aD 、if2.若 x 为 float 型变量,则以下语句(A )。
x=213.82631;printf("%-4.2f\n",x);A、输出为213.83B、输出格式描述符的域宽不够,不能输出C、输出为213.82D、输出为-213.823.一个C程序的执行是从(C )A、main函数开始,直到最后一个函数结束B、第一个函数开始,直到最后一个函数结束C、main函数开始,直到main函数结束D、第一条语句开始,直到最后一条语句结4.构成C语言源程序的基本单位是(B )A、过程B、函数C、子程序D、命令5.以下叙述不正确的是(D )A、注释说明被计算机编译系统忽略B、注释说明必须跟在“//”之后不能换行或者括在“/*”和“*/”之间且注释符必须配对使用C、注释符“/”和“*”之间不能有空格D、在C程序中,注释说明只能位于一条语句的后面6.在C程序中,main函数的位置( A)A、可以任意B、必须作为最后一个函数C、必须作为第一个函数D、必须放在它所调用的函数之后7. C语言属于(C )A、机器语言B、汇编语言C、高级语言D、低级语言云路鹏程九万里,雪窗萤火二十年。
——《王实甫》人之为学,不日进则日退,独学无友,则孤陋而难成;久处一方,则习染而不自觉。
——《顾炎武》8.使用“scanf("a=%d,b=%d",&a,&b)”,要使a,b的值均为25,正确的输入是(D )。
A、a=25 b=25(空格分开)B、25 25(空格分开)C、25,25D、a=25,b=259. 下列叙述中,不正确的是( C)A、分号是C语句的必要组成部分B、C语句的注释可以写在语句的后面C、主函数的名字不一定用main表示D、函数是C程序的基本单位10.C程序是由( B)构成的A、若干过程B、一个或多个函数C、若干子程序D、一个主程序与若干子程序11. 以下程序的输出结果是(B )。
适用专业:一、选择题(每小题2分,共40分)(1) 下列说法正确的是()A.main()函数必须放在C 程序的开头B main()函数必须放在C 程序的最后C main()函数可以放在C 程序的中间部分,但在执行C程序时是从程序开头执行的D main()函数可以放在C 程序的中间部分,但在执行C程序时是从main()函数开始执行的。
(2) 设有定义:int x=2;,以下表达式中,值不为6的是______。
A x*=x+1B x++,2*xC x*=(1+x)D 2*x,x+=2(3) 以下选项中合法的标识符是______。
A 1_1B 1―1C _11D 1_ _(4) 下列字符串属于标识符的是()A _WLB 3_3333C intD LINE3(5) C语言中能用来表示整型常量的进制是()A 十进制、八进制、十六进制B 十二进制、十进制C 六进制、八进制D 二进制、十进制(6) C 语言中,回车换行符是()A \nB \tC \vD \b(7) 以下叙述中正确的是______。
A C程序的基本组成单位是语句B C程序中的每一行只能写一条语句C 简单C语句必须以分号结束D C语句必须在一行内写完(8) 以下是if语句的基本形式:if(表达式) 语句其中"表达式"______。
A 必须是逻辑表达式B 必须是关系表达式C 必须是逻辑表达式或关系表达式D 可以是任意合法的表达式(9) 以下正确的C语言标识符是()A %xB a+bC a123D test!(10) 以下程序的输出结果是()main(){ int I=012,j=12,k=0x12;Printf(“%d,%d,%d\n”,I,j,k);}A 10,12,18B 12,12,12C 10,12,12D 12,12,18(11) 以下叙述中错误的是______。
A、用户定义的函数中可以没有return语句B、用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值C、用户定义的函数中若没有return语句,则应当定义函数为void类型D、函数的return语句中可以没有表达式(12) 判断字符型变量ch为小写字母的表达式是()A ‘a’<=ch<=’z’B (ch>=a)&&(ch<=z)C (ch>=’a’)||(ch<=’z’)D (ch>=’a’)&&(ch<=’z’)(13) for语句中的表达式可以部分或全部省略,但两个()不可省略。
《程序设计基础》复习题一、单项选择题1.以下叙述中正确的是( )A. C程序中注释部分可以出现在程序中任意合适的地方B. 花括号"{"和"}"只能作为函数体的定界符C. 构成C程序的基本单位是函数,所有函数名都可以由用户命名D. 分号是C语句之间的分隔符,不是语句的一部分2.在一个C语言程序中( )A. main函数必须出现在所有函数之前B. main函数可以在任何地方出现C. main函数必须出现在所有函数之后D. main函数必须出现在固定位置3.判断下面标识符中哪个是C语言中合法的用户定义标识符( )A. a-bB. #abdC. typedefD. _max4.为表示关系X≥Y≥Z,应使用C语言表达式( )A. (X≥Y)&&(Y≥Z)B. X>=Y>=ZC. (X>=Y)‖(Y>=Z)D. (X>=Y)&&(Y>=Z)5.以下选项中,不能作为合法常量的是A. 1.234e04B. 1.234e0.4C. 1.234e+4D. 1.234e0 6.若有两条语句:static char x[]=”abcde”;static char y[]={‘a’,’b’,’c’,’d’,’e’};则下列说法中正确的是( )A. x数组和y数组长度相同B. x数组长度大于y数组长度C. x数组长度小于y数组长度D. 以上三种说法均错误。
7.返回值为void的函数,其含义是( )A.调用函数之后,被调用的函数没有返回值;B.调用函数之后,被调用的函数不返回C.调用函数之后,被调用的函数返回值为任意类型D.以上三种说法均不正确。
8.对于语句,int x,y,z[10],*px,*py; 指出下列哪个语句是不正确的( )A. px=&x,py=pxB. px=xC. py=&yD. px=z9.在printf语句中按字符串输出的格式是( )A. “%s”B. “%c”C. “%f”D. “%d”10.C语言中,运算对象必须是整型的运算符是( )A. %B. /C. %和/D. >=11.以下说法正确的是( )A. C语言程序总是从第一个定义函数开始执行;B. 在C语言程序中,要使用的函数必须在main()函数中定义;C .C语言程序总是从main()函数开始执行;D. C语言程序的main()函数必须在程序的开始部分。
程序设计基础理论练习题(带答案)程序设计基础理论练习题(带答案)1. 编程语言的发展历程从机器语言到高级语言的发展,现代计算机编程语言的分类和特点。
答案:编程语言的发展经历了多个阶段。
最早的计算机只能使用机器语言进行编程,这是一种由0和1组成的二进制代码。
随着计算机的发展,高级语言逐渐出现。
高级语言通过使用更接近自然语言的语法和结构,使得编程更加易于理解和用户友好。
现代计算机编程语言多种多样,比如C、Java、Python等。
它们各自有着不同的特点和用途。
2. 数据类型与变量不同编程语言中常见的数据类型和变量的定义、使用方法。
答案:不同编程语言中常见的数据类型包括整数、浮点数、布尔值、字符和字符串等。
变量用于存储不同类型的数据。
在大部分编程语言中,变量需要先定义,然后才能使用。
定义变量时需要指定变量名和数据类型。
变量名是用于标识变量的名称,而数据类型决定了变量可以存储的值的种类和范围。
使用变量时可以给其赋值或者读取其值。
3. 运算符常见的运算符有哪些?它们的功能和使用方法是什么?答案:常见的运算符包括算术运算符、比较运算符、逻辑运算符和赋值运算符等。
算术运算符包括加、减、乘、除、取余等,用于执行基本的数学运算。
比较运算符用于比较两个值的大小关系,包括等于、大于、小于等。
逻辑运算符用于处理布尔值,比如与、或、非等。
赋值运算符用于将一个值赋给一个变量。
4. 控制流程程序中常见的控制流程结构,包括条件判断和循环结构。
答案:程序中常见的控制流程包括条件判断和循环结构。
条件判断结构用于根据某个条件的真假来决定执行不同的代码段。
常见的条件判断结构有if语句和switch语句。
循环结构用于反复执行某段代码,直到满足某个条件才停止。
常见的循环结构有while循环、do-while循环和for循环。
5. 函数和模块函数和模块的定义和使用方法,函数的参数传递和返回值。
答案:函数是一段封装了特定功能的代码块,可以被反复调用。
程序设计基础试题一及答案一、填空题(每空1分,共10分)(1)__________语言是计算机唯一能够识别并直接执行的语言。
(2)算法的复杂度包含两方面:和。
(3)__ 函数是C语言程序启动时惟一的入口。
(4)逗号表达式(a=3*4,a*5),则a的值为。
(5)数据的存储结构有两种:一种是顺序存储结构,另一种是______________。
(6)图的遍历有两种:_________________和广度优先搜索。
(7)对栈中元素的操作是按照“______________”的原则进行的。
(8)从是否关心软件内部结构和具体实现的角度,把软件测试分为__________________和_______________两类。
二、单选题(每题1分,共30分)(1)世界上第一台电子计算机的英文名字为()。
A) EDVAC B)EDSAC C)ENIAC D) UNIVAC(2)计算机的软件系统可分为()。
A)程序和数据 B)操作系统和语言处理系统C)程序、数据和文档 D)系统软件和应用软件(3)与十进制数100等值的二进制数是()。
A)0010011 B)1100010 C)1100100 D)1100110(4)一个算法除了能对合法的输入数据得到正确的结果外,还应对非法的或者不合乎要求的输入数据作出正确合理的处理,这体现了算法的()。
A)正确性 B)健壮性 C)可读性 D)高效率(5)程序设计应该遵守()的设计原则。
A) 自顶向下,逐步细化B) 自底向上,逐步细化C) 自底向上,同步扩展D) 自顶向下,同步扩展(6)下列关于注释的说法哪个是错误的()。
A)注释不是程序中的可执行语句B)注释对于程序的执行有很重要的意义C)注释将在程序的编译阶段被编译器剔除D)编程时在程序中添加适当的注释是一个良好的编程风格(7)下面四个选项中,不合法的用户标识符是()。
A)sum B)stu_name C)a>b D)_total(8)设c是字符变量,以下语句中错误的是()。
《程序设计基础》考试试卷一班级姓名学号____________一、选择题(20分)1.算法具有五个特性,以下选项中不属于算法特性的是(A)有穷性(B)简洁性(C)可行性(D)确定性2.以下选项中可作为C语言合法常量的是(A)-80. (B)-080 (C) (D)3.以下叙述中正确的是(A)用C语言实现的算法必须要有输入和输出操作(B)用C语言实现的算法可以没有输出但必须要有输入(C)用C程序实现的算法可以没有输入但必须要有输出(D)用C程序实现的算法可以既没有输入也没有输出4.以下不能定义为用户标识符是(A)Main (B) _0 (C) _int (D) sizeof5.以下选项中,不能作为合法常量的是(A) (B) (C)+4 (D)6.数字字符0的ASCII值为48,若有以下程序main(){char a='1',b='2';printf("%c,",b++);printf("%d\n",b-a);} 程序运行后的输出结果是(A)3,2 (B)50,2 (C)2,2 (D)2,507.有以下程序main(){int m=12,n=34;printf("%d%d",m++,++n); printf("%d%d\n",n++,++m);}程序运行后的输出结果是(A) (B) (C) (D)8.有以下语句:int b;char c[10];,则正确的输入语句是A)scanf("%d%s",&b,&c); B) scanf("%d%s",&b,c);(C)scanf("%d%s",b,c); D)scanf("%d%s",b,&c);9.有以下程序main(){int m,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p); } 若想从键盘上输入数据,使变量M中的值为123,N中的值为456,P中的值为789,则正确的输入是A)m=123n=456p=789 B)m=123 n=456 p=789 C)m=123,n=456,p=789 D)123 456 78910.有以下程序main(){int a,b,d=25;a=d/10%9;b=a&&(-1);printf("%d,%d\n",a,b); }程序运行后的输出结果是A)6,1 B)2,1 C)6,0 D)2,011.有以下程序main(){int i=1,j=2,k=3;if(i++==1&&(++j==3||k++==3))printf("%d %d %d\n",i,j,k);}程序运行后的输出结果是(A)1 2 3 (B)2 3 4 (C)2 2 3 (D)2 3 312.若整型变量a、b、c、d中的值依次为:1、4、3、2。
程序设计基础c语言试题及答案一、选择题(每题2分,共20分)1. C语言中,用于表示逻辑“与”的运算符是:A. &&B. ||C. &D. |答案:A2. 下列哪个选项不是C语言中的关键字?A. intB. floatC. longD. double答案:D3. 在C语言中,下列哪个函数用于将字符串连接起来?A. strcat()B. strcmp()C. strcpy()D. strlen()答案:A4. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A5. 下列哪个选项是C语言中的合法变量名?A. 2nd_nameB. intC. _nameD. name$答案:C6. C语言中,用于定义一个指针的语法是:A. int *p;B. int *p = 0;C. int p*;D. int *p = 1;答案:A7. 在C语言中,下列哪个选项是正确的函数声明?A. int function(int a, int b);B. int function(int, int);C. int function(int a; int b);D. int function(int, int a, b);答案:A8. C语言中,用于表示逻辑“非”的运算符是:A. !B. ~C. &&D. ||答案:A9. 下列哪个选项是C语言中的合法常量?A. 1.23B. 0x1AC. 0123D. All of the above答案:D10. 在C语言中,下列哪个选项是正确的数组声明?A. int arr[5] = {1, 2, 3};B. int arr[5] = {1, 2, 3, 4, 5, 6};C. int arr[] = {1, 2, 3};D. int arr[5];答案:C二、填空题(每题2分,共20分)1. C语言中,用于输入的函数是________。
c语言程序与设计基础知识试题及答案一、单项选择题(每题2分,共20分)1. C语言中,用于定义结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是C语言中的合法整型常量?A. 0x12B. 0123C. 0.12ED. 12e答案:A3. 在C语言中,用于定义数组的关键字是:A. arrayB. listC. vectorD. none of the above答案:D4. 下列哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B5. C语言中,用于文件操作的库函数是:A. stdio.hB. string.hC. math.hD. stdlib.h答案:A6. 下列关于指针的描述,错误的是:A. 指针可以存储变量的地址B. 指针可以存储一个值C. 指针可以作为函数的参数D. 指针可以作为函数的返回值答案:B7. 在C语言中,用于定义函数的关键字是:A. functionB. defineC. defD. void答案:D8. 下列哪个选项不是C语言中的控制结构?A. if-elseB. switch-caseC. forD. goto答案:D9. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. variable_2D. all of the above答案:D10. C语言中,用于定义枚举类型的关键字是:A. enumB. typedefC. structD. union答案:A二、填空题(每题2分,共10分)1. C语言中,用于定义一个名为“person”的结构体,包含姓名和年龄两个成员,正确的定义方式是:struct person { char name[50];int age; }。
答案:正确2. 在C语言中,使用________函数可以输出格式化的字符串到控制台。
一、单项选择题(每小题2分,共30分)答案填入下表1. 在C语言中,下面字符串能用作变量名的是( )。
A、a+bB、autoC、2-andD、a22. 若double x=2,y;则执行y=x+3/2;后,y的值是( )。
A、3.500000 B. 3.000000 C. 2.000000 D. 33. 下列关于C语言中字符常量与字符串常量的叙述中,错误的是( )。
A、字符常量是用单撇号括起来的一个字符B、空格字符也可用作字符常量C、字符串常量是用单撇号括起来的一个字符序列D、字符串常量是用双撇号括起来的一个字符序列4. 若有以下变量说明和数据的输入方式,则正确的输入语句为( )。
变量说明:float x1,x2;数据的输入方式:4.52<回车>3.5<回车>A、scanf(“%f,%f”,&x1,&x2);B、scanf(“%f%f”,&x1,&x2);C、scanf(“%3.2f,%2.1f”,&x1,&x2);D、scanf(“%3.2f%2.1f”,&x1,&x2);5. 下列程序段的执行结果是( )。
char s[10];s=″abcd″;printf(″%s\n″,s);A、输出abcdB、输出aC、输出abcduuuuuD、编译不通过6. 在一个源文件中定义的全局变量的作用域为()。
A. 本文件的全部范围B. 从定义该变量开始至本文件结束C. 本函数的全部范围D. 本程序的全部范围7.当调用函数时,实参是一个数组名,则向函数传送的是( )。
A、数组的长度B、数组的首地址C、数组每一个元素的地址D、数组每个元素中的值8.若j为整型变量,则下面while循环( )。
j=10;while(j!=0) j=j-1;A、执行0次B、执行1次C、执行10次D、执行无限次9. 在while(x)语句中的x与下面条件表达式等价的是:( )。
《Python 程序设计基础》期末考试试卷(A )适用班级考试形式班级 姓名 学号一、选择题 (每题2分,共40分)1.下列选项中,不属于Python 的数据类型的是( ) A 、字符串 B 、数组 C 、列表 D 、字典 2.下列选项中,不符合python 变量命名的是()。
A 、01_testB 、test_01C 、pytestD 、_py_test_ 3.以下对字典的说法错误的是A 、字典可以为空B 、字典的键不能相同C 、字典的键不可变D 、字典的键的值不可变 4.以下说法错误的是A 、元组的长度可变B 、列表的长度可变C 、可以通过索引访问元组D 、可以通过索引访问列表 5.list 类型的内置方法pop( )的作用是A 、置顶指定元素B 、给元素排序C 、删除指定元素D 、插入指定元素 6.以下说法正确的是A 、python 属于低级语言B 、python 是面向过程的C 、python 属于解释性语言D 、python 是非开源的 7.在Python 语言中,数据的输入是通过( )来实现的。
A .input( )函数B .print( )函数C .output( )函数D .abs( )函数8.为了提高程序的可读性,可以在该语句后面添加注释语句,Python 程序中用作注释的标识符是( ) A .: B .# C ., D .!9.下列 Python 表达式的值为偶数的是( )A .12*3%5B .len (“Welcome”)C.int (3.9) D .abs (-8)10.可以被计算机直接执行的语言是( ) , Python 语言属于( )语言。
A .机器,高级 B .高级,汇编 C .高级,机器 D .汇编,高级11.在Python 中,不同的数据,需要定义不同的数据类型,可用方括号“[]”来定义的是( a ) A .列表 B .元组 C .集合 D .字典 12.有python 程序如下: S=input ( ) print (S * 3)运行后通过键盘输入6,则运算结果是( )题 号 一 二 三 四 总分 总分人 得 分阅卷人 得分A.666 B.SSS C.18 D.S*313.在编写python程序时缩进的作用是()。
国家开放大学《程序设计基础》章节自测参考答案第一章导论一、选择题(每题12分,共60分)1.当代计算机的最主要的体系结构称为是______。
A.非冯·诺依曼机B.图灵机C.PASCAL机D.冯·诺依曼机2.计算机软件是指______ 。
A.计算机程序B.计算机程序及其有关文挡C.源程序D.源程序和目标程序3.计算机能直接执行的语言是______。
A.目标语言B.机器语言C.汇编语言D.高级语言4.显示器是______。
A.计算设备B.存储设备C.输入设备D.输出设备5.系统软件的核心软件是______。
A.汇编程序B.操作系统C.编译程序D.机器语言二、判断题(每题10分,共40分)6.CPU主要包括运算器和寄存器两大部分。
(×)7.图灵机由一条双向都可无限延长的被分为一个个小方格的磁带、一个有限状态控制器和一个读写磁头组成。
(√)8.冯·诺依曼在当年发表的EDVAC计算机方案确立了计算机系统的5大基本部件:存储器、控制器、运算器、输入设备和输出设备,同时也规定了5大部件的基本功能。
(√)9.计算机的硬件与软件虽然各有分工,但它们之间的功能界面是浮动的。
随着技术的发展,一些功能既可由硬件实现,也可由软件来完成。
(√)第二章解题要有程序一、选择题(每题6分,共48分)1.JAVA语言的类别是______。
A.面向硬件的程序设计语言B.面向问题的程序设计语言C.面向过程的程序设计语言D.面向对象的程序设计语言2.汇编程序的任务是______。
A.将汇编语言编写的程序转换为目标程序B.将汇编语言编写的程序转换为可执行程序C.将高级语言编写的程序转换为可执行程序D.将高级语言编写的程序转换为汇编语言程序3.C语言是______。
A.高级语言B.机器语言C.目标语言D.汇编语言4.要保证程序在多次反复使用过程中不发生错误,关键应该提高程序的______。
A.可靠性B.有效性C.正确性D.可维护性5.汇编语言属于______。
程序设计基础试题及答案一、选择题1. 在C语言中,以下哪个是字面常量?A. intB. 5C. xD. if答案:B. 52. 下列语句中,哪个是正确的函数声明?A. int sum(int a, b);B. int sum(int a, int b) {}C. sum(int a, int b) {}D. int sum(int a, int b);答案:D. int sum(int a, int b);3. 下列哪个不是常用的数据类型?A. intB. stringC. floatD. char答案:B. string4. 在C语言中,以下哪个符号用于表示逻辑与操作?A. &&B. ||C. !D. =答案:A. &&5. 在C语言中,以下哪个用于引入标准输入输出函数的头文件?A. <stdio.h>B. <math.h>C. <stdlib.h>D. <string.h>答案:A. <stdio.h>二、填空题1. 下面的程序运行结果是什么?```c#include <stdio.h>int main() {int a = 5, b = 3;if (a > b) {printf("a大于b");} else {printf("a小于等于b");}return 0;}```答案:a大于b2. 下列代码中,缺少的表达式是什么?```c#include <stdio.h>int main() {int i;for (i = 0; i < ; i++) {printf("%d ", i);}return 0;}```答案:缺少循环条件表达式,例如 i < 10。
3. 下面的程序运行结果是什么?```c#include <stdio.h>int main() {int i;for (i = 10; i > 0; i--) {if (i % 2 == 0) {continue;}printf("%d ", i);}return 0;}```答案:9 7 5 3 14. 下列代码中,___ 处应该填入什么运算符?```c#include <stdio.h>int main() {int a = 5, b = 3;int c = a ___ b;printf("%d", c);return 0;}```答案:+,结果为 8。
《程序设计基础》习题一答案一、单项选择题(本大题共20小题,每小题2分,共40分)1。
int a[10];合法的数组元素的最小下标值为().A:10B:9C:1D:0答案:D2。
以下运算符中优先级最低的是().A:&&B:&C:||D:|答案:C3.若使用一维数组名作函数实参,则以下正确的说法是().A:必须在主调函数中说明此数组的大小B:实参数组类型与形参数组类型可以不匹配C:在被调用函数中,不需要考虑形参数组的大小D:实参数组名与形参数组名必须一致答案:A4.已知函数的调用形式:fread(buffer,size,count,fp);其中buffer代表的是()。
A:一个整数,代表要读入的数据项总数B:一个文件指针,指向要读的文件C:一个指针,指向要读入数据的存放地址D:一个存储区,存放要读的数据项答案:C5.对以下说明语句int a[10]={6,7,8,9,10}; 的正确理解是()。
A:将5个初值依次赋给a[1]至a[5]B:将5个初值依次赋给a[0]至a[4]C:将5个初值依次赋给a[6]至a[10]D:因为数组长度与初值的个数不相同,所以此语句不正确答案:B6。
下列程序的输出结果是()。
main(){ int x=1,y=0,a=0,b=0;switch(x){case 1:switch(y){case 0:a++;break;case 1:b++;break;}case 2:a++;b++;break;case 3:a++;b++;break;}printf(”a=%d,b=%d\n",a,b);}A:a=1,b=0B:a=2,b=1C:a=1,b=1D:a=2,b=2答案:B7.下列程序的输出结果为().main(){int m=7,n=4;float a=38。
4,b=6。
4,x;x=m/2+n*a/b+1/2;printf(”%f\n”,x);}A:27。
5、如何产生一个0 <= i < 20的随机整数i ?请写出表达式。
6、假设x 是1 ,经过下面的表达式运算后,x 的值是多少?7、执行下列switch 语句后,y 的值是多少?8、使用条件表达式改写下面的语句。
二、简答题(每小题6分,共60分) 1.、指出并修改下列程序的错误:2.、修改下列程序中的错误,将修改后的程序写在右边。
3、将下列while循环转换成for 循环,将修改后的程序写在右边。
4、假设输入是 2 3 4 5 0 ,那么下面代码的输出结果是什么?5、下面程序中将for循环转换成while循环存在错误,请指出错误原因并改正之。
6、确定并更正下列程序中的错误,回答在题目右边区域。
7、下面程序的错误是什么?8、以下代码的输出是什么?9、图a) 和b)中的程序在同一个包(package)中,f是Foo类的一个实例(instance),那么图b)中的哪些语句是不正确的?10、下面代码的错误在那里?三、编程题(每小题16分,共16分)1. 编写一个类,使用方法头public static int contLetters(String s)编写一个方法,统计字母在字符串中出现的次数,然后编写一个main方法,在main方法中从键盘读入一个字符串s,测试方法contLetters(String s)的运行结果。
参考答案B:一、填空题(每小题3分,共24分)1. 答案:Valid identifiers: applet, Applet, $4, apps, x, y, radiusInvalid identifiers: a++, --a, 4#R, #44, class, public, int2. 答案:否3. 答案:否4. 答案:0.5, 0.0, 0.2345. 答案:(int)(Math.random() * 20)6. 答案:27.答案:28. 答案:System.out.print((count % 10 == 0) ? count + "\n" : count + " ");二、简答题(每题6分,共60分)1、答案:Line 2. Main should be main.Line 2. static is missing.Line 3: Welcome to Java! should be enclosed inside double quotation marks.Line 5: The last ) should be }.2、答案:if (score < 60)grade = ‘F’;else if (score < 70)grade = ‘D’;else if (score < 80)grade = ‘C’;else if (score < 90)grade = ‘B’;else if (score <= 100)grade = ‘A’;3、答案:for (int i=1; sum < 10000; i++)sum = sum + i;4、答案:max is 5Number 05、答案:int i = 0;while (i < 4) {if (i % 3 == 0) {i++;continue;}sum += i;i++;}6、答案:Line 2: method1 is not defined correctly. It does not have a return type or void.Line 2: type int should be declared for parameter m.Line 7: parameter type for n should be double to match method2(3.4).Line 11: if (n<0) should be removed in method, otherwise a compile error is reported.7、答案:The constructor is declared incorrectly. It should not have void.8、答案:array[0][1] is 2.9、答案:System.out.println(Foo.i); Foo.imethod();10、答案: (Line 4 prints null since dates[0] is null. Line 5 causesa NullPointerException since it invokes toString() method from the null reference.)三、编程题(每题16分,共16分)1、答案:import java.io.PrintStream;import java.util.Scanner;public class Exercise9_6{public Exercise9_6(){}public static void main(String args[]){Scanner input = new Scanner(System.in);System.out.print("Enter a string: ");String s = input.nextLine();System.out.println(("The number of letters is "+countLetters(s)); }public static int countLetters(String s){int count = 0;for (int i = 0; i < s.length(); i++)if (Character.isLetter(s.charAt(i)))count++;return count;}}。
选择题:1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为()x=(i=4,j=16,k=32) .(C程序设计)A) 4 B) 16 C) 32 D) 522.一个C程序的执行是从().(C程序设计)A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束3.以下合法的变量名称().(C程序设计)A) Tel_num B) 8678 C) bath.h D) float4.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=‘A’+‘6’-‘3’后,以%d形式输出c2,则结果为:()(C程序设计)A) D B) 68 C) 不确定的值 D) C5.已知字母A的ASCII值为65,以下C语言程序的输出的结果是:( ). (C程序设计) char c1='A',c2='D';printf("%c,%d\n",c1,c2);A)因输出格式不合法,输出错误信息 B)A,68C)A,D D)65,686.以下程序的运行结果是(). (C程序设计)main(){ int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);}A) 6,1 B) 2,1 C) 6,0 D) 2,07.下面的程序段,输出结果是:( ). (C程序设计)int a=3,b=4,c;c=(a>b)? a+2:b+3;printf(“%d”,c);A) 7 B) 3 C) 4 D) 58.已知ch是字符型变量,下面不正确的赋值语句是(). (C程序设计)A) ch=‘a+b’; B) ch=‘\0’; C) ch=‘7’+‘9’; D) ch=5+9;9.判断char型变量ch是否为大写字母的正确表达式是(). (C程序设计)A) ‘A’<=ch<=‘Z’ B) (ch>=‘A’)&(ch<=‘Z’)C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch)10.读下面的程序段,输出结果是(). (C程序设计)int aa=2;aa*=2;b=aa++;printf(“%d”,b);A) 3 B) 4 C) 5 D) 611. 读程序,分析下面的程序将输出()次“我爱中国”. (C程序设计)int i;for(i=1;i<5;i--){printf(“我爱中国\n”); }A) 1B) 4C) 0D) 无限次12.int i; i=sizeof(float)的结果是(). (C程序设计)A) 4 B)3 C) 2 D) 113.以下程序段,运行结果为(). (C程序设计)x=-1;for(;;){x=x*x;if(x!=1){break;}}A)是死循环 B)循环执行二次C)循环执行一次 D)有语法错误14.下面程序的运行结果是(). (C程序设计)#include<stdio.h>main(){int num=0;while(num<=2){num++;printf("%d\n",num);}}a)1 b)1 c)1 d)12 2 23 3415.若执行下面的程序时从键盘上输入3和4,则输出结果是().(C程序设计) int a,b,sscanf(“%d%d”,&a,&b);s=a;if(a<b)s=b;s=s*s;printf(“%d”,s);A) 14 B) 16 C) 18 D) 2016.下列代码的输出结果是().(C程序设计)int i,j=0;for(i=1;i<10;i++){if(i%4 !=0){j+=i;}}printf(“%d,%d”,i,j);A) 10,33 B) 3,6 C) 10.12 D) 4,1017. 运行下列代码后s的值为().(C程序设计)int i,s=0;for(i=0;i<3;i++){switch(i){case 1: s+=i;case 2:s+=i;default: s+=i;}Printf(“%d”,s);}A) 7 B) 6 C) 8 D) 918. 下列代码的输出结果是().(C程序设计)int i;int bookNum=4;int totalPrice=0;int bookPrice[4]={10,20,30,40};for(i=0; i<4; i+=2){totalPrice+=bookPrice[i];}printf(“%d”,totalPrice);A) 30 B) 40 C) 60 D) 10019.以下程序的输出结果是(). (C程序设计)main( ){ int x=2,y=1,z=2;if (x<y)if (y<0) z=0;else z+=1;printf(“%d\n”,z);}A) 3 B) 0 C) 2 D) 120. C语言中的运算对象必须是整型的运算符是(). (C程序设计)A) % B) / C) = D) <=21. 若变量已经正确定义并赋值,下面符合C语言语法的表达式是()。
《程序设计基础》习题一答案一、单项选择题(本大题共20小题,每小题2分,共40分)1.int a[10];合法的数组元素的最小下标值为()。
A:10B:9C:1D:0答案:D2.以下运算符中优先级最低的是()。
A:&&B:&C:||D:|答案:C3.若使用一维数组名作函数实参,则以下正确的说法是()。
A:必须在主调函数中说明此数组的大小B:实参数组类型与形参数组类型可以不匹配C:在被调用函数中,不需要考虑形参数组的大小D:实参数组名与形参数组名必须一致答案:A4.已知函数的调用形式:fread(buffer,size,count,fp);其中buffer代表的是()。
A:一个整数,代表要读入的数据项总数B:一个文件指针,指向要读的文件C:一个指针,指向要读入数据的存放地址D:一个存储区,存放要读的数据项答案:C5.对以下说明语句int a[10]={6,7,8,9,10}; 的正确理解是()。
A:将5个初值依次赋给a[1]至a[5]B:将5个初值依次赋给a[0]至a[4]C:将5个初值依次赋给a[6]至a[10]D:因为数组长度与初值的个数不相同,所以此语句不正确答案:B6.下列程序的输出结果是()。
main(){ int x=1,y=0,a=0,b=0;switch(x){case 1:switch(y){case 0:a++;break;case 1:b++;break;}case 2:a++;b++;break;case 3:a++;b++;break;}printf("a=%d,b=%d\n",a,b);}A:a=1,b=0B:a=2,b=1C:a=1,b=1D:a=2,b=2答案:B7.下列程序的输出结果为()。
main(){int m=7,n=4;float a=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf("%f\n",x);}A:27.000000B:27.500000C:28.000000D:28.500000答案:A8.若k为int型变量,则以下程序段的执行结果是()。
程序设计基础一、单选题(每题2分,共60分)1. 以下对C语言函数的描述中,正确的是()。
A. C 程序必须由一个或一个以上的函数组成B. C 函数既可以嵌套定义又可以递归调用C. 函数必须有返回值,否则不能使用函数D. C 程序中有调用关系的所有函数必须放在同一个程序文件中2. 在C 语言中,char 型数据在内存中的存储形式是()。
A. 补码B. 反码C. 原码D. ASCII码3. 以下叙述中不正确的是()。
A. 一个好的程序应该有详尽的注释B. 在C程序中,赋值运算符的优先级最低C. 在C 程序中,j++;是一条赋值语句D. C 程序中的#include 和#define 均不是C语句4. 应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为()。
A. fclose()B. close()C. fread()D. fwrite5. 设C 语言中,int 类型数据占 2 个字节,则short 类型数据占()。
A. 1 个字节B. 2 个字节C. 4个字节D. 8个字节6. 已知函数的调用形式fread(buffer,size,count,fp); 其中buffer 代表的是()。
A. 一个整数,代表要读入的数据项总数B. 一个文件指针,指向要读的文件C. 一个指针,指向要读入数据的存放地址D. 一个存储区,存放要读的数据项7. 在C 语言中,形参的缺省存储类是()。
A. autoB. registerC. staticD. extern8. 以下标识符中,不能作为合法的C用户定义标识符的是()。
A. putcharB. _doubleC. _123D. INT9. 在C 语言中,能代表逻辑值“真”的是()。
A. TrueB. 大于0 的数C. 非0 整D. 非0 的数10. 已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!y) 的值是()。
A. 0B. 语法错 C. 1D. "假"11. 函数rewind 的作用是()。
A. 使位置指针重新返回文件的开头B. 将位置指针指向文件中所要求的特定位置C. 使位置指针指向文件的末尾D. 使位置指针自动移至下一个字符位置12. 以下正确的说法是:在C语言中()。
A. 实参和与其对应的形参各占用独立的存储单元B. 实参和与其对应的形参共占用一个存储单元C. 只有当实参和与其对应的形参同名时才共占用存储单元D. 形参是虚拟的,不占用存储单元13. 对以下说明语句int a[10]={6,7,8,9,10}; 的正确理解是()。
A. 将 5 个初值依次赋给a[1]至a[5]B. 将 5 个初值依次赋给a[0]至a[4]C. 将5 个初值依次赋给a[6]至a[10]D. 因为数组长度与初值的个数不相同,所以此语句不正确14. C 语言中要求对变量作强制定义的主要理由是()。
A. 便于移植B. 便于写文件C. 便于编辑预处理程序的处理D. 便于确定类型和分配空间15. 若有说明int a[3][4]; 则 a 数组元素的非法引用是()。
A. a[0][2*1]B. a[1][3]C. a[4-2][0]D. a[0][4]16. 以下只有在使用时才为该类型变量分配内存的存储类说明是()。
A. auto 和staticB. auto 和registerC. register 和staticD. extern 和register17. int a=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c; 则 a 的值为()。
A. 1B. 2C. 3D. 不一定18. 下列程序的输出结果是()。
main(){char c1=97,c2=98;printf("%d%c",c1,c2);}A. 9798B. 97bC. a98D. ab19. char a[]="Thisisaprogram."; 输出前 5 个字符的语句是()。
A. printf("%.5s",a);B. puts(a);C. printf("%s",a);D. a[5*2]=0;puts(a);20. 以下运算符中,优先级最高的运算符是()。
A. ||B. %C. !D. ==21. 以下的选择中,正确的赋值语句是()。
A. a=1,b=2B. j++C. a=b=5;D. y=int(x)22. 若有inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a; 则输出结果不为 5 的语句为()。
A. printf("%d",*(a+5));B. printf("%d",p[5]);C. printf("%d",*(p+5));D. printf("%d",*p[5]);23. 以下叙述中正确的是()。
A. 在程序的一行上可以出现多个有效的预处理命令行B. 使用带参的宏时,参数的类型应与宏定义时的一致C. 宏替换不占用运行时间,只占编译时间D. 在以下定义中CR是称为" 宏名"的标识符#defineCR04524. C 语言中,要求运算数必须是整型的运算符是()。
A. ^B. %C. !D. >25. 若有int *p=(int *)malloc(sizeof(int)); 则向内存申请到内存空间存入整数123 的语句为()。
A. scanf("%d",p);B. scanf("%d",&p);C. scanf("%d",*p);D. scanf("%d",**p);26. 结构体类型的定义允许嵌套是指()。
A. 成员是已经或正在定义的结构体型B. 成员可以重名C. 结构体型可以派生D. 定义多个结构体型27. 逻辑运算符两侧运算对象的数据类型()。
A. 只能是0 或1B. 只能是0 或非0 正数C. 只能是整型或字符型数据D. 可以是任何类型的数据28. 以下运算符中,优先级最高的运算符是()。
A. =B. !=C. *(乘号)D. ()29.关于建立函数的目的,以下正确的说法是()。
A. 提高程序的执行效率B. 提高程序的可读性C. 减少程序的篇幅D. 减少程序文件所占内存30.下列程序的输出结果是()。
main(){int x=1,y=0,a=0,b=0;switch(x){case1.switch(y){case0.a++;break;case1.b++;break;}case2.a++;b++;break;case3.a++;b++;break;}printf("a=%d,b=%d\n",a,b) ;}A.a=1,b=2B. a=2,b=1C. a=1,b=1D. a=2,b=2二、多选题(每题 2 分,共20 分)1. 设有以下定义int a=0;double b=1.25;cha rc='A';#defined2 则下面语句中正确的是()。
A. a++;B. b++;C. c++;D. d++;2. 若a,b,c,d 都是int 型变量且初值为0,以下选项中正确的赋值语句是()。
A. a=b=c=d=100;B. d++;C. c+b;D. d=(c=22)-(b++);3. C语言中三种基本的类型为()。
A. intB. charC. floatD. struct4. 关于while 语句与do-while 语句,以下正确的是()。
A. while 是当型结构B. do-while 是直到型结构C. 两者有区别D. 两者无区别5. 以下选项中不合法的字符常量是()。
A. "B"B. '\010'C. 68D. D6. t 为int 类型,进入下面的循环之前,t 的值为0do{,,, }while(t==1); 则以下叙述中正确的是()A. 循环控制表达式的值为0B. 循环控制表达式的值为 1C. 循环控制表达式合法D. 以上说法都不对7. 关于for(表达式1,表达式2,表达式3)循环,以下正确的是()。
A. 三个表达式都不可省略B. 表达式 1 可以省略C. 表达式 2 可以省略D. 表达式 3 可以省略8. 下面那些为合法整型常量()A. 190B. 0xfC. 0765D. 0xk9. 下列为 c 语言的关键字是()A. ifB. structC. unionD. Int10. 以下不正确的叙述是( )A. 在C程序中,每行只能写一条语句B. 若 a 是实型变量,C程序中允许赋值A=10,因此实型变量中允许存放整型C. 在C 程序中,无论是整数还是实数,都能被准确无误地表示D. 在C 程序中,%是只能用于整数运算的运算符三、判断题(每题 2 分,共10 分)1. 若a=2,b=-4;则执行a||b++ 后,b 为-4。
( )A. 错误B. 正确2. 格式字符%md 中的m 只能为正,不能为负。
( )A. 错误B. 正确31.有unsigned int a=16;a=a<<2; 则 a 的值是64。
( )A. 错误B. 正确32.自增自减运算符++,--可以用于int 型、float 型和double 型资料。
( )A. 错误B. 正确33. continue 语句可用于switch 语句,也可用于for、while 和do 循环语句中。
( )A. 错误B. 正确34.在某种意义上,char 和int 通用。
( )A. 错误B. 正确35. C语言可以直接访问物理位元元址。
()A. 错误B. 正确36.一个C源程序可以由一个main() 函数和若干个其它函数组成。
( )A. 错误B. 正确37.若定义char str[]; 则str="yellow"; 是正确的。
( )A. 错误B. 正确38.若有int x,y,z; x=y=z=1;则执行++x&&++y&&++z 后,x,y,z的值分别为2,1,1。
( )A. 错误B. 正确程序设计基础参考答案一、答案选题1-5ADBAB 6-10CAADC 11-15AABDD 16-20BABAC 21-25CDCBA 26-30ADDBB二、多选题39. ABC 2.ABD 3.ABC 4.ABC 5.ACD 6.AC 7.BCD 8.ABC 9.ABC 10.ABC三、判断题11.B 2.B 3.B 4.B 5.A 6.B 7.B 8.B 9.A 10.A。