c语言二级理论总习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、选择题

1.在C语言中,错误的语句是 C

A.a=b=c;

B.;

C.break

D. b=3*5,a*=4;

2.设a、b、c都是int型变量,且a=3,b=4,c=5,则以下的表达式中值为0的表达式是 D A.a&&b B.a<=b C.a||b+c&&b-c D.!((a

3.以下运算符中优先级最高的运算符是 A

A. !

B. %

C. -=

D. &&

4.以下数组定义中不正确的是 A

A. int[3][]= {{1,2},{1,2,3},{1,2,3,4}};

B.int b[][3]={0,1,2,3};

C.int c[100][100]={0};

D. int a[2][3];

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

A.地址传递

B.单向值传递

C.由用户指定传递方式

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

6.以下只有当整数x为偶数时,才是逻辑“真”的表达式是 _C______

A.x%2!=0

B.!(x%2==0)

C.x==x/2*2

D. x%2

7.有如下程序段

char str[]=“ABC”,*p=str;

printf(“%d\n”,*(p+3));

则运行结果是 B

A. 67

B. 0

C.字符‘C’的地址

D. 字符‘C’

8.以下程序段的执行次数是____A_____

x=10;

do{x=x*x;}while(!x);

A.1 B. 2 C.无限次 D. 循环体将提示有语法错误

9. 以下叙述中正确的是____C_____

A.break语句只能用于switch语句体中

B.continue语句的作用是:使程序的执行流程跳出包含它的所有循环

C.break语句只能用于循环体内和switch语句体内

D.在循环体内使用break语句和continue语句的作用相同

10.以下对基类型相同的指针变量不能进行运算的运算符是 A

A.+

B.-

C.++

D.--

11.一个C语言程序是由 B

A.一个主程序和若干子程序组成

B.函数组成

C.若干过程组成

D.若干子程序组成

12. C语言中运算对象必须是整型的运算符是 A

A.%= B./

C.= D.<=

13. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为 C

A.4 B.16

C.32 D.52

14. 若有以下定义和语句,则输出结果是 D

int x=10,y=10;

printf(“%d,%d”,x--,--y);

A.10,10

B.9,9

C.9,10

D.10,9

15.执行语句“x=(a=3,b=a--)”后,x,a,b的值依次为 C 。

A.3,3,2

B.3,2,2

C.3,2,3

D.2,3,2

16.a是int类型变量,c是字符变量。下列输入语句中哪个是错误的 B

A.scanf(“%d,%c”,&a,&c);

B. scanf(“%d%c”,a,c);

C.scanf(“%d%c”,&a,&c);

D. scanf(“a=%d,c=%c”,&a,&c);

17.若有说明:int a[10];则对a数组元素的正确引用是 D

A. a[10]

B.a[3,5]

C. a(5)

D.a[10-10]

18.已知int x=12,y=3;执行下述程序段后,变量x的值是 A

do{ x/=y;}while(x>y);

A.1

B.2

C.3

D.程序运行有错误

19.有如下程序

int a[10]={1,2,3,4,5,6,7,8,9,10};

int *p=a,b;

b=*p+4;

则b的值是 A

A. 5

B. 6

C. 9

D. 8

20.设有定义:char str[]=”CHAIN”;int length=strlen(str);则length的值是C 。

A.6

B.10

C.5

D.1

21.设有定义int a=12;则表达式a+=a-=a*a运算后,a的值是 D

A.552

B.264

C.144

D.-264

22. 以下程序段的输出结果是 C 。

int x=3,y=0,z=0;

if(x=y+z) printf(“****”);

else printf(“####”);

A.不能通过编译

B.能通过编译,不能通过连接

C.####

D.****

23. 若有以下说明:

int a[12]={1,2,3,4,5,6,7,8}; char c=’a’,d,g;

则数值为4的表达式是 B 。

A.a[‘d’-‘c’] B. a[‘d’-c]

C.a[g-c] D.a[4]

24. 若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是

B 。

A. for(i=1,p=1;i<=5;i++) p*=i;

B. for(i=1;i<=5;i++){ p=1; p*=i;}

C. i=1;p=1;while(i<=5){p*=i; i++;}

D. i=1;p=1;do{p*=i; i++; }while(i<=5);

25.在C语言中,形参的默认存储类别是 A 。

A.auto

B.register

C.static

D.extern

26.以下不能正确进行字符串赋初值的语句是 A 。

A.char str[5]={“good!”};

B.char str[]=”good!”;

C.char *str=”good!”;

D.char str[5]={‘g’, ‘o’, ‘o’, ‘d’);

27.如有定义:char a[10]=”abcde”;则sizeof(a)以及strlen(a)的值为 A。

A. 10,5

B. 6,5

C. 10,6

D. 6,6

28. 以下func()函数的调用中实参的个数是 B 。

func((exp1,exp2),(exp3,exp4,exp5));

相关文档
最新文档