C语言复习2008

合集下载

2008年4月二级C语言笔试真题及答案

2008年4月二级C语言笔试真题及答案

2008年4月二级C语言笔试真题及答案一、选择题(共70分)(1)程序流程图中指有箭头的线段表示的是A)图元关系B)数据流C)控制流D)调用关系(2)结构化程序设计的基本原则不包括A)多态性B)自顶向下C)模块化D)逐步求精(3)软件设计中模块划分应遵循的准则是A)低内聚低耦合B)高内聚低耦合C)低内聚高耦合D)高内聚高耦合(4)在软件开发中,需求分析阶段产生的主要文档是A)可行性分析报告B)软件需求规格说明书C)概要设计说明书D)集成测试计划(5)算法的有穷性是指A)算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的C)算法程序的长度是有限的D)算法只能被有限的用户使用(6)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是A)快速排序B)冒泡排序C)直接插入排序D)堆排序(7)下列关于栈的叙述正确的是A)栈按“先进先出”组织数据B)栈按“先进后出”组织数据C)只能在栈底插入数据D)不能删除数据(8)在数据库设计中,将E-R图转换成关系数据模型的过程属于[C]A)需求分析阶段B)概念设计阶段C)逻辑设计阶段D)物理设计阶段(9)有三个关系R、S和T如下:TB C Da 0 k1R SB C Da 0 k1b 1 n1B C Df 3 h2a 0 k1n 2 x1 有关系R和S通过运算得到关系T,则所使用的运算为A)并B)自然连接C)笛卡尔积D)交(10)设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为A)课号,成绩B)学号,成绩C)学号,课号D) 学号,姓名,成绩(11)以下叙述中正确的是A)C程序中的注释只能出现在程序的开始位置和语句的后面B)C程序书写格式严格,要求一行内只能写一个语句C)C程序书写格式自由,一个语句可以写在多行上D)用C语言编写的程序只能放在一个程序文件中(12)以下选项中不合法的标识符是A)print B)FOR C)&a D)_00(13)以下选项中不属于字符常量的是A)'C' B)"C" C)'\xCC0' D)'\072'(14)设变量已正确定义并赋值,以下正确的表达式是A)x=y*5=x+z B)int(15.8%5)C)x=y+z+5,++yD)x=25%5.0(15)以下定义语句中正确的是A)int a=b=0 ; B)char A=65+1,b='b'; C)float a=1,*b=&a,*c=&b ; D)double a=0.0,b=1.1;(16)有以下程序段char ch; int k;ch='a'; k=12;printf("%c,%d,",ch,ch,k); printf("k=%d\n",k); 已知字符a的ASCll十进制代码为97,则执行上述程序段后输出结果是A)因变量类型与格式描述符的类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12 D)a,97,k=12(17)已知字母A的ASCⅡ代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是A)kk>='A'&&kk<='Z' B)!(kk>='A'‖kk<='Z') C)(kk+32)>='a'&&(kk+32)<='z' D)isalpha(kk)&&(kk<91)(18)当变量c的值不为2、4、6时,值也为“真”的表达式是A)(c==2)‖(c==4)‖(c==6) B)(c>=2&&c<=6)‖(c!=3)‖(c!=5) C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&&c<=6)&&(c%2!=1)(19)若变量已正确定义,有以下程序段int a=3,b=5,c=7;if(a>b) a=b; c=a;if(c!=a) c=b;printf("%d,%d,%d\n",a,b,c); 其输出结果是A)程序段有语法错B)3,5,3 C)3,5,5 D)3,5,7(20)有以下程序#include <stdio.h>main(){ int x=1,y=0,a=0,b=0;switch(x){ case 1:switch(y){ case 0: a++; break;case 1: b++; break; }case 2: a++; b++; break;case 3: a++; b++;}printf(“a=%d,b=%d\n”,a,b);} 程序的运行结果是A)a=1,b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=1(21)有以下程序#include <stdio.h>main(){ int x=8;for( ; x>0; x--){ if(x%3) {printf(“%d,”,x--); continue;}printf(“%d,”,--x);}} 程序的运行结果是A)7,4,2 B)8,7,5,2 C)9,7,6,4 D)8,5,4,2(22)以下不构成无限循环的语句或者语句组是A)n=0; B)n=0; do{++n;}while(n<=0); while(1){n++;}C)n=10; D)for(n=0,i=1; ;i++) n+=i;while(n);{n--;}(23)有以下程序#include <stdio.h>main(){ int a[ ]={1,2,3,4},y,*p=&a[3];--p; y=*p; printf(“y=%d\n”,y);} 程序的运行结果是A)y=0 B)y=1 C)y=2 D)y=3 (24)以下错误的定义语句是A)int x[][3]={{0},{1},{1,2,3}}; B)int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};C)int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; D)int x[][3]={1,2,3,4};(25)设有如下程序段char s[20]= “Bejing”,*p;p=s; 则执行p=s;语句后,以下叙述正确的是A)可以用*p表示s[0] B)s数组中元素的个数和p所指字符串长度相等C)s和p都是指针变量D)数组s中的内容和指针变量p中的内容相等(26)若有定义:int a[2][3];,以下选项中对a数组元素正确引用的是A)a[2][!1] B)a[2][3] C)a[0][3] D)a[1>2][ !1](27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是A)gets(&s[0]); B)scanf(“%s”,s+1); C)gets(s); D)scanf(“%s”,s[1]);(28)以下叙述中错误的是A)在程序中凡是以“#”开始的语句行都是预处理命令行B)预处理命令行的最后不能以分号表示结束C)#define MAX是合法的宏定义命令行D)C程序对预处理命令行的处理是在程序执行的过程中进行的(29)以下结构体类型说明和变量定义中正确的是A)typedef struct B)struct REC; {int n; char c;}REC; {int n; char c;};REC t1,t2; REC t1,t2;C)typedef struct REC ; D)struct{int n=0; char c=‟A‟;}t1,t2; {int n;char c;}REC t1,t2;(30)以下叙述中错误的是A)gets函数用于从终端读入字符串B)getchar函数用于从磁盘文件读入字符C)fputs函数用于把字符串输出到文件D)fwrite函数用于以二进制形式输出数据到文件(31)有以下程序#include <stdio.h>main(){ int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;for(i=0;i<12;i++) c[s[i]]++;for(i=1;i<5;i++) printf(“%d”,c[i]);printf(“\n”);} 程序的运行结果是A)1 2 3 4 B)2 3 4 4 C)4 3 3 2 D )1 1 2 3(32)有以下程序#include <stdio.h>void fun(int *s,int nl,int n2){ int i,j,t;i=nl; j=n2;while(i<j) {t=s[i];s[i]=s[j];s[j]=t;i++;j--;}}main(){ int a[10]={1,2,3,4,5,6,7,8,9,0},k;fun(a,0,3); fun(a,4,9); fun(a,0,9);for(k=0;k<10;k++)printf(“%d”,a[k]); printf(“\n”);} 程序运行的结果是A)0987654321 B)4321098765 C)5678901234 D)0987651234(33)有以下程序#include <stdio.h>#include <string.h>void fun(char *s[ ],int n){ char *t; int i,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]=s[j];s[j]=t;}}main(){char *ss[]={“bcc”,”bbcc”,”xy”,”aaaacc”,”aabcc”};fun(ss,5); printf(“%s,%s\n”,ss[0],ss[4]);} 程序的运行结果是A)xy,aaaacc B)aaaacc,xy C)bcc,aabcc D)aabcc,bcc(34)有以下程序#include <stdio.h>int f(int x){int y;if(x==0||x==1) return (3);y=x*x-f(x-2);return y;}main(){int z;z=f(3); printf(“%d\n”,z);} 程序的运行结果是A)0 B)9 C)6 D)8(35) 有以下程序#include <stdio.h>void fun(char *a,char *b){while(*a==‟*‟) a++;while(*b=*a) {b++;a++;}}main(){char *s=”****a*b****”,t[80];fun(s,t); puts(t);} 程序的运行结果是A)*****a*b B) a*b C) a*b**** D) ab (36) 有以程序#include <stdio.h>#include <string.h>typedef struct { char name[9]; char sex; float score[2]; } STU;void f( STU a){ STU b={“Zhao” ,‟m‟,85.0,90.0} ; int i;strcpy(,);a.sex=b.sex;for(i=0;i<2;i++) a.score[i]=b.score[i];}main(){ STU c={“Qian”,‟p‟,95.0,92.0};f(c); printf(“%s,%c,%2.0f,%2.0f\n”,,c.sex,c.score[0],c.score[1]);} 程序的运行结果是A)Qian,f,95,92 B) Qian,m,85,90 C) Zhao,f,95,92 D) Zhao,m,85,90(37) 有以下程序#include <stdio.h>main(){FILE *fp; int a[10]={1,2,3},i,n;fp=fopen(“dl.dat”,”w”);for(i=0;i<3;i++) fprintf(fp,”%d”,a[i]);fprintf(fp,”\n”);fclose(fp);fp=fopen(“dl.dat”,”r”);fscanf(fp,”%d”,&n);fclose(fp);printf(“%d\n”,n);} 程序的运行结果是A)12300 B) 123 C) 1 D) 321(38)变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。

