文档库 最新最全的文档下载
当前位置:文档库 › 第八章 二级c语言

第八章 二级c语言

第八章 二级c语言
第八章 二级c语言

第八章变量的地址和指针

变量:整 int 4B 单精度 float 4B

双精度 double 8B

存储空间:随机存放

short int a,b; float c,d;

a 2B

b 2B

c 4B

d 4B

1012 1013 1018 1019 2010 2011 2012 2013

3033 3034 3035 3036

变量的地址:该变量所占存储单元的第一个字节的

地址

&a=1012 p a

*定义一个指针变量用于存放地址

4039 1012

地址就是指针

1.指针变量:存放(指向)不同地址的指针

定义:类型说明 *变量名;

int *p; (指向一个整型变量)

float *f;

2.给指针变量赋值

(1)int a,*p;

p=&a; /*将a变量的地址赋给指针p*/

(2)初始化赋值

int a,*p=&a;

3.赋值形式:

(1)赋值运算

int a,*p;

p=&a;

注意:p=1000; (错误)

(2)初始化赋值

int a,*p=&a;

(3)把一个指针变量的值送给相同类型的另一个指针变量

int a,*pa,*pb;

pa=&a;

pb=pa; /*两个指针同时指向a*/ (4)把数组的首地址,送给指针变量

(数组名就表示数组的首地址)

int b[5],*p;

p=b; 或者 p=&b[0] (也可以指在数组中间 p=&b[2])

(5)把字符串的首地址送给字符型的指针变量

char *p;

p="abcdef"; (把字符串的首地址送给p)

4.指针变量的运算

&:取地址符号 *:取内容运算符(把指针所指变量内容取出来)

优先级相同

main()

{int a,*p=&a;

a=5;

printf("%d\n",*p);

printf("%d\n",p);

printf("%d\n",&p);}

5.对指针变量的操作

(1)指针变量的加、减运算

(指针变量的加、减运算只针对数组或字符串的指针才有意义:是连续的存储单元)

±n表示指针向后或向前移动n个位置(存储单元) p=p+2; p=p-1;

注:指针加、减运算,数字"1"(或指针加1)不表示简单的地址加1,而是表示存储单元加1(也就是与存储单元长度有关、与类型有关)(基类型)

6.给指针变量赋空值

p=NULL; NULL是存放在stdio.h中的预定义符,代码为0

p称为“空指针”

等价于p=0;或 p='\0'

这时指针p并不是指向地址为0的存储单元,而是具有一个确定的值为空。

7.语句

*p=*p+1;

当*p出现在赋值号左边时,代表的是指针所指的存储单元;当*p出现在赋值号右边时,代表的是指针所指的存储单元的内容。

8.指向指针的指针定义方法:

int **p,*s,k=20;

s=&k; p=&s;

则*s代表存储单元k,*p代表存储单元s,因此**p也代表存储单元k

例8.1用指针指向两个变量,通过指针运算选出值小的那个数。

#include

main()

{int a,b,min,*pa,*pb,*pmin;

pa=&a; pb=&b; pmin=&min;

scanf("%d%d",pa,pb);

printf("a=%d b=%d\n",a,b);

*pmin=*pa;

if(*pa>*pb) *pmin=*pb;

printf("min=%d\n",min);}

8.5函数之间地址值的传递

1.形参为指针变量时实参和形参之间的数据传递

若函数的形参为指针类型,调用该函数时,对应的实参必须是基类型相同的地址值或者是已指向某个存储单元的指针变量。

例8.2编写函数myadd(int *a,int *b),函数中把指针a和b所指的存储单元中的两个值相加,然后将和值作为函数值返回。在主函数中输入两个数给变量,把变量地址作为实参,传送给对应形参。

#include

int myadd(int *a,int *b)

{int sum;

sum=*a+*b;

return sum;}

main()

{int x,y,z;

printf("Enter x,y:"); scanf("%d%d",&x,&y); z=myadd(&x,&y);

printf("%d+%d=%d\n",x,y,z);}

2.通过传送地址值在被调用函数中直接改变调用函数中的变量的值。

例8.3调用swap函数,交换主函数中变量x和y中的数据。

#include

void swap(int *,int *);

main()

{int x=30,y=20;

printf("(1)x=%d y=%d\n",x,y);

swap(&x,&y);

printf("(4)x=%d y=%d\n",x,y);}

void swap(int *a,int *b)

{int t;

printf("(2)a=%d b=%d\n",*a,*b);

t=*a; *a=*b; *b=t;

printf("(3)a=%d b=%d\n",*a,*b);}

