11级C语言练习题考前.docx
- 文档编号:27210569
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:23
- 大小:31.41KB
11级C语言练习题考前.docx
《11级C语言练习题考前.docx》由会员分享,可在线阅读,更多相关《11级C语言练习题考前.docx(23页珍藏版)》请在冰豆网上搜索。
11级C语言练习题考前
C语言练习题
一.单项选择题
1.下列常数中,错误的是:
______。
A.012B.1.25C.3.4e0.5D.0xFA
2.下列的变量名中,错误的是:
______。
A.x2B.root_xC.intD.total
3.C语言中,运算对象必须是整型量的运算符是:
_____.
A.%B./C.!
D.<
4.表达式:
(5+6)!
=0的值是:
______.
A.0B.1C.falseD.TRUE
5.设程序中x,y,z均已赋大于1的整数,下列能正确表示:
的C语言表达式是:
______.
A.2a/x+YB.2*a/x+yC.2*a/(x+y)D.(2*a)/x+y
6.能正确表达S在区间[-1,3]的C语言表达式是:
______.
A.S>=-1&&S<=3B.–1<=S<=3
C.–1<=S||S<=3D.!
(S>=-1)&&(S<=3)
7.设整型变量a为3,使b为1的表达式是:
_____.
A.b=a%4B.b=a>3?
2:
1C.b=a-(--a)D.b=(a++)%3
8.设charch1=′A′;表达式ch1+5的值是:
______.
A.′A′B.′F′C.‘E’D.不确定
9.下列语句中正确的是:
_______.
A.a=b*c=a++;B.a=b+c=d+2;
C.a+=a+=b-c;D.(a+b)++;
10.能正确表示a和b同时为正或同时为负的逻辑表达式是___。
A)(a>=0||b>=0)&&(a<0||b<0)B)(a+b>0)&&(a+b<=0)
C)a*b>0D)(a>=0&&b>=0)&&(a<0&&b<0)
11.设有定义:
inta=0,b=5,c;执行语句c=(a=b)||++a&&b++后,a、b、c的值分别是_____。
A)5,5,1B)4,6,1C)1,6,1D)1,5,0
12.设doublex=3.4567;intm;以下能实现将x中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是。
A)x=(x*100+0.5)/100.0B)m=x*100+0.5,x=m/100.0
C)x=x*100+0.5/100.0D)x=(x/100+0.5)*100.0
13.以下叙述中正确的是____。
A).while循环语句的循环体至少执行一次
B).switch语句中每个语句序列中必须有break语句。
C).do-while循环语句的循环体至少执行一次
D).在多重循环中,continue语句只能出现最内层循环体内。
14.以下while循环执行__________.
intm=8;while(m=0)m=m-1;
A)8次B)一次C)一次也没执行D)无限循环
15.以下程序段中,不能实现1+2+3+4+…….+10的程序段是______.
A)inti=0,s=0;while(i<=10)s+=i;
B)inti,s;for(s=0,i=1;i<11;i++)s+=i;
C)inti=0,s=0;do{s+=i;++i;}while(i<=10);
D)inti,s;for(i=1,s=0;i<=10;)s+=i++;
16.下列要将2,4,6,8存入数组a中,不正确的是______.
A)inta[4]={2,4,6,8};B)inta[]={2,4,6,8};
C)inta[4];a={2,4,6,8};D)inta[4];a[0]=2;a[1]=4,a[2]=6;a[3]=8;
17.若有说明:
inta[5][5];则对数组元素的正确引用是______.
A)a[3+2][3]B)a[0,3]C)a[4][1+2]D)a[][2]
18.下列二维数组初始化中,错误的是________.
A)inta[2][]={{3,4},{5}};B)inta[][3]={2,3,4,5,6,7};
C)inta[3][3]={0};D)inta[5][4]={{1,2},{2,3},{3,4},{4,5}};
19.若有以下数组定义:
charch[]=”book_120\n”;则数组ch的存储长度是____;
A)7B)8C)9D)10
201.设有以下定义:
chars1[10],s2[10];给s1和s2通过输入赋值正确的是______.
A)scanf(“%s%s”,&s1,&s2);B)scanf(“%s%s”,s1,s2);
C)s1=getchar();s2=getchar();D)gets(s1,s2);
21.在数组:
inta[][3]={{1},{3,2},{4,5,6},{0}};中,数组元素a[2][1]的值是________.
A)3B)4C)5D)2
22.设有如下定义:
chars1[20]=”tianjin”,s2[10]=”beijing”;
执行语句:
strcpy(s1+4,s2);printf(“%s”,s1);后,输出结果是:
_______.
A)tianB)tianbeijingC)tianjinbeijingD)tianbeij
23.设有定义语句:
intm[]={5,4,3,2,1},i=2;,下面数组元素引用错误的是____,
A)m[--i]B)m[i*i]C)m[m[0]]D)m[m[i]]
24.一个C程序的执行是________.
A)从程序的main()函数开始执行。
B)从本程序的第一个函数开始执行。
C)从本程序第一条语句开始执行
D)从#include处开始执行
25.以下叙述中不正确的是_______。
A)在一个函数中可以有多条return语句
B)调用函数时实际参数不能是常数
C)形参不能是常数
D)形参和实参是数组时,调用函数和被调用函数处理的是同一个数组
26.函数strcpy()应使用的包含文件是:
_______。
A)#include
C)#include
27.定义inta,*p1;若使p1指向a,在程序中应使用_______。
A)*p1=&a;B)p1=&a;C)p1=a;D)p1=*a;
28.若定义inta[10],*p1=a;对数组元素a[4]的不正确引用是_______。
A)*(a+4)B)a[4]C)*(p1+4)D)*a+4
29.以下字符串赋值错误的是________。
A)chars1[]=”abcdef”;B)chars2[10];s2=”abcdefg”;
C)char*ps=”abcdef”;D)char*pa;pa=”abcdefg”;
30.若有说明inti=2,a[10]={2,4,6,8,10,12,14,16};对元素a[i]的不正确引用是__.
A)*(a+i)B)a[i]C)*a+iD)*(&a[i])
31.若定义函数float*fun();则函数的返回值是______.
A)一个浮点数B)指向函数的指针
C)浮点数的地址D)以上说法都不对
32.下面的函数调用语句fun(fun(a,a+b,a+c),(a,b,c),25);的参数个数是
A)3B)4C)5D)6
33.设有定义:
inta[6]={1,2,3,4,5,6},*p=a;,*(p+3)的值是
A)3B)4C)5D)6
34.当定义一个结构型变量时,系统分配给它的内存空间大小是:
_____
A)各成员所需内存量的总和;
B)成员中占内存量最大者的容量;
C)结构中第一个成员所占内存量;
D)结构中除指针外成员所占内存量总和。
二.阅读程序选择题
1.有以下程序:
#include
voidmain()
{inta=11,b=3;
printf(“%d\n”,a=a/b);
}
程序执行后的结果是()
A)a=3B)3C)11D)a=3.66666
2.有以下程序:
#include
voidmain()
{inta=2,b=3,c=4;
if(a>b)
if(b>c)c=5;
elsec-=a;
printf(“%d\n”,c);
}
程序执行后的结果是()
A)1B)2C)4D)5
3.有以下程序
#include
voidmain()
{floati=-2.56,j=3.2567;
printf("i=%5.2f,j=%5.2f\n",i,j);
}
程序执行后的结果是()
A)-2.563.2567B)i=-2.56j=3.2567
C)i=-2.56,j=3.25D)i=-2.56,j=3.26
4.有以下程序:
#include
voidmain()
{inty=10;
for(;y>0;y--)
if(y%3!
=0)continue;
elseprintf(“%d”,y);
}
执行后的输出结果是()。
A)742B)852C)963D)875421
5.有以下程序:
#include
voidmain()
{inti,a[5]={1,2,6,8,9};
for(i=3;i;i--)
{switch(i)
{case1:
case2:
printf(“%d”,a[i]);break;
case3:
printf(“%d”,a[i]);break;
}
}
printf(“\n”);
}
执行后的输出结果是()
A)6B)8C)86D)862
6.有以下程序:
#include
voidmain()
{inti,j,m=0;
for(i=1;i<=10;i++)
for(j=2;j<=20;j+=2)m++;
printf(“%d\n”,m);
}
执行后的输出结果是()
A)10B)20C)100D)200
7.有以下程序:
#include
Voidmain()
{inta,b;
for(a=1,b=1;a<=100;a++)
{if(a>=20)break;
if(b%3==1){b+=3;continue;}
b+=5;
}
printf(“%d\n”,a);
}
执行后的输出结果是()
A)20B)21C)100D)101
8.以下能实现将a数组循环移位一位(移动后第0位移到第4位)正确的是:
B)main()
{intj,k,a[5]={1,2,3,4,5};
k=a[0];
for(j=0;j<4;j++)
a[j]=a[j+1];
a[4]=k;
}
D)main()
{intj,k,a[5]={1,2,3,4,5};
k=a[0];
for(j=4;j>=0;j--)
a[j]=a[j+1];
a[4]=k;
}
A)main()
{intj,k,a[5]={1,2,3,4,5};
k=a[0];
for(j=4;j>0;j--)
a[j-1]=a[j];
a[4]=k;
}
C)main()
{intj,k,a[5]={1,2,3,4,5};
k=a[0];
for(j=1;j<=4;j++)
a[j]=a[j+1];
a[4]=k;
}
9.有以下程序:
#include
voidf(inta,intb)
{intc;
c=a;a=b;b=c;
}
main()
{intx=2,y=3;
f(x,y);
printf(“%d,%d\n”,x,y);
}
程序的输出结果是:
A)2,3B)2,2C)3,3D)3,2
10.有以下程序:
#include
voidf(int*x,int*y)
{intt;
t=*x;*x=*y;*y=t;
}
main()
{inta[]={1,2,3,4,5,6,7,8},i,*p,*q;
p=a;q=&a[7];
while(p {f(p,q);p++;q--;} for(i=0;i<8;i++)printf(“%d”,a[i]); } 程序的输出结果是: A)12345678B)87654321C)81234567D)5678123 11.有以下程序: #include sub(intx,inty,int*z) {*z=x-y;} voidmain() {inta,b,c; sub(10,6,&c); sub(8,c,&b); sub(c,b,&a); printf(“%d%d%d\n”,a,b,c); } 程序的输出结果是: A)1080B)1064C)844D)044 12.有以下程序: #include voidfun(ints[]); voidmain() {inta[]={1,2,3,4,5,6},k; fun(a);//数组作参数 for(k=0;k<=5;k++)printf(“%d”,a[k]); printf(“\n”); } voidfun(ints[]) {inti=0; while(i<3){s[i]=s[i]+5;i++;} } 程序的输出结果是: A)123456B)67891011C)678456D)678956 13.以下程序: #include voidfun(inta,intb) {intt; t=a;a=b;b=t; } voidmain() {intc[10]={1,2,3,4,5,6,7,8,9,0},i; for(i=0;i<10;i+=2)fun(c[i],c[i+1]); for(i=0;i<10;i++)printf(“%d,”,c[i]); printf(“\n”); } 程序的运行结果是: A)1,2,3,4,5,6,7,8,9,0B)2,1,4,3,6,5,8,7,0,9 C)0,9,8,7,6,5,4,3,2,1D)0,1,2,3,4,5,6,7,8,9 14.有以下程序 #include intx=1;//全局变量 voidfx(intp) {x=p+x;p++;} voidmain() {inta=3; fx(a);x++; printf(“%d%d\n”,a,x); } 程序执行后的结果是() A)31B)32C)35D)45 三.阅读程序,写出以下各程序运行结果 1.#include voidmain() {floatx=1.5,y=2.5,s1,s2; s1=x>y? x+y: x-y; s2=(x! =y? x*2: y*2); printf(“x=%f\ny=%f\n”,s1,s2); } 2.#include voidmain() {inta; scanf(“%d”,&a); if(a++>9)printf(“%d\n”,a++); elseprintf(“%d\n”,a--); } 执行该程序当分别输入5时,15时,写出输出结果: 3.#include voidmain() {inta=10; while(a>0) {if(a/3==1)break; printf(“%d”,--a); } printf(“\n”); } 4.#include voidmain() {intj,a[]={1,2,3,4,10,12,13,15}; for(j=3;j>0;j--) switch(j) {case1: case2: printf(“%d,”,a[j+4]);break; case3: printf(“%d,”,a[j-1]); } printf(“\n”); } 5.#include longfx(intn) {longs; if(n==1||n==0)s=1; elses=n+fx(n-2); returns; } voidmain() {printf(“%ld\n”,fx(10));} 运行结果: 6.#include intfa(inta); voidmain() {intb=0,i; for(i=1;i<=3;i++) {b=fa(i);printf(“%d\n”,b);} } intfa(inta) {staticintd=1;//静态变量 d+=a; returnd; } 运行结果: 7.#include voidmain() {char*str[10]={“Windows”,”Internet”,”Program”,”Computer”}; inti; for(i=1;i<4;i+=2)printf(“%s\n”,str[i]); } 运行结果: 8.#include structcountry{ intno; charname[20]; }a[]={1,”China”,2,”France”,3,”Spanish”,4,”England”,5,”USA”}; voidmain() {printf(“%d%s\n”,a[0].no,a[0].name); printf(“%d%s\n”,a[3].no,a[3].name); } 运行结果: 四.程序填空,在___处填空完成各程序. 1.以下程序由键盘输入一个字符,判断该字符,若字符为字母,输出”letter”;若为数字,输 出”digital”;若是其它字符,输出”other”。 #include voidmain() {charch; scanf(“%c”,&ch);; if(____) printf(“digital\n”); elseif(__) printf(“letter\n”); elseprintf(“other\n”); } 2.以下程序求 方阵的主对角线元素乘积。 #include voidmain() {inta[5][5],i,j,ss; printf(“inputdata: ”); for(i=0;i<5;i++) for(j=0;j<5;j++) scanf(“%d”,&a[i][j]); ss=______; for(i=0;i<5;i++)ss=____; printf(“sum=%d\n”,_______________); } 3.以下程序输出s数组中最大元素的下标。 #include voidmain() {intk,p; ints[]={3,7,-2,9,-6,4}; for(p=0,k=p;p<6;p++) if(s[p]>s[k])____; printf(“%d\n”,k); } 4.以下程序求任意10个实数的最大值和最小值。 #include voidmain() {inti; floata[10],max,min; for(i=0;i<10;i++)scanf(“%f”,&a[i]); max=min=a[0]; for(i=1;i<10;i++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 11 语言 练习题 考前