1、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
2、那么表白式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&
3、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)
4、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
5、un(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(
6、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
7、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 2
8、7.在一个函数里不克不及阐明〔〕 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)用
9、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:pr
10、intf("xunknow\n");
}
}
2.以下次序的输入后果是。
#include
11、d…f2()\n〞,x);
}
voidmain()
{intx=10;
f1(x);
f2();
printf(“%d…main()\n〞,x);
}
4.以下次序的输入后果是。
#include
12、以下次序的输入后果是。
#include
13、 } 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.以下次序对输入的两个整数,按从年夜到小
14、次序输入。请填空。 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。请
15、填空。
intf(intm,intn)
{ints;
if((5))s=1;
elses=(6);
return(s)
}
4.以下次序的功用是求数组num中小于零的数据之跟。请填空。
#include
16、a中的数据按逆序寄存,请填空。
#defineM8
main()
{inta[M],i,j,t;
for(i=0;i 17、跟并输入。〔如输入数是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 18、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






