《c语言期末复习》课件_第1页
《c语言期末复习》课件_第2页
《c语言期末复习》课件_第3页
《c语言期末复习》课件_第4页
《c语言期末复习》课件_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

题型:20*2=402*10=20选择题填空题改错题编程题2*10=202*10=20题型:20*2=402*10=20选择题填空题改错题编程题2改错、填空多考点:#include<math.h>

预处理#defineN10宏定义floatff(floata,floatb,floatc);

函数声明main()主函数{inti,j,a[10],*p,sum,x=1;变量定义sum=0;赋值scanf(“%d”,&a[0]);输入语句,参数是地址if(i==0)for(;;),while语句的考察,注意表达式的判断,循环体语句的判断。输出语句}}改错、填空多考点:#include<math.h>函数调用intss(inta,intb[],int*q){}main(){intx,s[10],y;ss(x,s,&y);

实参和形参个数相同,类型相同。}函数调用intss(inta,intb[],int*双层循环inta[5][6]for(i=0;i<5;i++)for(j=5;j>=0;j--)i,j的范围if(i%2==0)奇数位对应偶数下标a[i][j]=i+j+1;规律双层循环inta[5][6]总体上必须清楚的:

1)程序结构是三种:顺序结构

,循环结构(三个循环结构),选择结构(if和

switch)。

2)读程序都要从main()入口,然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。

3)计算机的数据在电脑中保存是以二进制的形式。数据存放的位置就是他的地址。

4)二进制如何划成十进制。总体上必须清楚的:

1)程序结构是三种:顺序结构,循环概念常考到的:

1、编译预处理不是C语言的一部分,不占运行时间。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。

2、每个C语言程序中main函数是有且只有一个。

3、在函数中不可以再定义函数。定义不可嵌套,但调用可以。

4、break可用于循环结构和switch语句。5、优先级:单目(++,--,!)>算术表达式>关系表达式>逻辑表达式>三目>赋值。

概念常考到的:

1、编译预处理不是C语言的一部分,不占运行时14.C语言的下列运算符中,优先级最高的运算符是(

)。A.++ B.+= C.|| D.!=下列叙述正确的是()

A为提高程序运行速度可在源程序中加入一些宏定义

B一个C语言源程序只能有一条预处理命令C宏定义不占用程序运行时间,但与程序中的语句一样需要编程D宏定义中的宏名必须用大写字母表示

AC14.C语言的下列运算符中,优先级最高的运算符是()。第一章1)合法的用户标识符由字母,数字,下划线组成。并且第一个必须为字母或则是下划线。关键字不可以作为用户标识符号。main

define

scanf

printf都是关键字。If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。

2)实型数据的合法形式:

2.333e-1就是合法的,且数据是2.333×10-1。

考试口诀:e前e后必有数,e后必为整数。2.3小数点前后可省略其中一个。

3)字符数据的合法形式::

'1'是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号‘\0’)。

'0'的ASCII数值表示为48,'a'的ASCII数值是97,'A'的ASCII数值是65。4)char是1字节,int是2字节,long是4字节,float是4个字节,double是8字节

第一章1)合法的用户标识符由字母,数字,下划线组成。并且第一

5)在转义字符中,’\x6d’十六进制数。

‘\141’八进制数。

‘\108’是非法的,因为不可以出现8。

6)强制类型转换:

一定是(int)a不是

int(a),类型上一定有括号的。

注意(int)(3.6+3.6)=7和(int)

3.6+3.6=6.6的区别。

7)表达式的考查:

是表达式就一定有数值。

赋值表达式:表达式左边一定是一个变量。

自加、自减表达式:假设a=5,++a(是为6),

a++(为5);考试口诀:++在前先加后赋,++在后先赋后加。

逗号表达式:优先级别最低;表达式的数值逗号最右边的那个表达式的数值。(2,3,4)的表达式的数值就是4。

8)位运算的考查:会有一到二题考试题目。

<<左移一位表示乘以2,2位乘4,3位乘8;>>右移一位表示除以2,2位除4,3位除6。

9)%(求余)符号两边要求是整数。

10)取整丢小数的情况:1、(int)1.6=1;2、1/2=0;

5)在转义字符中,’\x6d’十六进制数。

