C语言复习题(含答案)非自考_第1页
C语言复习题(含答案)非自考_第2页
C语言复习题(含答案)非自考_第3页
C语言复习题(含答案)非自考_第4页
C语言复习题(含答案)非自考_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,C语言 练习,苏州大学电子信息学院 杨成友,2,一、单项选择题,1. 在计算机内部,一切信息存取、处理和传送的形式是() A) ASC码 B) BCD码 C) 二进制 D) 十六进制 2在C语言中,要求运算数必须是整型的运算符是() A) % B) / C) =y=z,应使用C语言表达式() A) (x=y) B) char str=“C language”; C) char str10=“C language”; D) char str=C, ,l,a,n,g,u,a,g,e,0; 14. 设有变量说明:int x;则表达式(x=4*5,x*5),x+25的值为() A) 20 B) 4

2、5 C) 100 D) 125 15. C语言中,决定函数返回值类型的是() A) return 语句中的表达式类型 B) 调用该函数的主调函数类型 C) 定义函数时所指定的函数类型 D) 传递给函数的实参类型 16. 执行下列程序段后,变量i的值是() int i=10 switch(i) case 9: i+=1; case 10: i+=1; case 11: i+=1 default: i+=1 A) 13 B) 12 C) 11 D) 14,5,17以下叙述中正确的是() A) C语言的源程序不必通过编译就可以直接运行B) C语言中的每条可执行语句最终都将被转换成二进制的机器指令C)

3、 C源程序经编译形成的二进制代码可以直接运行D) C语言中的函数不可以单独进行编译 18. 若以下选项中的变量已正确定义,则正确的赋值语句是()A) x1=26.8%3 B) 1+2=x2 C) x3=0 x12 D) x4=1+2=3 19. 设有定义:floata=2,b=4,h=3;,以下C语言表达式与代数式的计算结果不相符的是()A) (a+b)*h/2 B) (1/2)*(a+b)*h C) (a+b)*h*1/2 D) b/2*(a+b) 20. 有以下程序,执行后输出结果是()#definef(x)x*xmain()inti;i=f(4+4)/f(2+2);printf(“%dn

4、”,i); A) 28 B) 22 C) 16 D) 4 21. 以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是( )A)chars10=”abcdefg”; B)chart=”abcdefg”,*s=t;C)chars10;s=”abcdefg”; D)chars10;strcpy(s,”abcdefg”);,6,22. 下述标识符中,合法的用户标识符是( )A) A#C B) getch C) void D) ab* 23. 在C语言中,字符型数据在内存中的存放形式是( )A) 原码 B) BCD码 C) 反码 D) ASCII码 24. 若int类型的数据长度为2字节,则un

5、signed int类型数据的取值范围是( )A) 0255B) 065535 C) -3276832767 D) -256255 25. 一个C语言程序的组成是( )A) 主程序B) 子程序 C) 函数D) 过程 26. 以下述叙不正确的是( )A) 一个C源程序可以由一个或多个函数组成B) 一个C源程序必须包含一个main函数C) C程序的基本组成单位是函数D) 在C程序中注释说明只能位于一条语句的后面 27. 以下选项中合法的字符常量是( ) A) B B) 010 C) 68 D) D 28. 设x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是( ) printf(%d,

6、%dn,x-,-y); A) 10,3 B) 9,3 C) 9,2 D) 10,2,7,29. t为int类型,进人下面的循环之前,t的值为0,则以下叙述中正确的是( ) while(t=l) A) 循环控制表达式的值为0 B) 循环控制表达式的值为1 C) 循环控制表达式不合法 D) 以上说法都不对 30. 以下选项中,非法的字符常量是( ) A) t B) 17 C) n D) x23 31. 以下程序执行后sum的值是( ) main() int i,sum; for(i=1;i6;i+) sum+=i; printf(%dn,sum); A) 15 B) 14 C) 不确定 D)0 3

7、2. 有以下程序段,其输出结果是( )int x=3; do printf(%d ,x-=2); while (!(-x); A) 1 -2 B) 3 0 C) 1 D) 死循环,8,33. 以下程序的输出结果是( )fun(int x, int y, int z) z=x*x+y*y; main() int a=31; fun(5,2,a); printf(%d,a); A) 0 B) 29 C) 31 D) 无定值 34. 设有以下说明语句,则下面的叙述中不正确的是( )struct ex int x ; float y; char z ; example; A) struct是结构体类型

