工学C语言试题库_第1页
工学C语言试题库_第2页
工学C语言试题库_第3页
工学C语言试题库_第4页
工学C语言试题库_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、程序设计基础试题库一、判断题(共203小题)(a为正确,b为错误)1、答案:a。c程序的基本组成单位是函数2、答案:b。c程序的一行只能写一条语句.3、答案:b。main 函数必须写在一个 C 程序的最前面4、答案:a。一个 C 程序可以包含若干函数,但必须有主函数。5、答案:b。一个c程序的执行是从本程序文件的第一个函数开始,到本程序文件的最后一个函数结束6、答案:a。C语言是一种结构化程序设计语言。()7、答案:a。在标准C中,语句是用来完成一定的操作的,故声明部份不是语句。8、答案:a。一个C程序可以有若干个C源程序组成,而C源程序可以由若干个函数和预处理组成。()9、答案:a。在标准C

2、中,语句必须以“;”结束。()10、答案:a。C语言本身并不提供输入输出语句。但可以通过输入输出函数来实现数据的输入输出。()11、答案:b。在标准C中,使用所有输入输出函数必须包含“stdio.h”文件。()12、答案:b。在标准C语言中,main函数必须出现的所有其他函数之前。()13、答案:b。在C程序中,注释说明只能位于一条语句的后面14、答案:b。在对一个C程序进行编译的过程中,可发现注释中的拼写错误15、答案:a。C语言程序的三种基本结构是顺序结构、选择结构和循环结构。()16、答案:a。计算机算法可以分两大类别:数值运算算法和非数值运算算法。17、答案:b。用C语言实现的算法必须

3、要有输入和输出操作18、答案:a。一个算法应该具备有穷性、确定性、输入、输出和有效性。()19、答案:a。一个算法应包含有限的操作步骤,而不能是无限的。20、答案:a。表示一个算法常用的方法是:自然语言、传统流程图、结构化流程图、计算机语言、伪代码等。21、答案:b。在Turbo C中,浮点型数据在内存中占4个字节。( )22、答案:b。a-b是合法的标识符23、答案:b。char型数据在内存中以反码的形式存储的24、答案:a。C语言中的标识符只能由字母、数字、和下划线三种字符组成25、答案:b。C语言中的关键字属于合法的标识符。26、答案:b。C语言中的整形常量包括十六进制数、八进制数、十进

4、制数、二进制数。27、答案:a。无符号整型变量的取值范围是:0-6553528、答案:b。有符号整型变量的取值范围是:0-6553629、答案:a。在Turbo C中,浮点型数据在内存中一般占4个字节。( )30、答案:b。a-b是合法的标识符31、答案:b。char型数据在内存中以反码的形式存储的32、答案:a。C语言中的标识符只能由字母、数字、和下划线三种字符组成33、答案:b。C语言中的关键字属于合法的标识符。34、答案:b。C语言中的整形常量包括十六进制数、八进制数、十进制数、二进制数。35、答案:a。无符号整型变量的取值范围是:0-6553536、答案:b。有符号整型变量的取值范围是

5、:0-6553637、答案:b。表达式i+与+i在任何场合功能完全相同38、答案:b。若 a 是实型变量, C 程序中允许赋值 a=10, 因此实型变量中允许存放整型数39、答案:。若i=5,则执行j=i- -后,j 的值为4,i的值为440、答案:b。若有 int i=10, j=2;则执行完* =j+8; 后的值为2841、答案:b。若有说明int i=8,k;则y=float(i)是合法的C表达式42、答案:b。若有说明语句:char c=72;则变量c包含了三个字符。43、答案:b。x61代表字符a。44、答案:a。一个变量在内存中占据一定的存储单元45、答案:b。在 C 程序中对用到

6、的所有数据都必须指定其数据类型46、答案:a。在C程序中,%是只能用于整数运算的运算符47、答案:b。在C程序中,APH和aph是两个相同的变量48、答案:a。在C程序中,逗号运算符的优先级最低。49、答案:b。在C语言中,1.2E0.5是合法的实型常量50、答案:b。在C语言中,a=a*3=2是合法的C表达式51、答案:a。通常字符常量的长度为1个字节52、答案:a。自增运算符 (+) 或自减运算符 (-) 只能用于变量,不能用于常量或表达式53、答案:a。常量是在整个程序运行过程中不能改变的量。()54、答案:b。“A”是一个字符常量。()55、答案:a。标准C中并没有提供定义常量的方法。

