C语言中其他函数不可作为单独文件形式存在吗?

Python012

C语言中其他函数不可作为单独文件形式存在吗?,第1张

可以

其实函数和文件没有直接关系。将main函数作为单独文件只是因为程序简单等原因没有特意给主文件命名。任何一个函数只要你愿意都可以单独成一个文件,反过来,main函数所在的文件除main函数之外还可以有其他函数

这是老师给的一分以前卷子的参考题目和答案,明天就要补考了,题目很简单的应该,但我基本不懂,可我发现好象答案不对的,谁能帮我对一下谢谢了。答案附在后面

A卷

一、单项选择题(每小题2分,共40分)。

1. 一个C语言程序至少包含一个( )函数

A. printf B. scanf C. main D.自定义

2.以下叙述正确的是( )

A. 在C程序中,main( )函数必须位于程序的最前面

B. C程序的每行中只能写一个语句

C. C语言本身没有输入输出语句

D. 在对C语言进行编译的过程中,可以发现注释中的错误

3.下列C语句不正确的有( )

A.x=y=14B.int x,y,z

C.x=4,y=13D.z=x+y

4. 在int(*prt)[3]语句中,关于标识符prt正确的选项是( )

A.定义不合法

B.一个指向整型变量的指针

C.一个指针,它指向一个具有3个元素的一维数组

D.一个指针数组名,每个元素是一个指向整型变量的指针

5. 与十六进制数200等值的十进制数为 ( )

A . 256 B. 512 C .1024 D. 2048

6.以下叙述中正确的是( )

A. C语言的源程序不必通过编译就可以直接运行

B. C语言中的每条可执行语句最终都将被转换成二进制的机器指令

C. C源程序经编译形成的二进制代码可以直接运行

D. C语言中的函数不可以单独进行编译

7. putchar函数可以向终端输出一个( )。

A. 整型变量表达式值 B .实型变量值

C. 字符串 D. 字符或字符变量值

8.已知float a=10.6,a/=2的结果是( )

A.5.3 B.5.300000 C.5.0 D.5

9. 在下列符号中,哪个是合法的变量名?( )

A、 #jhgf B、 _gh3 C、 -76t D、 3ab

10. 有如下输入语句scanf(“a=%d,b=%d,b=%d”,&a,&b,&c)为使变量a的值为1,b 的值为3,c的值为2,从键盘输入数据的正确形式应是( ).

A.132<CR>B.1,3,2<CR>C.a=1,b=3,c=2<CR>D.a=1 b=3 c=2<CR>

11.已知字母A的ASCII码是65,以下程序的执行结果是( )

# include <stdio.h>

main ( )

{char c1=’A’,c2=’E’

printf (“%d,%d”,c1,c2)}

A. A , E B. 65 , 65 C. 65 , 69 D. 65 ,70

12. 在C语言中switch语句可以和( )关键字配合使用来构成多分支选择语句。

A. case B.break C. goto D. else

13.如果a=4,b=4,则!(a>b)的值为( )

A. 真 B 假 C 不确定

14.能正确表示“m≥5或m≤3”的关系表达式是( )

A.m>=5 or m<=3” B m>=5|m<=3

C. m>=5||m<=3 D.m>=5 + m<=3

15.已知一个函数的定义为: void abc ( ) { … }

则函数中 void 的含义是( )

A、 执行该函数后函数没有返回值 B、 执行该函数后不返回

C、 该函数可以返回任意类型的数据 D、 以上都不对

16.C语言的编译系统对宏命令的处理是( )

A.、在程序运行时进行

B、在程序连接时进行

C、和C程序中的其他语句同时进行编译的

D、在对源程序中其他成分正式编译之前进行

17.判断字符串s1是否大于字符串s2,应当使用( )

A.if (s1>s2) B. if (strcmp (s1,s2) )

C. if (strcmp(s2,s1)>0) D.if (strcmp(s1,s2)>0)

18.设有数组定义:char array[ ]=”China”则数组array所占的空间为( )个字节。

A. 4 B. 5 C. 6 D. 7

19. 若有定义:int x=7, p=&x则执行*p=*p+1x=x+2以后x的值是: ( )