8、的关键字 B) example是结构体类型名 C) x,y,z都是结构体成员名 D) struct ex是结构体类型 35. 若有以下程序段,则执行后,c3中的值是( )int c1=1,c2=2,c3; c3=1.0/c2*c1; A) 0 B) 0.5 C) 1 D) 2,9,36. 有如下程序,该程序的输出结果是( )main() int x=1,a=0,b=0; switch(x) case 0: b+; case 1: a+ case 2: a+;b+ printf(“a=%d,b=%dn”,a,b); A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,

9、b=2 37. 有如下程序,该程序的执行结果是( )main() int x=23; do printf(“%d”,x-); while(!x); A) 321 B) 23 C) 不输出任何内容 D) 陷入死循环 38. 有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5);该函数调用语句含有的实参个数是( ) A) 3 B) 4 C) 5 D) 有语法错,10,39. 有如下程序,该程序中的for循环执行的次数是( )#define N 2 #define M N+1 #define NUM 2*M+1 #main() int i; for(i=1;i=NUM;i

10、+)printf(“%dn”,i); A) 5 B) 6 C) 7 D) 8 40. 设 int x=1, y=1; 表达式(!x|y-)的值是( ) A) 0 B) 1 C) 2 D) -1 41下面程序的输出是() main() int a10= 1,2,3,4,5,6,7,8,9,10,*p=a; printf(%dn,*(p+2); A) 3 B) 4 C) 1 D) 2 42下面程序的输出是() main() int a=-1,b=4,k; k=(a+=0) A) 0 0 3 B) 0 1 2 C) 1 0 3 D) 1 1 2,11,43. 下面程序的输出是() int m=13;

11、 int fun2(int x,int y) int m=3; return(x*y-m); main() int a=7,b=5; printf(%dn,fun2(a,b)/m); A) 1 B) 2 C) 7 D) 10 44. 下面程序的输出是() # define X 5 # define Y X+1 # define Z Y*X/2 main() int a; a=Y; printf(“%d %dn”,Z,-a); A) 7 5 B) 12 6 C) 12 5 D) 7 6,12,45. 设有说明:int x, y, z, m=10, n=5;执行下面三个语句,则x,y,z的值分别是

12、() x=(m=n+)?m:+n; y=m+; z=n; A) 7,9,7 B) 5,9,7 C) 6,11,5 D) 10,11,10 46. 以下程序段中与语句k=ab?(bc?1:0):0;功能等价的是()A)if(ab),13,47. 以下程序的输出结果是() union myun struct int x, y, z; u; int k; a; main() a.u.x=4; a.u.y=5; a.u.z=6; a.k=0; printf(%dn,a.u.x); A) 4 B) 5 C) 6 D) 0 48. 以下程序的输出结果是() #define SQR(X) X*X main(

13、) int a=16, k=2, m=1; a/=SQR(k+m)/SQR(k+m); printf(dn,a); A) 16 B) 2 C) 9 D) 1,14,49. 下列程序的输出结果是() int b=2; int func(int *a) b+=*a;return(b); main() int a=2,res=2; res+=func( A) 4 B) 5 C) 6 D) 8 51. 下列四组转义字符中,均合法的一组是 ( ) A) t n B) 017 x C) 018 f xad D) 0 101 xif,15,1. 下列程序的输出结果是() main() double d=3.

14、2; int x,y; x=1.2; y=(x+3.8)/5.0; printf(%d n, d*y); A) 3 B) 3.2 C) 0 D) 3.07 2. 如果按字长来划分,微机可以分为8位机、16位机、32位机和64位机。所谓32位机是指该计算机所用的CPU() A) 同时能处理32位二进制数 B) 具有32位的寄存器 C) 只能处理32位二进制数 D) 有32个寄存器 3. 设x,y和z均为float型变量,则以下不合法的赋值语句是() A) +x; B) y=(x%2)/10; C) x*=y+8; D) x=y=0; 4. 若对一个函数执行在先,说明在后,C语言将视其返回值为()

15、 A) 非法 B) 无返回值 C) 浮点值 D) 整型值 5. int a1=10,a2=3;float a3=8.0;若程序中有表达式a1/a2*a2*a3,结果值为() A) 80 B) 80.0 C) 72 D) 72.0 6. 对于extern型变量和static型变量的初始化() A) 在编译时进行 B) 在程序开始执行时进行 C) 在程序运行过程中使用到它们时进行 D) 不能确定在何时进行 7. 编译预处理包括() A) 文件包含、宏定义和条件编译 B) 构造工程文件 C) 语句注释 D) 编辑源程序,16,8. 下面有四个用户定义的C语言标识符,只有一个是正确的,正确的是() A

