C语言专升本辅导
c语言专升本试题及答案

c语言专升本试题及答案一、选择题(每题2分,共20分)1. C语言中,用于定义变量的关键字是()。
A. varB. letC. intD. define答案:C2. 下列哪个选项不是C语言中的运算符?()A. %B. &&C. ==D. ||答案:B3. 在C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A4. 下列哪个选项是合法的C语言函数声明?()A. int fun(int a, int b);B. int fun();C. int fun(int a, b);D. int fun(int a, int b) { ... }答案:A5. C语言中,用于定义一个二维数组的语法是()。
A. int array[3][2];B. int array[3][];C. int array[][2];D. int array[2,3];答案:A二、填空题(每题2分,共20分)1. C语言中,用于表示逻辑“与”操作的运算符是____。
答案:&&2. C语言中,用于表示逻辑“或”操作的运算符是____。
答案:||3. C语言中,用于表示逻辑“非”操作的运算符是____。
答案:!4. 在C语言中,用于定义一个字符类型的数组的关键字是____。
答案:char5. C语言中,用于声明一个无返回值的函数的关键字是____。
答案:void三、简答题(每题10分,共20分)1. 请简述C语言中指针的概念。
答案:指针是C语言中的一种数据类型,它存储了另一个变量的内存地址。
通过指针,程序可以直接访问和操作内存中的数据。
2. 请简述C语言中函数的作用。
答案:函数是C语言中封装代码块的一种方式,它允许将一段代码和相关的数据封装在一起,以便于复用和模块化编程。
四、编程题(每题20分,共40分)1. 编写一个C语言程序,实现求两个整数的和。
专升本C语言历年试题及答案

专升本C语言历年试题及答案专升本C语言历年考试题及答案一、单项选择题1._isw 是合法的用户自定义标识符。
2.若变量已正确定义并赋值,表达式3.14%2 不符合C语言语法。
3."a" 是不正确的字符常量。
4.在C程序中,用 1 表示逻辑值“真”。
5.float x=3.14.y=x。
把x、y定义成float类型变量,并赋同一初值3.14.6.若变量已正确定义,表达式 1^3 的值不是2.7.若变量已正确定义,语句“if(a>b) k=0.else k=1;”和k=(a<=b)?1:0.等价。
8.设变量定义为“int a。
b;”,执行下列语句时,输入a=10.b=10,则a和b的值都是10.scanf("a=%d。
b=%d",&a。
&b);9.下列程序的输出结果是 0.fun(int a。
int b。
int c)c =a*b。
}void main( )int c=0;fun(2,3,c);printf("%d\n",c);}10.在C程序中,如果函数类型未被声明,则函数的隐含类型为int。
11.表达式strlen("hello")的值为5.13.对于变量定义int x。
*p=,&*p相当于p。
14.如果变量已经被正确定义,p=NULL不能使指针p成为空指针。
17.基于相同的基类型,两个指针变量之间不能进行加法运算。
18.程序输出4.19.缺少完整的定义。
struct person {char name[9];int age;struct person class[10] = {Johu"。
17}。
XXX"。
19}。
XXX"。
18}。
Adam"。
16}改写:定义了一个person 结构体,用于存储人名和年龄,然后定义了一个长度为 10 的 class 数组,存储了四个人的信息。
c语言程序设计专升本试题及答案

c语言程序设计专升本试题及答案一、单项选择题(每题2分,共20分)1. 下列关于C语言的描述,正确的是:A. C语言是一种编译型语言B. C语言是一种解释型语言C. C语言是一种汇编语言D. C语言是一种机器语言答案:A2. 在C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A3. 下列哪个选项不是C语言中的控制语句?A. ifB. elseC. switchD. goto答案:C4. 在C语言中,用于定义一个整型数组的语句是:A. int array[10];B. int array[];C. int array[10]={0};D. int array=10;答案:A5. 下列哪个函数用于计算数组中元素的个数?A. sizeofB. countC. lengthD. size答案:A6. 在C语言中,用于声明一个函数的关键字是:A. functionB. defC. declareD. int答案:C7. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ||D. ++答案:B8. 在C语言中,用于定义一个指针变量的语句是:A. int *p;B. int p*;C. int *p=0;D. int p=*0;答案:A9. 下列哪个选项是C语言中合法的字符常量?A. 'A'B. "A"C. 65D. '65'答案:A10. 在C语言中,用于从文件中读取数据的函数是:A. scanfB. printfC. getcharD. fgets答案:D二、填空题(每题2分,共20分)1. 在C语言中,用于定义一个整型变量的关键字是________。
答案:int2. C语言中,用于定义一个浮点型变量的关键字是________。
答案:float3. 在C语言中,用于定义一个字符型变量的关键字是________。
c语言专升本练习题(打印版)

