2011年秋季学期《C语言》在线考试(适用于2011年12月份考试),请给正确答案,正确分加倍~

Python010

2011年秋季学期《C语言》在线考试(适用于2011年12月份考试),请给正确答案,正确分加倍~,第1张

一、1.C 2.D 3.c 4.C 5.D 6.B 7.A 8.B 9.B 10.D

二、1.a=5 b=8

a=8 b=5

2.1

3.x=8,y=4

4.21

5.-3 -1

6.自己搞定

7.s=24

8.12,12

9.-2

10.-1

1.除了流程图、自然语言等方法,C语言程序也可以用来描述算法。

True

2.C语言可以表示任意大小的整数。

False

3.C语言中可以用if和goto语句实现任何循环控制结构。

True

4.C程序必须通过编译生成obj文件,然后再连接才能生成exe程序。

True

5.在C语言中,单目符号的优先权肯定比双目符号的优先权高。

False

6."使用printf输出特殊符号’&’,必须使用转义符号‘/’。"

True

7.”string” 占用的内存为7个字节。

False

8.C语言可以使用#define来定义新的变量。(宏定义)

True

9.若某个函数没有返回值,则可以使用void来定义。

True

10.break的功能是用来结束本次循环。

True

二. 选择题(每小题 2分)

1.要为字符型变量a赋初值,下列语句中哪一个是正确的____A____。

A. char a='3'

B. char a=“3”

C. char a=%

D. char a=*

2.下面不属于关键字的是_____D_______。

A. while

B. if

C. for

D. end

3.在C语言中,为了保持具有高度的结构化和逻辑性,不使用_____A_____循环控制语句。

A. goto

B. break

C. continue

D. return

4.源程序经过编译以后生成的文件是____A______。

A. obj文件

B. c文件

C. cpp文件

D. exe文件

5."若已定义x和y为double类型,则表达式: x=1

A. y=x+3/2的值是__________。"(题目有问题 )

B. 1

C. 2.0

D. 2

6."若t为double类型,表达式t=1(题目有问题 )

A. t+5

B. t++的值是__________。"

C. 1

D. 6.0

7.要将一个小写字符’b’变成大写,则可以将其_____A_____。

A. -32

B. +32

C. -31

D. +31

8.下列数据类型中,不属于C语言基本数据类型的是____A______。

A. 字符串型

B. 整型

C. 浮点型

D. 字符型

9.下列语句中无法实现循环的是_____D_____。

A. while

B. goto

C. for

D. switch

10.下面关于算法的论断中,错误的是____B______。

A. 算法描述了解决问题的办法;

B. 算法必须有输出;

C. 相同的算法可以有不同的表示;

D. 算法的描述方式和程序设计语言无关;

三. 填空题(每小题 2分)

1.表示字符串结束的字符是

'\0'

2.若要使用printf函数,则必须包含头文件

#include "stdio.h"

3.表达式x *= y – 3等价于

x=x*(y-3)

4."设int x=5x+=x++则执行printf (〃%d\n〃

11

5.C程序的入口函数为

main

6.使用printf函数输出double类型的变量,必须使用参数___%lf_____。

7.下面语句和while(a>0)等价的是________。

for(a>0)

8.判断某个字符型变量ch为英文小写字母的逻辑表达式为________。

if(ch>95 &&ch<123)

9.用来跳出循环的关键字是________。

continue

10.若要将一个浮点变量f强制转换成为整数变量,则可以写作___(int)f_____。

欢迎采纳!

1.

int sum=0

for(int i=1i<=100i++)

sum+=i

printf("%d\n",sum)

2.

void max_2(int *num1_p,int *num2_p)

{

int *pointer

if( *num1_p >*num2_p )

pointer= num1_p, num1_p= num2_p, num2_p=pointer

}

main()

{ int num1,num2

int *num1_p=&num1, *num2_p=&num2

printf(“Input the first number: ”)scanf(“%d”,num1_p)

printf(“Input the second number: ”)scanf(“%d”,num2_p)

printf(“num1=%d, num2=%d\n”, num1, num2)

max_2(num1_p,num2_p)

printf(“min=%d, max=%d\n”, *num1_p, *num2_p)

}

3.

int fun(int n)

{

if(n==0||n==1)

return 1

else

return n*fun(n-1)

}

main()

{

int n

scanf("%d",&n)

printf("%d\n",fun(n))

}