7、()56、答案:a。在程序运行过程中其值可以改变的量称为变量。()57、答案:b。在标准C中并不区分英文字符的大小写。()58、答案:a。在标准C中,数据在内存中是以二进制形式表示的。()59、答案:b。在标准C中,变量可以先使用再定义。()60、答案:a。在标准C中,整型变量与字符变量是可以通用的。()61、答案:b。“%”运算两侧的数据可以是任意类型的数据。()62、答案:b。在标准C中,参与运算的数据类型必须完全一致。()63、答案:b。“+”运算符的优先级比“+”运算符的优先低。()64、答案:b。逗号运算符的求值顺序是从左到右的,逗号表达式的值为第一个表达式的值。()65、答案:b。

8、在标准C中,变量定义一定要出现在函数开始部分。()66、答案:b。在C语言中,在交换两个数必须使用中间变量。()67、答案:a。字符串必须以0结束,但字符数组可以不包括0。()68、答案:b。表达式“3.6%2”符合C语言语法。()69、答案:b。在C程序中,无论是整数还是实数,都能被准确无误地表示70、答案:a。逻辑运算符<关系运算符<算术运算符<赋值运算符是错误的。71、答案:b。08是正确的整型常量。()72、答案:b。若x 是单精度实型变量,表达式(x=10/4)的值是2.5。()73、答案:b。输入实型数据时,可以规定实型数的小数位数74、答案:b。若有定义:int

