C综合复习题.docx
C语言期末复习.doc

C语言期末复习.doc第一章C语言概述一、选择题1、C语言程序由什么组成()A、子程序B、主程序和子程序C、函数D、过程2、源程序要正确地运行,必须要有什么函数()A、Printf函数B、自定义的函数C、main函数D、不需要函数3、指出下面哪些是合法的标识符()A、3abB、intC、ABCD、a_3E、sum..aF、#abcG、_stu2H、abc f二、问答题1、C语言程序由哪几部分组成?C语言程序结构有什么特点?参考答案一、选择题1、C2、C二、问答题见教案第二章基本数据类型、运算符及表达式一、选择题1、C语言中的数据的基本类型包括()A、整型、实型、字符型和逻辑型B、整型、实型、字符型和结构体C、整型、实型、字符型和枚举型D、整型、实型、字符型和指针型2、在C语言中,不合法的int型常量是()A、32767B、0678C、0XABCD、32768L3、在C语言中,运算对象必须是整型数的运算符是()A、%B、\\C、%和\\D、**4、若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是()A、1B、2C、2.0D、2.55、若t为double类型,表达式t=1,t+5,t++的值就是()A、1B、6.0D、1.06、若有定义:int a=10,b=9,c=8;执行下面两条语句c=(a-=(b-5));c=(a%11)+(b=3);后,变量b的值为()A、9B、4C、3D、27、设int a=12,则执行完语句a+=a-=a*a后,a的值是_____A、22B、264C、144D、-264二、问答题:1、简述‘a’和“a”的区别。
参考答案一、选择题1、C2、D3、A4、D5、D6、C7、D二、问答题‘a’是字符常量“a”是字符串常量C语言规定:在每一个字符串的结尾加一个“字符串结束标志”,以便系统据此判断字符串是否结束。
C语言规定以字符’\\0’作为字符串结束标志。
如果有一个字符串”china”,实际上在内存中是占内存不是5个字节,而是6个字节,最后一个是’\\0’。
C语言程序设计综合复习资料(doc 9页)

intd[3][2]={{1,2},{34}}; 4.以下不能正确定义二维数组的选项是A)inta[2][2]={{1},{2}};B)inta[][2]={1,2,3,4};C)inta[2][2]={{1},2,3};D)inta[2][]={{1,2},{3,4}}; 5.有语句:chars1[10],s2[10]={ "books"};则能将字符串books赋给数组s1的正确语句是A)s1={"books"};B)strcpy(s1,s2);C)s1=s2;D)strcpy(s2,s1);6.C语言标准函数strcpy(s3,strcat(s1,s2))的功能是A)将字符串s1复制到s2中,再连接到s3之后B)将字符串s2连接到s1之后,再将s1复制到s3中C)将字符串s2复制到s1中,再将s1连接到s3之后D)将字符串s2连接到s1之后,再将s3复制到s1中二、读程序,写出程序执行结果1.main(){intaa[4][4]={{1,2,3,4},{ 5,6,7,8},{3,9,10,2},{4,2, 9,6}};inti,s=0;for(i=0;i<4;i++)s+=aa[i ][3];printf(“%d\n”,s);}2.main(){inta[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}};inti,j,s=0;for(i=0;i<4;i++){for(j=0;j<4;j++){if(a[i][j]<0)continue;if(a[i][j]==0)break;s+=a[i][j];}}printf("%d\n",s);}3.main(){intp[7]={11,13,14,15,16,17,18},i=0,k=0;while(i<7&&p[i]%2){k=k+p[i];i++;}printf("%d\n",k);}4.main(){inti,n[]={0,0,0,0,0};for(i=1;i<=4;i++){n[i]=n[i-1]*2+1;printf("%d",n[i]);}}5.voidmain(){intstr[3][3]={1,2,3,4,5,6,7,8,9},i,j,t;for(i=0;i<3;i++)for(j=0;j<i;j++){t=str[i][j];str[i][j]=str[j][i];str[j][i]=t;}for(i=0;i<3;i++){for(j=0;j<3;j++)printf(“%3d”,str[i][j]);printf("\n");}}第8章函数一、选择题1.在C语言中A)函数的定义允许嵌套,但函数的调用不允许嵌套。
计算机c语言综合试题及答案

