一、概念
二、重点代码(书本)
1、输入年份,判断是否是闰年。
2、从键盘输入一元二次方程ax^2+bx+c=0的系数a、b、c,求它的根。
3、输入年份和月份,求该月天数
4、统计学生考试人数,并求出最高分,最低分和平均分
5、输入一个正整数,将它反位组成一个新的数输出(如输入12345,组成54321输出)
6、从键盘上输入两个整数,求它们的最大公约数
7、计算1!+2!+...+n!
8、从键盘上输入一个正整数,判断该数是否为素数
9、求所有水仙花数
10、输出九九乘法表
11、百钱买百鸡,100元买100只鸡,母鸡5元一只,公鸡3元一只,小鸡0.5元一只,问每一种鸡都必须要买的情况下,计算所有购买方法
12、输出100~200之间不能被3整除的数
13、输出半径为1~10的圆的面积,若面积超过100,则不输出
14、求斐波那契数列前40项,该数列的通项公式如下:
15、判断一个正整数是否是回文数。回文数是这样的数:一个正整数从左往右读和从右往左读都是一样的数(如121、123321)
16、求分数数列2/1,-3/2,5/3,-8/5,...前20项之和
17、求二元高次方程2x^3-4x^2+3x+6=0在1.5附近的跟
三、重点题目
1、逻辑运算符两侧运算对象的数据类型是()
A . 只是0或1
B . 只能是0或非0正数
C . 只能是整型或字符型数据
D . 可以是任何合法的类型数据
答案:D
解析:逻辑运算符两侧的运算对象可以是常量、变量、表达式。运算对象的值如果是非0值,表示条件为真;如果是0,表示条件为假,因此运算对象的值可以是任何数据类型。逻辑运算符两侧最终要转换成bool值运算,bool值只有非0(用1表示)和0两个值,所以只要不是0,就被转换为1,所以无论什么类型的值都可以参与运算。
2、有如下程序片段:
int k=2;
while(k=0){
printf("%d",k);
k--;
}
则下列说法正确的是( )
A. 循环执行10次
B. 循环体执行无限次
C. 循环体一次也不执行
D. 循环体执行一次
答案:C
解析:while后面括号里的是赋值表达式k=0,即表达式值为0,循环体没有被执行,应选C
3、一下程序段的循环次数是( )
for(i=2;i==0)
printf("%d",i--);
A. 无限次
B. 0次
C. 1次
D. 2次
答案:B
解析:i的初值为2,条件表达式是判断i与0是否相等,此处表达式的值为0(条件为假),跳出循环。
4、以下程序的输出结果是( )
#include<stdio.h>
int main()
{
int k=0,m=0,i,j;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
k++;
k-=j;
}
m=i+j;
printf("k=%d,m=%d",k,m);
return 0;
}
A. k=0,m=3
B. k=0,m=5
C. k=1,m=3
D. k=1,m=5
答案:B
解析:外循环执行1次,内循环执行3次,3次内循环执行完后k=3,j=3,执行k-=j;后k=0,即每次执行完内循环后k值都为0,而外循环完成后i=2,因此m=5,k=0。
5、复合语句是用一对大括号{}界定的语句块
6、一个表达式要构成一个C语句,必须用分号;表示结束
7、写出数学式 的C语言表达式:y=x<0?1:x==0?0:-1
8、C语言的语法规定:省略复合语句符号时,else语句总是与距离最近且未配对的if相结合,与书写格式无关。
9、switch语句中,如果没有表达式的值相等的标号,并且存在default标号,则从default标号开始执行,直到switch语句结束。
10、C语言的循环语句包括while、do...while、for三种。
11、至少执行一次循环体的循环语句是do...while语句。
12、continue语句的作用是结束本次循环。
13、break语句可以使程序流程跳出switch语句体,也可以中止本层循环体。