东南大学C++ C复习资料new

更新时间:2023-10-10 18:31:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、选择题

1. C语言规定:在一个源程序中,main函数的位置____。

A. 必须在最开始。 B. 可以任意。

C. 必须在系统调用的库函数的后面。 D. 必须在最后。

2. 以下叙述正确的是____。

A. 在C程序中,main函数必须位于程序的最前面。 B. C程序的每行中只能写一条语句。 C. C语言本身没有输入输出语句。

D. 在对一个C程序进行编译的过程中,可以发现注释中的拼写错误。 3. 一个C程序的执行是从____。

A. 本程序的第一个函数开始,到本程序main函数结束

B. 本程序的第一个函数开始,到本程序文件的最后一个函数结束 C. 本程序的main函数开始,到本程序文件的最后一个函数结束 D. 本程序的main函数开始,到main函数结束

4. 下面四个选项中,均是不合法的用户标识符的选项是____。

A. A , P_0 , do B. float , 1a0 , _A C. b-a , goto , int D. _123 , temp , INT 5. 在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列为____。

A. char

6. C语言中的标识符只能由字母、数字和下划线3中字符组成,且第一个字符____。 A. 必须为字母或下划线 B. 必须为下划线

C. 必须为字母 D. 可以是字母、数字和下划线中任一种字符 7. 在C语言中,char型数据在内存中的存储形式是____。

A. 补码 B. 反码 C. 原码 D.ASCII码 8. 若有说明语句:char c = '\\72';则变量c____。

A. 包含1个字符 B. 包含2个字符

C. 包含3个字符 D. 说明不合法,c的值不确定

9. 已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'5'-'3';之后,c2中的字符为____。

A. 67 B. ?B? C. 不确定的值 D. ?C?

10.若有说明语句:int a;char b;,以下输入函数语句正确的是____。

