程序设计基础C复习资料(1)
C语言程序设计基础复习

float fact(int k) { float y=1; int i;
2、构造类型 构造类型包括数组和结构 (1) 数组 熟练掌握一维和二维数组的定义和初始化, 数组元素的引用。 包括一维字符数组和字符串
数组定义为 int a[3][2]={1, 2, 3, 4, 5, 6},数组 元素 a[1][1] 的值为4。
不正确的赋值或赋初值的方式是______。 A、char str[]="s"; B、char str[7]={'s'}; C、char str[10];str="s"; D、char str[7]={'s',’\0’};
++p->str中的++加在_____。
struct { int len; char *str;
} *p; A、指针str上 B、指针p上 C、str指的内容上 D、以上均不是
main( )
{ struct st {
int x, y; }a[4]={{10,20},{30,40},{50,60},{70,80 }}; struct st *p=a; printf("%d,", p++->x); printf("%d,", ++p->y); printf("%d\n", (a+3)->x); }
int f(int k) {
return ((k<0)?1:f(k-2)+2); } printf(“%d\n”, f(3));
(3) 熟练掌握标准库函数的调用 常用数学函数: cos、sqrt、pow、exp、fabs、log、等 常用字符函数: isdigit、islower、toupper等 常用字符串函数: strcpy、strcmp、strcat、strlen等
C语言程序设计期末复习资料

第一章——C简介一、C语言程序的结构1.一个程序有一个或多个源文件组成(1)预处理指令如#including <stdio.h>(2)全局声明在函数之外进行的数据声明,在定义函数前声明的变量,在整个源程序文件范围内有效。
(3)函数定义2.C的主体部分——函数(函数首部和函数体)(1)函数首部包括函数名、函数类型、函数属性、函数参数(形参与实参)、参数类型(2)函数体3.程序从main函数开始执行。
4.每个数据声明和语句的最后必须有一个分号5.注释应当包含注释(1)以//开始单行的注释,从//开始,到换行符结束。
(2)以/*开始,以*/结束的块式注释,可以包含多行内容。
第三章——顺序结构一、数据的表现形式及其运算1.合法用户标识符合法的要求是由字母,数字,下划线组成,有其它元素就错了,并且第一个必须为字母或则是下划线,第一个为数字就错了。
关键字不可以作为用户标识符号。
main define scanf printf都不是关键字。
2.实型数据的合法形式:2.333e-1就是合法的,且数据是2.333×10-1。
e前e后必有数,e后必为整数。
3.字符数据的合法形式:'1'是字符占一个字节,"1"是字符串占两个字节(含有一个结束符’\0’) .小写字母的ASCII码比对应的大写字母大324.整型一般是两个字节,字符型是一个字节,双精度一般是4个字节:5.转义字符:6.算术运算符号的优先级别7.强制类型转换:(1)一定是(int)a不是int(a),注意类型上一定有括号(2)注意(int)(a+b)和(int)a+b的区别。
前是把a+b转型,后是把a转型再加b 8.不同类型数据间混合运算(1)有float或double型,结果为double型。
(2)字符型和实数型数据运算,将字符的ASCII代码转化为double型数据进行计算。
二、C语句1.C语句分类(1)控制语句。
C程序设计复习资料含复习资料

C程序设计复习资料含复习资料一、C 语言基础1、数据类型C 语言中有多种数据类型,包括整型(int)、浮点型(float、double)、字符型(char)等。
了解不同数据类型的取值范围和存储方式是编程的基础。
例如,整型可以分为短整型(short int)、整型(int)和长整型(long int),它们的存储空间和取值范围各不相同。
2、变量和常量变量用于存储程序运行过程中可以改变的值,常量则是固定不变的值。
在 C 语言中,变量需要先声明后使用,常量可以用宏定义或者使用关键字 const 来定义。
3、运算符和表达式C 语言中的运算符包括算术运算符(+、、、/、%)、关系运算符(>、<、>=、<=、==、!=)、逻辑运算符(&&、||、!)等。
掌握这些运算符的优先级和结合性,能够正确编写表达式。
例如,表达式 a = 5 + 3 2 的计算结果是 11,因为乘法运算符的优先级高于加法运算符。
4、控制结构(1)顺序结构:程序按照语句的先后顺序依次执行。
(2)选择结构:包括 ifelse 语句和 switch 语句,用于根据不同的条件执行不同的代码块。
(3)循环结构:有 for 循环、while 循环和 dowhile 循环,用于重复执行一段代码。
二、数组和指针1、数组数组是一组相同类型的变量的集合,可以通过下标来访问数组中的元素。
例如,定义一个整型数组 int arr5 ={1, 2, 3, 4, 5},可以通过 arr0来访问第一个元素 1。
2、指针指针是 C 语言中非常重要的概念,它是一个变量,用于存储另一个变量的地址。
通过指针可以间接访问变量的值,并且能够实现动态内存分配。
例如,int p; 定义了一个指向整型的指针 p,通过 p =&a; 可以将指针 p 指向变量 a 的地址,然后通过 p 来访问变量 a 的值。
三、函数1、函数的定义和调用函数是一段独立的代码块,用于完成特定的任务。
函数可以有返回值,也可以没有返回值。
专升本程序设计基础知识(C语言)

C语言知识复习资料第一章C语言基本知识【考点1】C程序用C语言编写的程序称为C语言源程序,源程序文件的后缀名为“.c”。
源程序经编译后生成后缀名为“.obj”的目标文件,再把目标文件与各种库函数连接起来,生成“.exe”可执行文件。
C语言有三种基本结构:顺序结构、选择结构、循环结构。
【考点2】main函数又称主函数,是C程序的入口。
main后面跟一对小括号和一对花括号,花括号括起来的部分称为main函数的函数体。
一个C程序从main函数开始执行,到main函数体执行完结束,而不论main函数在整个程序中的位置如何。
每一个程序有且仅有一个main函数,其他函数都是为main函数服务的。
【考点3】存储形式计算机在电脑中保存数据是采用二进制形式,由0或1构成的二进制称为位(bit),八个位构成一个字节(Byte),1个Byte=8个bit。
二进制、八进制、十六进制转化为十进制采用乘法,十进制转化为二进制、八进制、十六进制采用除法。
数据的存放位置就是它的地址。
【考点4】注释是对程序的说明,可出现在程序中任意合适的地方,注释从“/*”开始到最近一个“*/”结束,其间任何内容都不会被计算机执行,注释不可以嵌套。
【考点5】书写格式每条语句的后面必须有一个分号,分号是语句的一部分。
一行内可写多条语句,一个语句可写在多行上。
【考点6】标识符是标识名字的有效字符序列,可以理解为C程序中的单词。
标识符的命名规则是:(1)标识符只能由字母、数字和下划线组成,字母区分大小写。
(2)标识符的第一个字符必须是字母或下划线,不能为数字。
C语言标识符分如下3类(1)关键字。
它们在程序中有固定的含义,不能另作他用。
如int、for、switch等。
(2)预定义标识符。
预先定义并具有特定含义的标识符。
如define、include等。
(3)用户标识符。
用户根据需要定义的标识符,符合命名规则且不与关键字相同。
【考点7】常量与变量常量是指在程序运行过程中,其值不能改变的量。
程序设计基础C复习资料(1)

程序设计基础C复习资料(1)一、填空题。
1、微型计算机的运算器、控制器及内存储器组合在一起,称之为(D)A、ALUB、CPUC、MPUD、主机2、信息的最小单位是(A )A、bitB、byteC、KBD、word3、Windows操作系统是(C )A、单用户、单任务B、多用户、单任务C、单用户、多任务D、多用户、多任务4、下列数据中最大数是(D)A、(1010010)2B、(123.4)8C、(84.5)10D、(55)165、设有int a=3,b=-4,c=5;表达式(a<b)?a:b&&c a<="" p="">A、0B、1C、3D、46、计算机对下列几种存储器中,访问速度最快的是(A)A、内存储器B、CD-ROMC、软盘D、硬盘7、下面哪个不是系统软件(C)A、DOSB、UnixC、Visual BasicD、OS/28、退出Turbo C 2.0返回系统,在主菜单File项中可选择(D)A、LoadB、NewC、SaveD、Quit9、以指数形式输出实型数的格式说明符是(B )A、%uB、%eC、%fD、%x10、设有说明:int u=1,v=3,w=5;表达式:v &~~u|w的值是(B )A、 3B、 5C、 6D、 811、以八进制形式输出整数的格式说明符是(B)A、%oB、%dC、%xD、%u12、以八进制形式输出整数的格式说明符是(B)A、%oB、%dC、%xD、%u13、以下叙述中不正确的是(C)A、在C中,函数中自动变量可以赋初值,每调用一次,赋一次初值B、在C中,在调用函数时,实参和对应形参在类型上只需要赋值兼容C、在C中,外部变量的隐含类别是自动存储类别D、在C中,函数形参可以说明为register变量14、下列程序的输出结果是(D)main( ){int x=5,y;if(x<0)y=-1;if(x==0)y=0;y=1;printf("%d",y);}A、-5B、-1C、0D、115、下列关于函数的说明中不正确的是(A )A、函数名后面可以不要一对圆括号B、函数参数类型必须作说明C、函数形参个数可以是一个、多个或没有D、空函数被调用时不做任何工作16、若有以下定义和语句:char *s1=”12345”,*s2=”1234”;printf(“%d\n”,strlen(strcpy(s1,s2)));则输出结果是(A)A、4B、5C、9D、1017、在以下一组运算中中,优先级最高的运算符是(C)A、<=B、=C、%D、&&18、若有定义:int x,*pb?则正确的赋值表达式是(A)。
《C程序设计》复习资料知识点总结

《C程序设计》复习资料知识点总结C程序设计复习资料知识点总结C程序设计是计算机科学与技术专业中的一门基础课程,掌握好相关知识点对于学习和实践都具有重要的意义。
本文将对C程序设计的一些重要知识点进行总结和归纳,旨在帮助读者更好地复习和掌握相关内容。
一、基础概念1. 编程语言:简述编程语言的作用和分类,并着重介绍C语言的特点和优势。
2. 算法与流程控制:详细介绍算法的概念、设计方法和常见的流程控制结构,如顺序结构、分支结构和循环结构。
二、数据类型与运算符1. 数据类型:介绍C语言中的基本数据类型,如整型、浮点型和字符型,以及数组和指针等扩展数据类型。
2. 运算符:列举C语言中常用的算术运算符、逻辑运算符和关系运算符,并给出相应的使用示例。
三、函数与模块化编程1. 函数定义与调用:详细介绍函数的定义、声明和调用方法,并说明函数的重要性和作用。
2. 函数参数传递:介绍传值与传址的区别和应用场景,并对函数参数传递的相关知识进行解析。
3. 模块化编程思想:强调模块化编程的优点和原则,并介绍如何将程序分解为多个模块以便于维护和管理。
四、数组与字符串1. 数组的定义与使用:详细介绍一维数组和多维数组的定义、初始化和操作方法,并给出相应的示例代码。
2. 字符串的处理:介绍字符串的定义、初始化和常见操作方法,如字符串长度计算、字符串拷贝和字符串连接等。
五、文件操作1. 文件的打开与关闭:介绍如何在C语言中打开和关闭文件,并说明不同打开方式的区别。
2. 文件读写操作:详细介绍文件的读取和写入方法,并给出读写文件的示例代码。
六、指针与动态内存管理1. 指针的概念与应用:详细介绍指针的定义和使用方法,以及指针与数组、字符串之间的关系。
2. 动态内存分配:介绍动态内存分配的概念和原理,并说明动态内存分配的优势和注意事项。
七、结构体与文件操作1. 结构体的定义与使用:详细介绍结构体的定义和使用方法,并说明结构体与数组、指针之间的关系。
C程序设计期末复习知识点

C程序设计期末复习知识点1.C语言基础-了解C语言的历史和发展。
-了解C语言的特性,例如:面向过程、可移植性、高效性等。
-理解C语言的编译过程,包括预处理、编译、汇编和链接。
-掌握C语言的基本语法,包括变量定义、标识符命名规则、注释、运算符等。
2.数据类型-理解C语言的基本数据类型,包括整型、浮点型、字符型和布尔型。
-知道各种数据类型的取值范围和存储大小。
-理解数据类型之间的转换规则。
3.控制结构- 掌握条件语句,包括if语句、switch语句。
- 掌握循环结构,包括for循环、while循环和do-while循环。
- 了解循环控制语句,包括break和continue语句。
4.数组和指针-理解一维和多维数组,包括如何定义、初始化和访问数组元素。
-掌握指针的概念,包括如何定义和使用指针变量。
-理解指针和数组的关系,包括指针和数组之间的相互转换。
5.函数-理解函数的概念和作用,包括函数的定义、声明和调用。
-理解参数传递的方式,包括传值和传引用。
-理解局部变量和全局变量的作用域和生命周期。
-理解递归函数的原理和应用。
6.文件操作-了解文件的概念和类型。
-掌握文件的打开、关闭、读取和写入操作。
-知道如何创建文件、删除文件和改变文件属性。
-理解文件指针的使用,包括定位文件读写位置等。
7.结构体和联合体-理解结构体的概念,包括如何定义和使用结构体。
-掌握结构体成员的访问方式。
-了解联合体的概念和用途。
-知道结构体和联合体的区别。
8.动态内存分配- 了解动态内存分配和释放的方法,包括malloc、calloc和realloc函数。
-理解内存泄漏和内存溢出的概念和原因。
-知道如何使用指针来管理动态分配的内存。
9.字符串处理-理解字符串的概念,包括如何定义和使用字符串变量。
- 掌握字符串的输入和输出操作,包括fgets、fputs和printf函数。
- 掌握字符串的处理函数,包括strlen、strcpy、strcat、strcmp 等。
C程序设计总复习

第一章 程序设计基础
1、C++中的数据类型: 引用类型数据、string型数据。
2、运算符和表达式:了解 3、程序控制结构和函数:了解
第二章 类(Class)
1.对象和类:区别和联系 2.继承的各种概念:
基类或父类、派生类或子类; 单继承、多继承; 3.多态的基本概念: 函数重载和虚函数 4. 成员的访问控制权限:
public, private, protected. 5. 友元函数和友元类:
掌握概念
第三章 对象的创建和销毁
1、对象的创建: 名称、功能、调用时机、允许重载、关 系对象创建格式、默认、拷贝构造函数。
2、对象的销毁: 析构函数的含义和使用、名称、功能、 调用时机、不允许重载。
3、new和delete的用法
第八章 作用域和名字空间
1、全局变量、局部变量 2、static变量、类的static成员 3、名字空间,自定义namespace的用
法
第九章 继承
1、继承:概念,基类/派生类,分类。 2、继承方式 :各种继承规则
public,private, protected 3、派生类的构造及析构
派生类的构造函数和基类构造函数的关 系、调用顺序。父、子类的析构函数调 用顺序。 4、多继承、虚拟继承、虚基类的概念
template <class T1,class T2 > class Smp{
T1 x; T2 y; Smp(T1 a,T2 b){ x=a; y=b; } void disp( ){ cout<<x<<y<<endl; } } 使用:
void main() { Smp s(2,3);
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、填空题。
1、微型计算机的运算器、控制器及内存储器组合在一起,称之为(D)A、ALUB、CPUC、MPUD、主机2、信息的最小单位是(A )A、bitB、byteC、KBD、word3、Windows操作系统是(C )A、单用户、单任务B、多用户、单任务C、单用户、多任务D、多用户、多任务4、下列数据中最大数是(D)A、(1010010)2B、(123.4)8C、(84.5)10D、(55)165、设有int a=3,b=-4,c=5;表达式(a<b)?a:b&&c AA、0B、1C、3D、46、计算机对下列几种存储器中,访问速度最快的是(A)A、内存储器B、CD-ROMC、软盘D、硬盘7、下面哪个不是系统软件(C)A、DOSB、UnixC、Visual BasicD、OS/28、退出Turbo C 2.0返回系统,在主菜单File项中可选择(D)A、LoadB、NewC、SaveD、Quit9、以指数形式输出实型数的格式说明符是(B )A、%uB、%eC、%fD、%x10、设有说明:int u=1,v=3,w=5;表达式:v &~~u|w的值是(B )A、 3B、 5C、 6D、 811、以八进制形式输出整数的格式说明符是(B)A、%oB、%dC、%xD、%u12、以八进制形式输出整数的格式说明符是(B)A、%oB、%dC、%xD、%u13、以下叙述中不正确的是(C)A、在C中,函数中自动变量可以赋初值,每调用一次,赋一次初值B、在C中,在调用函数时,实参和对应形参在类型上只需要赋值兼容C、在C中,外部变量的隐含类别是自动存储类别D、在C中,函数形参可以说明为register变量14、下列程序的输出结果是(D)main( ){int x=5,y;if(x<0)y=-1;if(x==0)y=0;y=1;printf("%d",y);}A、-5B、-1C、0D、115、下列关于函数的说明中不正确的是(A )A、函数名后面可以不要一对圆括号B、函数参数类型必须作说明C、函数形参个数可以是一个、多个或没有D、空函数被调用时不做任何工作16、若有以下定义和语句:char *s1=”12345”,*s2=”1234”;printf(“%d\n”,strlen(strcpy(s1,s2)));则输出结果是(A)A、4B、5C、9D、1017、在以下一组运算中中,优先级最高的运算符是(C)A、<=B、=C、%D、&&18、若有定义:int x,*pb;则正确的赋值表达式是(A)。
A、pb=&xB、pb=xC、*pb=&xD、*pb=*x19、在位运算中,操作数每右移一位,其结果相当于(C )。
A、操作数乘以2B、操作数除以16C、操作数除以2D、操作数乘以1620、在多媒体计算机系统中,CD-ROM属于(D)A、感觉媒体B、表示媒体C、表现媒体D、存储媒体21、在文件使用方式中,字符串″w″表示(B )。
A、打开一个已存在的二进制文件,只能读取数据B、打开一个文本文件,只能写入数据C、打开一个已存在的文本文件,只能读取数据D、打开一个二进制文件,只能写入数据二、程序阅读题。
1.以下程序的输出结果是____0 _____。
#include <stdio.h>void main( ){int m=026,n=0x16;printf("%d\n",m-n);}2.以下程序的输出结果是____ Yes _____。
#include <stdio.h>void main(){char c='A';if ('0'<= c<='9')printf("Yes");elseprintf("No");}3.以下程序的输出结果是____ s=0,count=0 _____。
#include <stdio.h>void main(){int a[10]={2,4,0,5,10,6,8,9,6,7};int i, s=0, count=0;for(i=0;i<10;i++)if(a[i]<0){s+=a[i];count++;}elsecontinue;printf ("s=%d,count=%d\n",s,count);}4.阅读以下程序,写出此程序的结果是_____ ___。
#include<stdio.h>int add(int a,int b){int c;c=a+b;return c;}void print(int t){printf("z=%d\n",t);}void main(){int x,y,z;x=5,y=10;z=add(x,y);print(z);}5.以下程序的运行结果是 z=15 。
#include <stdio.h>void increment(){static int x=0;x+=1;printf("%d",x);}void main(){increment();increment();increment();}6.阅读程序,写出程序的输出结果 0 1 2 3 4 5 6 。
#include<stdio.h>void main( ){int a[ ]={0,1,2,3,4,5,6},*p,i;p=a;for(i=0;i<=6;i++)printf("%d ",*(p+i));printf("\n");}7.以下程序运行结果是____________。
#include "stdio.h"int fun(int a){int b=0;static int c=3;b++;c++;return (a+b+c);}void main(){int i,a=5;for(i=0;i<3;i++)printf("%d %d ",i,fun(a));printf("\n");}8. 以下程序运行结果是 0 10 1 11 2 12 。
#include "stdio.h"struct NODE{int k;struct NODE *link;};int main(){struct NODE m[5],*p=m,*q=m+4;int i=0;while(p!=q){p->k=++i; p++;q->k=i++; q--;}q->k=i;for(i=0;i<5;i++)printf("%d",m[i].k);printf("\n");return 0;}9.# include <stdio.h>main ( ){char ch;ch=getchar( );switch( ch ){case 65:printf(“%c”, ‘A’);case 66:printf(“%c”,’B’);break;default:printf(“%s\n”,”other”);}}如程序可以正常运行,当从键盘输入字母A时,输出结果为 AB 。
10、以下程序的执行结果是___s=15_________。
#include <stdio.h>main(){int a[3][3]={1,2,3,4,5,6,7,8,9},i,s=0;for(i=0;i<=2;i++)s=s+a[i][i];printf("s=%d\n",s);}三、填空题。
1.C语言数组的下标总是从___0_______开始,不可以为负数;构成数组各个元素具有相同的___数据类型_______。
2.结构化程序设计中的三种基本结构是_顺序________、__选择______、_____循环______。
3.定义int a[]={1,2,3,4,5,6},*p=a;表达式(*++p)++的值是____________。
四、程序设计题。
1、设有-11,-9,0,3,5,6,8,12,15,21十个数,请编程从键盘上输入这十个数,并计算能够被3整除的数的平均值。
#include "stdio.h"int main(){int num[10],i,sum,count;float average;for(i=0;i<10;i++){scanf("%d",&num[i]);}sum=0;count=0;for(i=0;i<10;i++){if(num[i] % 3 ==0){sum=sum+num[i];count++;}}average=sum/count;printf("%f\n",average);return 0;}2、编写程序,求所有素数并输出到屏幕,并统计其个数输出(水仙花数:是指一个3位数,其各位数字的立方和等于该数字本身。
例如,153是水仙花数,因为153=13+53+33)。
#include "stdio.h"int sxhnum(int m){int i,j,k;k=m%10;i=m/100;j=(m-i*100)/10;if(m==(i*i*i+j*j*j+k*k*k))return 1;elsereturn 0;}int main(){int i,count;count=0;for(i=100;i<=999;i++){if(sxhnum(i)==1){printf("%d ",i);count++;}}printf("\n水仙花的个数为:%d\n",count);return 0;}3、编一个求素数的函数,在主函数中将100到200之间的所求的所有素数以ASCII码的形式写到c盘根目录下test.txt文件中。
#include "stdio.h"#include "math.h"int prime(int m){int i;for(i=2;i<sqrt(m);i++){if(m%i==0){return 0;}}return 1;}int main(){FILE *p;int i,count;count=0;p=fopen("c:/text.txt","w+");for(i=100;i<=200;i++){if(prime(i)==1){fprintf(p,"%d ",i);count++;if(count%10==0){fprintf(p,"\n");}}}return 0;}4.建立一个链表,每个节点包含的成员为:学号(num),成绩(score),用malloc函数开辟新结点,链表包含10个结点,从键盘输入数据,然后把数据输出D盘test.txt文件中。