文档库 最新最全的文档下载
当前位置:文档库 › c++集锦2

c++集锦2

c++集锦2
c++集锦2

用static声明静态局部变量

有时希望函数中的局部变量的值在函数调用结束后不消失而保留原值,下次改函数调用时,该变量保留上一次函数调用结束时的值,就指定该局部变量为静态局部变量。

静态局部变量的值

#include

using namespace std;

int f(int a)

{

auto int b=0;

static int c=3; //定义C为静态局部变量

b=b+1;

c=c+1;

return a+b+c;

}

int main()

{

int a=2,i;

for(i=0;i<3;i++)

cout<

return 0;

}

运行结果为

7 8 9

第一次调用开始时,b和c的值分别是0和3,第二次调用开始时,b和c的值分别是0和4,因为c是静态局部变量,保留上一次调用结束时的值。

输出1到5的阶乘值

#include

using namespace std;

int f(int a)

{

auto int b=0;

static int c=3; //定义C为静态局部变量

b=b+1;

c=c+1;

return a+b+c;

}

int main()

{

int a=2,i;

cout<

return 0;

}

运行结果为

1!=1

2!=2

3!=6

4!=24

5!=120

每次调用fac(i),就输出一个i同时保留这个i!的值,以便下次再乘以(i+1)

~用extern对外部变量作提前引用申明,以扩展程序文件中的作用域。

#include

using namespace std;

int max(int,int);

void main()

{

extern int a,b;

cout<

}

int a=15,b=-7;

int max(int x,int y)

{

int z;

z=x>y?x:y;

return z;

}

运行结果为

15

用数组来处理求fibonacci数列问题。

用20个元素代表数列中的20个数,从第三个数开始,可以直接用表达式f[i]=f[i-2]+f[i-1] 求出各数。

#include

#include

using namespace std;

int main()

{

int i;

int f[20]={1,1};

f[i]=f[i-2]+f[i-1];

for(i=0;i<=20;i++)

{

if(i%5==0)cout<

cout<

}

cout<

return 0;

}

定义一个整型数组a,把0到9共十个整数赋给数组元素a[0]~a[9],然后按顺序输出。利用循环来处理这类问题是轻而易举的。

#include

using namespace std;

int main()

{

int i,a[10];

for(i=0;i<=9;i++)

a[i]=i;

for(i=9;i>=0;i--)

cout<

cout<

return 0;

}

通过指针变量访问整型变量。

&:取地址运算符

*:指针运算符(或称间接访问运算符)

例如&a为变量a的地址,*p为指针变量p所指的存储单元。

#include

using namespace std;

int main()

{

int a,b;

int*pointer_1,*pointer_2;

a=100;b=10;

pointer_1=&a;

pointer_2=&b;

cout<

cout<<*pointer_1<<" "<<*pointer_2<

return 0;

}

运行结果为

100 10

100 10

说明:第十行的*pointer_1和*pointer_2就是变量a和变量b,最后两个cout语句的作用是相同的。

注意第7,8行是将a和b的地址分别赋给指针变量,不能写成“*pointer_1=&a”因为a的地址是赋给指针变量pointe_1,而不是赋给*pointer_1(即变量a)!!!

计算机c语言二级考试复习资料

第一章C语言概述 一、选择题: 1、一个C程序的执行是从( A )。 A本程序的main函数开始,到main函数结束 B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C本程序的main函数开始,到本程序文件的最后一个函数结束 D本程序文件的第一个函数开始,到本程序main函数结束 2、在 C 语言中,每个语句必须以( D )结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 3、C 语言规定:在一个源程序中,main函数的位置( C )。 A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后 4、一个C 语言程序是由( B )。 A. 一个主程序和若干子程序组成 B. 函数组成 C. 若干过程组成 D. 若干子程序组成 5、下列说法中错误的是( D )。

A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( C )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D. 自动保存源文件 二、填空题: 1、C 语言只有 32 个关键字和 9 种控制语句。 2、每个源程序有且只有一个 main 函数,系统总是从该函数开始执行C语言程序。 3、C 语言程序的注释可以出现在程序中的任何地方,它总是以 \* 符号作为开始标记,以 */ 符号作为结束标记。 4、C 语言中,输入操作是由库函数 scanf 完成的,输出操作是由库函 数 printf 完成的。 5、系统默认的C 语言源程序文件的扩展名是 .c ,经过编译后生成的目标文件的扩展名是 .obj ,经过连接后生成的可执行文件的扩展名是 .exe 。 6、C 语言的标识符只能由字母、数字和下划线三种字符组成。 第三章数据类型、运算符和表达式

