谭浩强版C语言期末考试_谭浩强c语言考试试题

其他范文 时间:2020-02-27 04:11:17 收藏本文下载本文
【www.daodoc.com - 其他范文】

谭浩强版C语言期末考试由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“谭浩强c语言考试试题”。

一 选择题(24分,每小题2分)

1.已知函数fread的调用形式为fread(buffer,size,count,fp),其中buffer代表的是()。

A 存放读入数据项的存储区

B 存放读入数据的地址或指向此地址的指针 C 一个指向所读文件的文件指针

D 一个整形变量,代表要读入的数据项总数

2.以下程序的输出结果为()。main(){

int i=010,j=10;

printf(“%d,%dn”,i++,j--);}

A 11,9 B 9,10 C 8,10 D 9,9

3.设a为int型变量,执行下列赋值语句后,a的取值分别是()。a=125.534;a=20.0/3;a=(int)125.521%4;a=5

A 125,6,31,1 B 125,6,1,20 C 125,6.666666,31,20 D 125.534,6.666666,2,20

4.设i和k都是int类型,则for循环语句()。for(i=0,k=-1;k=1;i++,k++)printf(“****n”);A 循环结束的条件不合法 B 循环体一次也不执行 C 循环体只执行一次 D 是无限循环

5.以下程序的输出结果为()。main(){

char c;

int i;

for(i=65;i

{

c=i+32;

switch(c)

{

case 'a':

case 'b':

case 'c':printf(“%c,”,c);break;

default:printf(“end”);

}

} }

A a,b,c,end

B a,a,a,end

C a,a,a,D a,b,c,6.函数调用语句:fseek(fp,-10L,2);的含义是()。

A 将文件位置指针从文件末尾处向文件头的方向移动10个字节 B 将文件位置指针从当前位置向文件头的方向移动10个字节 C 将文件位置指针从当前位置向文件末尾方向移动10个字节

D 将文件位置指针移到距离文件头10个字节处

7.以下程序的输出结果为()。main(){

int i=0,j=0;

while(s1[i]!='')

i++;

while(s2[j]!='')

s1[i++]=s2[j++];

s1[i]=0;

printf(“%sn”,s1);}

A side B country C sidetry D countryside

8.下列说法不正确的是()。

A 主函数main中定义的变量在整个文件或程序中有效 B 不同函数中,可以使用相同名字的变量 C 形式参数是局部变量

D 在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效

9.在下列程序段中,枚举变量 c1的值是()。enum color { red,yellow,blue=4,green,white}c1;c1=yellow;c1=white;A 1 B 3 C 5 D 6

10.设有说明 int(*ptr)();其中标识符ptr是()。

A 是一个指向整形变量的指针

B 是一个指针,它指向一个函数值是int的函数 C 是一个函数名 D定义不合法

11.定义由n个指向整形数据的指针组成的数组p,其正确的方式为()。

A int p;B int(*p)[n];C int *p[n];D int(*p)();

12.具有相同类型的指针类型变量p与数组a,不能进行的操作是()。

A p=a;B *p=a[0];C p=&a[0];D p=&a;

二 判断对错,对的划“√”,错的划“×”(20分,每小题2分)

1.参加位运算的数据可以是任何类型的数据。

()

2.若有定义和语句: int a;char c;float f;scanf(“%d,%c,%f”,&a,&c,&f);

若通过键盘输入:10 A 12 5 则a=10,c=‘A’,f=12.5。

()

3.C语言把文件看作是一个字符(字节)的序列。

()

4.若有宏定义:

#define S(a,b)t=a;a=b;b=t 由于变量t没定义,所以此宏定义是错误的。

()

5.在Turbo C中,下面的定义和语句是合法的: file *fp;fp=fopen(“a.txt”,“r”);

()

6.若有定义: char s[ ]=“china”;

则Turbo C系统为数组s开辟6个字节的内存单元。

()

7.若有定义和语句:

int a[3][3]={{3,5},{8,9},{12,35}},i,sum=0;for(i=0;i

sum+=a[i][2-i];则sum=21。

()

8.若有定义和语句: struct student {

int num;

char name[10];

float score;}

s[5]={{1,“lili”,98.5},{9,“xiaohua”,66}},*p=s;printf(“%d”,*p++);输出结果是1。

()

9.在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量。

()

10.在Turbo C中,此定义和语句是合法的: enum aa{ a=5,b,c}bb;bb=(enum aa)5;

()三 写出下列程序的运行结果(36分,每小题6分)1.main(){

int i=29,j=6,k=2,s;

s=i+i/j%k-9;//s=i+(i/j)%k-9

printf(“s=%dn”,s);} 2.main(){

int x=31,y=2,s=0;

do

{

s-=x*y;

x+=2;y-=3;

}

while(x%3==0);//先执行,后判断

printf(“x=%dty=%dts=%dn”,x,y,s);} 3.main(){

int a[6]={10,20,30,40,50,60},i;

invert(a,0,5);

for(i=0;i

printf(“%d,”,a*i+);

printf(“n”);}

invert(int s[ ],int i,int j)//倒置 {

int t;

if(i

{

invert(s,i+1,j-1);//函数自身的嵌套调用,形成循环

t=s[i];

s[i]=s[j];

s[j]=t;

} }

4.#include

main(){

char str[ ]=“The C program”,c;

int i;

for(i=2;(c=str[i])!='';i++)

{

switch(c)

{

case 'g': ++i;break;//由于++i,跳过了g后面的1个字母

case 'o': continue;

default: printf(“%c”,c);continue;

}

printf(“*”);

}

printf(“n”);} 5.struct w //结构体 {

char low;

char high;};

union u //共用体 {

struct w byte;

short word;}uw;

main(){

int result;

uw.word=0x1234;

printf(“word value:%04xn”,uw.word);

printf(“high byte:%02xn”,uw.byte.high);

printf(“low byte:%02xn”,uw.byte.low);

uw.byte.low=0x74;

printf(“word value:%04xn”,uw.word);

result=uw.word+0x2a34;

printf(“the result:%04xn”,result);}

6.main(){

char *s2=“I love China!”,**s1=&s2;

char *s3,c,*s4=“w”;

s3=&c;

*s3='H';

s2=s2+2;

printf(“%st%ct%st%cn”,s2,*s3,s4,**s1);}

四 阅读下列程序,在 处填入适当内容,使程序完整(20分,每个空2分)

1.百马百担问题:有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问大、中、小马各多少匹? main(){

int hb,hm,hl,n=0;

for(hb=0;hb

for(hm=0;hm

{

hl=100-hb-(3);

if(hb/3+hm/2+2*(3)==100)

{

n++;

printf(“hb=%d,hm=%d,hl=%dn”,hb/3,hm/2,2*hl);

}

}

printf(“n=%dn”,n);} 2.用“起泡法”对输入的10个字符排序后按从小到大的次序输出。#define N 10

char str[N];

void main(){

int i,flag;

for(flag=1;flag==1;)

{

scanf(“%s”,str);

flag=0;

printf(“n”);

}

sort(___(4)___);

for(i=0;i

{

printf(“%c”,str[i]);

}

printf(“n”);}

sort(char str[N]){

int i,j;

char t;

for(j=1;j

for(i=0;i

if(str[i]>str[i+1])

{

t=str[i];

____(5)____;

____(6)____;//交换位置

} }

3.以下程序是一个函数,功能是求二阶矩阵(m行n列矩阵)的所有靠外侧的各元素值之和。(本程序中二阶矩阵用一维数组来表示。)

例如,矩阵为: //冒泡排序 3 0 0 3 2 5 7 3 1 0 4 2 则所有靠外侧的各元素值之和为3+0+0+3+2+3+1+0+4+2=18。

add(int m,int n,int arr[]){

for(i=0;i

for(j=0;j

sum=sum+____(7)____;

for(j=0;j

for(i=1;____(8)____;i++)

sum=sum+arr[i*n+j];

return(sum);} 4.用指针作函数参数,编程序求一维数组中的最大和最小的元素值。#define N 10 main(){

void maxmin(int arr[],int *pt1,int *pt2,int n);

int array[N]={10,7,19,29,4,0,7,35,-16,21},*p1,*p2,a,b;

p1=&a;

p2=&b;

maxmin(array,p1,p2,N);

printf(“max=%d,min=%d”,a,b);}

void maxmin(int arr[],int *pt1,int *pt2,int n){

int i;

*pt1=*pt2=arr[0];

for(i=1;i

{

if(arr[i]>*pt1)

____(9)____;

if(arr[i]

____(10)____;

} }

答案

一 选择题(24分,每小题2分)1.(B)2.(C)3.(B)4.(D)5.(D)6.(A)7.(D)8.(A)9.(D)10.(B)11.(C)12.(D)二 判断对错,对的划“√”,错的划“×”(20分,每小题2分)1.(×)2.(√)

3.(√)4.(×)

5.(×)6.(√)

7.(√)8.(×)

三 写出下列程序的运行结果(36分,每小题6分)1.s=20

2.x=35 y=-4 s=-29 3.60,50,40,30,20,10, 4.e C pr*am 5.word value:1234 6.love China!H w l

high byte:12

low byte:34

word value:1274

the result:3ca8

四 阅读下列程序,在 处填入适当内容,使程序完整(20分,每个空2分)1.(1)3(2)2(3)hm hl

2.(4)str(5)str[i]=str[i+1](6)str[i+1]=t 3.(7)arr[i*n+j](8)i

选择题

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

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

B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束

2.以下叙述正确的是 c。

A)在C程序中,main函数必须位于程序的最前面 B)C程序的每行中只能写一条语句 C)C语言本身没有输入输出语句

D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误 3.以下叙述不正确的是 d。A)一个C源程序可由一个或多个函数组成 B)一个C源程序必须包含一个main函数 C)C程序的基本组成单位是函数

D)在C程序中,注释说明只能位于一条语句的后面 4.C语言规定:在一个源程序中,main函数的位置 c。

A)必须在最开始 B)必须在系统调用的库函数的后面 C)可以任意 D)必须在最后 5.一个C语言程序是由 b。