18.(

)为正确的变量名。A.-k15 B.int C.k_5 D.k.jeep19.(

)为正确的字符常量。A.''\\'' B."\24m" C."c" D.'M'22.以下选项中,合法的实型常数是(

)。A.E-3 B..2E1 C.1E.5 D.1.5E29.语句

k=(m=5,n=++m);运行之后,变量k、m、n的值依次为(

)。A.5,5,6 B.5,6,5 C.6,6,5 D.6,6,635.若有定义:intm=4,n=5;floatk;,则以下符合C语言语法的表达式是(

)。A.(m+n)*=k B.m=(n==5) C.k=float(n)/m D.n%2.544.若有定义

inti=1,j=9;则表达式

(++j)*(i--)的值为(

)。A.0 B.10 C.9 D.8cDBDBB18.()为正确的变量名。44.若有定义inti第二章

1)printf函数的格式考查:

%d对应int整型;%c对应char字符;%f对应float单精度;

%ld对应

longint;%lf对应double。宽度的,左对齐等修饰。

%.3f

2)scanf函数的格式考察:

注意该函数的第二个部分是&a这样的地址,不是a;

scanf(“%d%d%*d%d”,&a,&b,&c);跳过输入的第三个数据(b没赋值)。输入语句不能出现%6.2f,只能是%6f。

3)putchar,getchar函数的考查:

char

a;a=getchar()是没有参数的,从键盘得到你输入的一个字符给变量a。

putchar(‘y’)把字符y输出到屏幕中。

4)如何实现两个变量x,y中数值的互换(要求背下来)

不可以把

x=y,y=x;要用中间变量

t=x;x=y;y=t。5)while((c=getchar())!=’\n’)

注意点:括号在这里的重要性。

第二章

1)printf函数的格式考查:

%d对应52.

若已定义:inta=5,b=9,c=6;则语句

b++;++c;a=b-c;运行后a的值为(

)。A.5 B.3 C.2 D.454.若已定义

floatx;要从键盘输入数据36.582给变量x,则应选用(

)语句。A.scanf("%2.3f",&x); B.scanf("%6f",&x);C.scanf("%6.3f",&x); D.scanf("%5.3f",&x);58.若已定义

inta=11;执行以下语句后的输出结果是(

)。

printf("a=%d,a=%o,a=%x\n",a,a,a);A.a=11,a=11,a=b B.a=11,a=13,a=bC.a=11,a=13,a=c D.a=11,a=12,a=1361.以下程序段的运行结果是(

)。

inta=1;printf("%d,%d,%d\n",a,++a,a++);3,3,1 B.1,2,2C.1,2,3 D.3,2,1BBBA52.若已定义:inta=5,b=9,c=6;则语句66.有以下程序:main(){intc;while((c=getchar())!='\n'){switch(c-'2'){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);default:putchar(c+2);break;}}}当输入:247<回车>,程序的输出结果是(

)。689 B.6689C.66778 D.66887B66.有以下程序:Bc语言中是用非0表示逻辑真的,用0表示逻辑假的。

1)关系表达式:

表达式的数值只能为1(表示为真),或0(表示假)

关系的表达是为真的时候得到1。如

9>8这个是真的,所以表达式的数值就是1;a>b>c的问题

2)逻辑表达式:

为1(表示为真),0(表示假)

a)!>&&>||

优先的级别。

b)不完全计算问题。

c)要表示

x是比0大,比10小的方法。0<x<10是不可以的。

一定要用

(0<x)&&(x<10)。

c语言中是用非0表示逻辑真的,用0表示逻辑假的。36.若有定义:inta=6;则语句

a*=a-=a/=3;运行后,a的值是(

)。A.10 B.0 C.34 D.2446.若已定义

inta=3,b=2,c=1;则语句

++a||++b&&++c;运行后b的值为(

)。A.0 B.3 C.1 D.248.若已定义:inta=2,b=2;则表达式

(a+(b++),b)的值是(

)。A.2 B.3 C.4 D.669.若已定义

intx=-16,y=-12,z;语句z=x<=y;运行后z的值为(

)。.t. B.1 C..f. D.071.若定义

inta=2,b=3;则表达式

