C语言期末复习题
C语言期末考试复习题及答案3

C语言期末考试复习题及答案一、选择题:下列各题A)、B)、C)、D)四个选项中只有一个是正确的,请将正确的选项涂写在答案纸上.答在试卷上不得分。
(1)C语言规定:在一个源程序中,main函数的位置.A)必须在最后B)必须在系统调用的库函数的后面。
C)必须在最开始.。
D)可以任意(2) C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符。
A)必须为字母或下划线.。
B)必须为下划线。
C)必须为字母D)可以是字母、数字和下划线中的任一种字符。
(3)下面四个选项中,均是正确的八进制数或十六进制数的选项是。
A)—10 0x8f —011 B) 010 -0x11 0xf1C) 0abc —017 0xc D) 0a12 —0x123 -0xa(4) C语言中int型数据在内存中占两个字节,则unsegned int取值范围是.A)0 ~ 65535 B)0 ~ 32767C)—32767 ~ 32768 D)—32768 ~ 327687(5) 若有定义:int a = 7; floa x = 2。
5 , y = 4.7 ;则表达式x + a % 3 * (int)(x + y)% 2/4 的值是.A)2。
750000 B)0.00000 C)3。
500000 D)2。
500000 (6)已知ch是字符型变量,下面不正确的赋值语句是。
A)ch = 5 + 9 ; B) ch= ' a + b ';C) ch = ' \ 0 ’;D)ch= ’7’ + ’6';(7) 设x ,y和z是int型变量,且x = 3, y = 4 , z = 5 则下面表达式中值为0的是。
A)!((x < y )&&!z || 1)B)' x ' &&’ y ’C)x || y+z && y — z D)x 〈= y(8)设有程序段int k = 10 ;while ( k = 0 ) k = k — 1 ;以下描述正确的是.A)循环体语句一次也不执行。
C语言期末复习题

第一单元程序设计和C语言一、选择题1.C语言的基本构成单位是: A 。
A. 函数B. 函数和过程C. 超文本过程D. 子程序2.一个C语言程序总是从 B 开始执行。
A. 主过程B. 主函数C. 子程序D.主程序3.C语言的程序一行写不下时,可以。
A. 用逗号换行B. 用分号换行C. 在任意一空格处换行D. 用回车符换行4.以下叙述不正确的是: C 。
A. 在C程序中,语句之间必须要用分号";"分隔B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数C. 在C程序中,无论是整数还是实数都能正确无误地表示D. 在C程序中,%是只能用于整数运算的运算符5.以下不正确的C语言标识符是 D 。
A. ABCB. abcC. a_bcD. ab.c6.下列字符串是标识符的是: A 。
A. _HJB. 9_studentC. longD. LINE 17.以下说法中正确的是: C 。
A. C语言程序总是从第一个定义的函数开始执行B. 在C语言程序中,要调用的函数必须放在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分8.不合法的常量是: D 。
A. ...\2‟ B. "" C. ...3‟ D. (483)9.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是: A 。
int k,a,b;unsigned long w=5;double x=1.422;A. x%(-3)B. w+=-2C. k=(a=2,b=3,a+b)D. a+=a=+(b=4)*(a=3)10.在C语言中,字符型数据在内存中以 D 形式存放。
A. 原码B. BCD码C. 反码D. ASCII码11.若有定义:int a=7; float x=2.5; y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是: A 。
C语言程序设计期末考试复习题及答案[]
![C语言程序设计期末考试复习题及答案[]](https://img.taocdn.com/s3/m/1af47aac6137ee06eef91860.png)
C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。
switch(i+1){ case 10: i++。
break。
case 11: ++i。
case 12: ++i。
break。
default : i=i+1。
}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。
中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。
对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。
则语句printf(“%c”,*(p+2))运行结果是 ( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。
函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。
C语言期末复习卷习题

期末总复习(基础知识+程序设计部分)一.填空1.已知char ch='A’;则下列表达式的值是: aCh=(ch>=’A’&&ch〈=’Z’)? (ch+32):ch;2。
若x=1,y=2,z=3, 则表达式z+=++x+y++之值是73.若x=2,y=3,则x%=y+3之值为 24.. 若有定义int y=3; float z=5.2, x=4.8;则表达式y+=(int)x+x+z的值为175。
设x,y,z为int型变量,且x=3,y=—4,z=5,请写出下列各表达式的值1)(x&&y)==(x||z) 12)!(x>y)+(y!=z)||(x+y)&&(y-z)03)x++-y+(++z)136。
设x,y,z为int型变量,请用C语言表达式描述下列命题1)x和y中有一个小于z (x〈z&&y>z||x>z&&y〈z )==12) x,y和z中有两个为负数(x〈0&&y<0&&z>=0||z<0&&y<0&&x〉=0||y<0&&x〈0&&z>=0)==13)y是奇数y%2 !=07。
下面for循环语句最多可执行 4 次For (x=0,y=0 ;(y !=99)&&(x<4) ;x++)8。
设i,j,k均为int型变量,则执行以下for语句后,k的值是10for (i=0,j=10 ;i〈=j ;i++,j——)k=i+j ;9.若已知x,y,z,m,n均为int 型变量,则执行下面语句后,x的值为7 y的值为9z的值为7m=10 ;n=5;x=(-—m==n++)?—-m : ++n;y=m++;z=n;10。
若有说明语句: w=1,x=2,y=3,z=4; 则表达式w〉x? w:z〉y?z:x值是 4 11。
若定义的函数没有返回值时,则应该在该函数定义时加上类型说明符void12. 凡在函数中未指定存储类型的变量,其隐含的存储类别为动态存储13。
c语言期末复习试题附答案