A)一个主程序和若干子程序组成 B)函数组成 C)若干过程组成 D)若干子程序组成 6.C语言中的语句需要 b 符号作为结尾。A): B)C)。D)// 7.C 语言程序中可以对程序进行注释,注释部分用符号_c _括起来。A)‘{‘ 和’}’ B)‘[‘和’]’ C)“/*”和”*/” D)“*/”和”/*” 8.C语言中注释的位置 c。

A)必须在程序的最开始 B)必须在程序的结尾 C)可以在程序的任何位置 D)不可以写到main函数里面

9.C语言程序能够在不同的操作系统下面运行,这说明c语言具有很好的 c。A)适应性 B)移植性 C)兼容性 D)操作性

10.C语言经过编译后生成的文件的后缀是 b。A).c B).cpp C).exe D).obj 11.C语言编译程序的首要工作是 a。

A)检查C语言程序的语法错误 B)检查C语言程序的逻辑错误 C)检查程序的完整性 D)同时检查语法和逻辑错误

12.C语言经过链接后生成的文件的后缀是 c。A).c B).cpp C).exe D).obj 13.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 c。A)必须为字母 B)必须为下划线

C)必须为字母或下划线 D)可以是字母、数字和下划线中任一种字符 14.若以下选项中的变量已正确定义,则正确的赋值语句是 c。A)x1=26.8%3;B)1+2=x2;C)x3=0x12;D)x4=1+2=3;15.设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到小数点后面两位,并将第三位四舍五入的是 b。

