智慧树知到《C语言编程新思路(山东理工大学)》章节测试附答案_第1页
智慧树知到《C语言编程新思路(山东理工大学)》章节测试附答案_第2页
智慧树知到《C语言编程新思路(山东理工大学)》章节测试附答案_第3页
智慧树知到《C语言编程新思路(山东理工大学)》章节测试附答案_第4页
智慧树知到《C语言编程新思路(山东理工大学)》章节测试附答案_第5页
已阅读5页,还剩111页未读 继续免费阅读

下载本文档

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

文档简介

1、智慧树知到C语言编程新思路(山东理工大学)章节测试附答案第一章测试1、关于一个C语言程序执行的起点和终点,以下选项正确的是()。A、main mainB、第一个 最后一个C、main 任意D、main 最后一个正确答案:A2、C语句的程序一行写不下时,可以()。A、用逗号换行B、用分号换行C、用任意空格换行D、用回车换行正确答案:D3、以下叙述不正确的是()。A、C程序中,语句之间必须用分号分隔B、C程序中,多行语句可以写在一行上C、C程序中,可以不必包含主函数D、一个C程序,可以由多个函数组成正确答案:C4、C语言规定,在一个源程序中,main函数的位置()。A、必须在最开始B、必须在系统调

2、用库函数的后面C、可以任意D、必须在最后正确答案:C5、以下叙述正确的是()。A、在C程序中,注释说明只能位于一条语句的后面。B、C程序的每行中只能写一个语句C、C语言本身没有输入输出语句D、在对C语言进行编译的过程中,不能发现注释中的错误正确答案:D6、函数的主体部分需要用一对()括起来。A、 B、 C、()D、< >正确答案:A7、以下叙述错误的是()。A、一个C程序只有在编译、连接成.exe程序之后才能执行B、C程序编译后生成.obj文件C、C程序的每一条语句都必须用分号结束D、只有一个分号的语句不是合法的C语句正确答案:D8、计算机能够直接识别和执行的计算机语言()。A、汇

3、编语言B、机器语言C、C语言D、高级语言正确答案:B9、以下叙述错误的是()。A、对于计算机而言,程序是指完成某一特定任务的一组指令序列B、一个C程序编译成功后在连接时发现错误,需要编辑修改,然后不必重新编译和连接即可直接运行。C、机器语言和汇编语言都是低级语言D、C语言是一种函数型语言,每个C语言程序都是由若干个函数组成正确答案:B10、对C程序的注释说明信息必须写在()之间。A、和B、<和>C、/*和*/D、 和 正确答案:C11、用C语言编写的源程序,必须翻译成用二进制指令表示的目标程序,才能被计算机识别,这个过程称为()。A、编辑B、编译C、汇编D、解释正确答案:B12、关

4、于C语言的特点,以下叙述错误的是()。A、C语言一共只有32个关键字,9种控制语句,程序书写自由B、C语言共有34种运算符,表达式类型多样化C、C语言不能直接对硬件进行操作D、C语言程序可以方便的在不同的计算机间和各种操作系统中实现程序的移植正确答案:C13、C语言程序的基本构成单位是()。A、语句B、表达式C、函数D、运算符正确答案:C14、能够在编译过程中被检查出来,并给出提示信息的是()。A、语法错误B、逻辑错误C、运行错误D、注释错误正确答案:A15、以下叙述错误的是()。A、计算机语言大致可以分为三大类:机器语言、汇编语言和高级语言B、高级语言比低级语言更贴近人类使用的语言,易于理解

5、和使用C、C语言是一种通用的、过程式编程语言,具有高效、灵活、可移植等优点D、C语言属于汇编语言正确答案:D16、C语言源程序文件的后缀名是()。A、.objB、.exeC、.cD、.vbp正确答案:C17、C语言编译程序是()。A、C程序的机器语言版本B、一组机器语言指令C、将C源程序编译成目标程序D、厂家提供的应用软件正确答案:C18、以下叙述错误的是()。A、C语言的注释有两种类型:单行注释和多行注释B、C程序的单行注释语句以“/”开始C、C语言的注释语句不影响编译结果D、C语言程序中只要出现在“/*”和“*/”之间的就一定是注释内容正确答案:D19、C语言源程序文件经过编译后的目标文件