c语言专升本练习题(打印版)C语言专升本练习题一、选择题1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef2. 若有以下代码段:```cint a = 10, b = 20;float c = (float)a / b;```变量c的值是多少?A. 0.5B. 0.4C. 0.5000D. 0.49993. 下列哪个函数用于计算两个数的绝对值?A. fabs()B. abs()C. sqrt()D. pow()4. 在C语言中,哪个运算符用于逻辑与?A. &&B. ||C. !D. &5. 下列哪个选项是合法的C语言标识符?A. 2variableB. variable2C. variable-nameD. variable$name二、填空题1. 在C语言中,用于定义一个整型数组的语句是:`int array[5] = {1, 2, 3, 4, 5};`。
如果要定义一个字符型数组,并且初始化为"Hello",应该使用语句:`char array[] = {__________};`。
2. C语言中,若要声明一个指向整型的指针变量,正确的语句是:`int *__________;`。
3. 使用`printf`函数打印一个浮点数时,若要保留两位小数,应该使用格式化输出符:`%__________f`。
4. 若有两个变量`int a = 10;`和`int b = 20;`,交换这两个变量的值可以使用以下语句:`a = b = __________;`。
5. 在C语言中,若要定义一个函数,该函数接收两个整型参数并返回它们的和,正确的函数定义是:`int add(int x, int y) { return __________; }`。
三、编程题编写一个C语言程序,实现以下功能:1. 定义一个结构体`Student`,包含学号(`id`)、姓名(`name`)和成绩(`score`)。
专升本c语言试题及答案

专升本c语言试题及答案一、单项选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中合法的变量名?A. _nameB. name2C. 2nameD. name$答案:C3. C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B4. 在C语言中,以下哪个语句用于结束一个循环?A. continueB. breakC. returnD. exit答案:B5. 下列哪个选项是C语言中合法的数组声明?A. int a[10];B. int b[10] = {0};C. int c[] = {1, 2, 3};D. All of the above答案:D6. C语言中,以下哪个运算符用于计算两个数的差?A. +B. -C. *D. /答案:B7. 在C语言中,以下哪个函数用于打开文件?A. fopenB. fcloseC. fgetcD. fprintf答案:A8. C语言中,以下哪个关键字用于定义指针?A. intB. floatC. charD. *答案:D9. 在C语言中,以下哪个函数用于将整数转换为字符串?A. sprintfB. strcatC. strcpyD. strcat答案:A10. C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. function答案:B二、填空题(每题2分,共10分)1. C语言中,用于定义一个整型变量的关键字是________。
答案:int2. C语言中,用于定义一个字符型变量的关键字是________。
答案:char3. C语言中,用于定义一个浮点型变量的关键字是________。
答案:float4. C语言中,用于定义一个双精度浮点型变量的关键字是________。
C语言专升本考试练习题及答案411