计算机c语言综合试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中的基本数据类型?A. intB. floatC. charD. string答案:D3. 在C语言中,以下哪个运算符用于比较两个值是否相等?A. ==B. !=C. <=D. >=答案:A4. C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A5. 在C语言中,以下哪个关键字用于声明一个函数?A. functionB. defC. voidD. int答案:C6. C语言中,以下哪个选项是正确的数组声明?A. int array[10];B. int array[];C. int array[10] = {0};D. All of the above答案:D7. 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. _variableD. All of the above答案:D8. 在C语言中,以下哪个选项是正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio.h>D. #include "stdio.h"答案:A9. C语言中,以下哪个选项用于定义一个无限循环?A. while(1)B. for(;;)C. do whileD. All of the above答案:D10. 在C语言中,以下哪个关键字用于声明一个指针?A. pointerB. ptrC. *D. ref答案:C二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个宏。
C语言程序设计综合复习资料(doc 9页)优质版

C语言程序设计综合复习资料(doc 9页)优质版c语言程序设计综合复习资料(doc9页)优质版c语言程序设计综合复习资料建议掌控的章节:第1章、第3章~第8章、第10章(前4节)、第11章(前6节)if、for、continue4.c语言程序的基本单位是a)函数b)过程c)子例程d)子程序3.在计算机中,一个字节所包含二进制位的个数是a)2b)4c)8d)164.用8scores符号二进制数能则表示的最小十进制数为a)127b)128c)255d)256a)intb)intc)jin#2d)8f14.依据c语言的语法规则,以下合法标识符就是a)elseb)elsec)user$2d)5_examp15.以下不正确的字符常量是a)'8'b)'\\xff'c)'\\887'd)''16.以下不恰当的字符常二、填空题1.c语言程序总是从函数开始执行。
重点章节:第3章~第8章、第10章(前4节)难点章节:第8章、第10章(前4节)考试题型:①选择题(填空题)(20%)②读程序题(40%)③编程序题(40%)第1章c语言概述一、选择题1.能够将高级语言撰写的源程序切换为目标程序的软件就是a)汇编程序b)编辑程序c)解释程序d)编译程序2.在一个c程序中a)main函数必须发生在所有函数之前b)main函数可以在任何地方发生c)main函数必须出现在所有函数之后d)main函数必须出现在固定位置3.c语言中用作结构化程序设计的三种基本结构就是a)顺序结构、选择结构、循环结构b)if、switch、breakc)for、while、do-whiled)2.c语言就是种面向_____的程序设计语言,其程序的基本单位就是。
.3.c语言中的函数由、两部分共同组成。
4.结构化程序设计中所规定的三种基本控制结构是、和。
第3章数据类型、运算符与表达式一、选择题1.以下关于c语言用户标识符的描述中恰当的就是a)用户标识符中可以出现下划线和中划线(减号)b)用户标识符中不可以发生中划线,但可以发生下划线c)用户标识符中可以出现下划线,但不可以放在用户标识符的开头d)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头2.c语言中基本数据类型存有a)整型、实型、逻辑型b)整型、字符型、逻辑型c)整型、实型、字符型d)整型、实型、字符型、逻辑型5.在计算机系统中,存储一个汉字的国标码所须要的字节数为a)1b)2c)3d)46.在c 语言中,char型数据在内存中的存储形式就是a)原码b)补码c)反码d)ascii码7.十六进制数100转换为十进制数为a)256b)512c)1024d)648.十六进制数7a转化成八进制数就是a)123b)122c)173d)1729.十进制数32转化成十六进制数是a)20b)ffc)10d)2110.与十进制数511等值的十六进制数为a)1ffb)2ffc)1fed)2fe11.以下选项中可以做为c语言合法整数的就是a)10110bb)0386c)0xffad)x2a212.以下选项中合法的实型常数是a)5e2.0b)e-3c).2e0d)1.3e13.依据c语言的语法规则,以下()就是用户的定义的合法标识符。
综合c类考试题及答案