6、后缀名是()。A、.exeB、.objC、.cD、.vbp正确答案:B20、C语言源程序编译、连接后的可执行文件后缀名是()。A、.exeB、.objC、.cD、.bak正确答案:A第二章测试1、下面4个选项中,均是不合法的用户标识符的选项的是()。A、Date sum doB、char pao _123C、b+a if floatD、_abc Temp Int正确答案:C2、下面4个选项中均是合法常量的选项是()。A、058 12e3 3.6 'd'B、12.8 0x98 43.56e2 'n'C、"w" 034 0xa3 'm&#

7、39;D、4.45 076 5.33E1.5 "how"正确答案:B3、以下叙述不正确的是()。A、在C语言中,运算符的优先级高于/ 运算符B、在C语言中,area和AREA是两个不同的变量名C、在C语言中,可以使用二进制整数D、若a和b类型相同,在计算了赋值表达式a=b后,a得到b的值,而b的值不变正确答案:C4、在C语言中,要求运算对象必须是整型的运算符是 ()。A、/B、*C、+D、%正确答案:D5、若有说明语句:char ch='0x41' 则变量ch包含()个字符。A、1B、2C、3D、说明不合法,ch的值不确定正确答案:A6、若有定义:int a

8、=7; float x=2.5,y=4.5; 则表达式x+a%3*(x+y)/2的值是 ()。A、2.500000B、6.000000C、5.500000D、0.000000正确答案:B7、设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()。A、intB、floatC、doubleD、不确定正确答案:C8、以下叙述正确的是 ()。A、在C语言中,一行只能写一条语句B、若a是实型变量,则在C语言中不允许用其他类型的数据对其赋值C、在C语言中,无论是整数还是实数,都能被准确无误地表示D、在C语言中,%是只能用于整数运算的运算符正确答案:D9、在C

9、语言中,int型数据在内存中的存储形式是()。A、原码B、反码C、补码D、ASCII码正确答案:C10、下列选项中可作为C语言的合法整数的是 ()。A、a2B、101011BC、03845D、0x4b5正确答案:D11、字符型数据在内存中是以 ()形式存储的。A、ASCII码B、补码C、原码D、BCD码正确答案:A12、下列叙述正确的是()。A、C语言不允许混合类型数据间进行运算B、在C语言中,'b'和"b"的含义是不同的C、C语言中,任何类型的数据都可进行运算D、在C语言中,整型常量有二进制、八进制、十六进制和十进制4种表示形式正确答案:B13、#incl

10、ude <stdio.h> int main() char ch; int i; i=65; ch="a" printf("%c,%c,%d,%d n",i,ch,i,ch); return 0; 这段程序的运行结果是()。A、A,a,65,97B、a,A, 97,65C、a,A, 65,97D、编译错误,无法运行正确答案:D14、设整型变量a=2,则执行下列语句后,实型变量b的值不是0.5的是()。A、b=1.0/aB、b=1/(float)aC、b=1/(a*1.0)D、b=(float)(1/a)正确答案:D15、下列叙述正确的是()。

11、A、不同类型的变量所占内存单元是相同的B、C语言中,变量可以不经定义而直接使用C、赋值表达式的左边只能是变量名D、字符串常量"China!"在存储时,系统为其分配6个字节的空间正确答案:C16、#include <stdio.h> int main() int a=b=5,c; c=a+b; printf("c=%dn",c); 这段程序的运行结果是()。A、0B、10C、不确定D、编译错误,无法运行正确答案:D17、C语言的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。A、必须是下划线B、可以是这三种字符中的任一种C、必须为

12、字母或者下划线D、必须是字母正确答案:C18、如果在一个C语言表达式中有多个运算符,则运算时应该()。A、只考虑优先级B、先考虑优先级,然后考虑结合性C、只考虑结合性D、先考虑结合性,然后考虑优先级正确答案:B19、已知字符A的ASCII值是65,若定义int i; 则执行语句i=A+3; 后,正确的叙述是 ()。A、i的值是字符A的ASCII值加上3,即68B、语句不合法C、语句可以执行,但没有计算结果D、i的值是字符E正确答案:A20、在C语言中常量n和常量”ABC”在内存中占用的字节数分别是()。A、1 3B、1 4C、2 3D、2 4正确答案:B第三章测试1、若a、b、c、d都是int