注:函数:实参--->形参:临时开辟存储单元指针:传递地址没有新开辟存储单元,而是直接对其内容进行了操作。

例8.4编写函数order(int *a,int *b),使调用函数中的第一个实参总是存放两个数中的较小的数,第二个参数存放两个数中较大的数。

#include

void swap(int *x1,int *x2)

{int t;

t=*x1; *x1=*x2; *x2=t;}

void order(int *a,int *b)

{if(*a>*b) swap(a,b);}

main()

{int x,y;

printf("Enter x,y;"); scanf("%d%d",&x,&y);

printf("x=%d y=%d\n",x,y);

order(&x,&y);

printf("x=%d y=%d\n",x,y);}

3.函数返回地址值

函数值的类型不仅可以是简单的数据类型,而且可以是指针类型。

8.5以下函数把主函数中变量i和j中存放较大数的那个地址作为函值传回。

#include

int *fun(int *,int *);

main()

{int *p,i,j;

printf("Enter two number:");

scanf("%d%d",&i,&j);

p=fun(&i,&j);

printf("i=%d,j=%d,*p=%d\n",i,j,*p);}

int *fun(int *a,int *b)

{if(*a>*b) return a;

return b;}

c语言程序设计第二章课后参考答案

第二章:C程序的基本结构 一、单项选择题 1、以下不是C语言的特点的是________。 A)语言的表达能力强B)语言定义严格 C)数据结构系统化 D)控制流程结构化 2、TC编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是________。 A)编辑和编译 B)编译和连接 C)连接和运行D)编辑和运行 3、以下不是二进制代码文件是________。 A)标准库文件 B)目标文件C)源程序文件 D)可执行文件 4、下面个选项组中,均属于C语言关键字的一组是________。 A)auto,enum,include B)switch,typedef,continue C)signed,union,scanf D)if,struct,type 5、下面四组字符串中,都可以用作C语言标识符的是________。 A)print B)I \am C)signed D)if _maf scanf 3mf ty_pr mx_2d mx_ a.f x1# aMb6 AMB A&B 5XY 6、以下不属于流程控制语句的是_________。 A)表达式语句 B)选择语句 C)循环语句 D)转移语句 7、下面描述中,不正确的是________。 A)C语言的函数体由一系列语句和注释组成。 B)注释内容不能单独写在一行上。 C)C程序的函数说明部分包括对函数名、函数类型、形式参数等的定义和说明。 D)scanf和printf是标准库函数而不是输入和输出语句。 8、下面描述中,正确的是________。 A)主函数的花括号必须有,而子函数中的花括号是可有可无的。 B)一个C程序行只能写一个语句。 C)主函数是程序启动时的唯一入口。 D)函数体包含了函数说明部分。 二、填空题 1、一个完整的C程序至少要有一个________函数。(主函数) 2、标准库函数不是C语言本身的组成部分,它是由__________提供的功能函数。(编译系统) 3、C语言是以________为基本单位、整个程序由________组成。(函数函数) 4、常用的标准库函数有数学函数、字符函数和字符串函数、动态分配函数、随机函数和________函数等几个大类。(输入输出) 5、标准库函数存放在________文件中。(函数库) 6、目标程序文件的扩展名是________。(.obj) 7、程序连接过程是将目标程序、________或其它目标程序连接装配成可执行文件。(库函数) 8、因为源程序是________类型文件,所以用具有文本编辑功能的任何编辑软件程序完成编辑。(文本)

计算机二级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语言PTA平台习题与答案

第二章作业 1 ①.本题要求编写程序,输出一个短句“Welcome to You!” #include int main() { printf("Welcome to You!\n"); return 0; } ②.本题要求编写程序,计算华氏温度100°F对应的摄氏温度。计算公式:C=5×(F?32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。 fahr = 100, celsius = 计算所得摄氏温度的整数值 #include int main() { int fahr = 100; int celsius = 5*(fahr-32)/9; printf("fahr = 100,celsius = %d\n",celsius); return 0; } 第二章作业2 ①求整数均值本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。 在一行中按照格式“Sum = 和; Average = 平均值”顺序输出和与平均值,其中平均值精确到小数点后一位 #include int main() { int a,b,c,d,Sum; double Average; scanf("%d %d %d %d",&a,&b,&c,&d); Sum = a + b + c + d; Average = (a + b + c + d)/4.0; printf("Sum = %d,Average = %.1f\n",Sum,Average); return 0; } ②整数四则运算本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内 输入在一行中给出2个正整数A和B。 在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商。 #include int main() { int a; int b; scanf("%d %d",&a,&b); printf("%d + %d = %d\n",a,b,a+b); printf("%d - %d = %d\n",a,b,a-b); printf("%d * %d = %d\n",a,b,a*b);