!a||b的值为(

)。A.0 B.1 C.2 D.3BBCBB36.若有定义:inta=6;则语句a*=a-=a/73.下列表达式()不能用来判断整型变量x中的值是否为奇数。A.x%2==1 B.!(x%2==0) C.!(x%2) D.x%274.若有定义:inta=3,b=2,c=3;则值为0的表达式是(

)。A.(a-b)==(c/b) B.a>=cC.c-b||a+b&&(b*c-a-c) D.(b*c-a-c)&&(b*c-a-b)80.已定义

doublek=3.6;则正确的赋值表达式是(

)。A.k=double(-3.6) B.k%3C.k=k*(-1.0)=-3.6 D.k+=k-=(k=1.2)*(k=3)89.若有定义:floatx=2,y=4,h=3;下列表达式中与(x+y)*h/2.0计算结果不相符的是(

)。(x+y)*h/2 B.(x+y)*h*1/2C.(1/2)*(x+y)*h D.h/2*(x+y)CDDc73.下列表达式()不能用来判断整型变量x中的值是1)if语句

else是与最接近的if且没有else配套的相组合的。

2)条件表达式:

条件表达式1?表达式2:表达式3

注意是条件判断为真时执行表达式2的数值,当是假时执行表达式3的数值。

3)switch语句:

a)一定要注意:有break和没有break的差别,没有break时候,只要有一个case匹配了,剩下的都要执行,有break则是直接跳出了

swiche语句。

b)switch只可以和break一起用,不可以和continue用。第三章1)if语句

else是与最接近的if且没有els79.以下程序运行后,a的值是(

)。main(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}}A.101 B.100 C.8 D.7c79.以下程序运行后,a的值是()。c98.以下程序段运行后变量k的值为(

)。inta=3,b=2;

intk;k=(--a==b++)?a:b+1;A.0 B.1 C.2 D.399.以下程序的运行结果是(

)。voidmain(){intn=9;switch(n--){default:printf("%d",n++);case8:case7:printf("%d",n);break;case6:printf("%d",n++);case5:printf("%d",n);}}A.8 B.7 C.89 D.87cc98.以下程序段运行后变量k的值为()。cc101.

以下程序的运行结果是(

)。voidmain(){inta;if(a=6)printf("%d\n",a);elseif(a>6)printf("%d\n",a+2);elseprintf("%d\n",a+3);}A.运行时产生错误信息

B.9 C.8 D.6D101.以下程序的运行结果是()。D103.若有定义:inta=2,b=3,c=1;则以下程序段的运行结果是(

)。

if(a>b)if(a>c)printf("%d",a);elseprintf("%d",b);printf("%d",c);A.31 B.21 C.3 D.1D103.若有定义:inta=2,b=3,c=1;则以第四章

1)三种循环结构:for;while();

do-while()三种。

a)for(;;)语句1;循环当中必须是两个分号,千万不要忘记。

b)写程序的时候一定要注意,循环一定要有结束的条件,否则成了死循环。

c)

do-while()循环的最后一个while();的分号一定不能够丢。(当心上机改错)

2)break:退出整个循环。

continue:结束本次循环,就是循环体内剩下的语句不再执行,跳到循环开始,然后判断循环条件,进行新一轮的循环。

3)嵌套循环

就是有循环里面还有循环,这种比较复杂,要一层一层一步一步耐心的计算,一般记住两层是处理二维数组的。

第四章

1)三种循环结构:for;while();

do105.下列程序段中,非死循环的是(

)。A.inti=100;while(1){i=i%100+1;if(i>=100)break;}C.ints=10;while(++s%2+s%2)s++;B.intk=0;do{++k;}while(k>=0);D.for(;;)A105.下列程序段中,非死循环的是()。B.intk=108.以下程序段运行后,循环体中的

n+=3;语句运行的次数为(

)。inti,j,n=0;for(i=1;i<=3;i++)

{for(j=1;j<=i;j++)

{n+=3;printf("%d\n",n);}}A.6次

B.9次

C.12次

D.1次A108.以下程序段运行后,循环体中的n+=3;语句运行114.以下程序的运行结果是(

)。

voidmain(){ints=0,i=0;while(i<10){i++;if(i%2==0)s+=i;}printf("%d\n",s);

}A.20 B.30 C.25 D.45B114.以下程序的运行结果是()。B115.以下程序的运行结果是(

)。