16、) while B) ac C) 53 D) abc 9. 有一字符串指针说明char *s1;其含义是() A) 分配指针空间及串空间 B) 不分配指针空间和串空间 C) 分配串空间,不分配指针空间 D) 不分配串空间,分配指针空间 10.逻辑运算符两侧运算对象的数据类型 ( ) A)只能是0或1 B)只能是0或非0正数 C)只能是整形或字符型数据 D)可以是任何类型的数据 11. 在下列四种字符串说明或赋值方式中,不正确的是() A) static char *p;p=I am a student; B) static char p18=s,t,u,d,e,n,t C) static ch

17、ar p220;p2=I am a student; D) static char p3 =student,p4 =teacher; 12. 变量的有效范围与其定义位置有关,其作用域在整个源程序文件中都有效的是() A) 在第一个函数中定义的变量 B) 在定义第一个函数之前所定义的变量 C) 在主函数中定义的变量 D) 在主函数外定义的变量,17,13. 若有定义:enum weekdaymon,tue,wed,thu,friworkday;则以下错误的语句是() A) workday=(enum weekday)3; B) workday=(enum weekday)(4-2); C) wo

18、rkday=3; D) workday=thu; 14. 子函数调用语句中的实参必须与子函数说明中的形参在以下方面保持一致() A) 个数、类型、顺序 B) 个数、类型、名称 C) 个数、顺序、名称 D) 个数、格式、顺序 15. 设有变量说明:int x=1,z=1,y=1,k;执行语句:k=x+|+yprintf(“%2d,%2dn”,x,y); A) 10,01 B) 02,12 C) 102,10 D) 02,10 20. 有以下程序,执行后输出结果是( )main()char*p10=“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”;printf(“%dn”,st

19、rlen(p4); A) 2 B) 3 C) 4 D) 5 21. 有以下程序,执行后输出结果是( )main()unsignedchara,b;a=4|3;b=4) A)7 0 B) 0 7 C) 1 1 D) 43 0 22. 构成C语言的基本单位是( ) A) 子程序 B) 过程 C) 函数 D) 子例程,19,23. 在C语言中,字符型数据在内存中的存放形式是( ) A) 原码 B) 补码 C) ASCII码 D) 反码 24. 语句 char s=101;的作用是( ) A) 使s包含1个字符 B) 说明不合法,s的值不定 C) 使s包含4个字符 D) 使s包含3个字符 25. 一个

20、C语言的程序总是从何处开始执行( ) A) 主过程B) 主函数 C) 子程序D) 主程序26. C语言中规定:在一个源程序中,main函数的位置( ) A) 必须在最开始 B) 必须在系统调用的库函数的后面 C) 可以任意 D) 必须在最后 27. 以下述叙正确的是( ) A) 在C程序中,main函数必须位于程序的最前面B) C程序的每行中只能写一条语句C) C语言本身没有输入输出语句D) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误 28. 假定x和y为double型,则表达式x=2,y=x+3/2的值是( ) A) 3.500000 B) 3 C) 2.000000 D) 3.

21、000000 29. x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( ) A) INPUT x、y、z; B) scanf(%d%d%d, D) read(%d%d%d, printf(%c,c-25); A) a B) Z C) z-25 D) y 31. 假定int类型变量占用两个字节,且有定义:int x10=0,2,4;,数组x在内存中所占字节数是( ) A) 3 B) 6 C) 10 D) 20 32. 有以下程序段,则while 循环执行的次数是( )int k=0 while(k=1) k+; A) 无限次 B) 有语法错,不能执行 C) 一次也

22、不执行 D) 执行1次 33. 若变量c为char类型,能正确判断出c为小写字母的表达式是( ) A) a= a)|(c=c) D) (c= a) A) 非法 B)a4的地址 C)5 D)3,21,35. 若变量已正确定义并赋值,下面符合C语言语法的表达式是( ) A) a:=b+1 B) a=b=c+2 C) int 18.5%3 D) a=a+7=c+b 36. 有如下程序,运行该程序的输出结果是( )main() int y=3,x=3,z=1; printf(“%d %dn”,(+x,y+),z+2); A) 3 4 B) 4 2 C) 4 3 D) 3 3 37. 有如下程序,该程序