第二章 C语言习题

第二单元顺序程序设计 一.选择题 1.若m为float型变量,则执行以下语句后的输出为。 m=1234.123; printf("%-8.3f\n",m); printf("%10.3f\n",m); A. 1234.123 B. 1234.123 C. 1234.123 D. -1234.123 1234.123 1234.123 1234.123 001234.123 2.若x,y,z均为int型变量,则执行以下语句后的输出为。 x=(y=(z=10)+5)-5; printf("x=%d,y=%d,z=%d\n",x,y,z); y=(z=x=0,x+10); printf("x=%d,y=%d,z=%d\n",x,y,z); A. X=10,Y=15,Z=10 B. X=10,Y=10,Z=10 X=0,Y=10,Z=0 X=0,Y=10,Z=10 C. X=10,Y=15,Z=10 D. X=10,Y=10,Z=10 X=10,Y=10,Z=0 X=0,Y=10,Z=0 3.若x是int型变量,y是float型变量,所用的scanf调用语句格式为: scanf("x=%d,y=%f",&x,&y); 则为了将数据10和66.6分别赋给x和y,正确的输入应是:。 A. x=10,y=66.6<回车> B. 10 66.6<回车> C. 10<回车>66.6<回车> D. x=10<回车>y=66.6<回车> 4.已知有变量定义:int a;char c;用scanf(“%d%c”,&a,&c);语句给a和c输入数据,使30 存入a,字符‘b’存入c,则正确的输入是:。 A. 30’b’<回车> B. 30 b<回车> C. 30<回车>b<回车> D. 30b<回车> 5.已知有变量定义:double x;long a; 要给a和x输入数据,正确的输入语句是。若要输出a 和x的值,正确的输出语句。 A. scanf(“%d%f”,&a,&x); B. scanf(“%ld%f”,&a,&x); printf(“%d,%f”,a,x); printf(“%ld,%f”,a,x); C. scanf(“%ld%lf”,&a,&x); D. scanf(“%ld%lf”,&a,&x); printf(“%ld,%lf”,a,x); printf(“%ld,%f”,a,x); 6.若有定义double x=1,y;则以下的语句执行的结果是。 y=x+3/2; printf(“%f”,y); A.2.500000 B.2.5 C.2.000000 D.2 7.若a为整型变量,则以下语句。

全国计算机二级考试C语言(最全复习资料)

二级公共基础知识作为必考内容出现,出题形式为选择题前10道,占考试总分的10%。 考试其它比重: 1、C语言程序的结构占总分1% 2、数据类型及其运算占总分4% 3、选择结构程序设计占比分的3% 4、循环结构占比分的5% 5、数组的定义和引用占比分的5% 6、函数占比分的5% 7、编译预处理占比分1% 8、指针占比分的5% 9、结构体占比分的3% 10、位运算占比分的2% 11、文件操作占比分的2% 考试方式 上机考试,时长120分钟 单选题40分(含公共基础10分),操作题60分(包括程序填空题、程序修改题、程序设计题) 第一部分 C语言知识复习资料 第一章C语言基本知识(90分) 【考点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】常量与变量 常量是指在程序运行过程中,其值不能改变的量。常量分为整型常量、实型常量、字符常量、字符串常量、符号常量5种。在程序运行过程中其值可以改变的量称为变量。C语言中没有字符串变量。存放字符串使用字符数组。 【考点8】整型数据 整型常量有十进制、八进制、十六进制三种表示形式,没有二进制形式。八进制整型常量加前导数字0,十六进制常量加前导0X,八进制常量中不会出现8。 整型变量可分为基本整型(int)、短整型(short)、长整型(long)、和无符号整型(unsigned)。一个基本整型占4个字节。其它类型的整型占用字节数和取值范围详见教材第9页。 【考点9】实型数据 实型数据有两种表示形式:小数形式和指数形式。掌握判定指数形式合法性。 口诀:E前E后必有数,E后必须为整数。 实型变量分为单精度型(float)和双精度型(double),单精度型占四个字节。 【考点10】算术运算 算术运算符一共有+、—、*、/、%这五个。求余运算要求运算对象只能为整型,除法运算符两边运算对象都为整型时,运算结果也为整型即舍掉小数部分。 【考点11】强制类型转换 将一个运算对象转换成指定类型,格式为(类型名)表达式,注意小括号位置。 【考点12】赋值 赋值运算符为“=”,不同于关系等于“= =”。赋值表达式格式为:变量名=表达式,赋值运算符左边必须为变量,赋值运算是把赋值运算符右边表达式的值赋给左边变量。

