广州新华学院
  1. 以下关于函数定义时的形参说法正确的是( )

  2. A:形参只能一个
    B:形参不能为空
    C:形参不可以是指针
    D:形参可以是任意类型

    答案:形参可以是任意类型
  3. int i; int x[4][4] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 };for (i = 0; i<4; i++) printf("%3d", x[i][3 - i]);阅读程序,下列选项中哪一项是正确的输出结果( )

  4. A:481216
    B:161116
    C:471013
    D:15913

    答案:481216
  5. 表示关系x<=y<=z的C语言表达式为( )

  6. A:(X<=Y)AND(Y<=Z)
    B:(X<=Y<=Z)
    C:(X<=Y)&(Y<=Z)
    D:(X<=Y)&&(Y<=Z)

    答案:(X<=Y)&&(Y<=Z)
  7. struct Student{int num;int age;} stu, *p;若有以上声明,则对结构体变量stu中成员age的不正确应用方式为( )

  8. A:stu.age
    B:(*p).age
    C:p->age
    D:student.age

    答案:student.age
  9. #include <stdio.h>struct stu{ int num; char name[10]; int age;};void fun(struct stu *p){ printf("%s\n",(*p).name);}int main(){ struct stu students[3]={{9801,"Zhang",20},{9802,"Wang",19},{9803,"Zhao",18}}; fun(students+2); return 0;}上面程序的输出是( )

  10. A:Wang
    B:Zhang
    C:18
    D:Zhao

    答案:Zhao
  11. 设有定义语句:struct{int x;int y;}d[] = {{1, 3}, {2, 7}};则printf(“%d”, d[0].y / d[0].x * d[1].x);的输出结果是( )

  12. A:1
    B:6
    C:0
    D:3

    答案:6
  13. int a[10] = { 0,1,2,3,4,5,6,7,8,9 };printf("%d %d", *a + 6, *(a + 6));程序段执行结果是( )

  14. A:6 6
    B:5 5
    C:有语法错误

    答案:6 6
  15. switch(i){case 1:i+=1;case 2:i+=1;case 3:i+=1;default:i+=1;};若int i = 1,执行下面程序段后,变量i的值为( )

  16. A:3
    B:4
    C:2
    D:5

    答案:5
  17. 在C语言中,int,char和short三种类型数据所占的内存( )。

  18. A:均为2字节
    B:由用户自己定义
    C:由所用机器的字节长度决定
    D:任意的

    答案:由所用机器的字节长度决定
  19. fuch(char str[]){int num =0; while (*(str+num)!='\0') num++; return num;}int main(){ char str[10],*p=str; gets(p); printf("%d\n",func(p));return 0;}程序运行后,如果从键盘上输入ABCDE,那么输出结果为( )

  20. A:5
    B:6
    C:8
    D:7
  21. #include<stdio.h>int a=10;int main(){int a=5,i;for(i=0;i<1;i++){int a=3;printf(“%d”,a);}return 0;}程序输出结果是( )

  22. A:5
    B:3
    C:不能编译
    D:10
  23. 代码char* ch=”abcdef”;则输出*ch在控制台的结果是( )

  24. A:“ab”
    B:字符’a’的地址
    C:‘a’
    D:“abcdef”
  25. int main(){ char a[10]={'1','2','3','4','5','6','7','8','9',0},*p; int i=8, p=a+i; printf("%s\n",p-3); return 0;}以下程序的输出结果是( )

  26. A:789
    B:‘6’
    C:6789
    D:6
  27. 下列不属于C语言(C89)的数据类型是( )。

  28. A:double
    B:int
    C:bool
    D:long
  29. #include <stdio.h>char arr[5];int main(){printf("%d\n", arr[0]);return 0;} 运行程序的结果是( )

  30. A:运行出错
    B:0
    C:随机数值
    D:没有任何输出
  31. 关于C语言中的全局变量,下列描述中正确的是( )

  32. A:静态类别变量的生存周期贯穿于整个程序的运行期间
    B:未在定义语句中赋初值的auto变量和static变量的初值都是随机值
    C:函数的形参都属于全局变量
    D:全局变量的作用域一定比局部变量的作用域范围大
  33. struct Student{int age;int num;};Student stu[3] = {{1001, 20}, {1002, 19}, {1004, 20}};int main(){Student *t = stu;return 0;}若有以上程序段,不正确的使用是( )

  34. A:p++
    B:(*p).num
    C:p = &stu.age
    D:(p++)->num
  35. int a[2] = { 0,1 };int *p = &a;printf("%d", *(p++));下列程序段执行结果是( )

  36. A:有语法错误
    B:1
    C:0
  37. 字符数组a[]={“hello”}的长度是( )

  38. A:6
    B:3
    C:4
    D:5
  39. 已定义x为float型变量,x=354.12563;则对语句printf(“%-4.2f“,x);说法正确的是( )

  40. A:输出354.12
    B:输出格式描述符的域宽不够,不能输出
    C:输出-354.12
    D:输出335.13
  41. int main(){int x;scanf(“%d”,&x);printf(“%d”,5+10*x/2);return 0;}从键盘读入数据5,则以下程序运行结果为( )

  42. A:28
    B:25
    C:20
    D:30
  43. 以下关于程序中函数的定义、调用和声明的叙述中,正确的是( )

  44. A:函数的定义必须放在该函数的声明之前
    B:函数的声明必须放在该函数的定义之前
    C:函数的定义必须放在该函数的调用之前
    D:函数的声明必须放在该函数的调用之前
  45. 以下选项中,不能正确赋值的是( )

  46. A:char *s4="Ctest\n"
    B:char s3[20]="Ctest";
    C:char s2[]={'C', 't', 'e', 's', 't'};
    D:char s1[10];s1="Ctest";
  47. int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);阅读程序,正确的输出结果为( )

  48. A:0650
    B:输出值不定
    C:5430
    D:1470
  49. int main(){char cha1,cha2;cha1 = ‘A’ + 5 – 2;cha2 = ‘A’ + 8 + 5;printf(“%d , %c\n”,cha1,cha2);return 0;} 已知字母A的ASCLL码为十进制的65,则下面程序输出为( )

  50. A:68,N
    B:68,78
    C:D , N
    D:D,78
  51. 设有如下定义:struct sk{int a; float b;}data,*p;若有p=&data; 则对data中成员a的引用正确的是( )

  52. A:(*p).a
    B:p.data.a
    C:(*p).data.a
    D:p->data.a
  53. 字符串的结束标志是( )。

  54. A:0
    B:“\0”
    C:‘0’
    D:‘\0’
  55. 设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:scanf("i=%d,f=%f",&i,&f); 为了把100和765.12分别赋给i和f,则正确的输入为( )

  56. A:x=100<回车>,y=765.12<回车>
    B:i=100,f=765.12<回车>
    C:100<回车>765.12<回车>
    D:100<空格>765.12<回车>
  57. 若有定义:int a=10;,执行printf("%d",-a );语句后变量a值是( )

  58. A:10
    B:-9
    C:9
    D:-10
  59. #include <stdio.h>void swap(int a, int b){int temp = a; a= tempb = temp;}int main(){int a = 3;int b = 4;swap(a , b);printf("a = %d, b = %d\n", a, b);return 0;}运行以下程序的结果是( )

  60. A:a = %d, b = %d
    B:a = 3, b = 4
    C:运行出错
    D:a = 4, b = 3
  61. 字符串"ABC"在内存占用的字节数是( )。

  62. A:3
    B:6
    C:4
    D:8
  63. 在C语言中,关于变量的作用域,下列描述中错误的是( )

  64. A:局部变量只在整个函数的运行周期中有效
    B:全局变量的作用域为整个程序的运行周期
    C:全局变量会覆盖掉所有与它重名的局部变量
    D:当全局变量与局部变量重名时,局部变量会屏蔽掉全局变量
  65. 字符串比较的规则是( )

  66. A:将两个字符串自左向右逐个字符相比(按ASCLL码值大小比较),直到出现不同的字符
    B:比较两个字符串的个数
    C:比较两个字符串的长度
    D:将两个字符串自左向右逐个字符相比(按ASCLL码值大小比较),直到出现不同的字符或遇到“\0”为止
  67. long F(int n){if (n<=1) return n;return F(n-1)+F(n-2);}递归函数的递归体是( )

  68. A:F(n)=F(n-21)
    B:F(n)=F(n-1)
    C:F(n)=F(n-1)+F(n-2)
    D:F(n)=F(n-3)
  69. 下列说法中正确的是( )。

  70. A:在switch语句中不一定要使用break语句
    B:break语句是switch语句的一部分
    C:break只能用于switch语句中
    D:在switch语句中一定要使用break语句
  71. 字符数组就是字符串。( )

  72. A:对 B:错
  73. 作为if语句条件的表达式只能是关系表达式或者逻辑表达式。( )

  74. A:错 B:对
  75. 一个在复合语句内定义的变量,能在整个程序中引用。( )

  76. A:错 B:对
  77. 一维数组传入函数,可以先定义指针*p指向函数名再把p当做实参传入函数。( )

  78. A:错 B:对
  79. 函数定义需要开辟内存空间。( )

  80. A:错 B:对
  81. 因为数组中的元素在内存中是连续的,所以可以通过指针的移动来依次访问数组中的元素。( )

  82. A:错 B:对
  83. 结构体指针变量用于存放结构体变量的首地址,所以将指针作为函数参数传递时,其实就是传递结构体变量的首地址。( )

  84. A:错 B:对
  85. continue语句是结束本次循环,调整循环变量后继续下一次循环。( )

  86. A:错 B:对
  87. 使用完链表后,系统会自动释放链表占用的内存。( )

  88. A:对 B:错
  89. 对整形变量x,y,z均赋值6,则可以写成x=y=z=6;。( )

  90. A:错 B:对
  91. 在C语言中所有用到的变量都要先定义然后才能使用。( )

  92. A:错 B:对
  93. switch语句中case分支和default分支的个数都是任意的。( )

  94. A:错 B:对
  95. 数组属于构造类型的数据,不是基本数类型。( )

  96. A:对 B:错
  97. 编译时为字符数组分配若干个存储单元以存放各元素的值,而对字符指针变量,只分配一个存储单元。( )

  98. A:错 B:对
  99. 在同一个作用域内,局部变量会隐藏同名的全局变量。( )

  100. A:对 B:错
  101. 单目运算符--,++的运算对象可以是变量而不能是常量。( )

  102. A:对 B:错
  103. 如下定义数组int arr[] = {0};不能编译通过的。( )

  104. A:对 B:错
  105. strlen函数计算出字符串“china”的长度为6。( )

  106. A:对 B:错
  107. 在解决问题时,应该尽量避免使用递归,除非没有更好的算法或者某种特定情况,递归更为适合的时候。( )

  108. A:错 B:对
  109. 把x,y定义成基本整型变量并赋初值2,可写成:int x=y=2;( )

  110. A:错 B:对
  111. 在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等。( )

  112. A:错 B:对
  113. 在switch语句中,多个case可以共用一组执行语句。( )

  114. A:对 B:错
  115. 如下定义数组int arr[][] = {0};可以编译通过的。( )

  116. A:错 B:对
  117. 递归的本质是方法自己调用自己,只是参数不一样罢了。( )

  118. A:对 B:错
  119. 语句if(a=5) 是正确的。( )

  120. A:对 B:错
  121. 字符数组用于存放字符或字符串,字符数组中的一个元素存放一个字符,它在内存中占用两个字节。( )

  122. A:错 B:对
  123. 字符串也可以像基本数据类型一样进行比较相等的操作。( )

  124. A:错 B:对
  125. 定义一个指针变量,它可以指向任何数据类型的变量。( )

  126. A:对 B:错
  127. 全局变量的作用是增加了函数之间数据联系的渠道。( )

  128. A:对 B:错
  129. C系统在用字符数组存储字符串常量时会自动加一个‘\0’作为结束符。( )

  130. A:对 B:错

温馨提示支付 ¥5.00 元后可查看付费内容,请先翻页预览!
点赞(4) dxwkbang
返回
顶部