当前位置:文档之家› C语言程序设计概述

C语言程序设计概述

C语言程序设计概述
C语言程序设计概述

C语言程序设计概述

1.算法的描述有哪些基本方法?

2.C语言程序的基本结构是怎样的?举一个例子说明。

3.C语言有什么特点?

4.指出合法与不合法的标识符命名。

ABl2 leed_3 a*b2 8stu D.K.Jon EF3_3

PAS if XYZ43K2 ave#xy 762 #_DT5 C.D

5.说明下列Turbo C热键的功能。

F2 F10 F4 Ctrl+F9 Alt+F5

6.在Turbo C方式下输入并运行下列程序,记录下运行结果。

(1)main( )

{printf(″**************************\n″)

printf(″welcome you \n″)

printf(″very good \n″)

printf(″**************************\n″)

}

(2) main( )

{int a,b,c,t;

printf(″please input three numbers;″);

Scanf(″%d,%d,%d″,&a,&b,&c);

T=max(max(a,b),c) ;

printf(″max number is:%d\n″,t);

}

int max(int x,int y)

{ int z;

if ( x>y) z=x;

else z=y;

return(z);

}

7.一个C程序是由若干个函数构成的,其中有且只能有一个函数。8.在Turbo C环境下进行程序调试时,可以使用Run下拉菜单的命令或按键转到用户屏幕查看程序运行结果。

9.C语言对标识符与关键字有些什么规定?

10.C源程序输入后是如何进行保存的?

第2章C语言的基本数据类型与表达式

1.指出下列常数中哪些是符合C语法规定的。

′\′′101′″\″ e3 019 0x1e ″ab\n″ 1.e5

(2+3)e(4-2) 5.2e2.5

2.请找出下列程序中的错误,改正后写出程序运行结果。

(1)void main( )

{ int x,y=z=5,aver;

x=7

AVER=(x+y+z)/3

printf(″AVER=%d\n″,aver)

}

(2)void main( )

{char c1=′a′; c2=′b′; c3=′c′;

int a=3.5 ,b=′A′

printf(″a=%db=\′%c\′\″end\″n″,a,b) ;

printf(″a%cb%c\bc%c\tabc\n″,c1,c2,c3);

}

3.写出下列赋值的结果,表格中写了数值的是要将它赋给其他类型的变量,将所有的

4.写出程序运行结果。

(1) void main( )

{ int i,j;

i=8,j=10;

printf(″%d,%d,%d,%d\n″,i,j,++i,j++);

}

(2)main ( )

{int =1,b=2,c=3;

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

}

(3)main( )

{ int a=10,b=20,c=30,d;

d=++a<=10 || b一一>=20 || c++;

printf(″%d,%d,%d,%d\n″,a,b,c,d);

}

5.写出下面表达式的值(设a=l0,b=4,c=5,d=1,x=2.5,y=3.5)

(1) a%=(b%=3)

(2) a+=a一=a*=a

(3) (float)(a+c)/2+(int)x%(int)y

(4) a*=b+c

(5) ++a—c+b++

(6) ++a—c+++b

(7) a

(8) a+b,18+(b=4)*3,(a/b,a%b)

(9) x+a%3*(int)(x+y)%2/4+sizeof(int)

(10) a

(11) b++= =0

(12) a*=b=c=2

(13) a=b= =c

6.下列每组表达式中,被执行后结果完全等价的是哪些(设a、b、m是已被赋值的整型变量)?

(1) m=(a=4,4*5)与m=a=4,4*5

(2) (float)(a/b)与(float)a/b

(3) (int)a+b与(int)(a+b)

(4) m%=2+a*3与m=m%2+a*3

(5) m=1+(a=2)+(b=3)与a=2,b=3,m=1+a+b

7.条件表达式x>0?x:一x的功能是什么?

8.用一个条件表达式描述从a、b、c中找出最大者赋给max。

9.若x为int型变量,则执行以下语句后x的值为( )。

x=6 ;

x+=x一=x*x;

A.36 B一60 C.60 D一24

10.若有以下类型说明语句:

char w;int x;float y;double z;

则表达式w*x+z—y的结果为( )类型。

A.float B.char C.int D.double

1.变量k为float类型,调用函数scanf(″%d″,&k),不能使变量k得到正确数值的原因是。

2.a=1234,b=12,c=34,则执行“printf(″|%3d%3d%-3d|\n″,a,b,c);”后的输出是。

3.设有“int a=255,b=8;”,则“printf(″%x,%o\n″,a,b);”输出是。

4.以下程序输出的是。

void main( )

{

int a1=1,a2=0,a3=2;

printf(″%d,%d,%d″,a1,a1+a2+a3,a3-a1);

}

5.Printf函数中用到格式符%5s,其中5表示输出字符占用5列。如果字符串长度大于5,则按输出;如果字符串长度小于5,则按输出。

6.已定义变量如下:

int a1,a2;

char c1,c2;

若要求输入a1、a2、c1和c2的值,正确的输人函数调用语句是

7.输入两个整型变量a、b的值,输出下列算式以及运算结果。

a+b、a—b、a*b、a/b、(float)a/b、a%b

每个算式占一行。

如a等于10,b等于5,a+b,输出为:

10+5=15

8.输入一个非负数,计算以这个数为半径的圆周长和面积。

9.输人任意一个3位数,将其各位数字反序输出(例如输人123,输出321)。

10.输入任意大小的3个整数,判断其中是否有两个奇数一个偶数。若是则输出YES,不是则输出NOT(要求用条件表达式进行判断,不使用if语句)。

11.求前驱字符和后继字符。输入一个字符,找出它的前驱字符和后继字符,并按ASCII 码值,按从大到小的顺序输出这3个字符及其对应的ASCII码值。

12.输入三角形的边长,求三角形面积(面积=sqrt(s(s—a)(s—b)(s—c)),s=(a+b+c)/2)。

1.设x、t均为int型变量,则执行语句“x=10;t=x&&x>10;”后,t的值为。

2.假定所有变量均已正确定义,则程序段:

int a=0,y=10;

if(a=0) y一一;else if(a>0) y++;

else y+=y;

运行后y的值是。

3.能表述20

4.若有定义语句“int a=25,b=14,c=19;”,则以下语句执行结果是。

if(a<=25&&b<=2&&c)

printf(″***a+b=%d,a—b=%d***\n″,a+b,a—b);

else printf(″***a=%d,b=%d,c=%d***\n″,a,b,c);

5.假定i和j为int型变量,则执行以下语句后i的值是。

int i=1;

switch ( i )

{

case 1:{for (j=0;j<9;j++) i+= j;break;}

case 2:{for (j=1;j<10;j++) i+= j;break;}

case 3:i++;

}

6.以下两条if语句可合并成一条if语句,即。

if(a<=b) x=l;

else y=2;

if(a>b) printf(″*** y=%d\n″,y) ;

else printf(″*** x=%d\n″,x);

7.输入两个字符,若这两个字符的序号(ASCIIl码)之差为偶数,则输出它们的后继字符,否则输出它们的前驱字符。

8.输入整数a和b,如果a能被b整除,就输出算式和商,否则输出算式、整数商和余数。

9.输入某个点A的平面坐标(x,y),判断(输出)A点是在圆内、圆外还是在圆周上,其中圆心坐标为(2,2),半径为1。