C语言详解(第五版)第二章程序设计项目答案

C语言详解(第五版)程序设计项目答案第二章 1.编写一个程序,以每英里0.35的费率计算一个售货员的里程偿还金。程序中要求与用户进行如下方式的交互。 #include #include int main(void) {float mile_1,mile_2,miles,consume,payment; printf("MILEAGE REIMBURSEMENT CALCULATOR\n"); printf("Enter begainning odometer reading>\n"); scanf("%f",&mile_1); printf("Enter endding odometer reading>\n"); scanf("%f",&mile_2); printf("Enter consume per mile>\n"); scanf("%f",&consume); miles=mile_2-mile_1; payment=miles*consume; printf("You traveled%f miles.At%f per mile,your reimbursement is%f",miles,consume,payment); system("pause"); return(0); } 2.编写一个程序,用于辅助设计水力发电大坝。提示用户输入大坝高度,以及水流量。如果水由重力所做的功有90%转化为电能,测算会有多少M瓦的功率。 #include #include int main(void) {double density,weight,gravitational_acceleration, efficiency,height,water_flow_rate,work,electricity_power; printf("Please type in the density of water>"); scanf("%lf",&density); printf("Please type in the gravitational_acceleration>"); scanf("%lf",&gravitational_acceleration); printf("Please type in the height of the water>"); scanf("%lf",&height); printf("Please type in the efficiency of the transformation\nfrom water to electricity>"); scanf("%lf",&efficiency); printf("Please type in the water_flow_rate>"); scanf("%lf",&water_flow_rate); weight=density*water_flow_rate; work=weight*height*gravitational_acceleration; electricity_power=work*efficiency/1000000; printf("The electric energy production is%fW",electricity_power); system("pause"); return0; }

C语言第二章习题

1.以下叙述中错误的是( )。 A) 使用三种基本结构构成的程序只能解决简单问题 B) 结构化程序由顺序、分支、循环三种基本结构组成 C) C语言是一种结构化程序设计语言 D) 结构化程序设计提倡模块化的设计方法 2.以下可以将任意一个两位整数n的个位数与十位数对换的表达式为() A) (n-n/10*10)*10+n/10 B) n-n/10*10+n/10 C) n/10+(n-n/10) D) (n-n/10)*10+(n/10) 3.以下叙述中错误的是 A) 算法正确的程序可以有零个输入 B) 算法正确的程序最终一定会结束 C) 算法正确的程序可以有零个输出 D) 算法正确的程序对于相同的输入一定有相同的结果 4.若有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++) : (y ++)中的条件表达式(x-y) 等价的是( )。 A) (x-y<0||x-y>0) B) (x-y<0) C) (x-y>0) D) (x-y==0) 5.有以下程序

—#include main() { int a; a = (int)1.99*3; printf("%d\n", a); } 程序的运行结果是() A) 3 B) 5 C) 6 D) 结果不确定 6.请选出合法的C语言赋值语句:() A) a=b=58 B) i++; C) a=58,b=58 D) k=int(a+b) 7.假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表 示代数式 1/abc 的表达式是:() A) 1/a*b*c B) 1/(a*b*c) C) 1/a/b/(float)c D) 1.0/a/b/c 8.请选出以下语句的输出结果:() printf("%d\n",strlen("\t\"\065\xff\n"));//srelen()为求字符串长度的函数,返回字节数。

C语言第二章习题带答案