9、 a;则scanf(“%d",a);可以给变量a赋值。( )75、答案:a。getchar函数可以从终端接受一个字符76、答案:b。putchar函数可以向终端输出一个字符串77、答案:b。对几个变量在定义时赋初值可以写成: int a=b=c=3;78、答案:b。在标准C中,“=”是判断两个数是否相等。()79、答案:a。在标准C中,赋值表达式可以出现在表达式的任何位置。()80、答案:b。在标准C中,在函数printf格式说明部分的字符都是以转义字符处理。()81、答案:b。在标准C中,以“%f”形式输出的所有数字都是有效数字。()82、答案:b。在C语言中输入数据时可以指定数据

10、的精度。()83、答案:a。在标准C中,在使用函数scanf输入数据时必须同函数中输入格式一致。()84、答案:a。若有正确变量定义,表达式x=y=1符合c语言语法。()85、答案:b。printf("%s","abc0ef");输出结果是:abc ef.86、答案:b。C语言规定,else子句总是与它上面的最近的if配对87、答案:b。if(a>0); 不能看作是一条合法的条件语句88、答案:b。if语句后面的表达式只能是关系表达式89、答案:a。判断整型变量a即是5又是7的整数倍的C表达式是(a%5=0 && a%7=0)90、

11、答案:a。在C语言中10!=9的值是191、答案:a。在C语言中表达式(a=2)&&(b=-2)的值是192、答案:b。在switch语句中必须使用break语句93、答案:b。在switch语句中必须使用break语句94、答案:b。在标准C中,没有逻辑型数据,故不能使用逻辑表达式。()95、答案:b。在标准C中,所有关系运算符的优先级都相同。()96、答案:b。在if语句中,else前一个语句可不加“;”。()97、答案:b。在标准C中,逻辑表达式中只允许出现逻辑型数据。()98、答案:b。在标准C中,所有的ifelse语句都可以用条件语句替换。()99、答案:a。在swi

12、tch语句中,case后可不加“ ”。()100、答案:b。在C语言中,将语句if(x=5);写成if(x=5);将导致编译错误。()101、答案:a。在所有关系运算符中,其优先级最低的是“=和!=”。()102、答案:b。若x的当前值为5,执行语句“if(x(=3)x=x+5;”后的值仍为5。()103、答案:a。在C程序中,用整数0表示逻辑“假”。()104、答案:a。表达式!(x>0|y>0)等价于!(x>0)&&!(y>0) .()105、答案:b。由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。106、答

13、案:b。if语句中条件表达式只能是关系表达式或逻辑表达式107、答案:b。若有 int k1;while(k=1) k+;则while循环执行的次数是1次108、答案:a。break语句不能够单独使用,只能用于循环语句和switch语句109、答案:a。break语句可以用来跳出整个循环语句110、答案:a。do-while语句构成的循环至少执行一次111、答案:b。for(i=1; i+<4;);语句结束后变量i的值是4112、答案:b。for语句只能用于循环次数已经确定的情况113、答案:b。while 的循环控制条件比 do-while 的循环控制条件严格114、答案:b。whil

14、e语句构成的循环至少执行一次115、答案:a。选择结构(if语句)和循环结构都可以使用嵌套形式116、答案:a。循环语句中如果包含若干条语句,则必须用大括号括起来117、答案:b。在 while 循环中允许使用嵌套循环,但只能是嵌套 while 循环。118、答案:b。在循环过程中,使用break语句和continue语句的作用是一样的119、答案:b。在标准C中,while和do_while的功能完全相同。120、答案:b。在标准C中,while后表达式只能是逻辑或关系表达式。121、答案:b。在标准C中,for语句后的三个表达式必须都出现。122、答案:b。在标准C中,for语句后的三个表

15、达式是按其先后次序执行的。123、答案:b。在标准C中,for语句后的三个表达式可以是任意类型的表达式。124、答案:b。break的作用可以结束循环多重循环,即有多重循环时,可直接跳到最外层。125、答案:a。执行“for(I=1;I<10;I+=2) s+=I;”后,I的当前值为11。126、答案:b。int a =0,1,2,3,4,5,6;不是正确的数组说明语句127、答案:b。已有定义:char a="xyz",b='x','y','z'则数组a和b的长度相同128、答案:a。任何数组在使用前必须先定义。129

16、、答案:b。二维数组元素在内存中的存放顺序是按列主顺序存放130、答案:a。若有说明:int a34; 则a1+10是对a数组元素的正确引用131、答案:b。有两个字符数组a、b,则正确的输入语句是:gets(a, b)132、答案:a。有数组定义int a22=1,2,3;则a01的值为0133、答案:b。在定义二维数组时,可以将该数组的两个维数全部省略134、答案:a。字符串"This"大于字符串"that"135、答案:b。字符数组char c="string" 有6个数组元素136、答案:b。对二维数组a3

17、4,a+1与a1都是第一行的首址。137、答案:b。若有定义一维数组int a4的首地址为0078H,则a1元素的首地址是0079H(设int型数据占两个字节)。138、答案:b。定义char *string=”string?”是将字符串的值赋给指针变量string。139、答案:b。在标准C语言中,字符串是以0结束的,故字符串的长度也包括0。140、答案:b。在标准C语言中,数组的下标必须是常量,不允许是表达式。141、答案:a。在标准C语言中,数组在大小一旦确定就不允许改变。142、答案:b。在标准C语言中,可以引用整个数组,而不必引用每一个数组元素。143、答案:b。在对数组进行赋初值时

18、,不管有没有对所有元素赋初值都必须指定数组的长度。144、答案:a。在标准C语言中,二维数组在内存中的存放次序是以行序为主序。145、答案:b。函数strcmp(“AShhjjj”,”ASHHJJJ”)的返回值是0。146、答案:a。在标准C语言中,使用函数strcpy 时可以将0一起复制到目标串中。147、答案:b。a是一维数组名,数组元素a1还可以写成“*(a+)”。148、答案:a。设有变量定义char s=”hello”,则数组中有6个元素。()149、答案:a。c语言不允许对数组的大小作动态定义。150、答案:b。字符个数多的字符串比字符个数的字符串大151、答案:a。已知程序段ch

19、ar a10;scanf("%s",a);printf("%s",a);输入:ab cd<回车>,结果是:ab152、答案:a。已知程序段char a11;gets(a);puts(a);输入:ab cd<回车>,输出结果是:ab cd153、答案:b。定义在main函数后的任何函数都需在main中进行函数声明。154、答案:b。在标准C语言中,在main函数中定义的变量在整个程序中都是有作用的。155、答案:b。在用数组名作为函数实参时,传递的是数组的起始地址,所以就不允许使用形参数组的形式156、答案:a。函数的递归调用不过是

20、一个函数直接地调用它自身。157、答案:a。数组名作为函数参数,传送的是地址.158、答案:b。如果在同一个源文件中,外部变量与局部变量同名,则在外部变量的作用范围内,局部变量被“屏蔽”,即它不起作用159、答案:a。若一个函数的返回类型为void,则表示其没有返回值160、答案:a。一个函数利用return不可能同时返回多个值161、答案:a。在C程序中,不同函数中所定义的变量允许同名162、答案:b。在程序运行过程中,系统分配给实参和形参的内存单元是相同的163、答案:b。在调用一个函数的过程中又出现直接或间接地调用该函数本身,这称为函数的嵌套调用164、答案:a。在标准C语言中,函数参数

21、传递是单向传递,即由实参传递给形参。165、答案:b。在标准C语言中,函数的返回值是通过return语句获取的,故若在函数中没有return就不会传回值。166、答案:b。在标准C语言中,函数中只能有一个return 语句。167、答案:b。若函数的返回值与return表达式类型不一致时,以return 表达式类型为准。168、答案:b。若定义时,函数返回值类型为void,函数仍然可有return带回返回值。169、答案:b。TC中函数调用时,函数参数求值顺序是从右到左的。170、答案:b。在标准C语言中,所有函数在调用之前都要进行声明。171、答案:b。在标准C语言中,函数的定义和调用一样都

22、是不可以嵌套的。172、答案:b。用数组名作函数参数时,数组中的元素可以发生变化,故违反了函数参数传递的单向性。173、答案:b。全局变量的作用域是整个源程序文件。174、答案:b。用static和auto定义的变量一样都可以进行多次赋值操作。175、答案:a。在标准C语言中,所有函数都是平行的、独立的。176、答案:b。在C语言程序中,在main函数中定义的变量为全局变量。177、答案:b。在标准C语言中,宏定义的结尾也要加“;”。178、答案:a。宏定义和文件包含都是C语言中的编译预处理命令,对它们的处理是在编译前完成的179、答案:a。预处理命令不是c语言的组成部分。180、答案:b。在

23、标准C语言中,在定义带参数的宏时也要定义参的类型。181、答案:b。在标准C语言中,宏替换是程序运行时完成的。182、答案:a。宏替换不占运行时间,只占编译时间。183、答案:b。宏定义中的宏名必须用大写字母,宏定义的优点是”一改全改“。184、答案:b。指针变量可以接收任何类型的值185、答案:b。在int *p;和语句printf(“%d”, *p);中的*p含义相同。186、答案:a。char *sp="right!"是正确的c语言赋值方式187、答案:b。变量的指针指的是变量的名字。188、答案:b。若有定义int *p,a;p&a;则*p指得是变量a的地址

24、189、答案:b。若有说明语句char *p=”It is mine”则 p变量中存放的是整个字符串190、答案:a。若有以下定义int a5,*p=a;p+1表示的是a1的首地址191、答案:a。指针变量中只能存放地址192、答案:a。int a34;其中a0是指0行0列元素的地址。193、答案:a。int a4,*p;其中a是地址常量,p为地址变量。194、答案:b。定义“int *a3”和“int (*a)3”具有相同的含义。195、答案:a。共用体变量的各个成员所占内存单元的地址相同。196、答案:a。当说明一个结构体变量时系统分配给它的内存是各成员所需内存量的总和197、答案:a。当

25、说明一个共用体变量时系统分配给它的内存是最长的成员的长度198、答案:b。在C语言中,定义结构体变量时可以省略关健字struct。199、答案:a。结构体变量在内存中所占的字节数是由其各个成员所占字节的总和。200、答案:b。在C语言中,可以直接引用整个结构体变量,而不须要引用其各成员。201、答案:a。在标准C语言中,共用体变量中的各成员是共同占用一块存储空间。202、答案:b。一个结构体只能包含一种数据类型。203、答案:b。typedef可以创造新的数据类型。二、多项选择题(共47小题)1、(AD)。以下叙述错误的是。A)在C程序中,main函数必须位于程序的最前面B)C程序的每行中可以

