




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、福建省高等学校计算机等级考试(二级C语言)选择题试题库,案试题C1 .在C语言源程序中,以下叙述正确的是()。A. main函数必须位于义件的开头B.每行只能写一条语句C.程序中的一个语句可以写成多行D.每个语句的最后必须有点号C2.关于C语言的源程序的叙述中,错误的是()。A. C语言的源程序由函数构成B. main函数可以书写在自定义函数之后C.必须包含有输入语句D. 一行可以书写多个语句C3.关于C语言数据类型的叙述,正确的是()。A.枚举类型不是基本类型B.数组不是构造类型C.变量必须先定义后使用D.不允许使用空类型C4. C程序中main函数的位直()。A.必须在取开女口B.必须在系
2、统库函数后面C.可以在自定义函数后面D.必须在最后5. C语言的函数体由()括起来。A.()B B. C.D. /* */6.关于C语言的叙述中,不正确的是()。A. C程序可由一个或多个函数组成DB. C程序必须包含一个 main()函数C. C程序的基本组成单位是函数D.注释说明只能位于一条语句的后面7.以下叙述不正确的是()。A. C程序的执行总是从 main函数开始D B. 一个C源程序必须包含一个 main函数C. C语言程序的基本组成单位是函数D.在编译C程序源程序时,可发现注释中的拼写错误8 .结构化程序设计的三种基本结构是()。A.函数结构、分支结构、判断结构CB.函数结构、嵌
3、套结构、平行结构C.顺序结构、分支结构、循环结构D.分支结构、循环结构、嵌套结构9 .对于C语言源程序,以下叙述错误的是()。A.可以有空语句B.函数之间是平等的,在一个函数内部不能定义其它函数C.程序调试时如果没有提示错误,就能得到正确结果D.注释可以出现在语句的前面10 .下面关于C语言用户标识符的描述,正确的是()。A.不区分大小写B.用户标识符不能描述常量C.类型名也是用户标识符D.用户标识符可以作为变量名11 .以下()是正确的变量名。A. 5fD B. ifC. f.5D. _f512.以下()是正确的常量。A. E-5D B. 1E5.1C. 'a12'D. 32
4、766L13.以下()是正确的变量名。A. a.beeDB. -p11C. intD. p_1114.以下()是正确的字符常量。单引号括起来A. "c"C B. '''C. WD. "32a"15.以下()是不正确的字符串常量。双引号括起来A. 'abc'A B. "12'12"C. "0"D.""16.以下()是错误的整型常量。A. -0xcdfB B. 018八进制数不能超过 8C. 0xeD. 01117.以下()是正确的浮点数。A. e3/
5、e前面必须有数字,指数必须为整数B B. .62C. 2e4.5D. 123A 18.若有说明语句:char c='95'则变量c包含()个字符。A. 1 ddd :表示1到3位八进制数所代表的字符B. 2 xhh表示1到2位十六进制数所代表的字符C. 3D.语法错误19.若有定义:int a=2;则正确的赋值表达式是()。A. a-=(a*3)A B. double(-a) /(double)(-a)C. a*3D. a*4=320.语句x=(a=3,b=+a); 运行后,x、a、b的值依次为()。A. 3,3,4/逗号运算符及逗号表达式C B. 4,4,3C. 4,4,4D
6、. 3,4,321.语句a=(3/4)+3%2;运行后,a的值为()。A. 0B B. 1/注意除号/两边均为整型时,结果为整数(不含小数点)C. 2D. 322. char型变量存放的是()。考查变量类型A A. ASCII代码值B.字符本身C.十进制代码值D.十六进制代码值23.若有定义:int x,a;则语句x=(a=3,a+1);运行后,x、a的值依次为()。A. 3,3 /考查逗号表达式及逗号运算符B. 4,4C. 4,3D. 3,424 .若有定义:int a;则语句a=(3 * 4)+ 2 % 3;运行后,a的值为()。A. 12B B. 14C. 11D. 1725 .若有定义
7、:int a,b; double x,则以下不符合 C语言语法的表达式是()。A. x%(-3)/%两侧均应为整型数据A B. a+=-2C. a=b=2D.x=a+b26 .若有定义:int x=2,y=3;float i;,则以下符合 C语言语法的表达式是()。A. x=x*3=2/x*3不是一个变量名B B. x=(y=1)C. i=float(x)/ 应改为 i=(float)xD. i%(-3)/%两侧均应为整型数据27.设double型变量a,b,c,e均有值对代数式(3ae)/(bc),不正确的C语言表达式是()。A. a/b/c*e*3B. 3*a*e/b/cC. 3*a*e/
8、b*c 改为 3*a*e/b/cD. a*e/c/b*3 28.下面叙述正确的是(A. 2/3 与 2.0/3.0 等价B. (int)2.0/3 与 2/3 等价C. +5与6等价 单独写+5是错误的,可以写成 a=+5D. 'A'与"A"等价 29.下面叙述中,错误的是(A.其算术运算对象不包含函数B. %(模运算符)的运算对象只能为整型量C.算术运算符的结合方向是“自左至右"D.自加和自减运算符的结合方向是“自右至左"30.下面叙述正确的是()。/+ -只能用于变量,而不能用于常量或表达式A.强制类型转换运算的优先级高于算术运算B.
9、若a和b是整型变量,(a+b)+ 是合法的C. 'A'*'B'是不合法的D. "A"+"B"是合法的 31.若有定义:int k,i=2,j=4;则表达式k=(+i)*(j-) 的值是()。A. 8B. 12/注意前缀 后缀的区别C. 6D. 932.设整型变量a为5,使b不为2的表达式是()。A. b=(+a)/3C B. b=6-(-a)C. b=a%2/ 结果为 1D. b=a/233.若有定义:int a=1,b=2,c=3; 则语句+a|+b&&+c; 运行后b的值为()。A. 1C B. 0C.
10、 2/注意运算的不完全性D. 334.若有定义:int i,j;则表达式(i=2,j=5,i+,i+j+) 的值是()。A. 7B B. 8C. 9D. 1035.若有定义:int a,b;则表达式(a=2,b=5,a*2,b+,a+b) 的值是()。B A. 7B. 8C. 9D. 1036.若有定义:int m=5,n=3;则表达式(m+1,n+1,(-m)+(n-) 的值是()。A. 6B. 7C. 8D. 937.已知int a;使用scanf()函数输入一个整数给变量a,正确的函数调用是()。A. scanf("%d",a);B. scanf("%d&q
11、uot;,&a);C. scanf("%f",&a);D. scanf("%lf",&a);38.已知double a;使用scanf()函数输入一个数值给变量a,正确的函数调用是()。A. scanf("%ld",&a);B. scanf("%d",&a);C. scanf("%7.2f",&a);/输入数据时不能规定精度D. scanf("%lf",&a);39. 已知char a;使用scanf()函数输入一个字符
12、给变量a,不正确的函数调用是()。A. scanf("%d",&a);B B. scanf("%lf",&a);字符型变量与整型等价,但不与浮点型等价C. scanf("%c",&a);D. scanf("%u",&a);40. putchar()函数的功能是向终端输出()。/ char *str0; .;puts( str0);A.多个字符B B. 一个字符C. 一个实型变量值D. 一个整型变量表达式41. getchar()函数的功能是从终端输入()。A. 一个整型变量值D B.
13、 一个实型变量值C.多个字符D. 一个字符42 .若有定义:int x=1234,y=123,z=12; 则语句 printf("%4d+%3d+%2d", x, y, z);运行后的输出结果为()。A. 123412312B. 12341234123412341231231231212C. 1234+1234+1234D. 1234+123+1243 .已有如下定义和输入语句,int a; char c1,c2;scanf("%d%c%c",&a,&c1,&c2);A若要求a、c1、c2的值分别为10、A和B,正确的数据输入是(
14、)。A. 10AB 输入数据时,遇空格、回车、 TAB、及非法输入 或按规定的宽度结束C. 10A BD. 10 AB44 .已有如下定义和输入语句:int a,b;则输scanf("%d,%d",&a,&b);“格式控制”字符串中除了格式说明还有其他字符,入时应在相应位置输入若要求a、b的值分别为10和20 ,正确的数据输入是(A. 10 20B. 10,20C. a=10,b=20D. 10;2045 .以下程序的运行结果是()。void main()int a=65;char c='A'D printf("%x,%d"
15、;,a,c);A. 65,aB. 41,aC. 65,65D. 41,6546 .下面叙述中,()不是结构化程序设计中的三种基本结构之一。A.数据结构B.选择结构C.循环结构D.顺序结构47 .下面叙述中,()不是结构化程序设计三种基本结构的共同特点。A.先判断后执行B.单入口,单出口C.程序中没有执行不到的语句D.无死循环48 .结构化程序设计不包括(A.最优化B.自顶而下,逐步细化C.模块化设计D.结构化编码49 .以下运算符中优先级最高的是(A. >B. IIC. &&D. + 初等运算符()口 单目 算术 关系 逻辑(不含!)赋值 逗号50 .若有定义:int x
16、=3,y=4;则表达式!x|y的值为()。 AA. 1B. OC. 3D. 4A51.若后定义:int i=7,j=8;则表达式i>=j|i<j的值为()。A. 1B.变量i的值C. 0D.变量j的值cC52.若希望当a的值为奇数时,表达式的值为"真",a的值为偶数时,表达式的值为"假"。则不能满足要求的表达式是()。A. a%2=1B. !(a%2=0)C. !(a%2)D. a%253.若有定义:int x=3,y=4,z=5;则值为0的表达式是()。A. 'x'&&'y'D B.x<
17、=yC. x|y+z&&y-zD. !(x<y)&&!z|1)/考查运算符优先级54 .若有定义:int a=5,b=2,c=1; 则表达式a-b<c|b=c 的值是()。A A. 0B. 1C. 2D. -155 .已知double a=5.2;则正确的赋值表达式是()。A. a+=a-=(a=4)*(a=3)A B. a=a*3=2C. a%3D. a=double(-3)56.已知char a='R'则正确的赋值表达式是()。A. a=(a+)%4A B. a+2=3C. a+=256-D. a=''078
18、9;57.已知int a='R'则正确的表达式是()。A. a%10A B. a=int(3e2)C. 2*a=a+D. a=a+a=a+3 与C同属一类错误58.设单精度型变量f、g的值均为2.0,使f为4.0的表达式是()。A. f+=gA B. f-=g+2C. f*=g-6D. f/=g*1059.若有定义:float x=3.5;int z=8;则表达式x+z%3/4 的值为()。A. 3.75B B. 3.5C. 3D. 460.若有定义:int a=1,b=2,c=3,d=4,x=5,y=6;则表达式(x=a>b)&&(y=c>d) 的
19、值为()。A. 0AB. 1C. 5D. 661. 若 有定义: int a=2,b=3; float x=3.5,y=2.5; 则 表达式(float)(a+b)/2+(int)x%(int)y 的值是()。/(float)(a+b)/2=2.5A. 3.5B. 3.0C. 2.5D. 2.062.若有定义:int b=7; float a=2.5,c=4.7;则表达式 a+(b/2*(int)(a+c)/2)%4 的值是()。A. 2.5 /(b/2*(int)(a+c)/2)=10注意运算顺序B. 3.5C. 4.5D. 5.563.若有定义:int a=6,b=2;char c1=
20、39;a',c2='b'则表达式 a+b%5+c2-c1 的值是 ()。A. 7CB. 8C. 9D.表达式错误64 .以下的if语句中,x的值一定被重新赋值的是()。A. if(x=y) x+=y;B. if(x>y && x!=y );/注意if语句后的空语句;x+=y;C. if(x!=y)B scanf("%d",&x);elsescanf("%d",&y);D. if(x<y)x+;y+;65 . C语言对if嵌套语句的规定:else总是与()配对。A.第一个ifB B.之前最
21、近的且尚未配对的ifC.缩进位置相同的ifD.之前最近的if66 .对于整型变量x,下述if语句()与赋值语句:x=x%2=0?1:0;不等价。B A. if (x%2!=0) x=0; else x=1;B. if (x%2) x=1; else x=0;C. if (x%2=0) x=1; else x=0;D. if (x%2=1) x=0; else x=1;67.若有定义:int x=1,y=2,z=4;则以下程序段运行后z的值为()。if(x>y) z=x+y;else z=x-y;B A. 3B. -1C. 4D.不确定68.若有定义:int a=1,b=2,c=3;则执行
22、以下程序段后a,b,c的值分别为()。if (a<b)c=a;a=b;b=c;D A. a=1,b=2,c=3B. a=2,b=3,c=1C. a=2,b=3,c=3D. a=2,b=1,c=1D 69.以下程序段运行后变量a的值为()。nt x=6,y=5;nt a;a=(-x=y+)?x:y+1;A. 0B. 1C. 6D. 570.以下程序的运行结果是()。注意分支中有无break的区别void main()int n='e'switch(n-)default: printf("error ");case 'a':case
23、9;b': printf("good "); break;case 'c': printf("pass ");case 'd': printf("warn ");A. errorB. goodC. error goodD. warnr C71.以下程序的运行结果是()。void main()int n='c'switch(n+)default: printf("error "); break;case 'a':case 'b':
24、 printf("good "); break;case 'c': printf("pass ");case 'd': printf("warn ");A. passB. warnC. pass warnD. errorD72.以下程序的运行结果是()。void main()int n=5;if(n+>=6)printf("%dn",n);elseprintf("%dn",+n);A. 4B. 5C. 6D. 773.设有整型变量x,下述语句()不会出现死循
25、环。A. for(;x+=1);B B. for(;(x=getchar()!='n');C. while(1) x+;D. for(x=10;x-);74.对于整型变量x,与while(!x)等价的是()。A. while(x!=0)B B. while(x=0)C. while(x!=1)D. while(x)75.对于整型变量x和y,语句A for(x=0,y=0;(y!=123)&&(x<4);x+)y+;中的y+ ; ”被执行()。A. 4次B. 0次C.123 次D. 3次B76.在c语百中 while 循环和do-while 循环的主要区别是
26、()。A. do-while 循环体内可以使用 break语句,while循环体内不能使用 break语句B. do-while的循环体至少无条件执什-次,while的循环体不是C. do-while 循环体内可以使用 continue 语句,while循环体内不能使用continue语句D. while的循环体至少无条件执什-次,do-while的循环体不是77.以下程序段运行后,循环体运行的次数为()。int i=10,x;for (;i<10;i+) x=x+i;B A. 10B. 0C. 1D.无限78.以下程序段运行后变量n的值为()。int i=1,n=1;D for (;i
27、<3;i+)continue;n=n+i;A. 4B. 3C. 2D. 1B79.以下程序的运行结果是()。void main()int sum = 0, item = 0;while(item < 5)item+;sum += item;if(sum=5)break;printf("%dn",sum);A. 10B. 15C. 5D. 6C80.以下程序的运行结果是()。void main()int sum = 0, item = 0;while(item < 5)item+;sum += item;if(sum>=6)break;printf(&
28、quot;%dn",sum);A. 10B. 15C. 6D. 781 .以下程序的运行结果是()。void main()B int sum = 0, item = 0;while(item < 5)item+;if(item = 2)continue;sum += item;printf("%dn",sum);A. 10B. 13C. 15D. 182 .下列数组定义中,正确的是()。A. int a5=0;A B. int a=0 12; int a=0 ,1,2;注意元素与元素之间加逗号C. int a5=0; / int a5=0;D. int a口
29、;必须指明数组大小83.下列数组定义中,正确的是()。A. int a10;A B. int n=10,an; /下标必须是常量表达式C. int N=10;int aN;D. int n;scanf("%d",&n); int an;E. .已知int a10;则对a数组元素引用不正确的是()。AA. a10/10个元素的数组下标范围从0到9,故此题越界B. a3+5C. a10-10 引用数组元素时,下标可以是整型常量或整型表达式D. a585.若有定义:int a3=0,1,2;则 a1的值为()。A. 0B B. 1C. 2D. 386.若有定义:int a
30、5=1,2,3,4,5;则语句 a1=a3+a2+2-a3-1; 运行后 a1的 值为()。A. 6AB. 5C. 1D. 287.以下能对一维数组a进行正确初始化的语句是()。A. int a5=(0,0,0,0,0);D B. int a5=0; /注意使用大括号C. int a5=1,2,3,4,5,6,7; / 多余 2 个D. int a=0; /定义一个只有一个元素的一维数组,指为 088 .下面程序段的运行结果是()。D int i=0,a=3,4,5,4,3;ai+; while(a+i<5);for(i=0;i<5;i+) printf("%d &quo
31、t;,ai);A. 4 5 6 5 4B. 3 4 5 4 3C. 4 5 5 5 4D. 4 5 5 4 389 .下面程序段的运行结果是()。int i=0,a=7,5,7,3,8,3;do ai+=2;while(a+i>5);C for(i=0;i<6;i+) printf("%d ",ai);A. 9 7 9 5 10 5B. 9 5 9 3 10 3C. 9 5 7 3 8 3D. 7 5 7 3 8 390 .下面程序段的运行结果是()。A int i=0,a=1,2,3,4,5;doai+=10;while(a+i>2);for(i=0;i
32、<5;i+)printf("%d ",ai);A. 11 2 3 4 5B. 1 2 3 4 5C. 11 12 13 14 15D.11 12 3 4 591 .设有如下程序段:nt a33=1,0,2,1,0,2,1,0,1,i,j,s=0;for(i=0;i<3;i+)for( j=0;j<i;j+)s=s+aij;c C则执行该程序段后,s的值是()。A. 0B. 1C. 2D. 392 .有如下定义int a口3=1,2, 3, 4, 5, 6, 7, 8; 考查二维数组的初始化B则数组a的行数是()。B. 3C. 4D.无法确定的93.以下数组
33、定义中,正确的是()。A. int a23=1,2,3,4,5,6,7; 多余 1 个D B. int a叩=1,2,3,4,5,6,7,8,9;第二维长度不能省C. int a2= 1,2,3,4,5,6;D. int a口4= 6;94.若有定义:int a34=1,2,0,1,2,3; 则 a11的值为()。A. 0A B. 1,2C. 1D. 395.若有定义:int a33;则表达式&a21-a 的值为()。A. 7/&a21-a代表两者之间的元素个数,类似指向同种类型的指针相减A B. 8C. 6D. 996.若有定义:int i=0,x=0;inta33=1,2,
34、3,4,5,6,7,8,9;则以下程序段运行后x 的值为()。for (;i<3;i+)x+=ai2-i;A. 3B. 12C. 15D. 1897.若有定义int a23;则对数组元素的非法引用是()。A. a01/2D B. a11C. a4-40D. a03cC98.以下数组定义中,正确的是()。A. int a2=1,2,3,4,5;B. int a口2=0,;C. int a22=1,2,3;D. int a口尸1,2,3,4;D99. 1t义 int a口3=1,2,3,4,5,6,7,8,9;则表达式 sizeof(a)/sizeof(a0)的值为()。A. 3B. 4C.
35、 5D. 9A100.设有以卜变量定义:char str1="string",str28,*str3,*str4="string"()是正确的。A. strcpy(str1,"China");B. str2="China"C. strcpy(*str3,"China");D. strcpy(str40,"China");D101.有如下定义:char str6= 'a','b',''0','d','
36、;e','f;则语句:printf("%s",str);的输出结果是()。A. abB. abdefC. ab0D. abC102.设有如下数组定义:char str8= "FuJian"则分配给数组str的存储空间是()个字节。A. 6B. 7C. 8D. 9103.若有定义:char a="abcdef"char b="xyz"则以下程序段运行后屏幕输出为()。strcpy(a,b);printf("%c",a2);A. cB. zC. 0D. d104.以下程序段运行后屏幕
37、输出为()。char a="abc0mis"printf("%d",strlen(a);C A. 5B. 8C. 3D. 4105.若有定义:int a=2;则语句 a=strcmp("miss","miss"); 运行后 a 的值为()。A. 1相等返回0 ,字符串1字符串2,返回一个正整数,否则返回负整数B B. 0 /strcmp(str1,str2)C. -1D. 2106.以下程序段运行后屏幕输出为()。char str="abcd" 注意代表一个反斜杠字符 Bprintf("
38、;%d",strlen(str);A. 4B. 5C. 6D. 7E. 7.以下程序段运行后屏幕输出为()。char str80;strcpy(str,"hello");printf("%d",strlen(str);A. 5B. 6C. 7D. 80()是正确的。108.若有定义:char str16="abcdm",*ps,*str2="abcdef"A. strcpy(str1,str2);B.表达式strcmp(str1,str2) 的值大于0C. str1=str2;D.表达式strlen(st
39、r1)的值为6109.设有如下函数定义:int fun(char *str)char *p=str;while (*p != '0') p+;return (p-str);则以下语句执行后的输出结果是()。返回字符串个数printf("%dn",fun("Student");A. 7B. 8C. 9D. 10110 .以下程序的运行结果是()。nt fun(int array44)int j;for( j=0;j<4;j+) printf("%2d",array2j);printf("n");
40、main()int a44=0,1,2,0,1,0,0,4,2,0,0,5,0,4,5,0;fun(a);A. 2 0 0 5B. 1 0 0 4C. 0 1 2 0D. 0 4 5 0111 .如下fun函数的类型是()。fun(float x)Cdouble y; int z ;y=x * x ;z=(int)y ;return(z);A. voidB. doubleC. intD. float112 .以下程序运行后屏幕输出为()。#include<stdio.h>int f(int x,int y)return(x+y);main()int a=2,b=3,c;c=f(a,
41、b);printf("%d+%d=%dn",a,b,c);A. 0B. 2+3=5C. 2+3=0D. 3+2=5113 .以下程序运行后屏幕输出为()。考查全局变量与局部变量的区别及范围#include<stdio.h>int a=2,b=3;int max(int a,int b)int c;c=a>b?a:b;return(c);D main()int a=4;printf("%d",max(a,b);A. 2,3B. 2C. 3D. 4114 .以下程序运行后屏幕输出为()。B #include<stdio.h>vo
42、id f(int i) /两个函数中的a不一样int a=2;a=i+;printf("%d,",a);main()int a=1,c=3;f(c);a=c+;printf("%d",a);A. 4,3B. 3,3C. 4,5D. 3,5115 .若有如下函数定义:注意静态变量的使用int fun()Dstatic int k=0;return +k;以下程序段运行后屏幕输出为(int i;for(i=1;i<=5;i+)fun();printf("%d",fun();A. 0B. 1C. 5D. 6)°116.卜面程
43、序的输出结果是()°#include <stdio.h>int global=100;fun()int global=5;Dreturn +global;void main()printf("%dn",fun();A. 100B. 101C. 5D. 6117.下列关于C语言函数的描述中,正确的是()。A.函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义不可以嵌套,但函数的调用可以嵌套C.函数的定义和函数的调用都可以嵌套D.函数的定义和函数的调用都不可以嵌套118.若有以下宏定义,#define MOD(x,y) x%y则执行以下程序段后,z的
44、值是()。int z,a=15,b=100;D z=MOD(b,a);A. 100B. 15C. 11D. 10119.以下叙述中,正确的是()。A. #define PRICE= 30 ”定义了与30等价的符号常量 PRICEB B.预编译处理命令行都必须以# "开头C.宏名只能包含大写字母和数字字符可以包括小写字母A.宏展开不占用运行时间,只占用编译时间B.预编译处理命令行必须以分号结束C. 一个源程序只能有一个预编译处理命令行D.使用带参数的宏定义时,应该说明每个参数的数据类型121 .以下的叙述中不正确的是()。A.宏展开不占用运行时间,只占用编译时间B.宏名无类型C.宏名必
45、须用大写字母表示D.预处理命令行都必须以 #号开始122 .若有定义:#define PI 3,则表达式PI*2*2的值为()。A. 12A B. 4C. 3D.不确定123.以下程序运行后,屏幕输出为()。#define MIN(a,b) (a)<(b)?(a):(b)main()int x=2,y=3,z;z=2*MIN(x,y);printf("%d",z);A. 2B. 3C. 4D. 6124 .下面程序的输出结果是()。#include <stdio.h>#define SQR(x) (x*x)void main()int a,b=3;a=SQ
46、R(b+2);printf("n%d",a);A. 11B. 25C.不定值D.产生错误125 .下面程序的输出结果是()。#include <stdio.h># define ONE 1# define TWO ONE+1# define THREE TWO+1void main()printf("%d'n",THREE-ONE);A.产生错误B. 1C. 2D. 3126.以下叙述中正确的是()。A.预处理命令行必须位于C源程序的起始位置B B.在C语言中,预处理命令行都以"#"开头C.每个C程序必须在开头包含
47、预处理命令行:#include<stdio.h>D. C语言的预处理不能实现宏定义和条件编译的功能127 .设有以下语句,则()是对a数组元素的不正确引用,其中04<10。int a10=0,1,2,3,4,5,6,7,8,9,*p=a;A. ap-a DB. *(&ai)C. piD. *(*(a+i)128 .对于基类型相同的两个指针变量之间,不能进行的运算是()。A. <CB.=C. +D.-129.执行以下程序段的输出结果是()。int a=10,*p=&a;printf("%d",+*p);B A. 10B. 11C.变量a
48、的地址D.变量a的地址+ 1130.以下程序段运行后*(p+3)的值为()。char a="good"char *p;p=a;AA. 'd'B. ''0'C.存放'd'的地址D. 'o'131.以下程序段运行后*(+p)的值为()。char a5="work"char *p;Cp=a;A. 'w'B.存放'w'的地址C. 'o'D.存放'o'的地址132.若有定义:int *p,a=4; p=&a;则以下均代表地
49、址的是()。A. a,pB B. &a,pC. &a,*pD. a,*p133.若有说明语句:double *p,a;则能通过scanf语句正确给输入项读入数据的程 序段是()。A. *p=&a;scanf("%lf",p); DB. *p=&a;scanf("%lf",*p);C. p=&a;scanf("%lf",*p);D. p=&a;scanf("%lf",p);134.在16位编译系统上,若有定义int a尸10,20,30,*p=&a;当执行p+;
50、后下列叙述错误的是()。A. p向高地址移了一个字节AB. p与a+1等价C.语句 printf("%d",*p); 输出 20D. p指向数组元素a1135.下面语句正确的是()。B A. int *p; *p=20;B. char *s="abcdef" printf("%sn",s);C. char str尸"abcd"str+; / 数组名/、能改变D. char str尸'a','b','c'printf("%s",str);/%s 输出
51、字符串,必须以'0 '结束D136.若有以下程序段,且 0MV4, 0可3,则不能正确访问 a数组元素的是()。int i,j,(*P)3;int a口3=123,4,5,6,7,8,9,10,11,12;P = a;A. *(*(a+i)+j)B. P皿 jC. (*(P+i)jD. pi+jB137.若函数fun的函数头为:int fun(int i, int j)且函数指针变量p定义如下:int(*p)(int i, int j);则要使指针p指向函数fun的赋值语句是()。A. p=*fun;B. p=fun;C. p=fun(i,j);D. p=&fun;D1
52、38.设有如下变量定义:char aa口3='a','b','c','d','e','f;char (*p)3=aa;则以下程序段的运行结果是()。p+;printf("%c",*p);A. aB. bC. cD. d139.以下程序段运行后 x的值为()。int a尸123,4,5,6,7,8;int i,x,*p;x=1;p=&a2;D for(i=0;i<3;i+)x*=*(p+i);A.不确定B. 24C. 120D. 60140.以下程序段运行后 x的值为()。i
53、nt a=1,2,3,b=4,2,5;Bint *p,*q;int i,x;p=a; q=b;for(i=0;i<3;i+) if(*(p+i)=*(q+i) x=*(p+i)*2;A. 2B. 4C. 6D.不确定C141.以下程序段运行后x的值为()。int a9=1,2,3,4,5,6,3,8,9;int *p,*q;int i,x;p=&a0;q=&a8;for(i=0;i<3;i+)if(*(p+i)=*(q-i)x=*(p+i)*2;A. 2B. 4C. 6D.不确定A 142.下面程序的输出结果是()。#include<stdio.h> v
54、oid main() int i; char *s="abc"for(i=0;i<3;i+) printf("%sn",s+i);A. abc bc cB. cbc abcC. abc c bcD. aababc143 .下面程序的输出结果是()。#include <stdio.h>void main() char *str="12345",*ps=str+4;printf("%cn",ps-4);A. 1B. 2C. 3D.错误144 .以下程序执行时,输入 1 2 3 4 5回车,输出为:#i
55、nclude <stdio.h>#define N 5void main()int aN;int *p=a;while(p<a+N)scanf("%d",p+);while(p>a)printf("%d ",*(-p);A. 5 4 3 2 1B. 1 2 3 4 5C. 2 3 4 5 1D. 4 3 2 1 5145 .设有以下定义语句:struct studentint num;char name10;float score;C wang,zhang;则不正确的叙述是()。A. struct是结构体类型的关键字B. zhang是结构体变量名C. wang是结构体类型名D. num , name , score都是结构体类型 student的成员名146 .设有以下定义语句:struct studenti
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 美容防护课堂活动方案
- 策划公司感恩节活动方案
- 电力公司质量月活动方案
- 线上陶艺活动方案
- 美甲积攒活动方案
- 申请物业活动方案
- 美术社团指导活动方案
- 美甲店庆消费活动方案
- 端午节高端活动方案
- 神奇时刻活动方案
- 贸易安全培训管理制度
- 消防救援队伍灭火救援作战训练安全专题授课
- 公安审讯技巧培训
- GB/T 24477-2025适用于残障人员的电梯附加要求
- 出纳基础知识单选题100道及答案
- 高校辅导员安全培训
- 智慧树知到《伦理与礼仪(武汉科技大学)》2025章节测试答案
- 医院空调清洗保养流程规范
- 《人体解剖学(第二版)》高职全套教学课件
- 中职高教版(2023)语文职业模块-第一单元1.2宁夏闽宁镇:昔日干沙滩今日金沙滩【课件】
- 高考数学压轴题专项训练:集合、常用逻辑用语、不等式(新定义高数观点压轴题)含答案及解析
评论
0/150
提交评论