1.C语言中的简单数据类型包括( B )。 A.整型、实型、逻辑型B.整型、实型、字符型 C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型2.在C语言中,错误的short类型的常数是( A )。 A.32768 B.0 C.037 D.0Xaf 3.下列常数中不能作为C的常量的是( D )。 A.0x45 B.2.5e-2 C.3e2 D.0582 4.short类型的数据长度为2个字节,则unsigned short类型数据的取值范围是( B )。 A.0至255 B.0~65535 C.-32768~32767 D.-256~255 5.下面4个选项中,均是合法转义字符的选项是( A )。 A.'\'','\\','\n' B.'\','\017','\' C.'\018','\f','xab' D.'\\0,'101','x1f 6.在C语言中,数字029是一个( D )。 A.八进制数B.十六进制数 C.十进制数D.非法数 7.下列可以正确表示字符型常数的是( B )。 A."a" B.'\t' C."\n" D.297 8.以下( C )是错误的转义字符。 A.'\\' B.'\'' C.'\81' D.'\0' 9.C语言中short类型的变量a的值为-8,则a在内存中的存储形式是( A )。 A.1111 1111 1111 1000 B.100000000000 1000 C.000000000000 1000 D.1111 1111 1111 0111 10.将字符g赋给字符变量c,正确的表达式是( C )。 A.c="g" B.c=101 C.c='\147' D.c='0147' 11.字符串"\\\22a,0\n"的长度是( C )。 A.8 B.7 C.6 D.5 12.为求出s=10!的值,则变量s的类型应当为( C )。 A.short B.unsigned short C.long D.以上三种类型均可13.已知:unsigned short x=65535;,则执行以下语句输出是( D )。 printf("%d\n", x); A.65535 B.1 C.无定值D.-1 14.下面4个选项中,均是合法整型常量的选项是( A )。 A.160,-0xffff,011 B.-0xcdf,01a,0xe C.-01,986,012,0668 D.-0x48a,2e5,0x 15.下面4个选项中,均是不合法的整型常量的选项是( D )。 A.--0f1,-0xffff,0011 B.-0Xcdf,01a,0xe C.-018,999,5e2 D.-0x48eg,-068,03f 16.下面4个选项中,均是合法浮点数的选项是( B )。 A.+1e+1,5e-9.4,03e2 B.-.60,12e-4,-8e5 C.123e,1.2e-.4,+2e-1 D.-e3,.8e-4,5.e-0

计算机二级c语言13章先择题(带答案)

1.第一章第二章 1.C语言的函数体由()括起来。 A)<> B){} C)[] D)() 2.下面叙述错误的是() A)一个C源程序可由一个或多个函数组成 B)构成C语言源程序的基本单位是语句 C)C源程序中大、小写字母是有区别的 D)若一条语句较长,可分写在下一行或多行上 3.下面叙述正确的是() A)每行最多只能写两条语句 B)main()函数必须位于源程序文件的开头C)所有语句都必须以分号;结束 D)程序中必须含有自定义函数 4.C源程序中main()函数的位置()。 A)必须位于程序的最前面 B)必须在自定义函数前面C)必须在系统库函数后面 D)可以在自定义函数后面 5.结构化程序设计不包括()。 A)最优化 B)自顶而下,逐步细化C)模块化设计 D)结构化编码 6.下面叙述中,()不是结构化程序设计中的三种基本结构之一。 A)数据结构B)选择结构C)循环结构D)顺序结构

2.第三章数据类型、运算符和表达式 1.(B )为非法的字符串常量 A)“056”B)‘123’C)““D)“case” 2.( B )为正确的用户标识符。 A)min-5 B)max_at C)3_row D)union 3.以下(D )是正确的变量名。 A) a.bee B) -p11 C) int D) p_11 4.以下(D )是正确的变量名。 A)5f B)if C) f.5 D)_f5 5.以下(D )是正确的常量。 A)E-5 B)1E5.1 C)'a12' D)32766L 6.以下(A )是不正确的字符串常量。 A)'abc' B)"12'12" C)"0" D)" " 7.以下(BC )是正确的字符常量。 A)"c" B)'\\' C)'W' D)"\32a" 8.char型变量存放的是(A)。 A)ASCII代码值 B)字符本身C)十进制代码值 D)内码值 9.( B)为合法的常量。 A)5,236 B) 1.23E+8 C)‘b_k’D) 3.21E-6.5 10.(D)为正确的字符常量 A)‘\084’B)‘bcd’C)‘165’D)‘@’ 11.若有定义:int b=-15;则(D)为正确的赋值表达式。 A)*b=6 B)b=*5 C)b+10=-5 D)b+=b*3 12.若有定义:int x=2;则正确的赋值表达式是(A )。 A)a-=(a*3) B)double(-a) C)a*3 D)a*4=3 13.若有定义:float x=2,y;int a=3 ;语句y=1*(x+a)/3;运行后,y的值为(B)。 A)2.0 B)1.666667 C)1.0 D)0 14.若有定义:int a,b=5;语句a=(b/2)+b%2;运行后,a的值为(A ) A) 3 B) 4 C)0 D)2 15.下面叙述正确的是(B) A)2/3与2%3等价 B)5/(int)4.0与5/4等价C)++2与--3等价 D)++2与3等价 16.若有定义:int a,b=6;语句a=--b;运行后,a、b的值分别是(C)。 A) 6 6 B) 5 6 C) 5 5 D) 6 5 17.若有定义:int i=3,j=6;则表达式(--i)*(j++)的值为( D)。

