amovep(int *p,int (*a)[3],int n) { int i,j;
for(i=0;i for(j=0;j main() { int *p,a[3][3]={{1,3,5},{2,4,6}}; p=(int*)malloc(100); amovep(p,a,3); printf(\} A:56 B:25 C:34 D:程序错误 答案:A 知识点:知识点/选择题/C9结构体与共用体/【 186、以下程序的输出结果是______。 union myun { struct { int x,y,z;}u; int k; }a; main() { a.u.x=4;a.u.y=5;a.u.z=6; a.k=0; printf(\} A:4 B:5 C:6 D:0 答案:D 知识点:知识点/选择题/C9结构体与共用体/共用体T 188、以下选项中不属于C语言类型的是______。 A:signed short int B:unsigned char C:singed long D:long short 答案:D 知识点:知识点/选择题/C2基本数据类型及表达式/基本数据类型T 189、若有说明语言:int a,b,c,*d=&c;则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是______。 A:scanf(\ B:scanf(\ C:scanf(\ D:scanf(\答案:A 知识点:知识点/选择题/C8指针/指针变量与输入函数T 198、以下程序段的输出结果是:______。 char s[]=\printf(\ A:8 B:10 C:14 D:15 答案:B 知识点:知识点/选择题/C7数组/字符串含转义字符T 202、以下不能正确进行字符串赋初值的语句为______。 A:char str[5]=\ B:char str[]=\ C:char str[6]=\ D:char str[5]={'g','o','o','d'}; 答案:A 知识点:知识点/选择题/C7数组/字符数组初始化T 203、以下程序的输出结果是______。 main() { int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1; for(i=0;i<3;i++) for(j=i;j<=i;j++) t=t+b[i][j]; printf(\} A:3 B:4 C:1 D:9 答案:B 知识点:知识点/选择题/C7数组/二维数组与双重循环T 204、以下程序的输出结果是______。 #inclue { char b1[8]=\strcpy(b2,b1+3); printf(\} A:7 B:6 C:5 D:4 答案:D 知识点:知识点/选择题/C7数组/字符串处理函数T 210、以下非法的赋值语句是______。 A:n=(i=2,++i); B:j++; C:++(i+1); D:x=j>0; 答案:C 知识点:知识点/选择题/C2基本数据类型及表达式/表达式及语句合法性判断T 211、设a和b均为double型常量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是______。 A:6.500000 B:6 C:5.500000 D:6.000000 答案:D 知识点:知识点/选择题/C2基本数据类型及表达式/简单表达式运算T 212、已知i、j、k为int型变量,若从键盘输入:1,2,3↙,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是______。 A:scanf(\ B:scanf(\ C:scanf(\ D:scanf(\答案:C 知识点:知识点/选择题/C3顺序结构程序设计/输入函数T 213、与数学式子3乘以x的n次方/(2x-1)对应的C语言表达式是______。 A:3*x^n/(2*x-1) B:3*x**n/(2*x-1) C:3*pow(x,n)*(1/(2*x-1)) D:3*pow(n,x)/(2*x-1) 答案:C 知识点:知识点/选择题/C2基本数据类型及表达式/【 216、有一函数 ┌ 1 x>0 y = ┤ 0 x=0 └ -1 x<0 以下程序段中不能根据x的值正确计算出y的值的是______。 A:if(x>0) y=1;else if(x==0) y=0;else y=-1; B:y=0;if(x>0) y=1;else if(x<0) y=-1; C:y=0;if(x>=0)if(x>0) y=1;else y=-1; D:if(x>=0) if(x>0) y=1;else y=0;else y=-1; 答案:C 知识点:知识点/选择题/C4选择结构程序设计/IF语句的嵌套T 218、有以下程序段 int n=0,p; do {scanf(\此处do-while循环的结束条件是______。 A:p的值不等于12345并且n的值小于3 B:p的值等于12345并且n的值大于等于3 C:p的值不等于12345或者n的值小于3 D:p的值等于12345或者n的值大于等于3 答案:D 知识点:知识点/选择题/C5循环结构程序设计/DO-WHILE循环T 223、有以下程序 int f(int n) {if (n==1) return 1; else return f(n-1)+1; } main() {int i,j=0; for(i=1;i<3;i++) j+=f(i); printf(\} 程序运行后的输出结果是______。 A:4 B:3 C:2 D:1 答案:B 知识点:知识点/选择题/C6函数与编译预处理/函数的递归调用T 224、有以下程序 main() {char a[]={'a','b','c','d','e','f','g','h','\\0'}; int i,j; i=sizeof(a); j=strlen(a); printf(\} 程序运行后的输出结果是______。 A:9,9 B:8,9 C:1,8 D:9,8 答案:D 知识点:知识点/选择题/C7数组/字符数组内存分配及串长度T 226、有以下程序 #include {char p[]=\printf(\} 程序运行后的输出结果是______。 A:12 B:15 C:6 D:5 答案:D 知识点:知识点/选择题/C7数组/字符数组内存分配及串长度T 229、以下程序中函数f的功能是将n个字符串,按由大到小的顺序进行排序。 #include void f(char p[][10],int n) { char t[20]; int i,j; for(i=0;i { strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);} } main() {char p[][10]={\f(p,5); printf(\} 程序运行后的输出结果是______。 A:6 B:4 C:5 D:3 答案:C 知识点:知识点/选择题/C7数组/【 236、有以下程序段 int m=0,n=0; char c='a'; scanf(\printf(\ 若从键盘上输入:10A10↙,则输出结果是______。 A:10,A,10 B:10,a,10 C:10,a,0 D:10,A,0 答案:A 知识点:知识点/选择题/C3顺序结构程序设计/输入函数T 239、有以下程序 main() { int a=5,b=4,c=3,d=2; if(a>b>c) printf(\else if((c-1>=d)==1) printf(\else printf(\} 执行后输出的结果是______。 A:2 B:3 C:4 D:编译时有错,无结果 答案:B 知识点:知识点/选择题/C4选择结构程序设计/IF语句的嵌套T 240、有以下程序 main() { int p[7]={11,13,14,15,16,17,18},i=0,k=0; while(i<7&&p[i]%2){k=k+p[i]; i++;} printf(\} 执行后输出的结果是______。 A:58 B:56 C:45 D:24 答案:D 知识点:知识点/选择题/C7数组/一维数组应用T 242、有以下程序 int f1(int x,int y) { return x>y?x:y; } int f2(int x,int y) { return x>y?y:x; } main() {int a=4,b=3,c=5,d,e,f; d=f1(a,b); d=f1(d,c); e=f2(a,b); e=f2(e,c); f=a+b+c-d-e; printf(\} 执行后输出的结果是______。 A:3,4,5 B:5,3,4 C:5,4,3 D:3,5,4 答案:C 知识点:知识点/选择题/C6函数与编译预处理/函数的定义与调用T 245、有以下程序 main() { int m[][3]={1,4,7,2,5,8,3,6,9}; int i,j,k=2; for(i=0;i<3;i++) { printf(\} 执行后输出结果是______。 A:4 5 6 B:2 5 8 C:3 6 9 D:7 8 9 答案:C 知识点:知识点/选择题/C7数组/二维数组与双重循环T 246、有以下程序 main() { char s[]=\ printf(\} 执行后输出结果是______。 A:赋初值的字符串有错 B:6,7 C:5,6 D:6,6 答案:C 知识点:知识点/选择题/C7数组/字符数组内存分配及串长度T 248、设有如下说明 typedef struct { int n; char c; double x;}STD; 则以下选项中 ,能正确定义结构体数组并赋初值的语句是______。 A:STD tt[2]={{1,'A',62},{2,'B',75}}; B:STD tt[2]={1,\ C:struct tt[2]={{1,'A'},{2,'B'}}; D:struct tt[2]={{1,\答案:A 知识点:知识点/选择题/C9结构体与共用体/结构体数组定义与初始化T 249、有以下程序 main() { union{ unsigned int n; unsigned char c; }ul; ul.c='A'; printf(\} 执行后输出结果是______。 A:产生语法错 B:随机值 C:A D:65 答案:C 知识点:知识点/选择题/C9结构体与共用体/共用体T 257、以下选项中非法的表达式是______。 A:0<=x<100 B:i=j==0 C:(char)(65+3) D:x+1=x+1 答案:D 知识点:知识点/选择题/C2基本数据类型及表达式/表达式及语句合法性判断T 259、设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是______。 A:x=x*100+0.5/100.0; B:x=(x*100+0.5)/100.0 C:x=(int)(x*100+0.5)/100.0; D:x=(x/100+0.5)/100.0; 答案:C 知识点:知识点/选择题/C2基本数据类型及表达式/【 260、有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不为3的是______。 A:if (c B:if (a<3) x=3; else if (a<2) x=2; else x=1; C:if (a<3) x=3; if (a<2) x=2; if (a<1) x=1; D:if (a 261、有以下程序 main() { int s=0,a=1,n; scanf(\do {s+=1; a=a-2;} while(a!=n); printf(\} 若要使程序的输出值为2,则应该从键盘给n输入的值是______。 A:-1 B:-3 C:-5 D:0 答案:B 知识点:知识点/选择题/C5循环结构程序设计/DO-WHILE循环T 262、若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)。 s=a; for(b=1;b<=c;b++) s=s+1; 则与上述程序段功能等价的赋值语句是______。 A:s=a+b; B:s=a+c; C:s=s+c; D:s=b+c; 答案:B 知识点:知识点/选择题/C5循环结构程序设计/FOR循环结构T 264、以下选项中不能正确把cl定义成结构体变量的是______。 1) typedef struct {int red; int green; int blue; } COLOR; COLOR cl; 2) struct color cl { int red; int green; int blue; }; 3) struct color { int red; int green; int blue; }cl; 4) struct {int red; int green; int blue; }cl; A:1 B:2 C:3 D:4 答案:B 知识点:知识点/选择题/C9结构体与共用体/结构体类型及变量定义T 266、若有定义:int *p[3];,则以下叙述中正确的是______。 A:定义了一个基类型为int的指针变量p,该变量具有三个指针 B:定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针 C:定义了一个名为*p的整型数组,该数组含有三个int类型元素 D:定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素 答案:B 知识点:知识点/选择题/C8指针/指针数组基础知识T 273、若以下选项中的变量已正确定义,则正确的赋值语句是______。 A:x1=26.8%3; B:1+2=x2; C:x3=0x12; D:x4=1+2=3; 答案:C 知识点:知识点/选择题/C2基本数据类型及表达式/表达式及语句合法性判断T 274、设有定义:float a=2,b=4,h=3;,以下C语言表达式中与代数式1/2(a+b)h计算结果不相符的是______。 A:(a+b)*h/2 B:(1/2)*(a+b)*h C:(a+b)*h*1/2 D:h/2*(a+b) 答案:B 知识点:知识点/选择题/C2基本数据类型及表达式/【 276、以下4个选项,不能看作一条语句的是______。 A:{;} B:a=0,b=0,c=0; C:if(a>0); D:if(b==0)m=1;n=2; 答案:D 知识点:知识点/选择题/C2基本数据类型及表达式/表达式及语句合法性判断T 277、以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是______。 A:if((a>b)&&(b>c))k=1; else k=0; B:if((a>b)||(b>c))k=1; else k=0; C:if(a<=b) k=0; else if(b<=c) k=1; D:if(a>b) k=1; else if(b>c) k=1; else k=0; 答案:A 知识点:知识点/选择题/C4选择结构程序设计/IF语句的嵌套T 279、有以下程序 main() { int x=0,y=5,z=3; while(z-->0&&++x<5) y=y-1; printf(\} 程序执行后的输出结果是______。 A:3,2,0 B:3,2,-1 C:4,3,-1 D:5,-2,-5 答案:B 知识点:知识点/选择题/C5循环结构程序设计/WHILE循环 结构T 280、有以下程序 main() { int i,s=0; for(i=1;i<10;i+=2) s+=i+1; printf(\} 程序执行后的输出结果是______。 A:自然数1~9的累加和 B:自然数1~10的累加和 C:自然数1~9中奇数之和 D:自然数1~10中偶数之和 答案:D 知识点:知识点/选择题/C5循环结构程序设计/FOR循环结构T 283、有以下程序段 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b; b=p[5]; b中的值是______。 A:5 B:6 C:8 D:9 答案:D 知识点:知识点/选择题/C8指针/指针处理一维数组T 285、有以下程序 struct STU{ char name[10]; int num; }; void f1(struct STU c) {struct STU b={\c=b; } void f2(struct STU *c) {struct STU b={\*c=b; } main() {struct STU a={\f1(a);f2(&b); printf(\} 执行后输出结果是______。 A:2041 2044