A)x=x*100+0.5/100.0 B)x=(x*100+0.5)/100.0 C)x=(int)(x*100+0.5)/100.0 D)x=(x/100+0.5)*100.0 16.下列C语言中运算对象必须是整型的运算符是 a。A)%= B)/ C)= D)*= 17.若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是 a。A)0 B)0.5 C)1 D)2 18.设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是 D。

A)把x和y按从大到小排列 B)把x和y按从小到大排列 C)无确定结果 D)交换x和y中的值

19.下列变量定义中合法的是 a。

A)short _a=1-.le-1;B)double b=1+5e2.5;C)long do=0xfdaL;D)float 2_and=1-e-3;20.若变量已正确定义并赋值,符合C语言语法的表达式是 a。

A)a=b=7 B)a=7+b+c,a++ C)int(12.3%4)D)a=a+7=c+b 21.若有float x;则sizeof(x)和sizeof(float)两种描述 A。A)都正确 B)都不正确 C)前者正确 D)后者正确

22.有整型变量x,单精度变量y=5.5,表达式x=(float)(y*3+((int)y)%4)执行后,x的值 为(b)。

A)17 B)17.500000 C)17.5 D)16 23.已知float x=1,y;则y=++x*++x的结果是 a。A)y=9 B)y=6 C)y=1 D)表达式是错误的 24.下列关于单目运算符++、--的叙述中正确的是 D。A)它们的运算对象可以是任何变量和常量