带答案C语言2-10章作业

C语言习题集专业班级 学姓号名 C语言习题集 第2章运算符与表达式 一、选择题 1.若有定义:int a=2,b=3 ; float x=3.5,y= 2.5;则下面表达式的值为( C )。 (float)(a+b)/2+(int)x% (int)y A)3.5 B)35 C)3.500000 D)35.00000 2.若有定义:int x=3 ,y=2; float a=2.5 ,b= 3.5;则下面表达式的值 为( B )。(x+y)%2+(int)a/(int)b A)1.0 B)1 C)2.0 D)2 3.若x和n均是int型变量,且x的初值为12,n的初值为5,则执行下面表达式后x的值为( A )。x%=(n%=2) A)0 B)1 C)2 D)3 4.设有int x=11;则表达式(x++*1/3)的值是( A )。

A)3 B)4 C)11 D)12 5.下列程序的输出结果是( C )。 #include <stdio.h> main( ) { double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf("%d\n", d*y);} A)3 B)3.2 C)0 D)3.07 6.下列程序执行后的输出结果是(小数点后只写一位)( A )。 #include <stdio.h> main( ) { double d; float f; long l; int i; i=f=l=d=20/3; printf("%d %ld %f %f\n", i,l,f,d); } A)6 6 6.0 6.0 B)6 6 6.7 6.7 C)6 6 6.0 6.7 D)6 6 6.7 6.0 7.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是( C )。 A)1 B)2 C)2.0 D)2.5 8.若变量a,i已正确定义,且i已正确赋值,则合法的语句是( B )。

C语言常用函数手册

1.分类函数,所在函数库为ctype.h int isalpha(int ch) 若ch是字母('A'-'Z','a'-'z')返回非0值,否则返回0 int isalnum(int ch) 若ch是字母('A'-'Z','a'-'z')或数字('0'-'9'),返回非0值,否则返回0 int isascii(int ch) 若ch是字符(ASCII码中的0-127)返回非0值,否则返回0 int iscntrl(int ch) 若ch是作废字符(0x7F)或普通控制字符(0x00-0x1F) 返回非0值,否则返回0 int isdigit(int ch) 若ch是数字('0'-'9')返回非0值,否则返回0 int isgraph(int ch) 若ch是可打印字符(不含空格)(0x21-0x7E)返回非0值,否则返回0 int islower(int ch) 若ch是小写字母('a'-'z')返回非0值,否则返回0 int isprint(int ch) 若ch是可打印字符(含空格)(0x20-0x7E)返回非0值,否则返回0 int ispunct(int ch) 若ch是标点字符(0x00-0x1F)返回非0值,否则返回0 int isspace(int ch) 若ch是空格(' '),水平制表符('\t'),回车符('\r'), 走纸换行('\f'),垂直制表符('\v'),换行符('\n') 返回非0值,否则返回0 int isupper(int ch) 若ch是大写字母('A'-'Z')返回非0值,否则返回0 int isxdigit(int ch) 若ch是16进制数('0'-'9','A'-'F','a'-'f')返回非0值, 否则返回0 int tolower(int ch) 若ch是大写字母('A'-'Z')返回相应的小写字母('a'-'z') int toupper(int ch) 若ch是小写字母('a'-'z')返回相应的大写字母('A'-'Z') 2.数学函数,所在函数库为math.h、stdlib.h、string.h、float.h int abs(int i) 返回整型参数i的绝对值 double cabs(struct complex znum) 返回复数znum的绝对值 double fabs(double x) 返回双精度参数x的绝对值 long labs(long n) 返回长整型参数n的绝对值 double exp(double x) 返回指数函数ex的值 double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存贮在eptr中double ldexp(double value,int exp); 返回value*2exp的值 double log(double x) 返回logex的值 double log10(double x) 返回log10x的值 double pow(double x,double y) 返回xy的值 double pow10(int p) 返回10p的值 double sqrt(double x) 返回+√x的值 double acos(double x) 返回x的反余弦cos-1(x)值,x为弧度 double asin(double x) 返回x的反正弦sin-1(x)值,x为弧度 double atan(double x) 返回x的反正切tan-1(x)值,x为弧度 double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x为弧度double cos(double x) 返回x的余弦cos(x)值,x为弧度 double sin(double x) 返回x的正弦sin(x)值,x为弧度 double tan(double x) 返回x的正切tan(x)值,x为弧度 double cosh(double x) 返回x的双曲余弦cosh(x)值,x为弧度 double sinh(double x) 返回x的双曲正弦sinh(x)值,x为弧度