A. 7 B. 8 C. 9 D. 10

20. 以下在任何情况下计算平方数时都不会引起二义性的宏定义是( )

A. #define POWER(x) x*x

B. #define POWER(x) (x)*(x)

C.#define POWER(x) (x*x)

D.#define POWER(x) ((x)*(x))

二、填空题(每空2分,计20分)

1一个C源程序至少应包括一个_______。

2.程序三种最基本的结构是___________、_______________、_________________。

3.若a是int 型变量,且a的初值为6,则计算表达式a+=a*a后a的值为______。

4. 指针变量的含义是指向变量的_______

5.若有以下定义:float w[16]则w数组元素下标的取值范围是______到______。

6..设a=3, b=2, c=1, 则表达式a>b+c的值是_____________。

7..以下程序段的运行结果是______

char a[7]=”abcdef”

printf(“%c”,a[5])

三、读程序,写出运行结果(5*4分)

1.下面程序的运行结果是_______________________________________

# include <stdio.h>

main ( )

{ int a, b

a = 10

b = a*9

printf(“b = %d\n”, b)

}

2. 以下程序段的运行结果是__________

# define ADD(x) x+x

main( )

{ int m=1, n=2, k=3

int sum=ADD(m+n)*k

printf (“sum=%d”,sum)

}

3. 以下程序输入123456<CR>后的执行结果是______

# include <stdio.h>

main( )

{int a,b

scanf (“%2d%3d”,&a,&b)

printf (“a=%d,b=%d\n”,a,b)

}

4.下面程序的运行结果是_______________________________________。

main ( )

{ int i

for (i=1i<=5i++)

{ if (i%2)

printf (“*”)

printf (“#”)

}

printf (“#”)

}

5.以下程序的运行结果是_______

#include <stdio.h>

int a=10,b,*p

main( )

{p=&a

b=(*p)++

printf(“%d,%d\n”,a,b)

}

答案

1.A 2.C 3.C 4.C 5.B 6.C 7.D 8.B

9.B 10.C 11.C 12.A 13.A 14.C 15.A 16.D

17.B 18.C 19.C 20.A

二、填空题(每空2分,计20分)

1、主函数 2、顺序,选择条件,循环结构 3、42 4、地址 5、0,15

6、0 7、f

三、读程序,写出运行结果(5*4分)

1、 b=90 2、sum=10 3、a=12,b=345 4、*##*##*## 5、11,10

B卷

一、单项选择题(每小题2分,共40分)。

1.一个 C语言程序是由( )

A.函数组成

B.若干个过程组成

C.若干子程序组成

D一个主程序和若干子程序组成

2.以下叙述不正确的有( )

A. C程序中,语句之间必须用分号(;)分隔

B. C程序中,多行语句可以写在一行中

C. C程序中,可以不必包含主函数

D. C程序中,可以由多个函数组成

3.下列C语句不正确的有( )

A.x=y=14 B.int x,y,z C.x=4,y=13 D.z=x+y

4.已知int a = 5, 则执行a = a/2后的a值是 ( )

A. 2.5B. 2 C. 2.0 D. 3

5.判断整数a和b是否相等,应当使用 ( )

A.if (a==b) B. if (a=b) C. if (a, b) D. if (a!=b)

6.C语言的标识符的第一个字符必须为()

A.字母 B.下划线 C. 字母或下划线 D. 字母或下划线或数字

7. 已知字母A的ASCII码值为66,执行下面的程序:

main( )

{ char c1=’A’

printf(“%d %c\n”, c1, c1)

} 执行后输出结果是( )

A. 66 A B. A 66 C. 65 A D. A 65

8.在C语言中if语句可以和( )关键字配合使用来构成分支选择语句。

A. else B.breakC. gotoD. int

9. putchar函数可以输出一个( )。

A. 整型变量表达式值

B. 实型变量值

C. 字符串

D. 字符

10. C语言中while和do-while循环的主要区别是()。

A. do-while的循环体至少无条件执行一次

B. while的循环控制条件比do-while的循环控制条件严格

C. do-while允许从外部转到循环体内

D. do-while的循环体不能是复合语句

11. 如果a=4,b=4,则(a<b)的值为( )

A. 真 B 假 C 不确定

12.下面对变量说明错误的是( )

A. char c1, int x B. int a, b float x, y

C. int a int bD. char c1 int x

13.若有a=1,b=2,c=3,d=4则条件表达式 a >b? c : d的值为 ( )

A. 2 B. 1 C. 4 D. 3

14. 设变量a是整型,f是实型,i是double型,则表达式10+’a’+i*f的值的数据类型为( )

A.整型 B. floatC.double D.不确定

15.若有定义:int x, *pb则以下正确的赋值表达式是:

A)pb=&x B)pb=x C)*pb=&x D)*pb=*x

