C语言答案

更新时间:2024-04-01 22:55:18 阅读: 评论:0

2024年4月1日发(作者:林子聪)

第一章

习 题1

一、选择题

1. 以下叙述正确的是 。

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

B) 在C程序中,一行只能写一条语句

C) C程序的基本结构是程序行

D) C语句是完成某种程序功能的最小单位

2. 一个C程序的执行是从 。

A) 本程序的主函数开始,到本程序的主函数结束

B) 本程序的第一个函数开始,到本程序的最后一个函数结束

C) 本程序的主函数开始,到本程序的最后一个函数结束

D) 本程序的第一个函数开始,到本程序的主函数结束

3. 以下叙述正确的是 。

A) C语句的结束符为分号

B) C语句的结束符为逗号

C) C语句的结束符为冒号

D) C语句的结束符为句号

4. 以下叙述正确的是 。

A) 在一个C程序中,有且只能有一个主函数

B) 在一个C程序中,可以有两个或两个以上的主函数

C) 在一个C程序中,主函数可以由用户来命名

D) 在一个C程序中,主函数名(main)后面的括号可以省略

5. 以下叙述正确的是 。

A) 计算机的硬件系统可以直接识别并执行汇编语言程序

B) 计算机的硬件系统可以直接识别并执行高级语言程序

C) 计算机的硬件系统可以直接识别并执行机器语言程序

D) 计算机的硬件系统可以直接识别并执行C语言程序

6. 以下叙述不正确的是 。

A) 在C程序中,主函数、子函数都可以由用户来命名

B) 在C程序中,子函数可以由用户来命名,但主函数不能

C) 在C程序中,主函数名只能用main

D) 在C程序中,主函数不一定要放在子函数的前面

参考答案:1、D 2、A 3、A 4、A 5、C 6、A

第二章

习 题 2

一、选择题

1. C语言中的变量名只能由字母、数字和下画线三种字符组成,且第一个字符 。

A) 必须为字母 B) 必须为下画线

C) 必须为字母或下画线 D) 可以是字母、数字或下画线中的任意一种

2. 字符(char)型数据在微机内存中的存储形式是 。

A) 反码 B) 补码 C) EBCDIC码 D) ASCII码

3. 在C语言中,要求运算量必须是整型或字符型的运算符是 。

A) && B) % C) ! D) +

4. 设 int a = 12,则执行完语句a += a -= a * a后,a的值是 。

A) 552 B) 264 C) 144 D) -264

5. 下面程序的输出结果是 。

#include "stdio.h"

int main( )

{

int a;

printf("%dn", (a = 3 * 5, a * 4, a + 5));

return 0;

}

A) 65 B) 20 C) 15 D) 10

6. 下面程序的输出结果是 。

#include "stdio.h"

int main( )

{

int x = 023;

printf("%dn", --x);

return 0;

}

A) 17 B) 18 C) 23 D) 24

7. 下面程序的输出结果是 。

#include "stdio.h"

int main( )

{

int x = 10, y = 3;

printf("%dn", y = x / y);

return 0;

}

A) 0 B) 1 C) 3 D) 不确定的值

8. 已知字母A的ASCII码为十进制数65,下面程序的输出结果是 。

#include "stdio.h"

int main( )

{

char ch1, ch2;

ch1 = 'A' + '5' - '3';

ch2 = 'A' + '6' - '3';

printf("%d, %cn", ch1, ch2);

return 0;

}

A) 67,D B) B,C C) C,D

9. 以下程序的输出结果是 。

#include "stdio.h"

int main( )

{

int x = 10, y = 10;

printf("%d %dn", x--, --y);

return 0;

}

A) 10 10 B) 9 9 C) 9 10

10. 下面程序的输出结果是 。

#include "stdio.h"

int main( )

{

int i, j, m, n;

i = 8; j = 10;

m = ++i;

n = j++;

printf("%d, %d, %d, %d", i, j, m, n);

return 0;

}

A) 8,10,8,10 B) 9,11,8,10

C) 9,11,9,10 D) 9,10,9,11

D) 不确定的值

D) 10 9

参考答案:

一、选择题

1、C 2、D 3、B 4、D 5、B

6、B 7、C 8、A 9、D 10、C

二、填空题

1、2.5 2、10 3、a b 4、-4,-6 5、int

第三章

习 题 3

一、选择题

