C语言资料
- 格式:doc
- 大小:81.00 KB
- 文档页数:11
选择题1、以下不是C语言基本数据类型的是D。
A.字符型B.C.整型D.构造类型2、以下B是八进制数。
A.1X12 B.123C.1001 D.01233、Turbo C中,char类型变量所占字节数是B。
A. 2 B. 1C. 3 D. 44、C语言提供的合法的数据类型关键字是B。
A.longer B.shortC.integer D.character5、C语言中运算对象必须是整型的运算符是A。
A.%= B.==C.+= D.*=6、下面关于字符串和字符常量的叙述中错误的是C。
A.字符常量由单引号括起来,字符串常量由双引号括起来B.字符常量只能是单个字符,字符串常量可以含一个或多个字符C.字符常量占一个字节的内在空间,字符串常量占的内在字节数为字符串中字符数D.可以将一个字符常量赋予一个字符变量,但不能将一个字符串常量赋予一个字符串变量7、以下程序的输出结果是D。
main(0{ int m = 10, n = 3;printf( " %d\n ", n = m / n ) ;}A.10 B.11C.13 D. 38、若以下变量均已正确说明为char类型,要给x、y和z输入数据,正确的是B。
A.scanf ( x, y, z );B.scanf ( "%c%c%c", &x, &y, &z ) ;C.scanf ( "%C%C%C", x, y, z ) ;D.scanf ( "%c%c%c", x, y, z ) ;9、以下程序的输出结果是C。
char c1, c2;c1=65; c2 = 65 + 32 + 1 ;printf ( "%c, %c ", c1, c2 ) ;A.a, B B.A, BC.A, b D.a, b10、以下程序的输出结果是C。
#include "stdio.h"#include "math.h"main(){ int a=3, b=9 ;float y, x=1.2 ;y= ( a+b ) / sqrt ( b ) * x ;printf ( "%\n", y ) ; }A. 1.000000 B. 1.400000C. 4.800000 D. 1.90000011、以下程序段的输出结果是7 6 7。
C语言从入门到精通所需的7本书作者:王霸羔子1.C primer plusC primer plus作为一本被人推崇备至的c入门经典,C primer plus绝非浪得虚名。
应该算得上C教材里最好的入门书了。
在知识广度上,很少有书能匹及。
它能为你系统学习c提供一个良好的平台。
作者对c 的见解精辟。
在娓娓叙述的同时,作者辅以大量程序以分析。
它让我对C有了更加系统的全新认识。
决非国人所写的那些公理化的教条说教,我觉得作者把自己的心血全部吐露。
书很厚,近700页,却不没有让我觉得任何的烦琐。
甚至是兴趣盎然。
我把上面所有的课后题目都做了。
最为重要的是,看完这本书后,我再也不觉得c很高深枯燥无味了。
如果你问我,你最大收获是什么。
我会告诉你,兴趣!2.The C programming language拿到这本薄薄的书,很多人开始怀疑,C语言是这么几百页能讲清楚的么。
看完这本书,我想答案已经很明了,却真的让人感到震憾。
什么是好书?无法删减的书才是真正的好书。
K&R的书一如C语言的设计理念:简单而高效里面的习题建议都认真做一遍,而且是在linux下用vi来做,用makefile来编译,用shell脚本来进行测试,本来第八章的题就是和linux 相关的计算机的大学生们不应只会在WINDOWS下用VC来编程,而都应该在linux环境下进行程序设计,因为linux本身就是为开发者准备的操作系统。
3. C和指针这本书最大的特点就是和指针结合在一起进行讲解,通过一些经典的C例题对所学的知识进行巩固,对指针的基础和深入的探讨,有助于初学者更好的理解C语言,还有明白C 的存储机制。
我之前买了《C语言详解》和《C Primer Plus》结合这本书一起学习,可以说是完美的,希望每个热爱C语言的人能够拥有这本书。
我在这里推荐给所有想学好C语言的朋友!4.C专家编程感觉这本书的特色:1.全书如一部优美的故事,但听作者娓娓道来.2.语言风趣活泼,除了c语言,还教会了我们很多做人做事的道理.3.作为Sun公司的工程师,内功极深,不迷信任何权威,还经常调侃下 ANSI C委员会,ISO组织和GNU的作品(如GCC).4.把c讲解到了一个很高的层次,深入剖析了其他书上没有提到过的好东西.5. C缺陷与陷阱很好的书,不是初级读物,但也不过于艰深,而且厚度刚刚好,让人在热情高涨阶段读完,不致于到了一半时间就气馁。
c语言期末复习资料C语言是计算机科学中非常基础的一门编程语言,是程序员必须掌握的技能之一。
由于其简单易学的特点和广泛的应用范围,越来越多的人开始学习和使用C语言。
期末考试是C语言学习过程中的重要节点,为了帮助考生顺利通过考试,本文整理了一些C语言期末复习资料以供参考。
一、基础知识1.变量和数据类型C语言中的变量用于存储程序中使用的数据,数据类型是指变量所代表的数据的类型。
常见的C语言数据类型包括整型、浮点型、字符型、布尔型等。
掌握变量和数据类型的定义和使用是C 语言学习的第一步。
2.运算符和表达式C语言中的运算符用于对变量进行运算和操作,包括算术运算符、关系运算符、逻辑运算符等。
表达式是由变量和运算符组成的代码段,用于对变量进行操作和计算。
掌握运算符和表达式的使用和规则是C语言学习的基础。
3.条件语句和循环语句条件语句和循环语句是C语言中的两种重要的控制结构。
条件语句根据条件的真假来执行不同的代码段,常见的条件语句包括if语句和switch语句。
循环语句用于重复执行同一个代码段,常见的循环语句包括for循环、while循环和do-while循环。
掌握条件语句和循环语句的使用和应用是C语言学习的重要环节。
二、进阶技巧1.字符数组和字符串字符数组和字符串是C语言中非常常用的数据类型,用于处理字符和文本。
字符数组是由若干个字符组成的数组,字符串是由若干个字符组成的字符串常量。
掌握字符数组和字符串的定义和使用,能够更好地处理文本和数据输入输出等问题。
2.函数和指针函数是C语言中的重要的模块化编程方法,函数将程序的功能分解为若干个具有特定功能的独立模块。
指针是C语言中的重要的数据类型,它存储变量的内存地址,常用于访问复杂数据结构和实现高效的内存管理。
掌握函数和指针的使用和细节能够更好地组织程序和提高程序的执行效率。
3.结构体和文件操作结构体是C语言中用于组织复杂数据结构的数据类型,常用于存储各种类型的数据记录。
一、填空题1.C语言所提供的基本数据类型包括:单精度、双精度、整型、字符型。
2.若定义int m=8,y=3;则执行y*=y+=m-=y;后y的值是64。
3.Ox10相当于八进制数20 。
4.%m.n表示数据输出的总宽度占M列,其中小数部分占N 列。
5.C语言提供的3种逻辑运算符是非、或者、与。
6.当m=3,n=4,a=5,b=1,c=2时,执行完d=(m=a!=b)&&(n=b>c)后,n的值为1,m 的值为1,d的值为0。
7. 在数组定义格式中,放括号中的元素个数是量。
8. 判断字符串a和b是否相等,应当使用strcmp函数。
9. 在C语言中不能被调用的函数是函数。
10、目前,有两种重要的程序设计方法,分别是面向对象和面向过程。
12、面向对象程序设计的三个特征:多态、继承和封装。
13、在一个C源程序中,注释部分两侧的分界符为___ * */ __ 。
14、do----while 语句至少执行____1____次循环体。
15、在C语言中,一个double型数据在内存中所占的字节数为__8___。
16、若s是unsigned int型变量且已赋初值,则表达式s%2+(s+1)%2的值是__1_______17、表达式3>4的值是___0________18、若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后,x的值为11,n的值为6。
19、若x=0,y=0,z=0,则计算表达式x++||y++&&z++后,x的值为1,y的值为1,z的值为1。
二、单项选择题1、下列各高级语言中,(B)是面向对象的程序语言。
A)Basic B)C C)C++ D)Pascal2、一个C程序的执行是从( A )。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束3、C语言规定,不同类型的数据占用存储空间的长度是不同的。
C语言期末考试复习资料C语言复习摘要一、数据类型:基本类型(整型、实型、字符型、枚举类型),构造类型(数组、结构体、共用体)、指针类型、空类型。
基本类型也叫简单类型,构造类型也叫复杂类型二、标识符:标识符只能由字母、下划线、数字构成,且必须以字母或下划线开头,且对字母的大小写敏感。
三、常量1、整型常量,如:32,0x32,0X32,0x3f,0xea,8L,8l,0672、实型常量,如:3.14,1e23,0.8E8,0.8E-8,0.8E+83、字符常量,如:‘a’,‘\n’, ‘\w’,‘\\’,‘\0’4、字符串常量,如:“windows”,“a”,(其赋值表达式和赋值语句中其本质是一个地址常量)5、地址常量,若有定义:int k,a[10];char s[20];则:&k,a,s,NULL都是地址常量6、符号常量,用宏定义实现,如:#define PAI 3.14159267、以下都是非法常量:0xfg,3.1e2.8,‘aw’,‘w\’,0x,068四、表达式(要点:先确定表达式的类型,再确定表达式的值的类型,最后确定表达式的值):1、算术表达式(应注意变量类型的自动转换——原则:低级向高级转换):(1)、整型表达式:参加运算的都是整型量,结果也是整型数。
如:x+20*9+3(2)、实型表达式:参加运算的都是实型量,运算过程中先转换成double型,结果也是double型。
如:x+20*9+3.0,x+20*9+sqrt(3)2、赋值表达式:将赋值运算符“=”右边的值赋给左边的变量,其值为赋值后左边变量的值,类型为左边变量的类型。
如:x=3(注:若x为整型变量,则该表达式的值为整型,若x实型变量,则该表达式的值为实型)3、逻辑表达式:用逻辑运算符(!,&&,||)连接的整型量,结果为整数(0或1)。
逻辑表达式可认为是整型表达式的一种特殊形式。
如:((x=3)&&(y=0))4、关系表达式:用关系运算符将两个表达式连接起来的式子,结果为整数(0或1)。
第一部分 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】常量与变量常量是指在程序运行过程中,其值不能改变的量。
单项选择题1.char *p[10];该语句声明了一个: C 。
A) 指向含有10个元素的一维字符型数组的指针变量pB) 指向长度不超过10的字符串的指针变量pC) 有10个元素的指针数组p,每个元素可以指向一个字符串D) 有10个元素的指针数组p,每个元素存放一个字符串2.在while(!x)语句中的x与下面条件表达式等价的是: D 。
A) x!=0 B) x==1 C) x!=1 D) x==03.若二维数组a有m行n列,则下面能够正确引用元素a[i][j]的为: C 。
A) *(a+j*n+i) B) *(a+i*n+j)C) *(*(a+i)+j) D) *(*a+i)+j4 union{double k;char c;float a;}test;则sizeof(test)的值是: A 。
A)8 B)1 C)4 D)135、下面程序的输出是____D_____#include<stdio.h>void main(){int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);(%o为8进制输出,%x为16进制输出)}A) k=11,k=12,k=11 B) k=11,k=13,k=13C) k=11,k=013,k=0xb D) k=11,k=13,k=B6、在下列选项中,不正确的赋值语句是____D____.(在变量说明中,不允许连续给多个变量赋初值,而赋值语句允许连续赋值。
如下述说明是错误的:)A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1;7、下面合法的C语言字符常量是_____A_____.A) '\t' B) "A" C) 65 D) A8、表达式: 10!=9的值是______D__ ___.A) true B)非零值C) 0 D) 19、C语言提供的合法的数据类型关键字是_____B___.A) Double(应该为double)B) shortC) integer(应该为int)D) Char(应该为char)10、字符(char)型数据在微机内存中的存储形式是__D__.A) 反码B) 补码C) EBCDIC码D) ASCII码11、C语言程序的基本单位是_____C______.A) 程序行B) 语句C) 函数D) 字符12、设int a=12,则执行完语句a+=a-=a*a后,a的值是_____D__A) 552 B) 264 C) 144 D) -26413、执行下面程序中的输出语句后,输出结果是__B____.#include<stdio.h>void main(){int a; printf("%d\n",(a=3*5,a*4,a+5)); }A) 65 B) 20 C) 15 D) 1014、下面程序的输出是__B________.#include<stdio.h>void main(){int x=023; (八进制)printf("%d\n",--x); }A) 17 B) 18 C) 23 D) 2415下面程序的输出的是___C______.#include<stdio.h>void main(){int x=10,y=3;printf("%d\n",y=x/y);}A) 0 B) 1 C) 3 D) 不确定的值16、已知字母A的ASCII码为十进制的65,下面程序的输出是_______A____. #include<stdio.h>void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值17、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为_D_____.A) a<>0 B) !a C) a=0 D) a18、以下程序的输出结果是__D______.#include<stdio.h>void main(){ int x=10,y=10;printf("%d %d\n",x--,--y); }A) 10 10 B) 9 9 C) 9 10 D) 10 919、设有如下定义:int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是_D_______.A) 1 B) 0 C) 4 D) 320、为表示关系x≥y≥z,应使用C语言表达式____A__.A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z)C) (x>=y>=z) D) (x>=y) & (y>=z)21、C语言中非空的基本数据类型包括__B______.(基本数据类型有整型,字符型,浮点型,枚举类型)A) 整型,实型,逻辑型B) 整型,实型,字符型C) 整型,字符型,逻辑型D) 整型,实型,逻辑型,字符型22、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y)); 上面程序片段的输出结果是___A____.A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值23、阅读下面的程序#include<stdio.h>void main(){char ch;scanf("%3c",&ch);(%3c表示输入三个字符)printf("%c",ch); (表示输出一个字符)}如果从键盘上输入 abc<回车>则程序的运行结果是__A____.A) a B) b C) c D) 程序语法出错24、阅读下面的程序#include<stdio.h>void main(){int i,j; i=010; j=9;printf("%d,%d",i-j,i+j); }则程序的运行结果是___D_____.A) 1,19 B) -1,19 C) 1,17 D) -1,1725、阅读下面的程序#include<stdio.h>void main(){int i,j,m,n; i=8;j=10; m=++i; n=j++;printf("%d,%d,%d,%d",i,j,m,n);} 程序的运行结果是____C___;A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10 D) 9,10,9,1126、已知a=12,则表达式a+=a-=a*=a的结果是__A_____.A) 0 B) 144 C) 12 D) -26427、若已定义int a,则表达式a=10,a+10,a++的值是_B__.A) 20 B) 10 C) 21 D) 1128、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j); printf("i=%d,j=%d\n",i,j); }如果从键盘上输入1234567<回车>,则程序的运行结果是____D____.A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4529、下面程序的输出结果是___D_____.#include<stdio.h>void main(){int a=-1, b=4, k;k=(++a<=0)&&(b--<=0);(如果&&前面部分为假则&&后面的部分就不被执行,如果前面部分为真则&&后面部分需要被执行)printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,330、下面叙述错误的是___D___A)一个由数据申明部分和执行语句组成。
总体上必须清楚的:1)程序结构是三种: 顺序结构 , 循环结构(三个循环结构), 选择结构(if 和switch)2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。
3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址.4)bit是位是指为0 或者1。
byte 是指字节, 一个字节 = 八个位.5)一定要记住二进制如何划成十进制。
概念常考到的:1、编译预处理不是C语言的一部分,不再运行时间。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、每个C语言程序中main函数是有且只有一个。
3、在函数中不可以再定义函数。
4、算法的是一定要有输出的,他可以没有输入。
5、break可用于循环结构和switch语句。
6、逗号运算符的级别最低。
第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了。
关键字不可以作为用户标识符号。
main define scanf printf 都不是关键字。
迷惑你的地方If是可以做为用户标识符。
因为If中的第一个字母大写了,所以不是关键字。
2)实型数据的合法形式:2.333e-1 就是合法的,且数据是2.333×10-1。
考试口诀:e前e后必有数,e后必为整数。
.3)字符数据的合法形式::'1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。
'0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。
4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节:考试时候一般会说,在16位编译系统,或者是32位系统。
碰到这种情况,不要去管,一样做题。
掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。
第一章数据类型与表达式一.知识点1. c语言的特点:①语言简洁、紧凑,使用方便、灵活;②运算符丰富;③数据结构丰富;④具有结构化控制语句;⑤语法限制不太严格,程序设计自由度大;⑥可以进行位操作,能实现汇编语言的大部分功能,能直接对硬件进行操作;⑦生成的目标代码质量高,程序执行效率高;⑧程序的移植性好。
2. C程序的组成:⑴C程序是甫函数构成的;⑵一个函数包括函数的首部(即函数的第一行)和函数体(即花括号部分);⑶函数体一般包括声明部分和执行部分;⑷一个C程序总是从main函数开始执行,从main函数结束;⑸C程序书写格式自市,一行内可以写几个语句,一个语句可以分写在多行上;⑹每个语句和数据定义的最后必须有一个分号;⑺C语言本身没有输入输出语句,是通过函数实现输入输出的;⑻可以用广……*/对C程序的任何部分作注释。
3. C语言程序的运行:源程序文件的扩展名为・c,目标程序文件的扩展名为.obj,可执行程序文件的扩展名为.exe。
4. C的数据类型:基本、构造、指针和空类型,char、int、short、long、unsigned> float> double> enum> struct> union> typedefo5. 常量与变量的概念,注意符号常量的定义与使用;6. 整型、实型、字符型常量的表示,注意整型常量的十进制、八进制、十六进制的书写。
7. 变量的定义,C的标识符包括关键字、预定义标识符、用户定义标识符;用户定义标识符的可用字符为字母、数字、下划线,第一个字符为字母或下划线。
8. 常见数据类型的取值范围,int为・32768〜+32767, unsigned int 为0~65535。
9. 转义字符:\n、\t、\b、\r、\f、\\、\\ \\ \ddd、\xhh10. 不同数值型数据的混合运算,低级类型转换为高级类型运算11・C的运算符:注意结合方向和运算的优先级12. 算术运算符:+、・、*、/、%、++、一,注意自加、减运算符分前缀和后缀两种方式。
c语⾔复习资料复习资料Ch2 数据类型、运算符与表达式1. C程序的结构:C程序是由⼀个或多个源⽂件组成,源⽂件是C程序的编译单位;源⽂件由函数组成的;⼀个程序有且仅有⼀个名字为main( )的函数;函数的定义不可嵌套,即,在⼀个函数内部不可定义另外⼀个函数;程序总是从main函数第⼀条可执⾏语句开始执⾏,在main函数结束;2.标识符合法的标识符的组成;如x1、a、max_int、_num等合法的,2x、x#等不合法,不能⽤关键字,如for、int等,最好不⽤函数名如 printf等。
关键字:查看附录B;如printf、define不是关键字;C语⾔区分⼤⼩写,故For、If等不是关键字3.常量的表⽰形式整型常量:⼗进制、⼋进制、⼗六进制。
如 028、0x2ah不合法;若整数是2个字节,则整数范围-32768-32767之间,32768(错) -037 0xaf均正确实型常量:3.0 2.3e3 2e-4正确,2e3.0错字符常量:注意转义字符,如\n、\72、\x23等均表⽰⼀个字符,如“\t\”name\\address\n”长度为15;’\38’错误字符串常量:变量定义及赋值:变量赋值时的类型应相同或兼容,如int a=3.5、float b=4、char c=97正确,但char ch=”abc”错误4.运算符及表达式运算符的功能、特点:如%要求两侧操作数均为整数;若 / 两侧操作数都是整数表⽰整除;运算符的优先级:复合运算符:如int a=3; 执⾏a+=a-=a*a; 后,a的值是-12;如:n=10,i=4,则赋值运算n%=i+1,n的值是逻辑运算符:掌握&& 和 || 的运算特点;如 i=2,j=3,k=4, if((i++) || (j++)) && k++) printf(“%d,%d,%d”,i,j,k);结果是?设a=3, b=4, c=5,表达式(1)‘a’ && ‘b’、 (2)a<=b 、a || b+c && b-c、(3)!((ab>a结果?如:c=0; 考虑,表达式c=b=a、(a=c)||(b=c)、(a=c)&&(b=c)、a=c=b能正确将c的值赋给变量a,b吗?为什么?关系运算符:注意= =与=的区别,如a=1,b=2 则if(a=3) b=0; 则b的值变化了吗?为什么?条件运算符:运算的特点如:i=1,j=2;执⾏语句n=i>j?i++:j++; 则i和j的值是5.⾃增⾃减:掌握前置与后置的运算特点;如:x=3,则表达式x++的结果是3,x的值变成4;⽽++x的结果是4,x的值也是4;-x++结果是-3,x的值变成4如:x=7,则(x++%3)结果是?6.表达式类型的转换:若char a; int b; float c; double d;则表达式 a*b+d-c 的值类型?7.逗号运算符:逗号表达式的值是最后⼀个表达式的值。
编程类题目1、公式类题目:(1)编程计算e 的值。
e=1+1/1!+1/2!+1/3!+……1/n! 。
#include "stdio.h"void main(){int n=1;double s=0.0,t=1.0;while(t>1e-6){s=s+t;t=t/n;n++;}printf("%lf\n",s);}(2)用...7/15/13/114/+-+-=π公式求圆周率的近似值。
#include "stdio.h"#include "math.h"void main(){int n=1;double s=0.0,t=1.0;while(fabs(t)>=1e-6){s=s+t;n=n+2;t=-t/n;}printf("%lf\n",s);}(3)正弦函数...!7!5!3)sin(753+-+-=x x x x x #include "stdio.h"#include "math.h"#define PI 3.1415926void main(){int n=1;double x,s=0.0,t=1.0;scanf("%lf",&x);t=x=x*PI/180;while(fabs(t)>=1e-6){s=s+t;t=-t*x*x/(n+1)/(n+2);n=n+2;}printf("%lf\n",s);}(4)余弦函数...!6!4!21)cos(642+-+-=x x x x #include "stdio.h"#include "math.h"#define PI 3.1415926void main(){int n=0;double x,s=0.0,t=1.0;scanf("%lf",&x);x=x*PI/180;while(fabs(t)>=1e-6){s=s+t;t=-t*x*x/(n+1)/(n+2);n=n+2;}printf("%lf\n",s);}(5)利用公式(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n),求圆周率的近似值。
#include "stdio.h"#include "math.h"void main(){double s=0.0;int n=1;while(1.0/n/n>=1e-6){s=s+1.0/n/n;n++;}printf("%lf\n",sqrt(6*s));}(6)利用公式计算s=1+12+123+…+(12…n),其中n需要输入指定。
当n=5时,计算s=1+12+123+1234+12345。
#include "stdio.h"void main(){int t=0,s=0,i,n;scanf("%d",&n); //此处n是可变的需输入for(i=1;i<=n;i++){t=t*10+i;s=s+t;}printf("s=%d\n",s);}(7)利用公式,输入a和n,计算并输出结果S=a+aa+aaa+...+(a...a)即n个a#include "stdio.h"void main(){int n,a,s=0,t=0;scanf("%d%d",&a,&n);while(n-->0){t=t*10+a;s=s+t;}printf("%d\n",s);}2、迭代法(1)迭代法求数字a的平方根,迭代公式如下,迭代结束的条件是|x1-x0|<0.000001。
请编程输入双精度数字a,并计算输出该数的平方根。
200 1x ax x +=#include "stdio.h"#include "math.h"void main(){double a,x0,x1;scanf("%lf",&a);x1=x0=a;do{x0=x1;x1=(x0+a/x0)/2;}while(fabs(x0-x1)>=1e-6);printf("%lf\n",x0);}3、函数及递归调用(1)函数定义、调用(2)指向函数的指针等(3)设计min函数,对输入的a、b两个整型参数,返回其中的最小值。
利用main函数调用该函数,并输出结果。
函数声明如下:int min(int a,int b)。
#include "stdio.h"void main(){int min(int,int);int a,b;scanf("%d%d",&a,&b);printf("min=%d\n",min(a,b));}int min(int a,int b){return(a<b?a:b);}(4)编写程序实现如下功能:在main函数中以字符格式输入一串整型数字,调用自定义函数change转换为数字,并在main函数中输出转换结果。
如输入"12345",则main函数调用结束后输出数字12345。
函数说明为:long change(char s[])#include "stdio.h"void main(){long change(char s[]);char s[10];gets(s);printf("%ld\n",change(s));}long change(char s[]){long sum=0,t=0,i=0;while(s[i]!='\0'){t=s[i]-'0';sum=sum*10+t;i++;}return(sum);}(5)输入正整数n,求n!。
#include "stdio.h"void main(){long jiecheng(int n); //函数声明int n;scanf("%d",&n);printf("%d!=%ld\n",n,jiecheng(n));}long jiecheng(int n){if(n==1)return(1);elsereturn(n*jiecheng(n-1));}(6)已知fibonacci数列如下:1 1 2 3 5 8 13 21 …,即前2项的值均为1,其余项的值为前2项值的和,请编程输出该数列的前20项数值。
#include "stdio.h"void main(){long f(int n); //函数声明int i,j,n,k=1;scanf("%d",&n); //输入项数for(i=0;i<=n/5;i++) //输出行数,每行显示5列{for(j=0;j<5;j++,k++){printf("%8d",f(k));if(k==n) //整倍数的行外循环的"="失效break;}printf("\n");if(k==n) //整倍数的行外循环的"="失效break;}}long f(int n){if(n==1 || n==2)return(1);elsereturn( f(n-1) + f(n-2) );}(7)已知组合计算公式如下,请编程输入m 和n 的值,请用函数递归调用方法计算并输出结果。
⎪⎩⎪⎨⎧+==>=)()0(1)(01-1-1-其他或n m n m n m C C n m n m n C #include "stdio.h"void main(){long f(int m,int n); //函数声明int m,n;scanf("%d%d",&m,&n); //输入项数if(n>m)printf("0\n");elseprintf("%ld\n",f(m,n));}long f(int m,int n){if(n==0 || n==m)return(1);elsereturn( f(m-1,n) + f(m-1,n-1) );}(8)迭代函数的其他应用参考以上迭代程序,注意要根据迭代公式利用多分枝选择结构完成。
4、顺序结构程序(1)编写程序,在main函数中实现大小写字符的转换并输出转换结果。
(2)输入三角形三个边,判断是否构成三角形,若构成则输出三角形的面积,若不构成三角形则输出提示信息。
其中,求三角形面积的公式:lllbs+a==:其中---+l)(*)()/2c(*)l(*clab5、选择结构(1)输入月份号,输出该月的英文月份名。
#include "stdio.h"void main(){char*a[12]={"January","February","March","April","May","June","July","August","September","O ctober","November","December"};int i;scanf("%d",&i);if(i<1||i>12)printf("input error\n");elseprintf("%s\n",a[i-1]);}(2)输入年,月,日,计算该天是该年的第多少天。
(3)分段函数类⎪⎩⎪⎨⎧>-+-<=<-++-<=-=)5(5*4)52(1*6)2(3)(232x x x x x x x x x x f 编写程序实现数据的输入和输出。
(该类题型采用多分枝选择结构,如:if …else if …else if … else )(4)大小写字符的转换6、数组(1)冒泡排序,简单选择排序,插入排序(2)顺序查找,二分查找(3)一维数组、二维数组元素的赋值、计算、输出、元素的循环访问(4)字符数组的应用,求字符串的长度,字符串连接,字符串排序求字符串长度#include "stdio.h"#define N 100void main( ){char x[N];int i=0;gets(x);while(x[i]!='\0')i++;printf("len=%d\n",i);}字符串连接程序#include "stdio.h"#define N 100void main( ){char x[N],y[N]; //y 字符串追加到x 之后int i=0,j=0;gets(x); //输入第一个字符串gets(y); //输入第二个字符串while(x[i]!='\0')i++;while(y[j]!='\0')x[i++]=y[j++];x[i]='\0';printf("%s\n",x);}(5)数组元素的前后倒置(6)十进制向二进制、十六进制的转换(7)从字符数组中删除指定字符。