奥鹏易百

 找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

帮助中心知识拓展客服QQ 515224986
查看: 754|回复: 0

17春北理工《C语言程序设计》在线作业正确答案

[复制链接]

1万

主题

4

回帖

2万

积分

论坛元老

积分
28638
发表于 2017-5-22 19:50:34 | 显示全部楼层 |阅读模式
扫码加微信
北理工17春《C语言程序设计》在线作业答案
一、单选题:

1.已知:char s[10],*p=s,则在下列语句中,错误的语句是(    )。          (满分:2)
    A. p=s+5;
    B. s=p+s;
    C. s[2]=p[4];
    D. *p=s[0];
2.若有char a[80],b[80];则正确的是(    )。          (满分:2)
    A. puts(a,b);
    B. printf(“%s,%s”a[ ],b[ ]);
    C. putchar(a,b);
    D. puts(a);puts(b);
3.下列程序执行的结果是(    )。A=1;b=2;c=3;While(b<a<c){t=a;a=b;b=t;c--;}printf(“%d,%d,%d”,a,b,c);          (满分:2)
    A. 1,2,0
    B. 2,1,0
    C. 1,2,1
    D. 2,1,1
4.以下(    )不是C语言的特点。          (满分:2)
    A. 语言的表达能力
    B. 语言定义严格
    C. 数据结构系统化
    D. 控制流程结构化
5.在以下对C语言的描述中,正确的是(    )。          (满分:2)
    A. 在C语言中调用函数时,只能将实参数的值传递给形参,形参的值不能传递给实参
    B. C语言函数既可以嵌套定义又可以递归调用
    C. 函数必须有返回值,否则不能使用函数
    D. C语言程序中有定义关系的所有函数都必须放在同一源文件中
6.以下对C语言中联合类型数据的正确叙述是(    )。          (满分:2)
    A. 一旦定义了一个联合变量后,即可引用该变量或该变量中的任意成员
    B. 一个联合变量中可以同时存放其所有成员
    C. 一个联合变量中不能同时存放其所有成员
    D. 联合类型数据可以出现在结构类体型定义中,但结构体类型数据不能出现在联合类型定义中
7.C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是(    )。          (满分:2)
    A. 地址传递
    B. 值传递
    C. 由实参传给形参,并由形参传回给实参
    D. 由用户指定传递方式
8.下面个选项组中,均属于C语言关键字的一组是(    )。          (满分:2)
    A. auto,enum,include
    B. switch,typedef,continue
    C. signed,union,scanf
    D. if,struct,type
9.执行以下程序段后,c3的值是(    )。int c1=1,c2=2,c3;    c3=c1/c2;          (满分:2)
    A. 0
    B. 1/2
    C. 0.5
    D. 1
10.若在键盘上输入:283.1900,想使单精度实型变量c的值为283.19,则正确的输入语句是(    )。          (满分:2)
    A. scanf("%f",&c);
    B. scanf("8.4f",&c);
    C. scanf("%6.2f",&c);
    D. scanf("8f",&c);
11.if语句的控制条件(    )。          (满分:2)
    A. 只能用关系表达式
    B. 只能用关系表达式或逻辑表达式
    C. 只能用逻辑表达式
    D. 可以是任何表达式
12.C编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是(    )。          (满分:2)
    A. 编辑和编译
    B. 编译和连接
    C. 连接和运行
    D. 编辑和运行
13.执行下列程序段后,x、y和z的值分别是(    )。int x=10,y=20,z=30;if(x>y)z=x; x=y; y=z;          (满分:2)
    A. 10,20,30
    B. 20,30,30
    C. 20,30,10
    D. 20,30,20
14.已知:struct sk{int a;float b; }data,*p;若有p=&data, 则对data中的成员a的正确引用是(    )。          (满分:2)
    A.(*p).data.a
    B.(*p).a
    C. p->data.a
    D. p.data.a
15.以下程序的输出是(    )。main(    ){char a[2][5]={“6937”,”8254”};int i,j,s=0;for(i=0;i'0'&&a[i][j]<='9';j+=2)s=10*s+a[i][j]-‘0’;printf(“s=%d”,s);}          (满分:2)
    A. 6385
    B. 69825
    C. 63825
    D. 693825
16.下列对字符串的定义中错误的是(    )。          (满分:2)
    A. char str[7]="FORTRAN"
    B. char str[ ]=" FORTRAN"
    C. char *str="FORTRAN"
    D. char str[ ]={'F','O','R','T','R','A','N','
17.main(argc,argv)中形式参数argv的正确说明形式应当为(    )。          (满分:2)
    A. char *argv[ ]
    B. char argv[ ][ ]
    C. char argv[ ]
    D. char *argv
18.要判断char型变量m是否是数字字符,可以使用下列表达式(    )。          (满分:2)
    A. 0<=m&&m<=9
    B. '0'<=m&&m<='9'
    C. “0”<=m&&m<=“9”
    D. 前3个答案都是错误的
19.下面描述中,不正确的是(    )。          (满分:2)
    A. 递归法的关键是必须有一个递归终止的条件。
    B. 递归算法要求语言具有反复自我调用子程序的能力。
    C. 对于同一个问题,递推算法比递归算法的执行时间要长。
    D. 递推算法总可以转换为一个递归算法。
20.执行以下程序段后,a,b,c的值分别是(    )。int a,b=100,c,x=10,y=9;a=(--x= =y++)?—x:++y; if(x<9) b=x++;c=y;          (满分:2)
    A. 9,9,9
    B. 8,8,10
    C. 9,10,9
    D. 1,11,10
21.以下程序的输出结果是(    )。main(    ){int i,x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++)printf(“%d,”x[i][2-i]);}          (满分:2)
    A. 1,5,9
    B. 1,4,7
    C. 3,5,7
    D. 3,6,9
22.在C语言的函数定义过程中,如果函数finA调用了函数funB,函数funB又调用了函数funA,则(    )。          (满分:2)
    A. 称为函数的直接递归
    B. 称为函数的间接递归
    C. 称为函数的递归定义
    D. C语言中不允许这样的递归形式
23.若有以下定义和语句:struct student{int num,age;};struct student stu[3]={{1001,20},{1001,19},{1003,21}};struct student *p=stu;则以下错误的引用是(    )。          (满分:2)
    A.(p++)->num
    B. p++
    C.(*p).num
    D. p=&stu.age
24.以下程序的输出结果是(    )。main(    ){int i,k,a[10],p[3];k=5;for(i=0;i<10;i++)a[i]=i;for(i=0;i<3;i++)p[i]=a[i*(i+1)];for(i=0;i<3;i++)k+=p[i]*2;printf(“%d”,k); }          (满分:2)
    A. 20
    B. 21
    C. 22
    D. 23
25.若int a,b,c;则为它们输入数据的正确的语句是(    )。          (满分:2)
    A. read(a,b,c);
    B. scanf("%d%d%d",a,b,c);
    C. scanf("%D%D%D",&a,&b,&c);
    D. scanf("%d%d%d",&a,&b,&c);
26.利用fseek函数可以(    )。          (满分:2)
    A. 改变文件的位置指针
    B. 实现文件的顺序读写
    C. 实现文件的随机读写
    D. 以上答案均正确
27.已知: struct{int i; char c; float a; }test;  则sizeof(test)的值是(    )。          (满分:2)
    A. 4
    B. 5
    C. 6
    D. 7
28.下列说法中正确的是(    )。          (满分:2)
    A. break用在switch语句中,而continue用在循环语句中。
    B. break用在循环语句中,而continue用在switch语句中。
    C. break能结束循环,而continue只能结束本次循环。
    D. continue能结束循环,而break只能结束本次循环。
29.说明语句"int(*p)(    ); "的含义是(    )。          (满分:2)
    A. p是一个指向一维数组的指针变量
    B. p是一个指针变量,指向一个整型数据
    C. p是一个指向函数的指针,该函数的返回值是一个整型
    D. 以上都不对
30.下面程序的输出结果是(    )。main(    ){int i,j;float s;for(i=6;i>4;i--){s=0.0;  for(j=i;j>3;j--)s=s+i*j;  }printf(“%f”,s);}          (满分:2)
    A. 135.000000
    B. 90.000000
    C. 45.000000
    D. 60.000000