1. int a, b;,要通过 scanf(”%d:%d”, &a, &b);使a得到5,b得到6,则正确的输入形式为选项 。

A) 5 6 B) 5,6 C) 5:6 D) 5;6

2. 在printf("a=%c,b=%c", a, b);中,变量a, b的类型应该是选项 。

A) 整型或字符型 B) 实型或字符型

C) 实型或字符串型 D) 整型或实型

3. 设有变量定义float a = 12.34567, b = 22.3456;,则printf("a = %,8.3f, %,-8.2f ", a, b);的输出结果为选项 。

A) 12.34567,22.34567

C) 12.346,22.35

B) 12.346,22.35

D) 12.345,22.34

4. putchar(97);的输出结果是选项 。

A) b B) a C) 97.0 D) 97

5. 通过scanf("a=%d,b=%d", &a, &b);使a得到5,b得到6,则正确的输入形式为选项

A) 5,6 B) a=5,b=6 C) a=5,b=6 D) 5;6

6. 有定义int c = 65;则printf("%d,%u,%c", a, a, a);的输出结果为选项 。

A) 65,65,A B) 65,65,65 C) 65,-65,A D) 65 65 A

7. 对于scanf("%d %*d %d", &a, &b);,输入1 2 3,则变量b的值是选项 。

A) 1 B) 2 C) 3 D) *

8. 对于scanf("%3d%2d", &a, &b);从键盘上输入1234567,变量a的值是选项 。

A) 1234567 B) 123 C) 1234 D) 12345

9. 下面程序段的输出结果是选项 。

int a = 010, b = 0x10, c = 10;

printf("%d,%d,%dn", a, b, c);

A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,10

10. 如果从键盘上输入D并<回车>,则下面程序的输出结果是选项 。

#include "stdio.h"

int main( )

{

char c1,c2;

c1 = getchar();

c2 = c1 + 3;

printf("%c,%dn", c2, c2);

return 0;

}

注意:字母A的ASCII码值为65。

A) G,71 B) G,68 C) D,71 D) 连接出错

二、填空题

1. 下面程序从键盘输入十进制数65,输出结果是41,请填写程序。

#include "stdio.h"

int main( )

{

int d;

printf("input a number:")

scanf(" (1) ", &d);

printf("%x", d);

return 0;

}

2. 请根据输入语句scanf,填写变量c的说明。

#include "stdio.h"

int main( )

{

(1)

printf("ninput a real numbers:n")

scanf("%c", &c);

printf("%d", c);

return 0;

}

3. 字符型变量a的值未知,程序的功能是从键盘上为a提供一个字符,输出其后续字符,请选择合适的输入函数填空。

#include "stdio.h"

int main( )

{

char a;

a = (1) ;

puthar(a + 1);

return 0;

}

4. 下面程序的功能是从键盘上任意输入一个华氏温度f,要求输出对应的摄氏温度C,转换公式为C=5/9(F-32),请填写程序。

#include "stdio.h"

int main( )

{

float f, c;

printf("Plea input F:n")

scanf("%f", &f)

c = (1) ;

printf("f=%f,c=%f", f, c);

return 0;

}

(提示:5/9要写成5.0/9,或5/9.0,否则结果为0,请思考。)

5. 下面程序的功能是求任意两个整数的和,如从键盘输入3,5,则程序的输出结果是3+5=8,请在空白处填写合适的内容。

#include "stdio.h"

int main( )

{

int a, b, c;

printf("ninput two integer umbers:n")

scanf("%d,%d", &a, &b);

c = a + b;

printf(" (1) ", a, b, c);

return 0;

}

参考答案:

一、选择题:

1、C 2、A 3、B 4、B 5、B

6、A 7、C 8、B 9、B 10、A

二、填空题

1、%d 2、char c; 3、getchar()

4、5.0/9*(F-32)或5/9.0*(F-32)或5.0/9.0*(F-32)

5、%d+%d=%d

第四章

习 题

一、选择题

1. 如果c为字符型变量,下面 可以判断c是否为空格。

A) if(c = = 32) B) if(c = ' ')

C) if(c = '32') D) if(c = '')

2. 下列程序段的输出结果是 。

int x = 1, y = 1, z = 1;

x + = y + = z;

printf("%dn", x < y ? y : x);

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

3. 有如下程序:

#include "stdio.h"

int main( )

{

int x = 1, a = 0, b = 0;

switch(x)

{

ca 0:b++;

ca 1:a++;

ca 2:a++; b++;

}

printf("a = %d,b=%dn", a, b);

return 0;

}