26、写多条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误2、(AC)。以下叙述正确的是。A)一个C源程序可由一个或多个函数组成B)一个C源程序可以含多个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面3、(AC)。下面均是不合法的用户标识符的选项是。A) A. B)float C)b-a D)一123 P-0 1a0 goto temp do 一A int INT4、(CD)。已知ch是字符型变量,正确的赋值表达式是。A、ch=a+b B、ch="0" C、ch=7+9 D、ch=5+95、(

27、AD)。已知ch是字符型变量,下面不正确的赋值表达式是。A、ch= “123” B、ch=xff C、ch=007 D、cg=6、(BC)。若有语句 char a;若要将字符a赋给变量a,则下列赋值表达式正确的是A、a=”a” B、a=a C、a=97 D、a=977、(ABD)。下列表达式中,属于逗号表达式的是。A、a=b,c B、a,b=c C、a=(b=c) D、a,(b,c)8、(AD)。下列自定义标识符中,符合c 语法规则的是。A、For B、3a C、 *a D、_1239、(AD)。以下正确的叙述是A)在C程序中,每行中可以写多条语句B)若a是实型变量,C程序中允许赋值a=10,

28、因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误地表示 d )在C程序中,%是只能用于整数运算的运算符10、(AD)。在C语言中,要求运算数必须是整型的运算符是A) %= B) + C) != D)%11、(CD)。若有以下定义,则能使值为3的表达式是:int k= 7,x =12;A) x%=(k%= 5) B) x%=(k一k%5)C) x%=11- k%5 D) (x%=k)-(k%=5)12、(BCD)。以下能用来表示整形常数的进制是。A、二进制 B、八进制 C、十进制 D、十六进制13、(AB)。错误的转义字符是。 A.'091' B.&