综合c类考试题及答案综合C类考试题及答案1. 单项选择题:下列哪项不是计算机病毒的特征?A. 传染性B. 破坏性C. 可预见性D. 隐蔽性答案:C2. 填空题:在计算机系统中,操作系统的主要功能是管理计算机的______资源。
答案:硬件3. 判断题:在网络通信中,TCP协议提供的是无连接的服务。
答案:错误4. 简答题:什么是数据库的事务?请简述其四个基本特性。
答案:数据库事务是一组不可分割的操作序列,它具有以下四个基本特性:- 原子性(Atomicity):事务中的所有操作要么全部成功,要么全部失败。
- 一致性(Consistency):事务必须保证数据库从一个一致性状态转换到另一个一致性状态。
- 隔离性(Isolation):并发执行的事务之间不会相互影响。
- 持久性(Durability):一旦事务提交,其结果就是永久性的。
5. 计算题:给定一个二叉树,其前序遍历结果为1, 2, 4, 5, 3, 6, 7,中序遍历结果为4, 2, 5, 1, 6, 3, 7,请重建该二叉树,并给出其后序遍历的结果。
答案:根据前序遍历和中序遍历的结果,可以重建出该二叉树,其后序遍历结果为4, 5, 2, 6, 7, 3, 1。
6. 编程题:编写一个函数,实现对一个整数数组进行排序,并返回排序后数组的逆序。
答案:以下是一个可能的Python函数实现:```pythondef reverse_sort(arr):arr.sort()return arr[::-1]# 示例arr = [3, 1, 4, 1, 5, 9, 2, 6]sorted_arr = reverse_sort(arr)print(sorted_arr) # 输出: [9, 6, 5, 4, 3, 2, 1, 1]```结束语:以上是本次综合C类考试的题目及答案,希望对各位考生的复习有所帮助。
预祝大家考试顺利!。
c复习题集及答案

目录一、单选题 (1)二、判断题 (12)三、填空题 (13)四、程序填充 (19)五、读程序写出运行结果 (32)六、指出以下程序或函数的功能 (44)七、程序改错 (46)八、程序设计 (52)《面向对象程序设计》答案 (62)一、单选题1. C++源程序文件的缺省扩展名为( A )。
A. cppB. exeC. objD. lik2. 由C++源程序文件编译而成的目标文件的缺省扩展名为( C )。
A. cppB. exeC. objD. lik3. 由C++目标文件连接而成的可执行文件的缺省扩展名为( B )。
A. cppB. exeC. objD. lik4. 编写C++程序一般需经过的几个步骤依次是( B )。
A. 编译、编辑、连接、调试B. 编辑、编译、连接、调试C. 编译、调试、编辑、连接D. 编辑、调试、编辑、连接6. 能作为C++程序的基本单位是( C )。
A. 字符B. 语句C. 函数D. 源程序文件8. C++程序的基本模块为( D )。
A. 表达式B. 标识符C. 语句D. 函数10. 存储以下数据,占用存储字节最多的是( D )。
A. 0B. ‘0’C. “0”D. 0.038. 以下说法中正确的是( B )。
A. C++程序总是从第一个定义的函数开始执行B. C++程序总是从main函数开始执行C. C++函数必须有返回值,否则不能使用函数D. C++程序中有调用关系的所有函数必须放在同一个程序文件中40. 函数重载是指( A )。
A. 两个或两个以上的函数取相同的函数名,但形参的个数或类型不同B. 两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同C. 两个以上的函数名字不同,但形参的个数或类型相同D. 两个以上的函数取相同的函数名,并且函数的返回类型相同41. 以下关于函数模板叙述正确的是( C )。
A. 函数模板也是一个具体类型的函数B. 函数模板的类型参数与函数的参数是同一个概念C. 通过使用不同的类型参数,函数模板可以生成不同类型的函数D. 用函数模板定义的函数没有类型42. 下列( C )的调用方式是引用调用。
C计科复习(参考答案).doc