C语言常用函数

C语言的常用库函数 函数1。absread()读磁盘绝对扇区函数 原形:int absread(int drive,int num,int sectnum,void *buf) 功能:从drive指定的驱动器磁盘上,sectnum指定的逻辑扇区号开始读取(通过DOS中断0x25读取)num 个(最多64K个)扇区的内容,储存于buf所指的缓冲区中。 参数:drive=0对应A盘,drive=1对应B盘。 返回值:0:成功;-1:失败。 头文件:dos.h 函数2。abswrite()写磁盘绝对扇区函数 原形:int abswrite(int drive,int nsects,int lsect,void *buffer) drive=0(A驱动器)、1(B驱动器)、 nsects=要写的扇区数(最多64K个); lsect=起始逻辑扇区号; buffer=要写入数据的内存起始地址。 功能:将指定内容写入(调用DOS中断0x26)磁盘上的指定扇区,即使写入的地方是磁盘的逻辑结构、文件、FAT表和目录结构所在的扇区,也照常进行。 返回值:0:成功;-1:失败。 头文件:dos.h 函数3。atof()将字符串转换成浮点数的函数 原形:double atof(const char *s) 功能:把s所指向的字符串转换成double类型。 s格式为:符号数字.数字E符号数字 返回值:字符串的转换值。 头文件:math.h、stdlib.h 函数4。atoi()将字符串转换成整型数的函数 原形:int atoi(const char *s) 功能:把s所指向的字符串转换成int类型。 s格式为:符号数字 返回值:字符串的转换值。若出错则返回0。 头文件:stdlib.h 函数5。atol()将字符串转换成长整型数的函数 原形:long atol(const char *s)

计算机二级C语言测试题

(第一章) 1. 以下关于算法的描述不正确的是__________。 A. 任何一个问题,它的实现算法是唯一的 B. 描述算法常用的表达工具有流程图、N-S图、PAD图、伪码等 C. 算法的最终实现是计算机程序 D. 正确性和清晰易懂性是一个好算法的基本条件 2.下面是一个加法程序,指出存在的逻辑错误和语法错误。 /* 求整数a和b的和 */ main( ) { int a,b; a=8; b=2000; print("%d\n",a-b); } 3.在每个C程序中都必须包含有这样一个函数,该函数的函数名为__________。 A.main B. MAIN C. name D. function 4.以下叙述不正确的是__________。 A.C程序书写格式规定,一行内只能写一个语句 B.main()函数后面有一对花括号,花括号内的部分称为函数体 C.一个C程序必须有main()函数 D.C规定函数内的每个语句以分号结束 5.以下各标识符中,合法的用户标识符为_________。 A.A#C B.mystery C.main D.ab* 6.已知求解某问题的算法如下: ⑴输入a、b、c三个数。 ⑵将a和b比较,较大者放在a中,小者放在b中。 ⑶将a和c比较,较大者放在a中,小者放在c中。 ⑷将b和c比较,较大者放在b中,小者放在c中。 ⑸依次输出a、b、c。 请根据上述算法描述,把算法的功能表达出来。 【答案】把任意输入的三个数a、b、c按降序排列的顺序输出。 7.一个C语言程序可以包括多个函数,程序总是按照如下_________所描述的方式执行当前的程序。 A.从本程序的main()函数开始,到本程序文件的最后一个函数结束。 B.从本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 C.从main()函数开始,到main()函数结束。 D.从本程序文件的第一个函数开始,到本程序main()函数结束。 8.以下叙述正确的是_________。 A.在C程序中,main()函数必须位于程序的最前面。 B.C程序的每行中只能写一条语句。 C.在对一个C程序进行编译的过程中,可发现注释中的拼写错误。 D.C语言本身没有输入输出语句。 答案: 1. A 2.语法错误是print, 应该为printf;逻辑错误是a-b,应该为a+b。 3.A 4.A 5.B 6.把任意输入的三个数a、b、c按降序排列的顺序输出。 7.C 8.D

二级c语言