23、的输出结果是( )main0 float x=2.0,y; if(x0.0) y=0.0; else if(x10.0) y=1.0/x; else y=1.0; printf(“%fn”,y); A) 0.000000 B) 0.250000 C) 0.500000 D) 1.000000,22,38. 有如下程序,该程序段的输出结果是( )main() int n=9; while(n6) n-;printf(“%d”,n); A) 987 B) 876 C) 8765 D) 9876 39. 有如下程序,该程序的输出的结果是( )int runc(int a,int b) return(

24、a+b); main() int x=2,y=5,z=8,r; r=func(func(x,y),z); printf(“%dn”,r); A) 12 B) 13 C) 14 D) 15,23,40. 执行下面的程序段后,变量k中的值为() int k=3, s2; s0=k; k=s1*10; A) 不定值 B) 33 C) 30 D) 10 41下面程序的输出是() main() int x=10,y=3; printf(%dn,y=x/y); A) 0 B) 1 C) 3 D) 不确定的值 42. 有如下定义,能输出字母M的语句是( )struct personchar name9; i

25、nt age; strict person class10=“Johu”, 17, “Paul”, 19, “Mary”, 18, “Adam”, 16,; A) printf(“%cn”,0); B) pfintf(“%cn”,1); C) prinft(“%cn”,1); D) prinft(“%cn”,class3.mane);,24,43. 下面程序的输出是() typedef union long x2; int y4; char z8; MYTYPE; MYTYPE them; main() printf(%dn,s

26、izeof(them); A) 32 B) 16 C) 8 D) 24 44. 有以下程序,程序执行后的输出结果是() main() inti,s=0; for(i=1;i10;i+=2)s+=i+1; printf(“%dn”,s); A) 自然数19的累加和 B) 自然数110的累加和 C) 自然数19中的奇数之和 D) 自然数110中的偶数之和 45执行下面程序中输出语句后,a的值是() main() int a; printf(%dn,(a=3*5,a*4,a+5); A) 65 B) 20 C) 15 D) 10,25,46. 有以下程序,执行后输出结果是( )voidf(intv,

27、intw)intt;t=v;v=w;w=t;main()intx=1,y=3,z=2;if(xy)f(x,y);elseif(yz)f(y,z);elsef(x,z);printf(“%d,%d,%dn”,x,y,z); A) 1,2,3 B) 3,1,2 C) 1,3,2 D) 2,3,1 47. 以下程序的输出结果是( ) main() int a, b; for(a=1, b=1; a=10) break; if (b%3= =1) b+=3; continue; printf(%dn,a); A) 101 B) 6 C) 5 D) 4,26,48. 以下程序的输出结果是( ) #def

28、ine M(x,y,z) x*y+z main() int a=1,b=2, c=3; printf(%dn, M(a+b,b+c, c+a); A) 19 B) 17 C) 15 D) 12 49下面程序的输出是() main() int y=9 for(;y0;y-) if(y%3=0) printf(%d,-y);continue; A) 741 B) 852 C) 963 D) 8754321 50. 下列程序执行后的输出结果是( ) #define MA(x) x*(x-1) main() int a=1,b=2; printf(%d n,MA(1+a+b); A) 6 B) 8 C

29、) 10 D) 12 51. 以下能正确地定义整型变量a,b和c并为其赋初值5的语句是 ( ) A) int a=b=c=5; B) int a,b,c=5; C) int a=5,b=5,c=5; D) a=b=c=5;,27,1. 设有数组定义: char array =China; 则数组 array所占的空间为( ) A) 4个字节 B) 5个字节 C) 6个字节 D) 7个字节 2. 一个C程序的执行是从() A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序的main函数开始,到本程序文件的最后一个函数

30、结束 D) 本程序文件的第一个函数开始,到本程序main函数结束 3. sizeof(float)是() A) 一个双精度型表达式 B) 一个整型表达式 C) 一种函数调用 D) 一个不合法的表达式 4. 若用一个字节表示无符号整数,能表示的最大整数是() A) 无穷大 B) 128 C) 256 D) 255 5. C语言中,运算对象必须是整型数的运算符是() A) % B) / C) %和/ D) * 6. 在程序的执行过程中,该程序的某一个函数func( )中说明的static型变量v有这样的特性() A) v存在于func( )被调用期间且仅能被func( )所用 B) v存在于整个程

