第一周函数(一)

小测验1:

1、单选题:
‏C语言是由( )构成。‏
选项:
A: 主程序和子程序
B: 主函数和子函数
C: 一个主函数和若干功能函数
D: 主函数和子程序
答案: 【 一个主函数和若干功能函数

2、单选题:
‏以下对C语言函数的有关描述中,正确的是(    )。‌
选项:
A: 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B: C函数既可以嵌套定义又可以递归调用
C: 函数必须有返回值,否则不能使用函数
D: C程序中有调用关系的所有函数必须放在同一个源程序文件中
答案: 【 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参

3、单选题:
‍以下说法中正确的是( )。‌
选项:
A: C语言程序总是从第一个的函数开始执行
B: 在C语言程序中,要调用的函数必须在main()函数中定义
C: C语言程序总是从main()函数开始执行
D: C语言程序中的main()函数必须放在程序的开始部分
答案: 【 C语言程序总是从main()函数开始执行

小测验2:

1、单选题:
‎C语言程序中,如果变量做函数参数,则当函数调用时(   )。‍
选项:
A: 实参和形参各占一个独立的存储单元
B: 实参和形参共用一个存储单元
C: 可以由用户指定是否共用存储单元
D: 计算机系统自动确定是否共用存储单元
答案: 【 实参和形参各占一个独立的存储单元

2、单选题:
‎一个函数返回值的类型是由(    )决定的。​
选项:
A: return语句中表达式的类型
B: 在调用函数时临时指定
C: 定义函数时指定的函数类型
D: 调用该函数的主调函数的类型
答案: 【 定义函数时指定的函数类型

3、单选题:
‍在C语言的函数中,下列正确的说法是(   )。‌
选项:
A: 必须有形参
B: 形参必须是变量名
C: 可以有也可以没有形参
D: 数组名不能作形参
答案: 【 可以有也可以没有形参

小测验3

1、单选题:
‎若函数的形参为一维数组,则下列说法中正确的是(     )。‏
选项:
A: 调用函数时的对应实参必为数组名
B: 形参数组可以不指定大小
C: 形参数组的元素个数必须等于实参数组的元素个数
D: 形参数组的元素个数必须多于实参数组的元素个数
答案: 【 形参数组可以不指定大小

2、单选题:
‎若调用一个函数,且此函数中没有return语句,则正确的说法是(    )。‍
选项:
A: 该函数没有返回值 
B: 该函数返回若干个系统默认值
C: 该函数能返回一个用户所希望的函数值
D: 该函数返回一个不确定的值
答案: 【 该函数返回一个不确定的值

3、单选题:
‎在函数的说明和定义时若没有指出函数的类型,则(    )。​
选项:
A: 系统自动地认为函数的类型为整型
B: 系统自动地认为函数的类型为字符型
C: 系统自动地认为函数的类型为实型
D: 编译时会出错
答案: 【 系统自动地认为函数的类型为整型

4、单选题:
‌下面叙述中正确的是(    )。‏
选项:
A: 对于用户自己定义的函数,在使用前必须加以说明
B: 说明函数时只需要说明返回类型
C: 函数必须返回一个值 
D: 空函数不完成任何操作,所以在程序设计中没有用处
答案: 【 对于用户自己定义的函数,在使用前必须加以说明

5、单选题:
‌C语言允许函数返回值类型缺省定义,此时该函数隐含的返回值类型是(    )。‎
选项:
A: float型
B: int 型
C: long 型
D: double型
答案: 【 int 型

第一周函数(二)

小测验1

1、单选题:
‌在下列结论中,有一个是错误的,它是  (    )‏
选项:
A: C语言允许函数的递归调用
B: 有些递归程序是不能用非递归算法实现的
C: C语言不允许在函数定义中再定义函数
D: 递归函数就是函数中可以定义其他函数
答案: 【 有些递归程序是不能用非递归算法实现的

2、单选题:
‎如果有个递归函数是求  2*4*6*……*(2n) 的积,则递归的公式和条件可以表达为(    ) ​
选项:
A: f(n)=2*n*f(n-1)   边界条件 当  n==1   f(n)=2
B: f(n)=2*f(2*n-1)   边界条件 当  n==0   f(n)=1
C: f(n)=2*nf(2*n-1)  边界条件 当  n==1   f(n)=1
D: f(n)=2*f(2*n-1)   边界条件 当  n==0   f(n)=2
答案: 【 f(n)=2*n*f(n-1)   边界条件 当  n==1   f(n)=2

第二周指针(一)

小测验1

1、单选题:
‌若有说明:int *p1, *p2,m=5,n;以下均是正确赋值语句的选项是             。‏
选项:
A: p1=&m; p2=&p1;
B: p1=&m; *p2=*p1
C: p1=&m; p2=p1;
D: p1=&m; *p1=*p2;
答案: 【 p1=&m; p2=p1;

2、单选题:
‎以下叙述中正确的是           。‏‎‏
选项:
A: 指针定义后,可以指向同类型的任何变量。
B: 指针定义后,可以指向任何类型变量。
C: 指针定义后,可以用整型数据为指针初始化。
D: 指针定义后,只能指向一个变量。
答案: 【 指针定义后,可以指向同类型的任何变量。

3、单选题:
‏变量的指针,其含义是指该变量的           。‍
选项:
A: 值
B: 地址
C: 名
D: 一个标志
答案: 【 地址

小测验2

1、单选题:
‌如果有定义int a[30], *p=a; 则数组a中下标为i的元素的地址为            。‏
选项:
A: p+i*2
B: p+(i-1)*2
C: p+(i-1)
D: p+i
答案: 【 p+i

2、单选题:
‌若有如下定义,则________是对数组元素的正确的引用。‌‌‌‌int a[10] , *p=a;‌
选项:
A: *&a[10]
B: *&a[0]
C: *(p-11)
D: *(a+11)
答案: 【 *&a[0]

3、单选题:
‍若有定义:int x[10]={0,1,2,3,4,5,6,7,8,9},*p1;则数值不为3的表达式是      。‌
选项:
A: x[3]
B: p1=x+3,*p1++
C: p1=x+2,*(p1++)
D: p1=x+2,*++p1
答案: 【 p1=x+2,*(p1++)

剩余75%内容付费后可查看

发表评论

电子邮件地址不会被公开。 必填项已用*标注