29、#39;' C.'0' D.'''14、(AC)。合法的八进制数是。A、 0 B 、028 C、077 D、01.015、(AB)。不合法的十六进制数是。A、 oxff B 、0Xabg C、0x11 D、0x1916、(BC)。以下选项中正确的正确的整型常量是。A、 12. B 、-20 C、1000 D、4 5 617、(BC)。下列关于字符串的说法中错误的是。A、在c语言中,字符串是借助于字符型一维数组来存放的,并规定以字符0作为字符串结束标志。B、0'作为标志占用存储空间,计入串的实际长度。C、在表示字符串常量的时候需用人为在其末

30、尾加入'0'.D、在c语言中,字符串常量隐含处理成以0'结尾。18、(BC)。C语言提供的合法的数据类型关键字是。A、Double B、short C、int D、Char19、(CD)。putchar函数可以向终端输出一个。A)整型变量表达式值 B)实型变量值C)字符型变量值 D)字符型常量20、(BD)。若x ,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是:A) scanf(" %d%lx,%le",&x,&y,&z); B) scanf("%2d * %d%lf",

31、x,y,z ); C) scanf("%x %* d%o",&x,&y); D) scanf("%x%o%6.2f",&x,&y,&z);21、(BCD)。已知 int i,j,k;scanf(“%d%d%d”,&i,&j,&k);若从键盘送入i,j,k的值分别为1,2,3时,则正确的输入方式是()(注:表示空格,CR表示回车) A)1,2,3 B)1CR2CR3CR C)123 D)1CR2322、(CD)。以下说法正确的是()。A、输入项可以为一个实型常量,如scanf(“%f”,3.5

32、);B、只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);C、当输入一个实型数据时,格式控制部分不能规定小数点后的位数,如scanf(“%4.2f”,&f)是错误的;D、当输入数据时,必须指明变量的地址,如scanf(“%f”,&f);23、(ABC)。以下4个选项中,能看做一条语句的是。A;B.a=5,b=2.5,c=3.6;Cif(a<5);Dif(b!=5) x=2;y=6;24、(ACD)。a是int类型变量,c是字符变量。下列输入语句中哪一个是正确的。A、scanf("%d,%c",&a,&c

33、); B、scanf("%d%c",a,c);C、scanf("%d%c",&a,&c); D、scanf("d=%d,c=%c",&a,&c);25、(AC)。下关于运算符优先顺序的描述中正确的是。A、赋值运算符< 逻辑与运算符< 关系运算符< 逻辑非运算符B、逻辑运算符< 关系运算符< 算术运算符< 赋值运算符C、赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符D、算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符26

34、、(ACD)。以下关于switch语句和break语句的描述中,只有是错误的。A、在switch语句中必须使用break语句B、在switch语句中,可以根据需要使用或不使用break语句C、break语句只能用于switch语句中D、break语句是switch语句的一部分27、(CD)。下列各语句序列中,能够且仅输出整型变量a、b中最大值的是。A、if(a>b) printf("%dn",a); printf("%dn",b); B、printf("%dn",b); if(a>b) printf("%dn&q

35、uot;,a); C、if(a>b) printf("%dn",a); else printf("%dn",b); D、printf("%dn",a>b?a:b);28、(BC)。以下描述正确的是。A、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。B、do-while循环由do开始,用while结束,在while(表达式)后面写分号。C、在do-while循环体中,是先执行一次循环,再进行判断。D、do-while循环体中,根据情况可以省略while。29、(BCD)。以下是无限循