(一)题型与分值分布1、 填空题(10小题,10分)2、 单项选择题(8小题,16分)3、 多项选择题(5小题,15分)4、 问答与分析题(8小题,41分)5、 程序填空题(3小题,18分) (二)知识要点 一、C#基础知识1、 C #源文件的扩展名为cs, Ctt 的编译器为esc 。
2、 MSIL 足独立于CPU 的指令集,它可以被高效地转换为特定于某种CPU 的代码3、 C #的数据类型分为两大类:值类型和引用类型。
4、 小数类型:double 、float 、decimal 类型【例1】在C#编制的财务程序屮,耑要创建一个存储流动资金金额的变暈theMorwy, 则应该将该变呈定义*_decimal_类型。
5、 整数相除的结果为整数,小数相除的结果为小数。
【例2】己知某专业有x 名男生,每M 宿舍住y 个人,使用c#表达式_(x + y-l )/yJT 以川于计算宿舍总数。
【例3】假设变Ma 、b 、c 为大于1的整数,则代数式1对应的c#表达式为_1.0/ abc (a * b * c ) 。
6、 假设有两个整型数x 和y :则表达式(x A y ) A y 值还原为x 。
7、 将一个数左移N 位相当于将一个数乘以2的n 次方。
8、 基本数据类型的转换:隐式转换、强制转换、数据类型的&动提升。
9、 流程控制:if 、switch 、while 、for 、break 、continue 等语句。
【例4】以下程序的运行结果为(C )int i,j ,k;for (i = 0; i < 3; i++) for(j=l;j<4;j++)for(k=2; k<5; k++)if((i ==j)&& (j==k))Console. WriteLine(i);A. 0B. 1C. 2D. 31()、参数传递:(1) 参数类型为int 、double 等难木数据类型时,实参与形参之间进行的是值传递。
(最新整理)C期末考试复习题(附答案)

