19. 关于函数声明,以下不正确的说法是( )
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了19. 关于函数声明,以下不正确的说法是( )相关的知识,希望对你有一定的参考价值。
19. 关于函数声明,以下不正确的说法是( )
A. 如果函数定义出现在函数调用之前,可以不必加函数原型声明
B. 如果在所有函数定义之前,在函数外部已做了声明,则各个主调函数不必再做函数原型声明
C. 函数再调用之前,一定要声明函数原型,保证编译系统进行全面的调用检查
D. 标准库不需要函数原型声明
20. 不能把字符串:Hello!赋给数组b的语句是( )
A. char b[10]='H','e','l','l','o','!';
B. char b[10];b="Hello!";
C. char b[10];strcpy(b,"Hello!");
D. char b[10]="Hello!";
21. 在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为( )
A. char<int<1ong int<=float<double
B. char=int<1ongint<=float<double
C. char<int<1ongint=float=double
D. char=int=1ong int<=float<double
22. 以下程序的输出结果是 ( ) main() int i; for(i=0;i<3;i++) switch(i) case 0:printf("%d",i); case 2:printf("%d",i); default:printf("%d",i);
A. 022111
B. 021021
C. 000122
D. 012
23. 在C语言中,正确的的结论是( )
A. 对文件操作必须先关闭文件
B. 对文件操作必须先打开文件
C. 对文件操作顺序没有统一规定
D. 以上都错
24. 已知字符0的ASCII码为十六进制的30,下面程序的输出是 ( ) main() unionunsigned char c; unsigned int i[4]; z; z.i[0]=0x39; printf("%\n",z.c);
A. 6
B. 9
C. 0
D. 3
25. C语言结构体类型变量在程序执行期间( )
A. 所有成员一直驻留在内存中
B. 只有一个成员驻留在内存中
C. 部分成员驻留在内存中
D. 没有成员驻留在内存中
26. C语言中用于循环结构程序设计的三种常用控制语句是( )
A. if、for、continue
B. if、switch、break
C. for、while、do-while
D. 顺序结构、选择结构、循环结构
27. 建立函数的目的之一是( )
A. 提高程序的执行效率
B. 提高程序的可读性
C. 减少程序的篇幅
D. 减少程序文件所占内存
28. 变量的指针,其含义是指该变量的( )
A. 值
B. 地址
C. 名
D. 一个标志
29. 下列运算符中优先级最低的是( )
A. ?:
B. &&
C. +
D. !=
30. 设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是( )
A. c=*p1+*p2;
B. p2=c;
C. p1=p2;
D. c=*p1*(*p2);
31. 若有以下说明和语句: struct student int age; int num; std,* p; p=&std; 则以下对结构体变量std中成员age的引用方式不正确的是( )
A. std.age
B. p->age
C. (*p).age
D. *p.age
32. C语言规定:在一个源程序中,main函数的位置是( )
A. 必须在最开始
B. 必须在系统调用的库函数的后面
C. 可以任意
D. 必须在最后
33. 若有以下说明: int a[10]=1,2,3,4,5,6,7,8,9,10,*p=a; 则数值为6的表达式是( )
A. *p+6
B. *(p+6)
C. *(p+5)
D. p+5
34. 语句while(!E)中的表达式!E等价于( )
A. E==0
B. E!=1
C. E!=0
D. E==1
35. 为了避免在嵌套的条件语句if - else中产生二义性,C语言规定else子句总是与( )配对
A. 缩排位置相同的if
B. 其之前最近的if
C. 之后最近的if
D. 同一行上的if
20.B b是数组名,地址常量,不能给地址常量赋值。
21.A http://zhidao.baidu.com/question/23735957.html
23.B
25.A
30.B
31.D
32.C
33.C
34.A 原是中,E=0,循环执行.
35.B
暑假第三天之每天一些题系列
暑假第三天之每天一些题系列
一. 选择题
- 以下关于函数设计不正确的说法是
A. 函数设计应该追求高内聚低耦合
B. 要尽可能多的使用全局变量
C. 函数参数不易过多
D. 设计函数时,尽量做到谁申请的资源就由谁来释放
答案解析:
函数设计应尽可能少的使用全局变量,因为全局变量的声明周期太长会长时间占用空间,容易出错
- 下面的程序,输出结果正确的是
int main()
{
int a = 5;
if( a = 0 )
{
printf("%d", a - 10);
}
else
{
printf("%d", a++);
}
return 0;
}
A. -5 B. 6 C. 1 d. 0
答案解析:
注意if语句里面是赋值号,而不是==号,将0赋给a,a=0这个表达式的值为0,为假,故进入else,注意此时a变为了0,a是后置++,先使用后加加,故打印的是0
- 关于野指针,下面说法错误的是
A. 野指针指可能指向非法的内存地址
B. 野指针有时也可能指向合法的内存地址
C. 野指针都是由指针未初始化导致的
D. 对野指针的访问,可能会导致程序异常
答案解析:
野指针的成因不只是指针未初始化导致的,还有比如指针越界访问、指针指向的空间释放
想要更多了解指针,请前往博主两篇讲解指针的博客:指针初阶、指针进阶
- include <x.h> 和 include “y.h” ,以下说法正确的是
A. “” 表示先到源文件所在目录下搜索头文件
B. <> 表示先到源文件所在目录下搜索头文件
C. 两者用法没有区别
答案解析:
"" 表示先到源文件所在目录下搜索头文件,如果头文件没有找到,编译器就像查找库函数头文件一样,在库函数的头文件目录下查找
<> 表示直接到库函数头文件所在目录下搜索
- 定义变量 double **a[3][4] ,假设为32位平台,则此变量占有内存空间是字节
A. 12 B. 24 C. 48 D. 96
a是一个二维数组,数组的元素类型为double型的二级指针,但它也是指针,大小为4字节(32位平台),8字节(64位平台),一共有12个元素,12*4=48字节
二、填空题
- 假定所有变量均已正确说明,执行下述程序段后 z 的值是
x = z = 2,y = 3;
if (x > y)
z = 1;
else if (x == y)
z = 0;
else
z = -1;
答案解析:
此时x=2,y=3,x不大于y并且x不等于y,故来到了最后的else,将-1赋给z,此时z为-1
- 有如下代码:
char acHello[] = "hello\\0world";
char acNew[15] = {0};
strcpy(acNew,acHello);
则 strlen(acNew) =, sizeof(acHello) =
答案解析:
strlen是求字符串长度的函数,\\0是结束标志,将acHello拷贝进acNew,即acNew数组中是"hello\\0world",\\0是结束标志,故求得strlen(acNew)=5;sizeof(acHello)求acHello的空间大小,注意\\0算是一个字符,我们字符串中相当于有11个字符,对吗?不对,别忘了最后面还有一个\\0,因为一个字符是1字节大小,故一共是12字节的空间大小
三、算法题
题目描述:
编写函数,求第n个斐波那契数列的值(非递归)
斐波那契数列是什么呢?前两个数相加等于下一个数:
0,1,1,2,3,5,8,13,21,34…]
思路:
我们定义a、b、c三个变量,将a初始化为0,b初始化为1,c等于a+b,然后让a=b,b=c,这样进行迭代
代码如下:
int Fibonacci(int n)
{
int a=0;
int b=1;
int c;
if(n==1)
{
return 0;
}
if(n==2)
{
return 1;
}
while(n>2)
{
c=a+b;
a=b;
b=c;
n--;
}
return c;
}
在写求斐波那契数列代码时,我们写非递归的,因为递归的时间复杂度过高,效率不行
以上是关于19. 关于函数声明,以下不正确的说法是( )的主要内容,如果未能解决你的问题,请参考以下文章