13、类型变量且初值为0,以下选项中不正确的赋值语句是()。A、a=b=c=d=100;B、d=d-1;C、a*b;D、d=(c=30)+b;正确答案:C2、以下选项中不是C语句的是()。A、int i;printf("%dn",i);B、;C、a=5,c=10D、 ; 正确答案:C3、以下程序的输出结果是()。 #include "stdio.h" int main() int x=100, y=30; printf("%dn",y=x/y); return(0); A、0B、1C、3D、不确定的值正确答案:C4、若变量已正确说明为int

14、类型,要给a、b、c输入数据,以下正确的输入语句是()。A、read(a,b,c);B、get("%d%d%d",a,b,c);C、scanf("%d%d%d",a,b,c);D、scanf("%d%d%d",&a,&b,&c);正确答案:D5、以下程序段的输出结果是() #include <stdio.h> int main(void) int i; float x; double y; y=x=i=10/4; printf("y=%.2f,x=%.2f,i=%dn",y,x,

15、i); return(0); A、y=2.00, x=2.50, i=2B、y=2.50,x=2.50,i=2C、y=2.50, x=2.00, i=2D、y=2.00,x=2.00,i=2正确答案:D6、若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是()。A、a=a+b,b=a-b,a=a-b;B、t=a,a=b,b=t;C、a=t;t=b;b=a;D、t=b;b=a;a=t;正确答案:C7、以下程序的输出结果是()。 #include <stdio.h> int main(void) int a=4,b=8; printf("a=%d,b=%dn&q

16、uot;,a,b); /* 注意转义字符的作用 */ return(0); A、a=%2,b=%5B、a=2,b=5C、a=%d,b=%dD、a=%d,b=%d正确答案:D8、已知字母A的ASCII值为十进制数65,下面程序的输出是()。 #include "stdio.h" int main(void) char ch1,ch2; ch1='A'+'5''3' ch2='A'+'6''3' printf("%d,%cn",ch1,ch2); return(0

17、); A、67,DB、67,CC、B,CD、C,D正确答案:A9、若从终端输入以下数据,要给变量c赋以340.25,则正确的输入语句是()。A、scanf(%f”,&c)B、scanf(%.2f”, &c);C、scanf(%6.2f”, &c);D、scanf(%4f”, &c);正确答案:A10、以下程序运行时输入:25<回车>,执行后输出的结果是()。 #include <stdio.h> int main(void) char ch1,ch2; int n1; ch1=getchar(); ch2=getchar(); n1=ch

18、2-ch1; printf("%d",n1); return(0); A、3B、-3C、25D、编译错误正确答案:A11、有以下程序 #include<stdio.h> int main(void) char c1,c2,c3,c4,c5,c6; scanf("%c%c%c%c",&c1,&c2,&c3,&c4); c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf("%c%cn",c5,c6); return(0); 程

19、序运行后,若从键盘输入(从第一列开始) abc<回车> def<回车> 则输出结果是()。A、cdefB、abefC、abcdD、abde正确答案:D12、以下程序段的输出结果是()。 #include <stdio.h> int main(void) char c1='a',c2='c' printf("%d,%cn",c2-c1,c2-c1+'B'); return(0); A、2,bB、3,BC、2,DD、类型不一致,出错正确答案:C13、若变量已正确定义为float类型,要通过语句s

20、canf(“%f%f%f”,&a,&b,&c);给a赋值10.0,b赋值20.0,c赋值30.0,不正确的输入形式是()。A、10 20 30B、10,20,30C、10.0 20.0 30.0D、10,20 30正确答案:B14、以下程序的输出结果是()。 #include <stdio.h> int main(void) int a,b; a=10; b=20; printf("a=%dnb=%dn",a,b); return(0); A、10,20B、a=10,b=20C、a=10 b=20D、10 20正确答案:C15、若变量已正