31、序执行过程中且仅能被func( )所用 C) v存在于func( )被调用期间且可被所有函数所用 D) v存在于整个程序执行过程中且可被所有函数所用,28,7. 假设有宏定义如下,则表达式DNUM2+NUM*2的值为() # define NUM 15 # define DNUM NUM+NUM A) 45 B) 67 C) 52 D) 90 8. 下面的常数表示有一个不正确,不正确的是() A) 0.0 B) 55 C) 0 x2a3 D) 103 9说明语句enum moneyFen,Jiao,Yuan=100,Tenyuan;每个枚举量所对应的实际值为() A) 0,1,100,101

32、B) 1,2,100,101 C) “Fen”或1,”Jiao”或2,”Yuan”或100,”Tenyuan”或101 D) “Fen”,”Jiao”,”Yuan”或100,”Tenyuan” 10. 关于预处理命令可能具有的特点,正确的说明法是() 均以#开头 必须在程序开头 后面不加分号 在真正编译前处理 A) 、 B) 、 C) 、 D) 、 11. 设a和b为整型变量,执行语句:b=(a=2+3,a*4),a+5;后,a和b的值为() A) 5,10 B) 20,25 C) 5,25 D) 5,20,29,12. 设字符g的ASCII码为147,将字符g赋给字符变量c,正确的表达式是(

33、) A) c=“g” B) c=“g0” C) c=147 D) c=147 13. 已知:int *p( );p是() A) 指向int 型的指针变量 B) 一个函数,该函数的返回值是指向int 型的指针变量 C) int型的指针数组 D) int 型函数 14. 在C语言中,下面符号串中,能用作变量名的标识符为() A) auto B) pear C) 1*num D) 2and 15. 判断两个字符串s1和s2是否相等,应当使用() A) if(s1=s2) B) if(s1=s2) C) if(strcmp(s1,s2) D) if(!strcmp(s1,s2) 16. 设有说明:ch

34、ar s110,*s2=s1;下列语句中正确的语句是() A) *s2=”computer”; B) s2=”computer”; C) s1=”computer”; D) s210=”computer”; 17. 下列表达式中,错误的是() A) 4.0%2.0 B) k+j C) a+bc+d?a:b D) x*=y+25,30,18. 以下4组用户定义标识符中,全部合法的一组是()A) _main、enclude、sin B) If、-max、turbo C) txt、REAL、3COM D) int、k_2、_001 19. 设有以下定义,则下面语句中错误的是() inta=0;dou

35、bleb=1.25;charc=A;#defined2 A) a+; B) b+ C) c+; D) d+; 20. 有以下程序,执行后输出结果是( )main()chara=”abcdefg”,b10=”abcdefg”;printf(“%d%dn”,sizeof(a),sizeof(b); A) 7 7 B) 8 8 C) 8 10 D) 10 10 21. 在C语言中,字符型数据在内存中的存放形式是( ) A) 原码 B) BCD码 C) 反码 D) ASCII码 22. 若x为int型变量,则执行以下语句后,x的值为( ) x=6; x+=x-=x*x; A) 36 B) -60 C)

36、 -24 D) 6 23. 若有以下类型说明语句,则表达式 w*x+z-y 的结果类型是( ) char w; int x; float y; double z; A) float B) char C) int D) double,31,24. 在C语言中,int、char和short三种类型数据所占用的内存( ) A) 均为2个字节 B) 由用户自己定义 C) 由所用机器的机器字长决定 D) 是任意的 25. 以下不正确的转义字符是( ) A.B.n C.081D.026. 一个C语言的程序是由( ) A) 一个主程序和若干个子程序组成 B) 函数组成 C) 若干过程组成 D) 若干子程序组

37、成 27. 在计算机系统中,一个字节的二进制位数为( ) A) 16 B) 8 C) 4 D) 由CPU的型号决定 28. 以下合法的赋值语句是( ) A) x=y=100; B) x+y; C) d-; D) c=int(a+b); 29. 设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=ab) B) int b3=0,1,2,3; C) int c100100=0; D) int d3=1,2,1,2,3,1,2,3,4; 32. 若执行以下程序时从键盘上输入9,则输出结果是( ) Main0 int n; scanf(%d,

38、A) 11 B) 10 C) 9 D) 8 33. 以下所列的各函数首部中,正确的是( ) A) void play(int a,int b) B) void play(var :Integer,var b:Integer) C) void play(int a,b) D) Sub play(a as integer,b as integer) 34. 当调用函数时,实参是一个数组名,则向函数传送的是( ) A) 数组的长度 B) 数组的首地址 C) 数组每一个元素的地址 D) 数组每个元素中的值 35. 若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是( ) A) 1