B)它们的运算对象可以是char型变量和int型变量,但不能是float型变量 C)它们的运算对象可以是int型变量,但不能是double型变量和float型变量 D)它们的运算对象可以是char型变量、int型变量和float型变量 25.已定义ch为字符型变量,下列赋值语句中错误的是 c。A)ch='';B)ch=62+3;C)ch=NULL;D)ch='xaa';26.假定有以下变量定义,则能使值为3的表达式是 d。int k=7,x=12;A)x%=(k%=5)B)x%=(k-k%5)C)x%=k-k%5 D)(x%=k)-(k%=5)27.设有“int x=11;”则表达式(x++*1/3)的值是 a。A)3 B)4 C)11 D)12 28.已定义c为字符型变量,则下列语句中正确的是 c。A)c=’97’ B)c=“97” C)c=97 D)c=“a” 29.sizeof(float)是 c。

A)一个双精度型表达式 B)一个整型表达式 C)一种函数调用 D)一个不合法的表达式

30.有以下定义语句: double a,b;int w;long c;若各变量已正确赋值,则下列选项中正确的表达式是 c。A)a=a+b=b++ B)w%((int)a+b)C)(c+w)%(int)a D)w=a=b 31.若变量a是int类型,并执行了语句:a=‘A’+1.6;,则正确的叙述是 c。A)a的值是字符C B)a的值是浮点型

C)不允许字符型和浮点型相加 D)a的值是字符’A’的ASCII值加1 32.设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是 d。A)6.500000 B)6 C)5.500000 D)6.000000 33.在下列选项中,不正确的赋值语句是 d。A)++t;B)n1=(n2=(n3=0));C)k=i==j;D)b+c=1;34.已知char a;int b;float c;double d;则表达式a+b * c-d的结果为__d __型。A)char B)int C)float D)double 35.若x 为int型变量,则执行语句x=10;x+=x=x-x后,x的值为__a ____。A)0 B)10 C)20 D)30 36.若x、a、b、c均 为int型变量,则执行表达式x=(a = 4, b = 8, c = 12)后,x的 4 值为__c__。

A)4 B)8 C)12 D)24 37.在C程序中,x + y是_____、x + y;是___a____。

A)表达式、语句 B)表达式、表达式 C)语句、语句 D)语句、表达式 38.假设变量a是整型,b是实型,c是双精度型,则表达式30+a+c*b的值的数据类型是 c。

A)int B)float C)double D)不确定

39.在C语言中,char型数据在内存中的存储形式是 d。A)补码 B)反码 C)原码 D)ASCII码

40.执行下列程序片段时输出结果是 c。int x=13,y=5;printf(“%d”,x%=(y/=2));A)3 B)2 C)1 D)0 41.执行语句scanf(“%c%c%c”,&c1,&c2,&c3),输入abc时,变量c1、c2、c3的值分别为 a。A)'a', 'b', 'c' B)'a','b', '' C)'a', '', 'b' D)'a','','c'

42.设c1,c2均是字符型变量,则以下不正确的函数调用为 d。A)scanf(“c1=%cc2=%c”,&c1,&c2);B)c1=getchar();C)putchar(c2);D)putchar(c1,c2);43.下列函数中能够向终端输出一个字符或字符型变量值的是 d。A)gets B)puts C)getchar D)putchar 44.若有下列语句 char c=’A’; printf(“%d”,c);则输出的结果是 c。

A)A B)c C)65 D)错误的语句

