文档库 最新最全的文档下载
当前位置:文档库 › C语言课后作业

C语言课后作业

C语言课后作业
C语言课后作业

习题 1

1.简答题

(1)简述编辑、编译、连接、运行一个C语言程序的步骤

写好一个C语言源程序后,一般要经过编辑、编译、连接、运行才能得到程序结果。

1)编辑:在文本编辑器中,用C语言语法编写源程序代码。扩展名为.c。

2)编译:通过编译器将源程序转换成机器代码,生成目标程序(*.obj),在

C语言源程序的编译过程中,可以检查出程序中的语法错误。

3)连接:C语言是模块化程序设计语言,一个C语言应用程序可能由多个

程序设计者分工合作完成,需要将所用到的库函数以及其他目标程序连

接为一个整体,生成可执行文件(*.exe)。

4)运行:运行可执行文件后,可获得程序运行结果。

(2)C程序的结构是由哪几个部分组成的?

一个源程序可以有一个或多个函数组成,而且都有且只有一个main函数,即主函数,C语言的程序总是从主函数开始执行

1)源程序中可以有预处理命令,预处理命令通常放在源文件或源程序的最

前面

2)每一个语句都必须以分号结束,但预处理命令、函数头和花括号之后不

加分号。

3)标识符和关键字之间,至少要加一个空格。

源程序中需要解释和说明的部分,可以用“/*......*/加以注释,以增加程序的可读性。

(3)C语言中常用的表示算法的工具有哪些?

流程图描述

N—S图(框图)描述

伪代码描述

(4)算法的特点是什么?

1)有穷性

2)确定性

3)有效性

4)有零个输入或多个输入

5)有一个或多个输出

(5)设计一个程序,一般要经过几个步骤?

写好一个C语言源程序后,一般要经过编辑、编译、连接、运行才能得到程序结果。

2.编程题

(1)试编写一个C程序并上机调试,运行后能输出以下信息:

**************************************

This is my first program.

**************************************

#include

void main()

{

printf("*******************************\n");

printf("This is my program.\n");

printf("*******************************\n");

}

(2)参照例1.2编写一个程序并上机调试,求x的余弦值并输出。

#include

#include

void main()

{

double x,s;

printf("input number:\n");

scanf("%lf",&x);

s=cos(x);

printf("cos of %lf is %lf\n",x,s);}

习题 2

1.简答题

查阅资料回答:C语言为什么规定对所有用到的变量都要“先定义,后使用”?这样做有什么好处?

首先要声明一个变量的存在,然后才能使用它。要定义一个变量需要提供变量的名字和它的类型,其目的是由变量的类型决定变量的存储结构,以便使C 语言的编译程序为所定义的变量分配相应数目的存储单元。

2.讨论题(略)

(1)定义变量时一定要赋初值吗?不赋初值的变量一定不能用吗?

(2)自如变量只能与整型数据进行运算吗?

(3)不同类型数据之间在进行运算时,结果类型应该如何确定?

3.选择题

(1)以下正确的C语言标识符是(C )

A.%X B.a+b C.a123 D.test!

(2)已定义int a,b;则以下不正确的C语句是( D )

A.a*=5; B.b/=2; C.a+=1.75; D.b&&=a;

(3)若x、i、j和k都是整型变量,则执行下面表达式后x的值为(C)x=(i=4,j=16,k=32)

A.4 B.16 C.32 D.52

(4)C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符(D )

A.必须是字母B.必须为下划线

C.必须为字母或下划线D.可以是字母、数字、下划线中的任一字符(5)下面正确的字符常量是( C)

A.“c” B.’\\”C.‘w’D.”

(6)设int a=2,b=0,c;则执行语句c+=b&&a—后,a的结果为( 2),c的结果为(不确定)。

A.0,1 B.1,0 C.2,0 D.1,1

4.上机操作题

(1)分析程序并上机操作。下列程序的运行结果是什么?

main()

{

int x=5;

int y=10;

printf(“%d\n”,x++);

printf(“%d\n”, ++y);

}

结果是:x=5,y=11

(2)从键盘上输入学生5门功课的成绩,计算出总成绩和平均成绩并输出。main()

{

int i;

double total,avg,score;

total=0;

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

{

printf("Input score of %d:\n",i+1);

scanf("%lf",&score);

total=total+score;

}

printf("Total score is :%f,avage score is:%f\n",total,total/5); }

习题 3

1.简答题

(1)在使用输入输出函数时,若不写上预处理命令,对程序执行的结果有何影响?

ANSI C标准规定,C源程序中可以加入一些预处理命令,以改进程序设计环境,提高编程效率。预处理命令不是C语言本身的组成部分,所以在使用时以"#"开头,以示和C语句的区别。编译程序在对源程序编译之前首先对预处理命令进行处理(称为预处理),将其替换成具有实际意义的内容,然后再进行编译.

(2)在C语言中,我们经常使用的语句有哪些?

C语句可分为以下五类:表达式语句、函数调用语句、控制语句、复合语句、空语句。

2.选择题

(1)阅读下列程序,当输入数据的形式为:25,13,10,正确的输出结果为(A)

#include

main()

{int x,y,z;

scanf(“%d,%,d%d”,&x,&y,&z);

printf(“x+y+z=%d\n”,x+y+z);

}

A.x+y+z=48 B.x+y+z=35 C.x +z=35 D.不确定值

(2)以下程序的运行结果是(D)

#include

main()

{int a=2,b=5;

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

}

A.a=%2,b=%5 B.a=2,b=5

C.a=%%d,b=%%d D.A=%d,b=%d

(3)putchar函数可以向终端输出一个(D )

A.整型变量表达式值B.实型变量值

C.字符串D.字符或字符型变量值

(4)已知有定义int a=-2;和输出语句printf(“%8lx”,a);以下正确的叙述是(C)A.整型变量的输出格式只有%d一种。

B.%x是格式符的一种,它可以适用于任何一种类型的数据。

C.%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的。

D.%8lx不是错误的格式符,其中数字8规定了输出字段的宽度。

(5)已知ch是字符型变量,下面不正确的赋值语句是(A)

A.ch=‘a+b?B.ch=?\0?C.ch=?7?+?9?D.Ch=7+9

3.分析程序、上机操作并填空

(1)以下程序的输出结果是*3.140000,3.142*

main()

{

printf(“*%f,%4.3f*\n”,3.14,3.1415);

}

(2)以下程序的输出结果是a=+00325 x=+3.1415926e+00

#include

main()

{

int a=325;

double x=3.1415926;

printf(“a=%+06d x=%+e\n”,a,x);

}

(3)若x为int型变量,则执行下列语句后x的值是-14

x=7;

x+=x-=x+x;

4.编程题

