2013c语言模拟题库及答案详解_第1页
2013c语言模拟题库及答案详解_第2页
2013c语言模拟题库及答案详解_第3页
2013c语言模拟题库及答案详解_第4页
2013c语言模拟题库及答案详解_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言模拟题一.填空题1、以下叙述中正确的是(C )。(1分)A、C语言程序将从源程序中第一个函数开始执行 B、可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C、C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束 D、main可作为用户标识符,用以命名任意一个函数作为主函数2、利用fseek函数可实现的操作(B)。(1分)A、fseek(文件类型指针,起始点,位移量);

B、fseek(fp,位移量,起始点);C、fseek(位移量,起始点,fp);

D、fseek(起始点,位移量,文件类型指针);3、C语言源程序名的后缀是(

B

)。(1分)A、.exe

B、.c

C、.obj

D、.cp4、若有如下定义变量:int

K=7,X=12;则能使值为3的表达式是(

D

)。(1分)A、X%=(K%=5)

B、X%=(K-K%5)C、X%=K-K%5

D、(X%=K)-(K%=5)5、对for(表达式1;;表达式3)可理解为(

B

)。(1分)A、for(表达式1;0;表达式3) B、for(表达式1;1;表达式3)C、for(表达式1;

表达式1;表达式3) D、for(表达式1;

表达式3;表达式3)6、把数学表达式-5≤x<10表示成C语言表达式(

C

)。(1分)A、-5≤x<10

B、x≥-5&&x<10C、x>=-5&&x<10

D、-5=<

x,

x

<

107、下列能正确表示a≥10或a≤0的关系表达式是(

C

)。

(1分)A、a>=10

or

a<=0

B、a<=10

||

a>=0C、a>=10

||

a<=0

D、a>=10

&&

a<=08、在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为(

D

)。(1分)A、a<>0

B、!a

C、a=0

D、a9、以下正确的是(

D

)。(1分)A、do-while语句构成的循环不能用其它语句构成的循环来代替 B、do-while语句构成的循环只能用break语句退出C、用do-while语句构成循环时,只有在while后的表达式非零时结束循环 D、用do-while语句构成循环时,只有在while后的表达式为零时结束循环10、

有以下程序段

int

n,t=1,s=0;

scanf("%d",&n);

do{

s=s+t;

t=t-2;

}while

(t!=n);为使此程序段不陷入死循环,从键盘输入的数据应该是(D)。(1分)A、任意正奇数 B、任意负偶数C、任意正偶数 D、任意负奇数11、C语言中

while

和do-while循环的主要区别是(

A

)。(1分)A、do-while的循环体至少无条件执行一次 B、while的循环控制条件比do-while的循环控制条件更严格C、do-while允许从外部转到循环体内 D、do-while

的循环体不能是复合语句12、C语言中,数组名代表(B)。

(1分)A、数组全部元素的值 B、数组首地址C、数组第一个元素的值 D、数组元素的个数

13、在C

语言中,引用数组元素时,其数组下标的数据类型允许是(C)。

(1分)A、整型常量

B、整型表达式C、整型常量或整型表达式

D、任何类型的表达式14、关于C语言以下说法正确的是(

B

)。(1分)A、只有当实参和与其对应的形参同名时才共占用存储单元 B、形参是虚拟的,不占用存储单元C、实参和与其对应的形参各占用独立的存储单元 D、实参和与其对应的形参共占用一个存储单元15、返回值为void的函数,其含义是(

C

)。(1分)A、调用函数之后,被调用的函数没有返回值 B、调用函数之后,被调用的函数不返回C、调用函数之后,被调用的函数的返回值为任意的类型 D、以上三种说法都是错误的16、C语言程序由函数组成。以下说法正确的是(

B

)。(1分)A、主函数必须在其它函数之前,函数内可以嵌套定义函数 B、主函数可以在其它函数之后,函数内不可以嵌套定义函数C、主函数必须在其它函数之前,函数内不可以嵌套定义函数 D、主函数必须在其它函数之后,函数内可以定义函数17、若有定义语句int