45.下列程序输入’a’字母后,执行程序后输出的结果是 b。#include int main(){ char c;c=getchar();c=c-32;printf(“%cn”,c);return 0;} A)65 B)A C)97 D)a 46.程序流程图中带箭头的线段表示 b。

A)处理操作 B)数据流 C)控制流 D)调用关系 47.程序流程图中的菱形框表示 c。A)输入 B)输出 C)判断 D)循环 48.下面的流程图是 d 结构的程序设计。A)顺序 B)顺序加选择 C)判断 D)循环

49.NS图完全取消了 a,不允许有随意的控制流,全部算法写在一个矩形框内。A)流程线 B)输出 C)判断 D)循环 50.以下描述中正确的是 c。

A)由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句 B)do-while循环由do开始,用while结束,在while(表达式)后面不能写分号 C)do-while循环至少要执行一次循环语句 D)do-while循环中,根据情况可以省略while 51.逻辑运算符两侧运算对象的数据类型 d。

A)只能是0或1 B)只能是0或非0正数 C)只能是整型或字符型数据 D)可以是任何类型的数据

52.下列运算符中优先级最高的是 b。(非,算术,关系,AND,或,赋值运算符)A)=1)&&(x = 200)&&(x=1)||(x=200)||(x=1)&&(x= 200)&&(x =1)||(x = 200)||(x

ch

是否为大写字母的正确表达式是 c。A)' A' = 'A')&(ch=' A')&&(ch = ch)55.设x,y 和z是int型变量,且x = 3,y= 4,z= 5,则下面表达式中值为0的是 d。A)'y'&&'y' B)x =y && ch

printf(“It is the %dth day.”,x);return 0;} A)是死循环 B)循环执行2次 C)循环执行1次 D)有语法错误

61.对switch后括号内的表达式,叙述正确的是 c。A)只能是数字 B)可以是浮点数 C)只能是整型数据或字符型数据 D)以上叙述都不对

62.下列关于switch和break语句的说法中正确的是 b。A)break语句只能用在switch语句中 B)在switch语句中,可以根据需要决定是否使用break语句 C)在switch语句中必须使用break语句 D)以上选项都不正确 63.以下正确的描述是 b。

A)continue语句的作用是结束整个循环的执行 B)只能在循环体内和switch语句体内使用break语句 C)在循环体内使用break语句或continue语句的作用相同 D)从多层循环嵌套中退出时, 只能使用goto语句

64.以下说法中错误的是 d。

A)C语言总是从main函数开始执行 B)函数在程序中出现的先后位置与其被调用的顺序无关 C)一个完整的C程序可由若干个C源程序文件组成D)main函数的定义必须出现在所有其他函数之前,否则将产生运行错误 65.C语言规定,函数返回值的类型是 c。

A)由return语句中表达式的类型所决定 B)由调用该函数的主调函数所具有的类型决定 C)由定义该函数时所指定的函数类型决定 D)由系统随机决定 66.以下说法中正确的是 b。

A)main函数和其他函数间可相互调用 B)main函数可以调用其他函数,但其他函数不能调用main函数 C)因为main函数可不带参数,所以其后的参数小括号能省略 D)根据情况可以不写main函数

67.以下函数定义中正确的是 b。A)fun(float x,y)B)

fun(int x, int y)C)

fun(int x, int y);D)void fun(int x, int y){ return x+y;} { return x+y;} { return x+y;} { return x+y;} 68.以下说法中正确的是 b。

A)在一个函数的执行过程中又出现对其他函数的调用,则称此函数为递归函数。B)递归函数中必须存在递归结束的条件

C)函数的递归调用可以提高程序的执行效率 D)递归函数中必须出现return语句 69.以下有关“递归函数”说法中正确的是 a。

A)既允许直接递归调用,也允许间接递归调用 B)只允许直接递归调用 C)既不允许直接递归调用,也不允许间接递归调用 D)只允许间接递归调用

70. C语言中,函数调用时若实参是数组名,则传递给被调函数对应形参的是 d。A)整个数组 B)数组元素的个数

C)数组占用的内存单元个数 D)数组在内存中存放的首地址

71.C语言中,函数调用时若实参是数组名,则被调函数对应形参 c。A)可以是相应类型简单变量 B)必须是相应类型数组名 C)可以是相应类型数组名 D)必须是相应类型的指针变量 72.以下说法中错误的是 d。

