覆盖学起Plus、超星学习通等平台的全学科作业答案、历年真题与考试速查系统
中国大学MOOC作业考试答案

想要快速找到正确答案?

立即关注 超新尔雅学习通微信公众号,轻松解决学习难题!

超新尔雅学习通
扫码关注

作业辅导
扫码关注
论文指导
轻松解决学习难题!

中国大学MOOC程序设计基础——C语言作业答案

程序设计基础——C语言

学校: 九八五题库

学校: 超星学习通

题目如下:

1. 1. 下列有关算法的描述正确的是()

A. 流程图是一种描述算法的常用方法

B. 解决问题的算法是唯一的

C. 算法都不必在有限步骤内实现

D. 算法都至少包含一条输入指令

答案: 流程图是一种描述算法的常用方法

2. 2. 下面关于算法的描述正确的是( )

A. 一个算法只能有一个输入

B. 算法只能用框图来表示

C. 一个算法的执行步骤可以是无限的

D. 一个完整的算法,不管用 什么方法来表示,都至少有一个输出结果

答案: 一个完整的算法,不管用 什么方法来表示,都至少有一个输出结果

3. 3. 以下选项中,不属于C语言结构化程序设计三种基本结构的是()。

A. 选择结构

B. 顺序结构

C. 递归结构

D. 循环结构

答案: 递归结构

4. 4. 下列变量定义合法的是( )

A. short _a=1.1e-1;

B. double b=1+5e2.5;

C. long do=0xfdaL;

D. float 2_and=1-e-3;

答案: short _a=1.1e-1;

5. 5. 若定义变量如下 :short x; 则x能存储数据的最小值与最大值分别是( )

A. -128,127

B. -32768,32767

C. 0,65535

D. -2147483648,2147483647

答案: -32768,32767

6. 6. 下列语句的输出结果是( ) short int i=65535; printf("%d",i);

A. 65535

B. 0

C. -1

D. 语法出错

答案: -1

7. 7. 1000001 的十进制数是多少

A. 65

B. 55

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

8. 8. 在C语言中,不合法的整型常量是( )

A. 0L

B. 498261

C. 0431278

D. 0xa34b5

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

9. 9. 下列字符串是合法标识符的是( )

A. _MK

B. +9_student。。。

C. 8-long

D. $123.4

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

10. 10. 设a和b均为double型常量,且a=5.5,b=2.5,则表达式(int)a+b/b的值是( )

A. 6.5

B. 7

C. 5.5

D. 6.0

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

11. 11. 以下选项中不属于C语言类型的是( )

A. signed short int

B. unsigned char

C. signed long

D. long short

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

12. 12. 在C语言中,要求运算量必须是整数的运算符是( )

A. *

B. +

C. -

D. %

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

13. 13. 下面关于算法特性正确的是( )

A. 有穷性

B. 确定性

C. 有零个或多个输入

D. 有零个或多个输出

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

14. 14. 下列说法正确的是( )

A. 算法是程序设计的灵魂,由此可见算法的重要地位

B. 简单的说,算法就是解决问题的方法和步骤

C. 著名的计算机科学家沃思指出“算法+数据结构=程序”

D. 一个问题的算法只能用一种程序设计语言实现

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

15. 15. 结构化程序设计方法有哪些( )

A. 自顶向下

B. 逐步细化

C. 模块化设计

D. 结构化编码

E. 顺序编码

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

16. 16. A的ASCII码值

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

17. 17. C语言中,float型变量在内存占用的字节数是______________

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

18. 18. C语言中,char型变量在内存占用的字节数是______________

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

19. 19. 已知:x=2.5,a=7,y=4.7,则x+a%3*(int)(x+y)%2/4的值为 ______________。

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

20. 20. 若a为int型,a=3,则a+=a-=a*a的值为_________________。

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

21. 1. 有下列语句: int x=1234; printf(“%2d\n”,x); 输出结果为:

A. 34

B. 1234

C. 12

D. 错误,无法正常输出

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

22. 2. 设a和b均为double型变量,且a=5.5,b=2.5,则表达式(int)a+b/b的值是( )

A. 6.0

B. 7

C. 6.5

D. 5.5

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

23. 3. 下列运算符中优先级最高的是( )

A. &&

B. !=

C. +

D. <

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

24. 4. 在下面的语句中,错误的赋值语句是( )

A. a=a