21、确说明,要求用以下语句给a赋值2.0,给c1赋值字符#,给b赋值4.0,则不正确的输入形式是()。scanf(“%f%c%f”, &a, &c1, &b);A、2.0 # 4.0 B、2.0#4.0 C、2# 4D、2.0# 4.0 ,正确答案:A16、以下说法错误的是()。A、赋值表达式的功能是将赋值运算符右侧的值赋给其左侧的变量。B、若float x=5;可以对变量x进行%操作,如x%2的值是1。C、复合语句是用一对花括号括起来的若干条语句,从语法作用上讲一条复合语句视为一条语句。D、长整型(long int)变量,使用scanf函数输入时,需使用%ld格式符。正确

22、答案:B17、结构化程序设计由三种基本结构组成,下面哪个选项不属于三种基本结构()。A、顺序B、选择C、循环D、回溯正确答案:D18、下面程序段功能是先输入一个整数,然后将输入的整数输出,请指出哪部分有错()。 #include <stdio.h> / 1 int main(void) int i; / 2 scanf("%d", i); / 3 printf("i=%dn ",i); / 4 return(0); A、1B、2C、3D、4正确答案:C19、设int a=10,b; ,执行下列语句后,b的值不是2的是()。A、b=a/4B、b

23、=a-8C、b=a/4.0D、b=a%4正确答案:C20、putchar() 函数可以向终端输出一个()。A、整型B、实数C、字符串D、字符正确答案:D第四章测试1、表示关系xyz的c语言表达式为()。A、(x<=y)&&(y<=z)B、(x<=y)AND(y<=z)C、(x<=y<=z)D、(x<=y)&(y<=z)正确答案:A2、若a=5;b=6;c=7;d=8;m=2;n=2;则执行 (m=a>b)&&(n=c>d)后,m和n的值分别为()。A、2 ,2B、0,2C、0,0D、2.0正确答

24、案:B3、在以下一组运算符中,优先级最高的运算符是()。A、<=B、=C、%D、&&正确答案:C4、若有int x,a,b;则下面if语句中,()是错误的。A、if (a=b) x=x+1;B、if (a<>b) x=x+1;C、if (a-b) x=x+1;D、if ( x ) x=x+1;正确答案:B5、下列表达式中,()不满足“当x的值为偶数时值为真,为奇数时值为假”的要求。A、x%2=0B、!x%2!=0C、(x/2*2-x)=0D、!(x%2)正确答案:B6、关于以下程序,正确的说法是()。 #include <stdio.h> int

25、main(void) int x=0,y=0,z=0; if(x=y+z) printf("*"); else printf("#"); return(0); A、有语法错误,不能通过编译B、输出:*C、可以编译,但不能通过连接,所以不能运行D、输出:#正确答案:D7、下列程序的输出结果是()。 #include <stdio.h> int main(void) float x=4,y=1; if(x<0) y=0; else if(x<10) y=1/x; else y=10; printf("%fn",y)

26、; return(0); A、0.000000B、10.000000C、0.250000D、1.000000正确答案:C8、执行以下程序时,若输入3和4,则输出结果是()。 #include <stdio.h> int main(void) int a,b,s; scanf("%d%d",&a,&b); s=a; if(a<b) s=b; s=s*s; printf("%dn",s); return(0); A、14B、16C、18D、20正确答案:B9、下列程序的输出结果是()。 #include <stdio.

27、h> int main(void) int x=1,a=0,b=0; switch(x) case 0: b=b+1; case 1: a=a+1; case 2: a=a+1;b=b+1; printf("a=%d,b=%dn",a,b); return(0); A、a=2,b=1B、a=1,b=1C、a=1,b=0D、a=2,b=2正确答案:A10、若有定义:int a=3,b=2,c=1; 并有表达式:a%b、a>b>c、b&&c+1、c+=1,则表达式值相等的是()。A、和B、和C、和D、和正确答案:C11、当a=1,b=3,c=5

