语言试题库分含答案.docx
- 文档编号:9996504
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:305
- 大小:133.96KB
语言试题库分含答案.docx
《语言试题库分含答案.docx》由会员分享,可在线阅读,更多相关《语言试题库分含答案.docx(305页珍藏版)》请在冰豆网上搜索。
语言试题库分含答案
一、单项选择题(每小题2分)
【1】设字符型变量ch的值为'A',整型变量m的值为'1',假定执行putchar(m);putchar('');putchar(ch);后,则输出结果是。
A、A1
B、lA
C、Al
D、1A
标准答案:
D
【2】有如下函数调用语句
fuc(rec1,rec2+rec3,(rec4,rec5));
该函数调用语句中,含有的实参个数是。
A、3
B、4
C、5
D、有语法错
标准答案:
A
【3】有以下函数定义:
voidfun(intn,doublex){}
若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是。
A、fun(inty,doublem);
B、k=fun(10,12.5);
C、fun(x,n);
D、voidfun(n,x);
标准答案:
C
【5】设有以下程序片段,请问执行后的输出结果是
inti=010,j=10,k=0xl0;printf("%d,%d,%d",k,j,i);
A、16,10,8
B、81016
C、10,10,10
D、8,10,16
标准答案:
A
【9】有如下程序段:
charstr[14]={"Iam"};
strcat(str,"sad!
");
scanf("%s",str);
printf("%s",str);
当输入为happy!
A、Iamsad!
B、happy!
C、Iamhappy!
D、happy!
ad!
标准答案:
B
【11】以下if语句中格式正确的是
A、if(a>b)b++elsea++;
B、if(a>b){b++;printf("%d",b);}
else{a++;printf("%d",a);}
C、if(a>b){b++;printf("%d",b)}
else{a++;printf("%d",a);}
D、if(a>b)b++;printf("%d",b);
elseprintf("%d",a);
标准答案:
B
【1】设有整型变量m值为8,下列赋值语句中,正确的是。
A、++m=6;
B、m=m++;
C、m+1=8;
D、m+1+=8;
标准答案:
B
【2】.有以下程序
#include
voidfun(int*a,inti,intj)
{
intt;
if(i { t=a[i];a[i]=a[j];a[j]=t; i++;j--; fun(a,i,j); } } voidmain() { intx[]={2,6,1,8},i; fun(x,0,3); for(i=0;i<4;i++)printf("%2d",x[i]); } 程序运行后的输出结果是。 A、1268 B、8621 C、8162 D、8612 标准答案: C 【3】关于C语言以下说法正确的是()。 A、只有当实参和与其对应的形参同名时才共占用存储单元 B、形参是虚拟的,不占用存储单元 C、实参和与其对应的形参各占用独立的存储单元 D、实参和与其对应的形参共占用一个存储单元 标准答案: C 【4】根据下面的定义,能打印出字母“M”的语句是。 structperson {charname[9];intage;}; structpersonclass[10]={"John",17, "Paul",19,"Mary",18,"adam",16}; A、printf("%c\n",class[3].name); B、printf("%c\n",class[3].name[l]); C、Printf("%c\n",class[2].name[l]); D、printf("%c\n",class[2].name[0]); 标准答案: D 【5】设单精度变量f,g的值均为5.0,则下面的表达式中,使f为10.0的表达式是。 A、f+=g B、f-=g+5 C、f*=g-5 D、f/=g*5 标准答案: A 【6】下面程序的输出是 main() {inta=-1,b=4,k; k=(a++<=0)&&(! (b--<=0)); printf("%d%d%d\n",k,a,b);} A、003 B、012 C、103 D、112 标准答案: C 【7】C语言中最基本的数据类型包括。 A、整型,实型,逻辑型 B、整型,实型,布尔型 C、整型,实型,字符型 D、整型,实型,指针型 标准答案: C 【8】假定int类型变量占用两个字节,其有定义: intx[10]={0,2,4};,则数组x在内存中所占字节数是。 A、3 B、6 C、10 D、20 标准答案: D 【9】下面程序的输出结果是()。 #include voidmain() { inti,j,k; charstr[5]; for(i=0;i<5;i++)str[i]='A'; k=4; for(i=0;i for(j=0;j str[j]=str[i]+32; printf("%c\n",str[k]); } A、a B、A C、B D、不确定的值 标准答案: B 【10】有以下程序片段: inta[12]={1,2,3,4,5,6,7,8,9,10,11,12},*p[3],i; for(i=0;i<3;i++) p[i]=&a[i*4]; printf(“%d”,*(p[2]+1)); 则输出结果为 A、9 B、5 C、10 D、6 标准答案: C 【11】设a,b,w为整型变量,ch为字符型变量,用if语句改写以下的程序段: switch(ch) {case'+': w=a+b;break; case'-': w=a-b;break; case'*': w=a*b;break; case'/': w=a/b;break;} 在下列写法中,错误的是 A、if(ch=='+')w=a+b; if(ch=='-')w=a-b; if(ch=='*')w=a*b; if(ch=='/')w=a/b; B、B)if(ch=='*')w=a*b; elseif(ch=='/')w=a/b; if(ch=='+')w=a+b; elseif(ch=='-')w=a-b; C、if(ch=='+')w=a+b; elseif(ch=='-')w=a-b; if(ch=='*')w=a*b; elsew=a/b; D、D)if(ch=='+')w=a+b; elseif(ch=='-')w=a-b; if(ch=='*')w=a*b; elseif(ch=='/')w=a/b; 标准答案: C 【12】有以下程序: #include main() {intal=0,a2=0,a3=0; charch; while((ch=getchar())! ='\n') switch(ch) {case'A': a1++; case'B': a2++; default: a3++;} printf("%d,%d,%d",a1,a2,a3);} 现从键盘上输入AAAAABBBC<回车>,则程序执行后的输出结果是 A、5,8,9 B、5,3,1 C、5,3,9 D、5,8,1 标准答案: A 【13】下面程序的输出是 main() {inty=9; for(;y>0;y--) if(y%3==0) {printf(“%d”,--y);continue;}} A、741 B、852 C、963 D、875421 标准答案: B 【14】下面程序的运行结果是 #include main() {inti=1; do{i--;}while(i++); printf("%d",i--);} A、-1 B、0 C、1 D、陷入死循环 标准答案: C 【15】以下对C语言描述中正确的是()。 A、C语言源程序中可以有重名的函数 B、C语言源程序中要求每行只能书写一条语句 C、C语言源程序中,注释可以出现在任何位置 D、最小的C源程序中没有任何内容 标准答案: C 【2】返回值为void的函数,其含义是()。 A、调用函数之后,被调用的函数没有返回值 B、调用函数之后,被调用的函数不返回 C、调用函数之后,被调用的函数的返回值为任意的类型 D、以上三种说法都是错误的 标准答案: A 【3】以下函数 fff(floatx) {printf(“%d\n”,x*x);} 的类型是 A、与参数x的类型相同 B、void类型 C、int类型 D、无法确定 标准答案: C 【4】有如下定义: structdate{intyear,month,day;}; structworklist{charname[20];charsex;structdatebirthday;}personone; 对结构体变量personone的出生年份进行赋值时,下面正确的赋值语句是。 A、year=1968 B、birthday.year=1968 C、personone.birthday.year=1968 D、personone.year=1968 标准答案: C 【5】设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是 A、'a'&&'b' B、a<=b C、a||b+c&&b-c D、! ((a c||1) 标准答案: D 【6】字符串“\t\n\\\045\’”的长度为。 A、4 B、10 C、5 D、说明不合法 标准答案: C 【7】sizeof(float)是()。 A、一种函数调用 B、—个单精度表达式 C、—个整型表达式 D、—个不合法的表达式 标准答案: C 【8】以下程序的输出结果是。 #include #include voidmain() { charst[20]="hello\0\t\\"; printf("%d%d\n",strlen(st),sizeof(st)); } A、99 B、520 C、1320 D、2020 标准答案: B 【9】有以下程序 #include voidmain() { charp[]={'a','b','c'},q[]="abc"; printf("%d%d\n",sizeof(p),sizeof(q)); } 程序运行后的输出结果是______。 A、44 B、33 C、34 D、43 标准答案: C 【10】若有以下定义,则对数组元素地址的正确引用是。 inta[5]={1,2,3,4,5},*p,i; i=3;p=a; A、&p B、a++ C、&(p+1) D、&p[i] 标准答案: D 【11】有以下程序: #include main() {intx,y;printf("Enteraninteger(x): "); scanf("%d",&x); if(x++<0)y=-1; elseif(x==0)y=0;elsey=1;printf("%d",y);} 现从键盘上输入-1,则程序的输出是。 A、-1 B、0 C、1 D、不确定的值 标准答案: A 【12】已知a,b,c的值分别是1,2,3,则执行下列语句后a,b,c的值分别是 if(a++ elsea=b=c=0; A、0,0,0 B、1,2,3 C、1,2,1 D、2,2,2 标准答案: D 【13】请读程序: #include main() {inta,b; for(a=1,b=1;a<=100;a++) {if(b>=20)break; if(b%3==1){b+=3;continue;} b=-5;} printf(“%d\n”,a);} 上面程序的输出结果是 A、7 B、8 C、9 D、10 标准答案: B 【14】有以下程序段: inti,j; for(i=0;i<5;++i) for(j=i;j<5;++j) printf(“*”); 则执行以上的程序片段后,输出‘*’个数是 A、15 B、10 C、25 D、20 标准答案: A 【15】程序段的基本结构中,不包含()。 A、函数结构 B、循环结构 C、顺序结构 D、分支结构 标准答案: A 【1】执行语句scanf("%d,%d",&m,&n);使m和n的值分别为1和2,正确输入是。 A、1 B、2 C、1,2 D、12 标准答案: c 【3】若用数组名作为函数调用的实参,传递给形参的是()。 A、数组的首地址 B、数组第一个元素的值 C、数组中全部元素的值 D、数组元素的个数 标准答案: A 【4】设有以下结构体定义: structemproyer {charname[8];intage;charsex;}staff; 则下面的叙述不正确的是 A、struct是结构体类型的关键字 B、structemproyer是用户定义的结构体类型 C、staff是用户定义的结构体类型名 D、nameage和sex都是结构体成员名 标准答案: C 【6】表达式-l? (10? 10: 1): (0? 0: -1)的值为 A、10 B、1 C、0 D、-1 标准答案: A 【8】下面正确的数组定义语句是。 A、inty[1][4]={1,2,3,4,5}; B、floatx[3][]={{1},{2},{3}}; C、longs[2][3]={{1},{1,2},{1,2,3}}; D、doublet[][3]={0}; 标准答案: D 【10】下面程序的输出结果是 voidprtv(int*x) {printf("%d\n",++*x);} main() {inta=25;prtv(&a);} A、23 B、24 C、25 D、26 标准答案: D 【11】设有如下程序: #include main() {charch1,ch2; scanf(“%c%c”,&ch1,&ch2); if(ch1! =’B’) {switch(ch2) {case’B’: switch(ch1) {case’A’: printf("AB") break; case’B’: printf("BB") break;} case‘A’: switch(ch1) {case’A’: printf("AA") break; case’B’: printf("BA"); break; }}}}} 若执行是从键盘上输入的数据时AB,则输出是 A、AB B、ABAA C、BBBAABBBAABA D、BBBA 标准答案: B 【12】请读程序: #include main() {intx=l,y=0,a=0,b=0; switch(x) {casel: switch(y) {case0: a++;break; case1: b++;break;} case2: a++;b++;break;} printf("a=%d,b=%d\n",a,b);} 上面程序的输出结果是 A、a=2,b=l B、a=l,b=l C、a=l,b=0 D、a=2,b=2 标准答案: A 【13】有下面的程序: main() {inti,n,k; n=15496;k=2; for(i=1;i n=n%10; printf("%d",n);} 则执行后的输出结果是 A、9 B、6 C、2 D、1 标准答案: B 【2】一个函数返回值的类型是由()。 A、return语句中的表达式类型决定 B、定义函数时所指定的函数类型决定 C、调用该函数的主调函数的类型决定 D、在调用函数时临时指定 标准答案: B 【4】以下对结构体变量stul中成员age的非法引用是 structst {intage;intnum;}stul,*p; p=&stul; A、stul.age B、age C、p→age D、(*p).age 标准答案: B 【5】设ch是char型变量,其值为'a',且有下面的表达式: ch=(ch>='a'&&ch<='z')? (ch-32): ch 上面表达式的值是 A、'a' B、'A' C、'Z' D、'z' 标准答案: B 【6】以下运算符中,运算优先级最低的是。 A、-> B、++ C、* D、= 标准答案: D 【7】属于实型常量的是 A、E10 B、10 C、10L D、1E10 标准答案: D 【12】有以下程序: #include main() {intx,y;printf("Enteraninteger(x): "); scanf("%d",&x); if(x++<0)y=-1; elseif(x==0)y=0;elsey=1;printf("%d",y);} 现从键盘上输入-1,则程序的输出是。 A、-1 B、0 C、1 D、不确定的值 标准答案: A 【14】有下列程序段: charch; ints=0; for(ch=’A’;ch<’Z’;++ch) if(ch%2==0)s++; printf("%d",s); 则执行上述片段后,程序的输出结果是 A、13 B、12 C、26 D、25 标准答案: A 【15】C语言程序的基本单位是什么是()。 A、程序行 B、语句 C、函数 D、字符 标准答案: C 一、单项选择题(每小题2分) 【1】设字符型变量ch已有值,下列语句中错误的是。 A、scanf("%c%c",ch,ch); B、{intch=6;printf("%d",ch);} C、ch=5; D、ch>48&&ch<0x3A; 标准答案: A 【4】若有以下定义和语句: structstudent {intnum;intage;}; structstudentstu[3]={{l001,20},{1002,19},{1003,2l}}; main() {structstudent*p;p=stu; ...} 则下列引用中不正确的是。 A、(p++)→num B、p++ C、(*p).num D、p=&stu.age 标准答案: D 【5】若a是float型变量,则表达式a=l,a++,a+=a的值为。 A、2 B、4 C、2.0 D、4.0 标准答案: D 【6】若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是 。 A、A%2==1 B、! (A%2==0) C、! (A%2) D、A%2 标准答案: C 【10】有以下程序,请问执行后的输出结果是。 #include main() {inta[]={1,2,3,4,5,6},*p; p=a;*(p+3)+=2; printf("%d,%d",*p,a[3]);} A、1,4 B、0,4 C、1,6 D、0,6 标准答案: C 【11】若要求表示a不等于0的关系,错误的表达式是 A、)a<>0 B、a! =0 C、a D、a<0||a>0 标准答案: A 【13】下面的程序,描述正确的是 main() {intx=3; do {printf(“%d\n”,x-=2);} while(! (--x));} A、输出的是1 B、输出的是1和-2 C、输出的是3和0 D、是死循环 标准答案: B 【15】C语言中主函数的个数是() A、2个 B、1个 C、任意个 D、10个 标准答案: B 【2】以下关于函数的叙述中正确的是______。 A、每个函数都可以被其它函数调用(包括main函数) B、每个函数都可以被单独编译 C、每个函数都可以单独运行 D、在一个函数内部可以定义另一个函数 标准答案: B 【3】若函数的形参为一维数组,则下列说法中正确的是()。 A、调用函数时的对应实参必为数组名 B、形参数组可以不指定大小 C、形参数组的元素个数必须等于实参数组的元素个数 D、形参数组的元素个数必须多于实参数组的元素个数 标准答案: B 【7】C浯言中的构造类型包括。 A、数组型,结构体型,联合体型 B、结构体型,联合体型,指针型 C、结构体型,联合体型,枚举类型 D、数组型,结构体型,联合体型,指针型 标准答案: A 【10】请读程序: #include #include main() {char*s1="AbCdEf",*s2="aBcDeF";s1++;s2++; printf("%d\n",strcmp(s1,s2));} 上面程序的输出结果是 A、正数 B、负数 C、零 D、不确定的数 标准答案: A 【12】若执行下面的程序时从键盘上输入10,则输出是 main() {inta;scanf("%d",&a); if(a++>10) printf("%d\n",++a); elseprintf("%d\n",a--);} A、12 B、11 C、10 D、9 标准答案: B 【13】下面的程序段不能实现求阶乘8! (8! =1*2*3*4*5*6*7*8,结果存放在p中)的是 A、p=1; for(i=1;i<9;i++) p=p*i; B、p=2; for(i=1;i<9;i++) p=p*i; C、p=1;i=1; while(i<9) p=p*i++; D、p=1;i=8; do {p=p*i--;} while(i>1); 标准答案: B 【14】下列循环中哪一个不是无限循环 A、for(i=1;;i++) printf(“%d”,i); B、i=1;while(i--) {printf(“%d”,i++);} C、i=1 do {printf(“%d”,i); i++;}while(--i); D、for(i=0;i;i++) printf(“%d”,i); 标准答案: D 【3】若函数的形参为一维数组,则下列说法中正确的是()。 A、调用函数时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 试题库 答案