《高级语言程序设计》串讲讲义.doc_第1页
《高级语言程序设计》串讲讲义.doc_第2页
《高级语言程序设计》串讲讲义.doc_第3页
《高级语言程序设计》串讲讲义.doc_第4页
《高级语言程序设计》串讲讲义.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

高级语言程序设计串讲讲义-上机考试考点串讲一、上机考试注意事项1、应熟练运用Turbo C软件进行程序设计:源程序(*.c)目标程序(*.obj)可执行程序(*.exe)2、按考试要求保存成指定的路径和程序文件名。二、上机考试内容和要求1、顺序和分支程序设计1)内容:编写一个简单的顺序结构程序和一个简单的分支结构程序。(第3章)2)要求:熟悉输入/输出函数、赋值语句、分支语句的使用;掌握编写、输入、编译连接、运行C程序的过程和操作。3)案例:输入三个整数,按从小到大输出。(注:程序命名为e1_1.exe)程序清单:main( )int a,b,c,d;scanf(”%d,%d,%d”,&a,&b,&c);if(ab)d=a;a=b;b=d;if(ac)d=a;a=c;c=d;if(bc)d=b;b=c;c=d;printf(”%d,%d,%d”,a,b,c);2、数组和循环程序设计1)内容:编写一个含有一维数组和单重循环结构的程序,一个含有二维数组和二重循环结构的程序。(第3、4章)2)要求:熟悉数组的定义、初始化、数组元素引用和三种循环语句的使用。3)案例:编一C程序,它能读入一个字符串(串长100,串中可能有空格符),计算并输出该字符串中十进制数字的个数。(注:程序命名为e1_2.exe) 程序清单: #include ”stdio.h” #include ”string.h”main() char a100; int i,j,num=0; printf(”Please inter a string:n”); gets(a); j=strlen(a); for (i=0;i=0&ai=9) num+; printf(”Number is %dn”,num); 3、指针和函数的应用1)内容:编写一个含有主函数和另外两个函数的程序,一个函数用变量传递数据,另一个函数用指针传递数据。(第5、6章)2)要求:熟悉指针变量的定义、初始化和引用,熟悉函数的定义和调用,掌握函数间用值传递和地址传递数据的方法。3)案例:设 y(n) = 1 n1时 编一C程序,它能对读入的任意n(n=0且n50),能计算并输出y(n)的值。(注:程序命名为e1_3.exe) 程序清单: int y(n) int n; if (n=1) return (1); else return (-y(n-2)+2*y(n-1); main() int n; printf(”Please inter n=”); scanf(”%d”,&n); printf(”n”); printf(”y(%d)=%dn”,n,y(n); 4、结构型的应用(第7章)1)内容:编写一个含有结构型数组的程序,包括结构型数据输入、加工、输出。2)要求:熟悉结构型的定义、结构型数据的定义、初始化和成员引用方法。3)案例:设有学生信息如下:学号(长整型)、姓名(字符串型)、出生年月(其中含有年份、月份、日,均为整型)。试编一个程序,输入10个学生的上述信息,输出所有学生的学号、姓名和年龄。(注意程序中年龄的求法,是用系统日期中的年份减去出生年月中的年份。获得系统日期的方法是通过系统函数getdate()(注:程序命名为e1_4.exe)程序清单: #define N 10#include ”stdio.h”#include ”dos.h”main( )struct birthdayint year;int month;int day;structlong num;char name20;struct birthday bir;stuN;struct date today; /*利用系统定义的日期型结构定义变量today*/int i;for(i=0;iN;i+)scanf(”%ld”,&stui.num);scanf(”%s”,);scanf(”%d,%d,%d”,&stui.bir.year, &stui.bir.month, &stui.bir.day);getdate(&today); /*通过系统函数获得系统日期*/for(i=0;iN;i+)printf(”%-8ld”,stui.num);printf(”%-2ld”,);printf(”%-6ldn”,today.da_year-stui.bir.year);5、文件的应用(第8章)1)内容:编写一个对文件进行简单处理的程序,包括对文件的读写。2)要求:熟悉文件型指针的定义和引用,以及文件处理函数的使用。3)案例:编一C程序,它能从当前目录下名为string.txt的文本文件中读取一个字符串或前20个字符组成的字符串,并显示在屏幕上。(注:可执行程序命名为e1_5.exe) 程序清单: #include”stdio.h”main() FILE *fp; char s21; if (fp=fopen(”string.txt”, ”r”)=NULL) printf(”string.txt can not open!n”); exit(0); fgets(s,21,fp); fputs(s,stdout); fclose(fp); 模拟试题(一)(测试时间150分钟)第一部分 选择题(20分)一、单项选择题 (本大题共20小题,每小题1分,共20分) 在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。1. C语言程序编译时,程序中的注释部分 ()A. 参加编译,并会出现在目标程序中B. 参加编译,但不会出现在目标程序中C. 不参加编译,但会出现在目标程序中D. 不参加编译,也不会出现在目标程序中2. 下列表达式的值为0的是 ()A. 35B. 3/5.0C. 3/5D. 353. 正确的C语言用户自定义标识符是 ()A. printB. floatC. when?D. random24. 设int a = 3;则表达式a1的运算结果和a的值分别是 ()A. 0和2B. 0和3C. 1和2D. 1和35. 下列叙述中,正确的是 ()A. 引用带参的宏时,实际参数的类型应与宏定义时的形式参数类型相一致B. 宏名必须用大写字母表示C. 宏替换不占用运行时间,只占编译时间D. 在程序的一行上可以出现多个有效的宏定义6. 下列保留字中用于构成循环结构的是 ()A. ifB. whileC. switchD. default7. 与语句if(ab)if(cd)x = 1;else x = 2;等价的是 ()A. if(ab)if(cd) x = 1;else x = 2;B. if(ab)if(cd) x = 1; else x = 2;C. if(ab) & (cd) x = 1;else x = 2;D. if(ad) x = 1;8. 设 char x =a;则printf(x = c, y = c n,x,97);的输出是()A. x = a,y = 97B. x = 97,y = aC. x = 97,y = 97D. x = a,y = a9. 设int a4=1,2,3,4,5,6,7,8,9;则数组a的第一维的大小是()A. 2B. 3C. 4D. 无确定值10. 执行下列程序int a33=1,2,3;int b33=1,2,3;main()printf(d n,a10 + b00);后输出的结果是 ()A. 0B. 1C. 2D. 311. 设char str100;int i = 5;则引用数组元素的错误形式是 ()A. stri + 10B. (str + i)C. (str + i - 1)D. (str + + ) + i)12. 设int x = 1,2,3,4,5,6,* p = x;则值为3的表达式是 ()A. p + = 2, * + + pB. p + = 2, * p + +C. p + = 3, * pD. p + = 2, + + * p13. 在函数内,定义变量时存储类型符可省略的是 ()A. autoB. staticC. externD. register14. 执行下列程序int a = 3, b = 4;void fun(int x1, int x2)printf(d, d n, x1 + x2, b);main()int a = 5, b = 6;fun(a, b);后输出的结果是 ()A. 3,4B. 11,1C. 11,4D. 11,615. 设有定义语句structint a;float b; d3=1,4,2,5,6,7;则printf(3.1f n,d2. a * d2. b/d1. b);的输出是 ()A. 2.5B. 2.0C. 8.0D. 8.416. 设有定义语句:enum t1 a1, a2 = 7, a3, a4 = 15time;则枚举常量a2和a3的值分别为 ()A. 1和2B. 2和3C. 7和2D. 7和817. 将一个整数10002存到磁盘上,以ASCII码形式存储和以二进制形式存储,占用的字节数分别是 ()A. 2和2B. 2和5C. 5和2D. 5和518. 在文件使用方式中,字符串rb表示 ()A. 打开一个已存在的二进制文件,只能读取数据B. 打开一个文本文件,只能写入数据C. 打开一个已存在的文本文件,只能读取数据D. 打开一个二进制文件,只能写入数据19. 执行下列程序# define F(y) 15y# define PRINT(a) printf(d,a)main()PRINT(F(2);后输出的结果是 ()A. 3B. 3.5C. 14D. 7.520. main()函数可以带两个形参,一般分为argc和argv,其中argv可以定义为()A. int argv;B. char * argv;C. char argv;D. char * argv;第二部分 非选择题(80分)二、填空题 (本大题共10小题,每小题2分,共20分)21. 初始化值是0.618的双精度变量a的定义形式为_。22. 表达式 !10! = 1的值是_。23. “20 = 1) i - -;执行后,i的值为_。26. 被调函数在执行结束时,这个函数中定义的_类型的变量不被释放。27. 设struct studentint no;char name12;float score3; sl,* p = &sl;用指针法给sl的成员no赋值1234的语句是_。28. C语言程序中对文本文件的存取是以_为单位进行的。29. 设char string =This_is_a_book!;则数组的长度应是_。30. 设int a23 = 2,3;则数组元素_的值为3。三、程序分析题 (本大题共5小题,每小题5分,共25分) 阅读下列程序,将输出结果写到各题右侧的空白处31. int a = 200;main()int i;for(i = 1;i =a&c =X&c =Z)c = c - 23;printf(c n,c);设从键盘上输入Next 33. # define N 7main()int i,j,temp,aN=1,2,3,4,5,6,7;for(i = 0;iN/2;i + + )j = N - 1 - i;temp = ai;ai=aj;aj=temp;for(i = 0;iN;i + + ) printf(5d,ai);34. struct porbchar * name;int count;x=Li ning,19,Lang ping,21,Zhu jian hua,20;main()int i;for(i = 0;i3;i + + )printf(s: d n,,xi.count);35. main()unionshort a;char ch;M;M.a = 100;M.ch =A;printf(d,d,c n,sizeof(M),M.a,M.ch);四、程序填充题 (本大题共3小题,每小题6分,共18分) 给出下列程序,将横线处缺少的部分补上,使其能正确运行。36. 以下程序的功能是用选择法对数组a中的整数由小到大进行排序。void sort(int b,int n) int i,j,t;for(i = 0;in - 1;i + )for(_;jn;j + )if(bi_bj)t = bi;_;bj=t;main() int a=5,8,6,2,7,4,1,3; int i;sort(a,8);for(i = 0;i8;i + )printf(5d,ai);printf( n);37. 输入一字符串(换行为结束标志)统计其中数字(0,1,2,9不单独统计)、空白和其它字符出现的次数。# include stdio.hmain() char c;int _;while(c = getchar()! = n)if(_)digit + + ;else if(c = =c = = t) + blank;else _;printf(digit =d,blank =d,other =d n,digit,blank,other);38. 先为数组a输满数据,再为x输入一个数据,在数组a中找出第一个与x相等的元素并将其下标输出,若不存在这样的元素,则输出“Not found!”标志。main()int i,x,a10;for(i =

温馨提示

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

最新文档

评论

0/150

提交评论