1.编写函数void fun(chat*tt,int pp[ ]),统计在tt所指的字符串中’a’到’z’26个小字母各自出现的次数,并依此存放在pp所指的数组中 void fun(char *tt, int pp[]) { int i; for(i=0;i<26;i++) pp[i]=0; for(;*tt!='\0';tt++) if(*tt>='a'&&*tt<='z') { pp[*tt-'a']++; } } 2编写函数fun,其功能是:将一个数字字符转换成一个整数(不得调用c语言提供的将字符串转换为整数的函数)例如若输入字符串“—1234”,则函数把它转换为整数-1234. long fun ( char *p) { long n=0; int flag=1; if(*p=='-') /*负数时置flag为-1*/ {p++;flag= -1;} else if(*p=='+') /*正数时置flag为1*/ p++; while(*p!='\0') {n=n*10+*p-'0'; /*将字符串转成相应的整数*/ p++; } return n*flag; } 3请编写函数fun,该函数的功能是:判断字符串是否为回文,若是函数返回1,主函数输出YES,否则返回0,主函数输出NO,回文是指顺读和逆读都一样的字符串(详见37套试卷)int fun(char *str) { int i,n=0,fg=1; char *p=str; while (*p) /*将指针p置位到字符串末尾,并统计字符数*/ { n++; p++; } for(i=0;i

C语言2

C语言模拟试题及答案(二) 一、单项选择题 1.不是C语言基本数据类型的是( )。 A) 指针类型 B) 整型 C) 无符号长整型 D) 单精度型 2.正确的字符串常量是( )。 A) "abcd" B) {abcd} C) {"abcd"} D) abcd 3.在C语言中,只能用于整型数据操作的运算符是( )。 A) ! B) < C) / D) % 4.下列有关函数的说法中错误的是( )。 A) C语言中的函数只具有static和extern两种类型 B) C语言中允许函数的递归调用 C) 调用函数时,C语言要求实参与形参的个数,类型完全一致 D) C语言函数的缺省数据类型是空类型(void型) 5.若有以下说明和语句,请选出那个是对a数组元素的正确引用( )。 int a[4][5],(*p)[5]; p=a; A) p+1 B) *(p+3) C) *(p+1)+3 D) *(*p+2) 6.下面各语句行中,能正确进行赋字符串操作的语句行是( )。 A) char st[4][5]={"ABCDE"}; B) char s[5]={ˊAˊ,ˊBˊ,ˊCˊ,ˊDˊ,ˊEˊ}; C) char *s;s=" ABCDE"; D) char *s; scanf("%s",s); 7.以下程序,如从键盘上输入-1,则程序的输出是( )。 #include main() { int x,y; printf("Enter an integer(x):"); scanf("%d",&x); if(x++<0) y=-1; else if(x==0) y=0; else y=1; printf("%d",y); } A) -1 B) 0 C) 1 D) 不确定的值 8.下面程序的输出结果是( )。 #include main() { int x=1,y=0,a=0,b=0; switch(x) { case 1:

计算机二级考试C语言知识点总结

计算机二级考试C语言知识点总结 (完全针对考试大纲) 概述 总体上必须清楚的: 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个字节就可以了。 5)转义字符的考查: 在程序中int a = 0x6d,是把一个十六进制的数给变量a 注意这里的0x必须存在。 在程序中int a = 06d, 是一个八进制的形式。 在转义字符中,’\x6d’才是合法的,0不能写,并且x是小写。 ‘\141’是合法的。 ‘\108’是非法的,因为不可以出现8。 转义字符意义ASCII码值(十进制) \a 响铃(BEL) 007 \b 退格(BS) 008 \f 换页(FF) 012 \n 换行(LF) 010 \r 回车(CR) 013 \t 水平制表(HT) 009 \v 垂直制表(VT) 011 \\ 反斜杠092 \? 问号字符063 \' 单引号字符039 \" 双引号字符034

在C语言2

在C语言中,用printf函数输出float型数据时,可以使用格式控制符( B ) A、%d B、%f C、%c D、%lf C语言中,执行语句a=(double)5/2;后,a的值是( D )。 A、2.000000 B、5.000000 C、1.000000 D、2.500000 在C语言中,用printf函数输出字符型数据时,可以使用格式控制符( A )。 A、%c B、%lf C、%f D、%d 设x、y、z都是整型变量,x、y的初值都是5,执行z=(++x)+(y--)+1后,x、y、z三变量的值按顺序是( D )。 A、6,5,11 B、5,5,11 C、6,4,11 D、6,4,12 任何变量在使用前必须先定义。(对) 在C语言中,仅由一个分号“;”构成的语句称为空语句。(对) 一个printf()函数只能输出一行数据。(错) (float) x 是定义变量x的语句。(错) 一个C程序可以有两个main()函数。(错) 同一数组可以存储不同类型的数据。(错) 若有定义:int a; 则scanf("%d",a);可以给变量a赋值。(对) 1,输入10个整数,存入数组,求其中最小值。 #include int main() { int a[10],i,min; for(i=0;i<10;i++) scanf("%d",&a[i]); min=0; for(i=1;i<10;i++) if(a[i]<_______) min=__________; printf("%d\n",a[min]); } 2,从键盘输入一个整数x,求它的个位数字y。 #include int main(void) { int x,y; scanf("%d",______); %x y=_________;