该程序的输出结果是 。

A)a=2,b=1 B)a=1,b=1

C)a=1,b=0 D)a=2,b=2

4. switch语句中default的位置。下列程序段执行后的输出结果是 。

#include "stdio.h"

int main( )

{

int n = 'c';

switch(n++)

{

default: printf("error"); break;

ca 'a':

ca 'A':

ca 'b':

ca 'B': printf("good"); break;

ca 'c':

ca 'C': printf("pass");

}

ca 'd':

ca 'D': printf("warn");

}

return 0;

A) good B) passwarn C) pass D) goodpass

5. 下列程序段所表示的逻辑关系是 。

if(a

{

if(c == d)

{

x = 1;

}

el

{

x = 2;

}

}

┌ 1 a

A) x = ┤

└ 2 a≥b且c≠d

┌ 1 a

B) x = ┤

└ 2 a≥b

┌ 1 a

C) x = ┤

└ 2 a

┌ 1 a

D) x = ┤

└ 2 c≠d

6. 与条件语句y = (x > 0 ? 1 : x < 0 ? -1 : 0);功能相同的if语句是 。

A) if (x > 0) y = 1; B) if(x)

el if (x < 0) y = -1; if (x>0) y = 1;

el y = 0; el if (x < 0) y = -1;

el y = 0;

C) y = -1; D) y = 0;

if(x) if(x >= 0)

if(x > 0) y = 1; if(x > 0) y = 1;

el if(x == 0) y = 0; el y = -1;

el y = -1;

7. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 。

#include"stdio.h"

int main( )

{

int x;

scanf("%d", &x);

if(x++ > 5)

{

printf("%d", x);

}

el

{

printf("%dn", x--);

}

return 0;

}

A) 7和5 B) 6和3 C) 7和4 D) 6和4

8. 以下程序的输出结果是 。

#include"stdio.h"

int main( )

{

int a,b,d = 241;

a = d / 100 % 6;

b = 1 && (-1);

printf("%d,%dn", a, b);

}

A) 6,1 B) 2,1 C) 6,0 D) 2,0

9. 已知 int x = 10,y = 20,z = 30,则执行

if (x > y)

z = x; x = y;y = z;

语句后,x、y、z 的值是 。

A) x = 10,y = 20,z = 30 B) x = 20,y = 30,z = 30

C) x = 20,y = 30,z = 10 D) x = 20,y = 30,z = 20

二、程序填空题

1. 下面的程序完成如下函数的计算,请填空。

2x1, x0yx, 0x10

x2, x10

#include "stdio.h"

(1)

int main( )

{

int x, y;

if(x < 0)

(2)

el if (3)

y = sqrt(x);

el y = x * x;

printf("%d", y);

return 0;

}

2. 下面的程序完成从三个数中找出最大数,请填空。

#include"stdio.h"

int main( )

{

int a,b,c,t;

scanf("%d,%d,%d",&a, &b, &c);

printf("%d,%d,%dn", a, b, c);

if(a < b) (1) /* a中存放a、b的大值 */

if (2) a = c ; /* 将a,b的大值a与c比较,大者再放入a中 */

printf("%dn", a);

return 0;

}

3.下面程序从键盘上输入两个数,按升序输出这两个数。请在两个注释行/*************************/之间填写上适当的语句。

#include"stdio.h"

int main( )

{

int a, b;

/*************************/

}

/*************************/

printf("a = %d,b = %dn", a, b);

return 0;

4.下面程序的功能是从键盘上输入一个阳历月份,使用if语句,输出该月的天数(不考虑闰年)。请把程序段填入两个/*************************/注释行之间。

#include"stdio.h"

int main( )

{

int month, day;

scanf("%d",&month);

/*************************/

/*************************/

return 0;

}

参考答案

一、选择题

1、A 2、A 3、A 4、B 5、C

6、A 7、A 8、B 9、B

二、填空题

1、(1)#include “math.h” (2)y=2*x+1

2、(1)a=b (2)a

3、int t;

scanf(“%d,%d”,&a,&b);

if (a>b) { t=a; a=b; b=t; }

4、

if(month==2) day=29;

el if(month==4 || month==6 || month==9

day=30;

el day=31;

printf("month=%d,day=%dn",month ,day);

(3) (x<=10)

|| month==11)

第五章

习 题