B. a=(b=(c=2,d=3));

C. i=i+1;

D. a=a/b=2;

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

25. 5. 下面程序编译时无错误,运行程序时,从键盘输入1,2,但输出结果不正确。 #include int main() { int x,y; scanf("%d, %d", x,y); printf("%d, %d", x,y); return 0; } 找出错误,并改写出正确的语句

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

26. 6. f是float变量,要求输出f的数据至少占9个字符位置,保留3位小数,则printf("___________",f)中正确的格式字符串是:

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

27. 7. 写出下面程序的运行结果 #include int main(){ int a; char c=10; float f=100.0; double x; a=f/=c*=(x=6.5); printf("%d,%d,%3.1f,%3.1f\n",a,c,f,x); }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

28. 8. 写出下列程序的结果: #include int main (void) { int a = 10,b = 4; float c=4.0; printf ("%d\n",a/b); printf ("%f\n", a/c); return 0; } 第一行:———— 第二行:————

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

29. 9. 运行下面程序时从键盘输入1234567<回车>,则输出结果为( ) #include int main(){ int a=1,b; scanf("%2d%2d",&a,&b); printf("%d %d\n",a,b); }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

30. 10. 写出下面程序的运行结果: #include int main(){ int a=65535; short b; b=a+1; printf("%d %d\n",a,b); }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

31. 11. 在printf函数中,格式说明与输出项的个数必须相同,如果格式符的个数小于输出项的个数,多余的输出项将不予输出。

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

32. 12. 赋值运算符,它的作用是把一个值保存到一个变量中

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

33. 13. 算术运算符优先级高于关系运算符

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

34. 14. sacnf()中的变量必须使用变量地址,而不是变量名

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

35. 15. %#o表示变量的值以八进制输出,其中#的作用是在八进制数前输出一个数字0

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

36. 16. 求余运算符%是计算被除数除以除数后的余数,这个运算符要求两个运算量必须是整数

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

37. 17. #include int main(){ printf("%d,%d\n",1/2,3/4); printf("%f,%f\n",1/2,3/4); printf("%f,%f\n",1.0/2,3/4.); } 执行结果为

A. 0,0 0.000000,0.000000 0.500000,0.750000

B. 0.5,0.75 0.500000,0.750000 0.500000,0.750000

C. 0,0 0.500000,0.750000 0.500000,0.750000

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

38. 18. 有定义语句“int x,y”,若要通过scanf(“x=%d,y=%d”,&x,&y);语句使变量x得到数值11,变量y得到数值12,下面4组输入形式中,正确的是( )

A. 11 12

B. x=11 y=12

C. 11,12

D. x=11,y=12

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

39. 19. 若a为int型,a=3,则a+=a-=a*a的值为_________________。

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

40. 1. 下列表达式中,值为0的表达式是

A. 3!=0

B. 3!=3>4

C. 3>4==0

D. 6>5>4

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

41. 2. 设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为

A. 0

B. 1

C. 2

D. 3

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

42. 3. 能正确表示“当x的取值在[1,10]范围内为真,否则为假”的表达式是( )

A. 1<=x<=10

B. x>=1||x<=10

C. x>=1&&x<=10

D. x>=1,x<=10

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

43. 4. 下列运算符中优先级最高的是( )

A. <

B. +

C. &&

D. !=

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

44. 5. 设整型变量x、y、z的值分别为3、2、1,则下列程序段的输出是 if(x>y) x=y; if(x>z) x=z; printf("%d,%d,%d\n",x,y,z);

A. 3,2,1

B. 1,2,3

C. 1,2,1

D. 1,1,1

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

45. 6. 已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 if(x>y) z=x; x=y; y=z;

A. x=10, y=20, z=30

B. x=20, y=30, z=30

C. x=20, y=30, z=10

D. x=20, y=30, z=20

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

46. 7. 为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与( )配对

A. 任意if

B. 其之前最近的if

C. 其之后的最近的if

D. 同一行上的if

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

47. 8. 以下不正确的语句为( )

A. if(x>y) ;

B. if(x=y)&&(x!=0) x+=y;

C. if(x!=y) scanf(“%d”,&x);else scanf(“%d”,&y);

