




免费预览已结束,剩余167页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言二级辅导重庆市计算机二级等级考试C语言程序设计内部培训教材2010年10月165目 录第一部分 考试大纲1第二部分 考纲精解1一、C程序基础11.C程序的基本结构12.c语言的基本数据类型23.C语言中的表达式运算64.不同类型数据混合运算及数据转换95C程序的输出-最基本的输出函数(printf ,putchar)106C程序的输入-最基本的输出函数(scanf ,getchar)117常用数学类标准库函数的简单应用12C程序基础练习题目12二、C程序的基本控制结构241.C程序控制结构中的条件表示方法242.分支结构程序设计253、循环结构程序设计284.c语言种的其他简单控制结构315c语言控制结构应用举例32C程序的基本控制结构练习题33三、函数与程序结构461函数的定义与调用462.C程序结构与变量的作用域和生存期493编译预处理51函数与程序结构练习题52四、指针与函数621.指针变量的定义和引用622. 指针变量做函数的参数643.函数的指针64指针和函数练习题65五、数组及简单应用781、一维数组782、二维数组和多维数组(以二维数组为主)803.数组的简单应用81数组及简单应用练习题83六、字符数据、字符串(字符数组)数据及其简单应用951.C语言字符串的表示方法952、字符串的常用处理方法973.常用字符和字符串处理标准库函数98七、指针与数组991、多级指针的定义和使用方法992、一维数组和指针的关系及简单应用1003、二维数组与指针的关系和简单应用1014、指针数组与命令行参数102字符数据、字符串及指针与数组练习题105八、结构体数据类型的应用1111结构体数据类型的基本概念1112、结构体数组(只要求一维结构体数组)1153、结构体数据类型的简单应用117九、联合体数据类型的应用1211.联合体数据类型的定义和变量的引用方法121结构体联合体(共用体)练习题122十、位运算与枚举类型1311、位运算1312.枚举132位运算及枚举类型练习题133十一、文件概念及简单应用1351C语言中文件处理的基本概念1352文件处理1373.文件的简单应用140文件练习题141第三部分 C语言常用经典算法举例147第一部分 考试大纲一、C程序基础1.C程序的基本结构1) C源程序的组成部分(主函数的重要性);2) C语言的基本结构(字符集、标识符、保留字等);3) 注释语句的作用和用法;2.C语言的基本数据类型1)基本数据类型(内置数据类型)常量的表示方法;2)变量的定义和初始化;3.C语言中的表达式运算 1)运算符优先级别和结合性规则; 2)算术运算符和算术表达式; 3)赋值运算符和赋值表达式; 4)自反运算符; 5)自增、自减运算符; 6)逗号运算符和逗号表达式; 7)Sizeof运算符;4.不同类型数据混合运算及数据转换 1)不同数据类型隐式转换; 2)不同数据类型显式转换;5.C程序的输出-最基本的输出函数(printf、putchar);6.C程序的输入-最基本的输入函数(scanf、getchar)7.常用数学类标准库函数的简单应用 包括:abs ,fabs, fmod ,sin ,cos ,tan ,exp,pow,log,lgo10,sqrt;二、C程序的基本控制结构1C程序控制结构中的条件表达式 1)关系运算符和关系表达式运算; 2)逻辑运算符和逻辑表达式运算;2分支结构程序设计 1)if语句与程序的单分支结构; 2)if else 语句与程序的双分支结构; 3)条件运算符与条件表达式; 4)复合语句及其在程序中的使用; 5)if 语句的嵌套与程序的多分支结构; 6)switch语句与程序的多分支结构;3.循环结构程序设计 1)While型循环结构; 2)do while型循环结构; 3)for 型循环结构; 4)空语句及其在程序中的使用; 5)循环的嵌套;4.C语言中的其他简单控制结构 1)break语句的使用方法; 2)continue语句的使用方法;5C语言控制结构举例 1)累加、累乘、最大公约数、最小公倍数、阶乘、素数等简单问题求解方法; 2)穷举思想及程序实现; 3)迭代思想及程序实现(其中包括:一元高阶方程求根的二分迭代解法);三、函数与程序结构1函数的定义与调用; 1)函数的定义、函数的声明、函数的调用和函数的返回值(包括基本类型、空类型); 2)函数调用时的值参数传递; 3)函数的嵌套调用; 4)函数的递归调用; 5)简单问题的递归函数设计(例如:阶乘、fibonacci数列、整形数据的数字拆分处理等);2.C程序结构与变量的作用域和生存期1)C程序的一般结构;2)变量的作用域(全局变量的定义和使用、局部变量的定义和使用);3)变量的生存期(存储类别符extern和static对全局变量的作用;存储类别符auto和static对局部变量的作用) ;3编译预处理1)宏定义预处理语句的概念和简单应用(包括带参和不带参宏定义);2)文件包含预处理语句的使用方法。;四、指针和函数1.指针变量的定义和引用 1)指针变量的定义、初始化和赋值; 2)指针变量的引用; 3)C语言中的地址运算;2. 执指针变量做函数的参数 1)函数调用时的地址值参数传递; 2)指针变量与被指针指向变量的区别;3.函数的指针 1)指向函数指针变量的定义; 2)用指向函数的指针变量来调用函数; 3)指向函数的指针变量做函数参数; 4)返回指针值的函数;五、数组及简单应用1.一维数组 1)一维数组的定义方法; 2)一维数组的初始化方法; 3)一维数组元素的引用方法; 4)一维数组做函数的参数;2.二维数组和多维数组(以二维数组为主) 1)二维数组、多维数组的定义方法; 2)二维数组、多维数组的初始化方法; 3)二维数组、多维数组元素的引用方法; 4)二维数组做函数的参数;3.数组的简单应用 1)数组元素值的随机生成方法(标准库函数srand、rand和time的使用方法); 2)常用排序方法(冒泡排序法和选择排序法); 3)常用查找方法(直接查找法和二分查找法);六、字符数据、字符串(字符数组)数据及其简单应用1.C语言字符串的表示方法 1)字符串(字符数组)的定义和初始化方法; 2)字符串数据的输入方法(Scanf函数和gets函数的使用); 3)字符串数据的输出方法(Printf函数和Puts函数的使用);2.字符串的常用处理方法 1)字符类别的判断方法和大小写字母的转换方法; 2)字符串中的有效字符的统计方法; 3)字符串的复制方法; 4)字符串的连接方法; 5)字符串中字符的查找、插入和删除方法; 6)字符串中子串的查找、插入和删除方法;3.常用字符和字符串处理标准库函数包括:isalpha,isdigit,isalnum,isspace,isupper,islower,toupper,tolower,strlen,strcpy,strcat,strcmp,strchr,strstr,atoi,atol,atof;七、指针与数组1、多级指针的定义和使用方法2、一维数组和指针的关系及简单应用 1)用指向一维数组的指针变量表示数组元素地址和数组元素值的方法; 2)一维数组简单应用的指针变量表示和处理方法(常用的排序和查找方法);3、二维数组与指针的关系和简单应用 1)用指向二维数组的指针变量表示数组元素地址和数组元素值的方法; 2)指向若干元素构成数组的指针变量定义方法和简单使用;4、指针数组与命令行参数 1)指针数组的定义、初始化和简单应用; 2)命令行参数的概念和简单应用;八、结构体数据类型的应用1结构体数据类型的基本概念 1)结构体类型的定义方法; 2)关键字typedef的简单应用; 3)结构体变量的引用和输入输出方法; 4)结构体变量做函数参数的使用方法; 5)结构体作函数的返回值类型; 6)结构体类型变量与指针的关系和通过指针变量处理结构体类型数据的方法;2、结构体数组(只要求一维结构体数组) 1)结构体数组的定义和数组元素引用; 2)结构体数组做函数的参数; 3)结构体类型数组与指针的关系和通过指针变量处理结构体类型数组的方法;3、结构体数据类型的简单应用1)用于存储分配的标准库函数(包括:malloc,realloc,free);2)单链表的概念和创建;3)单链表的遍历方法;4)单链表中结点的插入方法;5)单链表中结点的删除方法;九、联合体数据类型的应用1.联合体数据类型的定义和变量的引用方法2联合体类型与结构体类型的区别十、位运算与枚举类型1、位运算1)位运算的概念和位运算符;2)位运算应用;3)位段的概念、定义方法和位段变量的引用方法;2.枚举 1)枚举的概念、枚举变量的定义方法; 2)枚举数据的简单应用;十一、文件概念及简单应用1. C语言中文件处理的基本概念1) 文件的概念和文件类型指针;2) 文件的打开与关闭的概念和方法(fopen函数和fclose函数的使用方法);2. 文件处理3) 文件内部记录指针(读写指针)的概念和文件尾的判别方法(Eof和Feof函数的使用);4) 文件中单个字符的读写操作(fgetc函数和fputc函数的使用);5) 文件中字符串读写操作(fgets函数和fputs函数的使用);6) 文件中的格式化读写操作(fscanf函数和Fprintf函数的使用);7) 文件中的数据块读写操作(fread函数和fwrite函数的使用);8) 文件内部记录指针(读写指针)的移动和定位(fseek函数和ftell函数的使用);3. 文件的简单应用9) 文件的随机读写;10) 文件内容按指定要求进行合并的方法;11) 文件内容拷贝的处理方法;12) 文件内容比较的处理方法;第二部分 考纲精解一、C程序基础1.C程序的基本结构1)c源程序的组成成分我们首先看一个例子:/* example1.1 calculate the sum of a and b*/#include /* This is the main program */main() int a,b,sum; a=10; b=24; sum=add(a,b); printf(”sum= %dn,sum);/* This function calculates the sum of x and y */int add(int x,int y) int z; z=x+y; return(z);不难看出,这个程序的功能主要完成两个整数的累加。从这个例子中我们要总结的是: 程序由一个或多个函数组成,至少包含main函数,当然主函数可以是什么都不做的空函数。 必须有且只能有一个主函数main(),这里需要注意的是,无论这个C工程有多少个C源文件组成,在所有的源文件中,有且仅有一个main函数。程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。无论main函数的初始位置在哪里。include称为文件包含命令,.源程序中可以有预处理命令(include 命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面。扩展名为.h的文件称为头文件 每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“”之后不能加分号。 c程序书写格式自由,一行内可以写几个语句,一个语句可以写在多行上。注意c语言没有续行符。书写应遵循的规则从书写清晰,便于阅读,理解,维护的角度出发,在书写程序时应遵循以下规则: 一个说明或一个语句占一行。 用 括起来的部分,通常表示了程序的某一层次结构。一般与该结构语句的第一个字母对齐,并单独占一行。 低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。 在编程时应力求遵循这些规则,以养成良好的编程风格。2)c语言的基本元素1.标识符 在程序中使用的变量名、符号常量名、文件名、函数名、数组名、类型名等统称为标识符。除库函数的函数名由系统定义外,其余都由用户自定义。C 规定,标识符只能是字母(AZ,az)、数字(09)、下划线组成的字符串,并且其第一个字符必须是字母或下划线。 以下标识符是合法的:a, x, x3, BOOK_1, sum5 以下标识符是非法的: 3s 以数字开头 s*T 出现非法字符* -3x 以减号开头 bowy-1 出现非法字符-(减号) 在使用标识符时还必须注意以下几点: (1)标准C不限制标识符的长度,但它受各种版本的C 语言编译系统限制,同时也受到具体机器的限制。例如在某版本C 中规定标识符前八位有效,当两个标识符前八位相同时,则被认为是同一个标识符。 (2)在标识符中,大小写是有区别的。例如BOOK和book 是两个不同的标识符。(3)标识符虽然可由程序员随意定义,但标识符是用于标识某个量的符号。因此,命名应尽量有相应的意义,以便于阅读理解,作到“顾名思义”。2.关键字32个关键字:(由系统定义,不能重作其它定义)auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef unsigned union void volatile while在命名标识符的时候不要跟关键字重名,也不要跟常用的库函数重名,例如:printf,scanf等3.注释语句的作用和用法 行注释:/ 注释内容为从/开始到本行语句结束 块注释:/* . */可以注释多行语句注释 例:/*This is the main /* of example1.1*/ */ 本行有错/* */为注释,不能嵌套 注释不产生编译代码2.c语言的基本数据类型 1)基本数据类型、常量的表示方法C语言中的数据类型如下图所示: 整形 字符型 单精度型基本数据类型 实型 双精度型 枚举类型 数组类型 数据类型 构造数据类型 结构体类型 共用体类型 指针类型 空类型基本数据类型包括: 类型说明符字节数值范围字符型char1C字符集基本整型int2-3276832767短整型short int2-3276832767长整型long int4无符号型unsigned2065535无符号长整型unsigned long4单精度实型float4双精度实型double8要求常用的基本数据类型符、字节数、数值范围一定要牢记!常量的定义:程序运行时其值不能改变的量称为常量,常量包括 :符号常量和直接常量,符号常量一般通过预定义来表示的常量,其一般形式为: #define 标识符 常量。直接常量又包括如下四种类型的常量: 整型常量 十进制常量:数字的有效范围0-9; 八进制常量:数字的有效范围:0-7。数字必须以0开头 如:012,067等。 十六进制常量:数字的有效范围:0-f,必须以0x开头,如:0x123,0x456等。 二进制与八进制与十六进制之间的高效转换。 实型常量 十进制数形式:由数码0 9和小数点组成。例如:0.0,.25,5.789,0.13,5.0,300.,-267.8230等均为合法的实数。指数形式:由十进制数,加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。其一般形式为a E n (a为十进制数,n为十进制整数)。 以下不是合法的实数 345 (无小数点)E7 (阶码标志E之前无数字) -5 (无阶码标志)53.-E3 (负号位置不对)2.7E (无阶码) 字符常量 字符常量有以下特点: 字符常量只能用单引号括起来,不能用双引号或其它括号。 字符常量只能是单个字符,不能是字符串。 字符串常量字符常量由单引号括起来,字符串常量由双引号括起来。 字符常量只能是单个字符,字符串常量则可以含一个或多个字符。可以把一个字符常量赋予一个字符变量,但不能把一个字符串常量赋予一个字符变量。在语言中没有相应的字符串变量。这是与BASIC 语言不同的。但是可以用一个字符数组来存放一个字符串常量。在数组一章内予以介绍。字符常量占一个字节的内存空间。字符串常量占的内存字节数等于字符串中字节数加1。增加的一个字节中存放字符0 (ASCII码为0)。这是字符串结束的标志。2)变量的定义和初始化概念:其值可以改变的量。变量名实际上是一个物理地址的名称,而变量值是该地址的存储值。变量定义的一般格式: 数据类型 变量1,变量2,变量n;变量初始化:定义时赋初值 变量的使用:先定义,后使用变量定义位置:一般放在函数开头 /函数局部变量,涉及知识点 变量的作用范围变量的分类包括:整形变量: 分类:类型说明符数的范围字节数int-3276832767 即-215(215-1)2unsigned int065535 即0(216-1)2short int-3276832767 即-215(215-1)2unsigned short int065535 即0(216-1)2long int-21474836482147483647即-231(231-1)4unsigned long04294967295 即0(232-1)4 变量占字节数随机器不同而不同,一般占一个机器字,一般shortintlong,变量的存储范围,随其占用的字节数变大而增大。可用sizeof(类型标识符)测量在某种c环境下该类型变量所占用的字节数。 例: unsign b=32768; int a=b; printf(“%d”,a);实型变量float:占4字节,提供7位有效数字double:占8字节,提供1516位有效数字 long double:占16个字节。例1:int a=2;float b=2.0;printf(“%f%f”,a,b);输出a,b的结果。例2:main() float a; double b; a=33333.33333; b=33333.33333333333333; printf(%fn%fn,a,b); 解析:l 从本例可以看出,由于a 是单精度浮点型,有效位数只有七位。而整数已占五位,故小数二位后之后均为无效数字。lb 是双精度型,有效位为十六位。但Turbo C 规定小数后最多保留六位,其余部分四舍五入。字符型变量字符变量存放字符ASCII码,占一个字节,只能存放0-255范围内的整数。char与int数据间可进行算术运算例:char a=65;a+=1;printf(“%c”,a);程序的输出结果为B;注意:没有字符串变量,字符串用字符数组存放,字符串常量是用“”括起的字符序列,字符串长度表示字符串中所包含的字符的个数,字符串所占内存长度,是指字符串在内存中所占字节数的长度,它等于字符串长度+1。字符串的初始化一般为 char a=”adfasb”; 例:char a5=”adsdd”; printf(“%s”,a); 此时的输出结果为?转义字符:常用的转义字符及其含义转义字符转义字符的意义ASCII代码n回车换行10t横向跳到下一制表位置9b退格8r回车13 原行回车f走纸换页12反斜线符92单引号符39”双引号符34a鸣铃7ddd13位八进制数所代表的字符xhh12位十六进制数所代表的字符例:#includevoid main() int a,b,c; a=5; b=6; c=7; printf(“ ab ctderfn”);printf(“hijktLbMn”);3.C语言中的表达式运算1)运算符优先级别和结合性规则优先级运算符结合规则1 ( ) - . 从左至右2! + - - * & sizeof从右至左3* / %从左至右4+ -从左至右5从左至右6 =从左至右7= !=从左至右8&从左至右9从左至右10|从左至右11&从左至右12|从左至右13? :从右至左14= += -= *= /= %= &= = |= = =从右至左15,从左至右2)算术运算符和算术表达式 算术运算符用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(+)、自减(-)共七种。 注意除(/)运算符。除运算符包含了整除与浮点除,具体采用哪种除法,与除数和被除数的以及用于保存结果的变量的类型有关。如果为浮点除,则结果为双精度型。 例: #includevoid main()printf(nn%d,%dn,20/7,-20/7);printf(%f,%fn,20.0/7,-20.0/7);双目运算具有左结合性。参与运算量均为整型时,结果也为整型,舍去小数。如果运算量中有一个是实型,则结果为双精度实型。 printf(nn%d,%dn,20/7,-20/7);printf(%f,%fn,20.0/7,-20.0/7);本例中,20/7,-20/7的结果均为整型,小数全部舍去。而20.0/7和-20.0/7由于有实数参与运算,因此结果也为实型。 算术表达式是由算术运算符和括号连接起来的式子34种运算符关系运算符: = !=逻辑运算符:! & |位运算符 : | &赋值运算符:= 及其扩展条件运算符:?:逗号运算符:,指针运算符:* &求字节数 :sizeof强制类型转换:(类型)分量运算符:. -下标运算符:其它 :( ) -3)赋值运算符和赋值表达式简单赋值运算符符号: =格式: 变量标识符=表达式作用:将一个数据(常量或表达式)赋给一个变量复合赋值运算符种类:+= -= *= /= %= = = &= = |=含义: exp1 op= exp2 相当于 exp1 = exp1 op exp2说明1:结合方向:自右向左优先级: 14左侧必须是变量,不能是常量或表达式赋值转换规则:使赋值号右边表达式值自动转换成其左边变量的类型a=b=c=5 /表达式值为5,a,b,c值为5 a=(b=5) / b=5;a=5 a=5+(c=6) /表达式值11,c=6,a=11 a=(b=4)+(c=6) /表达式值10,a=10,b=4,c=6 a=(b=10)/(c=2) /表达式值5,a=5,b=10,c=2说明2:结合方向:自右向左优先级: 12 左侧必须是变量,不能是常量或表达式赋值转换规则:使赋值号右边表达式值自动转换成其左边变量的类型,赋值表达式的值与变量值相等,且可嵌套例a=12; a+=a-=a*a /a=-264 等价于a=a+(a=a-(a*a)赋值类型不同转换规则如果赋值运算符两边的数据类型不相同, 系统将自动进行类型转换,即把赋值号右边的类型换成左边的类型。具体规定如下:1.实型赋予整型,舍去小数部分。2.整型赋予实型,数值不变,但将以浮点形式存放, 即增加小数部分(小数部分的值为0)。3.字符型赋予整型,由于字符型为一个字节, 而整型为二个字节,故将字符的ASCII码值放到整型量的低八位中,高八位为0。4.整型赋予字符型,只把低八位赋予字符量。4)自反运算符“-”为单目运算符时,右结合性5)自增、自减运算符作用:使变量值加1或减1种类:前置 +i, -i (先执行i+1或i-1,再使用i值)后置 i+,i- (先使用i值,再执行i+1或i-1)例 j=3; k=+j; /k=4,j=4 j=3; k=j+; /k=3,j=4 j=3; printf(“%d”,+j); /4 j=3; printf(“%d”,j+); /3 a=3;b=5;c=(+a)*b; /c=20,a=4 a=3;b=5;c=(a+)*b; /c=15,a=4说明:+ - 不能用于常量和表达式,如5+,(a+b)+ -结合方向: 自右向左优先级:- + - -* / % -+ - (2) (3) (4) 例:#includevoid main int i=8; printf(%dn,+i); printf(%dn,-i); printf(%dn,i+); printf(%dn,i-); printf(%dn,-i+); printf(%dn,-i-); 讲解: i的初值为8,第2行i加1后输出故为9;第3行减1后输出故为8;第4行输出i为8之后再加1(为9);第5行输出i为9之后再减1(为8) ;第6行输出-8之后再加1(为9),第7行输出-9之后再减1(为8)。 例:#includevoid main() int i=5,j=5,p,q; p=(i+)+(i+)+(i+); q=(+j)+(+j)+(+j); printf(%d,%d,%d,%d,p,q,i,j); 讲解: 这个程序中,对P=(i+)+(i+)+(i+)应理解为三个i相加,故P值为15。然后i再自增1三次相当于加3故i的最后值为8。而对于q 的值则不然,q=(+j)+(+j)+(+j)应理解为q先自增1,再参与运算,由于q自增1三次后值为8,三个8相加的和为24,j的最后值仍为8。6)逗号运算符和表达式形式:表达式1,表达式2,表达式n结合性:从左向右优先级: 15逗号表达式的值:等于表达式n的值用途:常用于循环for语句中例:#include void main() int x,y=7; float z=4; x=(y=y+6,y/z); printf(x=%dn,x);运行结果:x=37)sizeof运算符求取变量类型所占用的字节数,多用于数组做参数的函数传递中4.不同类型数据混合运算及数据转换1)不同数据类型隐式转换隐式转换什么情况下发生?运算转换-不同类型数据混合运算时赋值转换-把一个值赋给与其类型不同的变量时输出转换-输出时转换成指定的输出格式函数调用转换-实参与形参类型不一致时转换运算转换规则:不同类型数据运算时先自动转换成同一类型char short -int -unsigned-long -double 由低字节向高字节转换。2)不同数据类型显示转换一般形式:(类型名)(表达式) 例: (int)(x+y) (int)x+y (double)(3/2) (int)3.6 说明:强制转换得到所需类型的中间变量,原变量类型值保持不变 5C程序的输出-最基本的输出函数(printf ,putchar) 格式: putchar( c )参数: c为字符常量、变量或表达式功能:把字符c输出到显示器上返值:正常,为显示的代码值;出错,为EOF(-1)C可以为整型变量 字符型变量 整型常量 字符型常量 例: #includevoid main() char c; int d; c=B; d=67; putchar(d); putchar(c); putchar(n); putchar(67); putchar(B); 格式输出函数 printf函数printf函数调用的一般形式为: printf(“格式控制字符串”,输出表列) 功能:按指定格式向显示器输出数据返值:正常,返回输出字节数;出错,返回EOF(-1)输出表:要输出的数据(可以没有,多个时以“,”分隔)格式控制串:包含两种信息格式说明: %修饰符格式字符 ,用于指定输出格式普通字符或转义序列:原样输出格式字符6C程序的输入-最基本的输出函数(scanf ,getchar) getchar( )函数功能:从标准输入设备(键盘)读入一个字符。调用形式: getchar( ); 无参数,程序运行,在键盘输入一个字符后,按回车,程序执行下一语句。例#include stdio.hvoid main() char c; int d; c=getchar( ); d=getchar( ); putchar(c); putchar(d); putchar(n);scanf函数的一般形式scanf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中,与printf函数相同,语言也允许在使用scanf函数之前不必包含stdio.h文件。scanf函数的一般形式为: scanf(“格式控制字符串”,地址表列);其中,格式控制字符串的作用与printf函数相同,但不能显示非格式字符串,也就是不能显示提示字符串。地址表列中给出各变量的地址。地址是由地址运算符“&”后跟变量名组成的。例如:&a, &b分别表示变量a和变量b 的地址。这个地址就是编译系统在内存中给a,b变量分配的地址。在语言中,使用了地址这个概念,这是与其它语言不同的。 应该把变量的值和变量的地址这两个不同的概念区别开来。变量的地址是C编译系统分配的,用户不必关心具体的地址是多少。变量的地址和变量值的关系如下:在赋值表达式中给变量赋值,如: a=567 则,a为变量名,567是变量的值,&a是变量a的地址。但在赋值号左边是变量名,不能写地址,而scanf函数在本质上也是给变量赋值,但要求写变量的地址,如&a。 这两者在形式上是不同的。&是一个取地址运算符,&a是一个表达式,其功能是求变量的地址。7常用数学类标准库函数的简单应用包括:abs,fabs,fmod,sin,cos,tan,exp,pow,log,log10,sqrtabs(x) 求整数x的绝对值 ,参数可以为整数也可以为浮点数,只不过结果只取整数部分。fabs(x) 参数为double 返回值为doublefmod(doublex,double y) 求整除x/y的余数 返回余数的双精度double sin(double x) 计算sinx的值 计算结果 x单位为弧度同理cos,tandouble exp(double x) double pow(double x,double y) 计算xy的值double log(double x) 以e为底的x的对数值double sqrt(x) x=0C程序基础练习题目-00年4月国家c二级-(1) 以下说法中正确的是( c )。 A) C语言程序总是从第一个函数开始执行 B) 在C语言程序中,要调用的函数必须在main()函数中定义 C) C语言程序总是从main()函数开始执行 D) C语言程序中的main()函数必须放在程序的开始部分(2) 以下叙述不正确的是( d )。A)一个C源程序可由一个或多个函数组成;B) 一个C源程序必须包含一个main函数;C) C程序的基本组成单位是函数;D) 在C程序中,注释说明只能位于一条语句的后面(3) 和十进制数225相等的二进制数是( )。A) 11101110 B) 11111110 C) 10000000 D) 11111111(4) 设有 int x=11; 则表达式 (x+ * 1/3) 的值是( a )。A) 3 B) 4 C) 11 D) 12(5) 下列程序的输出结果是(c)。A) 3 B) 3.2 C) 0 D) 3.07void main() double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf(%d n, d*y);(6) 下列程序执行后的输出结果是(小数点后只写一位)( a)。A) 6 6 6.0 6.0 B) 6 6 6.7 6.7C) 6 6 6.0 6.7 D) 6 6 6.7 6.0void main() double d; float f; long l; int i;i=f=1=d=20/3;printf(%d %ld %f %f n, i,l,f,d);(7) 下列变量定义中合法的是( a)。A) short _a=1-.le-1; B) double b=1+5e2.5;C) long do=0xfdaL; D) float 2_and=1-e-3;(8) 设 int x=1, y=1; 表达式(!x|y-)的值是( )。A) 0 B) 1 C) 2 D) -1(9) 下列程序执行后的输出结果是( b)。A) G B) H C) I D) Jvoid main() int x=f; printf(%c n,A+(x-a+1); (10) 执行下面的程序段后,变量k中的值为( a)。A) 不定值 B) 33 C) 30 D) 10int k=3, s2;s0=k; k=s1*10;(11) 下列程序的运行结果是( b)。A) a=%2,b=%5 B) a=2,b=5C) a=d, b=d D) a=%d,b=%d#include void main() int a=2,c=5;printf(a=%d,b=%dn,a,c); (12) 设有数组定义: char array =China; 则数组 array所占的空间为( c)。A) 4个字节 B) 5个字节 C) 6个字节 D) 7个字节(13) 设 int b=2;表达式(b2)/(b1)的值是( a)。A) 0 B) 2 C) 4 D) 8(14) 下列程序执行后的输出结果是( )。A) -32767 B) FFFEC) -1 D) -32768#includevoid main() char x=0xFFFF; printf(%d n,x-); (15) 语句printf(abrehiyboun);的输出结果是( c)。A) abrehiybou B) abrehiybouC) rehiyou D) abrehiybou(说明:b是退格符)(16) 设已有定义: char *st=how are you; 下列程序段中正确的是( )。A) char a11, *p; strcpy(p=a+1,&st4);B) char a11; strcpy(+a, st);C) char a11; strcpy(a, st);D) char a, *p; strcpy(p=&a1,st+2);(17) 下列程序执行后的输出结果是(b )。A) 6 B) 8 C) 10 D) 12#define MA(x) x*(x-1)vo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 甘肃医学院《教育技术与传播》2024-2025学年第一学期期末试卷
- 华中师范大学《设计基础(2)》2024-2025学年第一学期期末试卷
- 宁夏财经职业技术学院《网络技术应用与开发》2024-2025学年第一学期期末试卷
- 山东体育学院《微技术概论》2024-2025学年第一学期期末试卷
- 天津生物工程职业技术学院《绿色建筑概论》2024-2025学年第一学期期末试卷
- 池州学院《数字栏目包装技巧》2024-2025学年第一学期期末试卷
- 宁波大学科学技术学院《Pthon基础》2024-2025学年第一学期期末试卷
- 天津开发区职业技术学院《建筑力学与结构形式》2024-2025学年第一学期期末试卷
- 长沙卫生职业学院《高级软件工程》2024-2025学年第一学期期末试卷
- 广西师范大学《场景特效》2024-2025学年第一学期期末试卷
- 现场调试合同协议书模板
- 钢结构门头专项施工方案
- 诚通证券股份有限公司招聘笔试题库2025
- 船务公司船舶管理制度
- 组织部单位档案管理制度
- 植物源蛋白替代技术-洞察及研究
- 2025年湖南省中考英语试卷真题(含答案)
- 南京城墙介绍
- 应急管理十五五思路
- 提高护理文书书写合格率
- 辅警招聘公安基础知识考试题库及答案
评论
0/150
提交评论