一、选择题

1. while(!x)中的 !x 与下式中的 ______等价。

A) x == 0 B) x != 0 C) x == 1

2. 若i为整型变量,则以下循环语句的循环次数是______。

for(i = 2; i == 0; )

printf("%d", i--);

A) 无限次 B) 0次 C) 1次

3.

下面程序段的运行结果是______。

int n = 0;

while(n++ <= 2);

printf("%d", n);

A) 2 B) 3 C)4 D)有语法错误

D) x != 1

D) 2次

4. 下列_____ 循环不是死循环。

A) for(y = 0; x = 1; ++y); B) for ( ; ;x = 0);

C) while(x = 1){x = 1;} D) for(y = 0, x= 1; x > y; x += i);

5. 有如下程序段:

int k = 10;

while(k = 0) k = k - 1;

以下描述正确的是______。

A) while循环10次 B) while循环是无限循环

C) while循环执行1次 D) while循环一次也不执行

6. 以下描述正确的是______。

A) continue语句的作用是结束整个循环

B) break语句只能使用在循环体内和switch结构内

C) 在循环体内使用continue语句和 break语句的作用相同

D) 从嵌套的多层循环中退出,只能使用goto语句

7. 下面程序的输出结果是______。

#include "stdio.h"

int main( )

{

int i;

for(i = 1; i < 6; i++)

{

if(i % 2)

{

printf("#");

continue;

}

printf("*");

}

printf("n");

return 0;

}

A) #*#*# B) ##### C) ***** D) *#*#*

8. 下面程序段的运行结果是______。

for(x = 10; x > 3; x--)

{

if(x % 3)

x--;

--x; --x;

printf("%d ", x);

}

A) 6 3 B) 7 4 C) 6 2 D) 7 3

9. 以下程序段的执行结果是______。

int i, j, m = 0;

for(i = 1; i <= 15; i += 4)

{

for(j = 3; j <= 19; j += 4)

{

m++;

}

}

printf("%dn", m);

A) 12 B) 15 C) 20 D) 25

10. 函数pi的功能是根据以下近似公式求π值:

(π * π)/6 = 1 + 1/(2 * 2) + 1/(3 * 3) +…… + 1/(n * n)

请填空,完成求π的功能。

#include "stdio.h"

#include "math.h"

int main( )

{

double s = 0.0;

int i, n;

printf("Plea input n:");

scanf("%d", &n);

for(i = 1; i <= n ;i++)

s = s + ______ ;

s = (sqrt(6 * s));

printf("s=%e", s);

return 0;

}

A) 1 / i * i B) 1.0 / i * i

C) 1.0 / (i * i) D) 1.0 / (n * n)

二、填空题

1. 在三种循环结构中,先执行循环操作内容(即循环体),后判断控制循环条件的循环结构是 ______ 循环结构。

2. 三种循环语句都能解决循环次数已经确定的循环,其中 ______ 循环语句最适合。

3. 以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入,请填空。

#include "stdio.h"

int main( )

{

float x, amax, amin;

scanf("%f", &x);

amax = x;

amin = x;

while ( )

{

if(x > amax) amax = x;

if( ) amin = x;

scanf("%f", &x);

}

printf("namax=%fnamin=%fn", amax, amin);

return 0;

}

4. 计算正整数num的各位上的数字之积。 例如,若输入:234,则输出应该是:24。若输入:808,则输出应该是:0。请填空。

#include "stdio.h"

int main( )

{

}

long int num,k;

__________;

printf("Plea enter a number:") ;

scanf("%ld", &num) ;

do

{

k *= num % 10 ;

_________;

} while(num) ;

printf("n%ldn", k) ;

return 0;

5. 求两个正整数x,y的最小公倍数,请填空。

#include "stdio.h"

int main( )

{

int x = 24, y = 31, t, min, i;

if(x > y)

{

if( ________ )

min = i;

{t = x; x = y; y = t;}

for ( ______; i> = y; i-- )

}

printf("min is : %d", min);

return 0;

}

参考答案

一、选择题

1、A 2、B 3、B 4、D 5、D

6、B 7、A 8、B 9、C 10、C

二、填空题

1. 在三种循环结构中,先执行循环操作内容(即循环体),后判断控制循环条件的循环结构是do{ }while 循环结构。

2. 三种循环语句都能解决循环次数已经确定的循环,其中 __for____ 循环语句最适合。

3. 以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入,请填空。