A)数组元素可以作为函数实参 B)指针可以作为函数的形参 C)结构变量可以作为函数参数 D)结构指针变量不能作为函数参数

73.C语言中,以下叙述中错误的是 a。A)主函数中定义的变量是全局变量

B)同一程序中,全局变量和局部变量可以同名 C)全局变量的作用域从定义处开始到本源程序文件结束 D)局部变量的作用域被限定在其所定义的局部范围中 74.在一个源程序文件中定义的全局变量,其作用域为 b。

A)整个源程序文件 B)从定义处开始到本源程序文件结束 C)整个主函数 D)所处C程序的所有源程序文件中 75.在C函数中,局部变量的隐含存储类型是 a。A)auto B)static C)register D)extern 76.在C程序中,如果限定一个局部变量只能在所定义的范围中起作用,那么这个变量的存储类型 a。

A)只能是auto B)只能是extern C)可以是auto或static D)可以是extern或static 填空题

1.在C语言中所提供的数据结构是以数据类型形式出现的,其中的基本类型包括int 型 即 整形、float型即_ 单精度浮点型、double型即 双精度浮点型、char型即 字符型 等。2.C语言中的标识符只能由三种字符组成,它们是 字母、数字 和 下划线。

3.C程序中的字符常量是用单引号括起来的一个字符;除此之外,还允许用一种特殊形式的字符常量,是以 反斜杠 开头,被称为转义字符。

4.字符串常量是一对双引号括起来的字符序列,且以 ‘’ 结束。5.常量是指在程序执行过程中其值 不能 _改变的量。6.变量是指在程序执行过程中其值 可以改变 的量。7.C实型变量分为 单精度 _和 双精度 _两类。

8.转义字符'n'表示 换行,使光标移到屏幕上下一行开头。9.一个字符变量在内存中占 1 字节。

10.一个字符数据既可以以字符形式输出,也可以以 整数 形式输出。11.字符串常量是用_ “” _括起来的字符序列。

12.在进行运算时,不同类型的数据必须_ 先强制类型转换 _,然后进行运算。13.可以利用_ 强制类型转换 _运算符将一个表达式的值转换成指定的类型。

14.有两种类型转换,一种是在运算时不必用户指定,系统自动进行类型转换;另一种是 用户自己定义的转换(强制类型转换)。15.两个整数相除的结果是_ 整数。16.求模运算符(%)只能用于 整数 _操作数。17.一个表达式的最后加上一个 ; 就成了一个语句。18.若int x = 3,则执行表达式x*= x+= xb;//(b=7)a = a-b;//(a=9)printf(“a=%d, b=%d n”, a,b);return 0;} A=9;b=7 3.写出以下程序运行的结果 , c = 3。#include int main(){ int a, b, c;a =(b =(c = 3)* 5)*5;printf(“a=%d, b=%d, c=%d n”, a, b, c);return 0;} A=75,b=15,c=3

4.下面程序的功能是输出100至200之间的不能被3整除的数,请填空使程序完整。int main(){ int n;for(n=100;n

{printf(“%d ”,n);} } return 0;} 5.下面程序完成的功能是,在全班50个学

生中,征集慈善募捐,当总数达到2000元时就结束。请判断下面程序的正误,如果错误请改正过来(只有一处错误)。

int main(){ float amount,total;int i;for(i=1,total=0;i=2000)break;}

printf(“%f ”,total);return 0;}

6.执行程序之后,输入2↙6↙3↙,以下程序运行后的输出结果是。(↙表示回车)#include int main(){ int a,b,c,d;printf(“请输入三个整数:n”);scanf(“%d%d%d”,&a,&b,&c);if(a>b)d=a;//d=2 else d=b;if(c>d)d=c;printf(“%dn”,d);return 0;} D=6 7.s+=n;11 } printf(“n=%dn”,n);return 0;} N=5 8.下面程序的功能是:求1!+2!+3!+„+10!,请填空使程序完整。int main(){ int n;double s=0,t=1;for(n=1;n

printf(“%e”, t);return 0;}