全国计算机等级考试二级C语言 2008年4月真题卷参考答案及解析

全国计算机等级考试二级C语言 2008年4月真题卷参考答案及解析

全国计算机等级考试二级C语言 2008年4月真题卷答案及解析一、选择题(1)C解析:程序流程图是人们对解决问题的方法、思路或算法的一种描述。

其中,图框表示各种操作的类型,图框中的文字和符号表示操作的内容,流程线表示操作的先后次序。

带箭头的线段在数据流程图中表示数据流,而在程序流程图中表示控制流。

在所给出的选项中,在图元之间用带有箭头的线段表示图元关系。

在模块之间用带有箭头的线段表示调用关系。

构成程序流程图的基本图符及其含义是:→或↓表示控制流,□表示加工步骤,◇表示逻辑条件。

(2)A解析:结构化程序设计的原则包括:"自顶而下,逐步求精"的设计思想,"独立功能,单出口、单入口"的模块化设计等。

多态性是面向对象程序语言的特征。

(3)B解析:模块划分应遵循的准则包括模块之间的耦合和内聚。

一般来说,要求模块之间的耦合尽可能地低,即模块尽可能独立,要求模块的内聚程度尽可能地高,即高内聚、低耦合的原则。

(4)B解析:需求分析阶段的工作主要包括需求获取、需求分析、编写需求规格说明书和需求评审等四方面。