Case
D。 2a
DO
sizeof
答案:B
C 期末考试复习题(附答案)
5。引用类型主要有 4 种:类类型、数组类型、接口类型和(
)。
A.对象类型 B。字符串类型 C.委托类型 D。整数类型
答 案:C
6。加载窗体时触发的事件是( )。
A. Click B.Load C。GotFoucs D。DoubleClick
C 期末考试复习题(附答案)
答案:C 18。 假定一个 10 行 20 列的二维整型数组,下列哪个定义语句是 正确的( )。
A. int[]arr = new int[10,20] B. int[]arr = int new[10,20] C。 int[,]arr = new int[10,20] D。 int[,]arr = new int[20;10] 答案:C 19。 以下正确的描述是( )。 A。 函数的定义可以嵌套,函数的调用不可以嵌套 B. 函数的定义不可以嵌套,函数的调用可以嵌套 C。 函数的定义和函数的调用均可以嵌套 D. 函数的定义和函数的调用均不可以嵌套 答案:B 20.小数类型和浮点类型都可以表示小数,正确说法:( ) A. 两者没有任何区别 B. 小数类型比浮点类型取值范围大 C。小数类型比浮点类型精度高 D。 小数类型比浮点类型精度低 答案:C 21。在 C#中,可以标识不同的对象的属性是( )。 A。Text C.Title D。Index
A。 abstract B。 camel C。 Salary D. Employ
答案:A
25.C#语言中,值类型包括:基本值类型、结构类型和( )。
A.小数类型 B。整数类型 C.类类型 D。枚举类型
答案:D
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C程序设计综合复习题目录一、单项选择题 (1)二、填空题 (8)三、程序分析题 (9)四、程序填充题 (16)五、编程题 (21)1.分支结构 (21)2.循环结构 (22)3.数组、函数、指针 (22)4.结构体 (22)一、单项选择题1.可以作为自定义标识符的是()A. 2x B • breakC. m-n D • m_n2.C语言的保留字(关键字)是()A. defineB. enumC. mainD. includc3 •错误的实型(浮点型)常数是()• •A. 0B. 0.E0C. 0.0D. 0E4-0.04.无条件转移语句的一般形式是:goto语句标号;,其中的语句标号可以是()A.整型数B.标识符C.保留字D.实型数5.正确的变量定义是()A. unsigned long d=1000;B. float ml=m2=10.0;C. char cl=,A,,c2=A; D・ double x=0.618,x=3.14;6.表达式的值为0的是()A. 5/5%5B. 5>2C・!4 D・ 0x7&77•设int a;侧表达式a=2,4,a+l的值是()A.lB.2C.3D.4&设int i; Hoat f; double d; long int c;,则表达式10+' a' +i*f-d/c 结果的类型是()A.doubleB.longC. intD. float9.设int a;,则语句for(a=0;a==0;a++);和语句for(a=0;a=0;a++);执行循环的次数分别是()A.0, 0B.0, 1C.l, 0D.l, 110.if(表达式)和while(表达式)中的“表达式”()A.只能是逻辑的B.只能是关系的C.只能是算术的D.以上三种都可以11.设int a=0,b=0,m=0,n=0;,则执行(m=a==b) II (n=b==a)后m 和n 的值分别是()A.0, 0B.0, 112. 设int a ?b;为使变量a 和b 分别获得数据10和20,则下列正确的是()A. scanf (”%d,%d”,&a,&b );输入数据:10, 20<回车〉B. scanf (”%d,%d”,&a,&b );输入数据:10 20<回车〉C. scanf (”%d,%d”,&a,&b );输入数据:D. scanf ("%d,%d", a,b );输入数据:13. 对于函数,正确的说法是()C •必须有返回语句 14•设 int a [3] [4];,则与元素 aD •必须有形式参数[0] [0]不等价的表达形式是()■D. 2设char s[10]=n abcde H ,t[ ]=M 12345°;,则s 和t 在内存中分配的字节数分别是() 6和5 B. 6和6设 int a=10,*p=&a;,则执行 printf(n %d\n M ,*p+a);的结果是( )A.可以嵌套定义 B •定义时有些函数名前可以带星号A.*aB.* *aD.*(*(a+O)+O)C.*a[0] 15.设 char si [ ] ={,a ,;b';c ,},s2 [ ] ="abc";,则数组 si 和 s2 的长度分别是()A.2, 3B.3, 3C.3, 4D.4, 416. A. 设int a=l,b=2;,则执行a=b+2,a++,a+b ;后a 和b 的值分别是()1和2 B. 3和2C. D. 5 和 217. 设 int a=2,b=3,c=4;,则表达式 a>b&&b<c||b 的值是A. -1B. 0a=10, b=20<冋车〉10, 20<回车〉C. 18. A. C. 设int a=2,b=3,x,y;,则能正确执行的语句是( )scanf(z , %d,%d" ,x ・y,x+y); B. printf(,/ printf(" ,a+b); D. scanf(" %d\n" ,a%b);%d,%d" ,x,y);19. A. C. 10和5 D. 10 和 6 20. A. 10 B. 20C. 30D. 4021. 自定义函数中形式参数的作用域是()A. 本文件B.本函数C. main 函数D.整个程序设 int b[ ][5]={1,2,3,4,567} — 则元素b[l][2]的值是()A. B.C. D.23. 对函数而言,叙述正确的是(A. 函数中只能有一个return 语句B.当函数的形参是数组时形实结合为值传递方式C.程序中只能有一个main函数D.无参函数的函数体内不能出现return语句24.执行下列程序段后输出的结果是()int x,y,z=l;for(x= 1 ,y=・ 1 ;x<y;x++,y・・)z++;printf(M%d\n M,z);A. 1B. 2C. 5D. 625.设static int a[3]={l,2,3};int*p[ ]={&a[0],&a[l],&a[2]};则与数组元素a[l]等价的是()A. *p[l] B・ p[l]C. *p+lD. p+126.设struct{char name[10];int age;}stu[2]={{ ” Tom" ,25},{〃Mary" ,26}}?p=stu;则执行语句printf(" %s%d\rT ,p->name,stu[ 1 ].age);后输出结果是( ) A. Tom25 B・ Tom26C. Mary25D. Mary2627.设typedef double DB;,则与DB u[5];的等价形式是()A. double db[5]; B・double DB[5];C. double u;D. double u[5];2&设char ch,str [4], *strp;,则正确的赋值语句是()A. ch=”MBA”;B. str=n MBA n;C. stip=”MBA“;D. *strp=”MBA”;29.设typedef char *POINT;POINT p,q [3] ,*r;,则p、q和1•分别是字符型的()A.变量、一维数组和指针变量B.变量、二维数组和指针变量C.指针变量、一维数组指针和二级指针变量D.指针变量、一维指针数组和二级指针变量30.若变量定义时未初始化,则其值不确定的是()■A.静态全局变量B.局部变量C.静态局部变量D.全局变量31.设struct{int a; char b;}Q,*p=&Q;,则够谡的表达式是()B. (*p).b D. p->a32.在某文件中,若全局变量与局部变量同名,贝!)()A.视为同一个变量 B.变量作用域不确定 C.不允许 D.允许 33•设宏定义#define P (x ) x/x则执行语句printf (u %d\n n ,P (4+6));后的输出结果是()A.lB.8.5D.11.534•屈于C 语言基本数据类型的是(B ) A.指针型 C.数组型 B.无符号整型D.结构型35.C 语言的长整型数值在计算机中占用的字节个数是() A.1 C.3 36.C 语言屮, A.1 C.4 B.2D.4”\x3d”在内存屮占用的字节数是(B )B.2D.537•设 int x;则执行 printf(n %x\n H ^x A x);的结果是()A.OB.1C. ffD.ffff38. 对于while 语句,错误的说法是()• • • A. 用条件控制循环体的执行次数B. 循环体至少要执行一次C. 循坏体有可能一次也不执行D. 循环体中可以包含若干条语句39. 设 int a=9,b=20;则 printf (,'%d,%d,%d\n ,,,a+b,a —的输出结果是() A 、2&9,19 B 、29,9,20 40.执行下列语句int a=8,b=7,c=6;if(a<b)if(b>c){a=c;c=b;} printf("%d,%d,%d\n",a,b,c);后输出的结果是()A.6, 7, 7B.6, 7, 8C.8, 7, 6D.8, 7, 841. 设 static char x[ ]=,,12345,,;char y[ ;那么()A 、 x 数组的长度等于y 数组的长度B 、 x 数组的长度大于y 数组的氏度C 、 x 数组的长度少于y 数组的长度D 、 x 数组与y 数组的存储区域相同42. 设 int i,x[3][3]={l,2,3,4,5,6,7,8,9};则下面语句 A. *p.bC ・ Q.a C.11 C 、28,10,19D 、30,10,20for(i=0;i<3;i++)printfC %d" ,x[i][2-i]); 的输出结果是()A.l 4 7B.l 5 9C.3 5 7D.3 6 943.设 intb[]={l,2,3,4}, y,*p=b;则执行语句y=*p++;之后,变量y 的值为()A.lB.2C.3D.444. 设inta,*p ;则语句p=&a;中的运算符“&”的含义是()A.位与运算B.逻辑与运算C.取指针内容D.取变量地址45. 若函数能被其它编译单位引用,那么函数定义时的存储类型应选用()A.autoB.staticC.externD.register46.下面函数定义有错误的是()• • • A ・fl(xl,x2) int xl,x2; int xl;int x2;{函数体} {函数体}47.C 语言屮计算a?正确的表达是( ){函数体} {函数体}C.fl(int x 1 ,x2)D.fl(int x 1 Jnt x2) A.a A 3 C.a**3 4&下列定义正确的是( A.anum t={a,b}x; C.anum {'+T —'}x; B.pow(a,3)D.power(a,3))B.enum t{l,2}x;um t{a ,b}x;49•设有定义:union u{int a[4];float b[3]};char c[16];}aa;则 printf(/, %d\n" ,sizeof(aa));的输出是()A.32B.16C.12D.850.在下列有关宏替换的叙述中,正确的说法是()A. 宏替换占用运行时间B. 宏名有类型C. 带参数的宏替换和函数等价D. 宏替换只是字符替换51•下列程序的运行结果是()# define A 5# define B A+lmain(){int a; a=B;printf(" %d\n,f a—);}A.6B.5C.4 D•出错52.设有如下定义:struct sk{ int a;float b;{data; int *p;若要使p指向data中的a成员,正确的赋值语句是()A. p=&a; B・ p=data.a; C・ p=&data.a; D. *p=data.a;53.下列四组选项中,均是合法转义字符的选项是()A. 'n‘\\’B. •Mil1‘\017‘C.‘\01& '\f '\x4b, C.'\\0' '\ior '\xaf54.设int x=0,*px;,则经过()后,*px的值为0。