39、 B) 2 C) 2.0 D) 2.5,33,36. 能正确表示逻辑关系:“a=10或a0”的C语言表达式是( ) A) a=10 or a=0|a=10 A) ture B) false C) 0 D) 1,34,41. 有说明:int a10=1,2,3,4,5,6,7,8,9,10,*p=a;,则数值为9的表达式是() A) *P+9 B) *(P+8) C) *P+=9 D) P+8 42. 若px为指针变量名,y为变量名,则y=*px+;等价于() A) y=*px; px+; B) y=(*px)+ ; C) y=px; px+; D) y=*(px+); 43. 下面程序的输出是

40、() void prty(int *x) printf(%dn,+x); main() int a=25; prtv( A) 6 B) 9 C) 0 D) 3,35,45. 以下程序的输出结果是() main( ) int a=1,b=4,k; k=(a0) A) 函数调用出错 B)8 C)9 D)7,36,48. 阅读以下程序,程序运行后,如果从键盘上输人5,则输出结果是()main() int x; scanf(%d,37,二、填空题,1. 表示“整数x的绝对值大于5”时值为“真”的C语言表达式是【 】 2已知字符A的ACSII码值为65,以下语句的输出结果是【 】charch=B;pri

41、ntf(“%c%dn”,ch,ch); 3有以下程序main()intn=0,m=1,x=2;if(!n)x-=1;if(m)x-=2;if(x)x-=3;printf(“%dn”,x);执行后输出结果是【 】 4以下sum函数的功能是计算下列级数之和。S=1x+x2/2!+x3/3!+.+xn/n!请给函数中的各变量正确赋初值。doublesum(double x,intn)inti;doublea,b,s;【 】for(i=1;i=n;i+)a=a*x;b=b*i;s=s+a/b;returns;,38,5以下程序运行后的输出结果是【 】 main() int i=6,j=0; do j=

42、j+i; i-; while(i2); printf(%dn,j); 6. 设有以下程序: main() int a,b,k=4,m=6,*p1= ,39,8. 下列程序段的输出结果是【 】 int n=c; switch(n+) case a:case A:case b:case B:printf(good);break; case c:case C:printf(pass); case d:case D:printf(warn); break; default: printf(error);break; 9. 以下程序用来输出结构体变量ex所占存储单元的字节数,请填空 struct st

43、char name20; double score; ; main() struct st ex; printf(ex size: %dn,sizeof(【 】); 10. 若输入字符串:abcde,则以下while循环体将执行【 】次 While(ch=getchar()=e) printf(“*”); 11. 若有以下定义,则不移动指针p,且通过指针p引用值为98的数组元素的表达式是【 】int w10=23,54,10,33,47,98,72,80,61, *p=w;,40,1. 若x为int类型,请以最简单的形式写出与逻辑表达式!x等价的C语言关系表达式 【 】 2有以下语句段intn

44、1=10,n2=20;printf(“【 】”,n1.n2); 要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。 n1=10 n2=203有以下程序 #include main() charch1,ch2;intn1,n2; ch1=getchar();ch2=getchar(); n1=ch1-0;n2=n1*10+(ch2-0); printf(“%dn”,n2); 程序运行时输入:1 2,执行后输出结果是【 】 4语句:x+; +x; x=x+1; x=l+x;,执行后都使变量x中的值增1,请写出一条同一功能的赋值语句(不得与列举的相同)【 】 5. 设有以下程序: m

45、ain() int n1,n2; scanf(%d, 程序运行后,如果从键盘上输入1298;则输出结果为【 】,41,6. 若已定义:int a10, i;,以下fun函数的功能是:在第一个循环中给前10个数组元素依次赋1、2、3、4、5、6、7、8、9、10;在第二个循环中使a数组前10个元素中的值对称折叠,变成1、2、3、4、5、5、4、3、2、1。请填空。 fun(int a) int i; for(i=1;i=10;i+) 【 】=i; for(i=0;i5;i+) 【 】=ai; 7. 下列程序段的输出结果是【 】 main() char b=Hello,you; b5=0; pri

46、ntf(%sn,b ); 8. 下列程序的输出结果是【 】 void fun(int *n) while(*n)-); printf(%d,+(*n); main() int a=100; fun( ,42,9. 若有定义:int a=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是【 】 c=(a-=(b-5); c=(a%11)+(b=3); 10. 要使以下程序段输出10个整数,请填入一个整数 for(i=0;i=【 】;printf(“%dn”,i+=2); 11. 以下函数用来求出两整数之和,并通过形参将结果传回,请填空 void func(int x,int y, 【

47、】z) *z=x+y; ,43,1有以下程序main() intt=1,i=5;for(;i=0;i-)t*=i;printf(“%dn”,t);执行后输出结果是【 】 2. 以下sstrcpy()函数实现字符串复制,即将t所指字符串复制到s所指向内存空间中,形成一个新的字符串s。请填空。 voidsstrcpy(char*s,char*t) while(*s+=【 】); main() charstr1100,str2=”abcdefgh”; sstrcpy(str1,str2); printf(“%sn”,str1); 3设y是int型变量,请写出判断y为奇数的关系表达式【 】 4. 以下

48、程序输出的最后一个值是【 】 int ff(int n) static int f=l; f=f*n; return f; main() int i; for(i=1;i=4;i+ printf(%dn,ff(i); ,44,5. 若有如下结构体说明: struct STRU int a,b;char c;double d; ; 请填空,以完成对t数组的定义,t数组的每个元素为该结构体类型 【 】t20; 6. 以下程序的输出结果是【 】 main() int a=1, b=2; a=a+b; b=a-b; a=a-b; printf(%d,%dn, a, b ); 7. 以下程序的输出结果是

49、【 】 main() int arr=30,25,20,15,10,5,*p=arr; p+; printf(%dn,*(p+3); 8. 若变量n中的值为24,则prnt函数共输出【 】行,最后一行有【 】个数void prnt(int n,int aa) int i; for(i=1;i=n;i+) printf(%6d,aai); if(!(i%5) printf(n); ,45,9. 函数pi的功能是根据以下近似公式求值: (*)/6=1+1/(2*2)+1/(3*3)+.+1/(n*n) 现在请你在下面的函数中填空,完成求的功能 #include “math.h” double pi

50、(long n) double s=0.0; long i; for(i=1;i=n;i+) s=s+【 】; return(sqrt(6*s); 10. 以下程序的输出结果是【 】 void fun() static int a=0; a+=2; printf(“%d”,a); main() int cc; for(cc=1;cc4;cc+) fun() printf(“n”); 11. 以下程序输出的是【 】 main( ) int a10=19,23,44,17,37,28,49,36, *p; p=a; printf(%dn,*(p+=3); ,46,三、编程,1. 有三个整数a,b,

51、c,由键盘输入,输出其中的最大数。 2. 打印出以下图案。 * * * * 3. 输入一个华氏温度,要求输出摄氏温度。(公式为 c=(F-32)*5/9,要求输出保留两位小数),y=,47,4. 以下面的方程为基础,写一程序,输入X值,输出Y值,方程如下: y= 5求1!+2!+3!+.+20! 6. 有一序数列:2/1,3/2,4/3求前20项的和 7. 用/411/31/51/7公式求的近似值,直到某一项的绝对值小于10-6为止。 8.每个苹果1.2元,第一天买2个苹果,第2天开始,每天买前一天的2倍,直到购买的苹果个数达到不超过100的最大值,编写程序每天平均花费多少钱? 9.编写程序要

52、求输出1到100之间每位数的乘积大于每位数的和的数。,48,参考答案一、单项选择题,1.C 2.A 3.A 4.C 5.A 6.C 7.B 8.B 9.C 10.D 11.A 12.D 13.C 14.B 15.C 16.A 17.B 18.C 19.B 20.A 21.C 22.B 23.D 24.B 25.C 26.D 27.B 28.D 29.B 30.C 31.C 32.A 33.C 34.B 35.A 36.A 37.B 38.A 39.B 40.B 41.A 42.C 43.B 44.A 45.A 46.A 47.D 48.B 49.B 50.C 51.A,49,1.C 2. A 3.B 4.D 5.D 6.A 7.A 8.C 9.D 10.D 11.C 12.B 13.C 14.A 15.A 16.D 17.B 18.C 19.C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论