(1)求ax2+bx+c=0的根,a、b、c的值由键盘输入。

#include

main()

{

double x0,x1;

double a,b,c;

printf("Input a:\n");

scanf("%lf",&a);

printf("Input b:\n");

scanf("%lf",&b);

printf("Input c:\n");

scanf("%lf",&c);

x0=(-b+sqrt(b*b-4*a*c))/2.0/a;

x1=(-b-sqrt(b*b-4*a*c))/2.0/a;

printf("x0=%f,x1=%f\n",x0,x1);

}

(2)将一个3位正整数,正确分离出它的个位、十位、百位数字,并将结果分别显示在屏幕上。

main()

{

int Value;

printf("please input value:\n");

scanf("%3d",&Value);

printf("GeWei is:%d,ShiWei is:%d,BaiWei is:%d\n",Value%10,Value%100/10,Value/100);

}

习题 4

A.只能是0或1 B.只能是0或非0正数

C.只能是整型或字符型数据D.可以是任意类型的数据

(2)判断char型变量ch是否为大写字母的正确表达式是(C)

A.‘A’<=ch<=‘Z’B.( ch>=‘A’)& (ch<=‘Z’)

C.( ch>=‘A’)&& (ch<=‘Z’) D.( ch>=‘A’)AND(ch<=‘Z’) (3)已知int x=10,y=20,z=30;以下语句执行后x、y、z的值是(B)if(x>y)

z=x;x=y;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

BA.1 B.2 C.3 D.6下列程序的运行结果是什么?

main()

{

int x,y,z;

x=y=z=-1;

++x&&++y||++z;

printf("x=%d\ty=%d\tz=%d\n",x,y,z);

x=y=z=-1;

++x||++y||++z;

printf("x=%d\ty=%d\tz=%d\n",x,y,z);

x=y=z=-1;

++x&&++y&&++z;

printf("x=%d\ty=%d\tz=%d\n",x,y,z);

}

结果是:

x=0 y=-1 z=0

x=0 y=0 z=0

x=0 y=-1 z=-1

(2)下列程序的运行结果是什么?#include "stdio.h"

void main()

{

int a=1,b=0;

switch(a)

{

case 1:

switch(b)

{

case 0:printf("**0**");break;

case 1:printf("**1**");break;

}

case 2:printf("**2**");break;

}

}

结果是:**0****2**

main()

{

char c;

printf("please input a char:\n");

scanf("%c",&c);

if(c>='A'&&c<='Z')

{

printf("upper\n");

}else if(c>='a'&&c<='z')

{

printf("lower\n");

}else if(c>='0'&&c<='9')

{

printf("digital\n");

}else

{

printf("other\n");

}

}main()

