收藏 分销(赏)

C语言程序设计复习题及答案.doc

上传人:二*** 文档编号:4498044 上传时间:2024-09-25 格式:DOC 页数:13 大小:30KB 下载积分:5 金币
下载 相关 举报
C语言程序设计复习题及答案.doc_第1页
第1页 / 共13页
本文档共13页,全文阅读请下载到手机保存,查看更方便
资源描述
C言语次序计划温习题及谜底 一、抉择题〔每题1分,共30分〕 1.以下表白准确的选项是()。 A)在C次序中,main函数必需位于次序的最后面 B)C次序的每行中只能写一条语句 C)C言语自身不输入输入语句 D)在对一个C次序进展编译的进程中,可发觉正文中的拼写过错 2.一个C言语次序的根本单元是() A)函数B)子次序C)进程D)下令 3.一个C言语的语句必需运用的完毕标记是〔〕 A),B)。C):D); 4.以下选项中,能够作为C言语标识符的是〔〕 A)3stuB)#stuC)stu3D)stu.3 5.设有阐明:charw;intx;floaty;doublez;那么表白式w*x+z-y值的数据范例为 A)floatB)charC)intD)double 6.以下表白准确的选项是〔〕 A〕赋值语句中的“=〞是表现左边变量即是左边表白式 B〕赋值语句中左边的变量值不必定即是左边表白式的值 C〕赋值语句是由赋值表白式加上分号形成的 D〕x+=y;不是赋值语句 7.假定x为int型变量,那么履行x=6;x+=x-=x*x;语句后,x的值为〔〕 A)36B)-60C)60D)-24 8.假定有a=2,b=3,c=4,那么表白式a==3跟a=3的值分不为〔〕 A)0跟0B〕1跟3C〕3跟3D〕0跟3 9.使前提表白式〔year%4==0&&year%100!=0〕||〔year%400==0〕后果为假的值是〔〕 A)1950B)2000C)1996D)2004 10.假定x、i、j、k基本上int型变量,那么盘算上面表白式后,x的值为()。 x=(i=4,j=16,k=32) A)4B)16C)32D)52 11.逻辑运算符两侧运算工具的数据范例〔〕 A)只能是0跟1B)只能是0或非0负数 C)只能是整型或字符型数据D)能够是任何范例的数据 12.假定盼望当A的值为奇数时,表白式的值为“真〞,A的值为偶数时,表白式的值为“假〞。那么以下不克不及满意请求的表白式是〔〕 A)A%2==1B)!(A%2==0)C)!(A%2)D)A%2 13.语句while(!E);中的表白式!E等价于〔〕。 A)E==0B)E!=1C)E!=0D)E==1 14.上面次序段的运转后果是〔〕 a=1;b=2;c=2 while(a<b&&a<c){t=a;a=b;b=t;c--;} printf(%d,%d,%d〞,a,b,c); A)1,2,0B)2,1,0C)1,2,1D)2,1,1 15.以下次序段〔〕 x=-1; do{ x=x*x; } while(!x); A)是逝世轮回B)轮回履行二次 C)轮回履行一次D)有语法过错 16.以下准确的函数本相阐明语句是〔〕 A)voidfun(intx);B)floatfun(voidy); C)doublefun(x);D)int(charch); 17.在C言语中,形参必需是〔〕 A〕常量B〕变量C.〕数值D〕表白式 18.C言语的函数〔〕 A〕能够嵌套挪用,不克不及递归挪用B〕能够嵌套界说 C〕既能够嵌套挪用,也能够递归挪用D〕不克不及够嵌套挪用 19.正当的数组界说是〔〕 A〕inta[]=〞string〞;B〕inta[5]={0,1,2,3,4,5}; C〕chara=〞string〞;D〕chara[]={0,1,2,3,4,5}; 20.表白式strlen(“string〞)+strlen(“C〞)的运算后果为〔〕 A〕9B〕10C〕7D〕8 21.假定有界说跟语句:chars[10];s=“abcd〞;printf(“%s\n〞,s);那么后果是〔〕〔以下u代表空格〕 A〕abcdB〕a C〕abcduuuuuD〕编译不经过 22.假定已界说:inta[9],*p=a;并在当前的语句中未改动p的值,不克不及表现a[1]地点的表白式是〔〕 A〕p+1B〕a+1C〕a++D〕++p 23.假定有intx,*pb;那么准确的赋值表白式是 A〕pb=&xB〕pb=x;C〕*pb=&x;D〕*pb=*x 24.设有次序段:chars[]=〞china〞;char*p;p=s;那么上面表白准确的选项是〔〕 A〕s跟p完整一样 B〕数组s中的内容跟指针变量p中的内容相称 C〕*p与s[0]相称 D〕s数组长度跟p所指向的字符串长度相称 25.上面临构造变量的表白中过错的选项是〔〕 A〕一样范例的构造变量间能够互相赋值 B〕经过构造变量,能够恣意援用它的成员 C〕构造变量中某个成员与那个成员范例一样的复杂变量间可互相赋值 D〕构造变量与复杂变量间能够赋值 26.假定有构造范例界说如下: structbd {intx; floaty; }r,*p=&r; 那么,对r中的成员x的准确援用是〔〕 A〕(*p).r.xB〕(*p).x 27.在一个函数里不克不及阐明〔〕 A〕全局变量B〕静态变量 C〕部分变量D〕静态部分变量 28.以下对于文件包括的说法中过错的选项是〔〕 A〕文件包括是指一个源文件能够将另一个源文件的全体内容包括出去。 B〕文件包括处置下令的格局为 #include“包括文件名〞或#include<包括文件名> C〕一条包括下令能够指定多个被包括文件 D〕文件包括能够嵌套,即被包括文件中又包括另一个文件。 29.以下语句中,将C界说为文件型指针的是〔〕 A〕FILEc;B〕FILE*c; C〕filec;D〕file*c; 30.上面临typedef的表白中不准确的选项是〔〕 A)用typedef能够界说各品种型名,但不克不及用来界说变量 B)用typedef能够添加新范例 C)用typedef??是将已存在的范例用一个新的标识符来代表 D)运用typedef有利于次序的通用跟移植 二、写出以下次序的运转后果〔每题3分,共24分〕 1.以下次序的输入后果是。 #include"stdio.h" main() {intx=3; switch(x) {case1: case2:printf("x<3\n"); case3:printf("x=3\n"); case4: case5:printf("x>3\n");break; default:printf("xunknow\n"); } } 2.以下次序的输入后果是。 #include<stdio.h> voidmain() {inti,j,x=0; for(i=0;i<2;i++) for(j=0;j<3;j++) {if(j%2)continue; x++; } printf(“x=%d\n〞,x); } 3.以下次序的输入后果是。 #include"stdio.h" staticintx=20; voidf1(intx) {x+=10; printf(“%d…f1()\n〞,x); } voidf2() {x+=10; printf(“%d…f2()\n〞,x); } voidmain() {intx=10; f1(x); f2(); printf(“%d…main()\n〞,x); } 4.以下次序的输入后果是。 #include<stdio.h> #defineS‘’ voidmain() {intn=5,i,j; for(i=1;i<=n;i++) {for(j=1;j<=10;j++)putchar(S); for(j=1;j<=n-i;j++)putchar(S); for(j=1;j<=i;j++){putchar(‘*’);} putchar(‘\n’); } } 5.以下次序的输入后果是。 #include<stdio.h> voidmain() {staticinta[]={5,7,9}; int*p=a; ++p; printf(“%d%d%d%d\n〞,*a,*(a+2),*(p+1),p[1]); } 6.上面次序的运转后果是〔〕 #include“stdio.h〞 voidmain() {chara[]=“ab12cd34ef〞; inti,j; for(i=j=0;a[i];i++) if(a[i]>=’a’&&a[i]<=’z’)a[j++]=a[i]; a[j]=’\0’; printf(“%s\n〞,a); } 7.上面次序的运转后果是〔〕 #include“stdio.h〞 voidmain() {int*p,i; i=100; p=&i; i=*p+10; printf(“%d%d\n〞,I,*p); } 8.上面次序的运转后果是〔 〕  voidmain() { structcmplx{intx; inty; }cnum[2]={1,3,2,7}; printf(“%d\n〞,cnum[0].y/cnum[0].x*cnum[1].x); } 三、次序填空:〔依照题意,将空白的语句补上。每空3分,共30分〕 1.以下次序对输入的两个整数,按从年夜到小次序输入。请填空。 main() {intx,y,z; scanf(“%d,%d〞,&x,&y); if((1)) {z=x;(2)} printf(“%d,%d\n〞,x,y); } 2..以下次序实现的功用是求1+2+3+…+10的累加跟,并进展累加跟的输入打印。变量sum是寄存累加值的。 #include"stdio.h" main() {(3) i=1,sum=0; for(;i<=10;) {sum+=i; (4)} printf("%d\n",sum); } 3.上面次序的功用是用函数递归挪用的办法界说函数intf(intm,intn)求mn。请填空。 intf(intm,intn) {ints; if((5))s=1; elses=(6); return(s) } 4.以下次序的功用是求数组num中小于零的数据之跟。请填空。 #include<stdio.h> voidmain() {intnum[20]={10,20,1,-20,23,-21,2,-2,-2,11,-21,22,12,-2,-234,-90,22,90,-45,20}; intsum=0,i; for(i=0;i<=19;i++) {if((7))sum=(8);} printf(“sum=%d〞,sum); } 5.以下次序将数组a中的数据按逆序寄存,请填空。 #defineM8 main() {inta[M],i,j,t; for(i=0;i<M;i++)scanf("%d",a+i); i=0;j=M-1; while(i<j) { t=*(a+i);(9);*((10))=t; i++;j--; } for(i=0;i<M;i++)printf("%3d",*(a+i)); } 四、编写次序〔第1题7分,第2题9分,共16分〕 1.编一个次序,推断输入的整数x能否既是5又是7的整数倍。假定是,那么输入yes,否那么输入no。 2.编一个次序,请求:输入整数n,求整数n的列位数字的平方跟并输入。〔如输入数是n=234,那么盘算2*2+3*3+4*4=29并输入〕 一、抉择题〔每题1分,共30分〕 CADCDCBDACDCADCABCDCDCACDBACBB 二、写出以下次序的运转后果〔每题3分,共24分〕 1. x=3 x>3 2. x=4 3. 20…f1()    30…f2()    10…main() 4.  * ** *** **** ***** 5. 5999 6.abcdef 7.2020 8.6 三、次序填空:〔依照题意,将空白的语句补上。每空3分,共30分〕 (1)x<y (2)x=y;y=z; (3)inti,sum; (4)printf(“%d〞,sum); (5)n==0 (6)m*f(m,n-1) (7)num[i]<0 (8)sum+num[i] (9)*(a+i)=*(a+j) (10)a+i 四、编程题(第1题8分,第2题8分) 1.#include<stdio.h> voidmain() {intx;    scanf(“%d〞,&x);  if(x%5==0&&x%7==0)printf(“yes〞);    elseprintf(“no〞); } 2.#include<stdio.h> void main()  {intn,sum=0.0;   while(n!=0)   {     sum=sum+n%10;     n=n/10; } printf(“\nsum=%d〞,sum); }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服