试卷编号:1120所属语言:C语言试卷方案:C语言期末考试试卷总分:100分共有题型:4种一、单项选择共30题(共计60分)第1题(分)设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是(A ).A:k++B:k+=1C:++kD:k+1第2题(分)已知int i=5,执行语句i+=++i后,i的值是(C).A:10B:llC:12D:A、B、C都不对第3题(分)以下程序的功能是:给r输入数据后,计算半径为r的圆面积s.程序在编译时出错. ttinclude <>void main()/* Beginning */{ int r;float s;scanf (〃%d〃,&r);s=p*r*r; printf (〃s=%f\n〃,s);出错的原因是(D).A:注释语句书写位置错误B:存放圆半径的变量r不应该定义为整型C:输出语句中格式描述符非法D:计算圆面积的赋值语句中使用了非法变量第4题(分)〃\\\〃 ABC\〃 \\〃的长度是(B ).A:llB:7C:5D:3第5题(分)已知int j, i=l执行语句j=-i++;后,j的值是(C ).A:1B:2串中的内容为“abcdefg”时,c 所指数组中的内容应该为 “lg2f3e4dcba” 。
*/ttinclude <>#include <>#include <>void fun ( char char *b, char *c )int i , j;char ch;i = 0;j 二 strlen(b)-l;/**********FOUND**********/ch = b [ i];b[j] = ch; i++; j —;/**********FOUND**********/while ( *a &&*b )//此处&&改为| | (逻辑或)if ()*c =*a;c++;/**********FOUND**********/a+;)if ( *b )*c 二*b; c++;b++;*c = 0;main()char sl[100],s2[100],t[200];clrscr ();printf (,z \nEnter si string : 〃);scanf (〃如〃,si);printf (,z \nEnter s2 string : 〃);scanf (〃%s 〃, s2);fun( si, s2, t );printf (/z \nThe result is : %s\n 〃,t );i j四、程序设计共1题(共计20分)第1题(分)/*【程序设计】功能:判断一个整数w 的各位数字平方之和能否被5整除, 可以被5整除则返回1,否则返回0。
c语言期末试题

一、选择题(每小题2分,共34分)1. 以下不合法的用户标识符是______。
A、j2_KEYB、DoubleC、4dD、_8_2.以下叙述中正确的是______。
A、C程序中注释部分可以出现在程序中任意合适的地方B、花括号“{”和“}”只能作为函数体的定界符C、构成C程序的基本单位是函数,所有函数名都可以由用户命名(库函数)D、分号是C语言之间的分隔符,不是语句的一部分3.设int a=12,则执行完语句a+=a-=a*a后,a的值是______。
A、0B、264C、144D、-2644.假定x和y为double型,表达式x=2,y=x+3/2的值是______。
A、3.500000B、3C、2.000000D、3.0000005.语句:printf("%d",(a=2)&&(b=-2));的输出结果是______。
A、2B、1C、-4D、-26.若变量c为char类型,能正确判断出c为小写字母的表达式是______。
A、´a´<=c<=´z´B、(c>=´a´)||(c<=´z´)C、(´a´<=c)and(´z´>=c)D、(c>=´a´)&&(c<=´z´)7.在嵌套使用if语句时,C语言规定else总是______。
A、和之前与其具有相同缩进位置的if配对B、和之前与其最近的if配对C、和之前与其最近的且不带else的if配对D、和之前的第一个if配对8.以下循环体的执行次数是______。
main(){int i,j;for (i=0,j=1; i<=j+1;i+=2,j--)printf("%d \n",i);}A、3B、2C、1D、09.int a[2][3]={{1},{2,3}};,则a[0][1]的值是______。
c语言期末考试练习题1(含答案)

一、单项选择题(6小题,每小题3分,共18分)1、在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是A、externB、registerC、autoD、static2、下面4个选项中,是合法转义字符的选项是( )。
A、'\"B、'\'C、'\018'D、'\\0''\\' '\017' '\f' '\101''\n' '\''' 'xab' 'x1f'3、下面4个选项中,是正确的八进制数或十六进制数的选项是( )。
A、–10B、0abcC、0010D、0a120x8f –017 –0x11 ––011 0xc 0xf1 –0xa4、以下在任何情况下计算平方数时都不会引起二义性的宏定义是( )A、# define POWER(x) □□x * xB、# define POWER(x) □□(x) * (x)C、# define POWER(x) □□(x * x)D、# define POWER(x) □□((x) * (x))5、以下程序段( )x= –1;do{ x=x*x;} while (!x);A、是死循环B、循环执行二次C、循环执行一次D、有语法错误6、下面程序的运行结果是( )# include <stdio.h>int main( ){ int i,j,x=0;for (i=0;i<2;i++){ x++;for(j=0;j<=3;j++){ if (j%2) continue;x++;}x++;}printf ("x= %d \n",x);return 0;}A、x=4B、x=8C、x=6D、x=12二、填空题(7小题,每小题3分,共22分)1、下面程序段的运行结果是( )。
C语言程序设计期末考试复习题及答案

C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。
switch(i+1){ case 10: i++。
break。
case 11: ++i。
case 12: ++i。
break。
default : i=i+1。
}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。
中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。
对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1 D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是 ( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。
则语句printf(“%c”,*(p+2))运行结果是( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。
函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言期末复习题work Information Technology Company.2020YEAR《C程序设计》复习题一、单项选择题(请从4个备选答案中选择最适合的一项,每小题1分,共20分)1.算法具有5个特性,以下选项中不属于算法特性的是()。
A) 有穷性B) 简洁性C) 有效性D) 确定性2.设有定义:float a=2,b=4,h=3;,其中a为梯形的上底,b为梯形的下底,h为梯形的高,以下C语言表达式不能计算出梯形面积的()A) (a+b)*h/2 B) (1/2)*(a+b)*h C) (a+b)*h*1/2 D) h/2*(a+b)3.经int a=7; float x=2.5, y=4.7;说明后,表达式 x+a%3*(int)(x+y)%2/4 的值是( )。
A) 2.500000 B) 2.750000 C) 3.500000 D) 0.0000004.若t为double类型,表达式t=1,t+5, ++t的值是A)1 B)6.0C)7.0 D)2.05. 若有以下定义和语句:int u=010,v=0x10,w=10;printf(“%d,%d,%d\n”,u,v,w);则输出结果是A)8,16,10 B)10,10,10C)8,8,10 D)8,10,106. 以下选项中不合法的用户标识符是A)_12B)abc7C)a-2D)AS_88_mj7. 若有以下定义和语句char c1='b',c2='e';printf("%d,%c\n",c2-c1,c2-'a'+"A");则输出结果是A)2,M B)3,EC)2,E D)输出项与对应的格式控制不一致,输出结果不确定8. 若有以下定义:char s[20]="programming",*ps=s;则不能代表字符o的表达式是A)ps+2 B)s[2]C)ps[2] D)ps+=2,*ps9.设变量a为int,f为float,i为double,则表达式10+‘a’+i*f 的数据类型是( )。
A) int型 B) float 型C) double型 D) 不确定10.设a为int, 不能正确表达数学关系: 10<a<15 的C语言表达式是( )。
A) 10<a<15B) a==11 || a==12 || a==13 || a==14C) a>10 && a<15 D) !(a<=10) && !(a>=15)11.语句for(x=0,y=0;(y!=123)&&(x<4);x++);循环()。
A) 是无限循环B) 循环次数不定C) 执行4次D) 执行3次12. 下面的程序main( ){ int a,b,s;scanf("%d%d",&a,&b);s=a;if(s<b) s=b;s=s*s;printf("%d\n",s);}运行时,若从键盘输入3和2,则输出( )。
A) 14 B) 16 C) 18 D) 913. 若ij已定义为int类型,则以下程序段中内循环体的总的执行次数是for (i=5;i;i--)for(j=0;j<4;j++){...}A)20 B)25C)24 D)3014. 若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是A)1 B)2C)2.0D)2.515. 在C语言中,不合法的字符常量是A)\014B)\xab C)’D’D)”e”16. C语言中用于结构化程序设计的三种基本结构是A) if、switch、while B) for、while、do-whileC) if、while、continue D) 顺序结构、选择结构、循环结构17.已知a=1,b=2,c=3,d=4,则表达式 a<ba:c<da:d 的结果是A)4 B)3C) 1D)218.若执行下面程序时,从键盘输入"3,4",则输出是( )。
main(){ int a,b,s;scanf("%d,%d",&a,&b);s=a;if (a<b) s=b;elses=s*s;printf("%d\n",s);}A) 4B) 16 C) 18 D) 2019.若函数的类型和return语句中的表达式的类型不一致,则()。
A) 编译时出错B) 运行时出现不正确的结果C) 不会出错,且返回值的类型以return语句中表达式的类型为准D) 不会出错,且返回值的类型以函数类型为准20.在C语言程序中,以下叙述正确的是 ( )。
A) 函数的定义和函数的调用均可以嵌套B) 函数的定义可以嵌套,但函数的调用不能嵌套C) 函数的定义和函数的调用均不能嵌套D) 函数的定义不能嵌套,但函数的调用可以嵌套21.若用数组名作为函数调用的实参,则传递给形参的是 ( )。
A)数组的首地址B) 数组的第一个元素的值C) 数组中全部元素的值D) 数组元素的个数22. 在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是( )。
A) 外部(extern) B) 寄存器(register) C) 自动(atuo) D) 静态(static) 23.在下面一组运算符中,优先级最高的运算符是A) <= B) =C) % D) &&24. 有如下函数调用语句func(rec1,rec2+rec3,rec4);该函数调用语句中,含有的实参个数是A)3B)4C)5D)有语法错25. 表示关系X<=Y<=Z的c语言表达式为A) (X<=Y)&&(Y<=Z)B)(X<=Y)AND(Y<=Z)C) (X<=Y<=Z) D) (X<=Y)&(Y<=Z)26. C语言中,若未说明函数的类型,则系统默认该函数的类型是( )。
A) float型B) int型 C) long型 D) double型27.若定义数组int a[3][4];,并以f(a)语句调用函数f,则在定义f函数时,对形参数组array 错误的定义方式为( )。
A) f(int array[][6]) B) f(int array[3][])C) f(int array[][4]) D) f(int array[2][5])28.下列一维数组初始化语句中,正确的是( )。
A) int a[5]={0,2,0,3,5}; B) int a[5]=0;C) int a[5]={5*2}; D) int a[]=(0,2,0,3,7);29.现要定义一个二维字符型数组c[M][N] 来存放字符串"China", "Tianjin"和"Education", 则常量M和N的合理取值应为( )。
A) 3和9 B) 2和10 C) 4和9 D) 3和1030.若有说明 char c[]={'N','a','n','K','a','i'}; 则对其元素的非法引用是( )。
A) c[0] B) c[9-6] C) c[2*2] D) c[7]31. 在C语言中,运算对象必须是整型的运算符是A) * B) %C) /D) !32. 设有以下宏定义:#define N 3#define Y(n) ( (N+1)*n)则执行语句:z=2 * (N+Y(5+1));后,z的值为A)出错B) 42 C) 48D)5433. 以下结构体变量的字节数是struct student{int num;char name[8];double score;union{ int class;char position[10];}category;}stu;A) 18 B) 30 C) 28 D) 3234. 若有代数式bc ae,则错误的表达式是A) a/b/c*e B) a*e/c/b C) a*e/b/c D) a*e/b*c35.要将字符串str2连接到字符串str1后,应使用的函数是( )。
A) strcpy(str1,str2); B) strcat(str2,str1);C) strcat(str1,str2); D) strcmp(str2,str1);36.若定义 int a=8,b,*p=&b;则赋值语句p=&a执行后,结果为 ( )。
A) p同时指向a和b B) p指向a,而不再指向bC) p指向b,而b取a的值D) p指向a,a取b的值37.定义以下结构体类型struct s{int a;float f;}m[3];语句printf("%d",sizeof(m))的输出结果为( )。
A) 4 B) 12 C) 18D) 638. 下面程序的输出是main(){int x=32;printf("%d\n",x=x<<1);}A) 100 B) 160 C) 120D) 6439. 不正确的转义字符是A) “\018” B) “\’ ” C) “\xaa” D) “\\”40. 以下程序执行后sum的值是void main(){ int i , sum;for(i=1;i<6;i++)sum+=i;printf("%d\n",sum);}A)15 B)14 C) 不确定D)0二、程序填空题(每空1分)1.以下程序调用readrec函数读入数据,把3名学生的学号、姓名、四门成绩以及平均分放在一个结构体数组中,学生的学号、姓名和四门成绩由键盘输入,然后计算出平均分放在结构体对应的域中,调用writrec函数输出3名学生的记录。
请填空。
#include<stdio.h>#define N 3struct stud{ char num[5],name[10];int s[4];int ave;}st[N];writrec(struct stud *s){ int k,i;printf("num\tname\tmark1\tmark2\tmark3\tmark4\tave\n");for(k=0;k<3;k++,s++){ printf("%s\t%s\t",s->num,s->name);for(i=0;i<4;i++)printf("%d\t",s->s[i]);printf("%d\n",s->ave);}}readrec(struct stud *p){ int i,j,sum;for(j=0;j<N;j++,p++){ gets(p->num);gets(p->name);for(i=0;i<4;i++)scanf("%d",&p->s[i]);getchar();sum=0;for(i=0;i<4;i++)sum+=p->s[i] ;p->ave=sum/4;}}main(){readrec(st);writrec(st);}2.求1!+3!+5!+7!+…+21!之和#include <stdio.h>void main(){ float s,t;int n;s=0;t=1;for(n=1;n<=21;n++){t=t*n;if(n%2!=0)s+=t;}printf(“1!+3!+5!+7!+…+21!=%e\n”,s);}3. 用数组来处理求Fibonacci数列(即:1,1,2,3,5,8,13……)问题,每行控制输出5个数据。