(完整版)历年全国计算机二级C语言题库

50道C语言知识题 1.以下叙述中正确的是 A)用C程序实现的算法必须要有输入和输出操作 B)用C程序实现的算法可以没有输出但必须要有输入 C)用C程序实现的算法可以没有输入但必须要有输出 D)用C程序实现的算法可以既没有输入也没有输出 2.下列可用于C语言用户标识符的一组是 A)void,define,WORDB)a3_3,_123,Car C)For,-abc,IFCaseD)2a,DO,sizeof 3.以下选项中可作为C语言合法常量的是 A)-80B)-080C)-8e1.0D)-80.0e 4.若有语句:char*line[5];,以下叙述中正确的是 A)定义line是一个数组,每个数组元素是一个基类型为char为指针变量 B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组 C)定义line是一个指针数组,语句中的*号称为间址运算符 D)定义line是一个指向字符型函数的指针 5.以下定义语句中正确的是 A)inta=b=0;B)charA=65+1,b=′b′; C)floata=1,*b=&a,*c=&b;D)doublea=00;b=1.1; 6.有以下程序段 charch;intk; ch=′a′; k=12; printf("%c,%d,",ch,ch,k);printf("k=%d\n",k); 已知字符a的ASCII码值为97,则执行上述程序段后输出结果是 A)因变量类型与格式描述符的类型不匹配输出无定值 B)输出项与格式描述符个数不符,输出为零值或不定值 C)a,97,12k=12 D)a,97,k=12 7.有以下程序 main() {inti,s=1; for(i=1;i<50;i++) if(!(i%5)&&!(i%3))s+=i; printf("%d\n",s);} 程序的输出结果是 A)409B)277C)1D)91 8.当变量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) 9.若变量已正确定义,有以下程序段 inta=3,b=5,c=7;

(完整版)C语言2

一.填空 1、 are used to document a program and improve its readability. 2、What, if anything, prints when each of the following C statements is performed? If nothing prints, then answer “nothing.” Assume x = 2 and y = 3. a)printf( "%d = %d", x + y, y + x ); b) z = x + y; A location in the computer's memory that may contain different values at various times throughout the execution of a program is called a Write a single pseudocode statement that indicates:Assign the sum of variables x, y, and z to variable p. The solution to any problem involves performing a series of actions in a specific A synonym for procedure is 7、State which values of the control variable x are printed by each of the following for statements: a)for ( x = 2; x <= 13; x += 2 ) printf( "%d\n", x ); b) for ( x = 3; x <= 15; x += 3 ) printf( "%d\n", x ); 8、Show the value of x after each of the following statements is performed:x=7.5 a) x = fabs( x); b) x = floor( x); C stores lists of values in 10、 The contents of a particular element of an array is called the of that element. 11、The name of the element in row 3 and column 5 of array d is . 12、Write statements to accomplish each of the following: a) Display the value of the seventh element of character array f. b) Copy array a into the first portion of array b. Assume double a[ 11 ], b[ 34 ]; 13、Consider a 2-by-5 integer array t. a) Write a definition for t. b) How many elements does t have? Write for statements that print the following sequences of values: 1, 2, 3, 4, 5, 6, 7 Write statements that assign random integers to the variable n in the following ranges: –3 ≤ n ≤ 11 选择

C语言中常用的库函数

字符处理函数 本类别函数用于对单个字符进行处理,包括字符的类别测试和字符的大小写转换 头文件ctype.h 函数列表<> 函数类别函数用途详细说明 字符测试是否字母和数字isalnum 是否字母isalpha 是否控制字符iscntrl 是否数字isdigit 是否可显示字符(除空格外)isgraph 是否可显示字符(包括空格)isprint 是否既不是空格,又不是字母和数字的可显示字符ispunct 是否空格isspace 是否大写字母isupper 是否16进制数字(0-9,A-F)字符isxdigit 字符大小写转换函数转换为大写字母toupper 转换为小写字母tolower 地区化 本类别的函数用于处理不同国家的语言差异。 头文件local.h 函数列表 函数类别函数用途详细说明 地区控制地区设置setlocale 数字格式约定查询国家的货币、日期、时间等的格式转换localeconv 数学函数 本分类给出了各种数学计算函数,必须提醒的是ANSI C标准中的数据格式并不符合IEEE754标准,一些C语言编译器却遵循IEEE754(例如frinklin C51) 头文件math.h 函数列表 函数类别函数用途详细说明 错误条件处理定义域错误(函数的输入参数值不在规定的范围内) 值域错误(函数的返回值不在规定的范围内) 三角函数反余弦acos 反正弦asin

