C语言程序设计概述_第1页
C语言程序设计概述_第2页
C语言程序设计概述_第3页
C语言程序设计概述_第4页
C语言程序设计概述_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

本文格式为Word版,下载可任意编辑——C语言程序设计概述第1章C语言程序设计概述1.算法的描述有哪些基本方法?

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

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

ABl2leed_3a*b28stuD.K.JonEF3_3PASifXYZ43K2ave#xy762#_DT5C.D5.说明以下TurboC热键的功能。

F2F10F4Ctrl+F9Alt+F5

6.在TurboC方式下输入并运行以下程序,记录下运行结果。(1)main()

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

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

}

(2)main()

{inta,b,c,t;

printf(″pleaseinputthreenumbers;″);Scanf(″%d,%d,%d″,&a,&b,&c);T=max(max(a,b),c);

printf(″maxnumberis:%d\\n″,t);}

intmax(intx,inty){intz;

if(x>y)z=x;elsez=y;return(z);

}

7.一个C程序是由若干个函数构成的,其中有且只能有一个函数。8.在TurboC环境下进行程序调试时,可以使用Run下拉菜单的命令或按键转到用户屏幕查看程序运行结果。9.C语言对标识符与关键字有些什么规定?10.C源程序输入后是如何进行保存的?

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

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

′\\′′101′″\\″e30190x1e″ab\\n″1.e5(2+3)e(4-2)5.2e2.5

2.请找出以下程序中的错误,改正后写出程序运行结果。(1)voidmain()

{intx,y=z=5,aver;x=7

AVER=(x+y+z)/3

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

(2)voidmain()

{charc1=′a′;c2=′b′;c3=′c′;inta=3.5,b=′A′

printf(″a=?=\\′%c\\′\\″end\\″n″,a,b);printf(″a?%c\\bc%c\\tabc\\n″,c1,c2,c3);}

3.写出以下赋值的结果,表格中写了数值的是要将它赋给其他类型的变量,将所有的空格填上赋值后的数据(实数保存小数点后两位)intcharunsignedintfloatLongint99′h′6655.7868-1

4.写出程序运行结果。

(1)voidmain(){inti,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(){inta=10,b=20,c=30,d;

d=++a=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)a0?x:一x的功能是什么?

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

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

x+=x一=x*x;

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

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

charw;intx;floaty;doublez;

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

A.floatB.charC.intD.double

第3章顺序结构程序设计

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

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

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

4.以下程序输出的是。voidmain(){

inta1=1,a2=0,a3=2;

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

}

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

6.已定义变量如下:inta1,a2;charc1,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)。

第4章选择结构程序设计

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

2.假定所有变量均已正确定义,则程序段:inta=0,y=10;

if(a=0)y一一;elseif(a>0)y++;elsey+=y;

运行后y的值是。

3.能表述20b)printf(″***y=%d\\n″,y);elseprintf(″***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(a0,a

#includevoidmain()

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

3,4}};

for(i=0;id[j][i])d[j][i]=d[i][j];for(i=0;i=i)printf(″%6d″,d[i][j]);elseprintf(″%6c″,'');}}

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

#includevoidmain()

{inti,d,m,n;chars[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)从键盘输入一个数,将其插入到一个升序数组中,保持数组依旧按升序排列。#includevoidmain()

{intdata,temp,k;

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

printf(″\nEnteradata:″);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)从键盘输人一串英文字符(不含空格与其他字符),统计每个字符的个数,并输出字母及相应的个数。

includevoidmain()

{inti=0,c[52]={0},m=0;

charstr[80];

printf(″Inputastring:″);

scanf(,str);while(str[i])

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

if(str[i]>=′a′&&str[i]voidmain(){charstr[80];

voidprochar(char*str,charch);scanf(″%s″,str);prochar(str,′r′);puts(str);}

voidprochar(char*str,charch){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#includevoidmain(){intk=0;’

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

gets(a);gets(b);

while()

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

p++;;k++;}

if(*p!=0)strcat(c,p);elsestrcat(c,q);puts(c);}

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

#includevoidmain(){

inta[11],x,i;

printf(″Input10integers:\\n″);for(i=1;;i++)

scanf(″%d″,);printf(″Inputx:\\n″);scanf(″%d″,&x);*a=x;i=10;while(x!=*(a+i))

if()printf(″m’spositionis:=\\n″,x,i);elseprintf(″mNotbeenfound!\\n″,x);}

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

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

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

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

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

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

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

ival);(4)

bitpat(intx){inti;

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

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

voidmain(){inta=65;bitpat(a);}

第11章文件

1.C语言数据文件有几种存储形式?每种存储形式各有什么特点?2.开启文件、关闭文件的含义各是什么?为什么要开启和关闭文忤?

3.C语言标准的文件I/O操作提供了几种文件存取方式?每种方式各有什么特点?4.什么是文件型指针?通过文件指针访问文件有什么好处?5.选择与填空。

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

voidmain(){FILE*fp;

charch,fname[10];

printf(″Inputthenameoffile\n″一);gets(fname);

if((fp=①)==NULL){printf(″Cannotopen\n″);exit(0);}printf(″Enterdata\n″);while((ch=getehar())!=’#’)

fpute(②,fp);fclose(fp);}

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

#includevoidmain(){FILE*fp;

charstr[100];inti=0;

if((fp=fopen(″text.txt″,①))==NULL){printf(″can’topenthisfile.\n″);exit(0);}

温馨提示

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

评论

0/150

提交评论