1、计算机等级考试二级 C 语言超级经典 400 道题目1、C 语言程序的基本单位是_c_ A) 程序行 B) 语句 C) 函数 D) 字符、C、12、C 语言程序的三种基本结构是_a_ A、顺序结构,选择结构,循环结构 B、递归结构,循环结构,转移结构 C、嵌套结构,递归结构,顺序结构 D、循环结构,转移结构,顺序结构、A、13、C 语言规定,程序中各函数之间 A) 既允许直接递归调用也允许间接递归调用 B) 不允许直接递归调用也不允许间接递归调用 C) 允许直接递归调用不允许间接递归调用 D) 不允许直接递归调用允许间接递归调用、A、14、C 语言中可处理的文件类型是( b) A) 文本文件和
2、数据文件 B)文本文件和二进制文件 C) 数据文件和二进制文件 D)数据代码文件、B、15、C 语言可执行程序的开始执行点是( c) A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的 main函数 D) 包含文件中的第一个函数、C、16、C 语言提供的合法的数据类型关键字是 A)double B) short C) integer D) char、B、17、C 语言中,运算对象必须是整型数的运算符是 a A) % B) C) %和 D) * *、A、18、C 语言中函数返回值的类型是由( d)决定。 A) return 语句中的表达式类型 B) 调用函数的主调函数类型 C)
3、 调用函数时临时 D) 定义函数时所指定的函数类型、D、19、C 语言中数组名作为参数传递给函数,作为实在参数的数组名被处理为_。 A、 该数组的长度。 B、该数组的元素个数。 C、 该数组中各元素的值。 D、 该数组的首地址。、D、110、C 语言中数组下标的下限是_。 A、1 B、0 C、视具体情况 D、无固定下限、B、111、C 语言中提供的合法关键字是_ A、swith B、cher C、case D、default、D、112、C 语言中文件的存取方式是_c_。 A、顺序存取 B、随机存取 C、顺序存取、随机存取均可 D、顺序存取、随机存取均不可、C、113、C 语言中最简单的数据类
4、型包括 A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、字符型、逻辑型 D) 整型、实型、逻辑型、字符型、B、114、sizeof(float)是(c ) A) 一种函数调用 B) 一个不合法的表示形式 C) 一个整型表达式 D) 一个浮点表达式、C、1b15、x、y、z 被定义为 int型变量,若从键盘给 x、y、z 输入数据,正确的输入语句是 A) input x,y,z; B) scanf(“%d%d%d“, C) scanf(“%d%d%d“,x,y,z); D) read(“%d%d%d“,、B、116、表达式:10!=9 的值是 A) true B) 非零值 C)
5、0 D) 1、D、117、表示关系 x0 B) !a C) a=0 D) a、B、132、若已定义 x和 y为 double类型,则表达式:x=1,y=x+3/2 的值是 A)1 B)2 C)2、0 D)2、5、C、133、若有定义:int a=8,b=5,c;,执行语句 c=a/b+0、4;后,c 的值为 A) 1、4 B) 1 C) 2、0 D) 2、B、134、若有定义:int x,y;char a,b,c;并有以下输入数据(此处 代表换行符,/u 代表空格): 1u2 AuBuC 则能给 x赋整数 1,给 y赋整数 2,给 a赋字符 A,给 b赋字符 B,给 c赋字符 C 的正确程序段
6、是 A) scanf(“x=%d y+%d“,a=getchar();b=getchar();c=getchar(); B) scanf(“%d %d“,a=getchar();b=getchar();c=getchar(); C) scanf(“%d%d%c%c%c, D) scanf(“%d%d%c%c%c%c%c%c:、D、135、若有定义和语句: char s10:s=“abcd“;printf(“%sn“,s); 则结果是(以下 u代表空格) A) 输出 abcd B) 输出 a C) 输出 abcduuuuu D) 编译不通过、D、136、若有以下程序段, int c1=1,c2=
7、2,c3; c3=1、0/c2*c1; 则执行后,c3 中的值是 A) 0 B) 0、5 C) 1 D) 2、A、137、若有以下定义: char a; int b; float c; double d; 则表达式 a*b+d-c值的类型为 A) float B) int C) char D) double、D、1 数据类型相运算38、若有以下定义和语句 char c1=b,c2=e; printf(“%d,%cn“,c2-c1,c2-a+“A“); 则输出结果是: A)2,M B)3,E C)2,E D)输出项与对应的格式控制不一致,输出结果不确定、B、139、若有以下函数调用语句: fun
8、(a+b,(x,y),fun(n+k,d,(a,b);在此函数调用语句中实参的个数是 A)3 B)4 C)5 D)6、A、1 实参与形参41、若执行下面的程序时从键盘上输入 5,则输出是 A) 7 B) 6 C) 5 D) 4 main() int x; scanf(“%d“, if(x+5) printf(“%dn“,x); else printf(“%dn“,x-);、B、143、设 a、b、c、d、m、n 均为 int 型变量,且 a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式 (m=ab)表达式(b2)/(b1)的值是 A) 0 B) 2 C) 4 D) 8、A、146、
9、设 a,b和 c都是 int型变量,且 a=3,b=4,c=5,则下列表达式中,值为 0的表达式是_ A)ay=x-y;y=x-y;x-=y;的功能是 A、把 x 和 y按从大到小排列 B、把 x和 y按从小到大排列 C、无确定结果 D、交换 x和 y中的值、D、150、设有 int x=11; 则表达式 (x+ * 1/3) 的值是 A) 3 B) 4 C) 11 D) 12、A、1 运算符51、设有如下的变量定义: int i =8,k ,a,b ; unsigned long w=5; double x=1,42,y=5、2; 则以下符合 C语言语法的表达式是 A、 a+=a-=(b=4
10、)*(a=3) B、 x%(-3); C、 a=a*3=2 D、 y=float(i)、A、152、设有如下定义: char *aa2=“abcd“,“ABCD“; 则以下就法中正确的是 A) aa 数组成元素的值分别是“abcd“和 ABCD“ B) aa是指针变量,它指向含有两个数组元素的字符型一维数组 C) aa 数组的两个元素分别存放的是含有 4个字符的一维字符数组的首地址 D) aa 数组的两个元素中各自存放了字符a和A的地址、D、153、设有如下定义: int x=10,y=3,z; 则语句 printf(“%dn“,z=(x%y,x/y)代表什么); 的输出结果是 A) 1 B)
11、 0 C) 4 D) 3、D、154、设有数组定义: char array =“China“; 则数组 array 所占的空间为 A) 4 个字节 B) 5 个字节 C) 6 个字节 D) 7 个字节、C、155、设有说明语句:char a=72;则变量 a A) 包含 1个字符 B) 包含 2个字符 C) 包含 3个字符 D) 说明不合法、A、156、设有以下语句:int x=03,y=02,z=01;那么语句 printf(“%d“,x|y B、if(x=y) x+=y; C、if(x!=y) scanf(“%d“, D、if(x、C、1 为什么第一个和第三个58、下列变量定义中合法的是
12、A) short _a=1-、le-1; B) double b=1+5e2、5; C) long do=0xfdaL; D) float 2_and=1-e-3;、A、1 定义59、下列标识符中不合法的是_ A、s_name B、_e C、fox D、3DS、D、160、下列不正确的转义字符是 A) B) “ C) 074 D) 0、C、161、请读程序: main() int a=1,b=2; printf(“%dn“,a=a+1,a+6,b+2); 则上面程序的输出结果是_ A、2 B、3 C、4 D、1、A、1?62、请读程序: int i=0,j=0,a=6; if(+i0)|(+j
13、0)a+; printf(“i=%d,j=%d,a=d%n“,i,j,a); 则上面程序的输出结果是_ A、i=0,j=0,a=6 B、i=1,j=0,a=7 C、i=1,j=1,a=6 D、i=1,j=1,a=7、B、163、下列程序段的输出结果为_? int y=1; while(y-); printf(“y=%dn“,y); A、y=-1B、y=0C、死循环 D、y=9 、A、165、下列程序执行后的输出结果是 A) G B) H C) i D) J main() int x=f; printf(“%c n“,A+(x-a+1); 、A、166、下列程序执行后的输出结果是(小数点后只写一
14、位) A) 6 6 6、0 6、0 B) 6 6 6、7 6、7 C) 6 6 6、0 6、7 D) 6 6 6、7 6、0 main() double d; float f; ling l; int i; i=f=1=d=20/3; printf(“%d %ld %f %f n“, i,l,f,d); 、A、167、下列可作为 C语言赋值语句的是 A)x=3,y=5 B)a=b=6 C)i-; D)y=int(x);、C、168、下列描述中不正确的是 A) 字符型数组中可以存放字符串 B) 可以对字符型数组进行整体输入、输出 C) 可以对整型数组进行整体输入、输出 D) 不能在赋值语句中通过
15、赋值运算符“=“对字符型数组进行整体赋值、C、169、下列说法中正确的是_。 A、在 switch语句中一定要使用 break语句 B、在 switch语句中不一定要使用 break语句 C、break 语句是 switch语句的一部分 D、break 只能用于 switch语句中、B、170、下列运算符其优先级最高的是_。 A、| B、 if(b%3=1) b+=3; continue; b-=5; A) 7 B) 8 C) 9 D) 10、B、2104、在执行以下程序时,如果从键盘上输入:ABCdef回车,则输出为 A)ABCdef B)abcdef C)abc D)DEF # inclu
16、de main() chsr ch; while(ch=getchar()!=n) if(ch=A B) if(x) else if(x0)y=1; else y=0; else if(x=0) if(x0)y=1; if(x0)y=1; else if(x=0)y=0; else y=-1; else y=-1;、A、2119、以下合法的赋值语句是 A) x=y=100 B) d-; C) x+y; D) c=int(a+b);、B、2120、以下函数返回 a所指数组中最小的值所在的下标值 fun(int *a, int n) int i,j=0,p; p=j; for(i=j;i、D、21
17、21、以下函数值的类型是 fun ( float x ) float y; y= 3*x-4; return y; A) int B) 不确定 C) void D) float、A、2122、以下说法中正确的是 A) C 语言程序总是从第一个的函数开始执行 B) 在 C语言程序中,要调用的函数必须在 main()函数中定义 C) C 语言程序总是从 main()函数开始执行 D) C 语言程序中的 main()函数必须放在程序的开始部分、C、2123、以下所列的各函数首部中,正确的是 A) void play(var a:integer,var b:integer) B) void play(
18、int a,b) C) void play(int a,int b) D) sub play(a as integer,b as integer)、C、2124、以下叙述正确的是 A)输入项可以是一个实型常量,如: scanf(“%f“、3、5); B)只有格式控制,没有输入项,也能正确输入数据到内存,例如: scanf(“a=%d,b=%d); C)当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如: scanf(“%4、2f“, D)当输入数据时,必须指明变量地址,例如: scanf(“%f、 、C、2125、以下叙述正确的是 A) do-while 语句构成的循环不能用其它语
19、句构成的循环来代替。 B) do-while语句构成的循环只能用 break语句退出。 C) 用 do-while语句构成的循环,在 while后的表达式为非零时结束循环。 D) 用 do-while语句构成的循环,在 while后的表达式为零时结束循环。、D、2126、以下叙述中不正确的是 A) 在 C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值。B) 在 C中,在调用函数时,实在参数和对应形参在类型上只需赋值兼容。 C) 在 C中,外部变量的隐含类别是自动存储类别。 D) 在 C中,函数形参可以说明为 register变量。、C、2127、以下叙述中不正确的是_ A) 在不同的函
20、数中可以使用相同名字的变量 B) 函数中的形式参数是局部变量 C) 在一个函数内定义的变量只在本函数范围内有效 D) 在一个函数内的复合语句中定义的变量在本函数范围内有效、D、2128、以下程序运行后,输出结果是 A)1000 B)10010 C)00110 D)10100 main () int y=18,i=0,j,a8; do ai=y%2;i+; y=y/2; while(y=1); for(j=i-10;j-)printf(%d“,aj); printf(“hn“); 、B、2129、以下程序运行后,如果从键盘上输入: book book 则输出结果是 A)*8 B)#9 C)#6
21、D)*9 #include main() char a180,a280,*s1=a1,*s2=a2; gets(s1); gets(s2); if(!strcmp(s1,s2) printf(“*”); else printf(“#”); printf(“%dn”,strlen(strcat(s1,s2) 、B、2130、以下程序运行后,输出结果是 A)6385 B)22 C)33 D)693825 main() char ch25=“693“,“825“,*p2; int i,j,s=0; for (i=0;i=0 else return(2); main0 printf(“%dn“,fib
22、(3); 该程序的输出结果是 A) 2 B) 4 C) 6 D) 8、B、2149、有如下程序 main() char s=“ABCD“, *p; for(p=s+1; p、D、2150、有如下程序 main0 int a33=1,2,3,4,5,6,i,j,s=0; for(i=1;i、A、2151、有如下程序 main0 int a=2,b=-1,c=2; if(a、C、2152、有如下程序 main0 int i,sum; for(i=1;i6) n-;printf(“%d“,n); 该程序段的输出结果是 A) 987 B) 876 C) 8765 D) 9876、B、2155、有如下程
23、序 main0 int x=1,a=0,b=0; switch(x) case 0: b+; case 1: a+ case 2: a+;b+ printf(“a=%d,b=%dn“,a,b); 该程序的输出结果是 A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2、A、2156、有如下程序 main0 int y=3,x=3,z=1; printf(“%d %dn“,(+x,y+),z+2); 运行该程序的输出结果是 A) 3 4 B) 4 2 C) 4 3 D) 3 3、D、2157、有如下程序段 int *p,a=10,b=1 p= a=*p+b; 执
24、行该程序段后,a 的值为 A) 12 B) 11 C) 10 D) 编译出错、B、2158、有如下说明 int a10=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、B、2159、请读程序: # include void main( ) char x=112,y=211; printf(“n%d“,x=0;i-) ai=10-i; printf(“%d%d%d“,a2,a5,a8); A) 258 B) 741 C) 852 D) 369、C、2161、以下程序的输出结果是 main() int
25、 i,k,a10,p3: k=5; for (i=0;i、B、2162、以下程序的输出结果是 main() int num= 0; while(num20) break; while(a=14); 、 、(39) 若有以下调用语句,则不正确的 fun函数的首部是 A) void fun(int m, int x) B) void fun(int s, int h41) C) void fun(int p, int *s) D) void fun(int n, int a) main() int a50,n; fun(n, 、B、2173、以下程序段给数组所有的元素输入数据,请选择正确答案填入。
26、 #include main() int a10,i=0; while(i、A、2174、以下程序输出结果是 A、7 B、6 C、5 D、4 main ( ) int m=5; if (m+5 print (“%dn“,m); else printf (“%dn“,m-); 、B、2175、以下程序运行后,如果从键盘上输入 ABCDE,则输出结果为 A、8 B、7 C、6 D、5 fuch (char str int num =0; while (*(str +num )!=0)num +; return(num ); main() char str 10,*p=str ; gets(p);
27、printf(“%dn“,func(p); 、D、2176、以下程序运行后,输出结果是 A 49、5 B 9、5 C22、0 D45、0 #include #define PT 5、5 #difine s(x) pt*x*x main() int a=1,b=2; print (“%4、lf/n“,S(a+b); 、B、2177、以下程序运行后,输出结果是 A 8,15 B 8,16 C 8,17 D 8,8 func ( int m=0 ,i=2; i+=m+1; m=i+a+b ; return(m); main() int k=4,m=1,p; p=func (k,m);printf(“
28、%d,“,p); p=func (k,m);printf(“%dn“,p); 、C、2178、以下程序运行后,输出结果是 A、ABCDEFG B、CDG C、abcdefgh D、abCDefGh main() siatic char a=“ABCDEFGH“,b=“abCDefGh“; char *p1,*p2; int k; p1=a; p2=b; for(k=0;k8;y=+i) printf(“%d,%d “,x-,y); 、D、2189、以下程序的输出结果是 A) 123456780 B) 123 456 780 C) 12345678 D) 147 main( ) char ch3
29、4=“123“,“456“,“78“, *p3; int i; for(i=0;i、C、2190、以下程序的输出结果是 A) 16 B) 2 C) 9 D) 1 #define SQR(X) X*X main() int a=16, k=2, m=1; a/=SQR(k+m)/SQR(k+m); printf(“dn“,a); 、B、2191、以下程序的输出结果是 A) 17,021,0x11 B) 17,17,17 B) 17,0x11,021 D) 17,21,11 main( ) int k=17; printf(“%d,%o,%x n“,k,k,k); 、D、2192、以下程序的输出结
30、果是 A) 18 B) 19 C) 20 D)21 main() int a33= 1,2,3,4,5,6 ,i,j,s=0; for(i=1;i0; y-) if(y%3=0) printf(“%d“, -y);continue; 、 、B、2226、下面程序的输出是 A) ABCD B) A C) D D) ABCD BCD B C ABC CD C B AB D D A A char s=“ABCD“; main() char *p; for(p=s; p、A、2238、请读程序: int x=10; int y=x+; printf(“%d,%d“,(x+,y),y+); 则上面程序的
31、输出结果是_ A:11,10 B:11,11 C:10,10 D:10,11、A、2239、下列程序的运行结果是 A) a=%2,b=%5 B) a=2,b=5 C) a=d, b=d D) a=%d,b=%d #include main() int a=2,c=5; printf(“a=%d,b=%dn“,a,c); 、B、2240、下列程序的输出结果是 main( ) char ch25=“6934,“8254“,*p2; int i,j,s=0; for(i=0;i0 if(b%3=1) b+=3; continue; b-=5; printf(“%dn“,a); 程序的输出结果是: A
32、) 7 B) 8 C) 9 D) 10 、B、2275、请选出以下程序的输出结果 #include main() int a = 1,2,3,4 ,i; int x=0; for(i=0; i、C、2276、请选出以下程序的输出结果 #include sub(x,y,z) int x, y, *z; *z=y-x; main() int a, b, c; sub(10,5, sub(7,a, sub(a,b, printf(“%d,%d,%dn“, a,b,c); A) 5,2,3 B) -5,-12,-7 C) -5,-12,-17 D) 5,-2,-7、B、2277、请选出以下程序段的输出
33、结果 #include main() char sl10, s210, s310, s410; scanf(“%s%s“,s1,s2); gets(s3); gets(s4); puts(s1); puts(s2); puts(s3); puts(s4); 输入数据如下:(此处代表回车符) aaaa bbbb cccc dddd A) aaaa B) aaaa bbbb bbbb cccc cccc dddd dddd C) aaaa D) aaaa bbbb bbbb cccc cccc dddd dddd eeee、A、2278、请读程序: #include main() float x,
34、y; scan(“%f“, if(x5) printf(“%d“,x); else printf(“%dn“,x - -); A) 7和 5 B) 6和 3 C) 7和 4 D) 6和 4、A、2283、能正确表示 a和 b同时为正或同时为负的逻辑表达式是 A) (a=0b=0) scan(“%f%f“, z=x/y; while(1) if(fabs(z)1、0) x=y; y=z; z=x/y; else break printf(“%fn“,y); 若运行时从键盘上输入 3、6 2、4(表示回车),则输出的结果是 A) 1、500000 B) 1、600000 C) 2、000000 D
35、) 2、400000 、B、2285、请读程序: #include #include void fun( char *s) char a10; strcpy( a, “STRING“); s=a; main() char *p; fun(p); x=f(a, 3); printf(“%sn“,p); 上面程序的输出结果是(表示空格) A) STRING B) STRING C) STRING D) 不确定的 、D、2286、请读程序: #include char fun(char *c) if( *c=A) *c-=A-a; return *c; main() char s81, *p=s;
36、gets(s); while(*p) *p=fun(p); putchar(*p); p+; putchar(n); 若从键盘上输入 OPEN THE DOOR(表示回车),则上面程序的输出结果是 A) oPEN tHE dOOR B) open the door C) OPEN THE DOOR D) Open The Door、B、2287、请读程序: #include int a=2,4,6,8; main() int i; int *p=a; for(i=0;i、A、2288、请读程序: #include main() int mun=0; while(num0?a:-a; b=b0?
37、b:-b; c=a*b; if(c=0) return(0); while(a!=b) if(ab) a-=b; else b-=a; return(c/a); gys(a,b) int a,b; if(a*b=0) return(0); a=a0?a:-a; b=b0?b:-b; while(a!=b) if(ab) a-=b;else b-=a; return(a); 请写出上面程序的运行结果: A、a=30 b=63 gbs=189 gys=9 B、a=27 b=63 gbs=190 gys=10 C、a=27 b=63 gbs=189 gys=9 D、a=27 b=63 gbs=188
38、 gys=10、C、3311、请读程序: main() int *p,x; x=10; *p=x; printf(“%dn“,*p); 请判断上面程序_ A、错误:*p=x; printf(“%dn“),*p); 正确:p= printf(“%dn“,p); B、错误:*p=x; printf(“%dn“),*p); 正确:p=*x; printf(“%dn“,p);C、错误:int *p,x; 正确:int *(p),*(x);D、错误:*p=x; 正确:p=、A、3312、根据下面的定义,能打印出字母 M的语句是_ A) printf(“%cn“,class3、name); D) prin
39、tf(“%cn“,class2、name0); B) printf(“%cn“,class3、name1); C) printf(“%cn“,class2、name1); struct person char name9; int age; struct person class10=“John“,17, “Paul“,19, “Mary“,18, “Adam“,16;、D、3313、假定建立了以下链表结构,指针 p、q 分别指向如图所示的结点,则以下可以将 q所指结点从链表中删除并释放该结点的语句组是 A) free(q); p-next=q-next; B) (*p)、next=(*q)、
40、next; free(q);C) q=(*q)、next; (*p)、next=q; free(q); D) q=q-next; p-next=q; p=p-next; free(p);、B、3314、假定下列程序的可执行文件名为 prg、exe,则在该程序所在的子目录下输入命令行: prg hello good后,程序的输出结果是 A) hello good B) hg C) hel D) hellogood main()(int argc, char *argv) int i; if(argc0) printf(“%s“,argvargc); printf(“n“); 、D、3316、利用
41、数组写出一个与 int *p4等价的说明。 A、int B、int p4; C、int *p4; D、int *(*p4);、B、3317、请选出以下程序段的输出结果 #include #define MIN(x,y) (x)、A、3318、若 a=5,b=3,c=4,逻辑表达式!(a+b)char y; struct abc s1,s2; 则会发生的情况是 A) 编译进错 B) 程序将顺利编译连接执行 C) 能顺利通过编译连接但不能执行 D) 能顺利通过编译但连接出错、A、3321、若想要通过异或运算对变量 a进行高 4位求反,低四位不变,则 b应为_。(二进制表示) A、11110000
42、B、00001111 C、视 a值而定 D、不可能实现、A、3322、若要打开 A盘上 user子目录下名为 abc、txt 的文本文件进行读、写操作,下面符合此要求的函数调用是 A) fopen(“A:userabc、txt“,“r“) B) fopen(“A:userabc、txt“,“r+“) C) fopen(“A:userabc、txt“,“rb“) C) fopen(“A:userabc、txt“,“w“)、B、3323、若给定条件表达式(M)?(a+):(a-)则 其中表达式 M和_等价。 A、(M=0) B、(M=1) C、(M!=0) D、(M!=0)、C、3324、若已定义
43、:int a9,*p=a;并在以后的语句中未改变 p的值,不能表示 a1 地址的表达式是 A) p+1 B) a+1 C) a+ D) +p、C、3325、若要用下面的程序片段使指针变量 p指向一个存储整型变量的动态存储单元: int *p; p=_ malloc( sizeof(int); 则应填入 A)int B)int * C)(*int) D)(int *)、D、3326、以下程序的输出结果是_ main() int x,y,z; x=y=z=0; +x printf(“%d,%d,%dn”,x,y,z); A、1,1,1 B、1,0,0 C、1,1,0 D、1,0,1、C、3327、
44、若以下程序所生成的可执行文件名为 filel、exe ; 当打入以下命令行执行该程序时; FILE1 CHINA BEIJING SHANGHA1 程序的输出结果是 A、 XHIN VWIJINF AHANJHAI B、 FILE1 CHINA BEIJING C、 C B S D、 F C B main(int arge,char * argv ) char ch 7=“65ab21“; int i,s=0; for (i=0;ch i=0i+=2) s=10*s+chi-0; print (“%dn“,s) 、A、3328、若有定义和语句: int *pp,*p,a=10,b=20; pp
45、=p=p=printf(“%dn“,*p,*pp); 则输出结果是: A)10,20 B)10,10 C)20,10 D)20,20、D、3329、若有说明语句:int a,b,c,*d=,则能正确从键盘读入三个整数分别赋给变量 a、b、c 的语句是 A) scanf(“%d%d%d“, B) scanf(“%d%d%d“, C) scanf(“%d%d%d“,a,b,d); D) scanf(“%d%d%d“,a,b,*d);、A、3330、若有说明:int i, j=2,*p=,则能完成 i=j赋值功能的语句是 A) i=*p; B) p*=* C) i= D) i=*p;、B、3331、
46、若有说明:int i,j=7, *p=,则与 i=j;等价的语句是 A) i= *p; B) *p=* C) i= D) i=* *p;、B、3332、若有说明:long *p,a;则不能通过 scanf语句正确给输入项读入数据的程序段是 A) *p= scanf(“%ld“,p); B) p=(long *)malloc(8); scanf(“%ld“,p); C) scanf(“%ld“,p= D) scanf(“%ld“,、A、3333、若有以下的定义: int a=1,2,3,4,5,6,7,88,9,10, *p=a; 则值为 3的表式是 A) p+=2, *(p+) B) p+=2
47、,*+p C) p+=3, *kp+ D) p+=2,+*p、A、3334、若有以下的说明,则对初值中字符a的引用方式为_。 static struct char ch; double x; char a; c22=a,3、5,bc,c,4、5,de,m,8、6,abc; A、c、ch B、c00、ch C、c11、ch D、a0、B、3335、若有以下的说明和语句,则在执行 for语句后,*(*(pt+l)+2)表示的数组元素是 A) t20 B) t22 C) tl2 D) t2l int t33, *pt(3, k; for (k=0;k、C、3336、若有下面的说明和定义: struct test int ml; char m2; float m3; union uu char ul5;int u22; ua; myaa; 则 sizeof(struct test )的值是_ A) 12 B) 16 C) 14 D) 9、A、3