(*p)[M];

其中的标识符p是(C)

(1分)A、M个指向整型变量的指针 B、指向M个整型变量的函数指针C、一个指向具有M个整型元素的一维数组指针

D、具有M个指针元素的一维指针数组,每个元素都只能指向整型量18、若有语句:char

*line[5];,以下叙述中正确的是(A)。(1分)A、定义line是一个指针数组,每个数组元素是一个基类型为char的指针变量B、定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C、定义line是一个指针数组,语句中的*号称为间址运算符 D、定义line是一个指向字符型函数的指针19、用C语言编写的代码程序(C)。(1分)A、可立即执行 B、是一个源程序C、经过编译即可执行 D、经过编译解释才能执行

20、若执行fopen函数时发生错误,则函数的返回值是(B)。(1分)A、地址值 B、0C、1 D、EOF21、计算机能直接执行的程序是(

D

)。(1分)A、源程序

B、目标程序C、汇编程序

D、可执行程序22、以下合法的赋值语句是(

B

)。

(1分)A、x=y=100

B、d--;

C、x

+

y

D、c

=

int(a+b);23、下列叙述中正确的是(D)。(1分)A、break语句只能用于switch语句 B、在switch语句中必须使用defaultC、break语句必须与switch语句中的case配对使用 D、在switch语句中,不一定使用break语句25、对以下for循环:for(x=0,y=0;(y!=123)&&(x<4);x++,y++;叙述正确的是(

C

)。(1分)A、是无限循环

B、循环次数不定

C、执行了4次

D、执行了3次26、在循环结构的循环体中执行break语句,其作用是(

C

)。(1分)A、结束本次循环,进行下次循环B、继续执行break语句之后的循环体中各语句C、跳出该循环体,提前结束循环 D、终止程序运行27、若已定义数组:float

a[8];则下列对数组元素引用正确的是(A)。(1分)A、a[0]

=1; B、a[8]=a[0];C、a=1; D、a[3.5]=1;28、有以下函数定义:void

fun(int

n,double

x)

{……},若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是

(C)。(1分)A、fun(int

y,double

m); B、k=fun(10,12.5);C、fun(x,n); D、void

fun(n,x);29、有如下函数调用语句:fuc(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是(A)。(1分)A、3 B、4C、5 D、有语法错30、以下关于return

语句的叙述中不正确的是(D)。

(1分)A、一个自定义函数中必须有一条return

语句 B、一个自定义函数中可以根据不同情况设置多条return

语句C、定义成void

类型的函数中可以有带返回值的return

语句 D、没有return

语句的自定义函数在执行结束时不能返回到调用处

31、

说明语句"int

(*p)()"的含义是(C)。

(1分)A、p是一个指向一个一维数组的指针变量 B、p是指针变量,它指向一个整型数据的指针C、p是一个指向函数的指针,该函数的返回值是一个整型 D、以上都不对32、若有定义:int

a[3][4];不能表示数组元素a[1][1]的是(C)。(1分)A、*(a[1]+1)

B、*(&a[1][1])C、(*(a+1)[1])

D、*(a+5)33、设有以下说明语句struct

ex{

int

x

;

float

y;

char

z

;}

example;则下面的叙述中不正确的是(B)

(1分)A、struct结构体类型的关键字 B、example是结构体类型名C、x,y,z都是结构体成员名 D、struct

ex是结构体类型34、当定义一个结构体变量时,系统分配给它的内存空间是(D)。(1分)A、结构中一个成员所需的内存量 B、结构中最后一个成员所需的内存量C、结构体中占内存量最大者所需的容量D、结构体中各成员所需内存量的总和35.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是(C)。(1分)

A、-3B、9

C、-12D、6

以下叙述中正确的是(B)。(1分)

A、全局变量的的作用域一定比局部变量的作用域范围大B、静态(static)类别变量的生存期贯穿于整个程序的运行期间

C、函数的形参都属于全局变量D、未在定义语句中赋初值的auto变量和static变量的初值都是随机值

42、以下定义语句中,错误的是(D)。(1分)

A、inta[]={1,2};B、char*a[3];

C、chars[10]="test";D、intn=5,a[n];

43、以下叙述中正确的是(C)。(1分)

A、C语言程序将从源程序中第一个函数开始执行B、可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行

C、C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D、main可作为用户标识符,用以命名任意一个函数作为主函数

44、函数调用语句:fseek(fp,-20L,2);的含义是(B)。(1分)

A、将文件位置指针移到距离文件头20个字节处B、将文件位置指针从当前位置向后移动20个字节

C、将文件位置指针从文件末尾处后退20个字节D、将文件位置指针移到离当前位置20个字节处

45、计算机能直接执行的程序是(D)。(1分)

A、源程序B、目标程序

C、汇编程序D、可执行程序

46、下面不是C语言合法标识符的是(B)。(1分)

A、fine5B、&i

C、_scoreD、flag

47、若已定义a=8,b=2则表达式a||b&&(a-b*4)的运行结果是(B)。(1分)

A、8B、1

C、0D、2

48、以下选项中,当x为大于1的奇数时,值为0的表达式(D)。(1分)

A、x%2==1B、x/2

C、x%2!=0D、x%2==0

49、表达式"0?(0?3:2):(10?1:0)"的值为(C)。(1分)

A、3B、2

C、1D、0

53、合法的数组定义是()。(1分)

A、inta[]="string";B、inta[5]={0,1,2,3,4,5};

C、chara="string";D、chara[]={0,1,2,3,4,5};

54、若函数的形参为一维数组,则下列说法中正确的是()。(1分)

A、调用函数时的对应实参必为数组名B、形参数组可以不指定大小

C、形参数组的元素个数必须等于实参数组的元素个数D、形参数组的元素个数必须多于实参数组的元素个数

56、若有以下说明和语句,intc[4][5],(*p)[5];p=c;能正确引用c数组元素的是(B)。(1分)

A、p+1B、*(p+3)

C、*(p+1)+3D、*(p[0]+2])

58、当说明一个联合体变量时,系统分配给它的内存为(D)。(1分)

A、联台体中的一个成员所需的内存量B、联台体中最后一个成员所需的内存量

C、联台体体中占内存量最大者所需容量D、联台体中各成员所需内存量的总和若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件打开方式字符串应是(B)。(1分)A、"ab+"B、"wb+"C、"rb+"D、"ab"62、设有:inta=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为(B)。(1分)A、1B、2C、3D、463、若变量c为char类型,能正确判断出c为小写字母的表达式是(D)。(1分)A、'a'<=c<='z'B、(c>='a')||(c<='z')C、('a'<=C)and('z'>=C)D、(c>='a')&&(c<='z')64、在C语言中,用户能使用的正确标识符是(B)。(1分)A、5fB、_5fC、structD、_f.568、以下关于函数的叙述中正确的是(B)。(1分)A、每个函数都可以被其它函数调用(包括main函数)B、每个函数都可以被单独编译C、每个函数都可以单独运行D、在一个函数内部可以定义另一个函数74、若有定义:int

x=0,

*p=&x;,则语句printf("%d\n",*p);的输出结果是(B)。(1分)A、随机值 B、0C、x的地址 D、p的地址二、填空题(15道小题,共15分)1、(函数)是C程序的主要组成部分。(1分)2、在执行fopen函数时,ferror函数的初值是(0)(1分)3、由顺序、选择、循环三种基本结构构成的程序叫(结构化)

程序。(1分)4、若k为int整型变量且赋值7,x为double型变量且赋值8.4,赋值表达式k=x的运算结果是(8)。(1分)5、设y为int型变量,请写出描述"y是奇数"的表达式。(1分)y%2==16、使用sqrt()函数前必须包含头文件(math.h)。(1分)7、若a=1,b=2则表达式a<b?a:b+1的值是(1)。(1分)下面程序段中循环体的执行次数是(3)次。a=10;b=0;do

{b=b+2;a-=2+b;}

while(a>=0);(1分)执行下面程序段后,k的值是(36)。k=1;n=263;do

{

k*=n%10;

n=n/10;}

while(n);(1分)10、如定义语句为char

a[

]=

"计算机",b[

]=

"程序设计";语句

printf("%s",strcat(a,b));的输出结果为。(1分)计算机程序11、字符串"ab\n\\012/\\\""的长度为(10)。(1分)12、在主调函数中调用一个函数时,函数名后面括号中的参数称为(实际参数),简称(实参)。(1分)13、如果一个变量值在某一时刻是存在的,则认为这一时刻属于该变量的(函数)(1分)14、指针变量可以作为函数的参数,其作用是传递或接受一个变量的(地址)。一个函数在编译时被分配一个入口地址,这个入口地址就称之为函数的(指针)。(1分)16、C程序的基本组成单位是(函数)。

(1分)17、已知:

int

a=1,b=1,c=1;执行完表达式c=++a&&b++后,变量b的值是(1)。

以下程序的功能是计算s=1+12+123+1234+12345。请填空。

main()

{

int

t=0,s=0,i;

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

{

t=i+;

s=s+t;

}

printf("s=%d\n",s);

}

计算sum=1+1/2+1/4+...+1/50的值,并显示出来。#include<stdio.h>intmain(){

int

i=2;

float

sum=1.0;

while(i<=50)

{sum+=1/__;i+=2;}()printf("sum=%f\n",sum);}21.在采用传值调用时,实参可以是常量、变量或表达式,而形参只能是(变量)。定义p为指向整型数据的指针变量的语句为。int*p;24、赋值语句是由赋值表达式加上(分号)构成的。(1分)当执行以下程序时,输入01234567890<回车>,则其中while循环体将执行(1)次。#include