产生的主要文档为软件需求规格说明书,它可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标软件系统的确认,又可以作为控制软件开发进程的依据。

(5)A解析:算法具有6个特性。

①有穷性:一个算法必须总是(对任何合法的输入值)在执行有穷步之后结束,且每一步都可在有限时间内完成,即运行时间是有限的。

②确定性:算法中每一条指令必须有确切的含义,读者理解时不会产生歧义。

③可行性:一个算法是可行的,即算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现。

④输入:一个算法有零个或多个输入,这些输入取自于某个特定的对象的集合。

⑤输出:一个算法有一个或多个输出。

(6)D解析:在最坏情况下,快速排序、冒泡排序和直接插入排序需要的比较次数都是n(n-1)/2,堆排序需要比较的次数为nlog2n。

C语言全部知识点复习资料

C语言全部知识点复习资料

C语言全部知识点复习资料C语言知识点复资料总体上必须清楚的:1.程序中基本的控制结构是三种:顺序结构、选择结构(分支结构)、循环结构。

2.读程序都要从main()入口,然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。

3.计算机的数据在电脑中保存是以二进制的形式.数据存放的位置就是它的地址.4.bit是位是指为或者1。

byte是指字节,一个字节=八个位.5.编译预处理不是C语言的一部分,不占运行时间,不要加分号。

(常考!)#define PI 3.;这个写法是错误的,一定不能出现分号。

6.每个C语言程序中main函数是有且只有一个。

7.用C语言编写的程序称为源程序,扩展名是.c。

C程序必须经过编辑、编译、链接、运行四个步骤才可得到运行结果。

注意.c和.obj文件时无法运行的,只有.exe文件才可以运行。

(常考!)8. C语言书写格式是自由的,每行可以写多个语句,一条语句也可以写在多行。

9.一个C语言程序有且只有一个main 函数,是程序运行的起点。

10. Cfree、VC/VC++、CodeBlock等是软件,用来运行写的C语言程序。

