实验习题答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言概述

1.若有源程序文件t1.c,编译后生成的目标文件名是_t1.obj_,连接后生成的文件名是__t1.exe_,它们位于磁盘什么位置?

默认情况下是obj和源文件在同一目录下,exe在源文件目录下的debug目录下,可以在编译环境中设置到其他地方。

2.程序1_3.c中输出的10!值是多少?

数据与数据类型

1.实验一的程序1中,语句a=1+1/2+1/3+1/4;执行后变量a的值是__1___。怎样修改程序才能得到正确的结果?

将a=1+1/2+1/3+1/4改为a=1+1/2.0+1/3.0+1/4.0;

2.实验二中你用什么样的方式定义符号常量?还可以用什么方法定义符号常量?

可以通过Define宏定义和const常量定义两种方式定义符号常量

3.直接阅读实验四的程序,你认为三条输出结果是什么?程序运行得到的结果是什么?能分析一下为什么是这样的结果?

4.实验五的程序运行时,如果输入数据10 20 40 ,运行时会出现什么结果?为什么?息样避免这样的情况发生?

面积出现不可预估值,pow参数为负数,即两边之和不大于第三边,应在算面积之前用if语句判断。

5.下面程序段执行后,问:变量a、b在内存中所占字节数分别为__4___、___4__,其值分别为__20_、__40__。

int a=-6.56; float b;

b=(a=4*5,a*2),a+6;

6.下列定义变量的语句中错误的是______。

A) int _int; B) double int_; C) char For; D) float US$; 7.若变量x、y已正确定义并赋值,下面符合C语言语法的表达式是__A___。

A) ++x,y=x-- B) x+1=y C) x=x+10=x+y D) double(x)/10 8.数字字符0的ASCII的值为48,下面程序运行后输出结果是______。

main()

{char a='1',b='2';

printf("%c,",b++);

printf("%d\n",b-a);

}

A) 3,2 B) 50,2 C) 2,2 D) 2,50

9.设有 int x=11; 则表达式 x++*1/3 的值是______。

A) 3 B) 4 C) 11 D) 12

顺序语句及输入与输出

1.已有如下定义和输入语句,若要求a,b,c1,c2的值分别为5、6、A和B,当从第一列开始输入数据时,正确的数据输入方式是 ______ (表示回车)。

int a,b;

char c1,c2;

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

A) 5 A 6 B B) 5 A6B C) 5A6BD) 5A6 B 2.以下说法正确的是_______。

A)输入项可以为一个实型常量,如scanf(“%f”,3.5);

B)只有格式控制,没有输入项,也能正确输入,如scanf(“a=%d,b=%d”);

C)当输入实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&f);

D)当输入数据时,必须指明地址,如scanf(“%f”,&f);

E)可以采用不同的格式符,实现对一个实型数据以八进制或十六进制形式输入/输出。

F)整型数据不能使用%f或%lf格式符。

3.若a是int型变量,则表达式(a=5*6,a*3),a+8的值是 _________ 。

4.若有定义:int b=7; float a=2.5,c=4.7; 则表达式 a+(int)(b/3*(int)(a+c)/2)%4的值为__5.5___。

5.输出长整型数据使用格式符___%ld____,输出无符号的整数用格式符__%u__ ,以指数形式输出单精实数用格式符__%e____。

6.下面程序运行时输入:10 11<回车>,输出__a=8,b=17________。

#include

void main()

{int a,b;

scanf("%o%x",&a,&b);

printf("a=%d,b=%d\n",a,b);

}

7.下面程序段执行时,怎样输入才能让a=10,b=20 ?____a=10,b=20______________ int a,b;

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

8.若a和b均为int变量,以下语句的功能是____交换a和b的值_________。

a+=b;b=a-b;a-=b;

9.在scanf函数调用中,可以在格式字符和%之间加一星号*,它的作用是___本输入项在读入后不赋给相应的变量_____。

10.a++、++a、a=a+1都能实现使变量a的值增1,与之等效的表达式还有__ a+=1________

分支结构

1.若执行下面的程序时从键盘上输入5,则输出结果是______

main()

{int x;

scanf("%d",&x);

if(x++>5)printf("%d\n",x);

else printf("%d\n",x--);

}

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

2.已知a,b,m,n,c,d变量的定义如下,则执行完下列表达式后m,n的值为______ int a=3,b=4,m=0,n=0,c=3,d=4;

(m=a

A) m=1 n=1 B) m=1 n=0C) m=0 n=0 D) m=0 n=1

3.表达式(!7<5+1>0+4<5)的值是______

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

4.假设在程序中,x,y,z均被定义成整型,且已赋大于1的值,则下列能正确表示1/(xyz)的表达式是______

A) 1/x*y*z B)1/(x*y*z)C) 1/x/y/(float)z D) 1.0/x/y/z

5.已知字母a的ASCII十进制代码为97,则执行以下语句后的输出为______ char a='a';a--;

printf("%d,%c\n",a+'2'-'0',a+'3'-'0');

A) b,c B) a--运算不合法,故有语法错C) 98,c

D) 格式描述和输出项不匹配,输出无定值

6.为了避免嵌套的条件语句if-else的二义性,C语言规定:else与_____配对。

A) 缩排位置相同的if B) 其之前最近的if

C) 其之后最近的if D) 同一行上的if

7.若给定条件表达式(M)?(a++): (a--),则其中表达式M______

A) 和(M==0)等价B) 和(M==1)等价

C) 和(M!=0)等价D) 和(M!=1)等价

8.若有说明语句char s='\092'; 则该语句______

A) 使s的值包含1个字符B) 说明不合法,s的值不确定

C) 使s的值包含4个字符D) 使s的值包含3个字符

相关文档
最新文档