#include "stdio.h"

int main( )

{

float x, amax, amin;

scanf("%f", &x);

amax = x;

amin = x;

while ( x>=0 )

{

if(x > amax) amax = x;

if( x

scanf("%f", &x);

}

printf("namax=%fnamin=%fn", amax, amin);

return 0;

}

4. 计算正整数num的各位上的数字之积。 例如,若输入:234,则输出应该是:24。若输入:808,则输出应该是:0。请填空。

#include "stdio.h"

int main( )

{

}

long int num,k;

k=1;

printf("Plea enter a number:") ;

scanf("%ld", &num) ;

do

{

k *= num % 10 ;

num=num/10;

} while(num) ;

printf("n%ldn", k) ;

return 0;

5. 求两个正整数x,y的最小公倍数,请填空。

#include "stdio.h"

int main( )

{

int x = 24, y = 31, t, min, i;

if(x > y)

{

if( i%x==0 && i%y==0 )

min = i;

{t = x; x = y; y = t;}

for ( i=x*y; i> = y; i-- )

}

printf("min is : %d", min);

return 0;

}

第六章

习 题

一、选择题

1.有以下数组的定义,则数组下标的最小值和最大值为 。

int a[ ] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

A) 1,10 B) 0,10

C) 0,9 D) 1,9

2.有以下数组的定义,设i = 5,则数组元素a[a[i]]的值为 。

int a[ ] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

A) 5 B) 6 C) 7 D)8

3.下列语句中,正确的是 。

A) char a[3][ ] ={'abc', '1'};

B) char a[ ][3] = {'abc','1'};

C) char a[3][ ] = {'a', "1"};

D) char a[ ][3] = {"a", "1"};

4.有以下数组的定义,元素a[0][2] 的值为 。

int a[2][3] = {1,2,3,4,5,6};

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

5.有以下数组的定义,则下面正确的叙述为 。

int a[2][3] = {0};

A) 只有元素a[0][0] 得到初始值0

B) 数组的定义不正确

C) 只有元素a[0][0]得到初始值0,其它元素的值为随机数

D) 数组中的每一个元素得到初始值0

6.有以下数组的定义,则数组的长度和数组中的字符个数为 。

char a[ ] = {"hello!"};

A) 6,7 B) 7,6 C) 6,6 D) 7,7

7.有以下数组的定义,则将字符串str2 赋给字符串str1的正确语句为 。

char str1[10], str2[10] = {"hello!"};

A) strcpy(str1,str2); B) strcpy(str2,str1);

C) str1 = str2; D) str2 = str1;

8.以下程序的输出结果是 。

#include "stdio.h"

int main( )

{

int i, x[3][3] = {9, 8, 7, 6, 5, 4, 3, 2, 1};

for(i = 0; i < 3; i += 1)

{

printf("%5d", x[1][i]);

}

return 0;

}

A) 6 5 4 B) 9 6 3

C) 9 5 1 D) 9 8 7

9. 下面程序运行后,输出结果是 。

#include "stdio.h"

int main( )

{

int a[10] = {1, 2, 3, 4, 5, 6}, i, j;

for(i = 0; i < 6; i++)

{

j = a[i];

a[i] = a[5-i];

a[5-i] = j;

}

for(i = 0; i < 6; i++)

{

printf("%d ", a[i]);

}

return 0;

}

A) 6 5 4 3 2 1 B) 1 2 3 4 5 6

C) 1 5 4 3 2 6 D) 1 5 3 4 2 6

10. 以下程序的输出结果是______。

#include "stdio.h"

int main( )

{

char s[ ] = {"12134211"};

int v[4] = {0, 0, 0, 0}, k, i;

for(k = 0; s[k]; k++)

{

switch(s[k])

{

ca '1': i = 0;

ca '2': i = 1;

ca '3': i = 2;

ca '4': i = 3;

}

v[i]++;

}

for(k = 0; k < 4; k++)

{

printf("%d ", v[k]);

}

return 0;

}

A) 4 2 1 1 B) 0 0 0 8

C) 4 6 7 8 D) 8 8 8 8

二、填空题

1.在C语言中,数组的下标从 开始。

2. 设有定义语句:char a[ ] = {"123450"};,则表达式 strlen(a)的值为 。

3.判断字符串s1和字符串s2是否相等,应使用语句 。

4.printf("%dn", strlen("ATSn0121"));该语句的输出结果是______。