C语言专升本考试练习题及答案41.[单选题]下列关于C语言数据文件的叙述中正确的是()。
A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件答案:D解析:2.[单选题]设有说明int (*ptr)[M];,其中的标识符ptr是______。
A)M个指向整型变量的指针B)指向M个整型变量的函数指针C)一个指向具有M个整型元素的一维数组的指针D)具有M个指针元素的一维指针数组,每个元素都只能指向整型变量答案:C解析:知识点/选择题/C8指针/行指针概念T3.[单选题]全局变量的定义不可能在()。
A)函数内部B)函数外面C)文件外面D)最后一行答案:A解析:4.[单选题]Fscanf函数的正确调用形式是()。
A)fscanf(fp,格式字符串,输出表列);B)fscanf(格式字符串,输出表列,fp);C)fscanf(格式字符串,文件指针,输出表列);D)fscanf(文件指针,格式字符串,输入表列);答案:D解析:5.[单选题]若已定义a为int型变量,则 是对指针变量p的正确说明和初始化。
A)int p=&a;B)int *p=a;C)int *p=*a;D)int *p=&a;6.[单选题]调用函数的实参与被调用函数的形参应有如下关系A)只要求实参与形参个数相等B)只要求实参与形参顺序相同C)只要求实参与形参数据类型相同D)上述三点均需具备答案:D解析:7.[单选题]C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是______。
A)voidB)intC)floatD)double答案:B解析:知识点/选择题/C6函数与编译预处理/函数的基本概念8.[单选题]下列定义数组的语句中不正确的是()。
专升本C语言100题及答案
专升本C语言100题及答案高职升本计算机基础复材料—C语言精编100题C语言精编1题一、单选题1.由C语言编写的代码程序( )A.可直接执行B.是一个源程序D.经过编译解释才能执行C.经过编译即可执行2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( )A.大写字母B.中划线C.数字字符D.下划线3.下列选项中,不能用作标识符的是( )A. _1234_B. _1_2C. int_2_D. 2_int_4.以下选项中合法的用户标识符是( )XXX.以下不能定义为用户标识符的是( )A. MainB. _0C. _intD. sizeof6.下列定义变量的语句错误的是( )A. int _int;B. double int_;C. char For;D. float US$;7.在C语言中,合法的实型常数是( )A. 5E2.0B. E-3C. 2E0D. 1.3E8.在C语言中,合法的实型常数是( )A. 1.2E0.5B. 3.EC. 5E-3D. E159.以下选项中,不克不及作为正当常量的是( )A. 1.234e04B. 1.234e0.4C. 1.234e+4D. 1.234e010.以下不合法的数值常量是( )A. 011B. le1C. 8.0E0.5D. 0xabcd11.在C语言中,非法的字符常量是( )A.‘\t’B.‘\17’C. "\n"D.‘\xaa’12.以下不合法的字符常量是( )A.‘\018’B.‘\"’C.‘\\’1D.‘\xcc’高职升本计算机基础复材料—C语言精编100题13.以下运算符中优先级最高的运算符是()( )A. <=B. =C. %A. ==B. /C. =14.以下程序的输出结果是( )main(){ int a=3,b=4;printf("%d\n",a<=b);}A. 3B. 4C. 115.在C语言中,以下非法的表达式是( )A. 0<=x<=100B. i=j==0C. (char)(65+3)16.在C语言中,以下非法的赋值语句是( )A. j++;B. ++(i+1);C. x=j>0;A. 4.3B. 4.8C. 3.318.设有语句:int a=3;则履行了语句a+=a-=a*a;变量a的值是()A. 3B. 0C. 919.设有语句:int x=10;则履行了语句x+=x-=x-x;变量x的值是()A. 10B. 20C. 4020.以下步伐的输出成效是( )( )( )( )( )⑴main(){ int i=10,j=1;printf("%d,%d\n",i--,++j);}A. 9,2B. 10,2C. 9,1⑵main(){ int a=12,b=12;printf("%d %d\n" ,--a,++b);} A. 10 10B. 12 12C. 11 10⑶main(){ int x=023;printf("%d\n",--x);}A. 17B. 18C. 23⑷main()2D. &&D. >=D. 0D. x+1=x+1D. k=i==j;D. 3.8D. -12D. 30D. 10,1D. 11 13D. 24高职升本计算机基础复材料—C语言精编100题{ int x=10,y=10;printf("%d %d\n",x--,--y);}A. 10 10⑸main(){ int i=010,j=10;printf("%d,%d\n",++i,j--);}A. 11,10B. 9,10C. 010,9D. 10,9B. 9 9C. 9 10D. 10 921.以下程序的输出结果是( ) main(){ int x=100,y=200;printf("%d\n",(x,y)); }A. 200C. 100 200B. 100D)200 10022.以下程序的输出结果是( )main(){ int x=10,y=3,z;printf("%d\n",z=(x%y,x/y));}A. 1B. 0C. 4D. 323.int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( )A. k++B. k+=1C. ++kD. k+124.以下步伐的输出成效是( )main(){ int x,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z); }A. 2,3,3B. 2,3,2C. 2,3,1D. 2,2,125.设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( )A. 1B. 2C. 3D. 426.设int x=-1;履行表达式++x||++x||++x||++x,x的值是( )A. 0B. 1C. 2D. 427.以下步伐的输出成效是3高职升本计算机基础复材料—C语言精编100题(1) main(){ int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k);}()A. k=11,k=12,k=11C. k=11,k=013,k=0xbB. k=11,k=13,k=13D. k=11,k=13,k=b(2) main(){ int k=17; printf("%d,%o,%x\n",k,k,k); }()A. 17,021,0x11B. 17,17,17C. 17,0x11,021D. 17,21,1128.运行时从键盘上输入<CR>(<CR>表示回车),则该程序的输出结果是()main(){ int a;float b,c;scanf("XXX",&a,&b,&c);printf("a=%d,b=%f,c=%f\n",a,b,c);}A. a=98,b=765,c=4321C. a=98,b=765.,c=4321.B. a=10,b=432,c=8765D. a=98,b=765.0,c=4321.029.设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。
《C语言程序设计》考试大纲(2019专升本)
专升本《C语言程序设计》考试大纲一、考试性质“专升本”《C语言程序设计》考试是为选拔专科应届优秀毕业生进入本科学习,在程序设计基础、编程中分析问题和解决问题的能力上的必要基础考试,以尽快适应本科学习对计算机应用的知识和技能要求。
二、考试目的本次考试的目的主要是测试考生在程序设计基础和编程能力方面是否具有本科学习的能力。
三、考试内容根据《C语言程序设计》课程大纲的要求,并考虑高职高专教育的教学实际,特制定本课程考试内容。
第一章 C语言程序设计基础1.程序设计语言;2.C语言概况;3.C语言程序的基本结构;4.C语言程序的上机执行过程。
第二章 C语言的数据类型与基本操作1.掌握C语言中的数据类型及其常量的表示方法;2.理解各类数值型数据间的混合运算规则;3.掌握基本运算符的功能,表达式的概念。
第三章顺序程序设计1.掌握结构化程序设计的三种基本结构;2.掌握getchar()、putchar()、printf()、 scanf()函数的使用;3.掌握顺序结构程序的设计方法。
第四章选择结构程序设计1.掌握关系运算符和逻辑运算符的功能及用法;2.掌握基本条件和复合条件语句的使用;3.掌握switch语句的使用;4.掌握选择结构程序的设计方法。
第五章循环结构程序设计1.掌握循环概念及循环的构成要素2.掌握while语句用法3.掌握do-while语句的用法4.掌握for语句的用法5.掌握break、continue语句6.掌握多重循环的概念及其程序描述方法第六章函数1.掌握函数定义的一般形式;2.理解形参和实参的概念;3.掌握函数的调用方法;第七章数组1.掌握数组的基本概念;2.掌握一维数组的定义和使用;3.掌握字符数组的使用,了解基本的字符和字符串处理库函数的功能和使用。
四、考试形式及时间本考试采用闭卷笔试的形式。
考试时间为100分钟,满分150分。
五、主要参考教材[1] 任正云,李素若,赖玲主编.C语言程序设计(第三版).北京:中国水利水电出版社,2016年.[2] 施俏春,任正云,李素若主编.C语言程序设计上机指导语习题集解答(第三版).北京:中国水利水电出版社, 2016年.。
专升本c语言基础知识试题及答案
专升本c语言基础知识试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个选项不是合法的变量名?A. _first_nameB. 123variableC. variable_nameD. int答案:B3. 下列哪个选项是正确的C语言注释方式?A. // this is a commentB. /* this is a comment */C. //* this is a commentD. /* this is a comment */答案:A4. C语言中,以下哪个选项是正确的字符串声明?A. char str[] = "Hello";B. char str[] = 'Hello';C. char str[] = "Hello", "World";D. char str[] = {"Hello"};5. 在C语言中,以下哪个选项是正确的函数声明?A. int function();B. int function(int x);C. int function;D. int function = 5;答案:B6. 下列关于C语言数组的描述,哪个是正确的?A. 数组的大小在声明时必须确定B. 数组的大小可以在运行时确定C. 数组的索引总是从1开始D. 数组可以存储不同类型的数据答案:A7. C语言中,以下哪个选项表示将变量x的值赋给变量y?A. x = y;B. y = x;C. x = y = 0;D. y = x = 0;答案:B8. 在C语言中,以下哪个选项是正确的文件包含指令?A. #include "stdio.h"B. #include <stdio.h>C. #include "stdio.h" and #include <stdio.h>D. #include "stdio.h" || #include <stdio.h>答案:B9. 在C语言中,以下哪个关键字用于定义一个指针?B. charC. *D. void答案:C10. 下列关于C语言函数的描述,哪个是正确的?A. 函数必须有返回值B. 函数可以有多个返回值C. 函数可以没有参数D. 函数必须有参数答案:C二、填空题(每题2分,共10分)1. C语言中,用于定义一个整型变量的关键字是________。
湖南财政经济学院2020年“专升本”考试大纲(C语言程序设计)
湖南财政经济学院2020年“专升本”《 C语言程序设计》考试大纲一、考试要求通过课程的学习,学生掌握算法设计思想,掌握结构化程序设计的基本概念、方法和技巧,培养学生良好的程序设计风格、程序阅读与分析、程序设计和调试能力,进一步培养学生分析问题、解决问题的能力,使学生具备初步的高级语言程序设计能力,为后续课程的学习和应用开发打下扎实的程序设计基础。
二、考试的范围和内容考核知识点一:C程序构成及运行流程1.考核内容:程序的构成,main函数和其他函数;头文件,数据说明,函数的开始和结束标志以及程序中的注释;C语言源程序的书写格式及风格。
2.考核要求:了解:程序的构成、函数的构成掌握:运行C程序的步骤与方法,培养程序设计和调试动手的能力,使学生具备良好的程序设计风格。
考核知识点二:算法、数据类型及表达式1.考核内容:算法的概念、特性、表示;C的数据类型(基本类型,构造类型,指针类型,无值类型)及其变量定义方法;C运算符的种类、运算优先级和结合性;.不同类型数据间的转换与运算;C表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。
2.考核要求:了解:算法的特性及表示方法;C运算符的运算优先级和结合性;数据类型间的转换。
掌握:变量的定义,C表达式的求解应用:算法的设计及用流程图、伪代码表示算法,建立“自顶向下、逐步细化”、“分而治之”等程序设计的思想。
考核知识点三:C语句及输入输出函数1.考核内容:表达式语句,空语句,复合语句;输入输出函数的调用,正确输入数据并正确设计输出格式。
2.考核要求:了解:输入输出函数用法。
掌握:数据的输入输出各种格式符的含义及用法。
应用:正确输入数据并正确设计输出格式;自增、自减运算符,区别i++ 与++i,i-- 与--i。
考核知识点四:选择结构程序设计1.考核内容:用if语句实现选择结构;用switch语句实现多分支选择结构;选择结构的嵌套。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章C语言程序设计初步一、主要知识点(一)程序设计语言的发展1、机器语言2、汇编语言3、面向过程的语言4、面向对象的程序设计语言(二)C程序设计语言的执行过程1、编辑2、编译3、连接4、执行(三)用库函数组装C程序例1:计算2.1715的正弦值。#include“math.h”main(){floata;/*定义a为实型变量*/a=sin(2.1715);/*调用sin函数*/printf(“%f\n”,a);/*调用printf函数,输出a的值*/}详解:1、在本例中用到的sin函数称为数学函数,它是为了用户使用方便,由一批厂家开发编写的函数,并不是C语言的一部分。在使用数学函数时,往往要用到函数执行时所需的一些信息(例如宏定义),这些信息包含在“math.h”中。因此在程序开头用#include“math.h”将有关的标头文件包括到程序中。2、一个C语言源程序文件由一个或多个函数组成,C语言的基本组成单位是函数。一个完整的C语言程序有且只有一个称为主函数的main函数,程序总是从main函数开始执行,调用其它函数后再回到main函数,在main函数中结束整个程序的运行。3、main是函数名称,没有参数可以不写,但圆括号不能省略,main()后面有一对花括号,花括号内的部分称为函数体,main函数可以在程序的任意位置。4、C规定每个语句以分号(;)结束,分号是语句不可缺少的组成部分,每行中可以写多条语句。5、/*与*/之间为注释信息,对程序运行结果不发生影响,也不被编译,注释说明可以放在语句的任意位置。6、floata;此语句是把a定义为一个实型变量。7、C语言本身没有输入、输出语句,本例使用prinft函数输出数据。prinft函数的括号内包括两部分内容:双引号内的部分、双引号外的部分。双引号内的部分是“格式字符串”,用于指定输出双引号外的变量的打印格式。此例中双引号中有一个”%f”,它是输出一个保留小数点后6位数字的格式字符,小数点前的位数不指定。二、练习(一)选择题1、以下叙述正确的是_C___。(A)在C程序中,main函数必须位于程序的最前面(B)C程序的每行中只能写一条语句(C)C语言本身没有输入输出语句(D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误2、C语言规定:在一个源程序中,main函数的位置___C_。(A)必须在最开始(B)必须在系统调用库函数的后面(C)可以任意(D)必须在最后3、一个C语言程序是由____B。(A)一个主程序和若干子程序组成(B)函数组成(C)若干过程组成(D)若干子程序组成4、一个C程序的执行是从A____。(A)本程序的main函数开始,到main函数结束(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束(C)本程序的main函数开始,到本程序文件的最后一个函数结束(D)本程序文件的第一个函数开始,到本程序main函数结束5、以下叙述不正确的是__D__。(A)一个C源程序可由一个或多个函数组成(B)一个C源程序必须包含一个main函数(C)C程序的基本组成单位是函数(D)在C程序中,注释说明只能位于一条语句后面(二)填空题:1、一个C源程序中至少包括一个__main函数____。2、在一个C源程序中,注释部分两侧的分界符分别为____/*____和_*/_______。第二章数据描述与基本操作一、主要知识点(一)C的基本数据类型节短整型(short)
整型整型(int)基本类型字符型(char)长整型(long)实型(浮点型)单精度型(float)枚举类型双精度型(double)数据类型构造类型数组类型结构类型(struct)指针类型共用类型(union)空类型(void)文件类型(FILE)(二)常量和符号常量1、常量定义:在程序运行过程中,其值不能被改变的量称为常量。常量常区分不同的类型,如12、0、-3为整型常量,’a’、’D’为字符常量。2、符号常量:用一个标识符代表一个常量的,称为符号常量,即标识符形式的常量。常量不同于变量,它的值在作用域内不能改变,也不能再被赋值。例1:已知商品的单价及数量求商品的总价值。#definePRICE30main(){intnum=10,total;total=num*PRICE;printf(“total=%d”,total);}输出结果:total=300详解:1、程序中用#define命令行定义PRICE代表常量30,此后凡在此文件中出现的PRICE都代表30,可以和常量一样进行运算。2、符号常量不同于变量,它的值在其作用域内不能改变,也不能再被赋值。如再用以下赋值语句给PRICE赋值:PRICE=40;是错误的。(三)变量1、变量定义:其值可以改变的量称为变量。2、标识符的命名规范和其它高级语言一样,用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列称为标识符,C语言中的标识符命名规范为:①变量名只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。②C语言中标识符的长度(字符个数)无统一规定,随系统而不同。许多系统(如IBMPC的MSC)取前7个字符,假如程序中出现的变量名长度大于7个字符,则只有前面7个字符有效,后面的不被识别。③C语言有32个关键字(例如if、else、while)它们已有专门含义,不应用采用与它们同名的变量名。④C语言将大写字母和小写字母认为是两个不同字。例2:在下列符号中,可以选用哪些作变量名?哪些不可以?a3B3aB∏+a-b*x$_b5_ifnext_daye_2OK?integerMAXNUMBERi*j答案:_b5_a3Bnext_daye_2MAXNUMBER可作变量名,其它的作变量名不可以。详解:①MAXNUMBER可作变量名。习惯上符号常量名用大写,变量名用小写以示区别,但大写字母作变量名并无错误。②if、integer属于保留字,保留字不可作变量名。③∏+a-b*x$OK?i*j不可作变量名,因为变量名只能由字母、数字和下划线三种字符组成。④3aB不可作变量名,因为变量名的第一个字母必须为字母或下划线。(四)整型数据1、整型常量整型常量即整常数。C语言整常数可用以下三种表示形式。①十进制表示。如231、-56.478②八进制表示。以0开头的数是八进制数。如0123即(123)8
=1*82+2*81+3*80=64+16+3=83。③十六进制表示。以0x开头的数是16进制。如0x123即(123)16=1*162+2*161+3*160=256+32+3=291。2、整型变量整型变量分为:基本型、短整型、长整型、和无符号型四种。①基本型,以int表示②短整型,以shortint表示或以short表示③长整型,以longint表示,或以long表示④无符号型,存储单元中全部二进制位(bit)用作存放数本身,而不包括符号。无符号型中又分为无符号整型、无符号短整型和无符号长整型,分别以unsignedint、unsignedshort和unsignedlong表示。3、整型数据的取值范围C标准没有具体规定各类型所占内存字节数,各种机器处理上有所不同,以IBMPC为例,数的范围如表2.1所示。表2.1所占位数数的范围Int16-32768~32767即-215~(215-1)short[int]16-32768~32767即-215~(215-1)
Long[int]32-2147483648~2147483647即-231~(231-1)Unsigned[int]160~65535即0~(216-1)
Unsignedshort160~65535即0~(216-1)Unsignedlong320~4294967295即0~(232-1)
4、整型常量的分类
①一个整常量,如果其值在-32768~32767范围内,认为它是int型,它可以赋值给int型和longint型变量。②一个整常量,如果其值超过了上述范围,而在-2147483648~2147483647范围内,则认为它是longint型,可以将它赋值给一个longint型变量。
③如果某一计算机系统的C版本确定的shortint与int型在内存中占据的长度相同,则一个int型的常量出同时一个shortint型常量。④常量中无unsigned型。但一个非负值的整常量可以赋值给unsigned型整变量,只要它的范围不超过变量的取值范围即可。例如:将50000赋给一个unsignedint型变量是可以的,而将70000赋给它是不行的(溢出)。⑤在一个整常量后面加一个字母l或L,则认为是longint型常量。(五)实型数据1、实型常量实数在C语言中又称为浮点数。实数有两种表示形式:①十进制形式。它由数字和小数点组成(注意必须有小数点)。例如:0.123、.123、123.0、0.0都是十进制数形式。②指数形式。如123.56e4或123.56E4都代表123.56*104。但字母e(或E)之前必须有数字,e后面指数必须为整数。例如:e3、2.1e3.5、.e3、e等都不是合法的指数形式。例3:下面四个选项中,均是不合法的浮点数的选项是_____。(A)160.0.12e3(B)1232e4.2.e5(C)-.18123e40.0(D)-.e3.2341e3答案:B详解:①160.0.12-.18123e40.0.2341e3是实数的十进制形式或指数形式。②e32e4.2.e5-.e3不是正确的指数形式。因为正确的字母e(或E)之前必须有数字,e后面指数必须为整数。对于数据表示形式.e5以及-.e3,e前的.与-.不是有效的数字表示形式。③123是整数形式。2、实型变量C实型变量分为单精度(float型)和双精度(double型)两类。在一般系统中,一个单精度型数据在内存中占4个字节(32位),一个double型数据占8个字节。一个单精度型变量能接收7位有效数字,一个double型变量能接收17位有效数字,数值的范围随机器系统而异。在IBMPC中,单精度实数的范围约为±(3.4E10-38~3.4E1038),双精度实数的范围约为±(1.7E10-308~1.710308)。例4:main(){floata;a=111111.666666;printf(“%f”,a);}输出结果:111111.640621详解: