正确答案:D
23春《C语言程序设计》作业_2一、单选题(每题4分,共25道小题,总分值100分)
1.(4分)
A
(A)
B
(B)
C
(C)
D
(D)
2.以下能正确定义数组并正确赋初值的语句是 。(4分)
A
int n=5,b[n][n];
B
int a[1][2]={ { { {1},{3}}}};
C
int c[2][]={ { { {1,2},{3,4}}}};
D
int a[3][2]={ { {1,2},{3,4}}}};
3.(4分)
A
(A)
B
(B)
C
(C)
D
(D)
4.(4分)
A
4
B
3
C
2
D
1
5.34.png(4分)
A
(A)
B
(B)
C
(C)
D
(D)
6.以下函数调用语句中实参的个数为 。exce((v1,v2),(v3,v4,v5),v6);(4分)
A
3
B
4
C
5
D
6
7.若要说明一个类型名STP,使得定义语句STP s;等价于char *s;以下选项中正确的是()。
(4分)
A
typedef STP char *
B
typedef *char STP
C
typedef STP *char
D
typedef char* STP
8.(K95U)$A)N5P[Y4HL~@6LPE.png(4分)
A
(A)
B
(B)
C
(C)
D
(D)
9.说明一个结构体变量时系统分配给它的内存是 ( )。(4分)
A
各成员所需要内存量的总和
B
结构体中第一个成员所需内存量
C
成员中占内存量最大者所需的容量
D
结构中最后一个成员所需内存量
10.设有以下说明语句struct stu { int a ; float b ; } stutype ;则下面的叙述不正确的是 。(4分)
A
struct 是结构体类型的关键字
B
struct stu 是用户定义的结构体类型
C
stutype 是用户定义的结构体类型名
D
a 和b 都是结构体成员名
11.2.png(4分)
A
(A)
B
(B)
C
(C)
D
(D)
12.(4分)
A
(A)
B
(B)
C
(C)
D
(D)
13.若有定义int a=7; float x=2.5; y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是 。(4分)
A
2.500000
B
2.750000
C
3.500000
D
0.000000
14.C语言规定,函数返回值的类型是由( )。(4分)
A
return语句中的表达式类型所决定
B
调用该函数时的主调函数类型所决定
C
调用该函数时系统临时决定
D
在定义该函数时所指定的函数类型决定
15.02.png(4分)
A
(A)
B
(B)
C
(C)
D
(D)
16.
运行下面程序时,从键盘输入字母H,则输出结果是( )
#include <stdio.h>
void main( )
{ char ch;
ch=getchar( );
switch(ch)
{ case 'H':printf("Hello! ");
case 'G':printf("Good morning! ");
default:printf("Bye_Bye! ");
}
}
(4分)
A
Hello!
B
Hello!
Good Morning!
C
Hello!
Good morning!
Bye_Bye!
D
Hello!
Bye_Bye!
17.15.png(4分)
A
(A)
B
(B)
C
(C)
D
(D)
21.(4分)
A
(A)
B
(B)
C
(C)
D
(D)
19.已有函数max(a,b),为了让函数指针变量p 指向函数max,正确的赋值方法是( )。 (4分)
A
p=max
B
*p=max
C
p=max(a,b)
D
*p=max(a,b)
20.下列关于C语言的说法错误的是( )(4分)
A
C程序的工作过程是编辑、编译、连接、运行
B
C语言不区分大小写。
C
C程序的三种基本结构是顺序、选择、循环
D
C程序从main函数开始执行
21.(4分)
A
(A)
B
(B)
C
(C)
D
(D)
22.29.png(4分)
A
(A)
B
(B)
C
(C)
D
(D)
23.40.png(4分)
A
(A)
B
(B)
C
(C)
D
(D)
24.( )是构成C语言程序的基本单位。
(4分)
A
过程
B
子程序
C
函数
D
子例程
25.在C语言程序中,以下描述正确的是 。(4分)
A
函数的定义可以嵌套,但函数的调用不可以嵌套
B
函数的定义不可以嵌套,但函数的调用可以嵌套
C
函数的定义和函数的调用均不可以嵌套
D
函数的定义和函数的调用均可以嵌套
北语网院23春《C语言程序设计》作业_2[答案]历年参考题目如下:
北交《C语言程序设计(专) 》在线作业一-0003
试卷总分:100 得分:0
一、 单选题 (共 10 道试题,共 40 分)
1.C语言允许函数类型缺省定义,此时函数值隐含的类型是
A.float
B.int
C.long
D.double
2.以下程序有错,错误原因是 main() { int *p,i;char *q,ch; p=&i; q=&ch; *p=40; *p=*q; ...... }
A.p和q的类型不一致,不能执行*p=*q;语句
B.*p中存放的是地址值,因此不能执行*p=40;语句
C.q没有指向具体的存储单元,所以*q没有实际意义
D.q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果
3.以下不正确的叙述是
A.在C程序中,逗号运算符的优先级最低
B.在C程序中,APH和aph是两个不同的变量
C.若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
4.下面程序的输出结果是 main() { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}
A.3
B.4
C.1
D.2
5.下面能正确进行字符串赋值操作的是
A.char s[5]={"ABCDE"};
B.char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};
C.char *s;s="ABCDE";
D.char *s;char a; scanf("%s",&s);
6.一个C语言程序是由
A.一个主程序和若干子程序组成
B.函数组成
C.若干过程组成
D.若干子程序组成
7.sizeof(float)是
A.一个双精度型表达式
B.一个整型表达式
C.一种函数调用
D.一个不合法的表达式
8.以下程序的输出结果是 void reverse(int a[],int n) { int i,t; for(i=0;i { t=a[i]; a[i]=a[n-1-i];a[n-1-i]=t;} } main() { int b[10]={1,2,3,4,5,6,7,8,9,10}; int i,s=0; reverse(b,8); for(i=6;i<10;i++)s+=b[i]; printf(" %d\n ",s);
A.22
B.10
C.34
D.30
9.下列程序的输出结果是 int b=2; int func(int *a) { b += *a; return(b);} main() { int a=2, res=2; res += func(&a); printf("%d\n",res); }
A.4
B.6
C.8
D.10
10.设有数组定义: char array[]="China"; 则数组 array所占的空间为
A.4个字节
B.5个字节
C.6个字节
D.7个字节
二、 多选题 (共 10 道试题,共 40 分)
1.下列说法中错误的是______。
A.C程序总是从第一个定义的函数开始执行
B.C程序总是从main函数开始执行
C.C函数必须有返回值,否则不能使用函数
D.C程序中有调用关系的所有函数必须放在同一个程序文件中
2.函数调用可以______。
A.出现在一个表达式中
B.出现在执行语句中
C.作为一个函数的实参
D.作为一个函数的形参
3.不与while(x)语句中的x等价的是_____。
A.x= =0
B.x= =1
C.x!=1
D.x!=0
4.C提供的预处理功能主要有______。
A.宏定义
B.文件包含
C.条件编译
D.异常终止
5.内存中供用户使用的存储空间可分为:______。
A.程序区
B.静态存储区
C.动态存储区
D.数据存储区
6.以下对C语言函数的有关描述中,错误的是:______。
A.调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B.函数既可以嵌套定义又可以递归调用
C.函数必须有返回值,否则不能使用函数
D.程序中有调用关系的所有函数必须放在同一个源程序文件中
7.关于宏定义的说法正确的是:
A.宏名一般习惯用大写字母表示,以便与变量名相区别
B.使用宏名代替一个字符串,可以减少程序中重复书写某些字符串的工作量
C.宏定义是用宏名代替一个字符串,也就是简单的置换,不作正确性检查
D.宏定义不是C语句,不必在行末加分号
8.以下对一维数组a进行初始化,错误的语句是______。
A.int a[10]=(0,0,0,0,0);
B.int a[10]={};
C.int a[10]={0};
D.int a[2]={10,9,8}
9.在缓冲文件系统中用于读写的函数有
A.putchar ()
B.fread()
C.rewind ()
D.purw()
10.带参宏定义与函数的区别是:______。
A.函数调用时,先求出实参表达式的值,然后代入形参,带参的宏只是进行简单的字符替换
B.函数调用是在程序运行时为形参分配临时的存储单元,而宏展开是在编译前进行的
C.宏不存在类型问题,宏名和参数都不存在类型问题
D.调用函数只能得到一个返回值,而使用宏可设法得到几个结果
三、 判断题 (共 5 道试题,共 20 分)
1.switch语句中,各个case和default的出现次序不影响执行结果。( )
A.错误
B.正确
2.puts和gets函数只能输入或输出一个字符串
A.错误
B.正确
3.宏定义就是用宏名代替一个字符串,也就是简单的置换,不作正确性检查。
A.错误
B.正确
4.调用函数只可得到一个返回值,而用宏可以设法得到几个结果。
A.错误
B.正确
5.使用getchar函数可以不添加#include <stdio.h>命令。( )
A.错误
B.正确
北语网院23春《C语言程序设计》作业_2[答案][答案]相关练习题:
马克思主义理论从广义上说是( )
网贷行业的普惠是指服务对象的普惠,并不意味着平台设立的零门槛,金融行业并不适合人人创业。( )
下列项目中属于损益科目的有( )。
网络安全面临的问题不包括的是( )。
社会中最大的信息拥有者、最大的信息技术用户是()。