D. if(x

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

48. 9. 运行程序,从键盘输入48,写出下面程序的输出结果。 #include void main() { int a; scanf(“%d”,&a); if(a>50) printf(“%d ”,a); if(a>40) printf(“%d ”,a); if(a>30) printf(“%d ”,a); }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

49. 10. 若a=6,b=4,c=2则表达式 !(a-b)+c-1&&b+c/2的值_________________

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

50. 11. 若运行时输入:3 5/<回车>,则以下的运行结果是。 #include int main() { float x,y;char o;double r; scanf("%f %f %c",&x,&y,&o); switch(o) { case '+':r=x+y;break; case '-':r=x-y;break; case '*':r=x*y;break; case '/ ':r=x/y;break; } printf("%f",r); return 0; }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

51. 12. 输入一个实数,输出其绝对值。 #include int main() { float x; printf("请输入一个实数:"); scanf("%f",&x); if(___________________) x=-x; printf("The absolute value is%f\n",x); return 0; }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

52. 13. 以下程序的运行结果是 #include int main() { int a,b,c,s,w,t; s=w=t=0; a=-1;b=3;c=3; if(c>0) s=a+b; if(a<=0) { if(b>0) if(c<=0) w=a-b;} else if(c>0) w=b-a; else t=c; printf("%d %d %d",s,w,t); return 0; }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

53. 14. 运行以下程序,输入5,则程序输出的结果是 #include int main() { int x,y=1; scanf("%d",&x); switch(x+1) { case 5:y++; case 6:y+=2; case 7:y+=3; default:y+=4; } printf("%d",y); }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

54. 15. 参加逻辑运算的运算量可以是任何类型的数据,如果参加逻辑运算的运算量不是一个逻辑量,则非零值代表真,零值代表假。

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

55. 16. a==b

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

56. 17. switch语句中case后的表达式可以是任意类型

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

57. 18. 可以用“=="运算符判断两个实数是否相等

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

58. 19. 以下程序的运行结果是( ) #include int main() { int k=4,a=3,b=2,c=1; printf(“%d\n”,k

A. 4

B. 3

C. 2

D. 1

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

59. 20. 请阅读以下程序 #include int main() { int a=5,b=0,c=0; if(a=b+c) printf(“***\n”); else printf(“$$$\n”); return 0; } 以上程序( )

A. 有语法错不能通过编译

B. 可以通过编译但不能通过连接

C. 输出***

D. 输出$$$

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

60. 1. 下面的程序的运行结果是( ) #include int main() { int i=0,sum=0; while(i++<6) sum+=i; printf("%d",sum); return 0; }

A. 15

B. 不确定

C. 21

D. 16

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

61. 2. 下面程序的运行结果是( )。 #include int main() { int x=3; do { printf("%3d",x-=2) ; }while(!(--x)) ; }

A. 1

B. 死循环

C. 1 -2

D. 10

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

62. 3. 下面程序的运行结果是( ) #include int main() {int y=10; while(y>0) { if(y%3==0) printf("%d",--y); y--; } return 0; }

A. 741

B. 852

C. 789

D. 963

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

63. 4. C语言中while和do-while循环的主要区别是( )

A. do-while的循环体至少无条件执行一次

B. do-while允许从外部转到循环体内

C. do-while的循环体不能是复合语句

D. while的循环控制条件比do-while 的循环控制条件严格

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

64. 5. 设有程序段 int k=10; while(k=10) k=k-1; 则下面描述中正确的是( )

A. 循环体语句执行一次

B. while循环执行10次数

C. 循环是无限循环

D. 循环体语句一次也不执行

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

65. 6. 下面程序的运行结果是( ) #include 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=8

B. x=6

C. x=4

D. x=12

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

66. 7. 在for(表达式1;表达式2;表达式3)语句中,表达式2在任何情况下不允许省略。

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

67. 8. break语句能够结束整个循环,而continue语句能够结束本次循环

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

68. 9. while语句与do-while语句的作用是完全一样的

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

69. 10. 执行下面的程序后运算结果是( ) #include int main() { int a,b; for(a=1,b=1;a<=100;a++) { if(b>=20) break; if(b%3==1) { b+=3; continue; b-=5; } } printf("%d",a); }

A. 10

B. 9

C. 7

D. 8

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

70. 11. 下面的程序是求0~100自然数中偶数之和,完成并调试该程序。 #include int main() {int sum=0, i=0; while( ) {sum=sum+i; ; } printf("sum=%d\n", sum); return 0;}

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

71. 12. 要求:输入10个实数,用选择法由小到大排序 #include int main() { int i, j, n, t, a[10]; for(i=0; i<10; i++) scanf("%d", &a[i]); for(i=0; ___________; i++) { n=i; for(j=i+1;__________; j++) if(a[j]

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

72. 13. 以下程序的功能是计算s=1+1/2!+1/3 ! +1/4 !+…+1/n! ,请填空。 #include int main( ) { double s=0.0,fac=1.0; int i,n; scanf(“%d”,&n); for(i=1,i<=n;i++) { fac=fac * ___________; s=_____________; } printf(“s=%lf”,s); }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

73. 14. 执行下列程序的输出结果是。 #include int main() { int m,n; for(m=11;m>10;m--) { for(n=m;n>9;n--) if(m%n)break; if(n<=m-1) printf("%d",m); } return 0; }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

74. 15. 计算两个非负整数的最大公约数。 #include int main (void) { int m, n,u,v,remainder; printf ("请输入两个非负整数:"); scanf ("%d%d", &m, &n); u=m,v=n; while ( v != 0 ) { _____________________ = u % v; ______________________= v; ______________________ = remainder; } printf ("%d和%d的最大公约数是%d\n", m,n,u); return 0; }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

75. 1. 若用数组名作为函数调用的实参,传递给形参的是( )

A. 数组元素的个数

B. 数组第一个元素的值

C. 数组中全部元素的值

D. 数组的首地址

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

76. 2. 凡是函数中未指定存储类别的局部变量,其隐含的存储类别为

A. 外部(extern)

B. 寄存器(register)

C. 静态(static)

D. 自动(auto)

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

77. 3. 在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是

A. auto

B. register

C. extern

D. static

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

78. 4. 以下说法不正确的是( )

A. 形式参数是局部变量

B. 在不同函数中可以使用相同名字的变量

C. 在函数内的复合语句中定义的变量在本函数范围内有效

D. 在函数内定义的变量只在本函数范围内有效

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

79. 5. 以下叙述中正确的是______。

A. 函数的形参都属于全局变量

B. 未在定义语句中赋初值的auto变量和static变量的初值都是随机值

C. 静态(static)类别变量的生存期贯穿于整个程序的运行期间

D. 全局变量的作用域一定比局部变量的作用域范围大

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

80. 6. 以下程序是将3阶矩阵转置,则函数convert的形参错误的是( )。 #include void convert(________________) { int i,j,t; for(i=0;i<3;i++) for(j=i+1;j<3;j++) { t=array[i][j]; array[i][j]=array[j][i]; array[j][i]=t; } } int main() { int i,j,a[3][3]; printf("input the data of array:\n"); for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); convert(a); printf("the result is:\n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) printf("%5d",a[i][j]); printf("\n"); }

A. int array[][3]

B. int array[4][3]

C. int array[3][3]

D. int array[3][]

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

81. 7. 以下程序的运行结果是( ): #include int x=3; void cude() { x=x*x*x; } int main() { x=5; cude(); printf("%d\n",x); return 0; }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

82. 8. 以下程序的输出结果是( ) #include f(int b[],int m,int n) { int i,s=0; for(i=m;i

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

83. 9. 以下程序的运行结果是: #include int a=5, b=7; int plus(int x,int y) { int z; z=x+y; return(z); } int main() { int a=4,b=5,c; c=plus(a,b); printf("a+b=%d\n",c); return 0; }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

84. 10. 以下程序的运行结果是( ) #include int x1=30,x2=40; void sub(int x,int y) { x1=x;x=y;y=x1; } int main() { int x3=10,x4=20; sub(x3,x4); sub(x2,x1); printf("%d,%d,%d,%d\n",x1,x2,x3,x4); }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

85. 11. 以下程序运行结果是( ) #include int a=5; int fun(int b) { static int a=10; a+=b++; printf("%d\n",a); } int main() { int c=20; fun(c); a+=c++; printf("%d\n",a); }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

86. 12. 下列程序的运行结果是( ) #include int fun(int num) { num++; } int main() { int a[3]={1,2,3},i; for(i=0;i<3;i++) { fun(a[i]); printf("%d ",a[i]); } }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

87. 13. 下列程序的运行结果是( ) #include int fun(int num[]) { int i; for(i=0;i<3;i++) num[i]++; } int main() { int a[3]={1,2,3},i; for(i=0;i<3;i++) { fun(a); for(i=0;i<3;i++) printf("%d ",a[i]); } }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

88. 14. 用数组名做实参时,实参和形参在内存中是占用相同的内存单元的

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

89. 15. 局部变量的的生存期与函数调用共存亡,也就是说当函数调用结束,局部变量所占用的内存单元会释放。

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

90. 16. 寄存器变量的作用域和生存期与自动变量是相同

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

91. 1. 变量的指针,其含义是指该变量的( )

A. 名

B. 值

C. 一个标志

D. 地址

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

92. 2. 有如下的程序段,执行该段程序后,a的值为( )。 int *p,a=10,b=1; p=&a; a=*p+b;

A. 10

B. 编译出错

C. 12

D. 11

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

93. 3. 下面程序的输出结果是( )。 int main() { char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5; printf("%d",*--p); }

A. 5

B. a[4]的地址

C. 非法

D. 3

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

94. 4. 若有语句int a,*p=&a;,则以下输入语句正确的是( )

A. scanf("%d",&p);

B. scanf("%d",a);

C. scanf("%d",p);

D. scanf("%d",*p);

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

95. 5. 若有语句int a,*p;,并希望p指向变量a,则以下语句正确的是( )

A. p=&a;

B. &p=a;

C. p=*a;

D. p=a;

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

96. 6. 若定义int t[3][2];,能正确表示t数组元素地址的表达式是( )

A. t[1]

B. &t[3][2]

C. *t[2]

D. t[3]

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

97. 7. 以下程序执行后的输出结果是( ) #include void fun(int *b,int i,int j) { int t; if(i { t=b[i];b[i]=b[j];b[j]=t; fun(b,++i,--j); } } int main() { int a[]={1,2,3,4,5,6},i; fun(a,0,5); for(i=0;i<6;i++) printf("%d ",a[i]); return 0; }

A. 1 2 3 4 5 6

B. 6 5 4 3 2 1

C. 4 3 2 1 5 6

D. 4 5 6 1 2 3

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

98. 8. 输出数组中的全部元素(指针法) #include void main() { int nums[10], i, *p; ______________ = nums; for (i=0; i<10;i++) { *p = i*i; printf("nums[%d]=%d\n", i, *p); p=p+____________; } }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

99. 9. 若定义“int a=511,*b=&a;”,则printf("%d\n",*b);的输出结果为( )

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

100. 10. 下列程序的运行结果是( ) #include int main() { int a[4][4]={{10,2,3,4},{51,6,7,8},{9,10,11,12},{1,14,15,16}},(*p)[4],i; p=a; printf("%d",*(p+2)-*(p+1)); return 0; }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

101. 11. 以下程序运行后的结果是( ) #include int *f(int *x,int *y) { if(*x<*y) return x; else return y; } int main() { int a=7,b=8,*p,*q,*r; p=&a;q=&b; r=f(p,q); printf("%d,%d,%d",*p,*q,*r); return 0; }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

102. 1. 在C语言中,如果有一个指向字符的指针p,那么*p表示什么?

A. 指针p的值

B. 指针p的类型

C. 指针p所指向的字符

D. 指针p的地址

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

103. 2. 在C语言中,如果有一个指向字符串的指针p,那么p+1表示什么?

A. 指针p的类型

B. 指针p所指向的下一个字符

C. 指针p的下一个地址

D. 指针p的值加1

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

104. 3. 以下不能正确进行字符串赋初值的是( )

A. char str[]="good!";

B. char str[5]={'g','o','o','d'};

C. char str[5]="good!";

D. char *str="good!";

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

105. 4. 以下程序执行后的输出结果是( ) main() { char str[]="xyz",*ps=str; while(*ps) ps++; for(ps--;ps-str>=0;ps--) puts(ps); }

A. z yz xyz

B. yz xyz

C. z yz

D. x xy

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

106. 5. 在说明语句int *f();中,标识符f代表的是( )

A. 一个用于返回值为指针型的函数名

B. 一个用于指向整型数据的指针变量

C. 一个用于指向一维数组的行指针

D. 一个用于指向函数的指针变量

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

107. 6. 若有以下说明和定义 func(int *c){...........} main() { int (*a)()=func,*b(),w[10],c; ... } 在心要的赋值之后,对func函数正确的调用语句是( )

A. b=*b(w);

B. func(b);

C. (*a)(&c);

D. a=a(w);

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

108. 7. 以下函数的返回值是( ) char *fun(char *p) { return (p); }

A. 一个临时存储单元的地址

B. 形参p自身的地址值

C. 形参p中存放的地址值

D. 无确切值

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

109. 8. 在C语言中,可以通过指针将一个函数的地址传递给另一个函数。

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

110. 9. 在C语言中,指针可以用来传递函数的参数。

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

111. 10. 下列程序的输出结果是( ) int main() { char *s="bigworld"; printf("%s",s+3); }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

112. 11. 设函数findbig已定义为求3个数中的最大值,以下程序将利用函数指针调用findbig函数,请填空。 main() { int findbig(int,int,int); int (*f)(),x,y,z,big; f=____________; scanf("%d%d%d",&x,&y,&z); big=(*f)(x,y,z); printf("big=%d\n",big); }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

113. 1. 在C语言中,多重指针是指什么?

A. 一个指针指向另一个指针

B. 一个指针指向一个数组

C. 一个指针指向一个结构体

D. 一个指针指向一个函数

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

114. 2. 在C语言中,如何正确地声明一个指向指针的指针?

A. int p;

B. int *p;

C. int ***p;

D. int **p;

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

115. 3. 下列程序的输出结果是( ) #include int main() { int a[3][3]={{1,2},{5,6},{8,9}}; int i,*p[3]; for(i=0;i<3;i++) p[i]=a[i]; printf("%d",*(p[0]+1)+*(p[1]+1)+*(p[2]+1)); return 0; }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

116. 4. 当使用指针数组时,如果指针数组名为p,那么p[i]表示的是第i+1个元素的地址,而*(p+i)表示的是第i+1个元素的______。

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

117. 1. 以下正确的函数定义形式是( )

A. double fun(int x;y)

B. double fun(int x;int y)

C. double fun(int x,y);

D. double fun(int x,int y)

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

118. 2. C语言规定,简单变量做实参时,它相对应形参之间的数据传递方式是( )

A. 地址传递

B. 由用户指定传递方式

C. 由实参传给形参,再由形参传回给实参

D. 单向值传递

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

119. 3. C语言规定,函数返回值的类型是由( )

A. 调用该函数时系统临时决定

B. return语句中的表达式类型所决定

C. 在定义该函数时所指定的函数类型所决定

D. 调用该函数时的主调函数类型所决定

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

120. 4. C语言程序中,以下正确的描述是()

A. 函数的定义和函数的调用均可以嵌套

B. 函数的定义可以嵌套,但函数的调用不可以嵌套

C. 函数的定义和函数的调用均不可以嵌套

D. 函数的定义不可以嵌套,但函数的调用可以嵌套

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

121. 5. 有如下程序: #include void f(int x,int y) { int t; if(x int a=4,b=3,c=5; f(a,b);f(a,c);f(b,c); printf("%d,%d,%d\n",a,b,c); return 0; }

A. 5,4,3

B. 3,4,5

C. 5,3,4

D. 4,3,5

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

122. 6. 有如下函数调用语句: func(rec1,rec2+rec3,(rec4,rec5)); 该函数调用语句中,含有的实参个数是( )

A. 4

B. 3

C. 5

D. 有语法错误

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

123. 7. 有如下程序: #include int func(int a,int b) { return (a+b); } int main() { int x=2,y=5,z=8,r; r=func(func(x,y),z); printf("%d\n",r); return 0; }

A. 12

B. 13

C. 15

D. 14

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

124. 8. 有以下函数定义: void fun(int n,double x) {................} 若以下选项中的变量都已正确定义并赋值,则对函数fun正确的调用语句是( )

A. k=fun(10,12.5);

B. void fun(n,x);

C. fun(int y,double m);

D. fun(x,n);

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

125. 9. 若程序中定义了以下函数: float sub(float x,float y) { return x-y;} 并将其放在调用语句之后,则在调用之前应该对该函数进行声明,以下选项中错误的声明是( )

A. float sub(float ,float )

B. float sub(float x,y)

C. float sub(float a,float b)

D. float sub(float x,float y)

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

126. 10. 有如下程序: #include long fib(int n) { if(n>2) return (fib(n-1)+fib(n-2)); else return 2; } int main() { printf("%ld\n",fib(4)); return 0; }

A. 2

B. 8

C. 4

D. 6

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

127. 11. 下列程序的运行结果是( ) #include double sub(double x,double y,double z) { y-=1.0; z=x+y+z; return z; } int main() { double a=2.5,b=9.0; printf("%0.1f\n",sub(b-a,a,a)); return 0; }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

128. 12. 阅读下面程序,在空白处填上适合的语句。 #include __________________________; int main() { int a,b; scanf("%d%d",&a,&b); printf("%f\n",myadd(a,b)); } double myadd(double a,double b) { return a+b; }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

129. 13. 写出下面程序的运行结果( ) #include int func(int a,int b) { return (a*b,a/b); } int main() { int x=5,y=2; printf("%d\n",func(x,y)); return 0; }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

130. 14. 下面程序的运行结果是( ) #include int func1(int a) { int c=3; return c+=a; } int func2(int a,int b) { int c=7; return func1(func1(c*=a+b)); } int main() { printf("%d",func2(5,4)); return 0; }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

131. 15. 以下程序的运行结果是( ) #include int fun(int x) { if(x/2>0) fun(x/2); printf("%d ",x); } int main() { fun(6); return 0; }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

132. 1. 下面程序段的运行结果是( )。 char s[6]; s="abcd"; printf("\"%s\"\n",s);

A. \"abcd\"

B. 编译出错

C. "abcd"

D. abcd

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

133. 2. 若有定义char s[]="good";char t[]={'g','o','o','d'};则下列叙述正确的是_______

A. 数组s比t长

B. 数组s与t长度相同

C. 数组s比t短

D. s和t完全相同

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

134. 3. 以下程序的输出结果是________ #include #include int main() { char st[20]="hel\0x41o\t"; printf("%d %d\n",strlen(st),sizeof(st)); }

A. 11 20

B. 6 20

C. 3 20

D. 11 11

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

135. 4. 以下程序的运行结果是______ #include #include int main() { char a[]={'a','b','c','d','e','f','g','h','\0'}; printf("%d,%d\n",strlen(a),sizeof(a)); }

A. 8,9

B. 9,9

C. 9,8

D. 1,8

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

136. 5. 有如下程序: #include int main() { char ch[10]="abcd",c[10]="abcd"; if(ch==c) printf("%s","true"); else printf("%s","false"); } 执行后输出结果是________

A. 有语法错误

B. true

C. false

D. 以上答案都不正确

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

137. 6. 有如下程序: #include int main() { char ch[10]="aba",c[10]="ab\0cd"; ch=c; printf("%s",ch); } 执行后输出结果是________

A. ab\0cd

B. 以上答案都不正确

C. 有语法错误

D. ab

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

138. 7. 若有char a[10],b[10];,则正确的输入语句是________

A. scanf("%s%s",&a,&b);

B. getchar(a);getchar(b);

C. scanf("%s%s",a,b);

D. gets(a,b);

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

139. 8. 执行下列程序时输入:123 456 789,则输出结果是________ #include int main() { char s[10]; int c,i; scanf("%c%d%s",&c,&i,s); printf("%c,%d,%s\n",c,i,s); }

A. 123,456,789

B. 1,23,456 789

C. 1,456,789

D. 1,23,456

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

140. 9. 以下程序的运行结果是__________ #include int main() { char ch[3][5]={"AA","BBB","CCCC"}; printf("%s\n",ch[1]); }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

141. 10. 以下程序的运行结果是_______ #include int main() { char b[]="Hello,you"; b[5]=0; printf("%s\n",b); }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

142. 11. 下列程序的运行结果是_______ #include #include int main() { char a[10]="abcde",b[]="fgh"; strcpy(a+1,b+2); printf("%s",a); }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

143. 12. 下列程序的运行结果是_______ #include int main() { char s[]="a good world"; int i,j; for(i=j=0;s[i]!='\0';i++) if(s[i]!='d') s[j++]=s[i]; s[j]='\0'; printf("%s",s); }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。

144. 13. 运行下面程序,输入Hello World,则输出结果为:_____ #include int main() { char s[20]; scanf("%s",s); printf("%s",s); }

答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。



    文章说明
    评论留言

    昵称

    个人资料
    个人资料
    学通智库​ 是专为 ​学起Plus、超星学习通、安徽继续教育、云上河开​ 等主流学习平台用户打造的一站式资源中心。
    • 文章57118
    • 评论0
    • 微语0
    标签