二级C语言程序选择题精选.docx
- 文档编号:8172201
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:40
- 大小:29.99KB
二级C语言程序选择题精选.docx
《二级C语言程序选择题精选.docx》由会员分享,可在线阅读,更多相关《二级C语言程序选择题精选.docx(40页珍藏版)》请在冰豆网上搜索。
二级C语言程序选择题精选
C语言题库
1.表示关系x<=y<=z的c语言表达式为A
A)(X<=Y)&&(Y<=Z)
B)(X<=Y)AND(Y<=Z)
C)(X<=Y<=Z)
D)(X<=Y)&(Y<=Z)
2.不能把字符串:
Hello!
赋给数组b的语句是:
B
A)charb[10]={'H','e','l','l','o','!
'};
B)charb[10];b="Hello!
";
C)charb[10];strcpy(b,"Hello!
");
D)charb[10]="Hello!
";
3.表达式:
10!
=9的值是D
A)true
B)非零值
C)0
D)1
4.C语言中,运算对象必须是整型数的运算符是A
A)%
B)\
C)%和\
D)*
5.C语言可执行程序的开始执行点是(C)
A)程序中第一条可执行语句
B)程序中第一个函数
C)程序中的main函数
D)包含文件中的第一个函数
6.C语言中数组名作为参数传递给函数,作为实在参数的数组名被处理为__D___。
A、该数组的长度。
B、该数组的元素个数。
C、该数组中各元素的值。
D、该数组的首地址。
7.程序中若有如下说明和定义语句A
charfun(char*);
main()
{
char*s="one",a[5]={0},(*f1)()=fun,ch;
......
}
以下选项中对函数fun的正确调用语句是
A)(*f1)(a);B)*f1(*s);C)fun(&a);D)ch=*f1(s);
8.C语言规定,程序中各函数之间A
A)既允许直接递归调用也允许间接递归调用
B)不允许直接递归调用也不允许间接递归调用
C)允许直接递归调用不允许间接递归调用
D)不允许直接递归调用允许间接递归调用
9.C语言中函数返回值的类型是由(D)决定。
A)return语句中的表达式类型
B)调用函数的主调函数类型
C)调用函数时临时
D)定义函数时所指定的函数类型
10.在C语言程序中,可以用做变量名的是_B___
A)2e5B)a1C)intD)*p
11.C语言程序的三种基本结构是__A__
A、顺序结构,选择结构,循环结构
B、递归结构,循环结构,转移结构
C、嵌套结构,递归结构,顺序结构
D、循环结构,转移结构,顺序结构
12.当a=1,b=3,c=5,d=5时,执行下面一段程序后,x的值为B
A)1B)2C)3D)6
if(a
if(c else if(a if(b elsex=3; elsex=6; elsex=7; 13.对于基类型相同的两个指针变量之间,不能进行的运算是C A)< B)= C)+ D)- 14.当执行下面程序且输入: ABC时,输出的结果是A main(){ charss[10]="12345"; gets(ss); printf("%s",ss); } A)ABCB)ABC9C)123456ABCD)ABC45 15.当调用函数时,实参是一个数组名,则向函数传送的是____B A)数组的长度 B)数组的首地址 C)数组每一个元素的地址 D)数组每个元素中的值 16.设有如下定义: intx=10,y=3,z;则语句printf("%d",z=(x%y,x/y));的输出结果是A A)1B)0C)4D)3 17.intf(inta) {returna%2;} main() { ints[8]={1,3,5,2,4,6},i,d=0; for(i=0;f(s[i]);i++) d+=s[i]; printf("%d\n",d); } 程序运行后的输出结果是____9____. 18.假定x和y为double型,则表达式x=2,y=x+3/2的值是: __D_______ A、3.500000B、3C、2.000000D、3.000000 19.假定int类型变量占用两个字节,其有定义: intx[10]={0,2,4};,则数组x在内存中所占字节数是D A)3 B)6 C)10 D)20 20.假定有以下变量定义: intk=7,x=12;则能使值为3的表达式是D A)x%=(k%=5) B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)-(k%=5) 21.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是: A A)7和5B)6和3C)7和4D)6和4 main(){ intx; scanf("%d",&x); if(x++>5)printf("%d",x); elseprintf("%d",x--); } 17main() { inta=2,b=-1,c=2; if(a if(b<0)c=0; elsec+=1; printf("%d\n",c); } 以上程序的输出结果: C A)0B)1C)2D)3 21.main(A) { inta[]={1,2,3,4,5,6,7,8,9,10,11,12}; int*p=a+5,*q=NULL; *q=*(p+5); printf("%d%d\n",*p,*q); } 程序运行后的输出结果是 A)运行后报错B)66C)611D)510 22.main() { inta=1,b; for(b=1;b<=10;b++) { if(a>=8)break; if(a%2==1){a+=5;continue;} a-=3; } printf("%d\n",b); } 程序运行后的输出结果是___4_____. 23.main() { intj,k,s; for(k=2;k<6;k+=2) { s=1; for(j=k;j<6;j++)s=s+j; } printf("%d",s); } 程序运行后的输出结果是____10____. 24.main() { intnum[4][4]={{1,2,3,4}, {5,6,7,8}, {9,10,11,12}, {13,14,15,16} },i,j; for(i=0;i<4;i++) { for(j=0;j<=i;j++)printf("%4c",''); for(j=___i__;j<4;j++)printf("%4d",num[i][j]); printf("\n"); } } 若要按以下形式输出数组右上半三角 1234 678 1112 16 则在程序下划线处应填入的是 25.求x的y次方,填空。 doublefun(doublex,inty) {inti;doublez; for(i=1;i<=y;i++) z=____z*x________; returnz;} 25.若有定义和语句: D chars[10]; s="abcd"; printf("%s",s); 则结果是(以下u代表空格) A)输出abcd B)输出a C)输出abcduuuuu D)编译不通过 26.若有以下定义: chara;intb;floatc;doubled;则表达式a*b+d-c值的类型为D A)floatB)intC)charD)double 27.若变量a是int类型,并执行了语句: a=‘A'+1、6;,则正确的叙述是B A)a的值是字符C B)a的值是浮点型 C)不允许字符型和浮点型相加 D)a的值是字符‘A’的ASCII值加上1 28.若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,b)));A 在此函数调用语句中实参的个数是 A)3B)4C)5D)6 29.若有以下定义: chars[20]="programming",*ps=s;A 则不能代表字符o的表达式是 A)ps+2 B)s[2] C)ps[2] D)ps+=2,*ps 30.若有以下说明: A intw[3][4]={{0,1},{2,4},{5,8}}; int(*p)[4]=w; 则数值为4的表达式是 A)*w[1]+1 B)p++,*(p+1) C)w[2][2] D)p[1][1] 31.若有以下定义和语句 charc1='b',c2='e'; printf("%d,%c",c2-c1,c2-'a'+"A"); 则输出结果是: B A)2,M B)3,E C)2,E D)输出项与对应的格式控制不一致,输出结果不确定 32.若已定义x和y为double类型,则表达式: x=1,y=x+3/2的值是C A)1 B)2 C)2.0 D)2.5 33.若有以下说明和语句,请选出D是对c数组元素的正确引用intc[4][5],(*cp)[5];cp=c; A)cp+1 B)*(cp+3) C)*(cp+1)+3 D)*(*cp+2) 34.若有以下定义和语句: A intu=010,v=0x10,w=10; printf("%d,%d,%d",u,v,w); 则输出结果是: A)8,16,10 B)10,10,10 C)8,8,10 D)8,10,10 35.设有说明语句: chara='\72';则变量aA A)包含1个字符 B)包含2个字符 C)包含3个字符 D)说明不合法 36.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是C A)-3 B)9 C)-12 D)6 37.若执行以下程序时从键盘上输入9,则输出结果是B A、11B、10C、9D、8 main() { intn; scanf("%d",&n); if(n++<10)printf("%d\n",n); elseprintf("%d\n",n--);} 38.若执行下面的程序时从键盘上输入5,则输出是___B___ main() { intx; scanf("%d",&x); if(x++>5)printf("%d",x); elseprintf("%d",x--); } A)7B)6C)5D)4 39.若执行下面的程序时从键盘上输入6,则输出是A main() { intx; scanf("%d",&x); if(x++>6) printf("%d",x); else printf("%d",x--); } A)7 B)6 C)5 D)4 40.若有以下定义和语句: D doubler=99,*p=&r;*p=r; 则以下正确的叙述是 A)以下两处的*p含义相同,都说明给指针变量p赋值 B)在"doubler=99,*p=&r;"中,把r的地址赋值给了p所指的存储单元 C)语句"*p=r;"把变量r的值赋给指针变量p D)语句"*p=r;"取变量r的值放回r中 41.若有以下定义和语句: inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则不能表示a数组元素的表达式是D A)*pB)a[10]C)*aD)a[p-a] 42.若有以下说明和语句: D intc[4][5],(*p)[5];p=c; 能正确引用c数组元素的是: ________ A)p+1B)*(p+3) C)*(p+1)+3D)*(p[0]+2)) 43.数字字符0的ASCII值为48,若有以下程序C main() {chara='1',b='2'; printf("%c,",b++); printf("%d\n",b-a); } 程序运行后的输出结果是: : ________ (A)3,2(B)50,2(C)2,2(D)2,50 44.设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: B scanf("i=%d,f=%f",&i,&f); 为了把100和765.12分别赋给i和f,则正确的输入为 A、100765.12 B、i=100,f=765.12 C、100765.12 D、x=100y=765.12 45.设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2, 则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为_C___ A)0B)1C)2D)3 46.sizeof(float)是(C) A)一种函数调用 B)一个不合法的表示形式 C)一个整型表达式 D)一个浮点表达式 47.设x、y、t均为int型变量,则执行语句: x=y=3;t=++x||++y;后, y的值为: __C______ A、不定值B、4C、3D、1 48.设有说明语句: chara='\72';则变量aA A)包含1个字符 B)包含2个字符 C)包含3个字符 D)说明不合法 49.设x和y均为int型变量,则以下语句: x+=y;y=x-y;x-=y;的功能是D A、把x和y按从大到小排列 B、把x和y按从小到大排列 C、无确定结果 D、交换x和y中的值 50.设intx=1,y=1;表达式(! x||y--)的值是B A)0B)1C)2D)-1 51.设x、y、z和k都是int型变量,则执行表达式: x=(y=4,z=16,k=32)后,x的值为c A4B16C32D52 52.设有如下定义: char*aa[2]={"abcd","ABCD"};则以下就法中正确的是C A)aa数组成元素的值分别是"abcd"和ABCD" B)aa是指针变量,它指向含有两个数组元素的字符型一维数组 C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址 D)aa数组的两个元素中各自存放了字符'a'和'A'的地址 53.设正x、y均为整型变量,且x=10y=3,则以下语句的输出结果是Dprintf("%d,%d",x--,--y); A)10,3B)9,3C)9,2D)10,2 54.设有数组定义: chararray[]="China";则数组array所占的空间为C A)4个字节B)5个字节C)6个字节D)7个字节 55.设有如下定义: intx=10,y=3,z;则语句printf("%d",z=(x%y,x/y));的输出结果是D A)1B)0C)4D)3 56.设a,b和c都是int型变量,且a=3,b=4,c=5,则下列表达式中,值为0的表达式是___D_____ A)'a'&&'b' B)a<=b C)a||b+c&&b-c D)! ((a c||1) 57.设有说明int(*ptr)[m];其中的标识符ptr是: __C______ A)M个指向整型变量的指针 B)指向M个整型变量的函数指针 C)一个指向具有M个整型元素的一维数组的指针 D)具有M个指针元素的一维指针数组,每个元素都只能指向整型量 58.t为int类型,进人下面的循环之前,t的值为0while(t=l){……}则以下叙述中正确的是B A)循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法 D)以上说法都不对 59.voidf(int*x,int*y)D { intt; t=*x;*x=*y;*y=t; } main() { inta[8]={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)8,2,3,4,5,6,7,1,B)5,6,7,8,1,2,3,4, C)1,2,3,4,5,6,7,8,D)8,7,6,5,4,3,2,1, 60.voidfunc(int*a,intb[])6 {b[0]=*a+6;} main() { inta=0,b[5]; b[0]=3; func(&a,b); printf("%d\n",b[0]); } 61.下列运算符其优先级最高的是____c___。 A、||B、&&C、+D、= 62.下面程序的输出是_D___ intw=3; main() { intw=10; printf("%d",fun(5)*w); } fun(intk) { if(k==0)returnw; return(fun(k-1)*k); } A)360B)3600C)1080D)1200 63.下列条件语句中,功能与其他语句不同的是: _____D___ A)if(a)printf("%d\n",x);elseprintf("%d\n",y); B)if(a==0)printf("%d\n",y);elseprintf("%d\n",x); C)if(a! =0)printf("%d\n",x);elseprintf("%d\n",y); D)if(a==0)printf("%d\n",x);elseprintf("%d\n",y); 64.下列程序段的输出结果为___A_____ inty=1; while(y--); printf("y=%d",y); A、y=-1 B、y=0 C、死循环 D、y=9 65.下面程序的输出是: B #include main(){ inty=9; for(;y>0;y--) { if(y%3==0) { printf("%d",--y); continue; } } } A)741B)852C)963D)875421 66.下列描述中不正确的是C A)字符型数组中可以存放字符串 B)可以对字符型数组进行整体输入、输出 C)可以对整型数组进行整体输入、输出 D)不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值 67.下列程序的输出结果是C A、非法B、a[4]的地址C、5D、3 main() { inta[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5; printf("%d",*--p); } 68.下面函数的功能是: A intfun(char*x) { char*y=x; while(*y++); return(y-x-1); } A)求字符串的长度 B)比较两个字符串的大小 C)将字符串x复制到字符串y D)将字符串x连接到字符串y后面 69.下面函数的功能是: C intfun(char*s,char*t) { while((*s)&&(*t)&&(*t++==*s++)); return(*s-*t); } A)求字符串的长度 B)比较两个字符串的大小 C)将字符串s复制到字符串t中 D)将字符串s接续到字符串t中 70.下列说法中正确的是____B____。 A、在switch语句中一定要使用break语句 B、在switch语句中不一定要使用break语句 C、break语句是switch语句的一部分 D、break只能用于switch语句中 71.#include intm=13; intfun2(intx,inty) { intm=3; return(x*y-m); } main() { inta=7,b=5; printf("%d",fun2(a,b)/m); } A)1B)2C)7D)10 72.下面程序的输出是A A)3B)4C)1D)2 main() { inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d",*(p+2)); } 73.有以下程序: B main() { charstr[][10]={"China","Beijing"},*p=str; printf("%s\n",p+10); } 程序运行后的输出结果是 A)ChinaB)BeijingC)ngD)ing 74.以下程序运行后,输出结果是C A)8,15B)8,16C)8,17D)8,8 func(inta,intb) {staticintm=0,i=2; i+=m+1; m=i+a+b; return(m); } main() {intk=4,m=1,p; p=func(k,m);printf("%d,",p); p=func(k,m);printf("%d\n",p); } 75.有以下程序A main() { chars[]="159",*p; p=s; printf("%c",*p++); printf("%c",*p++); } 程序运行后的输出结果是: ________ A)15B)16C)12D)59 76.下面程序的输出是A A)3B)4C)1D)2 main() { inta[10]={1,2,3,4,5,6,7,8,9,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 程序 选择题 精选