voidmain(){intx=5;do{printf("%2d",x--);}while(!x);}A.54321B.43210C.5D.4C115.以下程序的运行结果是()。C116.以下程序的运行结果是(

)。

voidmain(){inti,j,k=0;for(i=3;i>=1;i--)

{for(j=i;j<=3;j++)

k+=i*j;

}

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

}A.19 B.29 C.6 D.25D116.以下程序的运行结果是()。Dinta[10];

1、a表示数组名,是数组的首地址,也就是元素a[0]的地址。

2、a是地址常量,所以只要出现a++,或者是a=a+2赋值的都是错误的。

3、a+1是跳一列。

inta[3][3]

1、a是a[0][0]的地址。

2、a+1是跳一行。

3、a[0]、a[1]、a[2]也都是地址常量,不可以对它进行赋值操作,a[0]+1,a[1]+1,a[2]+1都是跳一列。数组inta[10];

1、a表示数组名,是数组的首地址,二维数组做题目的技巧:

如果有a[3][3]={1,2,3,4,5,6,7,8,9}这样的题目。

步骤一:把他们写成:第一列第二列第三列

a[0]

1

2

3

->第一行

a[1]

4

5

6

—>第二行

a[2]

7

8

9->第三行

步骤二:

*(a[0]+1)我们就知道是第一行的第一个元素往后面跳一列,那么这里就是a[0][1]元素,所以是2。

*(a[1]+2)我们就知道是第二行的第一个元素往后面跳二列。那么这里就是

a[1][2]元素,所以是6。

一定记住:只要是二维数组的题目,一定是写成如上的格式,再去做题目,这样会比较简单。

二维数组做题目的技巧:

如果有a[3][3]={1,2,数组的初始化,二维的,行标可以不写,列标一定要写。

inta[]={1,2}合法。inta[][4]={2,3,4}合法。但inta[4][]={2,3,4}非法。二维数组中的行指针

inta[1][2];

a现在就是一个行指针,a+1跳一行数组元素。

a[0],a[1]现在就是一个列指针。a[0]+1跳一个数组元素。

还有记住脱衣服法则:

a[2]

变成*(a+2)

a[2][3]变成*(a+2)[3]再可以变成

*(*(a+2)+3)

数组的初始化,二维的,行标可以不写,列标一定要写。

int函数1)

main()

{inta=5,b=6,c;

c=add(a,b);

printf(“%d”,c);

}调用函数:a,b是实参

整个函数得到一个数值就是:add函数的返回数值。

intadd(intx,inty)

{intz;

z=x+y;

returnz;

}

被调用函数:x,y是形式参数

函数返回数值是整型函数1)

main()

{inta=52)一定要注意参数之间的传递

实参和形参之间传数值,和传地址的差别。(考试的重点)

传数值的话,形参的变化不会改变实参的变化。

传地址的话,形参的变化就会有可能改变实参的变化。

3)函数声明的考查:

一定要有:函数名,函数的返回类型,函数的参数类型。

不一定要有:形参的名称。2)一定要注意参数之间的传递

实参和形参之间传数值指针变量的本质是用来放地址,而一般的变量是放数值的。

int

*p中

*p和p的差别:

*p可以当做变量来用;*的作用是取后面地址p里面的数值

p是当作地址来使用。

*p++和(*p)++的之间的差别:改错题目中很重要

*p++是地址会变化。

(*p)++是数值会要变化。

三名主义:(考试的重点)

数组名:表示第一个元素的地址。数组名不可以自加,他是地址常量名。(考了很多次)

函数名:表示该函数的入口地址。

字符串常量名:表示第一个字符的地址。指针(三个结论,什么时候指地址什么时候是元素)指针变量的本质是用来放地址,而一般的变量是放数值的。

int

其他(选择题)结构体:struct共用体:union枚举类型:enum新类型:typedef注意:关键字,区别其他(选择题)结构体:str函数调用填空题:没其他可填时考虑:函数声明函数的实参(在主函数中,不需要定义类型)形参(定义类型);函数调用填空题:没其他可填时考虑:函数声明36可编辑感谢下载36可编辑感谢下载37可编辑感谢下载37可编辑感谢下载题型:20*2=402*10=20选择题填空题改错题编程题2*10=202*10=20题型:20*2=402*10=20选择题填空题改错题编程题2改错、填空多考点:#include<math.h>