28、,d=4时,执行完下面一段程序后x的值是()。 if(a<b) if(c<d) x=1; else if(a<c) if(b<d) x=2; else x=3; else x=6; else x=7;A、1B、2C、3D、4正确答案:B12、在下面的条件语句中(其中S1和S2表示C语言语句),只有一个在功能上与其他3个语句不等价()。A、if(a) S1; else S2;B、if(a=0) S2; else S1;C、if(a!=0) S1; else S2;D、if(a=0) S1; else S2;正确答案:D13、若有int a=3,b; 则执行下面程序段后b的

29、值是() if(a>0) b=1; else b=-1; b=b+1;A、1B、2C、-1D、0正确答案:B14、假定所有变量均已正确定义,下面程序段执行后的x的值是()。 a=b=0; x=35; if(!a) x=x-1; if(b) x=3; else x=4;A、34B、4C、35D、3正确答案:B15、若有说明语句int i=4, j=5, k=6; float f; 则执行f=( i>k)?i:(j<k)?j:k;语句后,f的值为()。A、4.0B、5.0C、6.0D、7.0正确答案:B16、下述程序的输出结果是() #include <stdio.h>

30、; int main (void) int a=0,b=0,c=0; if(a+1)>0 |(b>0) c=c+1; printf("%d,%d,%d",a,b,c); return(0); A、0,0,0B、1,1,1C、1,0,1D、0,0,1正确答案:D17、若x=0,则执行下面程序段后,屏幕上会显示()。 if(x=0) printf("*"); else printf("&&&");A、* *B、&&&C、*&&&D、&&&a

31、mp;*正确答案:B18、若有int a=10,b=20,c=30; ,执行下面程序段后a、b、c的值分别是()。 if(a>b) c=a; a=b; b=c;A、10、20、30B、20、10、10C、20、30、30D、20、10、30正确答案:C19、下列程序的输出结果是()。 #include <stdio.h> int main(void) int k=8; switch(k) case 7:k+=1; case 8:k+=1; case 9:k+=1;break; default:k+=1; printf("%dn",k); return(0)

32、; A、8B、9C、10D、11正确答案:C20、若有float x; int a,b; ,下面四条switch语句中正确的有()条。 switch(x) case x=1.0: printf(“Y”); case x=2.0: printf(“N”); switch(a) case a=1: printf(“Y”); case a=2: printf(“N”); switch(b) case b=1: printf(“Y”); case b=2: printf(“N”); switch(x) case 1.0: printf(“Y”); case 2.0: printf(“N”); A、1B

33、、2C、3D、4正确答案:A第五章测试1、以下程序段中while循环执行的次数是()。 int k=0; while(k=1) k+;A、无限次B、有语法错不能执行C、一次也不执行D、执行一次正确答案:A2、以下描述中正确的是()。A、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B、do-while循环中由do开始,用while 结束,在while (表达式)后面不能写分号C、在do-while循环中,循环体至少执行一次D、do-while循环中,根据情况可以省略while正确答案:C3、在C语言中有关for循环,以下正确的说法是()。A、for循环只

34、能用于循环次数已经确定的情况B、for循环是先执行循环体语句,后判断表达式C、在 for循环不能break跳出循环体D、for循环的循环体语句中,可以包含多条语句,但必须用大括号括起来正确答案:D4、以下下面程序的运行结果是()。 #include <stdio.h> int main() int a=1,b=2,c=2,t; while(a<b<c) t=a;a=b;b=t; c-; printf(“%d,%d,%d”,a,b,c); A、1,2,0B、2,1,0C、1,2,1D、2,1,1正确答案:A5、若i,j已定义为int类型,则以下程序段中内循环体的总的执行次

35、数是()。 for (i=5;i;i-) for (j=0;j<4;j+).A、20B、25C、24D、30正确答案:A6、下面程序的输出结果是()。 #include <stdio.h> int main() int i,j; for(i=0,j=10;i<j;i+=2,j-) ; printf("%d %d",i,j); A、4 8B、6 7C、8 6D、10 5正确答案:C7、下面关于switch语句和break语句的结论中,说法正确的是()。A、break语句是switch语句的一部分B、在switch语句中,可以根据需要使用或者不使用bre