36、环的语句为: A) for (y=0,x=1;x > +y;x =i+) i=x ; B) for (; x+=i); C) while (1)x +; D) for(i=10; ;i-)sum+=i; 30、(ABD)。下列程序段是死循环的是 A) int i=100; whiLe (1) i=i%100+1; if (i>100) break; B) for(;); C) int k=0; do+k; while (k> =0) ; D) int s=36; while (s);-s 31、(BC)。以下正确的描述是。 A)continue语句的作用是结束整个循环的执行

37、B)只能在循环体内和switch语句体内使用break语句 C)在循环体内使用break语句或continue语句的作用不相同 D)从多层循环嵌套中退出时, 只能使用goto语句32、(CD)。下面for 循环的正确描述是。A、 for循环只能用于循环次数已经确定的情况B、 for循环是先执行循环体语句后判断表达式C、在for循环中,能用break语句结束循环D、 for循环体语句中,可以包含多条语句,但必须用花括号括起来33、(BD)。以下描述正确的是。A、 goto语句只能用于退出多层循环B、 swtich语句中不能使用continue语句C、只能用continue语句来终止本次循环D、在

38、循环中break语句能独立出现34、(AB)。C语言中,引用数组元素时,其数组下标的数据类型允许是。A、整型常量 B、整型表达式 C、任何类型的常量 D、任何类型的表达式35、(AD)。以下对一维整型数组a的正确说明是。A、int a10 ; B、int n=10,an; C、int n; D、#define SIZE 10 scanf(“%d”,&n); int aSIZE; int an;36、(BD)。若有说明:int a10;则对a数组元素的正确引用的是。A、 a10 B、a2*3 C、a(5) D、a10-1037、(CD)。述对C语言字符数组描述中错误的是。A、字符数组可以

39、存放字符串B、字符数组的字符串可以整体输入、输出C、可以在赋值语句中通过赋值运算符”=”对字符数组整体赋值D、可以用关系运算符对字符数组中的字符串进行比较38、(AD)。下面是对s的初始化,其中不正确的是。A、char s5=“abcde”;B、char s5=a,b,c; C、char s5=”; D、char s5=“abcdef”;39、(BD)。有两个字符数组a、b,则以下正确的输入语句是。A、gets(a,b); B、scanf(“%s%s”,a,b); C、scanf(“%s%s”,&a,&b); D、gets(a);gets(b);40、(A)。若有定义 “flo

40、at y5=1,2,3;",则下列描述正确的是A、y并不代表数组的元素。 B、定义此数组时不指定数组的长度,定义效果不相同。 C、数组含有3个元素 D、a3的值为341、(BC)。以下正确的说法为。A、在不同的函数中不可以有相同的变量B、形式参数是局部变量C、在函数内定义的变量只在本函数范围内有效D、函数内的复合语句中定义的变量在本函数范围内有效42、(ABD)。以下不正确的说法是。 A、定义函数时,形参的类型说明符可以放在函数体内 B、return后边的值不能为表达式 C、如果函数的类型与返回值类型不致,以函数类型为准 D、如果形参与实参的类型不一致,以实参类型为准。43、(CD)

41、。以下描述正确的是。 A、函数定义可以嵌套,函数调用也可以嵌套。 B、函数中,不可以有多条return语句 C、全局变量可在函数外的任何位置定义 D、函数定义不可以嵌套,函数调用可以嵌套。44、(CD)。以下叙述中不正确的是。A、预处理命令行都必须以号开始 B、在程序中凡是以号开始的语句行都是预处理命令行C、C程序在执行过程中对预处理命令行进行处理 D、以下是正确的宏定义define IBM_PC45、(AD)。以下有关宏替换的叙述不正确的是。A、宏替换占用运行时间 B、宏替换只是字符替换C、宏名无类型 D、宏名必须用大写字母表示46、(ABC)。对语句“int a10,*p=a;”,下列表述

42、中不正确的。 A、*p被赋初值为a数组的首地址 B、*p被赋初值为数组元素a0的地址 C、p被赋初值为数组元素a1的地址 D、p被赋初值为数组元素a0的地址47、(BC)。下面判断正确的是。A、char *a=”china”;等介于char *a;*a=”china”;B、char str=”china”;等介于char str6;str6=”china”;C、char *s=”china”;等介于char *s;s=”china”;D、char *s=”china”;等介于char s10;*s=”china”;三、单项选择题(共358小题)1、(A)。一个C程序的执行是从_。A)本程序的m