A. scanf(\B. scanf(\C. scanf(\D. scanf(\

11. 以下针对scanf函数的叙述中,正确的是____。 A. 输入项可以为一实型常量,如scanf(“%f”,3.5);

B. 只有格式控制,没有输入项,也能正确输入,如scanf(“a=%d,b=%d”);

C. 当输入一个实型数据时,格式控制部分必须规定小数点后的位数,如

scanf(“%4.2f”,&f);

D. 当输入数据时,必须指明变量的地址,如scanf(“%f”,&f);

12. 有定义语句:“int x, y ;”,若要通过“scanf(“%d, %d”, &x, &y ) ;”语句使变量x得到数值2,变量y得到数值6,下面四组输入形式中,错误的是____。(表示回车)

A. 2 6 B. 2, 6 C. 2,6 D. 2, 6

13. 能正确表示“x的取值在[1, 10]范围内”的表达式是____。

A. (x>1)&&(x<=10) B. (x>=1)||(x<10) C. (x>=1)&&(x<=10) D. (x>=1)||(x<=10)

14. 判断char型变量ch为大写字母的正确表达式是____。

A. 'A'<=ch<='Z' B. (ch>='A')&(ch<='Z') C. (ch>='A')&&(ch<='Z') D. ('A'<=ch)AND('Z'>=ch) 15. 设有说明语句:int x=43,y=0; char ch=?A?; 则表达式(x>=y&&ch

16. 以下程序____。

main()

{ int a=5, b=0, c=0;

if(a==b+c) printf(\else printf(\ }

A. 有语法错不能通过编译 B. 输出$$$

C. 输出*** D. 可以通过编译但不能通过连接

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

A. 缩排位置相同的if B. 其之后最近的if C. 其之前最近的if D. 同一行上的if

18. 在C语言中,紧跟在关键字if后一对圆括号里的表达式是____。 A. 只能用逻辑表达式 B. 只能用关系表达式

C. 只能用逻辑表达式或关系表达式 D. 可以是任意表达式 19. C语言中while和do-while循环的主要区别是____。

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

B. while的循环控制条件比do-while的循环控制条件严格 C. do-while允许从外部转到循环体内 D. do-while的循环体至少无条件执行一次 20. 设有程序段

int k=10;

while(k=0) k=k-1;

则下面描述中正确的是____。

A. while循环执行10次 B. 循环是无限循环

C. 循环体语句一句也不执行 D. 循环体语句执行一次 21.下面程序的运行结果是____。

#include main()

{ int a = 1, b = 6;

do { b -= a; a++; } while( b--<0);

printf(\ }

A. a=3, b=3 B. a=2, b=4 C. a=1, b=-1 D. a=4,b=2 22. 下面程序的运行结果是____。

#include main() { int y;

for(y=9;y>0;y--) { if(y%3)

{ printf(\ continue; } } }

A. 741 B.852 C. 963 D. 875421 23. 下面程序的运行结果是____。

#include main() { int i;

for(i=1;i<=5;i++)

{ if(i%2) printf (“*”);

else continue; printf(“#”); } printf(“$\\n”); }

A. *#*#*#$ B. #*#*#*$ C. *#*#$ D. #*#*$

24. 下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择填空。

#include main()

{ int a,max=0;

scanf(\while (____)

{ if(max

scanf(\ } printf(\ } A. a!=0 B. a==0 C. !a==1 D. !a

25. 下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。请选择填空。

#include main() { int n=0,c; c=getchar();

while (____)

{ if (c<=?9?&&c>=?0?) n++; c=getchar(); } }

A. c!=?\\n? B. c=?\\n? C. c= =?\\n? D. c 26. 以下对一维整型数组a的正确说明是____。 A. int a(10); B. int n=0,a[n];

C. int n; D. #define SIZE 10 scanf(“%d”,&n); int a[SIZE] int a[n];

27. 若有定义float x[3] = { 1.3, 2.4, 5.6 }, y = 6 ;,则错误的语句是____。 A. y = x[2]; B. y = x[2] + 1; C. y=x+1; D. x[0]=y; 28. 若有说明:int a[10];,则对a数组元素的正确引用是____。

A. a[10] B. a[3.5] C. a(5) D. a[9] 29. 下面程序____。(每行程序前面的数字表示行号)

1 #include 2 main() 3 {

4 int a[3]={0}; 5 int i;

6 for(i=0;i<3;i++) scanf(\7 for(i=1;i<4;i++) a[0]=a[0]+a[i]; 8 printf(\9 }

A. 第4行有错误 B. 第6行有错误 C. 第7行有错误 D. 没有错误 30. 下面程序____。(每行程序前面的数字表示行号)

1 #include 2 main() 3 {

4 float a[3]={0.0}; 5 int i;

6 for(i=0;i<3;i++) scanf(\7 for(i=1;i<3;i++) a[0]=a[0]+a[i]; 8 printf(\9 }

A. 第4行有错误 B. 第6行有错误 C. 第7行有错误 D. 没有错误 31. 下面程序中有错误的行是____。(每行程序前面的数字表示行号)

1 #include 2 main() 3 {

4 int a[3]={1}; 5 int i;

6 scanf(\

7 for(i=1;i<3;i++) a[0]=a[0]+a[i]; 8 printf(\9 }

A. 第4行有错误 B. 第6行有错误 C. 第7行有错误 D. 没有错误 32. 对两个数组a和b进行如下初始化,

char a[ ]= \

char b[ ]={ 'A', 'B', 'C', 'D', 'E', 'F'};

则以下叙述正确的是____。

A. a和b数组完全相同 B. a与b长度相同 C. a的长度比b短 D. a的长度比b长 33. 判断字符串a和b相等,应当使用____。

A. if(a==b) B. if(a=b) C. if(strcpy(a,b)) D. if(!strcmp(a,b)) 34. 下面程序段的运行结果是____。

char a[7]=\ char b[4]=\ strcpy(a,b); printf(\

A. □(□表示一个空格) B. \\0 C. a D.A 35. C语言规定,函数返回值的类型是由____。

A. return语句中的表达式类型所决定 B. 调用该函数时的主调函数类型所决定

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

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

36. 若用数组名作为函数调用的实参,传递给形参的是____。 A. 数组元素的个数 B. 数组第一个元素的值 C. 数组中全部元素的值 D. 数组的首地址

37. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是____。 A. 地址传递

B. 单向值传递

C. 由实参传递给形参,再由形参传回给实参 D. 由用户指定传递方式

38. 以下正确的函数定义形式是____。 A. int f ( int x, int y) ; B. int f ( int x; int y) {… } C. int f( int x, int y) {… } D. int f( int x, y ) { …}

39. 在C语言程序中以下正确的描述是____。

A. 函数的定义可以嵌套,但函数的调用不可以嵌套 B. 函数的定义不可以嵌套,但函数的调用可以嵌套 C. 函数的定义和函数的调用均不可以嵌套 D. 函数的定义和函数的调用均可以嵌套 40. 以下程序的运行结果是____。

#include int fun(int n) { int m=0,f=-1,i;

for(i=1;i<=n;i++) { m=m+i*f; f=-f; }

本文来源:https://www.bwwdw.com/article/g1sf.html

Top