c语言第二章习题

第二章练习题 一、填空题 1、在C语言中的实型变量分为两种类型,它们是float型和()型。 2、若有定义:char c='\010';则变量c中包含的字符个数为() 3、已知字母a的ASCII码为十进制数97,且设ch为整型变量,则表达式ch='a'+'8'-'3'的值为() 4、在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为()个;一个int型数据在内存中所占的字节数为()个。 5、在C语言中,表示逻辑“假”值用数字()表示。 6、C语言中的标识符只能由字母、数字和()三种字符组成。 7、表达式8/4*(int)(2.5)/(int)(1.25*(3.7+2.3))的值为() 8、整型常量即整常数。可用三种形式表示:十进制整数、八进制整数以()开头、十六进制整数以()开关(注:请用小写字母) 9、请将75写成C语言八进制和十六进制表示(),()。 10、若有定义:int m=5,y=2;则计算表达式y+=y-=m*=y后的y值是() 11、若a是int型变量,则表达式(a=4*5,a*2),a+6的值为()。 12、若a,b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为(),b值为(),c值为()。 13、若a是int型变量,且a的初值为6,则计算表达式a+=a-=a*a后a的值为() 14、若a是int型变量,则计算表达式a=25/3%3 后a的值为() 15、若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值为(),n的值为() 16、若有定义:int b=7;float a=2.5,c=4.7;则下面表达式的值为() a+(int)(b/3*(int)(a+c)/2)%4 17、若有以下定义:int a=2,b=3;float x=3.5,y=2.5;则下面表达式的值为()(float)(a+b)/2+(int)x%(int)y 18、若有定义:int x=3,y=2;float a=2.5,b=3.5;则下面表达式的值为() (x+y)%2+(int)a/(int)b 19、所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为() 20、若有定义:int e=1,f=4,g=2;float m=11.29,n=4.0,k;则计算赋值表达式k=(e+f)/g+sqrt(n*1.2/g+m)后k的值是() 21、若x为int型变量,则执行以下语句后x的值是()

C语言第二章习题带答案

练习2-1 答案选择题 1. C语言中的简单数据类型包括(B ) o A.整型、实型、逻辑型 B.整型、实型、字符型 C?整型、字符型、逻辑型 D.整型、实型、逻辑型、字符型 2. 在C语言中,错误的short类型的常数是(A )。 A. 32768 B. 0 C. 037 D. 0Xaf 3. 下列常数中不能作为C的常量的是(D ) o A. 0x45 B. -2 C. 3e2 D. 0582 4. short 类型的数据长度为2个字节,则unsigned short 类型数据的取值范围是( B) A. 0 至255 B. 0~65535 C. -32768~32767 D. -256~255 5. 下面4 个选项中,均是合法转义字符的选项是( A ) o A. '\'' ,'\\' ,'\n' B. '\' ,'\017' ,'\' C. '\018' ,'\f' ,'xab' D. '\\0 ,'101' ,'x1f 6. 在C语言中,数字029是一个(D ) o A.八进制数B?十六进制数C.十进制数 D.非法数 7.下列可以正确表示字符型常数的是( B ) o A."a" B.'\t' C."\n" D.297 8. 以下(C)是错误的转义字符。 9. C语言中short类型的变量a的值为-8,则a在内存中的存储形式是(A ) 10. 将字符g赋给字符变量c,正确的表达式是(C) o A.c="g" B.c=101 C.c='\ 1 47' 11.字符串"\\\22a,0\n" 的长度是( C ) o A.8 B.7 C.6 12.为求出s=10!的值,则变量s的类型应当为(C) o A.short B.unsigned short C.long 13.已知:unsigned short x=65535; ,则执行以下语句输出是( D) o printf("%d\n", x) ; A. 65535 B. 1 C.无定值 D. -1 14.下面4个选项中,均是合法整型常量的选项是( A ) o A.160,-0xffff ,011 B.-0xcdf ,01a,0xe C.-01 ,986,012,0668 D.-0x48a,2e5,0x 15.下面4个选项中,均是不合法的整型常量的选项是( D ) o A .--0f1 ,-0xffff ,0011 B.-0Xcdf ,01a,0xe C .-018,999,5e2 D.-0x48eg ,-068 , 03f 16.下面4个选项中,均是合法浮点数的选项是( B ) A.+1e+1,,03e2 B.,12e-4 ,-8e5 A.'\\' B.'\'' C.'\81' D.'\0' A.1111 1111 1111 1000 B.1000 C.000000000000 1000 D.1111 1111 1111 0111 D.c='0147' D.5 D.以上三种类型均

