C语言专升本真题(基础题).docxVIP

  • 1
  • 0
  • 约6.34千字
  • 约 13页
  • 2026-01-30 发布于山东
  • 举报

C语言专升本真题

第一部分单选题(50题)

1、以下if-else语句中,代码块正确的是?()

A.if(x0)printf(a);printf(b);elseprintf(c);

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

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

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

【答案】:答案解析:else需与最近的if匹配,A、C、D中else前有独立printf,语法错误,B用{}包裹代码块正确,故选B。

2、以下switch语句中,正确使用字符常量的是?()

A.switch(c){caseA:printf(A);break;}

B.switch(c){caseA:printf(A);break;}

C.switch(c){caseA:printf(A);break;}

D.switch(c){casea:b:printf(ab);break;}

【答案】:答案解析:字符常量用单引号,B是标识符,C是字符串,D语法错误(多个case需分开),故选A。

3、若floatf=5.9;强制转换为整型的表达式是?()

A.int(f)

B.(int)f

C.intf

D.(float)f

【答案】:答案解析:强制类型转换格式为(目标类型)变量,(int)f结果为5(取整数部分),故选B。

4、以下for循环的循环变量初始化表达式为“i=5”的是?()

A.for(i=0;i5;i++)

B.for(i=5;i0;i--)

C.for(i=2;i=5;i++)

D.for(i=5;i10;i+=2)

【答案】:答案解析:初始化表达式是for循环第一个部分,B中i=5符合,其余初始化非5,故选B。

5、以下switch语句中,case后的常量可以是?()

A.整数

B.字符

C.枚举常量

D.以上都可以

【答案】:答案解析:switch的case后必须是整型常量(整数、字符、枚举常量,字符本质是ASCII码整数),故选D。

6、若inti=1;执行while(i=4){printf(%d,i);i+=3;}输出结果是?()

A.14

B.1234

C.1

D.无输出

【答案】:答案解析:i初始1,加3后4,执行2次,输出14,故选A。

7、若inta[3][3]={{1},{2,3},{4,5,6}};则a[1][0]的值是?()

A.2

B.3

C.4

D.5

【答案】:答案解析:a[1][0]是第二行第一列,值为2,故选A。

8、以下关于二维数组的说法正确的是?()

A.二维数组是数组的数组

B.二维数组元素在内存中按列存储

C.二维数组长度必须是常量

D.二维数组不能作为函数参数

【答案】:答案解析:二维数组本质是数组的数组,内存按行存储,可作为函数参数,长度需常量,故选A。

9、C语言程序的入口函数是?()

A.main()

B.printf()

C.scanf()

D.main

【答案】:答案解析:所有C程序从main()函数开始执行,必须有且仅有一个,故选A。

10、若inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};则a[1][2]的值是?()

A.5

B.6

C.8

D.9

【答案】:答案解析:a[1][2]是第二行第三列,值为6,故选B。

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

A.40

B.50

C.60

D.无定义

【答案】:答案解析:a[4]是第五个元素,值为50,故选B。

12、以下函数递归调用的例子是?()

A.计算阶乘

B.循环输出数字

C.数组遍历

D.变量交换

【答案】:答案解析:阶乘常用递归实现(n!=n*(n-1)!),B、C、D用循环更高效,故选A。

13、以下循环中,循环次数为3次的是?()

A.for(i=1;i=3;i++)

B.while(i=3)

C.do{i++;}while(i3);

D.for(i=5;i0;i--)

【答案】:答案解析:A执行3次(1-3),B是无限循环,C(i初始0)执行3次,D执行5次,题目问“3次”,A明确正确,故选A。

14、以下指针运算正确的是?()

A.inta=10,*p=a;p++;

B.inta=10,*p=a;p=a;

C.inta=10,*p=a;p=5;

D.inta=10,*p=a;*p=a;

【答案】:答案解析:A指针p自增(指向a的下一个地址),B不能将int值赋给指针,C不能取常量地

文档评论(0)

1亿VIP精品文档

相关文档