(编译环境)11.标识符(必考内容):正当的要求是由字母,数字,下划线组成。

有其它元素就错了。

并且第一个必须为字母或则是下划线。

第一个为数字就错了12.标识符分为关键字、预定义标识符、用户标识符。

关键字(P259):不可以作为用户标识符号。

main define scanf printf都不是关键字。

迷惑你的中央是If、Main 等可以做为用户标识符。

因为If、Main中的第一个字母大写了,以是不是关键字和特定字了。

预定义标识符:如define scanf printf include。

记住预定义标识符可以做为用户标识符,但因为它们有特定含义,一般不做用户标识符。

用户标识符:可作为常量名、变量名、函数名、组织类型名等。

13.整型常量:C语言只有八、十、十六进制整数,没有二进制。

计算机等级 C语言二级(2008年09月)真题及答案

计算机等级 C语言二级(2008年09月)真题及答案

2008年9月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间90分钟,满分100分)注意:解答中所提到的教材是新视野教育培训使用的教材《全国计算机等级考试--二级教程》,此教材是由新视野教学组编写,中国地质大学出版社出版。

详情可联系长沙新视野0731--1)栈的初始状态为空。

现将元素1、2、3、4、5、A、B、C、D、E依次放入栈,然后再依次出栈,则元素的顺序是:A) 12345ABCDE B) EDCBA54321C) ABCDE12345 D) 54321EDCBA答案:B详细解答:该知识点是考查了栈的先进后出,是我们公共基础的重点考点,在公共基础的10页纸上多次强调。

栈和队列是每年必考的题目。

此题与对应教材第三分册81页14题。

2)下列叙述中正确的是A)循环队列有对头和对尾两个指针,因此,循环队列是非线性结构B)在循环队列中,只需要队列头指针就能够反映队列中元素的动态变化情况C)在循环队列中,只需要队列头指针就能够反映队列中元素的动态变化情况D)循环队列中的元素的个数是有队头和队尾指针共同决定的。

答案:D详细解答:该知识点是考查了循环队列的知识点,队列是线性结构。

处理队列的话我们是有两个指针的,一个是头指针,一个是尾指针。

此题与对应教材第三分册81页10题。

(类似)3) 在长度为n的有序线性表中进行二分查找,最坏的情况下需要比较的次数是A)O(n) B)O(n2) C)O(log2n) D)O(nlog2n)答案:C详细解答:该知识点是考查了二分查找。

二分查找:对于长度为n的线性表,在最坏情况进行log2n次。

此题与对应教材第三分册83页32题。

4)下列叙述中正确的是A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的。

B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构。

C)顺序存储结构能存储有序表,链式存储结构不能存储有序表。

D)链式存储结构比顺序存储结构节省空间。

2008年9月全国计算机二级笔试C语言程序设计真题及答案

2008年9月全国计算机二级笔试C语言程序设计真题及答案

2008年9月全国计算机二级笔试C语言程序设计真题及答案2008年9月全国计算机二级笔试C语言程序设计真题及答案一、选择题((1)~(10)、(21)~(40)每题2 分,(11)~(20)每题1 分,70 分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

(1)一个栈的初始状态为空。

现将元素1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是()。

A)12345ABCDE B)EDCBA54321 C)ABCDE12345 D)54321EDCBA(2)下列叙述中正确的是()。

A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D)循环队列中元素的个数是由队头指针和队尾指针共同决定(3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。

A)O(n) B)O(n2) C)O(log2n) D)O(n log2n)(4)下列叙述中正确的是()。

A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C)顺序存储结构能存储有序表,链式存储结构不能存储有序表D)链式存储结构比顺序存储结构节省存储空间(5)数据流图中带有箭头的线段表示的是()。

A)控制流 B)事件驱动 C)模块调用 D)数据流(6)在软件开发中,需求分析阶段可以使用的工具是()。

A)N-S 图 B)DFD 图 C)PAD 图 D)程序流程图(7)在面向对象方法中,不属于“对象”基本特点的是()。

A)一致性 B)分类性 C)多态性 D)标识唯一性(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。

A)一对一 B)一对多 C)多对一 D)多对多(9)在数据管理技术发展的三个阶段中,数据共享最好的是()。

2008C语言考试知识点说明

2008C语言考试知识点说明