43、ain函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束2、(C)。C语言规定:在一个源程序中,main函数的位置。A)必须在最开始 B)必须在系统调用的库函数的后面C)可以任意 D)必须在最后3、(B)。一个C语言程序是由 . A)一个主程序和若干子程序组成B)函数组成C)若干过程组成 D)若干子程序组成4、(B)。c程序的基本单位是。A、标识符 B、函数 C、表达式 D、语句5、(B)。将C源程序进行可得到目标文件。A、编辑 B、编译

44、C、连接 D、拼接6、(C)。目标文件的扩展名为。A、.c B、.h C、.obj D、.exe7、(D)。在turbo c环境下,使用Run命令运行正确的C源程序后,新生成文件的扩展名为。A、.c B、.h C、.obj D、.exe8、(A)。C语言属于。A、高级程序设计语言 B、汇编语言 C、机器语言 D、编译语言9、(B)。用C语言编写的源文件经过编译,若没有产生编译错误,则系统将。 A、生成可执行目标文件 B、生成目标文件C、输出运行结果 D、自动保存源文件10、(D)。在C集成环境执行菜单命令“运行”,若运行结束且没有系统提示信息,说明。A、源程序有语法错误 B、源程序正确无误C、

45、源程序有运行错误 D、源程序无编译、运行错误,但仅此无法确定其正确性11、(C)。程序运行输出了错误的结果,可以排除下列哪一个因素。 A、算法错误 B、运行时输入数据错误 C、未通过编译 D、系统资源配置不当12、(D)。软件是指:A、程序B、程序和文档C、算法加数据结构D、程序、数据和相关文档的完整结合13、(A)。软件调试的目的是:A、发现错误B、改正错误C、改善软件的性能D、验证软件的正确性14、(D)。以下关于long,int和short类型数据占用内存大小的叙述中正确的是:A、均占用4个字节B、根据数据的大小决定C、由用户自己定义D、由c语言编译系统决定15、(B)。若程序中有宏定义

46、行:define N 100,则以下叙述中正确的是:A、宏定义行中定义了标识符N的值为整数100 B、在编译程序对c源程序进行预处理时,用100替换N C、对c源程序进行编译时用100替换标识符N D、在运行时用100替换标识符N16、(D)。结构化程序设计主要强调的是A)程序的规模 B)程序的效率C)程序设计语言的先进性 D)程序易读性17、(D)。以下描述错误的是A)C程序中,函数可以直接或间接的调用自己B)函数调用时,函数名必须与所调用的函数名字完全一致C)函数说明语句中的类型必须与函数返回值的类型一致D)实参数可以与形参个数不一致18、(D)。下列不合法的指针变量的定义是A)int *

47、_k;B)char *_245;C)int *p;D)double *5_is19、(D)。以下对一维数组c进行正确的定义初始化的语句是A)int c10=0; B)int c10=0*10;C)int c1=0,0,0,0,0,0,0;D)int c10=0;20、(C)。以下二维数组c的定义形式是A)int c3B)float c3,4C)double c34D)float c(3)(4)21、(C)。已知:int c34;则对数组元素引用正确的是A)c14B)c1.50C)c1+00D)以上表达都错误22、(C)。若有以下语句,则正确的描述是char a="toyou"

48、;char b=t,o,y,o,u;A)a数组和b数组的长度相同 B)a数组长度小于b数组长度C)a数组长度大于b数组长度 D)a数组等价于b数组23、(D)。已知:char a15,b15="I love china"则在程序中能将字符串I love china赋给数组a的正确语句是A)a="I love china"B)strcpy(b,a);C)a=b;D)strcpy(a,b);24、(A)。阅读下面程序,则执行后的结果为#include "stdio.h"main() char *str="abcdefghijkl

49、mnopq" while(*str+!=e); printf("%cn",*str);A)fB)aC)eD)q25、(A)。C语言源文件的扩展名为。A、.c B、.h C、.obj D、.exe26、(C)。源程序中调用了库函数putchar(),在程序的一开始没有使用文件包含命令,则:A、程序可正常运行 B、程序在编译时提示出错 C、程序在连接是提示出错 D、以上说法都不对27、(C)。以下说法正确的是()、在程序中无论是整数还是实数都能被准确无误的表示、程序由若干主函数构成、程序有若干函数构成、程序中只允许包含一个函数28、(C)。以下叙述不正确的是。A)用C

