试卷3(第1-8章)

试卷3(1-8)

. 单选题(共10 题,30.0分)

1. (单选题,3.0) 变量s的定义为“char *s= "Hello world!";”,要使变量p指向s所指向的同一个字符串,则应选取( )。

  • A. char *p;p=*s; 
  • B. char *p=&s;
  • C. char *p=s;
  • D. char *p; p=&s; 

正确答案: C

2. (单选题,3.0)  C 程序中,用( )表示逻辑值

  • A. 1 的数 
  • B. 大于 0 的数
  • C. 0 的数
  • D. 1

正确答案: C

3. (单选题,3.0)

若有以下数组定义,则数值为4的表达式是( )。

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

char c='b',d,g;

  • A. a[7-4]
  • B. a[4]
  • C. a[g-c] 
  • D. a['d'-c]

正确答案: A

4. (单选题,3.0) 设有定义“int a=3b*p=&a;”,则下列语句中使b不为3的语句是( )。

  • A. b=&a; 
  • B. b=a;
  • C. b=*&a
  • D. b=*p;

正确答案: A

5. (单选题,3.0)

设有如下定义,则对data中的a成员的正确引用是( )。

struct sk {int a; float b; } data;

  • A. data->a
  • B. data=a
  • C. data.a
  • D. a

正确答案: C

6. (单选题,3.0) 假定整数指针p所指数据单元的值为30p+1所指数据单元的值为40,则执行*p++后, p所指数据单元的值为( )。 

  • A. 70
  • B. 40
  • C. 10
  • D. 30

正确答案: B

7. (单选题,3.0) #include命令中不可以包含( )。

  • A. 头文件
  • B. 目标文件
  • C. 用户头文件
  • D. 程序文件

正确答案: B

8. (单选题,3.0) 表示文件结束符的符号常量为( )。

  • A. Eof
  • B. eof
  • C. feof 
  • D. EOF 

正确答案: D

9. (单选题,3.0)

以下程序段中,for循环语句的循环执行( )。

int a=1,x=1; 

for (;a<10;a++)

x++; 

a++;

  • A. 9
  • B. 无限次
  • C. 不确定次
  • D. 10 

正确答案: A

10. (单选题,3.0) 假定p所指对象的值为25p+1所指对象的值为42,则*p++的值为( )。

  • A. 42
  • B. 43
  • C. 26
  • D. 25

正确答案: D

. 填空题(共6 题,30.0分)

11. (填空题,10.0)

程序填空题(按预定功能在空缺处填上代码):从键盘上输入若干个字符(以回车键作为结束)组成一个字符串存入一个字符数组,然后输出该字符数组中的字符串。

#include "stdio.h"

main()

{ char str[81],*sptr;

_____[1]_____;

for(i=0;i<80;i++)

{ str[i]=_____[2]_____; 

if (str[i]=='\n') 

_____[3]_____;

}

str[i]=_____[4]_____;

sptr=str;

printf("_____[5]_____\n",sptr);

正确答案:

(1) int i

(2) getchar()

(3) break

(4) '\0'

(5) %s

12. (填空题,4.0) 设有定义语句“static int a[3][4]={1,2,3,4,5,6,7};”,则a[1][1] 值为( )。

正确答案:

(1) 6

13. (填空题,4.0) 若自定义函数要求不返回一个值,则应在该函数说明时加一个类型说明符( )。 

正确答案:

(1) void

14. (填空题,4.0) 从一个数据文件中读入以换行符结束的一行字符串的函数为( )。 

正确答案:

(1) fgets() 

15. (填空题,4.0) switch语句中的循环语句内的break语句只跳出( )语句。

正确答案:

(1) 循环

16. (填空题,4.0) C语言中,数组元素的下标下限为( )。 

正确答案:

(1) 0

. 判断题(共5 题,20.0分)

17. (判断题,4.0) 一个C语言程序可以没有main()函数。 

  • A.
  • B.

正确答案: 

18. (判断题,4.0) while(1);是一条非法语句。

  • A.
  • B.

正确答案: 

19. (判断题,4.0) C语言程序中,while (a!=0)可用while (a)来代替。

  • A.
  • B.

正确答案: 

20. (判断题,4.0) “#define N 100”所定义的N为整型的常量。 

  • A.
  • B.

正确答案: 

21. (判断题,4.0) 要判断xy是否相等,可使用关系表达式x=y

  • A.
  • B.

正确答案: 

. 简答题(共3 题,20.0分)

22. (简答题,10.0)

编程题:对以下3x3矩阵进行转置,然后输出之。

1 2 3

4 5 6

7 8 9 

正确答案:

#include <stdio.h> 

void main( ) 

{

int i,j,x;

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

for (i=0;i<3;i++)

for (j=i+1;j<3;j++)

{ x=a[i][j];a[i][j]=a[j][i];a[j][i]=x;}

for (i=0;i<3;i++)

for (j=0;j<3;j++) 

printf("%d ",a[i][j]); 

printf("\n"); 

23. (简答题,5.0)

程序分析题:分析程序,写出其运行结果。

#include<stdio.h>

void main() 

int a=10,b=20;

printf("%d %d\n",a,b); 

int b=a+25;

a*=4;

printf("%d %d\n",a,b); 

}

printf("%d %d\n",a,b); 

正确答案:

10 20

40 35

40 20

24. (简答题,5.0)

程序分析题:分析程序,写出其运行结果。

#include<stdio.h> 

void main() 

int a[6]={76,100,59,62,50,75}; 

int b[4]={50,70,90,101}; 

int c[4]={0}; 

int i,j; 

for(i=0; i<6; i++) { 

j=0;

while(a[i]>=b[j]) j++; 

c[j]++; 

for(i=0;i<4;i++)

printf("%d ",c[i]); 

printf("\n");

正确答案:

0 3 2 1 

  • 19
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值