{

double a,b,c,temp;

printf("Input a:\n");

scanf("%lf",&a);

printf("Input b:\n");

scanf("%lf",&b);

printf("Input c:\n");

scanf("%lf",&c);

if(b

{

temp=a;

a=b;

b=temp;

}

if(c

{

temp=a;

a=c;

c=temp;

}

if(c

{

temp=b;

b=c;

c=temp;

}

printf("%f %f %f\n");

}main()

{

double Score;

printf("Input score of product:\n");

scanf("%lf",&Score);

if(Score>=90)

{

printf("A\n");

}else if(Score>=80&&Score<=89)

{

printf("B\n");

}else if(Score>=60&&Score<=79)

{

printf("C\n");

}else if(Score<60)

{

printf("D\n");

}else

{

printf("Error\n"); }

}

习题 5

1.选择题

(1)以下程序段是( C )

x=-1;

do

{x=x*x;}

while(!x);

A.是死循环 B.循环执行二次C.循环执行一次D.有语法错误

(2)执行语句for(i=1;i++<4;);后变量i的的值是( C )

A.3 B.0 C.5 D.不定

(3)循环语句for(x=0,y=0;(y!=123)||(x<4);x++);的循环执行次数为( A )

A.无限次B.不确定次数C.4次D.3次(4)假定a和b为int类型变量,则执行以下语句后b的值为( D )

a=1;b=10;

do

{b-=a;a++;

}while (b--<0);

A.9 B.-2 C.-1 D.8

(5)C语言中while和do—while的循环的主要区别是( A )

A.do—while的循环体至少无条件执行一次。

B.while处的循环控制条件比do—while的循环控制条件严格。

C.do—while允许从外部转到循环体内。

D.do—while的循环体不能为复合语句。

(6)以下正确的描述是( B )

A.continue语句的作用是结束整个循环的执行。

B.只能在循环体内和switch语句体内使用break语句。

C.在循环体内使用break语句或continue语句的作用相同。

D.从多层循环嵌套中退出时,只能用goto语句。

2.编写程序并上机调试

(1)一个百万富翁遇见一个陌生人,达成换钱的协议。陌生人说:每一天我都给你10万元,第一天你只需给我1分钱;第二天你只需给我2分钱;第三天你只需给我4分钱......这样你以后每天给我的钱是前一天的2倍,直到满30天。富翁很高兴,欣然同意了。试编程计算一下,30天后每人各得多少钱。

#include

#include

main()

{

long Fu,Pin;

int i;

Fu=0;

Pin=0;

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

{

Pin=Pin+pow(2,i);

}

Fu=10000000*30;

printf("Pin:%ld,Fu:%ld\n",Pin,Fu);

}

(2)从键盘输入10个字符,统计其中数字字符的个数。

#include

main()

{

int Count;

char C;

int i;

Count=0;

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

{

printf("Input %d char:\n",i+1);

C=getchar();

while(C==10||C==13)

{

C=getchar();

}

if(C>='0'&&C<='9')

{

Count++;

}

}

printf("Number Count:%d\n",Count);

}

(3)编制电视歌手大奖赛评分程序,要求评委认输和各个评委的打分从键盘输入,去掉一个最高分,去掉一个最低分,求评委给出的最后得分。

void main()

{

int Ren;

int i;

double Min,Max;

double Total,Temp;

Min=100;

Max=0;

Total=0;

printf("Input Persons Count:\n");

scanf("%d",&Ren);

if(Ren<3)

{

printf("Persons Count Must >=3\n");

return;

}

for(i=0;i

{

printf("Input score %d:\n",i+1);

scanf("%lf",&Temp);

if(Temp>Max)

{

Max=Temp;

}

if(Temp

{

Min=Temp;

}

Total+=Temp;

}

printf("Total:%lf\n",Total-Max-Min);

}

(4)一个数恰好等于它的平方数的右端,这个数称为同构数。如:5的平方等于25,25的平方等于625。编写程序求出100到1000之间的全部同构数。

void main()

{

int i;

int ii;

for(i=100;i<1000;i++)

{

ii=i*i;

if(ii%1000==i)

{

printf("%d*%d=%d\n",i,i,ii);

}

}

}

(5)验证歌德巴赫猜想:任意一个大于6的偶数均可表示为两个质数的和。#include

#include

void main()

{

int i,j,num;

int p,q,flagp,flagq;

printf("Please input a plus integer:");

scanf("%d",&num);

//代码(num%2)!=0表示num不能被2整除

if(((num%2)!=0) || (num <= 4))

printf("input data error!\n");

else

{

p = 1;

//do-while循环体

do

{

p = p+1;

q = num - p;

flagp = 1;

flagq = 1;

//for循环体

for(i = 2;i <=(int)(floor(sqrt((double)(p))));i++) {

if((p%i) == 0)

{

flagp = 0;

break;

}

}

//while循环体

j = 2;

while(j <= (int)(floor(sqrt((double)(q)))))

{

if ((q%j) == 0)

{

flagq = 0;

break;

}

j++;

}

}while (flagp*flagq == 0);

printf("%d = %d + %d \n",num,p,q);

}

}

(6)编写程序,从键盘输入6名学生5门功课成绩,分别统计出每个学生的平均成绩。

void main()

{

int Ren;

int SCount;

double Score,Temp;

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

{

Score=0;

printf("Input Student %d\n",Ren+1);

for(SCount=0;SCount<5;SCount++)

{

printf("Input Score %d\n",SCount+1);

scanf("%lf",&Temp);

Score+=Temp;

}

printf("Student %d,Avage score:%lf\n",Ren+1,Score/SCount);

}

}

(完整版)c语言函数练习题附答案

函数 一、选择题 1.在c语言中以下不正确的说法是:() A.实参可以是常量、变量、或表达式 B.形参可以是常量、变量或表达式 C.实参可以为任意类型 D.形参应与其对应的实参类型一致 2.以下程序有语法性错误,有关错误原因的正确说法是:() int main() { int G=5,k; void prt_char(); …… k=prt_char(G); …… } A.语句void prt_char();有错,它是函数调用语句,不能用void说明 B.变量名不能使用大写字母 C.函数说明和函数调用语句之间有矛盾 D.函数名不能使用下划线 3.以下正确的说法是:() A.函数的定义可以嵌套,但函数的调用不可以嵌套 B.函数的定义不可以嵌套,但函数的调用可嵌套 C.函数的定义和调用均不可以嵌套 D.函数的定义和调用均可以嵌套 4.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是:() A)函数调用可以作为独立的语句存在 B)函数调用可以作为一个函数的实参 C)函数调用可以出现在表达式中 D)函数调用可以作为一个函数的形参 5.以下所列的各函数首部中,正确的是:() A、 void play(var :Integer,var b:Integer) B、 void play(int a,b) C、 void play(int a,int b) D、 Sub play(a as integer,b as integer) 6.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是:() A、地址传递 B、单向值传递 C、由实参传给形参,再由形参传回实参 D、传递方式由用户指定 7.有以下程序 void fun (int a,int b,int c) { a=456; b=567; c=678;}

C语言程序设计大作业报告模板

《C语言程序设计》大作业报告 1.目的 掌握所学C语言程序设计的方法,熟悉所学语言的开发环境及调试过程,熟悉所学C语言中的数据类型,数据结构、语句结构、运算方法,巩固和加深对理论课中知识的理解,提高学生对所学知识的综合运用能力。通过综合设计要求达到下列基本技能: 1.培养查阅参考资料、手册的自学能力,通过独立思考深入钻研问题,学会自己分析、解决问题。 2.通过对所选题目方案分析比较,确立方案,编制与调试程序,初步掌握程序设计的方法,能熟练调试程序。 2.作业内容

熟练掌握所学语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。进一步掌握各种函数的应用等。 3.要求: 1.要求每个同学都要认真对待,积极参与。 2.独立完成,不能抄袭。 3.课程设计结束时每位同学必须完成《大作业报告册》,其中包含设计源 代码和设计思路。 4.不符合要求的程序、设计报告、抄袭的设计报告或源程序代码、在设 计中完全未参与的将作不及格处理。 5.统一格式,A4打印,按时提交。 4.题目:设计要求:编写一个程序,求3x4数组的转置矩阵。要求在main函数里面读数,在change函数里面把矩阵转置。 5.程序设计 设计思路:1是先定义两个数组,一个是a[3][4],另一个是b[4][3]。2是将随便输入的12个数输入到a[3][4]。3是在change函数中将a[3][4]中值通过for循环的镶嵌将数组a[3][4]的值赋值给数组b[4][3]。4在主函数中将数组b[4][3]通过for循环的嵌套输出。 代码

c语言作业答案

No.: Name: 第1讲C语言概述 注:本系列习题中符号表示一串字符中的空格,符号表示下划线,符号ê表示换行回车,即键盘上Enter键。 一、选择题 1. 一个C程序的执行是从A 。 A) 本程序main函数开始,到main函数结束 B) 本程序文件第一个函数开始,到最后一个函数结束 C) 本程序文件第一个函数开始,到本main函数结束 D) 本程序main函数开始,到本程序文件最后一个函 数结束 2. 以下叙述不正确的是D 。 A) 一个C源程序必须包含一个main函数 B) 一个C源程序可由一个或多个函数组成 C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面 3. 以下叙述正确的是C 。 A) 在对一个C程序进行编译的过程中,可发现注释中 的拼写错误 B) 在C程序中,main函数必须位于程序的最前面 C) 语言本身没有输入输出语句 D) C程序的每行中只能写一条语句 4. 一个C语言程序是由B 。 A) 一个主程序和若干个子程序组成 B) 函数组成 C) 若干过程组成 D) 若干子程序组成 5. 以下叙述中正确的是C 。 A) C语言比其他语言高级 B) C语言可以不用编译就能被计算机识别执行 C) C语言以接近英语国家的自然语言和数学语言作为 语言的表达形式 D) C语言出现的最晚,具有其他语言的一切优点 6. 下列叙述中正确的是D 。 A) C语言编译时不检查语法 B) C语言的子程序有过程和函数两种 C) C语言的函数可以嵌套定义 D) C语言的函数可以嵌套调用 7. 以下叙述中正确的是A 。 A) 构成C程序的基本单位是函数 B) 可以在一个函数中定义另一个函数 C) main函数必须放在其他函数之前 D) 所有被调用的函数一定要在调用之前进行定义

安徽大学2014年c语言平时作业