C语言第二章习题及详解

二、第二章 1、设整型变量a的值为2,下列表达式值为1的是__。(A) A)a%3B)a/3=0C)--a D)a++ 2.设变量a、b、c已定义并赋值,则下列表达式中符合C语言语法规则的是__。(B) A)a=5++操作数只能是变量B)a=b=c++C)a=%2D)b=a+1=2左边只能是单个变量,即变量1=变量2=。。。 3.下列式中,最终运算结果的数据类型不是单精度的表达式是__。(A) A)(int)(3+3.0)B)1e-3fen:n必须为整数C)(float)(3)D)(int)3.0+3.0 4.字符串”ab\x41\\34cd\102y”的长度是_A_。\xhh表示ASCII码:例\x41,41是16进制的。字符串含有’\0’。’\102’也表示ASCII码,但102是8进制的,长度为10,储存空间占11个字节。 A)10B)12C)14D)18 5、变量是在程序运行过程中可改变的它的三要素是类型、名称、数值 6.以下选项中合法的常量是?D A)’Internet’B)E_3变量C)02x D)0xfeL 7.以下选项中合法的赋值表达式是?C A)d=8+a+f=d+6同2D B)d=(a+8)++同2A C)d=(8+e,e++,d+9)D)d=7+e++=d+7

8.main() {int x=5,y=3; float f; f=x/y;表示为整形 printf(“f=%f\n”,f); } 则程序的输出结果是?f=1.000000 9.设整型变量x,y,z均为2,表达式(x++)+(y++)+(z++)的值是_A先使用值再加 加_。 A)6B)7C)8D)9 10.设int a=3,b=5;float x=7.5,y=3.5;则表达式(float)a+b/2+(int)x%(int)y; 的值是6.0__。 *11.执行语句:int a;a=‘1’+1.5;后,正确的叙述是_D_。 A)a的值是字符‘3’B)a的值是浮点型 C)不允许字符型和浮点型相加 D)a的值是字符’1’的ASCII码值加上1 12.设int类型的数据长度为2个字节,则unsigned int类型数据的取 值范围是_B_。 A)均为2个字节TC与VC不一样B)0~65535 C)-32768~32767D)-256至255

C语言第二章习题带答案

练习2-1答案 选择题 1.C语言中的简单数据类型包括( B )。 A.整型、实型、逻辑型B.整型、实型、字符型 C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型2.在C语言中,错误的short类型的常数是( A )。 A.32768 B.0 C.037 D.0Xaf 3.下列常数中不能作为C的常量的是( D )。 A.0x45 B.-2 C.3e2 D.0582 4.short类型的数据长度为2个字节,则unsigned short类型数据的取值范围是( B )。 A.0至255 B.0~65535 C.-32768~32767 D.-256~255 5.下面4个选项中,均是合法转义字符的选项是( A )。 A.'\'','\\','\n' B.'\','\017','\' C.'\018','\f','xab' D.'\\0,'101','x1f 6.在C语言中,数字029是一个( D )。 A.八进制数B.十六进制数 C.十进制数D.非法数7.下列可以正确表示字符型常数的是( B )。 A."a" B.'\t' C."\n" D.297 8.以下( C )是错误的转义字符。 A.'\\' B.'\'' C.'\81' D.'\0' 9.C语言中short类型的变量a的值为-8,则a在内存中的存储形式是( A )。 A.1111 1111 1111 1000 B. 1000 C.000000000000 1000 D.1111 1111 1111 0111 10.将字符g赋给字符变量c,正确的表达式是( C )。 A.c="g" B.c=101 C.c='\147' D.c='0147' 11.字符串"\\\22a,0\n"的长度是( C )。 A.8 B.7 C.6 D.5 12.为求出s=10!的值,则变量s的类型应当为( C )。 A.short B.unsigned short C.long D.以上三种类型均可 13.已知:unsigned short x=65535;,则执行以下语句输出是( D )。 printf("%d\n", x); A.65535 B.1 C.无定值D.-1 14.下面4个选项中,均是合法整型常量的选项是( A )。 A.160,-0xffff,011 B.-0xcdf,01a,0xe C.-01,986,012,0668 D.-0x48a,2e5,0x 15.下面4个选项中,均是不合法的整型常量的选项是( D )。 A.--0f1,-0xffff,0011 B.-0Xcdf,01a,0xe C.-018,999,5e2 D.-0x48eg,-068,03f

