c语言程序设计中北大学期末试卷,中北大学C程总复习题

《中北大学C程总复习题》由会员分享,可在线阅读,更多相关《中北大学C程总复习题(54页珍藏版)》请在人人文库网上搜索。

1、程序设计基础复习,目录,1. 基本要求 2. 基本内容,2. 基本内容,2.1 数据的定义 2.2 运算及流程控制 2.3 程序结构和函数 2.4 数据的输入和输出 2.5 命令行参数和编译预处理 2.6 常用算法,2.1 数据的定义,数据的定义包括数据类型和存储类别 1、基本类型 基本类型指整型、实型和字符型(主要是int, float, double, char;还包括long, unsigned, short),(1) 常量 熟练掌握各种表示形式的整数、实数、和字符(串)常量,符号常量的定义和使用。 包括整数的十进制、八进制和十六进制的表示形式、长整型常量的表示形式,实数的浮点表示法和科。

2、学记数法,字符的转义序列,常用符号常量的含义(如NULL、EOF等),数组定义为 int a32=1, 2, 3, 4, 5, 6,数组元素 a21 的值为6。 不正确的赋值或赋初值的方式是______。 A、char str=string; B、char str7=s, t, r, i, n, g; C、char str10;str=string; D、char str7=s, t, r, i, n, g, 0; 表达式strcmp(“box”, “boss”) 的值是一个____. A、正数 B、负数 C、0 D、不确定的数,#include int a34=1,2,3,4,5,6,7,8。

3、,9,10,11,12; void main() int s,k; for(s=0,k=0; k3; k+) s+=akk; printf(%d-,s);,for(s=0,k=0; k3; k+) s+=ak3-k; printf(%d-,s); for(s=0,k=0; k4; k+) s+=*(a1+k); printf(%dn,s); ,将输入的 n 个字符串连接成1个字符串后输出. #include #include void main() char str1020, string200; int k, n; scanf(%d, ,(2) 结构 熟练掌握结构类型的定义,结构变量的定义和。

4、初始化,结构变量成员的引用。,3、指针 (1) 熟练掌握指针和地址的概念 (2) 熟练掌握指针变量的定义和初始化 (3) 熟练掌握通过指针引用指向实体,9,a,int *pa, a; pa=,pa,若变量已正确定义并且指针p已经指向某个变量x,则(*p)+相当于_____。 A、p+ B、x+ C、*(p+) D、,下列语句定义pf为指向float类型变量f的指针,_____是正确的。 A、float f, *pf = f; B、float f, *pf = ,4、构造类型和指针类型的混合定义及应用 (1) 熟练掌握指针、数组和地址间的关系 int c =1, 3, 5; int *k=c+1。