反正切atan 反正切2 atan2 余弦cos 正弦sin 正切tan 双曲函数双曲余弦cosh 双曲正弦sinh 双曲正切tanh 指数和对数指数函数exp 指数分解函数frexp 乘积指数函数fdexp 自然对数log 以10为底的对数log10 浮点数分解函数modf 幂函数幂函数pow 平方根函数sqrt 整数截断,绝对值和求余数函数求下限接近整数ceil 绝对值fabs 求上限接近整数floor 求余数fmod 本分类函数用于实现在不同底函数之间直接跳转代码。头文件setjmp.h io.h 函数列表 函数类别函数用途详细说明 保存调用环境setjmp 恢复调用环境longjmp 信号处理 该分类函数用于处理那些在程序执行过程中发生例外的情况。 头文件signal.h 函数列表 函数类别函数用途详细说明 指定信号处理函数signal 发送信号raise 可变参数处理 本类函数用于实现诸如printf,scanf等参数数量可变底函数。

安徽省2级c语言水平考试试卷

全国高等学校(考区) 计算机水平考试试卷 (二级C语言程序设计) 一、单项选择题(每题1分,共40分) 1.下列属于计算机输出设备的是 D 。 A)鼠标B)扫描仪C)键盘D)打印机 2.网上购物属于计算机在 B 领域中的应用。 A)电子政务B)电子商务C)计算机辅助设计D)办公自动化 3.微型机中,U盘使用的一般是 D 接口。 A)1394 B)LPT C)COM D)USB 4.下列关于存储器读写速度从快到慢的排序中,正确的是 A 。 A)RAM、硬盘、光盘B)RAM、光盘、硬盘 C)硬盘、RAM、光盘D)硬盘、光盘、RAM 5.“32位微型机中”中的“32”是指 C 。 A)微机主频B)在容量C)微机字长D)硬盘容量 6.在Windows系统中查找文件时,如果输入“*.doc”,则查找的是 A 。A)文件名为*.doc的文件B)文件名中有一个*的doc的文件 C)所有扩展名为doc的文件D)文件名长度为一个字符的doc的文件 7.下列不符合域名命名规则的是 B 。 A).163. B)https://www.wendangku.net/doc/267431817.html,. C).qq. D).baidu. 8.下列软件不属于多媒体影音播放工具的是 B 。 A)暴风影音B)Photoshop C)RealPlayer D)Windows Media Player 9.下面关于计算机病毒危害的描述中,错误的是 D 。 A)影响程序的执行B)破坏用户程序和数据 C)影响计算机的运行速度D)破坏只读光盘中的信息 10.软件开发过程中,程序设计的核心是 A 。 A)算法与数据结构B)语句格式C)用户数据D)用户文档 11.以下叙述不正确的是___D___。 A)一个C源程序可由一个或多个函数组成 B)一个C源程序一行可以写多条语句 C)C程序的基本组成单位是函数 D)在C程序中,注释说明只能位于一条语句的后面 12.以下正确的C语言标识符是 __C____。 A)%x B)a+b C)a123; D)test! 13.以下对’\t’描述正确的是___B___。 A) ’\t’是两个字符B) ’\t’是一个字符 C) ’\t’是一个字符串D)以上都不是 14.C语言中的简单数据类型有__C____。 A)整型、实型、逻辑型B) 整型、字符实型、逻辑型

C语言二级试题及答案解析