9.请给出程序运行结果。int main(){ int i;for(i=1;i

printf(“n”);以下程

后的输

果是。#include int main(){ int n,s;s=n=0;while(s

printf(“%dn”,fun(a,b)/m);return 0;} int fun(int x,int y){ int m=2;return x*y-m;} 4 11.以下程序的功能是求一个3*4矩阵中最小元素。请填空。

fun(int a[][4]){ int i,j,k,min=10000;for(i=0;i

min=a[i][j];return min;} int main(){ int a[3][4]={1,2,3,-22,5,6,-3,8,9,-8,22,10};int k;k= fun(a)printf(“%dn”,k);return 0;} 12.下面程序的功能是:用户从键盘输入两个float型数据a和b,计算并输出a除以b的商。请判断下面程序的正误,如果错误请改正过来。float cal(float a, b){ float x;

x=a/b;//注意这样编程输入时

要输入带小说点,要不这一步做的是取整运算;// return x;} int main(){ float a,b;scanf(“%f %f”,&a,&b);printf(“商=%fn”,cal(a,b));return 0;} 5.下面程序的功能是:输出全局变量a、b两者的最小值。请判断下面程序的正误,如果错误请改正过来。(int a=8,b=7;既然是全局变量,应该写到前面,至少在main前)

int min(int x,int y){ int z;z=x

return 0;} int a=8,b=7

编程题

1.编写一个程序,求满足以下条件的最大的n值。12+22+32+„n2≤10001.#include int main(){ int b,a;a=0;while(b int main(){ int a,b,c;scanf(“%d%d%d”,&a,&b,&c);if(a>b&&a>c){if((a*a)==(b*b+c*c))printf(“长度为abc的三条边能构成直角三角形n”);else printf(“长度为abc的三条边不能构成直角三角形n”);} else if(b>a&&b>c){ if((b*b)==(a*a+c*c))printf(“长度为abc的三条边能构成直角三角形n”);else

printf(“长度为abc的三条边不能构成直角三角形n”);} else if(c>a&&c>b){ if((c*c)==(a*a+b*b))printf(“长度为abc的三条边能构成直角三角形n”);else printf(“长度为abc的三条边不能构成直角三角形n”);} return 0;} 3.判断用户输入的字符是数字字符、字母字符还是其它字符。

4.从键盘输入3名学生的5门成绩,分别找出每个学生的最高成绩,用循环嵌套。5.编写函数,删除字符串中的所有数字字符。6.分别求出1-100之间奇数之和、偶数之和。7.输入三个不同的整数,输出三个整数中的最大数。#include int main(){ int a,b,c;scanf(“%d%d%d”,&a,&b,&c);if(a>b&&a>c)printf(“最大值为%dn”,a);if(b>a&&b>c)printf(“最大值为%dn”,b);if(c>a&&c>b)printf(“最大值为%dn”,c);return 0;}

C语言谭浩强第四版例题

例1.1 要求在屏幕上输入以下一行信息.This is a C program.编写程序: #include // 这是编译预?处理命令 int main( ) // 定义主函数{// 函数开始的标志 printf ("This is......

C语言程序设计谭浩强重点笔记

C语言设计 学习笔记早晨: 06:40起床 07:20——08:20 上午: 08:30——10:30 10:50——11:30 中午: 12:00——02:00 下午: 02:30——04:30 晚上: 05:30——08:00 08:00——09:00......

谭浩强C语言第八章答案.doc

8.1 # include int yueshu(int m,int n); int beishu(int m,int n); int main() { int a,b,Y,B; printf("输入两个数字:\n"); scanf("%d%d",&a,&b); Y=yueshu(a,b); B=b......

C语言程序设计(谭浩强)第四版_课后答案精讲

第一章 程序设计和C语言 【第15页】 1-5 #include int main ( ) { printf ("**************************\n\n"); printf(" Very Good!\n\n"); printf ("*******......

C语言设计谭浩强第三版的课后习题答案

C语言设计谭浩强第三版的课后习题答案1.5请参照本章例题,编写一个C程序,输出以下信息: main() { printf("************ \n"); printf("\n"); printf("Very Good! \n")......

下载谭浩强版C语言期末考试word格式文档
下载谭浩强版C语言期末考试.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

热门文章
点击下载本文