作业一 C语言基本概念 选择:17题 能将高级语言编写的源程序转换成目标程序的是______。 A) 编辑程序B) 编译程序C) 解释程序D) 链接程序 您的答案为:B 参考答案为:B 以下选项中合法的用户标识符是______。 A) long B) _2Test C) 3Dmax D) A.dat 您的答案为:B 参考答案为:B 以下叙述正确的是 A) 可以把define和if定义为用户标识符 B) 可以把define定义为用户标识符,但不能把if定义为用户标识符 C) 可以把if定义为用户标识符,但不能把define定义为用户标识符 D) define和if都不能定义为用户标识符 您的答案为:B 参考答案为:B 以下叙述正确的是 A) C语言比其他语言高级 B) C语言可以不用编译就能被计算机识别执行 C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D) C语言出现的最晚、具有其他语言的一切优点 您的答案为:C 参考答案为:C 在一个C语言程序中 A) main函数必须出现在所有函数之前 B) main函数必须出现在所有函数之后 C) main函数可以在任何地方出现 D) main函数必须出现在固定位置 您的答案为:C 参考答案为:C 一个C语言程序是由_______组成的。 A) 一个主程序和若干子程序 B) 若干子程序 C) 函数 D) 若干过程您的答案为:C 参考答案为:C

以下叙述中正确的是() A) C语言的源程序不必通过编译就可以直接运行 B) C语言中的每条可执行语句最终都将被转换成二进制的机器指令 C) C源程序经编译形成的二进制代码可以直接运行 D) C语言中的函数不可以单独进行编译 您的答案为:B 参考答案为:B 下列关于C语言用户标识符的叙述中正确的是 A) 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头 B) 用户标识符中可以出现下划线,但不可以放在用户标识符的开头 C) 用户标识符中不可以出现中划线,但可以出现下划线 D) 用户标识符中可以出现下划线和中划线(减号) 您的答案为:C 参考答案为:C 以下说法中正确的是 A)C语言程序总是从第一个定义的函数开始执行 B)C语言程序中,要调用的函数必须在main()函数中定义 C)C语言程序总是从main()函数开始执行 D)C语言程序中的main()函数必须放在程序的开始部分 您的答案为:C 参考答案为:C 默认情况下,一个C程序的执行是从 A)本程序的main函数开始,到main函数结束 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 您的答案为:A 参考答案为:A C语言编程整个操作的过程是 A)编辑、编译、链接、执行 B)编译、编辑、链接、执行 C)链接、编译、编辑、执行 D)编辑、链接、编译、执行 您的答案为:A 参考答案为:A 下列说法不正确的是 A)链接操作将生成扩展名为.lnk的文件 B)编辑过程将生成扩展名为.cpp或.c的文件

C语言函数练习题及答案

1 【单选题】 在下列关于C函数定义的叙述中,正确的是A、 函数可以嵌套定义,但不可以嵌套调用; B、 函数不可以嵌套定义,但可以嵌套调用; C、 函数不可以嵌套定义,也不可以嵌套调用; D、 函数可以嵌套定义,也可以嵌套调用; 我的答案:B得分:分

2 【单选题】 下面函数调用语句含有实参的个数为nc((exp1,exp2),(exp3,exp4,exp5)); A、 1 B、 2 C、 4 D、 5

我的答案:B得分:分 3 【单选题】 C语言中函数返回值的类型是由以下哪个选项决定的A、 函数定义时指定的类型; B、 return语句中的表达式类型; C、 调用该函数时的实参的数据类型; D、 形参的数据类型;

我的答案:A得分:分 4 【单选题】 以下关于函数叙述中,错误的是 A、 函数未被调用时,系统将不为形参分配内存单元; B、 实参与形参的个数必须相等,且实参与形参的类型必须对应一致; C、 当形参是变量时,实参可以是常量、变量或表达式; D、

如函数调用时,实参与形参都为变量,则这两个变量不可能共享同一内存空间; 我的答案:B得分:分 5 【单选题】 若函数调用时参数为基本数据类型的变量,以下叙述正确的是A、 实参与其对应的形参共享内存存储单元; B、 只有当实参与其对应的形参同名时才共享内存存储单元; C、 实参与对应的形参分别占用不同的内存存储单元;

D、 实参将数据传递给形参后,立即释放原先占用的内存存储单元; 我的答案:C得分:分 6 【单选题】 函数调用时,实参和形参都是简单变量,它们之间数据传递的过程描述正确的是 A、 实参将地址传递给形参,并释放原先占用的存储单元; B、 实参将地址传递给形参,调用结束时形参再将此地址回传给实参; C、 实参将值传递给形参,调用结束时形参再将其值回传给实参;

C语言大作业报告

目录 一、设计题目 二、目标和需求分析 三、开发工具 四、应用平台 五、程序模块 1、游戏盒子 2、2048 3、扫雷 4、贪吃蛇 六、开发日志 七、程序调试及运行 八、程序开发总结 总结:虽然做出来的东西真的没什么技术水平,但是我们尽量把这个东西的每个方方面面做完整。

目标和需求分析一个小的游戏盒子,可以用来启动其它游戏,当然,其它游戏也是我们大作业的编写内容,平时可以玩玩用来打发时间 用到的工具VS2005 Easyx图形库 Pthread线程库 Hge 分工 秦贤康 组织大家,编写主程序,及构思计划,技术指导 王尧 所有的文件处理,数据算法方面优化 王懿晨 合作2048模块 杨梓晗 图片资源加工,音乐裁剪,按钮制作 程维驰 合作扫雷模块 应用平台:WINDOWS X64

程序功能模块: 一、 安装包:(写入开始菜单快捷方式,桌面快捷方式,开机启动等)//pascal 脚本编写 #define MyAppName "C 大作业" #define MyAppVersion "2.0" #define MyAppPublisher "五人小组" #define MyAppExeName "1.exe" [Setup] AppId={{49DB1DB4-FAE9-4ACB-A4B9-E5C420C5F10B} AppName={#MyAppName} AppVersion={#MyAppVersion} ;AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} DefaultDirName={pf}\{#MyAppName} DisableDirPage=yes DefaultGroupName={#MyAppName} DisableProgramGroupPage=yes (剩余代码未全部给出) 安装包 内嵌:C 语言报告 游戏盒子 开机启动,桌面快捷方式等 进入动画,左侧动画 启动模块 通知,和显示游戏信息 2048 扫雷 贪吃蛇 主界面信息显示 通知栏信息显示 意见箱

15秋《C语言》在线作业2