10.输入年号和月份,输出这一年该月的天数(一个年份,先判断是否闰年)。

11.请将以下语句改写成switch语句(a>0) 。

if (a<30) m=1;

else if(a<40) m=2;

else if(a<50) m=3;

eIse if(a<60) m=4;

else m=5;

12.有一函数:

x-1 -5

y= x x=0

x+1 0

编写一程序。要求输入x的值,输出y的值。分别用不嵌套的if语句,嵌套的if语句,switch语句编写。

第5章 循环结构程序设计

1.输入n 个整数.求这n 个数之中的偶数平均值.并输出。

2 .输入一串字符.直到输人一个星号(*)为止。统汁(输出)其中的字母个数和数字字符个数。

3.从键盘输入一个正整数n ,计算该数的各位数字之和并输出。例如,输人数是5246,则计算5+2+4+6=17并输出。

4.输入一个字符串,将其中的大写字母改为小写字母.小写字母改为大写字母。然后输出。

5.设某县2000年工业总产值为200亿元.如果该县预计平均年工业总产值增长率为4 .5%,那么多少年后该县年工业总产值将超500亿元?

6.输出l ~999中能被3整除,而且至少有一位数字是5的所有数字。

7.求爱因斯坦数学题。有一条长阶,若每步跨2阶,则最后剩1阶;若每步跨3阶,则最后剩2阶;若每步跨5阶,则最后剩4阶;若每步跨6阶,则最后剩5阶;若每步跨7阶,最后正好一阶不剩。

8.输入一个3位数,判断是否是一个“水仙花数”。水仙花数是指3位数的各位数字的立方和等于这个3位数本身。例如,153=l*1*l+5*5*5+3*3*3