36、ak语句C、在switch语句中,必须使用break语句D、break语句是for语句的一部分正确答案:B8、以下不是死循环的语句是()。A、for(;x+=i)B、while(1) x+;C、for(i=10;i-) sum+=i;D、for( ;(c=getchar())!=n;) printf(“%c”,c);正确答案:D9、与语句头while(!x)等价的语句头是()。A、while(x=0)B、while(x!=0)C、while(x!=1)D、while(x)正确答案:A10、在while(x)语句中的x与下列条件表达式等价的是()。A、x=0B、x!=0C、x!=1D、x=1正确

37、答案:B11、下面程序的功能是:在输入的一批正数中求最大者,输入0结束循环,选择()填空。 #include <stdio.h> int main() int a,max=0; scanf("%d",&a); while() if (max<a) max=a ; scanf ("%d",&a); printf("%d",max); A、a=0B、aC、!a=1D、!a正确答案:B12、下面程序的功能是从键盘输入一行字符,从中统计大写字母和小写字母的个数,选择() 填空。 #include <st

38、dio.h> int main() int m=0,n=0; char c; while (() != 'n') if (c>='A' && c<='Z') m+; if (c>='a' && c<='z') n+; printf("m=%d,n=%dn",m,n); A、c=getchar()B、getchar()C、c=getchar()D、scanf("%c",&c)正确答案:A13、下面程序的输出结

39、果是()。 #include <stdio.h> int main() int k=0,m=0,i,j; for (i=0; i<2; i+) for (j=0; j<3; j+) k+ ; k-=j ; m = i+j ; printf("k=%d,m=%d",k,m) ; A、k=0,m=3B、k=0,m=5C、k=1,m=3D、k=1,m=5正确答案:B14、下面程序的输出结果是()。 #include <stdio.h> int main() char c='A' int k=0; do switch (c+) c

40、ase 'A': k+; break; case 'B': k-; case 'C': k+=2; break; case 'D': k%=2; continue; case 'E': k*=10; break; default: k/=3; k+; while (c<'G'); printf ("k=%d",k); A、k=3B、k=4C、k=2D、k=0正确答案:B15、下面程序的运行结果是()。 #include <stdio.h> int main()