15秋《C语言》在线作业2 试卷总分:100 测试时间:-- 试卷得分:100 单选题 一、单选题(共20 道试题,共100 分。)得分:100V 1. 以下叙述中不正确的是( ) A. 在不同的函数中可以使用相同的名字的变量 B. 函数中的形式参数是局部变量 C. 在一个函数内定义的变量只在本函数范围内有效 D. 在一个函数内的复合语句中定义的变量在本函数范围内有效 满分:5 分得分:5 2. 已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3';后,c2中的值为( ) A. D B. 68 C. 不确定的值 D. C 满分:5 分得分:5 3. 以下描述中正确的是( ) A. 由于do~while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句 B. do~while循环由do开始,用while结束,在while(表达式) 后面不能写分号 C. 在do~while循环体中,一定要有能使while后表达式值变为零("假")的操作 D. do~while循环中,根据情况可以省略while 满分:5 分得分:5 4. 下面程序的运行结果是( ) main() {char a[80]="AB",b[80]="LMNP"; int i=0;strcat(a,b); whi1e(a[i++]!='\0')b[i]=a[i];puts(b);} A. LB B. ABLMNP C. AB D. LBLMNP 满分:5 分得分:5 5. 以下不正确的说法是( ) A. register变量可以提高变量使用的执行效率 B. register变量由于使用的是CPU的寄存器,其数目是有限制的 C. extern变量定义的存储空间按变量类型分配 D. 全局变量使得函数之间的“耦合性”更加紧密,不利于模块化的要求 满分:5 分得分:5 6. 以下正确的描述是( ) A. 函数的定义可以嵌套,但函数的调用不可以嵌套 B. 函数的定义不可以嵌套,但函数的调用可以嵌套 C. 函数的定义和函数的调用均不可以嵌套 D. 函数的定义和函数的调用均可以嵌套 满分:5 分得分:5 7. 当把以下四个表达式用做if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是( )

C语言大作业设计-

CHANGZHOU INSTITUTE OF TECHNOLOGY C语言大作业 设计说明书 题目: 通讯录管理系统 二级学院(直属学部):计算机信息工程学院 专业: 软件工程(中英合作)班级: 12软件二: 学号: 2013年7月 目录

1 概述 (1) 1.2设计分析 (1) 1.3开发工具 (1) 1.4应用平台 (1) 2 系统设计 (2) 2.1功能模块设计 (2) 2.2数据结构设计 (4) 2.3函数功能设计 (4) 3 实现与测试 (7) 3.1关键技术实现 (7) 3.2测试运行结果 (8) 4 开发日志 (14) 5 设计总结 (14) 6 参考文献 (14)

1 概述 1.1 小组构成及分工 1.2 设计分析 本程序设计共包含六个函数模块,分别是添加记录、显示记录、删除记录、查询记录、修改记录、保存记录等信息模块,完成通讯录的功能。在主函数中可以以1、2、3、4、 5、6数字键分别可以执行某个功能模块。 1.3 开发工具 Visual C++ 6.0 和window32 1.4 应用平台 Windows XP 32位 2 系统设计 2.1功能模块设计

1.系统模块图 本系统包括6个模块,分别是添加模块、显示模块、删除模块、查询模块、修改模块、保存模块等,各模块的功能如图2.1所示。各个模块的功能描述如下: (1)添加模块:可以添加通讯录记录,依次输入、年龄、、地址、电子后,并会提示是否继续添加。 (2)显示模块:可以以表格形式输出所有通讯录里的记录。 (3)删除模块:输入欲删除的那个人的名字后,会自动删除他(她)的记录容。 (4)查询模块:可以选择用、、地址三种方式查询。 (5)修改模块:输入欲修改的那个人的名字后,再依次输入、年龄、、地址、电子完成修改。 (6)保存模块:输入文件名(带后缀名)后,即可将通讯录信息保 存到文件。 图2.1 系统模块图 2.任务执行流程图

C语言函数题库及答案

C语言函数题库及答案 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

第六部分函数 一、单项选择题 1.C语言中的函数返回值的类型是由(D)决定 A.return语句中的表达式B.调用函数的主调函数 C.调用函数时临时D.定义函数时所指定的函数类型 2.下面不正确的描述是(B)。 A.调用函数时,实参可以是表达式 B.调用函数时,实参和形参可以共用内存单元 C.调用函数时,将形参分配内存单元 D.调用函数时,实参与形参的类型必须一致 3.在C语言中,调用一个函数时,实参变量和形参变量之间的数据传递是 (D) A.地址传递B.值传递 C.由实参传递给形参,并由形参传回给实参D.由用户指定传递方式 4.下面的函数调用语句中含有(A)个实参 inta,b,c; intsum(intx1,intx2); …… total=sum((a,b),c); A.2B.3C.4 D.5 5.在C语言中(C) A.函数的定义可以嵌套,但函数的调用不可以嵌套

B.函数的定义和调用均不可以嵌套 C.函数的定义不可以嵌套,但是函数的调用可以嵌套 D.函数的定义和调用均可以嵌套 6.关于C语言中的return语句正确的是(C) A.只能在主函数中出现 B.在每个函数中都必须出现 C.可以在一个函数中出现多次 D.只能在除主函数之外的函数中出现 7.两个形参中,第一个形参为指针类型、第二个形参为整型,则对函数形参的说明有错误的是(D) (floatx[],intn) (float*x,intn) (floatx[10],intn) (floatx,intn) 8.在C语言中,函数的数据类型是指(A) A.函数返回值的数据类型 B.函数形参的数据类型 C.调用该函数时的实参的数据类型 D.任意指定的数据类型 9.已知如下定义的函数: fun1(a) {printf("\n%d",a); } 则该函数的数据类型是(C)

C语言大作业报告范文

学院XX学院

目录 1 摘要 (3) 1.1设计题目 (3) 1.2设计容 (3) 1.3开发工具 (3) 1.4应用平台 (3) 2 详细设计 (3) 2.1程序结构 (3) 2.2主要功能 (3) 2.3函数实现 (3) 2.4开发日志 (4) 3 程序调试及运行 (4) 3.1程序运行结果 (4) 3.2程序使用说明 (4) 3.3程序开发总结 (4) 4 附件(源程序) (4)

1 摘要 1.1 设计题目 (A)求最大数;(B)高次方数的尾数 1.2 设计容 (A)求555555的约数中最大的三位数; (B)求13的13次方的最后三位数1.3 开发工具 Visual C++ 6.0和Win32。 1.4 应用平台 Windows XP 32位 2 详细设计 2.1 程序结构 (A)求最大数

定义变量a、b、c,a从100至999递增,b为555555,用b除以a,判断是否可以整除,若可以,则把a的值赋给c,a自加1;若不可,a自加1。重复以上步骤,直到a>999,输出c。循环语句采用for 循环。 (B)高次方数的尾数

定义变量i、j,i从1至13递增,j初值为1。用j乘以13,用得到的乘积除以1000并取其余数,赋给j,i自加1。重复以上步骤,直到i>13,输出j。循环语句采用for循环。