50、程序实现的算法必须要有输入和输出操作。B)用C程序实现的算法可以没有输出但必须要有输入。C)用C程序实现的算法可以没有输入但必须要有输出。D)用C程序实现的算法可以既没有输入也没有输出。29、(D)。C语言程序的三种基本结构是 .A. 循环结构转移结构顺序结构 B、递归结构循环结构转移结构C、嵌套结构递归结构顺序结构 D、顺序结构选择结构循环结构30、(C)。若x,i,j和k都是int型变量,则执行下面表达式后x的值为x=(i=4,j=16,k=32) A)4 B)16 C)32 D)5231、(A)。已知变量的类型说明如下:int i =8,k,a,b; unsigned long w=5;

51、double x=1.42,y=5.2;则以下符合C语言语法的表达式是。A、a+=a-=(b=4)*(a=3) B、a=a*3=2 C、x%(-3) D、 y=float(i)32、(B)。假设所有变量均为整型,则表达式(a=2,b=5,b+,a+b)的值是 A)7 B)8 C)6 D)233、(B)。下面四个选项中,均是合法的用户标识符的选项是。A) void B)as_b3 C)For D)2c define _123 -abc DO WORD IF case SIG34、(C)。C语言中的标识符第一个字符。A)必须为字母 B)必须为下划线C)必须为字母或下划线 D)可以是字母,数字和下划

52、线中任一种字符35、(C)。判断char 型变量ch是否为大写字母的正确表达式是。A、A<=ch<=z B、(ch>=A)&(ch<=Z) C、(ch >=A)&&(ch<=Z) D、(A<=ch)AND(Z>=ch)36、(D)。设x、y和z是 int型变量,且x=3, y=4, z=5,则下面表达式中值为0的是。A、x&&y B、x<=y C、x|y+z&&y-z D、!(x<y)&&!z|1)37、(B)。设有:int a=1,b=2,c=3,d=4,m=2

53、,n=2;执行(m=a>b)&&(n=c>d)后n的值。A、1 B、2 C、3 D、438、(B)。若有语句 int a=5 ; 则执行语句a+=a*=10 ; a的值是。A、55 B、100 C、60 D、10539、(A)。设有 int x=11; 则表达式(x+*1/3)的值。 A、3 B、3.6 C、4 D、4.040、(B)。下列语句输出结果是。 int a=1,b=1,c=1; a=a+b+c; printf(“%d”,a);A、3 B、4 C、5 D、641、(B)。下列语句合法的是 A、4+c=b=0 ; B、a=+c; C、a=2=b=6; D、a

54、=4+;42、(C)。语句组 int x ; printf(“%d”,(x=4*5,x*5),x+25) A、125 B、100 C、45 D、2043、(C)。下列输出结果是。main()double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf(“%d”,d*y);A、3 B、3.2 C、0 D、3.0744、(B)。若变量a, i已经正确定义,且i已经正确赋值,合法语句是。A、a=1 B、+i; C、a=a+=5 ; D、a=int(i);45、(C)。在c语言中,char型数据在内存中以形式存储。A、原码 B、补码C、ASCII码 D、反码4

55、6、(C)。关于运算符优先顺序的描述正确的是 .A、关系运算符<算术运算符<赋值运算符<逻辑运算符B、逻辑运算符<关系运算符<算术运算符<赋值运算符C、赋值运算符<逻辑与运算符<关系运算符<算术运算符D、算术运算符<关系运算符<赋值运算符<逻辑与运算符47、(D)。int a;float f;double i;表达式15+i*f+A-a的值是型A、float B、int C、char D、double48、(A)。已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'十'6'一'3'后,c2中的值为A)D B)68 C)不确定的值 D)C49、(A)。若以下变量均是整型,且num=sum=7;则执行表达式sUM=num+,sUM+,+num后sum的值为 A) 7 B) 8 C) 9 D) 1050、(D)。在C语言中,int、char和short种类型数据在内存中所占用的字节数A)由用户自己定义 B)均为2个字节C)是任意的 D)由所用机器的机器字长决定51、(A)。若有说明语句:char c='72'则变量c A)包含1个字符 B)包含2个字符C)包含3个字符 D)说明不合法,c的值不确定5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论