预处理#defineN10宏定义floatff(floata,floatb,floatc);

函数声明main()主函数{inti,j,a[10],*p,sum,x=1;变量定义sum=0;赋值scanf(“%d”,&a[0]);输入语句,参数是地址if(i==0)for(;;),while语句的考察,注意表达式的判断,循环体语句的判断。输出语句}}改错、填空多考点:#include<math.h>函数调用intss(inta,intb[],int*q){}main(){intx,s[10],y;ss(x,s,&y);

实参和形参个数相同,类型相同。}函数调用intss(inta,intb[],int*双层循环inta[5][6]for(i=0;i<5;i++)for(j=5;j>=0;j--)i,j的范围if(i%2==0)奇数位对应偶数下标a[i][j]=i+j+1;规律双层循环inta[5][6]总体上必须清楚的:

1)程序结构是三种:顺序结构

,循环结构(三个循环结构),选择结构(if和

switch)。

2)读程序都要从main()入口,然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。

3)计算机的数据在电脑中保存是以二进制的形式。数据存放的位置就是他的地址。

4)二进制如何划成十进制。总体上必须清楚的:

1)程序结构是三种:顺序结构,循环概念常考到的:

1、编译预处理不是C语言的一部分,不占运行时间。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。

2、每个C语言程序中main函数是有且只有一个。

3、在函数中不可以再定义函数。定义不可嵌套,但调用可以。

4、break可用于循环结构和switch语句。5、优先级:单目(++,--,!)>算术表达式>关系表达式>逻辑表达式>三目>赋值。

概念常考到的:

1、编译预处理不是C语言的一部分,不占运行时14.C语言的下列运算符中,优先级最高的运算符是(

)。A.++ B.+= C.|| D.!=下列叙述正确的是()

A为提高程序运行速度可在源程序中加入一些宏定义

B一个C语言源程序只能有一条预处理命令C宏定义不占用程序运行时间,但与程序中的语句一样需要编程D宏定义中的宏名必须用大写字母表示

AC14.C语言的下列运算符中,优先级最高的运算符是()。第一章1)合法的用户标识符由字母,数字,下划线组成。并且第一个必须为字母或则是下划线。关键字不可以作为用户标识符号。main

define

scanf

printf都是关键字。If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。

2)实型数据的合法形式:

2.333e-1就是合法的,且数据是2.333×10-1。

考试口诀:e前e后必有数,e后必为整数。2.3小数点前后可省略其中一个。

3)字符数据的合法形式::

'1'是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号‘\0’)。

'0'的ASCII数值表示为48,'a'的ASCII数值是97,'A'的ASCII数值是65。4)char是1字节,int是2字节,long是4字节,float是4个字节,double是8字节

第一章1)合法的用户标识符由字母,数字,下划线组成。并且第一

5)在转义字符中,’\x6d’十六进制数。

‘\141’八进制数。

‘\108’是非法的,因为不可以出现8。

6)强制类型转换:

一定是(int)a不是

int(a),类型上一定有括号的。

注意(int)(3.6+3.6)=7和(int)

3.6+3.6=6.6的区别。

7)表达式的考查:

是表达式就一定有数值。

赋值表达式:表达式左边一定是一个变量。

自加、自减表达式:假设a=5,++a(是为6),

a++(为5);考试口诀:++在前先加后赋,++在后先赋后加。

逗号表达式:优先级别最低;表达式的数值逗号最右边的那个表达式的数值。(2,3,4)的表达式的数值就是4。

8)位运算的考查:会有一到二题考试题目。

<<左移一位表示乘以2,2位乘4,3位乘8;>>右移一位表示除以2,2位除4,3位除6。

9)%(求余)符号两边要求是整数。

10)取整丢小数的情况:1、(int)1.6=1;2、1/2=0;

5)在转义字符中,’\x6d’十六进制数。

18.(

)为正确的变量名。A.-k15 B.int C.k_5 D.k.jeep19.(

)为正确的字符常量。A.''\\'' B."\24m" C."c" D.'M'22.以下选项中,合法的实型常数是(

)。A.E-3 B..2E1 C.1E.5 D.1.5E29.语句