2.2 主要功能 程序功能:(A)求555555的约数中最大的三位数; (B)求13的13次方的最后三位数。 原理和方法: (A)题目的原理和方法:因为要求的是三位数,就用555555从小到大依次除以100到999的所有数,并判断能否整除,最后一个可以整除555555的数即为所求。循环语句采用for循环。 (B)题目的原理和方法:乘积的最后三位数只与乘数和被乘数的后三位数有关,因此用1乘以13,再除以1000并取余数,用余数乘以13,再除以1000并取余数,依次进行下去,累乘13个13后除以1000取得的余数即为所求。循环语句采用for循环。 2.3 函数实现 (A)求最大数 int a,b=555555,c; /*定义变量,赋初值*/ for(a=100;a<=999;a++) /*FOR循环*/ { if(b%a==0) /*利用IF语句判断b是否可以被a整除*/ c=a; /*将555555的约数赋给c*/ } printf("%d\n",c); /*输出c*/ (B)高次方数的尾数 int i,j=1; /*定义变量,赋初值*/ for(i=1;i<=13;i++) /*FOR循环*/ { j=j*13%1000; /*将j乘以13的乘积的后三位数赋给j*/ } printf("%d\n",j); /*输出j*/ 2.4 开发日志 (A)选定这个题目后,我先分析此题用何种算法完成,确定了使用FOR循环并限定除数围,然后画出程序框图,再一步步编写源代码。调试过程很顺利,只有一个地方忘加了“;”。运行程序后,结果非常满意。 (B)这个题目不难,但是也不简便,我想到只取三位数的方法,并使用FOR循环,然后画出程序框图,再一步步编写源代码。调试过程发现对其中一个变量的初值是1还是13有待解决,分析程序后发现应该用1,然后进一步调试,运行,直至结果正确。

东莞理工学院C语言网上作业

《C语言程序设计》第2章作业 一、单选题(每小题5分,共100分,得分45 分) 1、1.关于C程序的构成描述,_________是不正确的。 A、一个源程序至少且仅包含一个main函数,也可包含一个main函数和若干个其他函数。 B、函数由函数首部和函数体两部分组成,二者缺一不可。 C、函数首部通常是函数的第1行,包括:函数属性、函数类型、函数名、函数参数等,不管有无函数参数,都必须用一对圆括号括起来。 D、函数体通常在函数首部下面,用一对花括号将声明部分和执行部分括起来,但不能为空。参考答案:D 2、2.C程序中,不管是数据声明还是语句,都必须有一个结束符,它是C语句的必要组成部分,该符号是_________。 A、逗号“,” B、句号“。” C、分号“;” D、单撇号“’”参考答案:C 3、3.下列关于C程序的运行流程描述,______是正确的。 A、编辑目标程序、编译目标程序、连接源程序、运行可执行程序。 B、编译源程序、编辑源程序、连接目标程序、运行可执行程序。 C、编辑源程序、编译源程序、连接目标程序、运行可执行程序。 D、编辑目标程序、编译源程序、连接目标程序、运行可执行程序。 参考答案:C 4、5.描述或表示算法有多种方法,______不是常用的表示方法。 A、自然语句 B、流程图或N-S图 C、伪代码 D、效果图参考答案:D 5、6.下面四个哪一个是C语言正确的标识符。 A、2xy B、data_file C、break D、a@https://www.wendangku.net/doc/ed9721049.html, 参考答案:B 6、7.C语言是一种结构化的程序设计语言,任何程序都可以将模块通过3种基本的控制结构进行组合来实现,这三种基本的控制结构是指______。 A、分支结构、循环结构、函数结构 B、顺序结构、选择结构、函数结构 C、顺序结构、分支结构、循环结构 D、以上描述都不正确参考答案:C 7、下列关于算法特性的描述,______是不正确的。 A、有穷性:指一个算法应该包含有限的操作步骤,而不能是无限的。 B、确定性:指算法的每一个步骤都应当是确定的,不应该是含糊的、模棱两可的。 C、有效性:指算法中的每一个步骤都应当能有效地执行,并得到确定的结果。 D、输入/输出性:指算法中可以有输入/输出操作,也可以没有输入/输出操作。 参考答案:D 8、关于运行一个C程序的描述,______是正确的。 A、程序总是从main()函数处开始运行,当main()函数执行结束时,程序也就执行结束。 B、程序总是从main()函数处开始运行,当调用其它函数时,也可在其它函数中执行结束。 C、当程序中无main()函数时,可以设置一个主控函数来代替main()函数,从而达到运行程序的目的。 D、以上描述都不正确。参考答案:A 9、下列关于C程序中复合语句的描述,______是正确的。 A、用一对圆括号“( )”将若干语句顺序组合起来就形成一个复合语句。

C语言_函数习题

函数习题 1.以下函数值的类型是________。 fun(float x) { float y; y=3*x-4; return y; } A)int B)不确定 C)void D)float 正确答案:A(知识点:函数的定义) 试题分析:在函数定义时,函数名前没有函数类型,则默认函数类型为int类型。 2.有如下函数调用语句: fun(rec1,rec2+rec3,(rec4,rec5)); 该函数调用语句中,含有的实参个数是________。 A)3 B)4 C)5 D)有语法错 正确答案:A(知识点:函数的调用) 试题分析:在该函数调用中,含有的实参个数是3个。其中,第二个实参是rec2+rec3,是一个算术表达式,第三个实参是(rec4,rec5),是一个逗号表达式。如果实参是表达式,则首先计算表达式的结果,再将表达式的值传递给形参。 3.请在以下程序第一行的填空处填写适当内容,使程序能正确运行。________ (double,double)