<stdio.h>intmain(){char

ch;

while((ch=getchar())=='0')

printf("#");}

28、用%s输出字符串时,printf函数中的输出项是(字符数组名),不是数组元素名(1分)29、在函数内部定义的只在本函数内有效的变量叫(局部变量)。在函数以外定义的变量叫(全局变量)。(1分)30、有int

x=2,y=3;且y+=(x++),则x=(3)。(1分)以下程序的功能是求10个数中的正整数之和,请补全程序。#include

"stdio.h"Intmain(){int

s=0,i,j;

for(i=0;i<=10;i++){scanf("%d",&j);if(j<=0)

;

s+=j;}printf("和=%4d",s);}(1分)以下findmax返回数组s中最大元素的下标,数组中元素的个数由t传入,请填空。findmax(int

s[],int

t)

{

int

k,p;

for(p=0,k=p;p<t;p++)

if(s[p]>s[k])

__________

;

return

k;

}

(1分)34、函数可以相互调用,但不能调用(主)函数。(1分)可以通过字符数组名或字(符串函数)对一个字符串进行整体的输入输出。(1分)37、在变量说明中给同类变量赋初值时,各变量之间用(逗号)隔开。39、以下程序以每行10个数据的形式输出a数组,请填空。voidmain(){inta[50],i;printf("输入50个整数:");for(i=0;i<50;i++)scanf("%d",&a[i])for(i=1;i<=50;i++){if(i%10==0)printf("%3d\n");printf("%3d",a[i-1]);}}40、使用getchar()函数前必须包含头文件(stdio.h)。41、在定义函数时函数名后面括号中的变量名称为(形参)。C语言中,数组元素的下标下限为(0)。44、有int