5. 把数组a(大小为100)中前n个元素中的最大值放入a的最后一个元素中,n的值由键盘输入。

#include "stdio.h"

int main( )

{

int a[100], i, n;

;

for(i = 0; i < n; i++)

{

scanf("%d", &a[i]);

}

a[99] = a[0];

for(i = 1; i < n; i++)

{

if(a[99] < a[i]) a[99] = a[i];

}

printf("Max is %dn", );

return 0;

}

参考答案:

一、选择题

1、C 2、C 3、D 4、C 5、D

6、B 7、A 8、A 9、A 10、B

二、填空题

1、0 2、5 3、if(strcmp(s1,s2)==0) 45、(1) scanf(“%d”,&n)

(2) a[99]

、9

第七章

习 题

一、 选择题

1. 以下正确的函数声明是 。

A) double fun(int x,int y)

C) double fun(int x,int y);

A) double fun(int x, int y)

B) double fun(int x; int y)

D) double fun(int x,y);

B) double fun(int x; int y)

D) double fun(int x, y)

2.

以下所列的各函数定义首部中,正确的是 。

C) double fun(int x, int y);

3. 以下有关函数的简单变量作形参和实参的说法中正确的是 。

A) 实参和与其对应的形参各占用独立的存储单元

B) 实参和与其对应的形参各占用一个存储单元

C) 只有当实参和与其对应的形参同名时才占用同一个存储单元

D) 形参是虚拟的,不占用存储单元

4. 用简单变量作为实参时,其与对应的形参之间的数据传递方式为 。

A) 地址传递

B) 单向的值传递

C) 按用户指定方式传递

D) 由实参传递给形参,再由形参传回给实参

5. 如果用数组名作为函数的实参,则传递给形参的是 。

A) 数组的首地址

B) 数组中第一个元素的值

D) 数组元素的个数 C) 数组中全部元素的值

6. 以下正确的说法是 。

A) 用户若需要调用标准库函数,调用前必须重新定义

B) 用户可以重新定义标准库函数,如若此,该函数将失去原有定义

C) 系统不允许用户重新定义标准库函数

D) 用户若需要使用标准库函数,调用前不必使用预处理命令将该函数所在的头文件

包含编译,系统会自动调用。

7. 以下对C语言函数的有关描述中,不正确的是 。

A) 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参

B) 函数不可以嵌套定义但可以嵌套调用

C) 函数可以有返回值也可以没有返回值

D) C程序中有调用关系的所有函数必须放在同一个源程序文件中

8. 以下叙述中不正确的是 。

A) 在不同的函数中可以使用相同名字的变量

B) 函数中的形式参数是局部变量

C) 在一个函数内定义的变量只在本函数范围内有效

D) 在一个函数内的复合语句中定义的变量在本函数范围内有效

9. 在函数中未指定存储类型的局部变量,其存储类型默认为 。

A) 自动(auto)

B) 静态(static)

D) 寄存器(register) C) 外部(extern)

10. 以下对编译预处理描述错误的是 。

A) 预处理命令行必须以#开头

B) 一条预处理命令必须占一行

C) 预处理命令行只能位于源程序中所有语句之前

D) 预处理命令行不是C语言本身的组成部分

二. 填空题

1. 形参应与其对应的实参在

上保持一致。

2. 已有定义int a = 1, b = 2, m = 3, n = 4;,函数调用语句fun(a / b, m + n)中的实参值分别为

, 。

n3. 已知函数fun的功能是计算x。

double fun(double x, int n)

{

int i;

double y = 1;

for(i = 1;i <= n; i++)

{

y = y * x;

}

return y;

}

主函数中已经正确定义m,a,b变量并赋值,欲调用fun( )函数计算:

4 4 3m = a+ b- (a + b)。实现这一计算的函数调用语句为 。

4.函数调用时,如果形参和实参均是数组名,则传递方式为 。

5.有宏定义为#define Y 2 + 3 ,则表达式2 + Y * 3的值为 。

参考答案

一、选择题

1、C 2、A 3、A 4、B 5、A

6、C 7、D 8、D 9、A 10、C

二、填空题

1、类型、个数、顺序

2、0、7

3、m=fun(a,4)+fun(b,4)-fun(a+b,3)

4、地址传递

5、13

本文发布于:2024-04-01 22:55:18,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1255320.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:程序   函数   语句   循环   输出   输入   结果   定义
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图