5、; printf(%d, *+k); char str =hellotworldn; printf(%d, %cn, sizeof(str), *(str+10);,(2) 熟练掌握指针数组 写出下列程序段的输出结果。 char *st =one,two,three,four; printf(%sn,*(st+3)+1);,(3) 熟练掌握结构数组 输入某班50位学生的姓名及数学、英语成绩,计算每位学生的平均分;然后输出平均分最高的学生的姓名及其数学和英语成绩。 #include #define SIZE 50 struct student char name10; int math,eng;。

6、 float aver; ;,void main() struct student sSIZE; int k,sub=0; for(k=0; kssub.aver ) sub = k; printf(%10s%3d%3dn,ssub.name,ssub.math,ssub.eng); ,(4) 熟练掌握结构指针 (5) 掌握结构中含指针或数组 (6) 掌握嵌套结构 (7) 掌握指向指针的指针(二级) (8) 单向链表 掌握单向链表的建立和遍历 了解插入和删除单向链表中的一个节点,+p-str中的+加在_____。 struct int len; char *str; *p; A、指针str上 。

7、B、指针p上 C、str指的内容上 D、以上均不是,main( ) struct st int x, y; a4=10,20,30,40,50,60,70,80; struct st *p=a; printf(%d, p+-x); printf(%d, +p-y); printf(%dn, (a+3)-x); ,5、空类型 void 掌握空类型的定义和使用,6、变量的存储类别、作用域和生存期 (1) 掌握变量的存储类别 auto 自动型、static 静态型、extern 外部参照型 (2) 掌握全局变量和局部变量 注意区分:自动局部变量和静态局部变量、全局变量和静态全局变量、外部变量,C语言。

8、中,形参的缺省的存储类说明是______。 A、auto B、static C、register D、extern,对于以下函数f,计算f(f(2)的值。 int f(int x) static int k=0; x+=k+; return x; ,2.2 运算及流程控制,1、基本运算 熟练掌握运算符的功能 熟练掌握运算符的优先级、结合性和目数 熟练掌握隐式类型转换和强制类型转换 2、表达式 熟练掌握各类表达式的组成规则和计算过程,() - . ! + - - (类型名) * ,判断i和j至少有一个值为非0的表达式是_____。 A、 i!=0 x1=3/2; x2=x1/2; printf(。

9、%d, %.1f, (int)x1, x2) ;,表达式 sizeof(“key”) 的值是______。 A、1 B、2 C、3 D、4 static char s =student; printf(%d,%cn,sizeof(s),*(s+2); 若a是整型变量,表达式 (a a ) 等价于______。 A、a B、1 C、0 D、2 表达式 (722 ) 的值是_______。,下列运算符中,优先级最低的是_____。 A、* B、!= C、+ D、= 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为_____。 A、算术运算、赋值运算、关系运算 B、关系运算、赋值。

10、运算、算术运算 C、算术运算、关系运算、赋值运算 D、关系运算、算术运算、赋值运算,3、语句 (1) 熟练掌握表达式语句、空语句、复合语句; (2) 熟练掌握简单控制语句 break、continue、return (3) 熟练掌握选择控制语句 if、switch (4) 熟练掌握重复控制语句 for、while、dowhile,C 语言程序的三种基本结构是顺序结构、选择结构和______结构。 A、循环 B、递归 C、转移 D、嵌套,写出下列程序段的输出结果。 char c,k; c=b; k=4; switch(c) case a: k=1; case b: k=2; case c: k=。

11、3; printf(%dn,k);,写出下列程序段的输出结果。 int k, x; for (k=0, x=0; k=9,输入12345#后,写出下列程序的输出结果。 void main() char c; for(c=getchar(); getchar()!=#; c=getchar() putchar(c); int k ; char *s = “ABC”; for( k=10; k != 0; k- ) ; printf ( %d, k ); while( *s+ ) putchar( *s );,2.3 程序结构和函数,1、程序结构 熟练掌握main函数与其他函数之间的关系 包括标准。

12、库函数和自定义函数,2、函数的定义 (1) 熟练掌握函数定义的ANSI C格式 (2) 熟练掌握函数的参数(形式参数和实在参数)及参数传递,包括指针作为函数的参数 (3) 熟练掌握函数的返回值,包括指针作为函数的返回值,要调用数学函数时,在#include命令行中应包含_____。 A、 ”stdio.h” B、 ”string.h” C、 ”math.h” D、 ”ctype.h” 在C语言程序中,若对函数类型未加显式说明,则函数的隐含类型是int.,int z; void p(int *x, int y) +*x; y-; z=*x+y+z; printf(%d, %d, %d#, *x,。

13、 y, z); ,void main() int x=1, y=5, z=9; p( ,3、函数的调用 (1) 函数调用的一般格式 熟练掌握通过函数名调用函数,了解通过函数指针调用函数 (2) 掌握函数的嵌套调用和递归调用,int f(int k) return (k0)?1:f(k-2)+2); ,(3) 熟练掌握标准库函数的调用 常用数学函数: cos、sqrt、pow、exp、fabs、log、log10等 常用字符函数: isalnum、isalpha、isdigit、islower、toupper等 常用字符串函数: strcpy、strcmp、strcat、strlen等,输入m和。

14、n(mn0)后,计算下列表达式的值并输出。 m! n!(m-n)! 要求将计算阶乘的运算写成函数fact(n),函数返回值的类型为float。,#include float fact(int k); void main() int m,n; scanf(%d%d, ,float fact(int k) float y=1; int i; for(i=2;i=k;i+) y*=i; return y; ,2.4 数据的输入和输出,1、文件 熟练掌握文件的基本概念 2、标准文件的输入和输出 熟练掌握常用输入输出函数:scanf、printf、getchar、putchar、gets、puts等,3。

15、、缓冲文件系统(文本文件) (1) 熟练掌握文件的打开和关闭 常用函数:fopen和fclose (2) 熟练掌握文件的基本读写操作 常用函数:fscanf、fprintf、fgetc、fputc、fgets、fputs等 (3) 熟练掌握文件的状态检测 常用函数:feof等,统计当前目录下文本文件data.txt中字符 $ 出现的次数,并将统计结果写入当前目录下的文本文件res.txt。 #include void main() FILE *fp1, *fp2; char ch; int count=0; if(fp1=fopen(data.txt,r)=NULL) printf(不能打开文。

16、件data.txt!n); exit(0); ,if(fp1=fopen(res.txt,w)=NULL) printf(不能打开文件res.txt!n); exit(0); while(ch=fgetc(fp1)!=EOF) if(ch=$) count+; fprintf(fp2,%d,count); fclose(fp1); fclose(fp2); ,2.5 命令行参数和编译预处理,1、命令行参数(argc、argv)的说明、含义和使用。 执行程序find nx ould text.txt时, *+argv1的值是_______。,2、熟练掌握编译预处理的基本概念 3、掌握宏定义 4、掌握文件包含 写出下列程序段的输出结果。 #define T 16 #define S (T+10)-7 printf(%dn, S*2);,2.7 常用算法,以下算法针对本大纲中列出的各种数据结构 1、分类(排序)算法 冒泡、选择、插入 2、检索(查找)算法 (1) 无序数据序列的查找(见遍历算法) (2) 有序数据序列的查找:二分法,3、遍历算法 (1) 一维数组和二维数组的遍历 (2) 文件的遍历 4、其它基本算法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值