计算机等级考试二级C语言高频考点(C语言部分)

计算机等级考试二级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】常量与变量 常量是指在程序运行过程中,其值不能改变的量。常量分为整型常量、实型常量、字符常量、字符串常量、符号常量5种。在程序运行过程中其值可以改变的量称为变量。C语言中没有字符串变量。存放字符串使用字符数组。 【考点8】整型数据

c语言第1、2章练习题答案

第1、2章练习题 1.以下叙述正确的是()。B A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如fun(fun(x)) C)C语言函数不可以单独编译D)C语言除了main函数外,其他函数不可以作为单独文件形式存在2.以下叙述正确的是()。C A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句 C)简单的C语句必须以分号结束D)C语句必须在一行内写完 3.以下叙述中正确的是()。C A)C程序中的注释只能出现在程序的开始位置和语句的后面 B)C程序书写格式严格,要求一行内只能写一条语句 C)C程序书写格式自由,一条语句可以写在多行上 D)用C语言编写的程序只能放在一个程序文件中 4.下列叙述中错误的是()。A A)一个C语言程序只能实现一种算法B)C语言程序可以由多个程序文件组成 C)C语言程序可以由一个或多个函数组成D)一个C函数可以单独作为一个C程序文件存在5.以下叙述中正确的是()。C A)C语言程序将从源程序中的第一个函数开始执行 B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行 C)C语言规定必须用main作为主函数名,程序从此开始执行,在此结束 D)main可作为用户标识符,用以命名任意一个函数作为主函数 6.对于一个正常运行的C程序,以下叙述正确的是()。A A)程序的执行总是从main函数开始,在main函数中结束 B)程序的执行总是从程序的第一个函数开始,在main函数结束 C)程序的执行总是从main函数开始,在程序的最后一个函数中结束 D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束 7.下列叙述正确的是()。D A)每个C语言程序文件中都必须有一个main( )函数 B)在C语言程序中main( )函数的位置是固定的 C)C语言程序中所有函数之间都可以相互调用,与函数所在的位置无关 D)在C语言程序的函数中不能定义另一个函数 8.下列叙述中错误的是()。B A)C程序在运行过程中所有计算机都以二进制方式进行 B)C程序在运行过程中所有计算机都以十进制方式进行 C)所有C程序都需要在链接无误后才能运行 D)C程序中整型变量只能存放整数,实型变量只能存放浮点数 9.计算机能直接执行的程序是()。D A)源程序B)目标程序C)汇编程序D)可执行程序 10.C语言源程序的后缀名是()。B A).exe B).c C).obj D).cp 11.下列叙述中错误的是()。D A)计算机不能直接执行用C语言编写的源程序 B)C程序经C编译器编译后,生成后缀为.obj的文件,这是一个二进制文件 C)后缀为.obj的文件,经连接后生成后缀为.exe的文件,这是一个二进制文件 D)后缀为.obj和.exe的二进制文件都可以直接运行 12.算法中,对需要执行的每一步操作都必须给出清楚、严格的规定,这属于算法的()。C

C语言程序设计第二章答案

何钦铭,颜晖主编版第二章答案课本38页 第一题 #include"stdafx.h" #include"stdio.h" #include"iostream" int _tmain(int argc, _TCHAR* argv[]) { int num1,num2; int a1,a2,a3,a4,a5; printf("num1=\n"); scanf("%d",&num1); printf("num2=\n"); scanf("%d",&num2); a1=num1+num2; a2=num1-num2; a3=num1*num2; a4=num1/num2; a5=num1%num2;

printf("a1=%d\na2=%d\na3=%d\na4=%d\na5=%d\n",a1,a2,a 3,a4,a5); system("pause"); return 0; } 第二题 // 38.2.cpp : 定¨义?控?制?台 ?应畖用?程ì序?的?入?口ú点?。£ // #include"stdafx.h" #include"stdio.h" #include"iostream" int _tmain(int argc, _TCHAR* argv[]) { float a,b; printf("使?用?的?电?量?是?:\n"); scanf("%f",&a); if (a<=50){

b=a*0.53; } else{ b=50*0.53+(a-50)*(0.53+0.05); } printf("支§付?的?电?费?是?:阰%2f\n",b); system("pause"); return 0; } 第三题 // 38.3.cpp : 定¨义?控?制?台 ?应畖用?程ì序?的?入?口ú点?。£ // #include"stdafx.h" #include"stdio.h" #include"iostream"

相关文档
相关文档 最新文档