41、int i; for(i=1;i<=5;i+) if(i%2) printf(“*”); else continue; printf(“#”); printf(“$n”); A、*#*#*$B、*$C、*#*#*#$D、*#*#$正确答案:C16、下面程序段的运行结果是()。 int x=3; do printf(" %dn",x -=2); while(!(-x);A、输出的是 1B、输出的是1和-2C、输出的是3和0D、是死循环正确答案:B17、下面程序段的运行结果是()。 x=y=0; while(x<15) y+,x+=+y; printf("

42、%d,%d",y,x);A、20,7B、6,12C、20,8D、8,20正确答案:C18、下面程序的功能是将从键盘输入的一对数,由小到大排序输出。当输入一对相等数时结束循环,请选择()填空: #indude <Stdio.h> int main() int a,b,t; scanf("%d%d",&a,&b); while( 【1】 ) if(a>b) t=a;a=b;b=t; printf("%d,%d",a,b); scahf("%d%d",&a,&b);人 A、!a=b

43、B、a!=bC、a= =bD、a=b正确答案:B19、对for(表达式1;表达式3)可理解为()。A、for(表达式1; 0;表达式3)B、for(表达式1;1;表达式3)C、for(表达式1;表达式1;表达式3)D、for(表达式1;表达式3;表达式3)正确答案:B20、若i为整型变量,则以下循环执行次数是()。 for (i=2;i=0;) printf("%d",i- );A、无限次B、0次C、1 次D、2次正确答案:B第六章测试1、在C语言中,引用数组元素时,其数组下标的数据类型允许是()。A、整型常量B、整型表达式C、整型常量或整型表达式D、任何类型的表达式正确答

44、案:C2、以下程序的输出结果是()。 int main() int a5=1,2,3; printf(“%dn”,a3); A、0B、1C、3D、随机值正确答案:A3、以下程序的输出结果是()。 int main() int i, k,a10=1,5,3,4,2,8,9,6,7,0; for (i=0,k=0; i<10; i+) if(ak<a) k=i; printf("%d",k);A、5B、6C、7D、8正确答案:B4、以下程序的输出结果()。 int main()int i,j,s=0,a23=1,2,3,4,5,6;for (i=0; i<2;

45、 i+) for (j=0; j<3; j+) s=s+aj;printf(“%d”,s);A、10B、15C、20D、21正确答案:D5、有以下程序运行后的输出结果是()。 int main()int aa44=1,2,3,4, 5,6,7,8,3,9,10,2,4,2,9,6; int i,s=0;for(i=0;i<4;i+)s+=aa1;printf(“%d ”,s);A、11B、19C、13D、20正确答案:B6、数组定义为 int a32=1,3,4,6,8,10,数组元素()的值为6。A、a32B、a11C、a21D、a22正确答案:B7、定义 int a1011,则

46、数组a有()个元素。A、11B、90C、110D、132正确答案:C8、以下不能对二维数组a进行正确初始化的语句是() 。A、int a23=0;B、int a3=1,2,0;C、int a23=1,2,3,4,5,6;D、int a3=1,2,3,4,5,6;正确答案:C9、若有定义语句:int a35;,按在内存中的存放顺序,a数组的第8个元素是()。A、a04B、a12C、a03D、a14正确答案:B10、若有定义 int a10;则对a数组元素的正确应用是()。A、a10.0B、a1+2C、a(10)D、a10正确答案:B11、以下能对一维数组a进行正确初始化的语句是()。A、int

47、a10=(0,0,0,0,0)B、int a10=C、int a=0;D、int a10=10*1;正确答案:C12、以下对二维数组a的正确说明是()。A、int a3;B、floatf a(3,4);C、double a14;D、float a(3)(4);正确答案:C13、若有说明: int a34=0;则下面正确的叙述是()。A、只有元素a00可得到初值0B、此说明语句不正确。C、数组a中各元素都可得到初值,但其值不一定为0。D、数组a中每个元素均可得到初值0正确答案:D14、若有定义:int s34=1,2,0,3,4,5;则s21的值为()。A、3B、4C、0D、1正确答案:B15、

48、若有定义int a23;则合法引用数组元素的是()。A、a01/2B、a12C、a23D、a13正确答案:B16、在以下数组定义中,错误的是()。A、int a2=1,2,3,4,5;B、int a2=0,1;C、int a22=1,2,3D、int a2=1,2,3,4;正确答案:A17、以下程序段执行后p的值是()。int a33=3,2,1,3,2,1,3,2,1; int j,k,p=1;for(j=0;j<2;j+)for(k=j;k<3;k+)p*=ajk;A、108B、18C、12D、2正确答案:C18、以下程序段执行后p的值是()。 int a33=3,2,1,3,

49、2,1,3,2,1; int j,k,p=1;for(j=0;j<2;j+)for(k=j;k<4;k+)p*=ajk;A、108B、18C、12D、2正确答案:A19、以下程序段运行后s的值是()。 int a33=1,2,3,4,5,1,2,3,4;int i,j,s=1;for(i=0;i<3;i+)for(j=i+1;j<3;j+)s+=aj;A、6B、120C、7D、240正确答案:C20、下面程序段的运行结果是()。 int m=5,8,7,6,9,2,i=1;for(i=0;i<6;i+) if(i % 2 !=0) m+=10; for(i=0;i

50、<6;i+) printf("%d ",m);A、5 18 7 16 9 12B、15 18 17 16 19 12C、15 8 17 6 19 2D、5 8 7 6 9 2正确答案:A第七章测试1、变量的指针,其含义是指变量的()。A、值B、名称C、地址D、另一个名称正确答案:C2、以下叙述错误的是()。A、指针变量可以与整数进行加、减算术运算B、指针变量中存放的是地址值C、指针变量不占用存储空间D、多个同类型的指针变量可以指向同一个普通变量。正确答案:C3、已知指针变量P的指向如图1所示,则表达式*P+的值是()。A、20B、30C、21D、31正确答案:A4、已

51、知指针变量P的指向如图1所示,则表达式*+P的值是()。A、20B、30C、21D、31正确答案:B5、已知指针变量P的指向如图1所示,则表达式+(*P)的值()。A、20B、30C、21D、31正确答案:C6、假设整型变量a的值为12,变量a的地址为2000,若欲使p为指向a的指针变量,则以下赋值正确的是()。A、&a=p;B、*p=12;C、*p=2000D、p=&a;正确答案:D7、若有定义:int b,*pb;则下面正确的赋值表达式是()。A、pb=&bB、pb=bC、*pb=&bD、*pb=*b正确答案:A8、设int a10,*p=a; ,则下面()

52、不是对a3的正确引用。A、*(a+3)B、p+3C、p3D、*(p+3)正确答案:B9、若有如下定义:int a10=10,20,30,40,50,60,70,80,90,100,*p=a; ,则执行p=p+5后,*p的值是()。A、10B、50C、60D、100正确答案:C10、若int *p,i;执行i=100; p=&i; i=*p+10; 后,*p的值是()。A、100B、10C、0D、110正确答案:D11、以下程序的输出结果是()。 #include <stdio.h> int main() int a =2,4,6,8,10,y=0,i,*p; p=a; fo

53、r(i=0;i<3;i+) y+=*(p+i); printf("%dn",y); A、17B、12C、19D、20正确答案:B12、以下程序的输出结果是()。 #include <stdio.h> int main() int a=1,b=2,c=3,*p1,*p2,*p3; p1=&a; p2=&b; p3=&c; *p3=*p1; *p1=*p2; *p2=*p3; printf("a=%d,b=%d,c=%dn",a,b,c); A、a=1,b=2,c=3B、a=2,b=1,c=3C、a=2,b=1,c=

54、1D、a=3,b=2,c=1正确答案:B13、以下程序的输出结果是 ()。 #include <stdio.h> int main() int k=2,m=4,n=6; int *pk=&k,*pm=&m,*p; *(p=&n)=*pk*(*pm); printf("%dn",n); return 0; A、4B、6C、8D、10正确答案:C14、以下程序的输出结果是 ()。 #include <stdio.h> int main() int *k, *a, b=100; a=&b;k=&a; printf(&

55、quot;%dn",*k); return 0; A、编译出错B、100C、a的地址D、b的地址正确答案:B15、对于基类型相同的两个指针变量之间,不能进行的运算时()。A、<B、=C、+D、正确答案:C16、若有int a34=1,2,3,4,5,6,7,8,9,10,11,12; int (*p)3=a; ,则能正确表示数组元素a12的是()。A、*(*(p+1)+2)B、*(p+1)+2C、(p+1)2D、p1+2正确答案:A17、对于语句int *p5; 的正确描述是()。A、p是一个指向数组的指针,所指向的数组含有5个int型元素。B、p是一个指向数组中第5个元素的指

56、针,该元素是int型。C、定义不合法D、p是一个具有5个元素的指针数组,每个元素都是一个指向int型对象的指针变量。正确答案:D18、若有int a10,*p=a;,下列不能表示a数组首元素地址的是()。A、aB、*pC、pD、&a0正确答案:B19、下列程序的运行结果是()。 #include <stdio.h> int main() int a5=1,2,3,4,5,*p,*pp; p=a; pp=&p; printf("%d ",*(p+3); printf("%d",*pp); return 0; A、4 1B、3 1

57、C、4 4D、3 4正确答案:A20、若有int a10,*p;,则下列语句中正确的是()。A、for(p=a; a<p+10 ; a+)B、for(p=a; p<a+10 ; p+)C、for(p=a; p<p+10 ; p+)D、for(p=a; p<a+10 ; a+)正确答案:B第八章测试1、函数strcmp("ABCDDCBA","ABCDE")的返回值是()。A、0B、正数C、负数D、随机值正确答案:C2、以下程序运行后的输出结果是()。 int main() int i,j; char a =a,b,c,d, e,

58、f, g,h,0; i=sizeof(a); / sizeof返回数组a在内存分配字节数 j=strlen(a); printf(“%d,%dn”,i,j); A、9,9B、8,9C、1,8D、9,8正确答案:D3、下列选项中,不正确的赋值方式是()。A、char str 's','t','r','i','n','g','0'B、char str7's','t','r','i','n','g'C、char str110; str1"string"D、char str1 "string",str2 "12345678"正确答案:C4、若有以下

温馨提示

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

评论

0/150

提交评论