k=(m=5,n=++m);运行之后,变量k、m、n的值依次为(

)。A.5,5,6 B.5,6,5 C.6,6,5 D.6,6,635.若有定义:intm=4,n=5;floatk;,则以下符合C语言语法的表达式是(

)。A.(m+n)*=k B.m=(n==5) C.k=float(n)/m D.n%2.544.若有定义

inti=1,j=9;则表达式

(++j)*(i--)的值为(

)。A.0 B.10 C.9 D.8cDBDBB18.()为正确的变量名。44.若有定义inti第二章

1)printf函数的格式考查:

%d对应int整型;%c对应char字符;%f对应float单精度;

%ld对应

longint;%lf对应double。宽度的,左对齐等修饰。

%.3f

2)scanf函数的格式考察:

注意该函数的第二个部分是&a这样的地址,不是a;

scanf(“%d%d%*d%d”,&a,&b,&c);跳过输入的第三个数据(b没赋值)。输入语句不能出现%6.2f,只能是%6f。

3)putchar,getchar函数的考查:

char

a;a=getchar()是没有参数的,从键盘得到你输入的一个字符给变量a。

putchar(‘y’)把字符y输出到屏幕中。

4)如何实现两个变量x,y中数值的互换(要求背下来)

不可以把

x=y,y=x;要用中间变量

t=x;x=y;y=t。5)while((c=getchar())!=’\n’)

注意点:括号在这里的重要性。

第二章

1)printf函数的格式考查:

%d对应52.

若已定义:inta=5,b=9,c=6;则语句

b++;++c;a=b-c;运行后a的值为(

)。A.5 B.3 C.2 D.454.若已定义

floatx;要从键盘输入数据36.582给变量x,则应选用(

)语句。A.scanf("%2.3f",&x); B.scanf("%6f",&x);C.scanf("%6.3f",&x); D.scanf("%5.3f",&x);58.若已定义

inta=11;执行以下语句后的输出结果是(

)。

printf("a=%d,a=%o,a=%x\n",a,a,a);A.a=11,a=11,a=b B.a=11,a=13,a=bC.a=11,a=13,a=c D.a=11,a=12,a=1361.以下程序段的运行结果是(

)。

inta=1;printf("%d,%d,%d\n",a,++a,a++);3,3,1 B.1,2,2C.1,2,3 D.3,2,1BBBA52.若已定义:inta=5,b=9,c=6;则语句66.有以下程序:main(){intc;while((c=getchar())!='\n'){switch(c-'2'){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);default:putchar(c+2);break;}}}当输入:247<回车>,程序的输出结果是(

)。689 B.6689C.66778 D.66887B66.有以下程序:Bc语言中是用非0表示逻辑真的,用0表示逻辑假的。

1)关系表达式:

表达式的数值只能为1(表示为真),或0(表示假)

关系的表达是为真的时候得到1。如

9>8这个是真的,所以表达式的数值就是1;a>b>c的问题

2)逻辑表达式:

为1(表示为真),0(表示假)

a)!>&&>||

优先的级别。

b)不完全计算问题。

c)要表示

x是比0大,比10小的方法。0<x<10是不可以的。

一定要用

(0<x)&&(x<10)。

c语言中是用非0表示逻辑真的,用0表示逻辑假的。36.若有定义:inta=6;则语句

a*=a-=a/=3;运行后,a的值是(

)。A.10 B.0 C.34 D.2446.若已定义

inta=3,b=2,c=1;则语句

++a||++b&&++c;运行后b的值为(

)。A.0 B.3 C.1 D.248.若已定义:inta=2,b=2;则表达式

(a+(b++),b)的值是(

)。A.2 B.3 C.4 D.669.若已定义

intx=-16,y=-12,z;语句z=x<=y;运行后z的值为(

)。.t. B.1 C..f. D.071.若定义

inta=2,b=3;则表达式

!a||b的值为(

)。A.0 B.1 C.2 D.3BBCBB36.若有定义:inta=6;则语句a*=a-=a/73.下列表达式()不能用来判断整型变量x中的值是否为奇数。A.x%2==1 B.!(x%2==0) C.!(x%2) D.x%274.若有定义:inta=3,b=2,c=3;则值为0的表达式是(

)。A.(a-b)==(c/b) B.a>=cC.c-b||a+b&&(b*c-a-c) D.(b*c-a-c)&&(b*c-a-b)80.已定义

