高三C语言复习题(1)
- 格式:doc
- 大小:148.00 KB
- 文档页数:15
C语言期末复习题1.构成C语言源程序的基本单位是____A.子程序B.过程C.文本D.函数D2. 在一个C程序中,main()函数___A.必须出现在所有函数之前B.可以在任可地方出现C.必须出现在所有函数之后D.以上都不对B3.以下描述正确的是____A.最简单的C源程序可以不包括任何内容。
B.编译程序对C源程序编译时不检查语法。
C.C程序中没有输入输出语句。
D.在C程序中,至少必须有一个main()函数。
D4.C语言是一种_____化程序设计语言结构5.下面不正确的字符串常量是____A.‟AB‟B.”ab‟ab”C.”a”D.”“A6.下面四个选项中均是合法的整型常量的是:______A.340,025,-11B.02,0x,03fC.-0X2A,985.768,4d2D.0X15,0X2,-760xA7.设有定义:int a=10;则表达式a+=a*=a的值是:____A.10B.100C.1000D.200D8.设有如下定义:int a=1,b=2,c=3,d=4,x=2,y=2;则表达式(x=a>b)&&(y=c>d)运算后,y的值为_______A.1B.2D. 4B9.能正确表示逻辑关系“a大于等于10或小于等于0”的C语言表达式是____ A.a>=10 or a<=0B.a>=0 | a<=10C.a>=10 && a<=10D.a>=10 || a<=0D10.设m是int型变量,则表达式(m=2*3,m+4),m*3的值是______1811.以下程序段执行后z的值是____int x,y,z;x=1;y=2; z=1.0/y*x答:012.以下程序段的输出结果是____main(){ char m; m=‟B‟+32; printf(“%c\n”,m);}则输出的结果是:_____b13. 表达式7/3*(int)3.14/(int)(1.2*(5+2.3))的数据类型为_____,表达式的值为_____ 整型14.计算下列表达式的值:设int a=3,b=4,c=5;float k=3.6;(1)a/b*c 0(2)a*b%c 2(3)k/a+2*b 9.20000(4) (int)(k+6/a*b) 11(5) sizeof(a) 2 or 4(6)a+=a*=a+b 42(7) c%b-a/2 0(8) !(a*b-12) 1(9)(a*b-2)==c+3 0(10)c>b>a0 , 2, 9.200000, 11, 2, 42 ,2, 1, 0, 015.若有以下语句组,则输出结果是____int x=0; if(x++<0) printf(“%d”,- -x);printf(“%d”,x++);A.-1B.1C.-1-1D.-1 016.以下程序的输出结果是:___main(){int x=3,y=0,z=0;if(x=y+z) printf(“****”);else printf(“####”);}A.有语法错误不能通过编译B.输出****C.通过编译,但不能通过连接D.输出####答案D17.以下程序的运行结果是:____main(){ int x=1,y=1;switch (x){case 1:switch(y){case 0:printf(“y is 0.\n”); break;case 1: printf(y is 1.\n”); break;default:printf(“y is unknown.\n”); break;}case 2:printf(“I do this.\n”);}}答案: y is 1I do this18.C语言中,while与do—while语句的主要区别是____A.do—while 的循环体至少无条件执行一次。
c语言期末复习试题附答案一、选择题(每题2分,共20分)1. C语言中,下面哪个选项不是合法的数据类型?A. intB. floatC. doubleD. character答案:D2. 在C语言中,下面哪个选项是合法的变量名?A. 2abcB. abc12C. abc_12D. abc&12答案:B3. 下面哪个选项不是C语言的运算符?A. +C.D. %答案:D4. 在C语言中,下面哪个选项表示取模运算?A. %B. /C.D. ^答案:A5. 下面哪个选项是C语言中的关系运算符?A. ==B. !=C. >D. <答案:A、B、C、D6. 下面哪个选项是C语言中的逻辑运算符?B. ||C. !D. &答案:A、B、C7. 下面哪个选项是C语言中的赋值运算符?A. =B. +=C. -=D. =答案:A、B、C、D8. 下面哪个选项不是C语言中的控制语句?A. ifB. whileC. do-whileD. for答案:D9. 在C语言中,下面哪个选项表示循环不变量?A. 初始化表达式B. 循环条件C. 循环体D. 步进表达式答案:D10. 下面哪个选项是C语言中的递归调用?A. function(function());B. function();function();C. function(function());function();D. function();function(function());答案:A二、填空题(每题2分,共20分)1. C语言中,一个整型数据占____个字节。
答案:42. C语言中,一个浮点型数据占____个字节。
答案:43. 在C语言中,一元运算符“++”和“--”的优先级高于二元运算符“+”、“-”、“”、“/”、“%”。
答案:正确4. 在C语言中,关系运算符“==”和“!=”的优先级高于“<”、“>”、“<=”、“>=”。
一、选择题:1.‖a‖在内存中占 B 字节。
A.1个B.2个C.3个D.4个2.‘A‘+10的结果是 A 。
A.‘K‘B.‖K‖C.‘J‘D.‖J‖3.字符型数据在微机内存中的存储形式是:DA.反码 B.补码 C.EBCDIC码 D.ASCII码4. 用C语言编制的源程序要变为目标程序,必须经过:DA. 汇编B.解释C. 编辑D.编译5.以下选项中不合法的用户标识符是AA.abc.cB.fileC.MainD.PRINTF6.以下选项中正确的实型常量是 DA.0B.3. 1415C.0.329 102D. .8717. 执行scanf (―%d%c%f‖,&a,&b,&c) 语句,若输入1234a12f56 则变量a,b,c的值为 C .A. a=1234 b=‘a‘c=12.56B. a=1 b=‘2‘c=341256C. a=1234 b=‘a‘c=12.0D. a=1234 b=‘a12‘c=56.08. 设b=1234 , 执行printf(―%%d@%d‖,b) 语句,输出结果为: D .A. 1234B. %1234C. %%d@1234D. %d@ 12349. 两次运行下面的程序,如果从键盘上分别输入6和4,输出的结果是 A 。
main(){ int x;scanf(―%d‖,&x);if(x++>5)printf(―%d‖,x);elseprinf(―%d\n‖,x--);}A. 7和5B. 6和5C. 7和4D. 6和410. 设a为整型变量,不能正确表达数学关系: 10<a<15的C语言表达式是 A 。
A. 10<a<15B. a==11||a==12||a==13||a==14C. a>10&&a<15D. !(a<=10)&&!(a>=15)11. 假设所有变量均为整型,表达式(a=2,b=5,a>b? a++:b++,a+b)的值是: B 。
C语言程序设计复习题(含参考答案)C语言程序设计复习题(含参考答案)一、单项选择题(本题共30小题,每小题2分,共60分)在每小题列出的四个备选项中只有一个是符合题目要求的。
1. 以下正确的C语言自定义标识符是______。
A. _1aB. 2a_C. doD. a.122、假设所有变量均为整型,则表达式(x=3,y=4,y++, y-x`)的值是______。
A.7B.1C.6D.23. 设int a, x=2; 执行语句a=x>0?3*x:x=10; 后,变量x的值是_______。
A. 1B. 2C. 6D. 104.设有以下程序段:int x=2,y=2,z=0,a;a=++x||++y&&z++;printf("%d,%d,%d\n",x,y,z);执行后输出的结果是_________。
A. 2, 2, 0B. 3, 3,1C. 3, 2, 0D. 3, 2, 15. 在C语言中,strlen("\\TOP\t\65\"")的值是_______。
A. 5 B.7C. 8D. 126. 设float x,由键盘输入:12.45, 能正确读入数据的输入语句是_________。
A. scanf("%5f",&x);B. scanf("%5d",&x);C. scanf("%f",x);D. scanf("%s",&x);7.若有int a=5;则逗号表达式a=2*6,a*3,a+5的值是_________。
A. 12B. 17C.36 D. 108. C语言程序中,整型常量的书写形式不包括_________。
A. 二进制B. 八进制C. 十进制D. 十六进制9.下面程序的输出结果是_____。
#includemain(){ float d=2.2; int x,y;x=6.2;y=(x+3.8)/5.0;printf("%f",d*y);}A. 4B. 4.4C. 2.2D. 010. 设int x;,则与计算︱x︱等价的表达式是_________。
一、判断题1-1、C语言程序是从源文件的第一条语句开始执行的。
正确答案:F1-2、C语言中的变量名不区分大小写。
正确答案:F1-3、若变量定义为double x;,则x % 2是符合C语言语法的表达式.正确答案:F1-4、如果变量已经正确定义,则表达式fahr ++ 与fahr + 1等价。
正确答案:F1-6、#define MAX 100和int MAX=100;的效果相同,都是定义一个变量MAX并使其值为100。
正确答案:F1-7、当一个C语言程序由多个文件模块组成时,整个程序可以包含多个main()函数。
正确答案:F1-8、C 语言是一种具有某些低级语言特征的高级语言。
正确答案:T1-9、内存中的每个存储单元都有一个惟一的地址。
正确答案:T1-10、C语言的书写格式不会影响程序的可读性。
正确答案:F2-1、x*=y+8 等价于 x=x*(y+8)。
正确答案:T2-2、表达式 (j=3, j++) 的值是4.正确答案:F2-3、在一段程序中不调用函数而直接将两个整型变量a和b的值互换,一定是可以不借助第三个变量完成的。
正确答案:T2-4、在C语言中,仅由一个分号(;)构成的语句称为空语句,它什么也不做。
正确答案:T2-5、与float型数据相比,double型数据的精度高,取值范围大。
正确答案:T2-6、08是正确的整型常量。
正确答案:F2-7、C语言中,%为求模(求余)双目运算符,它的两个运算数(操作数)都必须是整型(如int、short、char等),不能是浮点型(如double、float)。
正确答案:T2-8、C语言源代码可以不经过编译而被计算机直接运行。
()。
正确答案:F2-9、C 语言中的变量名不区分大小写。
正确答案:F2-10、C程序中,用一对大括号{}括起来的多条语句称为复合语句,复合语句在语法上被认为是一条语句。
正确答案:T2-11、C语言中,数字字符'1'的值(ASCII码)就是数字1。
姓名:__________________年级专业:__________________ 学号:__________________凡年级专业、姓名、学号错写、漏写或字迹不清者,成绩按零分记。
…………………………密………………………………封………………………………线…………………………《复习卷》试卷一、单选题(每题1分,共计30分) 1、下列选项中,不合法的变量是(D )。
A 、int x = 3; B 、char ch = 'c' C 、float f ; D 、case c;2、下列选项中,不合法的常量是(D )。
A 、2 B 、'\n' C 、'a' D 、'\483'3、关于#include<stdio.h>这句代码,下列描述中错误的是(C ) A 、"#"是预处理标志,用来对文本进行预处理操作 B 、include 是预处理指令 C 、一对尖括号可以去掉D 、stdio.h 是标准输入输出头文件4、假设a 、b 、c 、d 、m 、n 均为int 型变量,且a=5、b=6、c=7、d=8、m=2、n=2,那么逻辑表达式(m=a>b)&&(n=c>d)运算后,n 的值为( C )。
A 、0 B 、1 C 、2 D 、35、C 语言程序的三种基本结构是( A )。
A 、顺序结构,选择结构,循环结构 B 、递归结构,循环结构,转移结构 C 、嵌套结构,递归结构,顺序结构 D 、循环结构,转移结构,顺序结构6、关于下面的for 循环语句 int i,k; for(i = 0,k = -1;k = 1;i++,k++) printf(“*****”); 下列选项中,描述正确的是(B )A 、判断循环结束的条件非法B 、是无限循环C 、只循环一次D 、一次也不循环7、以下定义语句中,错误的是( D )。
C语言程序设计复习题及参考答案━━━━━━━━━━━━━━━━━━一、程序设计共6题(共计120.0分)━━━━━━━━━━━━━━━━━━第1题(20.0分)/*----------------------------------------------------------------------题目:函数fun的功能是:用递归法计算斐波拉契数列中第n项的值。
从第1项起,斐波拉契数列为: 1、1、 2、3、5、8、13、21....例如,若给n输入7,则该项的斐波拉契数值为13.------------------------------------------------------------------------注意:请勿改动程序中的其他内容。
----------------------------------------------------------------------*/#include <stdio.h>long fun(int g){switch(g)/********** Program **********//********** END **********/}void main(){long fib;int n;printf("【Input n:】 ");scanf("%d",&n);fib=fun(n);printf("【fib =】 %d\n",fib);}答案:{case 0: return 0;case 1:case 2 : return 1 ;}return( fun(g-1)+fun(g-2) );第2题(20.0分)/*----------------------------------------------------------------------题目:函数fun的功能是:从3个红球、5个白球、6个黑球中任意取出8个作为一组,进行输出。
C语言系列复习题(含答案2013.2修改)第一部分C语言基础题(选择与程序分析)1.常量与变量1.1常量1. (2001_1)以下四个选项中,均为非法常量的是CA.–0x18,01177,0xfB. ?\ \‘,‘\01‘,12,456C. ?as‘,-0fff,‘\0xa‘D.0xabc,‘\0‘,‖a‖2.(2000_2)以下常量中正确的是DA. ?abc‘B.‘\x123‘C. 3.14e-1.2D.‖a‖3、(1996_7)以下程序的输出是A。
# includemain ( ){printf(―%d‖,NULL);}A. 0B. ?\0‘C. 1D. 无定义4.(2002_2_3)包含二目运算符的表达式可一般表示为(x)op(y),其中op代表运算符,x,y代表操作数。
若op是“+”运算符,且x和y 均为常量时,不能同时为字符串常量。
1.2变量1. (1999_2_2)设有说明:int y;float x;则执行语句x=y=4.8; 后x 的值为42. (2003_8)若有声明:int k,a,b;unsigned long y=5;double x=1.23;则表达式中正确的是DA.x%(-5)B. x=y[6]C. k=(a=1,b=2,&a+&b)D. a+=a-=(b=2)*(a=3)3. (2003_2_1)在声明变量时,类型修饰符unsigned 一般用于修饰基本类型中的int和char、long ;4.(1998_6)在C语言中,下面符号串中,能用作变量名的标识符为BA. autoB.putsC. – 1 * numD. 2 - and5.(2002_2_5)在函数内部声明局部变量时缺省了存储类型,该变量的存储类型为auto ;6. (2002_5)已知在某C语言编译系统中表达式sizeof(int)的值为2,如果希望将常量-70000正确的保存在一个变量a中,则该变量声明语句应当是BA.int a;B. long int a;C. unsigned int a;D. unsigned long int a;7. (2003_2_3)已有声明:float x; double y; int a; long b; char c; ,则表达式x+y*a/x+b/y+c值的类型为double8.(1993_4)在C的表达式中,可以将某一类型的变量a强制转换成具有类型b的值,可以为AA.(b)a B.a(b) C.b(a) D.(a)b1.3变量作用域1.(1997_10)变量的有效范围与其定义位置有关,B,其作用域在整个源程序文件中都有效。
c语言复习试题及答案1. 什么是C语言?C语言是一种通用的、过程式的编程语言,广泛用于系统软件与应用软件的开发。
2. C语言中的关键字有哪些?C语言的关键字包括:int, char, float, double, void, struct, union, enum, return, break, continue, if, else, switch, case, default, while, do, for, goto, sizeof, typedef。
3. 请写出C语言中声明一个整型变量的语句。
int variable_name;4. 如何在C语言中定义一个函数?在C语言中,定义一个函数需要指定返回类型、函数名和参数列表。
例如:int add(int a, int b) {return a + b;}5. 请解释C语言中的数组。
数组是相同数据类型元素的集合,存储在连续的内存位置。
声明数组的语法如下:数据类型数组名[数组大小];6. C语言中如何实现字符串的输入和输出?使用`scanf`函数输入字符串,使用`printf`函数输出字符串。
7. C语言中如何进行文件操作?使用`fopen`函数打开文件,`fprintf`函数写入文件,`fscanf`函数读取文件,`fclose`函数关闭文件。
8. 请写出一个C语言程序,实现计算两个整数的和。
#include <stdio.h>int main() {int a, b, sum;printf("Enter two numbers: ");scanf("%d %d", &a, &b);sum = a + b;printf("Sum of the numbers is: %d", sum);return 0;}9. 什么是指针?指针是一个变量,其值为另一个变量的地址。
C语言常见复习题及参考答案一、选择题1.下述标识符中,()是合法的用户标识符。
A.A#CB.getchC.voidD.ab*2.在C语言中,字符型数据在内存中是以()形式存放的。
A.原码B.BCD码C.反码D.ASCII码3.以下选项中不合法的用户标识符是()。
A.abc.cB.fileC.MainD.PRONTF4.以下选项中不合法的用户标识符是()。
A.123B.printfC.Anbsp;D.Dim5.可以在C语言程序中用做用户标识符的一组标识符是()。
A.voidB.as-b3C.forD.2cdefine -123 -abc DoWORD If cas SIG6.在以下各组标识符中,合法的用户标识符是(1)、(2)、(3)。
(1)A.001 B.table_1 C.0_t D.k%Int t*.1 W10 point(2)A.Fast_ B.void C.pbl D.Fast+Big abs fabs beep(3)A.xy_ B.longdouble C.*p D.CHAR变量1 signed history Float7.()是构成C语言的基本单位。
A.函数B.过程C.子程序D.子例程8.若有说明:char s1='\067';char s2="1";char s3='1';则s1中(1),s2中(2),s3中(3)。
(1).A.包含3个字符 B.包含2个字符C.包含1个字符D.无定值,说明不合法(2).A.包含1个字符 B.包含2个字符C.包含3个字符D.无定值,说明不合法(3).A.包含1个字符 B.包含2个字符C.包含3个字符D.无定值,说明不合法9.若x为int型变量,则执行以下语句后,x的值为x=6;x+=x-=x*xA.36B.-60C.60D.-2410.在C语言中,char 型数据在内存中是以()形式存储的。
A.原码B.补码C.ASCII码D.反码11.以下运算符中优先级最低的算符为(),优先级最高的为()。
高三C语言复习题(一)一、选择题(1)以下程序的输出结果是main(){ int a=21,b=11;printf("%d\n",--a+b,--b+a);}A)30 B)31 C)32 D)33(2)以下程序执行后a的值是main(){ int x,y=252,i=386,*m=&y,*z=&i;x=(z==y);printf("%d",x);}A)252 B)1 C)0 D)运行时出错,x无定值(3)若 fp 是指向某文件的指针,且已读到此文件的末尾,则函数 feof(fp)的返回值是______。
A)EOF B)0 C)非零值 D)NULL(4)下列语句中符合 C 语言语法的赋值语句是______。
A)a=7+b+c=a+7 B)a=a+7C)a=7+b,b++,a+7; D)a=7+b,c=a+7;(5)若有定义: char *st="how are you"; 下列程序段中正确的是A)char a[11], *p; strcpy(p=a+1,&st[4]);B)char a[11]; strcpy(++a, st);C)char a[11]; strcpy(a, st);D)char a[], *p; strcpy(p=&a[1],st+2);(6)以下程序的运行结果是#define MIN(x,y) (x)<(y)?(x):(y)main(){ int i=10,j=15,k;k=10*MIN(i,j);printf("%d\n",k);}A)10 B)15 C)100 D)150(7)请选出以下程序的输出结果______。
#include <stdio.h>sub(x,y,z)int x,y,*z;{ *z=y-x;}main(){ int a,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf("%d,%d,%d\n",a,b,c);}A)5,2,3 B)-5,-12,-7 C)-5,-12,-17 D)5,-2,-7(8)有以下程序main(){ char a[]={ ‘a’,’b’,’c’,’d’, ‘e’, ‘f’, ‘g’,’h’,’\0’};int i,j;i=sizeof(a); j=strlen(a);printf("%d,%d\b",i,j);}程序运行后的输出结果是A)9,9 B)8,9 C)1,8 D)9,8(9)下列程序的运行结果是void fun(int *a, int *b){ int *k;k=a; a=b; b=k;}main(){ int a=3, b=6, *x=&a, *y=&b;fun(x,y);printf("%d %d", a, b);}A)6 3 B)3 6 C)编译出错 D)0 0(10)若有如下语句int x=3;do{ printf("%d\n",x-=2);}while(!(--x));则上面程序段A)输出的是1 B)输出的是1和-2C)输出的是3和0 D)是死循环(11)C语言规定,在一个源程序中,main函数的位置A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后(12)下列数据中,不合法的C语言实型数据是A)0.123 B)123e3 C)2.1e3.5 D)789.0(13)下面4个选项中,均是不合法的用户标识符的选项是A)AP _0 do B)float la 0_AC)b-a goto int D)_123 temp int(14)设变量a是int型,f是float型,i是double型,则表达式10+’a’+i*f值的数据类型为A)int B)float C)double D)不确定(15)能正确表示逻辑关系:"a≥10或a≤0"的C语言表达式是A)a>=10 or a<=0 B)a>=0|a<=10C)a>=10 &&a<=0 D)a>=10‖a<=0(16)设以下变量均为int类型,表达式的值不为7的是A)(x=y=6,x+y,x+1)B)(x=y=6,x+y,y+1)C)(x=6,x+1,y=6,x+y)D)(y=6,y+1,x=y,x+1)(17)若有说明:int *p,m=5,n;以下正确的程序段是A)p=&n;scanf("%d",&p); B)p=&n;scanf("%d",*p)C)scanf("%d",&n);*p=n; D)p=&n;*p=m;(18)若变量a是int类型,并执行了语句:a=‘A’+1.6;,则正确的叙述是A)a的值是字符C B)a的值是浮点型C)不允许字符型和浮点型相加D)a的值是字符’A’的ASCII值加上1(19)有如下程序main(){ int a=2,b=-1,c=2;if(a<b)if(b<0)c=0;else c++;printf("%d\n",c);}该程序的输出结果是A)0 B)1 C)2 D)3(20)有如下程序main(){ int x=23;do{ printf("%d",x--);} while(!x);}该程序的执行结果是A)321 B)23 C)不输出任何内容D)陷入死循环(21)有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。
下面程序是求这堆零件总数,在划线处应填入的选项是#include <stdio.h>main(){ int i;for(i=100;i<200;i++)if((i-2)%4==0)if(!((i-3)%7))if()printf("%d",i);}A)i%9=5 B)i%9!=5 C)(i-5)%9!=0 D)(i-5)%9==0(22)若变量c为char类型,能正确判断出c为小写字母的表达式是A)’a’<=c<=‘z’B)(c>=‘a’)||(c<=‘z’)C)(’a’<=c)and(’z’>=c)D)(c>=‘a’)&&(c<=‘z’)(23)下面程序段的运行结果是char a[]="lanuage",*p;p=a;while(*p!=‘u’){printf("%c",*p-32);p++;} A)LANGUAGE B)language C)LAN D)langUAGE (24)下面程序段的运行结果是char str[]="ABC",*p=str;printf("%d\n",*(p+3));A)67 B)0 C)字符’C’的地址 D)字符’C’(25)以下不正确的定义语句是A)double x[5]={2.0,4.0,6.0,8.0,10.0};B)int y[5.3]={0,1,3,5,7,9};C)char c1[]={‘1’, ‘2’, ‘3’, ‘4’, ‘5’};D)char c2[]={‘\x10’, ‘\xa’, ‘\x8’};(26)有以下语句(0≤i≤9),则对a数组元素的引用不正确的是int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;A)a[p-a] B)*(&a[i])C)p[i] D)*(*(a+i))(27)以下叙述中正确的是______。
A)C语言的源程序不必通过编译就可以直接运行B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令C)C语言程序经编译形成的二进制代码可以直接运行D)C语言中的函数不可以单独进行编译(28)有以下程序fun(int x,int y,int z){ z=x*y;}main(){ int a=4,b=2,c=6;fun(a,b,c);printf("%d",c);}程序运行后的输出结果是A)16 B)6 C)8 D)12(29)函数fun的返回值是fun(char *a,char *b){ int num=0,n=0;while(*(a+num)!=‘\0’)num++;while(b[n]){*(a+num)=b[n];num++;n++;}return num;}A)字符串a的长度B)字符串b的长度C)字符串a和b的长度之差D)字符串a 和b的长度之和(30)以下叙述中不正确的是A)预处理命令行都必须以#号开始B)在程序中凡是以#号开始的语句行都是预处理命令行C)宏替换不占用运行时间,只占编译时间D)在以下定义是正确的:#define PI 3.1415926; (31)下列程序的输出结果是main(){ int a[5]={2,4,6,8,10},*p,**k;p=a;k=&p;printf("%d",*(p++));printf("%d\n",**k);}A)4 B)22 C)24 D)46(32)下面程序段的运行结果是char *p="abcdefgh";p+=3;printf("%d\n",strlen(strcpy(p,"ABCD")));A)8 B)12 C)4 D)7(33)下列函数的运行结果是main(){ int i=2,p;int j,k;j=i;k=++i;p=f(j,k);printf("%d",p);}int f(int a,int b){ int c;if(a>b)c=1;else if(a==b)c=0;else c=-1;return(c);}A)-1 B)1 C)2 D)编译出错,无法运行(34)已知函数的调用形式:fread(buf,size,count,fp),参数buf的含义是A)一个整型变量,代表要读入的数据项总数B)一个文件指针,指向要读的文件C)一个指针,指向要读入数据的存放地址D)一个存储区,存放要读的数据项(35)有如下程序#define N 2#define M N+1#define NUM 2*M+1main(){ int i;for(i=1;i<=NUM;i++)printf("%d\n",i);}该程序中的for循环执行的次数是A)5 B)6 C)7 D)8(36)请读程序:#include<stdio.h>main(){ int a; float b, c;scanf("%2d%*3d%4f",&a,&b);printf("\na=%d,b=%f,c=%f\n",a,b,c);}若运行时从键盘上输入9876543210↙,则上面程序的输出结果是______。