main() { double x,y; scanf("%lf%lf",&x,&y); printf("%lf\n",max(x,y)); } double max(double a,double b) {return(a>b?a:b);} 正确答案:double max(知识点:函数的声明) 试题分析:当被调用的函数定义处在函数调用后且不为int类型时,在函数调用前必须对被调用函数进行声明。对函数进行声明有下列三种形式: (1)类型名函数名(类型1 形参1,类型2 形参2,…,类型n 形参n); (2)类型名函数名(类型1,类型2,…,类型n); (3)类型名函数名(); 4.以下程序的输出结果是________。 t(int x,int y,int cp,int dp) { cp=x*x+y*y; dp=x*x-y*y; } main() { int a=4,b=3,c=5,d=6; t(a,b,c,d);

C语言课程设计大作业62994

郑州大学 课程报告 课程名称:C语言程序设计 专业班级:(15)班 学生姓名:谢* 学号: 20127611*** 任课教师:赵** 学期: 2012-2013-2 课程报告任务书

开发一个通讯录管理系统,基本信息包括:编号、姓名、性别、出生年月、固定电话、手机号、电子邮件等基本信息(也可以根据自己情况进行扩充)。使之能提供以下基本功能: (1)通讯录等信息录入功能(注:数据等要求用文件保存)--输入 (2)通讯录信息的浏览功能--输出 (3)查询功能(至少一种查询方式)、排序功能(至少一种排序方式): ①按电话号码进行查询②按姓名查询等③按照年龄排序④按姓名排序等(4)通讯录条目的删除与修改等 扩展功能:可以按照自己的程度进行扩展。比如(1)简单的权限处理(2)报表打印功能(3)模糊查询,如姓张的人员等;或者给定电子邮件的部分进行查询等(4)给定指定年龄范围之内的查询等等。 总之,可以根据自己需求进行分析功能,成绩评定按照难度进行区分。 成绩评定教师:

一. 需求分析 1,具有数据的插入、修改、删除、显示和查询功能的电话簿管理程序。 2,数据包括:人名、工作单位、电话号码和E-MAIL地址。 3,可对记录中的姓名和电话号码进行修改。 4,可增加和删除记录。 5,可显示所有的保存记录。 6,可按人名或电话号码进行查询。 分析 建议采用结构体数组和文件系统实现。结构体成员包括人名、工作单位、电话号码和E-MAIL地址。 根据题目的要求程序应该采用结构体数组和文件系统实现。应该有文件的操作功能;在程序中应该包括输入、显示、删除、查询、添加、修改、保存、加载和退出的功能。 二、概要设计 (1).程序的模块组成及各个函数的功能: 程序的模块组成: 主函数:main(); 输出数据函数:printf(); 读取数据函数:scanf(); 显示记录函数:Display(); 删除记录函数:shanchu(); 查找记录函数:chaxun(); 自定义清屏函数:system(“cls”); 自定义输入函数:input(); 字符输入函数:getchar(); 修改数据函数:xiugai(); 保存数据函数:baocun(); 排序数据函数:paixu(); 各函数的主要功能:

C语言作业

菱形 #include int main() { int i,j; for(i=1;i<=4;i++) { for(j=1;j<=4-i;j++) printf(" "); for(j=1;j<=2*i-1;j++) printf("*"); printf("\n"); } for(i=1;i<=3;i++) { for(j=1;j<=i;j++) printf(" "); for(j=1;j<=7-2*i;j++) printf("*"); printf("\n"); } return 0; } 三角形 #include int main() { int i,j; for(i=1;i<=5;i++) { for(j=1;j<=24-i;j++) printf(" "); for(j=1;j<=2*i-1;j++) printf("*"); printf("\n"); } return 0; }

乘法口诀 #include int main() { int i,j; for(i=1;i<=9;i++) { for(j=1;j<=9;j++) if(j<=i) printf("%d*%d=%d ",j,i,i*j); printf("\n"); } return 0; } 统计大写字母 #include #include int main() {char c; int num[26]={0},i; while((c=getchar())!='#') if(isupper(c)) num[c-'A']+=1; for(i=0;i<26;i++) if(num[i]) printf("%c:%d\n",i+'A',num[i]); return 0; } 最小公倍数,最大公约数 #include int main() { int m,n,p,r,t; scanf("%d,%d",&n,&m); if(n

C语言习题全集答案(至函数)

第一单元程序设计和C语言 一、选择题 1.C语言的基本构成单位是:。 A. 函数 B. 函数和过程 C. 超文本过程 D. 子程序 2.一个C语言程序总是从开始执行。 A. 主过程 B. 主函数 C. 子程序 D.主程序 3.C语言的程序一行写不下时,可以。 A. 用逗号换行 B. 用分号换行 C. 在任意一空格处换行 D. 用回车符换行 4.以下叙述不正确的是:。 A. 在C程序中,语句之间必须要用分号";"分隔 B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数 C. 在C程序中,无论是整数还是实数都能正确无误地表示 D. 在C程序中,%是只能用于整数运算的运算符 5.以下不正确的C语言标识符是。 A. ABC B. abc C. a_bc D. ab.c 6.下列字符串是标识符的是:。 A. _HJ B. 9_student C. long D. LINE 1 7.以下说法中正确的是:。 A. C语言程序总是从第一个定义的函数开始执行 B. 在C语言程序中,要调用的函数必须放在main()函数中定义 C. C语言程序总是从main()函数开始执行 D. C语言程序中的main()函数必须放在程序的开始部分 8.不合法的常量是:。 A. ‘\2’ B. "" C. ‘3’ D. ‘\483’ 9.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是:。 int k,a,b; unsigned long w=5; double x=1.422; A. x%(-3) B. w+=-2 C. k=(a=2,b=3,a+b) D. a+=a=+(b=4)*(a=3) 10.在C语言中,字符型数据在内存中以形式存放。 A. 原码 B. BCD码 C. 反码 D. ASCII码

西北工业大学C语言大作业实验报告

学院*****************

目录 1 摘要 (3) 1.1设计题目 (3) 1.2设计内容 (3) 1.3开发工具 (3) 1.4应用平台 (4) 2 详细设计 (4) 2.1程序结构 (4) 2.2主要功能 (10) 2.3函数实现 (13) 2.4开发日志 (18) 3 程序调试及运行 (20) 3.1程序运行结果 (20) 3.2程序使用说明 (22) 3.3程序开发总结 (22) 4 附件(源程序) (22)

1 摘要 1.1 设计题目 折半法查找演示程序 1.2 设计内容 本程序是一个演示折半查找算法的演示程序。由用户输入查找的数据表列和查找的数据,系统在将数表排序后可以在屏幕上演示在排序后的表列中按折半查找法查找该数据的具体过程(通过每次查找的中间数据、下次查找表列等,具体效果见下图),支持多次演示、错误提醒,程序暂停演示功能。 1.3 开发工具 Visual C++ 6.0和Win32。

1.4 应用平台 Windows 2000/XP/Vista 32位 2 详细设计 2.1 程序结构 程序功能模块: 本程序主要由五大模块组成:程序说明模块、输入模块、排序模块、折半法查找及显示模块、进程选择模块。各模块的主要功能如下: 程序说明模块:给使用者营造一个较为友好的界面,同时提供程序开发人员的相关信息以及程序操作的相关说明信息。 此部分模块主函数源代码如下: int a[N]; /*存储要查找的数表,用户输入*/ int i,n,num,count; /*count为折半次数计数器,n为数表数据个数,num存储所查数据*/ int top,bottom,mid; char c; /*存储选择函数中的输入的字符y或n*/ int flag=1; /*折半法循环标志变量*/ int loc=-1; /*存储所查找数据位置*/ double k=0; p_s(76);puts("\n"); /*引用p_s函数,打出一行'*'*/(p_s函数位于print_star.cpp文件中,参见下文) printf("****欢****迎****使****用****折****半****查****找****法****演****示****器****\n"); puts("\n"); /*程序欢迎语*/ p_s(13); printf("制作者:***************** "); /*作者信息*/ p_s(4); printf("Email:************************ "); /*电子邮件*/

C语言练习作业和答案

习题一 1、C语言源程序最多可能由____ABCD____________部分组成? A) 预处理部分B)变量说明部分 C) 函数原型声明部分D)函数定义部分 2、一个完整的C语言源程序最少必须有___C____。 A)若干个主函数B)若干个函数 C)且只能有一个主函数D)一个函数 3、C语言以函数为源程序的基本单位最主要有利于__B_____。 A)程序设计结构化B)程序设计模块化 C)程序设计简单化D提高程序设计有效性 4、要使得C语言编写的程序能够在计算机上运行并得出正确结果,必须要先经过______________B_______________________。 A)编辑和链接B)编译和链接 C)修改和运行D运行并输入数据 5、一个C程序的执行是从______A______。 A)本程序的main函数开始,到main函数结束。 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 6、以下叙述正确的是__A______。 A)在C程序中,main函数必须位于程序的最前面 B)C程序的每行中只能写一条语句 C)C语言本身没有输入输出语句 D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误 7、以下叙述不正确的是___D_____。 A)一个C源程序可由一个或多个函数组成 B)一个C源程序必须包含一个main函数 C)C程序的基本组成单位是函数 D)在C程序中,注释说明只能位于一条语句的后面 8、C语言规定:在一个源程序中,main函数的位置是___A_____。 A)必须在最开始 B)必须在系统调用的库函数的后面 C)可以任意 D)必须在最后 习题二 一、程序题 1、阅读程序写运行结果 (1)#include int main()