doublek=3.6;则正确的赋值表达式是(

)。A.k=double(-3.6) B.k%3C.k=k*(-1.0)=-3.6 D.k+=k-=(k=1.2)*(k=3)89.若有定义:floatx=2,y=4,h=3;下列表达式中与(x+y)*h/2.0计算结果不相符的是(

)。(x+y)*h/2 B.(x+y)*h*1/2C.(1/2)*(x+y)*h D.h/2*(x+y)CDDc73.下列表达式()不能用来判断整型变量x中的值是1)if语句

else是与最接近的if且没有else配套的相组合的。

2)条件表达式:

条件表达式1?表达式2:表达式3

注意是条件判断为真时执行表达式2的数值,当是假时执行表达式3的数值。

3)switch语句:

a)一定要注意:有break和没有break的差别,没有break时候,只要有一个case匹配了,剩下的都要执行,有break则是直接跳出了

swiche语句。

b)switch只可以和break一起用,不可以和continue用。第三章1)if语句

else是与最接近的if且没有els79.以下程序运行后,a的值是(

)。main(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}}A.101 B.100 C.8 D.7c79.以下程序运行后,a的值是()。c98.以下程序段运行后变量k的值为(

)。inta=3,b=2;

intk;k=(--a==b++)?a:b+1;A.0 B.1 C.2 D.399.以下程序的运行结果是(

)。voidmain(){intn=9;switch(n--){default:printf("%d",n++);case8:case7:printf("%d",n);break;case6:printf("%d",n++);case5:printf("%d",n);}}A.8 B.7 C.89 D.87cc98.以下程序段运行后变量k的值为()。cc101.

以下程序的运行结果是(

)。voidmain(){inta;if(a=6)printf("%d\n",a);elseif(a>6)printf("%d\n",a+2);elseprintf("%d\n",a+3);}A.运行时产生错误信息

B.9 C.8 D.6D101.以下程序的运行结果是()。D103.若有定义:inta=2,b=3,c=1;则以下程序段的运行结果是(

)。

if(a>b)if(a>c)printf("%d",a);elseprintf("%d",b);printf("%d",c);A.31 B.21 C.3 D.1D103.若有定义:inta=2,b=3,c=1;则以第四章

1)三种循环结构:for;while();

do-while()三种。

a)for(;;)语句1;循环当中必须是两个分号,千万不要忘记。

b)写程序的时候一定要注意,循环一定要有结束的条件,否则成了死循环。

c)

do-while()循环的最后一个while();的分号一定不能够丢。(当心上机改错)

2)break:退出整个循环。

continue:结束本次循环,就是循环体内剩下的语句不再执行,跳到循环开始,然后判断循环条件,进行新一轮的循环。

3)嵌套循环

就是有循环里面还有循环,这种比较复杂,要一层一层一步一步耐心的计算,一般记住两层是处理二维数组的。

第四章

1)三种循环结构:for;while();

do105.下列程序段中,非死循环的是(

)。A.inti=100;while(1){i=i%100+1;if(i>=100)break;}C.ints=10;while(++s%2+s%2)s++;B.intk=0;do{++k;}while(k>=0);D.for(;;)A105.下列程序段中,非死循环的是()。B.intk=108.以下程序段运行后,循环体中的

n+=3;语句运行的次数为(

)。inti,j,n=0;for(i=1;i<=3;i++)

{for(j=1;j<=i;j++)

{n+=3;printf("%d\n",n);}}A.6次

B.9次

C.12次

D.1次A108.以下程序段运行后,循环体中的n+=3;语句运行114.以下程序的运行结果是(

)。

voidmain(){ints=0,i=0;while(i<10){i++;if(i%2==0)s+=i;}printf("%d\n",s);

}A.20 B.30 C.25 D.45B114.以下程序的运行结果是()。B115.以下程序的运行结果是(

)。

voidmain(){intx=5;do{printf("%2d",x--);}while(!x);}A.54321B.43210C.5D.4C115.以下程序的运行结果是()。C116.以下程序的运行结果是(

)。

voidmain(){inti,j,k=0;for(i=3;i>=1;i--)

{for(j=i;j<=3;j++)

k+=i*j;

}

printf("%d\

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论