1. 字符数组定义后,不能用赋值语句将一字符串常量或字符数组直接赋给它( )

  2. 答案:对
  3. . 局部变量是执行到作用域时分配空间,离开作用域时释放空间( )

  4. 答案:错
  5. 按位与&常用来对某些位清0( )

  6. 答案:对
  7. 设有定义int *p; 则p的类型是int( )

  8. 答案:错
  9. 用scanf()输入数据时,遇到非法字符即认为数据的输入结束。( )

  10. 答案:对
  11. C语言中的break语句可以用在switch语句和循环体中. ( )

  12. 答案:对
  13. 指针就是地址,地址就是指针( )

  14. 答案:错
  15. 在源文件开头和最后定义的两个全局变量,它们的作用域相同。( )

  16. 答案:错
  17. if语句中,if后面的表达式只能是关系表达式或逻辑表达式。( )

  18. 答案:错
  19. 静态局部变量若有初值,在程序运行过程中只赋一次初值,它可以保留上次使用时留下的数据。( )

  20. 答案:对
  21. c语言中,空语句表示什么都不做,因此可以省略。( )

  22. 答案:错
  23. while循环的条件满足的时候循环继续,而do-while的条件满足的时候循环就结束了. ( )
  24. 若有以下程序段: int (*p)[3];int a[][3]={1,2,3,4,5,6,7,8,9};p = a; 则能正确访问a[1][2]的选项有( )。
  25. 下面关于变量的初值等问题的说法中,正确的有( )。
  26. 设某源文件定义了一个static型的全局变量,则下面说法中正确的有( )。
  27. 关于代码FILE *fp,下面说法正确的是( )。
  28. 设有以下语句typedef struct S{ int g; char h;}*T;则下面叙述中正确的有( )。
  29. 下列选项中属于正确的字符常量的有( )。
  30. 以下叙述中错误的有( )。
  31. 若有以下程序段:char s[]="computer";char *p;p=s; 则以下叙述中错误的有( )。
  32. 下面关于if语句说法正确的有( )。
  33. 下面四个有关位运算的选项中,值不为0的表达式有( )。
  34. 以下不能正确定义二维数组的有( )。
  35. 文本文件的内容是若干字符,二进制值分别是:00110001 00110010 00100000 00110011,要将文件内容逐字节读取出来,可以用的方法有( )。
  36. C程序是由什么构成的( )。
  37. 关于return语句,下面说法中错误的是( )。
  38. 文件的二进制内容是:00001101 00001010 00000001 00000000,windows中,用”r”方式打开文件,先用fread()函数读取一个字符,再用fread()读取一个短整数,则字符是和短整数分别是( )。
  39. int a=3,b=4,c=5,d=6;printf("d%-3d%*d\n",a,b,c,d); 上面程序的运行结果是(下面选项中的u代表空格)( )。
  40. 设有下列数据定义语句: char s[4][5]={{'1', '\0'}, {"23"}, "345", "4\0"}; ,则 puts(&s[0][0]); 的输出结果是( )。
  41. 已有定义:int a=2, *p1=&a, *p2=&a; 下面不能正确执行的赋值语句是( )。
  42. 若有定义char a;int b;float c;double d;则表达式a*b+d-c值的类型为( )。
  43. 若有定义int a[4][6]; 则能正确表示a数组中任一变量a[i][j](i,j均在有效范围内)的指针的表达式是( )。
  44. 数据用什么方式读写,取决于( )。
  45. 关于while(a>b>c ){…},以下说法正确的是( )。
  46. 关于指针和指针变量,以下说法正确的是( )。
  47. 有以下程序段struct st{ int x; int *y;}*pt;int a[]={1,2},b[]={3,4};struct st c[2]={10,a,20,b};pt=c;以下选项中表达式的值为11的是( )。
  48. 查找变量定义或变量声明时,只能在变量出现的位置之前查找,遇到内层大括号时,可以进入查找。( )
  49. #include "stdio.h"int main(int argc, char *argv[]){ int m; for (m=1; m<argc ; m++) printf("%c", *argv[m]); return 0;}假定上面程序的可执行文件名为file.exe,则在该程序所在的子目录下输入命令行:file girl boy↙后,程序的输出结果是girl boy( )
  50. 如果if语句的两个分支都是给同一变量赋值,则可以不用if语句,改为在赋值语句中使用条件表达式。( )
  51. 把数字字符'1'用二进制方式写进文件,则文件的内容是00000001( )
  52. 用strcat(字符串1,字符串2)连接两个字符串时,字符串1的存储空间必须足够大。( )
  53. 执行scanf("M",&i);时,若输入123456789,则i得到的值是1234。( )
  54. 文件包含时,若把""写为<>,有可能会导致打不开被包含的文件( )
  55. 间接寻址必须使用指针( )
  56. 按位异或^可用来使某些位翻转( )
  57. 一个合法的C语言标识符只能由字母、数字和下划线组成,如:14student与_total均是合法的标识符。( )
  58. 按位或|常用来让某些位翻转( )
  59. 一个源文件必须且只能有一个主函数。( )
  60. int a[2][3]; int *p=a[0]; p++; 以上代码运行后,p指向a[1][0]( )
  61. 当main函数带有形参时,传给形参的值只能从命令行中得到( )
  62. 共用体变量可以用指针访问( )
  63. 设有定义int a,*p=&a,则p指向a的地址( )
  64. 若有定义:int b[4][6],*p,*q[4];且0≤i<4,则正确的赋值语句有( )。
  65. #include <stdio.h>int main(){ int x,t; for(t=1;t<100;t++) { scanf("%d",&x); if(x<0) continue; printf("%d\n",t); } return 0;}对上面的程序描述错误的有( )。
  66. 以下关于宏定义的四种说法中,正确的有( )。
  67. windows中把换行符写进文件,下面说法正确的有( )。
  68. C语言中while和do-while 循环的主要区别有( )。
  69. 以下选项中可以用指针变量访问的有( )。
  70. 下列关于do-whlie循环的说法中正确的有( )。
  71. 关于常量,以下说法正确的有( )。
  72. 关于逻辑运算,下面说法正确的有( )。
  73. 若不赋初值,其值为0的变量有( )。
  74. 针对字符串的不同表达方式,下面说法错误的有( )。
  75. 下面哪些情况下调用feof其返回值肯定是0?( )。
  76. 下列语句中,功能相同的语句有( )。
  77. 关于赋值运算符“=”,以下说法错误的有( )。
  78. 以下四个选项中,无论键盘怎样输入,都不能给所列变量都存入正确数据的有( )。
  79. 关于宏展开,下面四种说法中错误的有( )。
  80. 关于缓冲区,下列说法正确的有( )。
  81. int a=3;int main(){ int s=0; {int a=5;s+=a++;}; s+=a++; printf("%d,%d\n",s,a);}上面程序段的运行结果是( )。
  82. 在以下各组标识符中,均是合法的C语言标识符是( )。
  83. 设有如下定义: struct sk{ int a; float b;}data,*p;p=&data;则对data中的a域引用正确的是( )。
  84. #include <stdio.h>int main(){ int a=1,b=2; while(a<6) { b+=a; a+=2; b%=10; } printf("%d,%d\n",a,b); return 0;}上面程序的运行结果是( )。
  85. #include <string.h>#include <stdio.h>int main(){ char s[3][20]= {"2345", "123456", "2347"}; int i, k; for( k= 0, i=1; i < 3; i++) if((strcmp(s[k], s[i]))<0) k=i; puts(s[k]); return 0;}上面程序的输出结果是( )。
  86. int a=321,b=65536;printf("%ld,%hd,%c\n",a,b,a);上面程序段的运行结果是( )。
  87. C语言程序从哪开始执行?( )。
  88. #include <stdio.h>int main(){ int i; for (i=4;i<=10;i++) { if (i%3==0) continue; printf("%d",i); } return 0;}上面程序的运行结果是( )。
  89. 是否要在写文件时对00001010进行加字节的处理,取决于( )。
  90. 若有表达式(w)?(--x):(++y),则下列选项中与其等价的表达式是( )。
  91. !5和~5的值分别是( )。
  92. 若“int k=4,a=3,b=2,c=1;”,则表达式k<a?k:c<b?c:a的值是( )。
  93. 已有函数max(a,b),为了让指向函数的指针变量p指向max,正确的赋值方法是( )。
  94. 能定义一个名为a的单精度实型一维数组、长度为4、所有元素的初值不肯定都为0的语句是( )。
  95. #include<stdio.h> union utype{ short i; float f[2];}u[2];int main(){ printf("%d\n",sizeof(u)); return 0;} 以上程序的运行结果是( )。
  96. int a=2,b=2,c=2,f;f=a==b==c;上面的代码运行后,f的值是( )。
  97. 若定义函数时未写出函数类型,则( )。
  98. 以下数据定义语句中,能对a进行自增运算并且自增后有意义的是( )。
  99. 字符串存储时的结束标志是( )。
  100. 文件的二进制内容是:00000001 00000010,用fread()函数读取一个短整数,则短整数的值是( )。
  101. 代码printf("%d",12^9)的输出结果是( )。
  102. int i=3,x[4]={1, 2, 3}; 设有如上数据定义,则数组元素x[i]的值是( )。
  103. 设有以下语句:struct st{ int n; struct st *next;};static struct st a[3]={5,&a[1],7,&a[2],9,'\0'},*p;p=&a[0];则以下选项中表达式的值等于6的是( )。
  104. short a,b;long c=-1;a=65535;b=c;printf("%hd %hu",a,b);上面程序的运行结果是( )。
  105. 逗号表达式((a=3*5,a*4),a+15)的值为( )。
  106. 根据变量的存储类别将变为分为( )。
  107. 以下叙述中正确的是( )。
  108. 在main函数中定义的变量一般是全局变量( )
  109. #include "stdio.h"int main(){ char s[]="example!", *t; t=s; while( *t!='p') { printf("%c", *t-32); t++; } return 0;}上面程序段的运行结果是 EXAM ( )
  110. #include "string.h"#include "stdio.h"int main(){ char *p="abcde\\0fghjik\\0"; printf("%d\n", strlen(p)); return 0;}以上程序的运行结果是 5( )
  111. 任何用while或do-while写成的循环都可以写成for循环. ( )
  112. if语句可以嵌套,嵌套时,每个if都必须要有唯一的一个else与之配对。( )
  113. switch语句中,case和default的位置次序可以任意互换,不会影响程序的执行结果。( )
  114. stdin、stdout、stderr都是全局指针变量,类型都是FILE*( )
  115. !是按位取反运算符( )
  116. for后面的表达式可以省略,同时分号也要省略. ( )
  117. 运行代码 “int a[10]; a++;”后,指针a指向元素a[1]( )
  118. 共用体变量所占空间大小等于各成员所占空间大小之和(不考虑内存对齐规则)( )
  119. 指针就是指针变量( )
  120. 结构体变量可以用指针变量访问( )
  121. 用"w"方式打开文件,把短整型变量n=11的值以及字符变量c=‘\n’的值用fwrite()分两次写入文件,则文件的内容(二进制数)是00001011000000000000110100001010( )
  122. 设有如下的程序段:char s[]="girl", *t; t=s; 则s数组长度和t所指向的字符串的长度相等( )
  123. 逗号表达式的值等于最后一个表达式的值,因此,计算逗号表达式时,直接看最后一个表达式即可。( )
  124. 在对性能要求较高的场合,不宜采用递归,而当程序员追求程序的可读性和可管理性的时候,通常采用递归.( )
  125. 函数声明的位置必须在主调函数的函数体之内, 不可以在主调函数的函数体之外( )
  126. 函数声明和函数定义的区别是,函数定义包括函数体,而函数声明没有函数体,且后面带分号.( )
  127. 循环体可以是多条语句( )
  128. 把程序写成若干个函数,应遵循的原则有( )。
  129. 要把字节00001010写进二进制文件,可以用的方法有( )。
  130. 下列对while语句说法正确的有( )。
  131. 以下选项中可以进行初始化的有( )。
  132. 设有代码:int a,*p=&a;关于用直接寻址还是间接寻址访问a,下面说法正确的有( )。
  133. a是整型变量,能正确表示数学关系10<a<15的表达式有( )。
  134. 关于形参和实参,以下说法正确的有( )。
  135. 若有说明:int a[10];则对a 数组元素的正确引用有( )。
  136. 以下关于指针、指针变量等信息的描述,正确的有( )。
  137. 关于结构体和共用体,下面说法正确的有( )。
  138. 要想通过指针变量p访问变量a,下面代码正确的有( )。
  139. 下面关于运算符或整数运算的说法中,正确的有( )。
  140. 下面4个选项中,能从文件中读取一个字符并存入char型变量的函数有( )。
  141. 在C 语言中,引用数组元素时,其数组下标的数据类型允许是( )。
  142. 若变量已正确定义为int型,要通过语句“scanf("%d,%d,%d",&a,&b,&c);”给a赋值1,给b赋值2,给c赋值3,以下输入形式中正确的有(μ代表一个空格符)( )。
  143. 主函数中定义了变量a,想在被调函数sub中使用,关于如何传递参数,下面说法正确的有( )。
  144. 若有说明语句:char s[]="it is a example.", *t="this is a sample.";则以下叙述中正确的有( )。
  145. 下面哪些类型的数据,是用补码存储的值?( )。
  146. 下面四个有关位运算的选项中,值为0的表达式有( )。
  147. 假设有如下的定义:struct Student{ int n; char c[10]; float f;}rec,*p=&rec;以下4个输入语句中,正确的有( )。
  148. #include <stdio.h>int main(){ int a[]= {1, 2, 3, 4, 5}, i; for(i=1; i<5; i++) printf("", a[i]-a[i-1]); return 0;}上面程序的输出结果是 ( )。
  149. 下列数组定义语句中,错误的是( )。
  150. 设有定义int a=1,b=2;以下选项中不正确的语句是( )。
  151. 关于函数声明,下面说法错误的是( )。
  152. 以下语句中错误的是( )。
  153. int n=3,x;x=n++;上面程序段执行后,x的值是( )。
  154. 设有定义int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是( )。
  155. 下面哪种情况下feof函数返回非零值?( )。
  156. 关于函数的参数,下面说法正确的是( )。
  157. 设整数也只用一个字节存储,则整数1与字符‘1’在内存中的存储形式分别是( )。
  158. 若有定义:int (*p)[4]; 则标识符p( )。
  159. int test(){ int x=0 ; static int y=5 ; y+=++x ; return x+y ;}int main(){ test(); printf("%d\n",test()) ; return 0;}上面程序段的运行结果是( )。
  160. int a,b;short c=32767,d=-1;char e='A';a=c;b=d;c=e;printf("%d %d %hd",a,b,c);上面程序段的运行结果是( )。
  161. x=y=z=1;t=++x||++y&&++z;设x、y、z、t都是int型变量,上面程序段执行后,t的值是( )。
  162. 关于函数调用,下面说法正确的是( )。
  163. 设有定义#define N 2+1则N代表( )。
  164. 表达式9||12和9|12的值分别是( )。
  165. 若有定义: struct Student{ int age; int score;}a; 要给a同学存入一个年龄20,正确的写法是( )。
  166. #include<stdio.h>int main(){    …………//这里需要添加语句。    return 0;}已知字符A对应的ASCII码为65,则上面程序,添加下列哪个语句段, 能够使程序正确输出字符A( )。
  167. 要定义指针变量p并使之指向变量a,下面代码正确的是( )。
  168. int a=1,b=2,c=3,d=4,m=2,n=2;if((m=a>b)&&(n=c>d));else printf("%d,%d",m,n); 上面程序段的运行结果是( )。
  169. #include <stdio.h>#include <string.h>int main(){ char *s="ABCDE"; s+=2 ; printf("%c",*s); return 0;}上面程序段的输出结果是( )。
  170. 在内存的栈区(动态存储区)分配空间的是( )。
  171. C语言源程序的扩展名是( )。
  172. 已有定义:int k=2;int *ptr1,*ptr2;且ptr1和ptr2均已指向变量k,下面不能正确执行的表达式是( )。
  173. 若有程序段:int a[2][3],(*p)[3]; p=a; 则对a数组元素的正确引用是( )。
  174. 若有定义:int a[5],*p=a; 则以下选项中属于a数组元素指针的是( )。
  175. 在一个源文件中,若要定义一个只允许本源文件使用的全局变量,则该变量的存储类别应是( )。
  176. while (a){ if (b) continue; c;}与上面程序段等价的是( )。
  177. #include<stdio.h>int main(){ int a=1,b=2; for(b+=a;a<5;a++) a+=2; printf("%d,%d\n",a,b); return 0;}上面程序的运行结果是( )。
  178. 若已定义char s[10];则在下面表达式中不能表示s[1]的指针的是( )。
  179. 设有代码:int a=10,*p=&a;printf("%d",++*p);以上程序段的输出结果是( )。
  180. #include<stdio.h>int main(){ int x[5]= {2,4,6,8,10}, *p, **pp; p=x , pp = &p ; printf("%d",*(p++)); printf("=",**pp); return 0;}上面程序的运行结果是( )。
  181. 以下与int *q[5]; 等价的定义语句是( )。
  182. 表达式9&&12和9&12的值分别是( )。
  183. 要定义一个函数用来输出三行字符信息,函数的类型一般应定义为( )。
  184. 不能定义一个名为"s"的字符型数组且赋初值为字符串"123"的语句是( )。
  185. 设有如下说明typedef struct ST{ long a; int b; char c[2];}NEW;则下面叙述中正确的是( )。
  186. float x=3.1415926, y=6.2831853;double z=12.3456789;printf("_,%.5f,%5.5f\n",x,y,z); 上面程序段的运行结果是( )。
  187. 程序编译连接后显示" 0 error,0 warning" 代表( )。
  188. 曾经,用fwrite函数(该函数用二进制方式写数据)向文件中写了一个整数,今欲将其读取出来,关于用什么方式打开文件,下面说法正确的是( )。
  189. 文本文件中只存有一个字符‘A',要将它读出来,下面说法正确的是( )。
  190. 文件的二进制内容是:00001101 00001010 00110010 00100000,windows中,用"r"方式打开文件,用fscanf(fp,"%c%hd",&c,&n)函数读取一个字符和一个短整数,则字符和短整数分别是( )。
  191. 文件的二进制内容是:00110001 00100000,用fscanf(fp,"%d",&x)或fread(&x,2,1,fp)读取一个短整数,则用此两种函数读出来的结果分别是( )。
  192. 标准函数fgets(s, n, f )的功能是( )。
  193. 关于读写位置指针,下面四种说法中正确的是( )。
  194. 以下关于文件操作的说法中,正确的是( )。
  195. 假设所有用到的函数都能正确执行,则下面说法正确的是( )。
  196. 缓冲文件系统中,使用下面哪类文件或设备不需要程序员打开和关闭?( )。
  197. 下列四种打开文件的方式中,能删除原文件(已有文件)内容的是( )。
  198. 关于在缓冲文件系统中打开文件,下面说法正确的是( )。
  199. 关于C语言中的文件系统,下面说法错误的是( )。
  200. windows中,用"w"方式打开文件,把短整型变量n=10的值以及字符变量c='\\n'的值用fwrite()分两次写入文件,则文件的内容(二进制数)是( )。
  201. 关于打开文件,下面说法错误的是( )。
  202. 关于取反运算,下面说法正确的是( )。
  203. 若有代码:int a=11,b=2,c;c=(a>>2)|(b<<1);则代码执行后c的值为( )。
  204. 若有定义:int a=20,b=28,C;则执行语句C=(a&b)>>2; 后C的值为( )。
  205. 若有定义:int x=3, y=4;则表达式x^~y的值为( )。
  206. 表达式7^16的值是( )。
  207. 若有定义:int x=3, y=4; 则表达式!x|y的值为( )。
  208. int main() { char x=040; printf("%d\n",x=(x<<1)); return 0; } 以上程序的输出结果是( )。
  209. 表达式7&&8和7&8的值分别是( )。
  210. char a=3,b=6,c;c=a^b<<2;以上程序执行后c的二进制值是( )。
  211. 表达式7||8和7|8的值分别是( )。
  212. #include<stdio.h>union utype{ int i; float f;}u[2];int main(){ printf("%d\n",sizeof(u)) ; return 0;}在VC环境下上面程序的运行结果是( )。
  213. 设有以下定义语句struct student{ int num; char name[8]; float score;}a[2];则在VC环境下数组a所占内存的字节数是( )。
  214. 设有以下语句typedef struct S{ int g; char h;}T;则下面叙述中正确的是( )。
  215. 关于typedef,以下叙述中错误的是( )。
  216. union U{ short a; char b[4];}u;u.b[0]=2; u.b[1]=1;u.b[2]=3;printf("%hd\n",u.a);VC中,上面程序的执行结果是( )。
  217. 假设有如下的定义:struct{ int n; char c; float f;}rec;则以下各个输入语句中,正确的是( )。
  218. 以下对共用体类型数据的描述中,错误的是( )。
  219. union{ short m; char a[8];}a,*p=&a; a.m=100;a.a[0]='A’;p->a[1]=1;printf("%d,%d",sizeof(a),a.m); 上面程序的运行结果是( )。
  220. 有以下说明和定义语句struct student{ int age; char num[8];};struct student stu[3]={{20,"200401"},{21,"200402"},{19,"200403"}};struct student *p=stu;则以下选项中引用结构体变量成员错误的是( )。
  221. 若有以下程序段:struct st{ int n; int *m;};int a=2,b=3,c=5;struct st s[3]=({101,&a},{102,&b},{103,&c});int main(){ struct st *p; p=s; ...}则以下表达式中值为5的是( )。
  222. 下列对结构类型变量不正确的定义是( )。
  223. struct person { char name[9]; int age;};struct person class[10]={"John",17, "Paul",19,"Mary",18, "Adam",16};根据上面的定义,能打印出字母M的语句是( )。
  224. int main(){ struct cmplx { int x; int y; } cnum[2]={1,3,2,7}; printf("%d\n",cnum[0].y /cnum[0].x * cnum[1].x); return 0;}上面程序的输出结果是( )。
  225. 设有以下定义语句:struct student{ int num; char name[10]; float score;}wang,zhang;则变量wang所占的内存字节数(注:在VC环境下要考虑内存对齐规则)是( )。
  226. #include <stdio.h>struct abc{ int a,b,c;};int main() { struct abc s[2]={{1,2,3},{4,5,6}}; int t; t=s[0].a+s[1].b; printf("%d\n",t); return 0;}上面程序的输出结果是( )。
  227. 下面选项中属于函数指针的是( )。
  228. 若有以下函数首部 int fun(double x[10], int *n)则下面针对此函数的函数声明语句中正确的是( )。
  229. int main(){ char a; char *str=&a; strcpy(str,"hello"); printf(str); return 0;}上面程序的运行结果是( )。
  230. 对于语句int *pa[5]; 下列描述中正确的是( )。
  231. 若有函数max(a,b),并且已使函数指针变量p指向函数max,当调用该函数时,正确的调用方法是( )。
  232. 设变量p1和p2指向同一个字符串的首字母,c为字符变量,则以下不能正确执行的赋值语句是( )。
  233. 若有代码: char a[ ]="It is mine"; char *p="It is mine"; 则以下错误的叙述是( )。
  234. 若有int **pp;int *p,a=1;p=&a; 则能使pp指向变量p的代码是( )。
  235. 若有定义:int a[2][3]; 则属于a数组的第i行j列元素的指针的表达式是( )。
  236. #include <stdio.h>#include <string.h>int main(){ char *s1="AbDeG"; char *s2="AbdEg"; s1+=2; s2+=2; printf("%d\n",strcmp(s1,s2)); return 0;}上面程序的运行结果是一个( )。
  237. 若有以下代码:int c[4][5],(*p)[5];p=c; 则能正确引用下标变量的是( )。
  238. char *s="abcde"; s+=2; printf("%d",s);上面程序段的输出结果是( )。
  239. 以下四个程序段中,能正确执行的是( )。
  240. 已定义以下函数 int *fun (int *p){ return p;}该函数的返回值是( )。
  241. 设已有定义: char *st="how are you"; 则下列程序段中能正确执行不越界的是( )。
  242. 有以下定义char a[10],*b=a;则不能给数组a输入字符串的语句是( )。
  243. #include <stdio.h>int main(){ char a[ ]="programming",b[ ]="language"; char *p1,*p2; int i; p1=a; p2=b; for(i=0; i<7; i++) if(*(p1+i)==*(p2+i)) printf("%c",*(p1+i)); return 0;}上面程序输出结果是( )。
  244. 若有定义int a[7],*p=a; 则p+5表示( )。
  245. #include <stdio.h>int main(){ int x[ ] = {10, 20, 30}; int *px = x; printf("%d,", ++*px); printf("%d,", *px); px = x; printf("%d,", (*px)++); printf("%d,", *px); px = x; printf("%d,", *px++); printf("%d,", *px); px = x; printf("%d,", *++px); printf("%d\n", *px); return 0;}上面程序运行后的输出结果是( )。
  246. 设已有定义: int a[10]={15,12,7,31,47,20,16,28,13,19},*p; 则下列语句中正确的是( )。
  247. #include <stdio.h>int main(){ int arr[ ]= {6,7,8,9,10}; int *ptr; ptr=arr; *(ptr+2)+=2; printf ("%d,%d\n",*ptr,*(ptr+2)); return 0;} 上面程序的运行结果为( )。
  248. 若有定义int a[5],*p=a; 则对a数组元素的正确引用是( )。
  249. 有以下程序段 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[5];执行后b中的值是( )。
  250. 若有语句int *point,a=4;和point=&a;下面均代表指针的一组选项是( )。
  251. 若有如下定义:char x[]="abcdefg"; char y[]={'a', 'b', 'c', 'd', 'e','f', 'g'};,则正确的叙述为:( )。
  252. 若有定义int a[3][4]; 则能输入其第3行第2列元素(这是生活中计数方式)的正确语句为( )。
  253. 若有语句:char s1[10], s2[10]="books";,则能将字符串books存入数组s1的语句是( )。
  254. 设有定义:char s[12]="string"; 则printf("%d,%d",strlen(s),sizeof(s));的输出结果是( )。
  255. 语句printf("%d\n", strlen("school"));的输出结果是( )。
  256. 若想定义一个名为s且初值为字符串"123"的字符数组,则下列定义错误的是( )。
  257. 关于数组,下列描述中不正确的是( )。
  258. 语句strcat(strcpy(str1,str2),str3);的功能是( )。
  259. 若二维数组y有m列,则排在y[i][j]前的变量个数为( )。
  260. 若有定义:int a[2][4];,则引用下标变量正确的是( )。
  261. #include <stdio.h>int main(){ int b[3][3]= {0,1,2,0,1,2,0,1,2},i,j,t=0; for(i=0; i<3; i++) for(j=i; j<=i; j++) t=t+b[i][b[j][j]]; printf("%d\n",t); return 0;}上面程序的输出结果是( )。
  262. 以下对二维数组的定义中,正确的是( )。
  263. 以下对一维数组的定义中,不正确的是( )。
  264. 以下对一维数组a的定义中,正确的是( )。
  265. 若有定义:int aa[8];,则不能代表数组元素aa[1]地址的是( )。
  266. #include <stdio.h>int main(){ int m[ ][3]= {1,4,7,2,5,8,3,6,9}; int i,j,k=2; for(i=0; i<3; i++) { printf("%d ",m[k][i]); } return 0;}上面程序的运行结果是( )。
  267. #include <stdio.h>int main(){ 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]);return 0;}上面程序的运行结果是( )。
  268. 假定一个int型变量占用两个字节,若有定义:int x[10]={0,2,4}; 则数组x在内存中所占字节数是( )。
  269. 下面四段程序中,能正确输出变量a的值的是( )。
  270. 要定义两个指针变量,下面代码正确的是( )。
  271. 若有定义:int *p;则以下说法正确的是( )。
  272. 关于直接寻址和间接寻址,下面说法错误的是( )。
  273. 若有定义int x,*p;则能使p指向x的表达式是( )。
  274. 若有定义:int a=511, *b=&a;则printf("%d\n", *b)的输出结果为( )。
  275. 若有定义:int *p, a=1, b;则以下正确的程序段是( )。
  276. 关于指针变量的属性以及它是否占用内存空间,下面说法正确的是( )。
  277. 关于指针和指针变量,下面说法正确的是( )。
  278. 关于指针变量指向哪里,下面说法正确的是( )。
  279. 若有定义#define M(n) a=n*2int a;则printf("%d",M(5+1)*3)的输出结果是( )。
  280. 有一种方法可以避免一个文件的内容被包含两次或以上,该方法除了文件包含命令外,还需要使用( )。
  281. 设有宏定义#define PI 3.14159在宏展开时,3.14159会被认为是( )。
  282. 若有宏定义#define N 2+1则printf("%d",N*(N+1))的输出结果是( )。
  283. 关于宏展开,下面说法错误的是( )。
  284. 关于宏定义,下面说法正确的是( )。
  285. 关于文件包含,下面说法错误的是( )。
  286. 文件包含命令中用<>包括被包含的文件,表示( )。
  287. 文件包含时,可以用<>也可以用""将被包含文件括起来,关于这两种包含方式,下面说法正确的是( )。
  288. 下面关于条件编译的说法,正确的是( )。
  289. int fac (int n){ static int f=1; f*=n; return f;}int main(){ int i,n; for(i=1;i<=5;i++) n=fac(i); printf("%d",n); return 0;} 上面程序的运行结果是( )。
  290. 允许在其它源文件中使用的是( )。
  291. 根据变量的作用域可将变量分为( )。
  292. 在程序运行过程中不占内存空间的变量是( )。
  293. 全局变量和局部静态变量分配空间的时机是( )。
  294. #include<stdio.h>int a=2,b=3;int max(int a,int b){ int c; c=a>b?a:b; printf("%d",c); return c;}int main(){ int a=4; max(a,b); printf("%d",max(a,b)); return 0;}上面程序的运行结果是( )。
  295. 若在一个函数的复合语句中定义了一个变量,则该变量( )。
  296. 在函数体中定义的局部变量,其作用范围是( )。
  297. 定义局部变量时不指定存储类型,则其存储类型是( )。
  298. 定义了一个变量但未赋初值,关于它的初值,下面说法正确的是( )。
  299. 某源文件中定义了一个全局变量,其作用范围是( )。
  300. 若全局变量定义时未规定属性,则它的属性是( )。
  301. 关于全局变量的生存期,下面说法正确的是( )。
  302. 关于静态局部变量,正确的说法是( )。
  303. 关于函数的形参,下列说法正确的是( )。
  304. 函数中没有return语句,则下面说法中正确的是( )。
  305. #include<stdio.h>int fun(int n){ if(n==1) return 1; else return(n+fun(n-1)); }int main(){ int x; scanf("%d",&x); x=fun(x); printf("%d",x); return 0;}若程序运行时键盘输入10,则上面程序的运行结果是( )。
  306. 若定义函数时不写返回值的类型,则函数值的类型是( )。
  307. #include<stdio.h>long fib(int g){ switch(g) { case 0:return 0; case 1: case 2:return 1; } return ___________;}int main(){ long k; k=fib(7); printf("k=%ld\n",k);}上面的程序是用递归的方法求菲波拉契数列1、1、2、3、5、8……第7项fib(7),横线处所缺的代码是( )。
  308. 有以下函数定义:void fun(int n,double x) {…} ,若以下选项中的变量都已经正确定义且赋值,则对函数fun的正确调用语句是( )。
  309. 下面对于函数的描述中,正确的是( )。
  310. 关于实参和形参占用内存空间问题,以下说法正确的是( )。
  311. 以下函数声明中正确的是( )。
  312. #include<stdio.h>void f(int x){ }int main(){ int a=1; f(a); return 0;}对于上面的程序, 以下说法正确的是( )。
  313. 关于实参和形参,以下说法中不正确的是( )。
  314. #include <stdio.h>int a=1, b=2;void swap( int c,int d){ int t;t=a; a=b; b=t;t=c;c=d;d=t;}int main(){ int c,d;scanf("%d,%d", &c, &d); swap(c,d ); printf ("%d, %d,%d,%d\n",a,b,c,d); return 0;}假设用户输入5,3,则上面程序的运行结果是( )。
  315. fun(float x){ float y; long z; y=x*x; z=(long)y; return(z);}上面fun函数的类型是( )。
  316. #include<stdio.h>void fun (int a,int b){ int t;a=456;b=567;t=a, a=b, b=t;}int main(){ int x=10, y=20; fun (x,y); printf("%d,%d\n",x,y); return 0;}上面程序的运行结果是( )。
  317. #include<stdio.h>int main(){ int i=1,n=1; for( ;i<3;i++) { continue; n=n+i; } printf("%d",n); return 0;}上面程序运行后,变量n的值为( )。
  318. #include<stdio.h>int main(){ int x=012; do printf("%d",x--); while(--x); return 0;}上面程序的运行结果是( )。
  319. #include<stdio.h>int main(){ int s=0,i=5; while(s+=i,i-=2) printf("%d",s); return 0;}上面程序的运行时,循环的执行次数是( )。
  320. #include<stdio.h>int main(){ int x,s; for(x=0,s=0;x<=10;x++) { if(x%3==0) continue; else { if(x%4==0) continue; else s+=x; if(s%5==0) break; } } printf("%d",s); return 0;}上面程序的运行结果是( )。
  321. 有关for语句中,正确的是( )。
  322. #include<stdio.h>int main(){ int i,j; for(i=3;i>=1;i--) { for(j=1;j<=2;j++) printf("%d",i+j); 7题 printf(" "); } return 0;}上面程序的运行结果是( )。
  323. #include<stdio.h>int main(){ int x,s=0; for(x=1;x<=5;x++){ switch(x%3){ case 0: default:s+=3; 格式不对 case 1:s+=1;break; case 2:s+=2; } } printf("%d",s); return 0;}上面程序的运行结果是( )。
  324. 关于do-while循环, 以下叙述正确的是( )。
  325. #include<stdio.h>int main(){ int i=10,x=0; for( ;i<10;i++) x=x+i; printf("%d",x); return 0;}上面程序运行后,循环体运行的次数为( )。
  326. 关于while语句,错误的说法是( )。
  327. 关于循环的控制,以下说法正确的是( )。
  328. 设变量已正确定义,下面程序中能计算f=n!的是( )。
  329. 以下不是死循环的选项是( )。
  330. #include<stdio.h>int main(){ int x,i; for(x=3;x<=100;x++){ if(x%2==0) _____; for(i=2;i<=x-1;i++) if(x%i==0) _____; if(i==x) printf("%d",x); } return 0;}上面程序的功能是找出3~100间的素数,程序中所缺的两处应为( )。
  331. 对于整型变量x,与while(!x)等价的是( )。
  332. 以下程序段中,与语句: k=a>b?(b>c?1:0):0;功能相同的是( )。
  333. 1. #include <stdio.h>2. int main()3. {4. int m;5. printf("Input m: ");6. scanf("%d", &m); //输入一个整数7. if (m > 0) //是否为正数8. {9. if (m % 2 == 0) //是正数,且能被2整除,则是正偶数10. {11. printf("%d is a positive even\n", m);12. }13. else //不能被2整除,则是正奇数14. {15. printf("%d is a positive odd\n", m);16. }17. }18. 19. _______________ //判断是否为负数20. 21. {22. _______________23. 24. {25. printf("%d is a negative even\n", m); //是负偶数26. }27. else28. {29. printf("%d is a negative odd\n", m); //是负奇数30. }31. }32. else33. {34. printf("%d is zero.It is an even\n", m); 35. }36. return 0;37. }上面程序代码的功能是判断输入整数的正负性和奇偶性,能将代码补充完整且正确的选项是( )。
  334. int x=1,a=0,b=0;switch(x){ case 0:b++; case 1:a++; case 2:a++;b++;}上面程序段执行后,a,b的值分别是( )。
  335. int x=1,y=2,z=3;switch(x=1){ case 1: switch(y==2){ case 1:printf("*");break; case 2:printf("%");break; } case 0: switch(z){ case 1:printf("$");break; case 2:printf("&");break; default:printf("#"); }}上面程序段的运行结果是( )。
  336. int x,y;scanf("%d%d",&x,&y);if(x>y) x=y;y=x;else x++;y++;printf("%d,%d",x,y);关于上面程序段,下列说法正确的是( )。
  337. int a=2,b=-1,c=2;if(a<b)if(b<0) c=0;else c++;上面的程序段执行后,c的值是( )。
  338. int x=10,y=20,z=30;if(x>y) z=x;x=y;y=z;上面代码段执行后,x,y,z的值是( )。
  339. int w='b',x=14,y=15;w=((x||y)&&(w<'a'));执行上面程序段后,w的值为( )。
  340. #include <stdio.h> int main ( ){ int a=1,b=2,m=0,n=0,k; k=(n=b>a)||(m=a<b); printf ("%d,%d",k,m); return 0; }上面程序的运行结果是( )。
  341. 以下是if语句的基本形式:if(表达式) 语句其中“表达式”( )。
  342. if((x=y=2)>=x&&x=5) y*=x;上面程序段执行后,整型变量x、y的值分别是( )。
  343. int a=3,b=2,c=1,f;f=a>b>c;上面程序段执行后,f的值是( )。
  344. 逻辑运算符中,运算优先级按从高到低正确排序的是( )。
  345. 以下四个选项中,执行完程序段后y的值不为3的是( )。
  346. 若有表达式(!w)?(--x):(++y),则下列选项中与其等价的表达式是( )。
  347. int a;char b;float c;scanf("%d%c%f",&a,&b,&c);若上面程序段运行时键盘输入的字符序列为2223a123o.12,则a、b、c的值分别是( )。
  348. int i;float f;scanf("i=%d,f=%f",&a,&f);上面程序段准备把10和5.12分别存给i和f,则正确的输入应是( )。
  349. char x=0xffff;printf("%d\n",x--);上面程序段的运行结果是( )。
  350. 要从键盘给两个整型变量a、b输入数据,输入格式是1,2<Enter>,能完成此任务的代码是( )。
  351. 想通过代码“scanf("%d%d,%d",&a,&b,&c);”把1、2、3分别存入3个整型变量a、b、c,则正确的键盘输入应该是( )。
  352. a、b、c都是整型变量,用“scanf("%d - %*2d %d",&a,&b,&c);”给3个变量输入数据,设输入格式是12 34 56 78<Enter>,则3个变量的值分别是( )。
  353. char c1='1',c2='2';c1=getchar();c2=getchar();上面的程序段运行时从键盘输入a<Enter>,则正确的叙述是( )。
  354. 以下不属于格式控制字符的是( )。
  355. 关于putchar()的说法正确的是( )。
  356. 关于格式控制字符串%-m.ns,正确的说法是( )。
  357. double d;float f;long l;int i;i=f=l=d=20/3;printf("%d,,%.1f,%.1f,",i,l,f,d);上面程序段的运行结果是( )。
  358. unsigned a=65535;printf("%d,%o,%x",a,a,a);TC中整型变量占2个字节,则上面程序段的运行结果是( )。
  359. 关于算术运算,下面四个说法中正确的是( )。
  360. 表达式('A'+0.32f)计算结果的类型是( )。
  361. 设a、b都是int型变量,则表达式(a=1, a+=1, b=a, b*2, a+b)的值是( )。
  362. char a='1',b='2';printf("%c,",b++);printf("%d\n",b-a);数字0的ASCII码是48,上面程序段的运行结果是( )。
  363. 参与运算的对象必须是整数的运算符是( )。
  364. 若有定义int a=10,c=2; const int b=5;则正确的赋值表达式是( )。
  365. 设有数据定义char c1=65,c2=66;int a1=1,a2=2;float x1=1.1, x2=2.2;则下面四个选项中,系统不进行类型转换就能直接运算的是( )。
  366. int x=10,y=3;printf("%d,%d\n",x--,--y);上面程序段的运行结果是( )。
  367. 字符串"ab\108g"在内存中占的字节数是( )。
  368. 关于表达式a*=b+c,下面说法正确的是( )。
  369. 设整数和实数的大小都不超过各自变量的存储范围,下面4种说法中,正确的是( )。
  370. 下面4个选项中,能使符号常量代表3的定义是( )。
  371. 下面选项中,属于合法的字符常量的是( )。
  372. 以下哪个选项中是合法的用户自定义标识符?( )。
  373. 能正确定义3个变量并为它们赋初值5的是( )。
  374. 关于字符串"CHINA",下面说法正确的是( )。
  375. c是字符变量,关于语句“c='A'+'6'-3;”,下面说法正确的是( )。
  376. 下面4个选项中,均不是合法浮点数的选项是( )。
  377. 下面几组代码中正确的是( )。
  378. 下面4个选项中,全部都是合法整型常量的是( )。
  379. 以下四个程序中,完全正确的是( )。
  380. 计算机能直接执行的文件是( )。
  381. 在函数体中,关于数据定义语句和非数据定义语句(即执行语句)的位置,下面说法正确的是( )。
  382. C语言属于以下程序设计语言的哪个类别?( )。
  383. 下列选项中,属于多行注释的是( )。
  384. 在C语言程序中( )。
  385. C语言源程序中一般可以包含几个函数?( )。
  386. 关于C语言,以下描述中错误的是( )。
  387. 程序的运行结果不正确,这种错误属于( )。
  388. 一个C程序可能出现的错误有( )。
温馨提示支付 ¥5.00 元后可查看付费内容,请先翻页预览!
点赞(3) dxwkbang
返回
顶部