C语言函数练习题及答案.doc

【单选题】 在下列关于C函数定义的叙述中,正确的是? A、 函数可以嵌套定义,但不可以嵌套调用; B、 函数不可以嵌套定义,但可以嵌套调用; C、 函数不可以嵌套定义,也不可以嵌套调用; D、 函数可以嵌套定义,也可以嵌套调用; 我的答案:B得分:2.5分 2 【单选题】 下面函数调用语句含有实参的个数为? n c((expl z exp2)z(exp3z exp4A exp5)); A、

B、

D、 5 我的答案:B得分:2.5分 3 【单选题】 c语言中函数返回值的类型是由以下哪个选项决定的? A、 函数定义时指定的类型; B、 return语句中的表达式类型; C、 调用该两数时的实参的数据类型; D、 形参的数据类型; 我的答案:A得分:2.5分

4 【单选题】

以下关于函数叙述屮,错误的是? A、 两数未被调用时,系统将不为形参分配内存单元; B、 实参与形参的个数必须相等,TL实参与形参的类型必须对应一致; C、 当形参是变量时,实参可以是常量、变量或表达式; D、 如两数调用时,实参与形参都为变:S,则这两个变量不可能共亨同一内存空间; 我的答案:B得分:2.5分 5 【单选题】 若函数调用时参数为基本数据类型的变量,以下叙述正确的是? A、 实参与菇对应的形参共享内存存储单元; B、 只有当实参与菇对应的形参同名时才共享内存存储单元;

C、 实参与对应的形参分别占用不同的内存存储单元; 实参将数据传递给形参后,立即释放原先占用的内存存储单元; 我的答案:C得分:2.5分 6 【单选题】 函数调用时,实参和形参都是简单变量,它们之间数据传递的过程描述正确的是? A、 实参将地址传递给形参,并释放原先占用的存储单元; B、 实参将地址传递给形参,调用结束时形参再将此地址回传给实参; C、 实参将值传递给形参,调用结束时形参再将其值回传给实参; D、 实参将值传递给形参,调用结束时形参并不将其值回传给实参; 我的答案:D得分:2.5分 7 【单选题】

C语言程序设计课程作业_A

C语言程序设计课程作业_A 一、单选题 1. (4分)设有以下定义int k=7, x=12;,则能使值为3的表达式是() ? A. x%=(k%=5) ? B. x%=(k-k%5) ? C. x%=k ? D. (x%=k)-(k%=5) 答案D 解析C语言程序设计/数据类型与运算/整型算术表达式 2. (4分)以下程序的输出结果是? #include main() { int x=020,y=0x20,z=20; printf('%d,%d,%d ',x,y,z); } ? A. 20,20,20 ? B. 32,16,20 ? C. 16,32,20 ? D. 20,32,20 答案C 解析C语言程序设计/数据类型及运算 3. (4分)C语言中while和do while循环的主要区别是( ) ? A. do-while的循环至少无条件执行一次 ? B. while循环控制条件比do-while的循环控制条件严格 ? C. do-while允许从外部转入到循环体内 ? D. do-while的循环体不能是复合语句 答案A 解析C语言程序设计/循环程序设计/while语句与do-while语句

4. (4分)执行语句scanf('%d,%d',&m,&n);使m和n的值分别为1和2,正确输入是( ) ? A. 1 ? B. 1 2 ? C. 1,2 ? D. 12,2 答案C 解析C语言程序设计/顺序程序设计/整型数据的格式输入 5. (4分)sizeof(float)是( ) ? A. 一个双精度型表达式 ? B. 一个整型表达式 ? C. 一种函数调用 ? D. 一个不合法的表达式 答案B 解析C语言程序设计/数据类型与运算/实型变量存储 6. (4分)下列选项中,不合法的C语言关键字是 ? A. auto ? B. default ? C. static ? D. var 答案D 解析C语言程序设计/C语言概述 7.

C语言函数部分练习题

本题序号:80 下面程序的输出结果是____。#include main( ) { int x=10; { int x=20; printf ("%d,", x); } printf("%d\n", x); } A 10,20 B 20,10 C 10,10 D 20,20 参考答案 B 本题序号:107 下面程序的输出结果是____。main() { int a=2,i; for(i=0;i<3;i++) printf("%4d",f(a)); } f(int a) { int b=0; static int c=3; b++; c++; return(a+b+c); } A 7 7 7 B 7 10 13 C 7 9 11 D 7 8 9 参考答案 D 本题序号:108 下面程序的输出结果是____。 #include try( ) { static int x=3; x++; return(x);

} main( ) { int i, x; for(i=0; i<=2; i++ ) x=try( ); printf("%d\n", x); } A 3 B 4 C 5 D 6 参考答案 D 本题序号:109 下面程序的输出结果是____。 #include main( ) { int x=1; void f1( ), f2( ); f1( ); f2(x); printf("%d\n", x); } void f1(void) { int x=3; printf("%d ", x); } void f2( x ) int x; { printf("%d ", ++x); } A 1 1 1 B 2 2 2 C 3 3 3 D 3 2 1 参考答案 D 本题序号:126 下列叙述中错误的是 A 主函数中定义的变量在整个程序中都是有效的。 B 在其它函数中定义的变量在主函数中也不能使用。

相关文档
相关文档 最新文档