31.若int x;则执行下列程序段后输出是(    )。for(x=10;x>3;x--){if(x%3)x--;--x;--x;printf(“%d”,x);  }          (满分:2)
    A. 63
    B. 74
    C. 62
    D. 73
32.已知:int x=1,y=2,z;则执行z=x>y?++x:++y;则z的值为(    )。          (满分:2)
    A. 1
    B. 2
    C. 3
    D. 4
33.执行下面的语句后x的值为(    )。int a=14,b=15,x;char c='A';x=((a&b)&&(c<'a'));          (满分:2)
    A. TRUE
    B. FLASE
    C. 0
    D. 1
34.已知:int a,*p=&a; 则下列函数调用中错误的是(    )          (满分:2)
    A. scanf("%d",&a);
    B. scanf("%d",p);
    C. printf("%d",a);
    D. printf("%d",p);
35.下列程序段(    )。x=3;do{y=x--;if(!y){printf(“x”);continue;}printf(“#”);}while(1<=x<=2);          (满分:2)
    A. 输出
    B.
    C. 输出##x
    D. 是死循环
    E. 有语法错
36.不能正确为字符数组输入数据的是(    )。          (满分:2)
    A. char s[5];scanf(“%s”,&s);
    B. char s[5];scanf(“%s”,s);
    C. char s[5];scanf(“%s”,&s[0]);
    D. char s[5];gets(s);
37.为了显示一个文本文件的内容,在打开文件时,文件的打开方式应当时(    )。          (满分:2)
    A. "r+"
    B. "w+"
    C. "wb+"
    D. "ab+"
38.指出程序结束时,j、i、k的值分别是(    )。main(    ){int a=10,b=5,c=5,d=5,i=0,j=0,k=0;for(;a>b;++b)i++;while(a> ++c)j++;do k++;while(a>d++);}          (满分:2)
    A. j=5,i=4,k=6;
    B. i=5,j=4,k=6;
    C. j=6,i=5,k=7
    D. j=6,i=6,k=6;
39.C语言结构类型变量在程序执行期间(    )。          (满分:2)
    A. 所有成员一直驻留在内存中
    B. 只有一个成员驻留在内存中
    C. 部分成员驻留在内存中
    D. 没有成员驻留在内存中
40.已知“int a=4,b=5,c;”,则执行表达式“c=a=a>b”后变量a的值为(    )。          (满分:2)
    A. 0
    B. 1
    C. 4
    D. 5
三、判断题:
1.switch(表达式)中的表达式可以是任意类型的表达式。          (满分:2)
    A. 错误
    B. 正确
2."A"是一个字符常串量。          (满分:2)
    A. 错误
    B. 正确
3.在C语言中处理文件时文本文件和二进制文件都可采用EOF作为判断文件是否读写结束。          (满分:2)
    A. 错误
    B. 正确
4.在C语言中,以“r”方式不能打开并不存在的文件。          (满分:2)
    A. 错误
    B. 正确
5.在C语言中,枚举元素作为常量,它们是有确定的值的,它们的值按顺序从0开始依次增加且不可以改变。          (满分:2)
    A. 错误
    B. 正确
6.在标准C语言中,所有函数在调用之前都要进行声明。          (满分:2)
    A. 错误
    B. 正确
7.若函数的返回值与return表达式类型不一致时,以return 表达式类型为准。          (满分:2)
    A. 错误
    B. 正确
8.在C语言的scanf(    )中可用”%m.nf”形式的格式字符指定输入数据的精度。          (满分:2)
    A. 错误
    B. 正确
9.在C语言中,逻辑表达式中只允许出现逻辑型数据。          (满分:2)
    A. 错误
    B. 正确
10.在C语言中,for语句后的三个表达式必须都出现。          (满分:2)
    A. 错误
    B. 正确
更多免费学习资料请登录www.openhelp100.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|www.openhelp100.com ( 冀ICP备19026749号-1 )

GMT+8, 2024-5-14 23:16

Powered by openhelp100 X3.5

Copyright © 2001-2024 5u.studio.

快速回复 返回顶部 返回列表