1.以下有4组用户标识符,其中合法的一组是()。 A) For -sub Case B) 4d DO Size C) f2_G3 IF abc D) WORD void define 答案C 解析:标识符的命名规则:由字母、数字、下划线组成,第一个字符必须是字母或者下划线,标示符的命名不能同C语言的关键字相同(关键字表格教材第6页) A-sub错误;B,4d错误;Dvoid是关键字。注意:关键字都是小写的,如果大写就不是关键字了。 2、以下选项中合法的字符常量是()。 A) “B”B) …\010?C) 68 D) D 答案B 解析:字符常量使用‘’括起来的。参考课本24页 转义字符书写方法:1.\加上字母;2.\加上1~3位八进制数,这里八进制数以0开头;3.\加上1~2位十六进制数,这里十六进制数以x开头。例如: ‘\n’第一种方法 ‘\012’第二种方法 ‘\xa’第三种方法 4、设变量a是整型,f是实型,i是双精度型,则表达式10+a+i*f值的数据类型为()。 A) int B) float C)double D) 不确定 答案:C,按照低精度转换成高精度的原则(教材34页) 5、.以下程序的输出结果是 main() { char c=‘z'; printf(“%c”,c-25); } A) a B) Z C) z-25 D) y 答案:A 解析:方法一:‘z’对应的ASCII码是122,122-25=97,输出的是%c,即字符的形式,97对应小写字母a。 方法二:与小写字母z相差22的就是小写字母a 6、设有int x=11; 则表达式(x++ * 1/3) 的值是()。 A)3B) 4C) 11D) 12 答案:A 解析:x++,先取x的值再乘以1除以3,11*1=11,11/3=3因为都是整形的数据,因此相除之后的结果应该为整形。

C语言2复习题

判断题 1.函数若无返回值,则它一定无形参。× 2.在 C 程序中, 函数既可以嵌套定义, 也可以嵌套调用。× 3.C程序总是从main( ) 函数的第一条语句开始执行的。√ 4.同一函数内可以有多个return语句。√ 5.main函数中的变量名不可以与其它函数相同。× 6.C程序可由多个函数组成,但必须有并且只有一个主函数main。√ 7.在C语言中的每个函数必须要有一个明确的return语句才能返回调用程序。× 8.主函数中定义的变量的作用域仅限于主函数内。√ 9.传值调用的形参只有在被调用时,才被创建(分配存储单元)。√ 10.C程序执行总是从第一个函数开始。× 11.一个C程序的执行总是从该程序的main函数开始,在main函数最后结束。× 12.被main函数调用的函数只能是库函数。× 13.函数说明指的是在程序中设定一个函数模块。× 14.在C程序中,若对函数类型未加说明,则函数的隐含类型为void。× 15.形参可以是常量、变量或表达式。× 16.函数调用可以作为一个函数的形参。× 17.C语言规定,实参应与其对应的形参类型一致。√ 18.定义函数时,形参的类型说明可以放在函数体内。× 19.一个函数可以带回一个整型值、字符值、实型值等,也可以带回指针型的数据。√ 20.全局变量可以被任何一个函数中的任何一个表达式使用。× 21.函数的隐含存储类型是extern。√ 22.定义在main函数后的任何函数都需在main中进行函数声明。× 23.a是一维数组名,数组元素a[1]还可以写作―*(a++)‖。× 24.C语言中数组名是指针常量。√ 25.构成数组的各个元素必须具有相同的类型。√ 26.数组元素的下标可以选用正整数或正实数。× 27.数组名可以作为参数进行传递。√ 28.若有定义―int a[4][5];‖,则在数组元素a[3][3]前有12个元素。× 29.若有定义int a[3][4];则共有12个元素,最后一个元素是a[3][4]。× 30.字符数组中字符串可以整体输入输出。√ 31.若有定义语句―char s1[ ]="abc",s2[ ]={'a','b','c'};‖,则数组s1和数组s2均有3个元 素。× 32.若a为一维数组名,则*(a+i)与a[i]等价。√ 33.函数原型为―void sort(float a[],int n)‖,调用该函数时,形参数组a被创建,实参数组各 元素的值被复制到a数组各元素中。× 34.C允许对数组的大小作动态定义,即可用变量定义数组的大小。× 35.数组定义int a[10]; 也可以写成int a(10); 。× 36.在对全部数组元素赋初值时,可以不指定数组长度。√ 37.定义s为5×6(5行6列)的数组可写成float a[5,6]; × 38.数组定义int a[10]; 表示数组名为a,此数组有10个元素,第10个元素为a[10]。× 39.static char c[]={'a' ,' ','b','o','o','k','\0'};与static char c[]={'a' ,' ' ,'b','o','o','k'}; 等价。× 40.设已有说明:static char c1[10],c2[10]; 下面程序片段是合法的。c1={―book‖}; c2=c1; × 41.调用函数时,实参为数组名,则向数组传递的是数组的首地址。√

C语言常用函数名及用法

字符函数和字符串函数 头文件:字符串函数头文件:#include 字符函数头文件:#include putchar:输出一个 putchar(a):输出字符变量a的值,(其中a可为字符变量,整形变量,字符常量,整形常量) getchar:输入一个字符 a=getchar(); putchar(a);结果为b printf(格式控制符,输出列表); scanf(格式控制符,地址列表); 输入形式与格式控制部分对应 1.当为两个连续输入时:scanf(“%d%d”,&a,&b); 输入量数据之间可为:一个或多个空格,也可以用enter,tab无逗号时输入时不能用逗号作分隔。 2.格式控制中两%d有两个空格,输入时两数据间应有两个空格或两个以上。 3.当为“:”时输入时应对应一样,当为:scanf(“a=%d,b=%d”,&a,&b);输入a=12,b=22。 4.当格式控制符为%c时,输入时空格与转义字符都作为有效字符记录在里面:scanf(“%c%c%c”,&a,&b,&c); 输入时:ab c↙空间不能插空格或其他符

5. Scanf(“%d%c%f”,&a,&b,&c); 输入时1234a123h26↙在输入遇到时空格回车 tab或其他非法输入就会认定输入完毕 Gets (字符数组):读入字符串函数 Gets(str)从键盘键入a b↙括号里为字符数组str的起始地址,Puts(字符数组):输出字符串函数 Strcat(字符数组1,字符数组2):字符串连接函数(2连接在1后面) Strcpy和strncpy:字符串复制函数 Strcpy(字符数组1,字符数组2):将2复制到1 数组1 要为数组名,字符串2可以为数组名或者字符串 Strncpy(str1,str2,2):将str2的前两个字符复制到str1,取代str1的前两个字符 Strcmp:字符串比较函数 Strcmp(str1,str2):相等则为0(对字符串自左向右逐个字母进行比较) Strlen(字符数组):测字符串的实际长度 Strlwr(字符串)将字符串转换为大写 Strupr(字符串)将字符串转换为小写

C语言常用的库函数

库函数并不是C语言的一部分,它是由编译系统根据一般用户的需要编制并 提供给用户使用的一组程序。每一种C编译系统都提供了一批库函数,不同的 编译系统所提供的库函数的数目和函数名以及函数功能是不完全相同的。ANSI C标准提出了一批建议提供的标准库函数。它包括了目前多数C编译系统所提供 的库函数,但也有一些是某些C编译系统未曾实现的。考虑到通用性,本附录 列出ANSI C建议的常用库函数。 由于C库函数的种类和数目很多,例如还有屏幕和图形函数、时间日期函数、 与系统有关的函数等,每一类函数又包括各种功能的函数,限于篇幅,本附录不 能全部介绍,只从教学需要的角度列出最基本的。读者在编写C程序时可根据 需要,查阅有关系统的函数使用手册。 1.数学函数 使用数学函数时,应该在源文件中使用预编译命令: #include或#include "math.h" 函数名函数原型功能返回值 acos double acos(double x);计算arccos x的值,其中-1<=x<=1计算结果 asin double asin(double x);计算arcsin x的值,其中-1<=x<=1计算结果 atan double atan(double x);计算arctan x的值计算结果 atan2double atan2(double x, double y);计算arctan x/y的值计算结果 cos double cos(double x);计算cos x的值,其中x的单位为弧度计算结果 cosh double cosh(double x);计算x的双曲余弦cosh x的值计算结果 exp double exp(double x);求e x的值计算结果

c语言2

Draw flowchart for the flowing program, and write code. 1. Create a program that prompts a user for two integers, then output the two integers from small to big. 2. Create a program that prompts a user for a integer, then output the result of parity of the number (odd or even)

. 3. Create a program that prompts a user for a character, and define a integer named selection, if the user ’s input is a , the variable selection have the value 1 ,selection=1, if b, selection=2, if c or d, selection=3. Several of the above, output the value of selection. Otherwise, output error. 4. Write a program that will sum all integers from 1 to 999 (inclusive) except for those that are evenly divisible by 10. That is, the sum will not include 10, 20, 30, . . . , 990. Print the sum after calculating it. 5. There is an interest math subject in Marx ’s manuscript. Man, Woman and children, for a total of 30 persons. They have a dinner, cost 50 shillings. 3 shillings each man, 2 shillings each woman, 1 shilling each child. Get the number of men, women and children, output all the possible answers. 6. Change Fahrenheit temperature to Celsiur temperature C =(5/9)(F -32) The output format should be as followings ???=++=++) 2(5023)1(30z y x z y x

相关文档