C语言基础题及其答案.docx
- 文档编号:8957825
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:15
- 大小:22.75KB
C语言基础题及其答案.docx
《C语言基础题及其答案.docx》由会员分享,可在线阅读,更多相关《C语言基础题及其答案.docx(15页珍藏版)》请在冰豆网上搜索。
C语言基础题及其答案
2011基础题复习-答案
1.在一个C语言源程序中,main()函数的位置_____。
答案:
C
A.必须在最前面
B.必须在其它函数之前
C.可以在任意位置
D.必须在最后面
2.若有变量定义语句:
charch='\t';则变量ch。
答案:
C
A.包含4个字符
B.包含2个字符
C.包含1个字符
D.说明不合法,ch的值不确定
3.设有变量定义charstr[80];下列语句能将字符串“shanghai2011”从键盘输入到数组变量str中。
答案:
B
A.printf("%s",str);
B.gets(str);
C.scanf("%s",str);
D.puts(str);
4.若有以下变量定义:
intn=5,m=4;
floata=2.2,b=1.5;
则表达式n/m+(int)(a+b)%2的值为________。
答案:
C
A.1
B.1.25
C.2
D.2.25
5.在语句if(!
(e+1))a=b;中条件!
(e+1)等价于_______。
答案:
D
A.e!
=0
B.e==0
C.e!
=-1
D.e==-1
6.以下程序运行的结果是。
voidmain()
{inta=2,b=3,c=2;
if(a
if(a c--; else c+=1; printf(“%d\n”,c); } 答案: D A.0 B.1 C.2 D.3 7.设有变量定义: inta[]={5,6,1,3,7},c,i; 当执行完语句: for(i=c=0;i<5;i++) {if(a[i]%3==0) continue; c++; } 之后,c的值是_____。 答案: C A.1 B.2 C.3 D.4 8.以下程序运行结果为_______ #definePII3 #defineS(x)PII*x*x main() {inta=1,b=2,c; c=a+b; printf("%d\n",S(c)); } 答案: B A.9 B.27 C.7 D.10 9.若有变量定义: inta[4],*p=a;则以下对数组a的元素不正确的引用是_____。 答案: D A.*a B.*(p+1) C.p[1] D.a[4] 10.设有变量定义: intd[50],*p=&d[0];下面哪个表达式计算结果为int类型的数值(非地址)。 答案: D A.p+=1 B.p++ C.&d[2] D.p-d 11.为了判断两个字符串s1和s2是否相等,应当使用_____。 答案: D A.if(s1==s2) B.if(s1=s2) C.if(strcpy(s1,s2)) D.if(strcmp(s1,s2)==0) 12.设有变量定义intn;charstr[80];与函数调用: n=hex2dec(str);则函数hex2dec正确的函数说明应该是_______。 答案: A A.inthex2dec(charstr[]); B.voidhex2dec(charstr[]); C.inthex2dec(charstr); D.voidhex2dec(charstr); 13.设有以下结构体定义及初始化,表达式(stu[0].score+stu[1].score)/2的结果是_______。 structstudent { intnum; floatscore; }stu[2]={90,91.5,93,92.5}; 答案: C A.91.0 B.91.5 C.92.0 D.92.5 14.在C语言中,将文件内部的位置指针重新指向一个流(数据流/文件)的开头的库函数是_______。 答案: B A.fgetc B.rewind C.fscanf D.fread 15.若建立了以下链表结构,head,p,q是指向结点的指针,以下_____组语句的功能是输出如下图所示的中间结点的数据项。 答案: B A.q=p;printf("%c",q->data); B.q=p->next;printf("%c",q->data); C.q=p;printf("%c",q); D.q=p->next;printf("%c",q); 16.关于C语言程序,下列叙述正确的是________。 答案: A A.C程序由函数构成 B.C程序由函数和过程组成 C.C程序仅由主函数组成 D.C程序由主函数和过程组成 17.以下选项中,正确的C语言字符常量是________。 答案: C A."a" B.'ab' C.'\n' D.'\084' 18.设有变量定义intx=200,y=2000;以下选项中能输出如200,2000格式的语句是________。 答案: B A.printf("%d%d",x,y); B.printf("%d,%4d",x,y); C.printf("%d\n%d",x,y); D.printf("%d,%20d",x,y); 19.以下选项中,与k=n++完全等价的表达式是_____。 答案: A A.k=n,n=n+1 B.n=n+1,k=n C.k=++n D.k=n+1 20.执行下述语句后,a,b,m,n变量的值分别________。 inta=1,b=2,c=3,d=4,m=5,n=6; a=(m=a>b)&&(n=c>d)||++a==b--; 答案: A A.a=1,b=1,m=0,n=6 B.a=1,b=1,m=3,n=6 C.a=1,b=2,m=0,n=6 D.a=1,b=2,m=5,n=6 21.下列选项中与如下的选择语句不等价的是________。 if(a<=b) k=a; else k=b; 答案: C A.(a<=b)? (k=a): (k=b); B.(a>b)? (k=b): (k=a); C.switch(a<=b) {case0: k=b; case1: k=a; } D.if(a>b) k=b; else k=a; 22.执行以下程序段后,s的值为__________。 inta[]={5,3,7,2,1,5,4,10}; ints=0,k; for(k=0;k<8;k+=3) s+=a[k]; 答案: A A.11 B.27 C.17 D.无定值 23.若有变量定义: intn;下列循环语句 for(n=100;;n=(n+1)%100) if(n>100)break; 执行的循环次数是______。 答案: D A.0次 B.99次 C.100次 D.无限次 24.若有变量定义: inta[10];则对a数组元素的正确引用是。 答案: C A.a[10] B.a[3.5] C.a[5] D.a[0-10] 25.设有变量定义: inta[3]={5,8,1},*p;当执行完如下语句: p=a; *(p+2)+=(*(p+1)+1)%(*p); 后,数组a中a[2]的值是。 答案: C A.3 B.4 C.5 D.6 26.若有变量定义: chars[]={'V’,'C’,'+’,'\0’,'+’,'’,'J’,'a’,'v’,'a’};则语句printf("%s",s);的输出结果是________。 答案: A A.VC+ B.VC++ C.VC++Java D.无输出 27.以下正确的函数说明是。 答案: B A.floatswap(intx,y); B.intmax(inta,intb); C.charscmp(charcl,charc2) D.doublesum1(floatx;floaty); 28.设有变量定义: structnode{ intx; inty; }a[2]={{5,8},{1,3}}; intn; 当执行完如下语句: n=a[0].x*a[1].y; 后,n中的值为。 答案: B A.5 B.15 C.8 D.24 29.C语言中重定位流(数据流/文件)上的文件内部位置指针的库函数是。 答案: A A.fseek B.fscanf C.fprintf D.fwrite 30.某结构体说明和变量定义如下: structnode {intdata; structnode*next; }a,b,*pa=&a,*pb=&b; 以下选项中,能够将结点b链接到结点a之后的语句是。 答案: D A.a.next=b; B.pa->next=(*pb); C.a->next=&b; D.(*pa).next=pb; 31.一个C语言程序中可以包含多个函数,以下选项中,正确的是_________。 答案: B A.函数的定义可以嵌套,但函数的调用不可以嵌套 B.函数的定义不可以嵌套,但函数的调用可以嵌套 C.函数的定义和函数的调用均可以嵌套 D.函数的定义和函数的调用均不可以嵌套 32.若在某一个函数中有变量定义: intn;则_____。 答案: D A.n具有初值0 B.n具有初值-1 C.n不具有任何初值 D.n的初值不确定 33.设有变量定义charstr[80];则下列输入字符串的语句中正确的是: ________。 答案: C A.scanf("%s",&str); B.scanf("%s",str[80]); C.scanf("%s",str); D.scanf("%s",str[0]); 34.设有变量定义为: inta=30,b=20,c=10,d;则执行语句d=(a+b)%c;后d的值是________。 答案: A A.0 B.1 C.30 D.10 35.为表示关系0≤y≤10,正确的C语言表达式是: ______。 答案: A A.(y>=0)&&(y<=10) B.(0>=y)AND(y>=10) C.(10>=y>=0) D.(10>=y)||(y>=0) 36.设有变量定义inta=70;则下列语句的运行结果是________。 if(a>=60) if(a>=80) printf("VeryGood"); else printf("Good"); else if(a>=40) printf("Bad"); else printf("VeryBad"); 答案: B A.VeryGood B.Good C.Bad D.VeryBad 37.设已有变量定义: intk;则下面循环执行的次数是___________。 k=10; while(k=10)k=k-1; 答案: B A.执行10次 B.无限循环 C.一次也不执行 D.执行一次 38.要在C语言程序中使用系统函数strcpy(),需要使用include命令包含库文件______。 答案: C A.#include B.#include C.#include D.#include 39.若有以下变量定义: intt[3][2];则数组t中内存地址排在最后的元素是________。 答案: D A.t[3][2] B.t[2][3] C.t[2] D.t[2][1] 40.下面程序的输出是______。 main() {inta[12]={1,3,5,7,9,11,13,15,17,19,21,23}; int*p=a+2,i,k=0; for(i=0;i<3;i++) k=k+*(p+i); printf("%d\n",k); } 答案: A A.21 B.25 C.9 D.108 41.设有变量定义charch;写出下列语句的运行结果: (__B______) for(ch='B'-1;ch<='F';ch++) putchar(ch); 答案: B A.ABCDEFG B.ABCDEF C.BCDEF D.BCDEFG 42.设有函数定义: voidf(inta[],intn,int*k),在主函数main()中有变量定义: intd[4]={5,8,1,3},n=4,m=0;并已知数组d的地址为1000,n的地址为1500,m的地址为2000。 当调用函数f(d,n,&m)时,f函数获取的三个参数值依次为_________。 答案: B A.1000,1500,2000 B.1000,4,2000 C.1000,4,0 D.5,4,0 43.若有以下定义: structcoordinate{ intx; inty;}a={3,5},b; int*p; 以下四个语句中,语法正确的语句是_____。 答案: A A.b=a; B.b={6,8}; C.scanf("%d%d",&b); D.p=&a; 44.C语言中,从二进制文件中读取一批整型数据的库函数是_________。 答案: B A.fgetc B.fread C.fscanf D.fgets 45.设有如下结点定义及链表情况,删除其中学号为101的语句是________。 structnode { intnum;/*学号*/ structnode*next; }*head,*p; 答案: B A.p=head->next;p->next=head->next;free(p); B.p=head->next;free(head);head=p; C.p=head->next;head->next=p->next;free(p); D.p=head->next;free(p->next);p->next=NULL;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 基础 及其 答案