9. 计算斐波那契分数序列前n 项之和(n 是某个常数.斐波那契分数序列为:

12,23,35,58,813,13

21, ... 10.输入一个正整数.各输出n 行的正(倒)三角形宝塔图案。

11.输出九儿乘法表。

12.输人一串字符,直到输入一个星号为止,统计(输出)其中的正整数和负整数个数以及所有正整数的平均值和所有负整数的平均值,

13.一个整数等于该数所有因子之和,则称该数是一个完数。例如,6和28都是完数。因为6=1+2+3,28=1+2+4+7+14。输出3位数中所有的完数。

14.编写程序,按下列公式计算e 的值(精度为l e 一6)。

!

1...!31!21!111n e +++++=

15.用二分法求方程2x3一4x2+3x=0在(一l0,10)附近的根(二分法:先找到a、b,使f(a)、f(b)异号,说明在区间(a,b)内一定有零点,然后求f[(a+b)/2],现在假设f(a)<0,(b)>0,a

第6章 函数与编译预处理

1.写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输人。

2.编写一个函数,由参数传入一个字符串,统计此字串中字母、数字和其他字符的个数,在主函数中输入字符串并显示统计结果。

3.按照第5章第8题的要求编写判断水仙花数的函数,从主函数输入正整数n ,在主函数中调用判断水仙花数的函数,找出n 以内所有的水仙花数。

4.定义一个宏,实现将两个数互换,并写出程序,输入两个数作为使用参数,并显示结果。

5.已知二阶Fibonacci 数列: 0 若n=0 Fib(n)= 1 若n=1

Fib(n 一1)+Fib(n 一2) 其他情况 定义递归函数求Fib(n)。

6.定义函数求F= (n+m)!+n!,m 、n 均为任意正整数。要求使用递归调用。

7.定义一个函数完成第5章第11题的功能。

8.如果有两个数,每一个数的所有约数(除了它本身以外)的和正好等于对方,则称这两个数为互满数,求出30 000以内所有的互满数,并显示输出,求一个数它的所有约数(除了它本身以外)的和,用函数实现。

9.编写以下函数:①输入职工的姓名和职工号;②按职工号由小到大排序,姓名顺序也随之调整;③输入一个职工号,找出该职工的姓名。在主函数中调用这些函数。

10.设计程序完成下列计算。

已知 )

3,2.3(),3.2()

,(+-++=

n x f n x f n x f y

其中 )0()!

2()1(...!4!21),(242≥-+++-=n n x x x n x f n

n 当x=5.6,n=7时,求y 。

要求通过嵌套调用完成计算。

第7章数组

1.以下各题中,选择一个正确的答案。

(1)能正确对一维数组a中所有元素进行初始化的是( )

A.int a[5]={ } B.int a[]={0}

C.int a[5]=0,0,0,0,0 D.int a[5]={0}

(2)有说明int k=3,a[10];

则下列可以正确引用数组元素的表达式是( )。

A.a[k] B a[10] C.a[1.3] D.a[3*5]

(3)有定义int d[ ][3]={1,2,3,4,5,6};

执行语句printf(″%c″,d[1][0]+′A′);

结果是( )。

A.A B.B C.D D.E

(4)有定义char c=′A′,ch[20]={′a′,′b′,′c′,′\0′,′d′,′\0′};

若执行printf(″%s″,ch);

结果为( )。

A.′abc′’B.abc C.abcd D.abc\0d

(5)对数组进行初始化char carr[]={′s′,′t′,′u′,′d′,′e′,′n′,′t′},barr[ ]=″student";则正确的是( )。

A.carr与barr长度相同B.carr比barr长

C.carr与barr相同D.carr比barr短

2.阅读下列程序,写出程序的执行结果。

(1)#include

#include

void main( )

{int i,j,temp,d[4][4]={{1,2,3,4},{5,6,7,8},{4,3,2,1},{1,2,

3,4}} ;

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

for (j=0;j

if(d [ i ][ j ]>d [ j ] [ i ]) d [ j ] [ i ]= d [ i ][ j ];

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

{printf(″\n″);

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

if(j>=i ) printf(″%6d″,d [ i ][ j ]) ;

else printf(″%6c″,' ');

}

}

(2)若输入十进制数3291时,下列程序输出为:

#include

void main( )

{ int i,d,m,n;

char s[ 8 ];

scanf(″%d″,&n) ;

i=0;/*i是用来存放转换后的字符的数组元素下标*/

do{ m=n/8;

d=n%8;

s[ i ]=’0’+d;

i++;

n=m;

}while(n!=0) ;

for (i一一;i>=0;i一一) /*反向输出字符*/

putchar(s[ i ]);

3.程序填空。在处填写合适的语句,完善下列程序。

(1)从键盘输入一个数,将其插入到一个升序数组中,保持数组仍然按升序排列。

#include

void main( )

{ int data,temp,k;

static int a[9]={-10,2,4,8,10,15,25,50};

printf(″\nEnter a data:″) ;

scanf(″%d″,&data);

for (k=8;;k一一)

if (a[k]

{ ;

a[k]=a[k一1];

a[k-1]=temp;

}

else ;

for(k=0;;k++)

printf("%7d",a[ k ] ) ;

(2) 从键盘输人一串英文字符(不含空格与其他字符),统计每个字符的个数,并输出字母及相应的个数。

include

void main( )

{ int i=0,c[52]={0},m=0;

char str[80];

printf(″Input a string:″) ;

scanf( ,str) ;

while(str[ i ])

{ if (str[ i ]>=′A′&&) c[str[ i ]一′A′]++ ;

if(str[ i ]>=′a′&&str[ i ]<=′z′) ;

i++;‘

}

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

if(c[ i ]) {if(m%8= =0) putchar(′\n′);m++;

printf(″%c:%一d″,i+′A′,c[i]);

}

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

if(c[i+26]){if(m%8= =0)putchar(′\n′) ;m++;

printf(″%c:%一d″,,c[ i+26 ]) ;

}

}

4.求一组成绩的平均分数以及高于平均分的成绩:设给定的成绩为90,85,92,77,80,62。

5.编写程序,输入一组整数,将它们排序后由小到大输出。

6.从键盘输入一个4X 4整数矩阵,以主对角线(\)为对称轴,将左下角元素中较大元素代替右上角对应元素,并将右上角元素(含对角线元素)输出。

7.通过键盘给3X 4的二维数组输人数据.然后分别按行和按列输出数组元素。

8.编写程序,将两个字符串连接起来,不要使用strcat函数。

9.输入一行字符串,统计该字符串中字符对ab的个数。

10.从键盘输人10个字符串,找出一个最长的字符串。

11.已知数组a中有m个按升序排列的元素,数组b中有n个按降序排列的元素,编程将a与b中的所有元素按降序存入数组c中。

第8章指针

1.选择题

(1)若函数f定义如下:

void f(char *d,char *s)

{ while(*d++=*s++);}

函数f的功能是( )。

A.串比较B.串复制C.求串长D.串反向

(2)有定义int arr[10]={0,1,2,3.4,5,6,7,8,9},*p,i=2;若执行语句:

p =arr;

printf(″%d″,*(p+i ));

输出结果为( )。

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

(3)有定义int td[ ][3]={1,2,3,4,5,6},以下几种方法中,不能正确表示i行i列元素的是( )

A.td[i][j] B.*(td[i]+j)

C.*(*(td+i)+j) D.*(td+i+j)

2.写出下列程序的运行结果。

(1) void main( )

{ int a,*pl,*p2;

a=10;

pl=&a;

p2=pl;

printf(″The Value is %d || %d || %d\n″,a,*p1,*p2);

*pl=11;

printf(″The Value is %d || %d || %d\n″,a,*p1,*p2);

}

(2)若输入字符串program时,写出下列程序输出结果

#include

void main( )

{ char str[80] ;

void prochar(char *str,char ch);

scanf(″%s″,str);

prochar(str,′r′);

puts(str);

}

void prochar(char *str,char ch)

{char *p;

for(p=str;*p!=’\0’;p++)

if(*p= =ch) {*str=*p;(*str)++;str++;}

*str=’\0’;

}

3.填空题

(1)下面程序完成从键盘输入两个字符串a和b,再将a和b的对应位置字符中的较大者存放在数组c中,填空完善该程序。

# include

#include

void main( )

{ int k=0;’

char a[80],b[80],c[80]={’\0’},*p,*q;

p=a;q=b;

gets(a) ;gets(b) ;

while ( )

{ if ( ) c[k]=*p;

else c[k]=*q;

p++;;k++;

}

if (*p!=0) strcat(c,p) ;

else strcat(c,q) ;

puts(c) ;

}

(2) 以下程序从键盘输入10个不相同的数到数组a中,再输入一个数到x中,在a中查找与x 值相同的元素所在的位置,填空完善该程序。

#include

void main( )

{

int a[11] ,x,i;

printf(″Input 10 integers:\n″);

for (i=1;;i++)

scanf(″%d″,) ;

printf(″Input x:\n″);

scanf(″%d″,&x) ;

*a=x;i=10;

while (x!=*(a+i ))

if ( ) printf(″%6d’s position is :%3d\n″,x,i);

else printf(″%6d Not been found !\n″,x);

}

4.编写函数fun,函数的功能是,从字符串中删除指定的字符。同一字母的大、小写按不同字符处理。例如,程序执行时输入字符串turbo c and borland c++,从键盘输入字符n,则输出后变为turbo c ad borlad c++。如果输入的字符在字符串中不存在,则字符串原样输出。

5.编程将从键盘输入的每个单词的第一个字母转换为大写字母,输入时各单词必须用空格隔开,用“.”结束输入。

6.从键盘输入8个数,用选择法按由大到小的顺序排列并输出,要求用指针实现。

7.从键盘输入一个字符串,编写一个函数,将此字符串中第m 个字符开始的n个字符复制成另一个字符串。

8.输入8个整数,将其中最大的数与第一个数对换,最小的数与最后一个数对换。

9.输入n个整数排序并输出,要求将排序单独写成一个函数,n个整数在主函数中输入,排序结果在主函数中输出,用指针实现。

10.输入一个字符串,内含数字和非数字字符,如gs 423cdl56 7896~?dfl2345,将其中连接的数字作为一个整数,依次存放到数组a中,例如,423放人a[0],156放人a[1],…。统计其共有多少个整数,并输出这些数。

第9章结构体数据类型与链表

习题9

1.写出程序的执行结果。

#include

struct comm

{char *name;

int age;

float sales;

};

void exam(struct comm. *q);

void main( )

{struct comm x[2],y,z,*p;

y.name="Chang";

y.age=30}

y.sales=200.0;

x[0].name="Liu";x[0].Age=55;x[0].sales=350.0;

x[1].Name="Li";x[1].age=45;x[1].sales=300.0;

p=x;p++;

printf(″\n%s%d%4.1f″,p一>name,p一>age,p一>sales) ;

z=y;p=&z;

printf(″\n%s%d%4.1f'″,p一>name,p一>age,p一>sales) ;

exam(&y) ;

}

void exam(struct comm. *q )

{ printf(″\n%s″,q一>name);

}

2.用结构体类型编写一个程序,输入一个学生的学号、姓名及3门课的成绩,计算并输出其平均成绩。

3.有30个学生,每个学生的数据包括学号、姓名和3门课的成绩,从键盘输人每个学生的数据,计算:

(1)每个学生的平均成绩。

(2)计算30个学生每门课程的平均分。

(3)按学生平均分从低到高次序打印出每个学生的各课成绩、3门课的平均成绩。

(4)输出每门课程的平均分。

要求用input函数输入,averagel函数求每个学生3门课的平均分,average2函数求30个学生每门课程的平均分,sort函数按学生平均分排序,output函数输出总成绩表。

4.职工数据包括职工号、姓名及工资等数据项。要求在input函数中赋以10位职工的值,在另一个函数output将工资最高者和最低者的姓名与工资找出(要求用指针方法)。

5.建立一个链表,每一个结点包括的成员为学生学号、平均成绩。用malloc函数开辟新结点。要求链表包括8个结点,从键盘输入结点中的有效数据。要求用函数create来建立

链表。

6.在第5题的基础上,实现下列操作:

(1)新增加一个学生的数据。这个新结点要求按学号顺序插入。编写一个函数insert来插入结点。

(2)删除第五个结点,并从内存中释放。程序中要求验证删除的结点确已释放。

(3)查找特定学生的信息。

(4)将链表结点数据输出到屏幕上。

7.将一个链表反转排列,即将链表头当链表尾,链表尾当链表头。

第10章共用体与枚举类型

1.什么是共用体数据类型?如何定义?请举例说明。

2.试比较共用体与结构体。

3.什么是枚举数据类型?有何特点?请举例说明。

4.求下列表达式的值。

(1) (5&&9)+(5&9)+(5 || 9)+(5 | 9)

(2) ~2&3<<2 | 3

(3) 6^3 | 2<<1

(4) 015&0x21

5.什么是类型定义?请举例说明。

6.写出程序的执行结果。

(1)

# include ″stdio.h″

void main ( )

{enum team{qiaut,cubs=4,pick,dodger=qiaut一2};

printI(″%d,%d,%d,%d\n″,qiaut,cubs,pick,dodger) ;}

(2)

void main( )

{union bt

{ int k;

char c[2] ;

}a;

a.k= 一7;

printf(″%o,%o\n″,a.c[0] ,a.c[1]);

}

(3)

# include ″stdio.h″

void main( )

{union u_tag

{int ival;

float fval;

char *pval;

}uval ,*p;

uval.ival=10;uval.Fval=9.0;uval.pval=″C language″;

printf(″\n%s″,uval.pval);

p=&uval;

printf(″%d″,p一>ival);

(4)

bitpat( int x )

{int i;

for ( i=15;i>=0;i一一)

printf(″%d″,(x>>i)&0x0001);

}

void main( ) { int a=65;

bitpat(a);}

第11章文件

1.C语言数据文件有几种存储形式?每种存储形式各有什么特点?

2.打开文件、关闭文件的含义各是什么?为什么要打开和关闭文忤?

3.C语言标准的文件I/O操作提供了几种文件存取方式?每种方式各有什么特点?

4.什么是文件型指针?通过文件指针访问文件有什么好处?

5.选择与填空。

(1)下面程序将从键盘输入的字符串存人文件中,字符串以#结束,文件名从键盘输入,请填空。

void main( )

{ FILE *fp;

char ch,fname[10];

printf(″Input the name of file\n″一) ;

gets(fname) ;

if((fp= ①)= =NULL)

{printf(″Cannot open\n″) ;exit(0);}

printf(″Enter data\n″);

while((ch=getehar())!=’#’)

fpute( ②,fp);

fclose(fp);

}

(2)以下程序的功能是:从键盘上输人一个字符串,把该字符串中的小写字母转换为大写字母,输出到文件test.txt中,然后从该文件读出字符串并显示出来,请填空。

#include

void main( )

{ FILE *fp;

char str[100];int i=0;

if((fp=fopen(″text.txt″,①))= =NULL)

{printf(″can’t open this file.\n″);exit(0);}

printf(″input a string:\n″);

gest(str) ;

while(str[ i])

{if (str[i]>=’a’&&str[i]<=’z’)

str[i]= ②;

fputc(str[i] ,fp);

i++;}

fclosc(fp);

fp=fopen(″test txt″,③);

fgets(str,100,fp);

printf(″%s\n″,str);

fclose(fp);

}

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);

}elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);

《C语言程序设计》第三章 C语言基础 课堂笔记

页眉内容 《C语言程序设计》第三章C语言基础课堂笔记 §3.1 基本字符集、关键字和标识符 一.基本字符集 字符是C的基本元素,C语言允许使用的基本字符集: 1.26个大写字母A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 2.26个小写子母a b c d e f g h I j k l m n o p q r s t u v w x y z 3.10个阿拉伯数字0 1 2 3 4 5 6 7 8 9 4.其他字符!" # % & ' ( ) * + , - . / : < = > ? [ \ ] ^ _ { | } ~ 5.空格字符以及制表符合换行符等控制字符 二.关键字(P375,附录II) C中具有固定意义的字符串。 (1) C中的关键字共32个,必须用小写字母 (2) 关键字不可用于变量名、函数名等。 auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while 三.标识符 标识符用于命名变量、类型、函数和其他各种用户定义的对象,是由字母、下划线和数字三种字符组成。 (1) 第一个字符必须为字母或下划线 (2) C对标识符的长度规定为任意,Turbo C区分32 个字符 (3) C区分大小写 (4) 不允许关键字作为标识符 §3.2 C数据类型

C语言程序设计

一、单选题 1. (4分)若调用fputc函数输出字符成功,则其返回值是( )。? A. EOF ? B. 1 ? C. 0 ? D. 输出的字符 得分:0知识点:C语言程序设计作业题收起解析 答案D 解析 2. (4分)若以下程序段: struct dent { int n; int*m; }; int a=1, b=2,c=3; struct dent s[3]={{101<&a},{102<&b},{103,&c}; main() { struct dent *p;

p=s; ….. } 则以下表达中值为2的是()。 ? A. (p++)->m ? B. *(P++)->m ? C. (*p).m ? D. *(++p)->m 得分:0知识点:C语言程序设计作业题收起解析 答案D 解析 3. (4分)在一个c源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是( ). ? A. extern ? B. register ? C. auto ? D. static 得分:0知识点:C语言程序设计作业题收起解析 答案D 解析

4. (4分)若二维数组a有m列,则在a[i][j]前面的元素个数为()。? A. j*m+i ? B. i*m+j ? C. i*m+j-1 ? D. i*m+j+1 得分:0知识点:C语言程序设计作业题收起解析 答案B 解析 5. (4分)下面程序的运行结果是(). main() { struct cmplx {int x; int y; } cnum[2]={1,3,2,7}; printf(“%d ”,cnum[0].y/cnum[0].x*cnum[1].x); } ? A. 0 ? B. 1 ? C. 3

C语言课程设计总结

C语言课程设计总结 一、设计题目: 猜数字和贪吃蛇小游戏。 专业:09电气工程及其自动化 组号:第十组 组员:马邢(组长)、王维、毛亮、汪小成、魏坤波、陈维康、高裴石、石峰、葛良志、冯鑫源 指导教师:黄莉莉 二、任务分配: 我们组分为两队,一对制作贪吃蛇游戏,另一对制作猜数字游戏。制作贪吃蛇的人员是马邢,葛良志,高裴石,石峰,陈维康。石峰和高裴石负责收集程序材料,马邢和葛良志负责整理和编写程序,陈维康辅助我们工作。制作猜数字的是魏坤波,王维,毛亮,汪小成,冯鑫源。魏坤波和王维负责编写程序,其他三人收集材料并帮助他们人编写和调试程序。 三、心得体会: 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。 回顾起此次课程设计,至今让我我们仍感慨颇多,的确,从从拿到题目到完成整个编程,从理论到实践,几个星期的日子里,可以学

到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识,也懂得集体团队的重要性。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体……通过这次课程设计之后,一定把以前所学过的知识重新温故。 这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在黄老师的辛勤指导下,终于游逆而解。同时,在黄老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢

C语言程序设计试题集与答案解析

一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.

C语言程序设计读书笔记题目

读书笔记注意事项: 1、 读书笔记要求至少有六个题目,在一类、二类、三类题目中各选两题,具体题目选择由 学生自行选择。 2、 每个题目必须包含所选题目,以及具体题目的程序实现过程,要求每行语句后都需要有 程序解释,如:int a,b,c; /*定义三个变量a,b,c ,变量类型为整型*/。 3、 读书笔记要求全部手写,在17周由学习委员统一交给任课教师。 一、一类题目 1. 输入任意3个整数,求它们的平均值。 2. 输入任意4个整数,求它们的平均值。 3. 输入一个非负数,计算以这个数为半径的圆周长和面积。 4. 将从键盘输入的实型十进制数分离为整数部分和小数部分后输出。如输入 123.45,输出为:123.45=123+0.45 5. 输入3个字符,反向输出这3个字符和它们的ASCII 码。 6. 输入4个字符,反向输出这4个字符和它们的ASCII 码。 7. 输入任意一个3位数,将其各位数字反序输出(例如输入123,输出321)。 8. 求前n 项的累加和。如S=1+2+3+…+n 。 9. 求n !。如fac=1*2*3*…*n 。 10.输入三角形的边长,求三角形的面积(面积=sqrt(s(s-a)(s-b)(s-c)), s=(a+b+c)/2)。 11.输入一个华氏温度,要求输出摄氏温度,公式为:)(32f 95 c -=,输出前要有提示信息,输出结果保留小数点后两位。 12.求前驱字符和后继字符。输入一个字符,找出它的前驱字符和后继字符,并 按ASCII 码值,按从大到小的顺序输出这3个字符及其对应的ASCII 码值。 13.输入一个非负数,计算以这个数为半径的圆周长和面积。 14.输入两个字符,若这两个字符的序号(ASCII 码)之差为偶数,则输出它们 的后继字符,否则输出它们的前驱字符。 15.输入整数a 和b ,如果a 能被b 整除,就输出算式和商,否则输出算式、整 数商和余数。 二、二类题目 1. 输入一个3位数,判断是否是一个“水仙花数”。水仙花数是指3位数的各位 数字的立方和等于这个3位数本身。例如:153=1*1*1+5*5*5+3*3*3。 2. 试编写一程序,将所有3位数中是“水仙花数”的输出。

C语言程序设计重点必考实验题

C语言程序设计实验36题 邓作杰编 简单程序设计与基本数据处理 1 显示短句 在屏幕上显示一个短句“Programming in C is fun!” 2 求两个数的和与差 输入整数a 和b,计算并输出a、b 的和与差。 3 求平方根 输入1 个实数x,计算并输出其平方根(保留1 位小数) 4 华氏温度转换为摄氏温度 输入华氏温度f,计算并输出相应的摄氏温度c(保留2 位小数)。c = 5/9(f-32). 5 大写字母转换成小写字母 输入一个大写英文字母,输出相应的小写字母。 6编写摄氏温度、华氏温度转换程序。 从键盘输入一个摄氏温度,屏幕就显示对应的华氏温度,输出取两位小数。转换公式:F=(C+32)×9/5 。

分支结构 7 判断数的符号 输入整数x,若x 大于0,y=1;若x 等于0,y=0;否则,y=-1,最后输出y。 8 计算个人所得税 输入一个职工的月薪salary,输出应交的个人所得税tax(保留2 位小数)。 tax = rate * (salary-850) 当salary <= 850 时,rate = 0; 当850 < salary <= 1350 时,rate = 5; 当1350 < salary <= 2850 时,rate = 10; 当2850 < salary <= 5850 时,rate = 15; 当5850 < salary 时,rate = 20; 9、试编程判断输入的正整数是否既是5又是7的正倍数。若是,则输出yes;否则输出no。

循环结构 10.是求1 -100之间的所有除5余2的数之和。 11.所谓回文数是从左往右和从右往左读起来都一样的数字,如121是一个回文数,计算从1881开始到4000年为止,共有多少个年号是回文年号? 12.是求1-5000之间的能被7整除的前若干个偶数之和,当和大于600时程序退出,请将运行结果。 13.编程序求出1~100所有整数的平方和并输出结果。 14.一个数如果刚好与小于它的所有因子之和相等,则称该数为一个“完数”,如:6=1+2+3,则6就是一个完数。求出800以内的所有完数之和。 15.所谓回文数是从左至右与从右至左读起来都是一样的数字,如:121是一个回文数。编写程序,求出300—800的范围内所有回文数的和。 16.有36个学生一起买小吃,共花钱120元,其中每个大学生花4元,每个中学生花2元,每个小学生花1元,问大、中、小学生的人数分配共有多少种不同的解(去掉某类学生为0的解)? 17. 求1至100之间的奇数和 18.输出2至1000之间在的质数。 19.输入一个3位的正整数,输出其各位上的数字。 20.对15个数进行排序,按从小到大的顺序输出。 21.一个数除了能被1和它本身整除之外,不能被其它整数整除,该数称为素数。求出1000-5000之间素数的和。 22.求[600,900]之间素数的个数。

c语言程序设计心得体会

c语言程序设计心得体会 本文从网络收集而来,上传到平台为了帮到更多的人,如果您需要使用本文档,请点击下载按钮下载本文档(有偿下载),另外祝您生活愉快,工作顺利,万事如意! 二十一世纪是计算机的世纪,是一个全新的世纪,计算机正逐步入侵我们的生活。刚开始接触计算机的时候感觉很新奇,那时觉得计算机很神秘,于是就产生了以后一定要熟练掌控计算机的念头。怀着这个愿望,我选择了计算机科学与技术为专业,有点兴奋又有点担忧,兴奋的是以后可以经常接触和了解计算机了,担忧的是我几乎没有任何基础,怕跟不上大家的步伐。有死党说我杞人忧天,结果证实我“忧”得不无道理。依然清楚地记得第一学期的上机课,每次上机老师都计分,所以经常手忙脚乱,用“惨不忍睹”来形容是最适合不过了。 紧张的一个学期过后,我们迎来了c语言的学习和一位风趣博学的老师。虽然刚开始学习c语言的时候大家都一筹莫展,但在老师的鼓励和教育下一步步地往前迈,很令人欣慰。在这之后的学习中仍然困难重重,然而“坚持到底就是胜利”这个坚定的信念激励着我们勇往直前。c语言课本的学习总算结束了,多么崎岖的一条学习之路。

大学的教育模式和中学有很大不同,从平常的课程安排和教学就可以知道,但是独立完成课程设计和写论文这种任务对我们来说无疑是一个很大的挑战。十七周开始进行课程设计,老师要求我们写一个计算器的程序,起初大家都被难倒了,然后开始一步步地摸索,先查找有关资料,画计算器的图形,写了好长一段程序才把图形搞定,可老师一看都不满意,要求我们用循环来做,“师”令如山,不得不听从,改吧,这一改又让大家死了好多脑细胞,感觉有点残忍。 完成了计算器的图形很有成就感,毕竟六月天坐在机子前不是令人愉快的事。接下来要进行计算器内部运算程序的设计,说实话,我根本就不知道要做,更不清楚如何着手,不是我妄自菲薄,独立完成这个程序设计根本就是不可能的事,可想而知只能寻求帮助了,但这个程序不是轻而易举就能完成的。有些积极的同学从网上搜索了好多有关这方面的资料,拼拼凑凑,进行了多次讨论,终于完成了这部分的设计,在同学的互相帮助下,大多数人都完成了最重要的一部分程序设计。 接下来就是用循环语句使按键上的数字有闪烁的功能,这个因为之前老师有过提点,所以相对简单一些。

c语言程序设计第五版习题答案

习题解析与答案 第1章C语言概述 一.简答题 1.概述C语言的主要特点。 【解答】 (1)语言简洁、紧凑,使用方便、灵活。 (2)数据类型丰富,表达能力强。 (3)运算符多样。C语言中的运算符包含的范围非常广泛。 (4)具有结构化的控制语句。如if…else语句、while语句、do while语句、switch 语句、for语句。 (5)允许直接访问物理地址。C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。 (6)所生成的目标代码质量高,可移植性好。 2.构成C语言程序的基本单位是什么?它由哪几部分组成? 【解答】函数是构成C语言程序的基本单位。一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。 3.C语言程序的运行一般要经过哪几个步骤? 【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。 二.运行程序写结果 1.输入下面程序并运行。 main() { int a1,a2,x; a1=100; a2=50; x=a1-a2; printf(″x=%d\n″,x); } 【解答】运行结果为:x=50 2.输入下面程序并运行。 main() { int a1,a2,x; a1=10; a2=20; x=a1*a2; printf(″a1=%d,a2=%d\n″,a1,a2); printf(″x=%d\n″,x); } 【解答】运行结果为:a1=10,a2=20 x=200 3.输入下面程序并运行。

#include main() { printf("******\n"); printf(" *****\n"); printf(" ****\n"); printf(" ***\n"); printf(" **\n"); printf(" *\n"); } 【解答】运行结果为:****** ***** **** *** ** * 思考:可以修改程序,使之输出平行四边形,等腰三角形等图形。 三.编程题 1.参照本章例题,编写一个C程序,用于显示如下信息: ************************* I love C programs! ************************* 【分析与提示】 ①要有文件包含语句#include 。C语言中没有数据的输入、输出等功能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf等来实现的。这些函数的说明都包括在stdio.h文件中。 ②main是主函数的名称。用{}括起来的内容是函数体,函数体由若干条语句组成,这是计算机要执行的部分,每条语句以分号“;”结束。 ③注意显示的信息有三行,所以要用到换行符“\n”。 参考代码: #include main() { printf("************************\n"); printf(" I love C programs! \n"); printf("************************\n"); }

笔记排列组合C语言编程

排列组合 所谓排列,就是指从给定个数的元素中取出指定个数的元素进行排序。组合则是指从给定个数的元素中仅仅取出指定个数的元素,不考虑排序。排列组合的中心问题是研究给定要求的排列和组合可能出现的情况总数 排列组合的基本公式 A(n,m)=n(n-1)(n-2)……(n-m+1)=n!/(n-m) C(n,m)=A(n,m)/m!=n!/((n-m)!*m!) C(n,m)=C(n-1,m-1)+C(n-1,m) 排列实现 1.回溯实现 1)算法设计 应用回溯法产生排列A(n,m).设置一维a数组,a(i)在1—n中取值,出现数字相同时返回。 当i

long s=0; printf(“input n (n<10):”); scanf(“%d”,&n); printf(“input m (10) a[i]++; else break; } printf(“\n s=%ld\n”,s); }

(完整版)《C语言程序设计》基本知识点

《C语言程序设计》教学基本知识点 第一章C语言基本知识 1.C源程序的框架 尽管各个C源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。 2.C语言源程序的书写规则: (1)C源程序是由一个主函数和若干个其它函数组成的。 (2)函数名后必须有小括号,函数体放在大括号内。 (3)C程序必须用小写字母书写。 (4)每句的末尾加分号。 (5)可以一行多句。 (6)可以一句多行。 (7)可以在程序的任何位置加注释。 3.语句种类 语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的,根据表现形式及功能的不同,C语言的基本语句可以分为五大类。 (1)流程控制语句 流程控制语句的功能是控制程序的走向,程序的流程有三种基本结构:顺序结构、分支结构和循环结构,任何复杂的程序都可以由这三种基本结构复合而成。其中后两种结构要用特定的流程控制语句实现。 (2)表达式语句 表达式语句的形式是:表达式;,即表达式后跟一分号“;”,分号是语句结束符,是一个语句必不可少的成分。表达式和表达式语句的区别在于表达式代表的是一个数值,而表达式语句则代表一种动作。最常见的表达式语句是赋值语句。 (3)函数调用语句 函数调用语句实际上也是一种表达式语句,形式为:在一次函数调用的小括号后面加上一个分号。 (4)空语句 空语句的形式就是一个分号,它不代表任何动作,常常作为一个意义转折点使用。 (5)复合语句 复合语句从形式上看是多个语句的组合,但在语法意义上它只相当于一个语句,在任何单一语句存在的地方都可以是复合语句。注意复合语句中最后一个语句末尾的分号不能少。复合语句右大括号后面没有分号。 4.运算符 用来表示数据各种操作的符号称为运算符。运算符实际上代表了一种类型数据的运算规则。不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。 根据参加操作的数据个数多少,可以将C语言的运算符分为单目运算符,双目运算符和三目运算符(三目运算符只有条件运算符一个)。 根据运算对象和运算结果的数据类型可分为算术运算符、关系运算符、逻辑运算符等。 5.表达式 表达式是由常量、变量、函数,通过运算符连接起来而形成的一个算式。一个常量,一个变量或一个函数都可以看成是一个表达式。 表达式的种类有: 算术表达式、关系表达式、逻辑表达式、赋值表达式、字位表达式、强制类型转换表达式、逗号

最新大学生c语言程序设计实训报告总结

大学生c语言程序设计实训报告总结 C语言是在国内外广泛使用的一种计算机语言。其语言功能丰富、表达能力强、使用灵活方便,,小编整理了大学生c语言程序设计实训报告总结,希望能帮助到您。 大学生c语言程序设计实训报告总结一 C语言是在国内外广泛使用的一种计算机语言。其语言功能丰富、表达能力强、使用灵活方便、既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件。其功能强大,不仅用在计算机上广泛用在电子,机械等方面上,而且,所有的windows,Unix,Linux,Mac,os/2,无一例外,哪一个不是C语言写的?很多新型的语言如,C++,Java,C#,J#,perl...都是衍生自C语言。掌握了C语言,可以说你就掌握了很多门语言。 学习C程序这门课一年了,这是我们学的第一门专业课,在大学里C语言不但是计算机专业的必修课程而且也是非计算机专业学习计算机基础的一门必修课程。所以作为我这个计算机专业的学生来说当然十分重要,老师在第一节课说过,C语言是计算机的基础,大多数软件都需要用C语言来编写,通过一个年的学习,使我由初步掌握简单的应试知识到完成高难度的深入编程,如我们在编写一个较大的程序时应该把它分开成几个小程序来看,这样会容易得多。同时,我觉得C语言应该是操作和理论相结合的课程,在不断地编写中去思考,两者是不可分割的。 在学习一年C语言的过程中我也在慢慢探索怎样才能学好C语言,

并总结了一点经验: 要了解C语言就要从语法规为基础来学习起,首先要是要了解它的结构,比如变量,首先要了解变量的定义方式(格式),其意义是什么(定义变量有什么用);其次就是要我要怎么去运用它(我要用什么型式去应用它)。在C语言的命令行中所有的语句都是有它自己的一定格式和形式出现在我们面前,所以我们在学习某种语句或命令时你首先要了解的就是它的规则是什么、有什么用、怎么实现等。这些都是语法基础也是C语言的基础如果把它们都了解很好了,那么你编起程序来就很得心应手了。比如说IFELSE和SWITCHCASE这两种条件语句都是用来判断执行功能的,那我要什么时侯用IF什么时侯用SWITCH 呢?如果你很好地了解它们的结构和作用的话那么就知道:若它的条件分支是多个而且条件的值是整数或是一个字符值时就会选SWITCH 而不会选IF。因为如果条件分支太多时要用IF语句,这样一定会出现IF的嵌套,如果IF的嵌套越多时程序的开销就会随着增大,这样对整个程序的运行效率就大在降底。而SWITCH就不同,它只要比较一次就可以找出条件的结果比起嵌套IF它的效率就大大的提高了很多。不过SWITCH也有它的约束条件,就是它的条件值一定要是一个整型数或是一个字符值,所以碰到它不能解决的问题时我们也会通常使用IF语句,毕竟IF语句它使用起来也比较方便用的范围也比较广。所以说了解语法规则是很重要的,如果没有一个良好的语法基础是很难编出一个好的程序!学习好基础后我们就可以开始来编程了。 大学生c语言程序设计实训报告总结二

(完整版)C语言程序设计练习及答案

《C语言程序设计》练习及答案 得分评卷人复查人 一、单选题,每小题1分,共60分(将正确答案的序号写在题目的括号中)。 1、结构化程序设计的三种基本控制结构是(D )。 A、主程序、子程序、函数 B、输入、处理、输出 C、调用,返回,转移 D、顺序、选择、循环 2、下列关于C程序变量的叙述, ( D )是错误的。 A、变量名必须由字母或下划线开头。 B、程序中的变量必须在被使用之前定义。 C、不同的基本类型的变量之间可以混合运算。 D、变量的数据类型决定变量的"作用域"。 3、能将C语言编写的源程序转换为目标程序的软件是(C )。 A、编辑程序 B、汇编程序 C、编译程序 D、解释程序 4、以下符号中,合法的用户标识符是( D )。 A、-p B、int C、3ab D、_xt_ 5、以下选项中,与m=n++完全等价的表达式是( C )。 A、m=++n B、m+=n+1 C、m=n, n=n+1 D、n=n+1,m=n 6、若有定义:int aa[8];。则以下表达式中不能代表数组元aa[1]的地址的是(C )。 A、&aa[0]+1 B、&aa[1] C、&aa[0]++ D、aa+1 7、表达式!5&(7+3)&&(4+5)的值是(A)。 A、0 B、1 C、5 D、9 8、以下选项中非法的C语言表达式是(A )。 A、x+1=x+1 B、0<=x<100 C、i=j==0 D、(char)(65+3) 9、在TURBO C中, int类型变量所占字节数是(B )。 A、1 B、2 C、4 D、8 10、C语言中基本的数据类型包括(B)。 A、整型,实型,逻辑型 B、整型,实型,字符型

C语言程序设计重点复习(函数之前)

目录 第一部分简单程序示例: (3) 第二部分整型数据 (7) (1)整型常量(整数) (7) (2)整型变量 (8) Ⅰ 二进制数计算: (9) Ⅱ 十进制数(正常数)转换为二进制数: (9) 第三部分字符型数据 (11) (1)字符型常量:由一对单引号括起来的单个字符(可打印) (11) (2)转义字符:一个反斜杠(\)后跟限定字符(不可打印) (11) (3)字符型变量:通过保留字char说明 (12) (4) 字符串常量:用一对双引号括起来的零个或者多个字符的序列。 (12) ASCII码例子 (13) 第四部分实型数据(浮点型数据) (14) (1)实型常量 (14) (2)实型变量:双精度(double) (14) 第五部分格式说明符与数据输入与输出 (16) Ⅰ 几个简单常用的格式说明符: (16) Ⅱ 数据的输入与输出函数: (16)

Ⅲ 前格式说明符的扩展说明 (19) 第六部分几个简单的表达式讲解 (21) Ⅰ 算术表达式 (21) Ⅱ 赋值表达式 (21) Ⅲ 复合赋值表达式 (22) Ⅳ ++和— (22) Ⅴ 逗号表达式 (23) Ⅵ 条件表达式 (24) 第七部分关系运算与逻辑运算 (25) 几个简单的关系运算符 (25) 几个简单的逻辑运算符 (25) 第八部分if语句(条件语句) (26) ①格式: (26) ②格式: (27) ③if的嵌套1 (28) ④if的嵌套2 (28) 第九部分switch语句(开关语句) (29) 第十部分break与continue的作用 (31) Ⅰ break语句,用于跳出当前循环语句或开关语句 (31)

c语言课程设计总结

c语言课程设计总结 c语言课程设计总结8篇 c语言课程设计总结(一): 经过一个星期的上机实践学习,使我对c语言有了更进一步的认识和了解,要想学好它要重在实践,要透过不断的上机操作才能更好地学习它,透过实践,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,透过学习也有所改善;再有对c语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对c语言中经常出现的错误也不了解,透过实践,使我在这几个方面的认识有所提高。 透过实践的学习,我认到学好计算机要重视实践操作,不仅仅仅是学习c语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。 c语言课程设计总结(二): 经过一个学期的学习,我对C语言有了必须的了解。C语言是学习计算机科学的基础,作为一名计算机专业学生,掌握C语言更是毋庸置疑。在上课之前,就经常听同学说,C语言很难学,确实,刚开始听课时觉得老师不知所云。但是,发现对后续资料的预习后,前面的疑团都迎刃而解,这让我对C语言的学习更有信心。

计算机最重要的就是上机操作,自己编写程序,在VisualC++运行,刚开始经常会出现错误,经过分析改正后,最后能够运行了,就觉得个性激动。 课程设计是一个把需求分析、程序编写、程序调试、撰写报告结合为一体的过程。在这个过程中,不仅仅锻炼了我们缜密的思维和坚持不解的毅力,更磨练了一个队伍的团结互助的精神。只有透过大家一齐努力才能将课程设计的所有环节都顺利的完成。另外程序设计中我们遇到问题并解决问题的过程,使得我们独自探索并解决问题的潜力了有了一个提高,这有利于我们以后的学习。同时这整一个过程,也使我们对程序编写的整个过程有了一个统筹全局的思想,因为需求分析、程序编写、程序调试、撰写报告这些过程是环环相扣的,绝对不可能独立进行。 课程设计是学习《C程序设计》后对知识的全面测试,刚拿到题目时不明白怎样去处理,觉得很复杂,经过和小组成员的讨论,上网查资料,逐个问题逐个击破,问题不再那么复杂。透过课程设计,我发现自己还存在很多知识漏洞,编写程序时,经常会出现低级错误,很多知识点都不熟悉。在今后的时间里,我必须要投入更多精力学习C语言,以课本为基础,请教老师,与同学讨论,参考资料,上机操作,我相信我必须能把C语言学好。

C语言程序设计第二版习题参考答案

C语言程序设计第二版 习题参考答案 Document serial number【LGGKGB-LGG98YT-LGGT8CB-LGUT-

C语言程序设计习题参考答案 习题 1 一、判断题 1.在计算机中,小数点和正负号都有专用部件来保存和表示。 2.二进制是由0和1两个数字组成的进制方式。 3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。 4.在整数的二进制表示方法中,0的原码、反码都有两种形式。 5.有符号数有三种表示法:原码、反码和补码。 6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。 解:1.F2.T 3.T 4.T 5.T 6.T 二、单选题 1.在计算机中,最适合进行数值加减运算的数值编码是。 A. 原码 B. 反码 C. 补码 D. 移码 2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII 码为十进制数。 A. 112 B. 120 C. 121 D. 122 3.关于ASCII码,在计算机中的表示方法准确地描述是。 A. 使用8位二进制数,最右边一位为1 B. 使用8位二进制数,最左边一位为1 C. 使用8位二进制数,最右边一位为0 D. 使用8位二进制数,最左边一位为0 4.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是 ___________。 A. X∧Y=1000 B. X∨Y=1111 C. X⊕Y=0011 D. ˉY=1000 5.下列叙述中正确的是()。 A.高级语言就是机器语言 B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序 C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种 D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。 A.生成可执行文件B.生成目标文件 C.输出运行结果D.自动保存源文件 7.下列叙述中不正确的是()。 A.main函数在C程序中必须有且只有一个 B. C程序的执行从main函数开始,所以main函数必须放在程序最前面 C. 函数可以带参数,也可以不带参数。

《C语言程序设计》学习心得.pdf

C语言程序设计网络学习心得 通过这一阶段网络的学习,我总结出以下几点,在今后的教学过程中可以尝试加以注重: (一)激励学生学习兴趣,充分调动学生学习积极性 学习兴趣就是学生在心理上对学习活动产生爱好、追求和向往的倾向,是推动学生积极主动学习的直接动力。爱因斯坦说过:“兴趣是最好的老师,真正有价值的东西,并非仅仅从责任感产生,而是从对客观事物的爱与热忱中产生”。我国古代教育家孔子也说:“知之者不如好之者,好之者不如乐之者。”只有“好之”、“乐之”方能有高涨的学习热情和富有创造性地去完成学习任务。明确学习目的,激发学习兴趣 只有学习思想端正,学习目的明确,学生才会有学习的动力,才会有学习的自觉性。有的学生认为C语言已经落伍了,没有什么用,我们要使每个学生明确即将学习的知识与社会的关系,告诉学生学习C语言是建立程序设计思想,学习程序设计的各种基本概念、方法、技巧,培养良好的程序设计风格。在讲C 语言程序设计课程前,收集大量招聘C语言编程人员的就业信息及毕业生从事C 语言编程工作的收入、工作条件、工作岗位等学生十分关注的重要信息。同时,也列举了大量用C语言完成商业性软件工程,以激发学生学习C语言的动机的热情。学生有了主动性,才会自觉地学习这门课。 (二)设计问题,开发智力,引导学生自己解决实际问题 在教学过程中,我们提倡学生在课堂上发现问题、提出问题,对于学生在练习中所遇到的问题,教师不能马上告诉答案,应当适当的启发和引导让学生自己找到答案,培养他们的思考能力。同时教师要精心设计一些富有启发性的问题,达到开发学生智力的目的。这样做有两方面的意义:一是为了引人入胜,激发学生的学习兴趣;二是对知识本身提出疑问,加深对问题的认识和讨论,这也是推动C 语言课程教学艺术化的途径之一。 (三)强化课程设计,加强学生能力培养 课程设计是整个课程学习的总结与提高,通过必要的课程设计,切实加强学生的能力培养,通常课程设计贯串整个教学环节,设计内容以具体的软件系统的

C语言程序设计总结

C 语言程序设计总结 一、C 语言程序的基本结构 #include “ stdio.h ” void main() { 定义变量; 程序实现; 输出结果; printf } 、变量的定义 1.整型:int a , b, s=0; ( 可以在定义的同时为变量进行赋值) 长整型:long 无符号整型(非负整数) :unsigned 2.单精度实型:float x, y, z=1.0 ; 3.双精度实型:double l,m; 4. 字符型:char c1= ' Ac'2=,';b ' 三、变量的赋值 1.直接赋值:a=10 ; // 用赋值号“ = ”将右侧的值赋给左侧的变量 2.赋表达式的值:a=3+7; 3. 赋另外一个变量的值:a=s; // 把s 的值赋给a 变量的输入: 输入一个变量:scanf( “% d”, &a); 输入多个变量:scanf( “%d%d%d ”,&a, &b, &c); int--%d float--%f char--%c double--%lf 字符串--%s 变量的输出: 输出一个提示语句:printf( “xxxxxx ”); 输出一个回车:printf( “\n ”); 输出一个变量:printf( “xxx is %d ”,a); 输出多个变量:printf( “xxxx%d, xxxx%d ”,a,b); 练习:1.输入圆的半径,求圆的周长。 四、常用流程控制语句 分支语句:根据条件执行相应的语句 条件的形式:a大于0 写成a>0 a小于0 写成a<0 a等于0 写成a==0 (注意,用两个=) a大于等于0并且小于等于10 写成a>=0 && a<=10 a小于0或者a大于10 写成a<0 || a>10

C语言程序设计习题答案

C 语言程序设计习题答案 习题一 C 语言程序设计概述 一、名词解释 (1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)汇编程序P2 (5)高级语言P2 (6)编译程序P3 (7)解释程序P3 (8)算法P4 (9)结构化的程序设计P9 二、简述题 1. 设计程序时应遵循哪些基本原则?P4 答:正确性、可靠性、简明性、有效性、可维护性、可移植性。 2. 算法的要素是什么?算法具有哪些特点? 答:算法的要素是:操作与控制结构;算法的特点有:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。 3. 算法的表示形式有哪几种? 答:算法的表示形式有:自然语言、传统流程图、伪代码、结构化的流程图(N_S 流程图,盒图)。 4. 有哪三种基本结构? 答:三种基本结构是:顺序结构、选择结构和循环结构。 5. 传统流程图与N-S 流程图最大的区别是什么? 答:N-S 流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。 三、用传统流程图、N-S 图分别表示求解以下问题的算法。 1. 有3个数a ,b ,c ,要求按由大到小的顺序把它们输出。 2. 依次将10个数输入,求出其中最大的数 和最小的数并输出。 3. 求1+2+3+…+100的值。

5. 求下列分段函数的值。 6. 求100~200之间的所有素数。 7. 求一元二次方程ax 2+bx+c=0的根。分别考虑d=b 2-4ac 大于0、等于0和小于0三种情况。 四、注释下面C 程序的各个组成部分。 main() /*主函数 */ { /*程序开始 */ int a,k,m; /*定义三个用来存放整数的变量 */ a=10; /*将整数10赋值给变量a */ k=2; /*将整数2赋值给变量k */ m=1; /*将整数1赋值给变量1 */ a=(k+m)*k/(k-m); /*先求出算术表达式的值,并将其赋值给变量a */ printf("%d\n",a); /*在屏幕上打印出变量a 的值 */ } /*程序结束 */ 习题二 数据类型、运算符与表达式 一、选择题 1~10:BCDCB DDBCA 11~20: ADDAA DBADC 21~28: DABAD CDD Y= 3X (X<1) 4X-1 (X=1) 5(X-1)+6 (1

相关主题
文本预览
相关文档 最新文档