考试知识点说明:80%范围在作业册的习题中,并且集中在前三大题里。

第1章: C语言程序的基本结构
C语言字符集、标识符与关键字、C语言程序的开发调试方法
第2章:
C语言的基本数据类型、常量与变量、运算符与表达式
数据类型的转换
第3章:
C语言的基本语句;数据输入与输出
第4章:
关系运算符与关系表达式、逻辑运算符与逻辑表达式
If语句、switch语句、选择结构的嵌套
第5章:
while和do while语句
for语句
break、continue语句
循环的嵌套
第6章:
函数的定义与调用、函数的递归调用
变量作用域与存储方式
编译预处理(只考宏替换
第7章:
一维数组、二维数组的定义和引用
字符数组与字符串
第8章:
指针变量的定义和使用(小题
第9章:
结构体类型的定义、结构体变量定义和使用第10章
位运算(移位运算小题
第11章:
标准文件操作(小题。

C语言总复习全

C语言总复习全
格式说明: % - 0 m.n 格式字符
指定输出类型 输出宽度说明及精度 指定空位是否填0 指定是否左对齐输出
12
2、scanf(“格式控制”,地址表列 )
在输入数据时,遇以下情况时该数据认为结束。 ① 遇空格,或按“回车”或“跳格”(tab)键。 ② 按指定的宽度结束,如“%3d”,只取3列。 ③ 遇非法输入。 scanf (“%d%c%f”,&a,&b,&c); 输入: 1234a123o.26
int i; for(i=0;
;i++)

*(a+i) != ′\0′; *(b+i)=*(a+i);
*(b+i)=′\0′;
方法2:定义
printf("string a is:%s\n",a); char *p1=a,*p1=b;
printf("string b is:");
循环体换成:
for(i=0; b[i]!=′\0′; i++)
C运算符
算术运算符(+,-,*,/,%) 关系运算符(>,<,= =,>=,<=,!=)
基本运算符
逻辑运算符(!,&&,||) 增 1 减 1 运算符(++,――) 赋值运算符(= ) 算术复合赋值运算符(+=,-=,*=,/=,%=) 逗号运算符(,) 条件运算符(? :)
C 语言运算符 位运算符
专用运算符
(数据)长度运算符 (sizeof)
位逻辑运算符(~,&, ^, | )
位移位运算符(>>,<<)
位复合赋值运算符(&=,|=,^=,>>=,<<=)

2008春C语言笔试卷

2008春C语言笔试卷

第二部分 C语言程序设计一、选择题(用答题卡答题,答案依次填在21~30答题号内,共10分)21.下列叙述中正确的是 (21) 。

A. main函数必须出现在其他函数之前B. main函数中至少必须有一条语句C. C程序总是从main函数的第一条语句开始执行D. C程序总是在执行完main函数的最后一条语句后结束22.以下常量表示中正确的是 (22) 。

A. \xffB.5LC. aEbD. 3.14U23.若程序中已有相应的声明,下列语句中错误的是 (23) 。

A.printf(i==4 ? "%6d\n" : "%6d" , i );B.i==4 ? printf("%6d\n",i ) : printf("%6d" , i ) ;C.for (i=10 ; ; i--) if(i==1) break;D.for (i=10 ; ; ) if(i--); break;24.若有声明“float f=123.45678;”,则执行语句“printf( "%.3f",f );”后,输出结果是 (24) 。

A. 1.23e+02 B. 123.457 C. 123.456780 D. 1.234e+0225.若有声明“int x=2,y=1,z=0;”,则下列关系表达式中有语法错误的是 (25) 。

A. x>y=2 B.z>y>xC. x>y==1 D.x==(x=0,y=1,z=2)26.若有声明“int x[10]={0,1,2,3,4,5,6,7,8,9},*p;”,则值不为4的表达式是(26)。

A.p=x,*(p+4) B.p=x+4,*p++C.p=x+3,*(p++) D.p=x+3,*++p27.若有声明“int i,k=1; unsigned j;”,则下列语句执行时会出现无限循环的语句是 (27) 。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言规定:非0值都是真,效果同1。
注意: || 、&&的逻辑运算顺序和结果
选择结构
2. if-else结构:if和else之间只能有一 条语句。可以是一条简单语句,也可以 是一条复合语句。当if块中有多条简单语 句时一定要使用{ }复合语句! 3. else:要和if配对使用,且else后不能
直接加条件!
件指针操作函数
考试说明

选择题:表达式的值,++,- -,switch
结构,图形,分支结构,概念。

程序填空题:填写一行。计算表达式,赋
初值,判断,循环变量++,变量定义,函
数声明,整数整除表达式

程序补充:函数体。判断数字,表达式,
分支结构,累加,连乘…..
考试说明
注意事项 (1){ }的配对 (2)缺少 ; “ ” & 等; (3)变量初值:sum=0,1; (4)=与==:比较,赋值; (5)类型转换:/运算,double; (6)分号:for()后,while()后,if()后等;

考试说明
编程题: (1)分段计算:if-else嵌套 (2)数学公式:分数,double,分子 分母的变化规律,数学函数exp, log, log10, fabs, abs, sin, cos, pow, sqrt

考试说明
编程题: (3)函数计算n!,累加 (4)已知当前项终值,或者项数确定的 累加连乘运算; (5)数组排序 (6)数组求最值
&&,||,sizeof(),复合运算等
9. 自增/减:k++,++k
数据类型与表达式
10.=和==的区别:赋值,比较 if(k=3) printf(“hi”); if(k==3) printf(“hi”);
11.逗号表达式:
x=3,4; x=(3,4);
顺序结构
1. ch=getchar():获得一个输入的任意字符。 多个要连续输入,且都是有效字符。 2. gets(s1): 输入一个字符串数组,回车结束。 puts(s1): 输出s1地址开始的字符串。 3. scanf():表达式的类型与控制符类型要一致, 简单变量或数组元素要加&。%s的输入以第一 个空格结束,即不能输入空格字符。
6. 枚举型:序号比较大小;
7. typedef:不能定义新类型,只是已
有类型的别名。
位运算
1. 二进制运算: 0,1
2. 运算符: ~,& ,|,>>,<<。
如:3>>2 5|3
文件操作
1. 文件类型指针变量:FILE *fp;
2. 函数:fopen(),fclose()。
3. 常见用法:打开文件,文件指针,文
作变量名,其中标准函数名可以做 变量名。
数据类型与表达式
4. 类型转换:强制转换,自动转换 5. 实数运算问题:有效位数 ,实型的
判断,大数和小数(忽略)的运算
6. 转义符: 计算字符串的长度,\b、
\0
书P48
数据类型与表达式
7. char和int:相互转换,ASCII码。 8. 表达式:运算顺序,结果,%,/,
1. 程序构成:以函数为基本单位; 2. 主函数:main(),程序开始运行位置。
3. 调用关系:相互调用、嵌套调用、递归
调用。
4. 头文件:作用及使用方法 #include 5. 注释标志:/* xxx */ 6. 上机步骤:见下页
C语言概述
C语言上机步骤: • 双击桌面TC图标;Turbo C2.0 • 打开程序: File-load或者F3,回 车,光标键选择文件,不要输入! • 保存程序: File-save或者F2 • 运行程序:Run-run或者ctrl+F9
交换两个数的值-函数,地址,指针
数组-排序、最值、删除、插入
结构体应用
1. 结构体变量:定义,成员的访问 . ; 2. 结构体指针:定义,成员的访问 -> ; 3. 结构体数组与指针:p++; 4. 链表处理:插入、删除等; 5. 共用体:大小等于最长成员的大小,其
值为最后赋值的成员有效。
结构体应用
2. 函数调用:有返回,无返回值。有返
回值时引用类型要和定义的一致!
函数的应用
3. 形参/实参:类型和个数一致,按照位
置对应传递,值传递方式!参数为地址 或指针时,实际指向同一个地址,修改 的值双方有效!
变量地址、数组名、指针 4. 变量类型:全局,局部,static,auto, register, extern。
循环结构
2. while结构:while()前循环变量的初始
化,条件非0执行循环,循环体中破坏语 句的书写。
终值已知型,for()型,其他所有类型。
字符数组的应用;多循环条件类。
循环结构
3. do-while结构:较少使用,先执行一次再
判断,循环条件的表示和结束同while结构。
4. brak/continue语句:break结束本层循环,
函数的应用
典型问题:
最大公约数,数组排序,数组最值, 判断数(返回数字/字母),计算阶乘
注意:指针、数组名、变量地址作为参
数的函数实现。
指针应用
1. 指针与指针变量:
地址,保存地址的变量;
2. 指针变量的类型:
要与指向的变量类型一致! 2. 运算:&,* &k *p *(p+i) *(a+i)
指针应用
选择结构
4. else if结构:否定上层if条件,且还有 条件限制时使用,一般多分支情况使用 该结构,而不能简单使用多个if单独判断!
5. switch结构:
多分支时使用,该结构执行满足的第一 个条件分支及其后所有分支的语句!
选择结构
6. break:
可以在switch中使用,表示不执行 后续分支!
考试说明
典型题目:
1、分段函数的计算。数学表达式书写 2、将数组a中所有数字进行大小排序。 3、统计字符数组中大写字母的个数。 4、判断数n是否为素数。 5、判断数n是否为水仙花数? 7、计算字符串中数字字符的累加和。 8、指针交换两个数的值。地址、指针 9、地址参数得到计算结果。 10、数列的累加和。分子 分母 11、阶乘表达式的累加和(单层循环) 12、数组的查找、插入、删除。 13、 标志变量的使用。

考试说明

编程题:
(7)数组元素的删除,插入 (8)数字的判定:素数,水仙花数,完数; (9)数列:杨辉三角,F氏数列; (10)数制转换:2进制,10进制,8进制; (11)矩阵运算:赋值,求最值等;
考试说明

编程题:
(12)数组元素个数统计:符合某条件
(13)大小写转换:+-32;
(14)字符转换数字:‘2’-------2
while(*p!=„\0‟) { p++;} while(*p++!=„\0‟) { } while(*(p+i)!=„\0‟) { i++;} 7. argc/argv:所有部分的个数,所有部 分的字符串形式。char *argv[]
指针应用
典型问题:
字符串的处理-大小写转换、统计个数、
复制、比较大小
跳到}后执行;continue结束本次循环,返
回循环条件的判断,开始下次循环。
循环结构
典型问题: • 输出所有水仙花数 • 累加,连乘 • 各数位之和 • 素数的判断 • 数的反转 • 完数的判断 • 数的进制转换
数组的应用
1.数组元素:下标从0开始,先赋值后使用。 2.字符数组:最后一个元素保留给‘\0’,
顺序结构
4.printf():%o,%x,%.2f,%3d P81 “使用scanf函数时应注意的问题” long输入/出时使用%ld 输出输入控制符和表达式类型要匹配!
5.例题复习:
P83 例4.11字母大小写转换程序。
选择结构
1. if条件:关系表达式,逻辑表达式,
赋值表达式,简单变量表达式 如:k==10 k%2!=0 j=4 k++ n
C语言程序设计
(2008版)
讲 授:韩晓芸
Email:hxylc@
hxy@
福州大学数学与计算机科学学院
C语言程序设计复习


C语言概述 数据类型与表达式 顺序、选择、循环结构设计 数组应用 函数应用 指针应用 结构体、位运算、文件操作
C语言概述
C语言概述
6) 重新运行:alt+c→compile → make
7) 进入编辑状态:Alt+E,F6切换 8) 死循环:Ctrl+Pause →ESC 9) 菜单激活:F10
数据类型与表达式
1. 常量表示方法:2.1,‟a‟,”didi”,
3L,1.2e2 ,符号常量
2. 整数除法:5/2 →1.0*5/2 3. 变量名:合法变量名称,保留字不
6. 字符串:处理字符串时,最后要确保
字符串结束标志的存在,即‘\0’。
数组的应用
典型问题:
数列,数组最值,排序(冒泡法、选择 法),查找(顺序,二分),数组插入/ 删除,矩阵处理(行列的最值,对角线 元素),字符串处理(复制、比较大小、 删除)
函数的应用
1.函数定义和声明:定义表示要完成什
么功能,声明如同变量的声明,形式和 定义时一样,形参变量名可以省略。有 返回值的函数一定声明类型!
可以在循环结构中使用,表示结束 本层循环结构。
选择结构
典型问题:
• 奇偶数判断
相关文档
最新文档