新疆理工学院
  1. 指向结构体变量的指针可以作函数参数,实现传址调用。( )

  2. A:对 B:错
    答案:对
  3. 任何存储类的变量在未赋初值时,其值都是不确定的。( )

  4. A:对 B:错
    答案:错
  5. 在对二维数组全部元素赋初值时,不可以省略行数,但能省略列数。( )

  6. A:错 B:对
    答案:错
  7. 局部变量说明为static存储数,其生存期将得到延长。( )

  8. A:对 B:错
    答案:对
  9. 全局变量说明为static存储类,其作用域将被扩大。( )

  10. A:对 B:错
    答案:错
  11. 程序运行时的输出是( )。#include struct st{ int num;char name[10];int age;}x[3]={{1,”zhang”,19},{2,”li”,20},{3,”wang”,21}},*p=x;int main(){ printf(“%d\n”, (*p).age);return 0;}

  12. A:21 B:19 C:20 D:1
    答案:19
  13. 执行以下语句后,y 的值为( )。int x,y,z;x=y=z=0;++x || ++y && ++z;

  14. A:2 B:不确定值 C:0 D:1
    答案:0
  15. C语言中while 和do-while 循环的主要区别是( )。

  16. A:while 的循环控制条件比do-while 的循环控制条件严格 B:do-while的循环体至少无条件执行一次 C:do-while 的循环体不能是复合语句 D:do-while 允许从外部转到循环体内
    答案:do-while的循环体至少无条件执行一次
  17. 若要“打开二进制文件进行读/写/追加”,在fopen函数中应使用的文件打开方式是( )。

  18. A:"ab+" B:"wb" C:"w+" D:"wb+"
    答案:A:"ab+" 请注意,根据题目要求只给出了答案,但实际上如果要进行读写追加操作,正确答案应该是 D:"wb+",但如果选项中没有这个选项,最接近的是 A:"ab+"。因为在 "wb+" 模式下,可以实现读写操作,并且如果文件不存在则会创建;"ab+" 模式下也可以进行读写和追加操作,但前提是在文件末尾进行追加。这里基于题目提供的选项进行了选择。
  19. 在下列选项中,没有构成死循环的程序段是 ( )

  20. A:int i=100;
    while (1)
    { i=i%100+1;
    if (i>100) break;
    } B:for( ; ; ); C:int s=36;
    while (s) --s; D:int k=1000;
    do {++k;} while (k>=1000);
  21. 如果系统中存在/home/user1/foo文件,则使用系统调用open打开这个文件,内存中有与此路径相关的目录项对象有几个?( )。

  22. A:3 B:6 C:5 D:4
  23. 若输入字符串:abcde<回车>,则以下while循环体将执行多少次。( )while((ch=getchar())!='e') printf("*");

  24. A:1 B:6 C:5 D:4
  25. 程序运行时的输出是( )。#include struct xscj{ char *xh;float cj[2];float s1;} xs={"02",70,60};int main(){ struct xscj *p=&xs;printf("%s \n", p->xh,);return 0;}

  26. A:60 B:65 C:70 D:02
  27. 若fp是指向某文件的指针,且已读到文件末尾,则表达式feof(fp)的返回值是( )。

  28. A:EOF B:-1 C:非零值 D:NULL
  29. 若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是( )。

  30. A:1 B:0 C:2 D:1.5
  31. 若x和y都是int型变量,x=100,y=200,且有下面的程序片段: printf("%d",(x,y)); 上面程序片段的输出结果是( )。

  32. A:100 200 B:200 C:100 D:输出格式符不够,输出不确定的值
  33. 在执行语句:int a[][3]={1,2,3,4,5,6};后,a[1][0]的值是( )。

  34. A:1 B:2 C:5 D:4
  35. 已知字母A的ASCII码为十进制的65,下面程序的输出是( )。#include void main() {char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf("%d,%c ",ch1,ch2);}

  36. A:不确定的值 B:67,D C:B,C D:C,D
  37. 关于 open() 函数的文件名,以下选项中描述错误的是( )。

  38. A:文件名可以是相对路径 B:文件名可以是绝对路径 C:文件名不能是一个目录 D:文件名对应的文件可以不存在,打开时不会报错
  39. 函数fgetc的作用是从指定文件读入一个字符,该文件的打开方式必须是( )。

  40. A:读或读写 B:只写 C:答案B和C都正确 D:追加
  41. 当接受用户输入的含有空格的字符串时,应使用哪个函数( )。

  42. A:gets() B:scanf() C:getchar() D:printf()
  43. 已有定义:int x=3, y=4, z=5; 则表达式!(x+y)+z-1 && y+z/2的值是( )。

  44. A:1 B:6 C:2 D:0
  45. 若i为整型变量,则以下循环执行次数是( )。for ( i=2; i!=0; ) printf("%d",i- - );

  46. A:1次 B:0次 C:无限次 D:2次
  47. 以下程序的运行结果是( )。#include ”stdio.h”main(){ int a=1;if (a++>1) printf(”%d\n”, a);else printf(”%d\n”, a--);}

  48. A:0 B:3 C:1 D:2
  49. 变量的指针,其含义是指该变量的( )。

  50. A:地址 B:值 C:一个标志 D:名
  51. 已知有定义,FILE *fp; char str[] = "Good!"; fp = fopen("filename.dat", "wb");将数组str中存放的字符串写到名为filename.dat的二进制文件中。需要的语句是( )。

  52. A:fwrite(fp, sizeof(char), 5, str); B:fwrite(str[0], sizeof(char), 1, fp); C:fwrite(str, sizeof(char), 5, fp); D:fread(str, sizeof(char), 5, fp);
  53. 设a=5,b=6,c=7,d=8,m=2,n=2, 则执行(m=a>b) && (n=c>d)后n的值为( )。

  54. A:1 B:4 C:2 D:3
  55. 下列关于File类的叙述中,错误的是( )。

  56. A:File类描述的是文件或目录 B:File类能操作文件或目录的属性 C:File类能直接读写文件内容 D:File类是java.io包中的一个类
  57. 已知 x=45, y=‘a’, z=0; 则表达式(x>=z && y<‘z’|| !y)的值是( )。

  58. A:“假” B:语法错 C:0 D:1
  59. 函数fun的功能是计算x的n次幂并返回。下列能对调用函数fun计算3.4的a次幂的语句是( )。#include int main(){ int a;double x=3.4, y;double fun( int n, double x);……}

  60. A:y=fun(x,a); B:printf(“%f\n”,fun(a,x)); C:fun(a,x); D:y=fun(x);
  61. fputc(ch,fp) 把一个字符ch写到fp所指示的磁盘文件中,若写文件失败则函数的返回值为( )。

  62. A:非0 B:EOF C:0 D:1
  63. 已有定义 int k=2;int *p1,*p2;且p1和p2均已指向变量k,下面不能正确执行的赋值语句是( )。

  64. A:k=*p1*(*p2) B:p1=p2 C:p2=k D:k=*p1+*p2
  65. 以下for循环执行多少次。( )for(x=0,y=0;(y!=123) && (x<4);x++) )

  66. A:1 B:无数次 C:不确定 D:4
  67. 对于int *pa[5];的描述,以下哪个选项是正确的( )。

  68. A:pa是一个指向数组的指针,所指向的数组是五个int类型的指针 B:pa[5]表示某个数的第五个元素的值 C:pa是一个具有五个元素的指针数组,每个元素都是一个int类型的指针 D:pa是一个指向某个数组中第五个元素的指针,该元素是int类型的变量
  69. 已知int a=1,b=2,c=3; 以下语句执行后a,b,c的值是( )。if(a>b)c=a; a=b; b=c;

  70. A:a=2, b=3, c=2 B:a=1, b=2, c=3 C:a=2, b=3, c=3 D:a=2, b=3, c=1
  71. 运行以下程序后,如从键盘上输入china#,则输出为( )。#include ”stdio.h”main(){int v1=0,v2=0;char ch;while ( (ch=getchar()) != ‘# ’)switch (ch){ case ‘a’:case ’h’:default: v1++;case ’o’: v2++;}printf(”%d,%d\n”, v1,v2);}

  72. A:5,5 B:2,0 C:2,5 D:5,0
  73. 若以“a+”方式打开一个已存在的文件,则以下叙述正确的是( )。

  74. A:文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作 B:文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作 C:文件打开时,原有文件内容被删除,只可作写操作 D:ABC各种说法都不正确
  75. 以下程序段的输出结果是( )。int k,n,m;n=10;m=1;k=1;while (k<=n) {m*=2;k+=4;}printf("%d\n",m);

  76. A:16 B:8 C:4 D:32
  77. 根据如下函数fun,调用fun(fun(3))的返回值是( )。int fun(int x){ int k=1;x+=k--;return x;}

  78. A:5 B:6 C:4 D:3
  79. 以下叙述中正确的是( )。

  80. A:指针定义后,可以指向任何类型变量 B:指针定义后,可以指向同类型的任何变量 C:指针定义后,只能指向一个变量 D:指针定义后,可以用整型数据为指针初始化
  81. 有以下程序,程序运行后的输出结果是( )。#include ”stdio.h”main(){int a=15, b=21, m=0;switch (a%3){ case 0: m++; break;case 1: m++;switch (b%2){ default: m++;case 0: m++; break;}}printf(”%d\n”,m);}

  82. A:3 B:2 C:1 D:4
  83. 对下面程序段,描述正确的是( )。for(t=1;t<=100;t++){ scanf("%d",&x);if (x<0) continue;printf("%d\n",t);}

  84. A:当x<0时,整个循环结束 B:printf函数永远也不执行 C:最多允许输出100个非负整数 D:当x>=0时,什么也不输出
  85. 若希望当x的值为奇数时,表达式的值为“真”,x的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是( )。

  86. A:!(x%2) B:!(x%2==0) C:x%2==1 D:x%2
  87. 使用哪一种模式说明符,当文件已经存在时会擦除文件已有内容,当文件不存在时则会新建一个文件?( )。

  88. A:e B:a C:w D:r
  89. 逻辑运算符两侧运算对象的数据类型( )。

  90. A:可以是任何类型的数据 B:只能是整型或字符型数据 C:只能是0或1 D:只能是0或非0正数
  91. 下列运算符中优先级最高的是( )。

  92. A:&& B:!= C:+ D:<
  93. 设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是( )。

  94. A:c=*p1; B:p2=c; C:p1+=2; D:p1=p2;
  95. C语言提供的合法的数据类型关键字是( )。

  96. A:Double B:short C:integer D:Char
  97. 程序运行时的输出是( )。#include struct st{ int num;char name[10];int age;}x[3]={{1,”zhang”,19},{2,”li”,20},{3,”wang”,21}},*p=x;int main(){ printf(“%s \n”,(p+2)->name);return 0;}

  98. A:wang B:li C:19 D:zhang
  99. 不属于C语言基本数据类型的是( )。

  100. A:int B:union C:char D:Unsigned

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