C语言期末复习题
- 格式:doc
- 大小:143.00 KB
- 文档页数:23
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语言一、选择题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语言考试期末考试复习题及答案一、选择题(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'。
期末总复习(基础知识+程序设计部分)一.填空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。
试卷编号: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。
一、选择题(每小题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]的值是______。
一、单项选择题(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语言考试期末考试复习题及答案一、选择题(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。
下列符号串中,属于C语言合法标识符的是()①else ②a-2 ③_00 ④00【答案】③3.下列说法中,正确的是()①主函数名是由程序设计人员按照“标识符”的规则选取的②分号和回车符号都可以作为一个语句的结束符号③在程序清单的任何地方都可以插入一个或多个空格符号④程序的执行,总是从源程序清单的第1行开始【答案】③4.-12345E-3代表的十进制实数是________________________.【答案】—12.3455.设字符型变量ch中存放字符“A”,则执行“ch+++2”后,ch中的字符是________。
【答案】B6.设字符型变量ch1中存放的字符是“A",字符型变量ch2中存放的字符是“B”,则执行“!(ch1=’B')&&(ch2='C')”的运算后,变量ch2中的字符是_____________.【答案】B6-1.设整型变量m,n,a,b,c,d均为1,执行“(m=a〉b)&&(n=a>b)”后m,n 的值是()①0,0 ②0,l ③1,0 ④1 ,l【答案】②。
7.设整型变量x1和x2的值均为10,则表达式“x1/=x2-4”的值是_______________. 【答案】l8.在C语言中,如果某个关系表达式成立(真),则该关系表达式的值是____;如果某个逻辑表达式为假,则该逻辑表达式的值是_________.【答案】1 09.设有整型变量x,如果表达式“!x”值为0,则x的值为_________;如果表达式“!x"值为1,则x的值为___________。
【答案】非010.下列表达式中,不属于逗号表达式的是()①a=b,c ②a,b=c ③a=(b,c) ④a,(b=c)【答案】③11.在三种选择结构中,能用2个条件,控制从3个操作中选择一个操作执行的选择结构是______选择结构【答案】多分支12.在三种循环结构中,先执行循环操作内容(即循环体),后判断控制循环条件的循环结构是______循环结构。
C语言复习题及答案一.单项选择题1.下列选项中,不是转义字符集中的符号是( C )。
A \\B \’C 074D \02. 下列给出的符号串中,不属于C语言保留字的是( B )。
A switchB cherC caseD else3. 下列给出的符号串中,不能作为C语言标识符的是( C )。
A a_2B _2aC a.3D a_34. 下列属于C语言字符常量的是( C )。
A ‘abc’B “\n”C ‘a’D ‘a\0’5. 字符串”ABC”再内存占用的字节数为( B )。
A 3B 4C 6D 86. 设有宏定义“#define R 2+3”,则R*R的宏替换结果正确的是( B )。
A (2+3)*(2+3)B 2+3*2+3C 5*5D 5.0*5.07. 设整形变量I的值为3,则表达式i---i的值为( A )。
A 0B 1C 2D 38. 表达式“10!=9”的值为( D )。
A trueB 非零值C 0D 19. 设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值为( D )。
A 3B 0C 9D -1210. 下列选项中,正确的赋值表达式为( C )。
A a=7+b+c=a+7B a=7+b++=a+7C a=(7+b,b++,a+7)D a=7+b,c=a+711. 若有以下定义语句:char a;float c; double d; 则表达式a*b+d-c值的类型为( D )。
A floatB intC charD double12. 用十进制数表示表达式“12||012”的运算结果是( A )。
A 1B 0C 14D 1213. 下列一组运算符中,优先级别最高的运算符是( C )。
A <=B =C %D &&14. 设定“ char a=3,b=6,c;”,计算表达式c=(a^b)<<2后c的二进制值是( D )。
A 00011100B 00000111C 00000001D 0001010015. 设x,y,z,t 均为int类型,则执行下列语句串后,变量t的值为(C )。
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个数据。