x,y,z;且x=3.2,y=4.2,z=2,则表达式z=(x+y)/z的值为(3)。

下面程序的功能是输出数组s中最大元素的下标,请填空。void

main(

)

{

int

k,

p;

int

s[

]={1,-9,7,2,-10,3};

for(p=0,k=p;

p<6;

p++)

if(s[p]>s[k])

____________

printf("%d\n"

,k);

48、C语言中,数组在内存中占一片(连续)的存储区。(1分)50、如果一个变量在某个文件或函数范围内是有效的,就称该范围为该变量的(作用域)。三、判断题(10道小题,共10分)1、用fopen("file","r+");打开的文件file可以修改。(1分)正确 2、C语言中可以把一个字符串赋给一个字符变量(1分)错误3、若有以下定义,int

m=5,y=2;则执行下面表达式y+=y-=m*=y后,y的值为-6。(1分)错误4、getchar函数的功能是接收从键盘输入的一串字符。

(1分)错误5、for(;;);语句相当于while(1);语句。(1分)正确6、puts(

)和gets(

)函数只能输入或输出一个字符。(1分)错误7、为了测定字符串的实际长度,C语言规定了字符串结束标志'\0'。(1分)正确 8、在定义函数时指定的函数类型一般应和return语句中的表达式类型一致。(1分)正确 9、语句int

*point;中的point是指针变量名。(1分)正确 10、用结构体变量作实参时,将结构体变量所占的内存单元的内容全部按顺序传递给形参,形参也必须是同类型的结构体变量(1分)正确 11、在C语言中,%运算符要求参加运算的数必须是整数(1分)正确 12、在C语言中,要求对所有用到的变量先定义,然后才能使用。(1分)正确13、do-while语句构成的循环不能用其他语句构成的循环来代替。(1分)错误14、数组定义

int

a[10];

也可以写成

int

a(10);(1分)错误15、设已有说明:static

char

c1[10],c2[10];

后面程序片段是合法的。c1={"book"};

c2=c1;(1分)错误16、如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准,即函数类型决定返回值类型。(1分)正确 17、可以通过指向数组的指针变量来访问一个数组元素,且可以带下标,所以p[i]

与*(p+i)

是等价的。(1分)正确 结构体类型中的成员名不能与程序中的变量名相同。(1分)错误19、逻辑运算符的优先级别高于算术运算符。

(1分)错误20、在printf函数中,转义字符\b的作用是退格。(1分)正确 21、在对全部数组元素赋初值时,可以不指定数组长度。(1分)正确22、对静态局部变量是在编译时赋初值,以后每次函数调用时不再重新赋初值而只是保留上次函数调用结束时的值。(1分)正确23、指针和指针变量是一个概念(1分)错误24、逻辑运算符的优先级别高于算术运算符。

(1分)错误29、C允许对数组的大小作动态定义,即可用变量定义数组的大小。(1分)错误30、函数必须有返回值,否则不能使用函数。(1分)错误31、假设有语句j=3,jp=&j;,则jp的值为变量j的地址,*jp的值为[<3>]。(1分)正确32、结构体类型中的成员名可以与程序中的变量名相同,二者代表同一对象。(1分)错误33、inta=1,b=0,c=1;,则!(a+b)+c-0&&b+c/2的值为1(1分)错误35、可以对字符型数组元素进行整体输入、输出。(1分)正确37、结构体类型与结构体变量是不同的概念,不能混同。(1分)正确38、使用printf函数时,格式控制字符串和各输出项应一一对应。(1分)正确39、在C语言中,要求对所有用到的变量先定义,然后才能使用。(1分)正确 40.static

char

c[]={"a

book"};

与static

char

c[]="a

book";

等价。(1分)错误41、如果是调用无参函数,则实参表及括号都可以省略。(1分)错误四、程序分析题(9道小题,共36分)1、有以下程序,执行后输出结果是什么?16main()

{

int

i=0,s=0;

do

{

if

(i%2!=0)

\\if(i%2==0)zeresultis12

{

i++;

continue;

}

i++;

s

+=

i;

}

while(

i<7

);

printf("%d\n",

s);

}

如下程序的执行结果是什么?6main()

{

int

i,sum=0;

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

sum+=i;

printf("%d\n",sum);

}

阅读程序,分析程序的功能。Zifudeshurushuchu #include

<stdio.h>

#include

<string.h>

void

main(

)

{

char

s[80];

int

i

;

for(i=0;

i<80;

i++)

{

s[i]=getchar(

);

if(s[i]=='\n')

break;

}

s[i]='\0';

i=0;

while(s[i])

putchar(s[i++]);

putchar('\n');

} 以下程序的输出结果是什么?

-850,2,0 main()

{

int

i,j,row,col,m;

int

arr[3][3]={{100,200,300},{28,72,-30},{-850,2,6}};

m=arr[0][0];

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

for(j=0;j<3;j++)

if(arr[i][j]<m)

{m=arr[i][j];

row=i;

col=j;}

printf("%d,%d,%d\n",m,row,col);

}

以下程序的输出结果是什么?输入1,3输出是:maxis3#include

<stdio.h>

int

main()

{

int

max(float

x,float

y);

float

a,b;

int

c;

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

c=max(a,b);

printf("max

is

%d\n",c);

return

0;

}

int

max(float

x,float

y)

{

float

z;

z=x>y?x:y;

return(

z

)

;

}以下程序的输出结果是什么?21#include<stdio.h>

int

func(int

a,int

b)

{

int

c;

c=a+b;

return

c;

}

void

main(

)

{

int

x=6,y=7,z=8,

r;

r=func((x--,y++,x+y),

z--);

printf("%d\n",r);

}以下程序的输出结果是什么?main()

{

int

a[]={2,4,6,8,10},y=1,x,*p;

p=&a[1];

for(x=0;x<3;x++)

y+=*(p+x);

printf("%d\n",y);

}

p=&a[1]

p

指向元 8.以下程序的输出结果是什么?

120 f(int

b[],int

n)

{

int

i,r=1;

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

r=r*b[i];

return

r;

}

main()

{

int

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

x=f(a,3);

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

}9、以下程序的运行结果是什么?2,3main()

{

struct

EXAMPLE

{

struct

{

int

x;

int

y;

}in;

int

a;

int

b;

}e;

e.a=1;

e.b=2;

e.in.x=e.a*e.b;

e.in.y=e.a+e.b;

printf("%d,%d",e.in.x,e.in.y)

;

}

10、以下程序的输出结果是什么?6#include<stdio.h>

int

main()

{int

m=5;

if(m++>5)

printf("%d",m);

else

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

return

0;

}11、以下程序的输出结果是什么?12main()

{

int

arr[10],i,k=0;

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

arr[i]=i;

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

k+=arr[i]+i;

printf("%d\n",k);

}

12.以下程序的输出结果是什么?#include

<stdio.h>

int

a=3,b=5;

int

main()

{

int

max(int

a,int

b);

int

a=8;

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

return

0;

}

?

int

max(int

a,int

b)

{

int

c;

c=a>b?a:b;

return(c);

}Max=813、以下程序的输出结果是什么?#include

<stdio.h>

int

main()

{

int

f(int);

int

a=2,i;

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

printf(“%d\n”,f(a));

return

0;

}

int

f(int

a)

{

auto

int

b=0;

static

c=3;

b=b+1;

c=c+1;

return(a+b+c);

}78914、以下程序的输出结果是什么?6main()

{

int

a[]={2,4,6,8},*p=a,i;

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

a[i]=*p++;

printf("%d\n",a[2]);

}15.以下程序的输出结果是什么4void

main()

{

int

a,

b;

for(a=1,

b=1;

a<=100;

a++)

{

if(b>=10)

break;

if

(b%3=

=1)

{

b+=3;

continue;

}

}

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

}16、有以下程序,执行后输出结果是什么?011122main(){inti;for(i=0;i<3;i++)switch(i){case1:printf("%d",i);case2:printf("%d",i);default:printf("%d",i);}17、以下程序运行后,输出结果是什么?3voidmain(){intn[5]={3,3,3},i,k=2;for(i=0;i<k;i++)n[i]=n[i]+1;printf("%d\n",n[k]);}18.以下程序的输出结果是什么?21#include<stdio.h>intfunc(inta,intb){intc;c=a+b;returnc;}voidmain(){intx=6,y=7,z=8,r;r=func((x--,y++,x+y),z--);printf("%d\n",r);}19、以下程序的输出结果是什么?10#include<stdio.h>voidmain(){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;printf("%d\n",*p+*q);}21.

以下程序的运行结果是什么?M=3,n=5#include

"stdio.h"

main()

{

int

i=0,j=0,m=1,n=3;

switch(i++)

{case

0:m++;

case

1:n++;

case2:

case

3:

m++;n++;break;

case

4:

m++;n++;

}printf("m=%d,n=%d",m,n);}23.以下程序的输出结果是什么?Max=8#include

<stdio.h>

int

a=3,b=5;

int

main()

{

int

max(int

a,int

b);

int

a=8;

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

return

0;

}

?

int

max(int

a,int

b)

{

int

c;

c=a>b?a:b;

return(c);

}编程题1.输入正整数判断是否是5和7的倍数,若是输出yes,否则输出no:2.在全系1000学生中,征集慈善募捐,当总数达到10万元时就结束,统计此时捐款人数,以及平均每人捐款的数目p1263.用数组来处理求Fibonacci数列问题p1464.打印出所有的水仙花数,所谓水仙花数是指一个3位数其各位数字立方和等于该数本身,例如,153是水仙花数。因为:153=1^3+5^3+3^3.p1405.求1!+2!+3!+4!+······+20!P1406.求Sn=a+aa+aaa+······+aa···a之值,其中a是一个数字,n表示a的位数,例如:n由键盘输入。P1407.写一个自定义函数用递归的方法实现求n!p1878.数组0,1,2,3,4,5,6,7,8,9,逆序输出,(p144)9.有5个学生坐在一起,问第五个学生多少岁,他说他比第四个学生大2岁,问第四个学生岁数,他说比第3个学生大2岁。问第3个学生,又说比第2个学生大2岁,问第2个学生,说比第1个大2岁最后问第1个学生,他说是10岁,请问第5个学生多少岁。p18510.将一个二维数组行和列的元素互换,存到另一个二维数组中。例如······p152

输入正整数判断是否是5和7的倍数,若是输出yes,否则输出no:#include<stdio.h>voidmain(){inti;printf("输入一个整数:");scanf("%d",&i);if((i%7==0)&&(i%5==0)){printf("YES\n");}else{printf("NO\n");}printf("\n");}在全系1000学生中,征集慈善募捐,当总数达到10万元时就结束,统计此时捐款人数,以及平均每人捐款的数目p126#include<stdio.h>voidmain(){ floattoal=0,amount,aver; inti; scanf("%f",&amount); for(i=1;i<=1000;i++) { if(toal<100000) toal=toal+amount; elsebreak; } printf("%d\n",i-1); aver=toal/(i-1); printf("%f\n",aver);}用数组来处理求Fibonacci数列问题p146#include<stdio.h>voidmain(){inti;intf[20]={1,1,};for(i=2;i<20;i++)f[i]=f[i-2]+f[i-1];for(i=0;i<20;i++){if(i%5==0)printf("\n");printf("%12d",f[i]);}printf("\n");}打印出所有的水仙花数,所谓水仙花数是指一个3位数其各位数字立方和等于该数本身,例如,153是水仙花数。因为:153=1^3+5^3+3^3.p140main(){inti,j,k,n;printf("'waterflower'numberis:");for(n=100;n<1000;n++){i=n/100;/*分解出百位*/j=n/10%10;/*分解出十位*/k=n%10;/*分解出个位*/if(i*100+j*10+k==i*i*i+j*j*j+k*k*k){printf("%-5d",n);}}printf("\n");}求1!+2!+3!+4!+·+20!P140#include<stdio.h>main(){doublesum,temp;inti,j;temp=1;sum=0;for(i=1;i<=2;i++){temp=1;加上这一句.for(j=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论