软件技术C语言基础知识练习题(含答案).docxVIP

  • 0
  • 0
  • 约6.99千字
  • 约 13页
  • 2026-01-27 发布于山东
  • 举报

软件技术C语言基础知识练习题(含答案).docx

软件技术C语言基础知识练习题

第一部分单选题(50题)

1、以下if语句中,条件表达式正确的是?()

A.if(x=5)printf(yes);

B.if(x==5)printf(yes);

C.if(x=5;)printf(yes);

D.if(x==5;)printf(yes);

【答案】:答案解析:if条件需是判断表达式(==),A是赋值,C、D多加分号,故选B。

2、以下循环语句中,语法正确的是?()

A.while(i5){printf(%d,i);i++;}

B.while(i5)printf(%d,i);i++;

C.do{printf(%d,i);i++;}while(i5)

D.for(i=0;i5)printf(%d,i);

【答案】:答案解析:B中i++在循环体外(循环无限),C缺少分号,D缺少更新表达式,A语法正确,故选A。

3、以下关于函数递归的说法错误的是?()

A.必须有终止条件

B.可能导致栈溢出

C.效率比循环高

D.代码简洁

【答案】:答案解析:递归调用会创建栈帧,效率低于循环,A、B、D正确,C错误,故选C。

4、若inta[5]={10,20,30,40,50};则a[2]的值是?()

A.10

B.20

C.30

D.40

【答案】:答案解析:数组下标从0开始,a[2]是第三个元素30,故选C。

5、函数声明的作用是?()

A.告诉编译器函数的存在

B.实现函数功能

C.分配函数内存

D.调用函数

【答案】:答案解析:函数声明用于向编译器说明函数名、参数、返回类型(确保调用正确),定义才是实现功能,故选A。

6、函数调用时,实参和形参的个数必须?()

A.相等

B.实参多于形参

C.形参多于实参

D.无要求

【答案】:答案解析:函数调用时实参和形参个数、类型需匹配,否则编译错误,故选A。

7、以下哪个是C语言的循环语句?()

A.if

B.for

C.else

D.switch

【答案】:答案解析:C语言循环语句包括for、while、do-while,if/else是选择语句,switch是多分支选择语句,故选B。

8、以下字符串数组定义正确的是?()

A.charstr[5][10]={hello,world};

B.charstr[5][]={hello,world};

C.charstr[][10]={hello,world,!};

D.charstr[5][10]={hello,world,!};

【答案】:答案解析:B第二维不能省略,A、C、D均正确?D最完整(5行10列,初始化3个字符串),故选D。

9、若charstr[10];执行strcpy(str,hello);后str的长度是?()

A.5

B.6

C.10

D.不确定

【答案】:答案解析:strcpy复制字符串hello(含\0),长度为5(不含\0),故选A。

10、以下哪个运算符的优先级最高?()

A.+

B.*

C.=

D.==

【答案】:答案解析:算术运算符中*(乘)优先级高于+(加),赋值(=)和关系(==)优先级更低,故选B。

11、以下if语句的语法正确的是?()

A.if(x0){printf(a);elseprintf(b);}

B.if(x0)printf(a);else{printf(b);}

C.if(x0)printf(a);elseprintf(b);}

D.if(x0){printf(a);}elseprintf(b);}

【答案】:答案解析:A缺少},C多},D多},B语法正确(else后{}可加可不加),故选B。

12、若inta[5]={1,2,3,4,5},p=a;执行p+=2;后p的值是?()

A.2

B.3

C.4

D.5

【答案】:答案解析:p+=2使p指向a[2],*p=3,故选B。

13、do-while循环中,循环体至少执行几次?()

A.0次

B.1次

C.2次

D.不确定

【答案】:答案解析:do-while“先执行后判断”,无论条件是否满足,循环体至少执行一次,故选B。

14、若inta=3;执行a+=aa;后a的值是?()

A.12

B.6

C.9

D.15

【答案】:答案解析:优先级先乘后加,a+=aa等价于a=a+(aa)=3+(33)=12,故选A。

15、若intx=3,y=5;执行if(xy)printf(x大);elseif(x==y)printf(相等);elseprintf(y大);输出结果是?()

A.x大

B.相等

C.y大

D.无输出

【答案】:答案解析:x=3y=5,执行else,输出y大,故选C。

16、以

文档评论(0)

1亿VIP精品文档

相关文档