16.在C语言程序中,( )。

A. 函数的定义可以嵌套,但函数的调用不可以嵌套

B. 函数的定义不可以嵌套,但函数的调用可以嵌套

C. 函数的定义和函数均不可以嵌套

D. 函数的定义和函数均可以嵌套

17.以下程序段的运行结果是( )

char a[7]=”abcdef”

printf(“%c”,a[5])

A. d B. f C. eD.

18.凡是在函数中未指定存储类别的局部变量,其隐含的存储类别为()

A.自动(auto) B.静态(static) C.外部(extern) D.寄存器(register)

19.在int(*prt)[3]语句中,关于标识符prt正确的选项是()

A. 定义不合法

B. 一个指向整型变量的指针

C. 一个指针,它指向一个具有3个元素的一维数组

D. 一个指针数组名,每个元素是一个指向整型变量的指针

20.判断char型变量c1是否为小写字母的正确表达式是( )

A. (c1>=’a’)&&(c1<=‘z’ ) B. (c1>=a)&&(c1<=z )

C. (’a’<= c1 <=‘z’ )D. ( a<= c1 <= z )

二、填空题(每空2分,计20分)

1.在C语言中,表示逻辑“假”值用______ 。

2.在C语言中(以微型机为例),一个char型数据在内存中所占的字节数是_____一个float型数据在内存中所占的字节数是_____一个double型数据在内存中所占的字节数是__________。

3.若a是int 型变量,且a的初值为3,则计算表达式a+=a*a后a的值为______。

4.C源程序的基本单位是_______

5若有以下定义:int score[6] 则score数组元素下标的取值范围是______到______。

6. 字符‘0’的十进制ASCII码值是48,则字符‘9’的十进制ASCII码值是_______

7.有表达式 “20 <x <30”, 用C语言正确描述它应该是__________________________。

三、读程序,写出运行结果(5*4分)

1.执行下面的程序:

void main( )

{ int x=3, y=1

if ( x <y ) printf(“*****\n”)

elseprintf(“#####\n”)

}

其输出的结果是__________________________。

2.下面程序的运行结果是______________________________________(画□表示空格)。

假设输入1.23 50

# include <stdio.h>

main ( )

{ float x, y

scanf(“%f%f”, &x, &y)

printf(“x=%7.2f, y=%7.2f\n”, x, y )

}

3.写出下面程序的输出结果_______________________________________________。

main ( )

{ int a=10, b=14, c=3

if ( a <b ) a = b

if ( a <c ) a = c

printf(“a=%d, b=%d, c=%d\n”, a, b, c )

}

4.下面程序的输出结果是_____________

main()

{int number=0

while (number++>=1)

printf (“*%d\n”,number)

printf(“**%d\n”,number)

}

5以下程序的运行结果是_______

void increment( )

{int x=0

x+=1

printf(“%d”,x)

}

main( )

{increment( )

increment( )

increment( )

}

一、单项选择题(每小题2分,共40分)。

1.A 2.C 3.C 4.B 5.A 6.C 7.A 8.A

9.D 10.A11.B 12.A 13.C 14.C 15.A 16.B

17.B 18.A19.D 20.A

二、填空题(每空2分,计20分)

1、1 2、1,4,8 3、42 4、函数 5、0,5 6、57 7、x>20&&x<30

三、读程序,写出运行结果(5*4分)

1、#####2、x= 1.25 y= 50.00 3、a=14,b=14,c=3

4、**1 5、111